Creative Commons License

This is part of the online course Proteomics Data Analysis (PDA)

(Disclaimer: Note, that the results in the video were based on a less stringent filtering, which resulted in even fewer proteins to be returned as significant for median summarisation. We changed the filtering criteria from 2025 onwards a peptide has to be seen at least 3 times and we now also perform filtering upon summarisation: by filtering out proteins with more than 2 out of 6 protein expression values that went missing)

library(tidyverse)
library(limma)
library(QFeatures)
library(msqrob2)
library(plotly)
library(gridExtra)
library(data.table)

1 Subset of CPTAC study: A vs B comparison in lab 3

1.1 LFQ

Click to see background and code

  1. Import data
proteinsTable <- fread("https://raw.githubusercontent.com/statOmics/PDA/data/quantification/cptacAvsB_lab3/proteinGroups.txt")
int64 <- which(sapply(proteinsTable,class) == "integer64")
for (j in int64) proteinsTable[[j]] <- as.numeric(proteinsTable[[j]])

quantCols <- grep("LFQ intensity ", names(proteinsTable))

peLFQ <- readQFeatures(
  assayData = proteinsTable, 
  fnames = 1, 
  quantCols = quantCols,
  name = "proteinRaw"
)
## Checking arguments.
## Loading data as a 'SummarizedExperiment' object.
## Formatting sample annotations (colData).
## Formatting data as a 'QFeatures' object.
## Setting assay rownames.
rm(proteinsTable)
gc()
##            used  (Mb) gc trigger  (Mb) limit (Mb) max used  (Mb)
## Ncells  8036256 429.2   12731718 680.0         NA 12731718 680.0
## Vcells 19070909 145.5   33242514 253.7      16384 33242392 253.7
gc()
##            used  (Mb) gc trigger  (Mb) limit (Mb) max used  (Mb)
## Ncells  8036123 429.2   12731718 680.0         NA 12731718 680.0
## Vcells 19064150 145.5   33242514 253.7      16384 33242392 253.7
cond <- which(
  strsplit(colnames(peLFQ)[[1]][1], split = "")[[1]] == "A") # find where condition is stored

colData(peLFQ)$condition <- substr(colnames(peLFQ), cond, cond) |>
  unlist() |>  
  as.factor()
  1. Preprocessing
peLFQ <- zeroIsNA(peLFQ, "proteinRaw") # convert 0 to NA

peLFQ <- logTransform(peLFQ, base = 2, i = "proteinRaw", name = "proteinLog")

peLFQ <- filterFeatures(peLFQ,~ Reverse != "+")
## 'Reverse' found in 2 out of 2 assay(s).
peLFQ <- filterFeatures(peLFQ,~ Potential.contaminant != "+")
## 'Potential.contaminant' found in 2 out of 2 assay(s).
peLFQ <- normalize(peLFQ, 
                i = "proteinLog", 
                name = "protein", 
                method = "center.median")

# We want to have at least two observed protein intensities for each group so we set the minimum number of observed values at 4. 
nObs <- 4
n <- ncol(peLFQ[["protein"]])
pNA <- (n-nObs)/n
peLFQ <- filterNA(peLFQ, pNA = pNA, i = "protein")
  1. Modeling and Inference
peLFQ <- msqrob(object = peLFQ, i = "protein", formula = ~condition)
## Warning: 'experiments' dropped; see 'drops()'
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
L <- makeContrast("conditionB=0", parameterNames = c("conditionB"))
peLFQ <- hypothesisTest(object = peLFQ, i = "protein", contrast = L)

volcanoLFQ <- ggplot(rowData(peLFQ[["protein"]])$conditionB,
                  aes(x = logFC, y = -log10(pval), color = adjPval < 0.05)) +
  geom_point(cex = 2.5) +
  scale_color_manual(values = alpha(c("black", "red"), 0.5)) + 
  theme_minimal() +
  ggtitle(paste0("maxLFQ: TP = ",sum(rowData(peLFQ[["protein"]])$conditionB$adjPval<0.05&grepl(rownames(rowData(peLFQ[["protein"]])$conditionB),pattern ="UPS"),na.rm=TRUE), " FP = ", sum(rowData(peLFQ[["protein"]])$conditionB$adjPval<0.05&!grepl(rownames(rowData(peLFQ[["protein"]])$conditionB),pattern ="UPS"),na.rm=TRUE)))

1.2 Median & robust summarization

Click to see background and code

  1. Import Data
peptidesTable <- fread("https://raw.githubusercontent.com/statOmics/SGA2020/data/quantification/cptacAvsB_lab3/peptides.txt")
int64 <- which(sapply(peptidesTable,class) == "integer64")
for (j in int64) peptidesTable[[j]] <- as.numeric(peptidesTable[[j]])

quantCols <- grep("Intensity ", names(peptidesTable))


pe <- readQFeatures(
  assayData = peptidesTable,
  fnames = 1,
  quantCols =  quantCols,
  name = "peptideRaw")
## Checking arguments.
## Loading data as a 'SummarizedExperiment' object.
## Formatting sample annotations (colData).
## Formatting data as a 'QFeatures' object.
## Setting assay rownames.
rm(peptidesTable)
gc()
##            used  (Mb) gc trigger  (Mb) limit (Mb) max used  (Mb)
## Ncells  8061690 430.6   12731718 680.0         NA 12731718 680.0
## Vcells 16312554 124.5   33242514 253.7      16384 33242392 253.7
gc()
##            used  (Mb) gc trigger  (Mb) limit (Mb) max used  (Mb)
## Ncells  8061622 430.6   12731718 680.0         NA 12731718 680.0
## Vcells 16306011 124.5   33242514 253.7      16384 33242392 253.7
cond <- which(
  strsplit(colnames(pe)[[1]][1], split = "")[[1]] == "A") # find where condition is stored

colData(pe)$condition <- substr(colnames(pe), cond, cond) |>
  unlist() |>  
  as.factor()
  1. Preprocessing
pe <- zeroIsNA(pe, "peptideRaw") # convert 0 to NA

pe <- logTransform(pe, base = 2, i = "peptideRaw", name = "peptideLog")

pe <- filterFeatures(
    pe, ~ Proteins != "" & ## Remove failed protein inference
        !grepl(";", Proteins)) ## Remove protein groups
## 'Proteins' found in 2 out of 2 assay(s).
pe <- filterFeatures(pe,~Reverse != "+")
## 'Reverse' found in 2 out of 2 assay(s).
pe <- filterFeatures(pe,~ Potential.contaminant != "+")
## 'Potential.contaminant' found in 2 out of 2 assay(s).
# We filter out all peptides that have been seen in less than three samples
nObs <- 3
n <- ncol(pe[["peptideLog"]])
pNA <- (n-nObs)/n
pe <- filterNA(pe, pNA = pNA, i = "peptideLog")
nrow(pe[["peptideLog"]])
## [1] 5910
pe <- normalize(pe, 
                i = "peptideLog", 
                name = "peptideNorm", 
                method = "center.median")

pe <- aggregateFeatures(pe,
  i = "peptideNorm",
  fcol = "Proteins",
  na.rm = TRUE,
  name = "proteinMedian",
  fun = matrixStats::colMedians)
## Your quantitative and row data contain missing values. Please read the
## relevant section(s) in the aggregateFeatures manual page regarding the
## effects of missing values on data aggregation.
## Aggregated: 1/1
pe <- aggregateFeatures(pe,
  i = "peptideNorm",
  fcol = "Proteins",
  na.rm = TRUE,
  name = "proteinRobust")
## Your quantitative and row data contain missing values. Please read the
## relevant section(s) in the aggregateFeatures manual page regarding the
## effects of missing values on data aggregation.
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): 'rlm' failed to converge in 20
## steps
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Warning in rlm.default(X, expression, ...): some of ... do not match
## Aggregated: 1/1
# Comparisons are only valid for proteins for which we observed a protein intensity twice in each group. So we only tolerate a proportion of (n-4)/n NAs. 

nObs <- 4
n <- ncol(pe[["proteinMedian"]])
pNA <- (n-nObs)/n
pe <- filterNA(pe, pNA = pNA, i = "proteinMedian")

n <- ncol(pe[["proteinRobust"]])
pNA <- (n-nObs)/n
pe <- filterNA(pe, pNA = pNA, i = "proteinRobust")
  1. Modeling and inference
pe <- msqrob(object = pe, i = "proteinMedian", formula = ~condition)
## Warning: 'experiments' dropped; see 'drops()'
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
## Warning in rlm.default(X, y, method = "M", maxit = maxitRob): 'rlm' failed to
## converge in 1 steps
L <- makeContrast("conditionB=0", parameterNames = c("conditionB"))
pe <- hypothesisTest(object = pe, i = "proteinMedian", contrast = L)

pe <- msqrob(object = pe, i = "proteinRobust", formula = ~condition)
## Warning: 'experiments' dropped; see 'drops()'
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
## Warning: 'rlm' failed to converge in 1 steps
pe <- hypothesisTest(object = pe, i = "proteinRobust", contrast = L)

volcanoMedian <- ggplot(rowData(pe[["proteinMedian"]])$conditionB,
                  aes(x = logFC, y = -log10(pval), color = adjPval < 0.05)) +
  geom_point(cex = 2.5) +
  scale_color_manual(values = alpha(c("black", "red"), 0.5)) + 
  theme_minimal() +
  ggtitle(paste0("Median: TP = ",sum(rowData(pe[["proteinMedian"]])$conditionB$adjPval<0.05&grepl(rownames(rowData(pe[["proteinMedian"]])$conditionB),pattern ="UPS"),na.rm=TRUE), " FP = ", sum(rowData(pe[["proteinMedian"]])$conditionB$adjPval<0.05&!grepl(rownames(rowData(pe[["proteinMedian"]])$conditionB),pattern ="UPS"),na.rm=TRUE)))

volcanoRobust<- ggplot(rowData(pe[["proteinRobust"]])$conditionB,
                  aes(x = logFC, y = -log10(pval), color = adjPval < 0.05)) +
  geom_point(cex = 2.5) +
  scale_color_manual(values = alpha(c("black", "red"), 0.5)) + 
  theme_minimal() +
  ggtitle(paste0("Robust: TP = ",sum(rowData(pe[["proteinRobust"]])$conditionB$adjPval<0.05&grepl(rownames(rowData(pe[["proteinRobust"]])$conditionB),pattern ="UPS"),na.rm=TRUE), " FP = ", sum(rowData(pe[["proteinRobust"]])$conditionB$adjPval<0.05&!grepl(rownames(rowData(pe[["proteinRobust"]])$conditionB),pattern ="UPS"),na.rm=TRUE)))
ylims <- c(0, 
           ceiling(max(c(-log10(rowData(peLFQ[["protein"]])$conditionB$pval),
               -log10(rowData(pe[["proteinMedian"]])$conditionB$pval),
               -log10(rowData(pe[["proteinRobust"]])$conditionB$pval)),
               na.rm=TRUE))
)

xlims <- max(abs(c(rowData(peLFQ[["protein"]])$conditionB$logFC,
               rowData(pe[["proteinMedian"]])$conditionB$logFC,
               rowData(pe[["proteinRobust"]])$conditionB$logFC)),
               na.rm=TRUE) * c(-1,1)
compBoxPlot <- rbind(rowData(peLFQ[["protein"]])$conditionB |> mutate(method="maxLFQ") |> rownames_to_column(var="protein"),
      rowData(pe[["proteinMedian"]])$conditionB |> mutate(method="median")|> rownames_to_column(var="protein"),
      rowData(pe[["proteinRobust"]])$conditionB|> mutate(method="robust")|> rownames_to_column(var="protein")) |>
      mutate(ups= grepl(protein,pattern="UPS")) |>
    ggplot(aes(x = method, y = logFC, fill = ups)) +
    geom_boxplot() +
    geom_hline(yintercept = log2(0.74 / .25), color = "#00BFC4") +
    geom_hline(yintercept = 0, color = "#F8766D")

1.3 Comparison summarization methods

grid.arrange(volcanoLFQ + xlim(xlims) + ylim(ylims), 
             volcanoMedian + xlim(xlims) + ylim(ylims), 
             volcanoRobust + xlim(xlims) + ylim(ylims),
             ncol=1)
## Warning: Removed 41 rows containing missing values or values outside the scale range
## (`geom_point()`).
## Warning: Removed 30 rows containing missing values or values outside the scale range
## (`geom_point()`).
## Removed 30 rows containing missing values or values outside the scale range
## (`geom_point()`).

  • Robust summarization: highest power and still good FDR control: \(FDP = \frac{0}{20} = 0\).
compBoxPlot
## Warning: Removed 101 rows containing non-finite outside the scale range
## (`stat_boxplot()`).

  • Median: biased logFC estimates for spike-in proteins
  • maxLFQ: more variable logFC estiamtes for spike-in proteins

2 Full CPTAC study

2.1 Read data

Click to see background and code

  1. We use a peptides.txt file from MS-data quantified with maxquant that contains MS1 intensities summarized at the peptide level.
peptidesTable <- fread("https://raw.githubusercontent.com/statOmics/PDA/data/quantification/fullCptacDatasSetNotForTutorial/peptides.txt")
int64 <- which(sapply(peptidesTable,class) == "integer64")
for (j in int64) peptidesTable[[j]] <- as.numeric(peptidesTable[[j]])
  1. Maxquant stores the intensity data for the different samples in columnns that start with Intensity. We can retreive the column names with the intensity data with the code below:
quantCols <- grep("Intensity ", names(peptidesTable))
  1. Read the data and store it in QFeatures object
pe <- readQFeatures(
  assayData = peptidesTable,
  fnames = 1,
  quantCols =  quantCols,
  name = "peptideRaw")
## Checking arguments.
## Loading data as a 'SummarizedExperiment' object.
## Formatting sample annotations (colData).
## Formatting data as a 'QFeatures' object.
## Setting assay rownames.
rm(peptidesTable)
gc()
##            used  (Mb) gc trigger  (Mb) limit (Mb) max used  (Mb)
## Ncells  8061757 430.6   12731718 680.0         NA 12731718 680.0
## Vcells 17450390 133.2   33242514 253.7      16384 33242392 253.7
gc()
##            used  (Mb) gc trigger  (Mb) limit (Mb) max used  (Mb)
## Ncells  8061621 430.6   12731718 680.0         NA 12731718 680.0
## Vcells 17447801 133.2   33242514 253.7      16384 33242392 253.7

2.2 Design

Click to see background and code

pe |> colnames()
## CharacterList of length 1
## [["peptideRaw"]] Intensity 6A_1 Intensity 6A_2 ... Intensity 6E_9
  • Note, that the sample names include the spike-in condition.

  • They also end on a number.

    • 1-3 is from lab 1,
    • 4-6 from lab 2 and
    • 7-9 from lab 3.
  • We update the colData with information on the design

colData(pe)$lab <- rep(
  rep(
    paste0("lab",1:3), 
    each=3),5) |> 
  as.factor()

colData(pe)$condition <- pe[["peptideRaw"]] |> 
  colnames() |> 
  substr(12,12) |> 
  as.factor()

colData(pe)$spikeConcentration <- rep(
  c(A = 0.25, B = 0.74, C = 2.22, D = 6.67, E = 20),
  each = 9)
  • We explore the colData
colData(pe)
## DataFrame with 45 rows and 3 columns
##                     lab condition spikeConcentration
##                <factor>  <factor>          <numeric>
## Intensity 6A_1     lab1         A               0.25
## Intensity 6A_2     lab1         A               0.25
## Intensity 6A_3     lab1         A               0.25
## Intensity 6A_4     lab2         A               0.25
## Intensity 6A_5     lab2         A               0.25
## ...                 ...       ...                ...
## Intensity 6E_5     lab2         E                 20
## Intensity 6E_6     lab2         E                 20
## Intensity 6E_7     lab3         E                 20
## Intensity 6E_8     lab3         E                 20
## Intensity 6E_9     lab3         E                 20

2.3 Preprocessing

2.3.1 Log-transform

Click to see code to log-transfrom the data

  • Peptides with zero intensities are missing peptides and should be represent with a NA value rather than 0.
pe <- zeroIsNA(pe, "peptideRaw") # convert 0 to NA
  • Logtransform data with base 2
pe <- logTransform(pe, base = 2, i = "peptideRaw", name = "peptideLog")

2.3.2 Filtering

Click to see code to filter the data

  1. Remove peptides that map to multiple proteins

We remove PSMs that could not be mapped to a protein or that map to multiple proteins (the protein identifier contains multiple identifiers separated by a ;).

pe <- filterFeatures(
    pe, ~ Proteins != "" & ## Remove failed protein inference
        !grepl(";", Proteins)) ## Remove protein groups
## 'Proteins' found in 2 out of 2 assay(s).
  1. Remove reverse sequences (decoys) and contaminants

We now remove the contaminants, peptides that map to decoy sequences, and proteins which were only identified by peptides with modifications.

pe <- filterFeatures(pe,~Reverse != "+")
## 'Reverse' found in 2 out of 2 assay(s).
pe <- filterFeatures(pe,~ Potential.contaminant != "+")
## 'Potential.contaminant' found in 2 out of 2 assay(s).
  1. Drop peptides that were identified less than three samples

We keep peptides that were observed at least three times. We tolerate the following proportion of NAs: pNA = (n-3)/n. 

nObs <- 3
n <- ncol(pe[["peptideLog"]])
pNA <- (n-nObs)/n
pe <- filterNA(pe, pNA = pNA, i = "peptideLog")
nrow(pe[["peptideLog"]])
## [1] 10091
We keep 10091 peptides upon filtering.

2.4 Normalization

Click to see R-code to normalize the data

pe <- normalize(pe, 
                i = "peptideLog", 
                name = "peptideNorm", 
                method = "center.median")


3 Peptide-level models

3.1 Summarization

Click to see code to make plot

prot <- "P01031ups|CO5_HUMAN_UPS"
data <- pe[["peptideNorm"]][
  rowData(pe[["peptideNorm"]])$Proteins == prot,
  colData(pe)$lab=="lab3"] |>
  assay() |>
  as.data.frame() |>
  rownames_to_column(var = "peptide") |>
  gather(sample, intensity, -peptide) |> 
  mutate(condition = colData(pe)[sample,"condition"]) |>
  na.exclude()
sumPlot <- data |>
  ggplot(aes(x = peptide, y = intensity, color = condition, group = sample, label = condition), show.legend = FALSE) +
  geom_text(show.legend = FALSE) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1)) +
  xlab("Peptide") + 
  ylab("Intensity (log2)") +
  ggtitle(paste0("protein: ",prot))

Here, we will focus on the summarization of the intensities for protein P01031ups|CO5_HUMAN_UPS.

sumPlot +
  geom_line(linetype="dashed",alpha=.4)

3.1.1 Median summarization

We first evaluate median summarization for protein P01031ups|CO5_HUMAN_UPS.

Click to see code to make plot

dataHlp <- pe[["peptideNorm"]][
    rowData(pe[["peptideNorm"]])$Proteins == prot,
    colData(pe)$lab=="lab3"] |> 
  assay() 

sumMedian <- data.frame(
  intensity= dataHlp
    |> 
    colMedians(na.rm=TRUE)
  ,
  condition= colnames(dataHlp) |> 
    substr(12,12) |> 
    as.factor()
  )

sumMedianPlot <- sumPlot + 
  geom_hline(
    data = sumMedian,
    mapping = aes(yintercept=intensity,color=condition)) + 
  ggtitle("Median summarization")

sumMedianPlot
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_hline()`).

  • The sample medians are not a good estimate for the protein expression value.
  • Indeed, they do not account for differences in peptide effects
  • Peptides that ionize poorly are also picked up in samples with high spike-in concencentration and not in samples with low spike-in concentration
  • This introduces a bias.

3.1.2 Mean summarization

\[ y_{ip} = \beta_i^\text{sample} + \epsilon_{ip} \]
Click to see code to make plot

sumMeanMod <- lm(intensity ~ -1 + sample,data)

sumMean <- data.frame(
  intensity=sumMeanMod$coef[grep("sample",names(sumMeanMod$coef))],
  condition= names(sumMeanMod$coef)[grep("sample",names(sumMeanMod$coef))] |> 
    substr(18,18) |> 
    as.factor() )



sumMeanPlot <- sumPlot + geom_hline(
    data = sumMean,
    mapping = aes(yintercept=intensity,color=condition)) +
    ggtitle("Mean summarization")

grid.arrange(sumMedianPlot, sumMeanPlot, ncol=2)
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_hline()`).

3.1.3 Model based summarization

We can use a linear peptide-level model to estimate the protein expression value while correcting for the peptide effect, i.e. 

\[ y_{ip} = \beta_i^\text{sample}+\beta^{peptide}_{p} + \epsilon_{ip} \]

Click to see code to make plot

sumMeanPepMod <- lm(intensity ~ -1 + sample + peptide,data)

sumMeanPep <- data.frame(
  intensity = sumMeanPepMod$coef[grep("sample",names(sumMeanPepMod$coef))] + 
    mean(data$intensity) - 
    mean(sumMeanPepMod$coef[grep("sample",names(sumMeanPepMod$coef))]),
  condition = names(sumMeanPepMod$coef)[grep("sample",names(sumMeanPepMod$coef))] 
  |> substr(18,18) |> 
    as.factor() )


fitLmPlot <-  sumPlot + geom_line(
    data = data |> 
      mutate(fit=sumMeanPepMod$fitted.values),
    mapping = aes(x=peptide, y=fit,color=condition, group=sample)) +
    ggtitle("fit: ~ sample + peptide")
sumLmPlot <- sumPlot + geom_hline(
    data = sumMeanPep,
    mapping = aes(yintercept=intensity,color=condition)) +
    ggtitle("Summarization: sample effect")

grid.arrange(sumMedianPlot, sumMeanPlot, sumLmPlot, nrow=1)
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_hline()`).

  • By correcting for the peptide species the protein expression values are much better separated an better reflect differences in abundance induced by the spike-in condition.

  • Indeed, it shows that median and mean summarization that do not account for the peptide effect indeed overestimate the protein expression value in the small spike-in conditions and underestimate that in the large spike-in conditions.

  • Still there seem to be some issues with samples that for which the expression values are not well separated according to the spike-in condition.

A residual analysis clearly indicates potential issues:

Click to see code to make plot

resPlot <- data |> 
  mutate(res=sumMeanPepMod$residuals) |>
  ggplot(aes(x = peptide, y = res, color = condition, label = condition), show.legend = FALSE) +
  geom_point(shape=21) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1)) +
  xlab("Peptide") + 
  ylab("residual") +
  ggtitle("residuals: ~ sample + peptide")

grid.arrange(fitLmPlot, resPlot, nrow = 1)

grid.arrange(fitLmPlot, sumLmPlot, nrow = 1)

  • The residual plot shows some large outliers for peptide KIEEIAAK.
  • Indeed, in the original plot the intensities for this peptide do not seem to line up very well with the concentration.
  • This induces a bias in the summarization for some of the samples (e.g. for D and E)

3.1.4 Robust summarization using a peptide-level linear model

\[ y_{ip} = \beta_i^\text{sample}+\beta^{peptide}_{p} + \epsilon_{ip} \]

  • Ordinary least squares: estimate \(\beta\) that minimizes \[ \text{OLS}: \sum\limits_{i,p} \epsilon_{ip}^2 = \sum\limits_{i,p}(y_{ip}-\beta_i^\text{sample}-\beta_p^\text{peptide})^2 \]

We replace OLS by M-estimation with loss function \[ \sum\limits_{i,p} w_{ip}\epsilon_{ip}^2 = \sum\limits_{i,p}w_{ip}(y_{ip}-\beta_i^\text{sample}-\beta_p^\text{peptide})^2 \]

  • Iteratively fit model with observation weights \(w_{ip}\) until convergence
  • The weights are calculated based on standardized residuals
Click to see code to make plot

sumMeanPepRobMod <- MASS::rlm(intensity ~ -1 + sample + peptide,data)
resRobPlot <- data |>
  mutate(res = sumMeanPepRobMod$residuals,
         w = sumMeanPepRobMod$w) |>
  ggplot(aes(x = peptide, y = res, color = condition, label = condition,size=w), show.legend = FALSE) +
  geom_point(shape=21,size=.2) +
  geom_point(shape=21) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1)) +
  xlab("Peptide") + 
  ylab("residual") + 
  ylim(c(-1,1)*max(abs(sumMeanPepRobMod$residuals)))
weightPlot <- data.frame(
  resid=seq(-5,5,.01), 
  weight=MASS::psi.huber(seq(-5,5,.01))
  ) |> 
  ggplot(aes(resid,weight)) +
  geom_line() +
  xlab("standardized residual") +
  ylab("weight")

grid.arrange(weightPlot,resRobPlot,nrow=1)

  • We clearly see that the weights in the M-estimation procedure will down-weight errors associated with outliers for peptide KIEEIAAK.
Click to see code to make plot

sumMeanPepRob <- data.frame(
  intensity=sumMeanPepRobMod$coef[grep("sample",names(sumMeanPepRobMod$coef))] + 
    mean(data$intensity) - 
    mean(sumMeanPepRobMod$coef[grep("sample",names(sumMeanPepRobMod$coef))]),
  condition= names(sumMeanPepRobMod$coef)[grep("sample",names(sumMeanPepRobMod$coef))] |> 
    substr(18,18) |> as.factor()
  )

sumRlmPlot <- sumPlot + 
  geom_hline(
    data=sumMeanPepRob,
    mapping=aes(yintercept=intensity,color=condition)) + 
    ggtitle("Robust")

 grid.arrange(sumLmPlot + ggtitle("OLS"), sumRlmPlot, nrow = 1)

  • Robust regresion results in a better separation between the protein expression values for the different samples according to their spike-in concentration.

3.1.5 Comparison summarization methods

  • maxLFQ

  • MS-stats also uses a robust peptide level model to perform the summarization, however, they typically first impute missing values

  • Proteus high-flyer method: mean of three peptides with highest intensity

3.2 Estimation of differential abundance using peptide level model

  • Instead of summarising the data we can also directly model the data at the peptide-level.
  • But, we will have to address the pseudo-replication.

\[ y_{iclp}= \beta_0 + \beta_c^\text{condition} + \beta_l^\text{lab} + \beta_p^\text{peptide} + u_s^\text{sample} + \epsilon_{iclp} \]

  • protein-level

    • \(\beta^\text{condition}_c\): spike-in condition \(c=b, \ldots, e\)
    • \(\beta^\text{lab}_l\): lab effect \(l=l_2\ldots l_3\)
    • \(u_{r}^\text{run}\sim N\left(0,\sigma^2_\text{run}\right) \rightarrow\) random effect addresses pseudo-replication
  • peptide-level

    • \(\beta_{p}^\text{peptide}\): peptide effect
    • \(\epsilon_{rp} \sim N\left(0,\sigma^2_{\epsilon}\right)\) within sample (run) error
  • DA estimates: \[ \log_2FC_{B-A}=\beta^\text{condition}_B \] \[ \log_2FC_{C-B}=\beta^\text{condition}_C - \beta^\text{condition}_B \]

  • Mixed peptide-level models are implemented in msqrob2

  • It has the advantages that

    1. it correctly addresses the difference levels of variability in the data
    2. it avoids summarization and therefore also accounts for the difference in the number of peptides that are observed in each sample
    3. more powerful analysis
  • It has the disadvantage that

    1. protein summaries are no longer available for plotting
    2. it is difficult to correctly specify the degrees of freedom for the test-statistic leading to inference that is too liberal in experiments with small sample size
    3. sometimes sample level random effect variance are estimated to be zero, then the pseudo-replication is not addressed leading to inference that is too liberal for these specific proteins
    4. they are much more difficult to disseminate to users with limited background in statistics

Hence, for this course we opted to use peptide-level models for summarization, but not for directly inferring on the differential expression at the protein-level.

References

Sticker, A., L. Goeminne, L. Martens, and L. Clement. 2020. Robust Summarization and Inference in Proteome-wide Label-free Quantification.” Mol Cell Proteomics 19 (7): 1209–19.
LS0tCnRpdGxlOiAiU3RhdGlzdGljYWwgTWV0aG9kcyBmb3IgUXVhbnRpdGF0aXZlIE1TLWJhc2VkIFByb3Rlb21pY3M6IFBlcHRpZGUtbGV2ZWwgTW9kZWxzIGZvciBTdW1tYXJpemF0aW9uIGFuZCBJbmZlcmVuY2UiCmF1dGhvcjogIkxpZXZlbiBDbGVtZW50IgpkYXRlOiAiW3N0YXRPbWljc10oaHR0cHM6Ly9zdGF0b21pY3MuZ2l0aHViLmlvKSwgR2hlbnQgVW5pdmVyc2l0eSIKb3V0cHV0OgogICAgaHRtbF9kb2N1bWVudDoKICAgICAgY29kZV9kb3dubG9hZDogdHJ1ZQogICAgICB0aGVtZTogZmxhdGx5CiAgICAgIHRvYzogdHJ1ZQogICAgICB0b2NfZmxvYXQ6IHRydWUKICAgICAgaGlnaGxpZ2h0OiB0YW5nbwogICAgICBudW1iZXJfc2VjdGlvbnM6IHRydWUKICAgIHBkZl9kb2N1bWVudDoKICAgICAgdG9jOiB0cnVlCiAgICAgIG51bWJlcl9zZWN0aW9uczogdHJ1ZQpsaW5rY29sb3I6IGJsdWUKdXJsY29sb3I6IGJsdWUKY2l0ZWNvbG9yOiBibHVlCgpiaWJsaW9ncmFwaHk6IG1zcXJvYjIuYmliCiAgICAgIAotLS0KCjxhIHJlbD0ibGljZW5zZSIgaHJlZj0iaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLXNhLzQuMCI+PGltZyBhbHQ9IkNyZWF0aXZlIENvbW1vbnMgTGljZW5zZSIgc3R5bGU9ImJvcmRlci13aWR0aDowIiBzcmM9Imh0dHBzOi8vaS5jcmVhdGl2ZWNvbW1vbnMub3JnL2wvYnktbmMtc2EvNC4wLzg4eDMxLnBuZyIgLz48L2E+CgpUaGlzIGlzIHBhcnQgb2YgdGhlIG9ubGluZSBjb3Vyc2UgW1Byb3Rlb21pY3MgRGF0YSBBbmFseXNpcyAoUERBKV0oaHR0cHM6Ly9zdGF0b21pY3MuZ2l0aHViLmlvL1BEQS8pCgoKCgo8aWZyYW1lIHdpZHRoPSI1NjAiIGhlaWdodD0iMzE1IgpzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLy12cDdFQmF1cjdzIgpmcmFtZWJvcmRlcj0iMCIKc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyBtYXJnaW46IGF1dG87IgphbGxvdz0iYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYSIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPgoKKERpc2NsYWltZXI6IE5vdGUsIHRoYXQgdGhlIHJlc3VsdHMgaW4gdGhlIHZpZGVvIHdlcmUgYmFzZWQgb24gYSBsZXNzIHN0cmluZ2VudCBmaWx0ZXJpbmcsIHdoaWNoIHJlc3VsdGVkIGluIGV2ZW4gZmV3ZXIgcHJvdGVpbnMgdG8gYmUgcmV0dXJuZWQgYXMgc2lnbmlmaWNhbnQgZm9yIG1lZGlhbiBzdW1tYXJpc2F0aW9uLiBXZSBjaGFuZ2VkIHRoZSBmaWx0ZXJpbmcgY3JpdGVyaWEgZnJvbSAyMDI1IG9ud2FyZHMgYSBwZXB0aWRlIGhhcyB0byBiZSBzZWVuIGF0IGxlYXN0IDMgdGltZXMgYW5kIHdlIG5vdyBhbHNvIHBlcmZvcm0gZmlsdGVyaW5nIHVwb24gc3VtbWFyaXNhdGlvbjogYnkgZmlsdGVyaW5nIG91dCBwcm90ZWlucyB3aXRoIG1vcmUgdGhhbiAyIG91dCBvZiA2IHByb3RlaW4gZXhwcmVzc2lvbiB2YWx1ZXMgdGhhdCB3ZW50IG1pc3NpbmcpIAoKYGBge3IsIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0V9CmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KGxpbW1hKQpsaWJyYXJ5KFFGZWF0dXJlcykKbGlicmFyeShtc3Fyb2IyKQpsaWJyYXJ5KHBsb3RseSkKbGlicmFyeShncmlkRXh0cmEpCmxpYnJhcnkoZGF0YS50YWJsZSkKYGBgCgojIFN1YnNldCBvZiBDUFRBQyBzdHVkeTogQSB2cyBCIGNvbXBhcmlzb24gaW4gbGFiIDMgCgojIyBMRlEgCgo8ZGV0YWlscz48c3VtbWFyeT4gQ2xpY2sgdG8gc2VlIGJhY2tncm91bmQgYW5kIGNvZGUgPC9zdW1tYXJ5PjxwPgoxLiBJbXBvcnQgZGF0YQpgYGB7cn0KcHJvdGVpbnNUYWJsZSA8LSBmcmVhZCgiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3N0YXRPbWljcy9QREEvZGF0YS9xdWFudGlmaWNhdGlvbi9jcHRhY0F2c0JfbGFiMy9wcm90ZWluR3JvdXBzLnR4dCIpCmludDY0IDwtIHdoaWNoKHNhcHBseShwcm90ZWluc1RhYmxlLGNsYXNzKSA9PSAiaW50ZWdlcjY0IikKZm9yIChqIGluIGludDY0KSBwcm90ZWluc1RhYmxlW1tqXV0gPC0gYXMubnVtZXJpYyhwcm90ZWluc1RhYmxlW1tqXV0pCgpxdWFudENvbHMgPC0gZ3JlcCgiTEZRIGludGVuc2l0eSAiLCBuYW1lcyhwcm90ZWluc1RhYmxlKSkKCnBlTEZRIDwtIHJlYWRRRmVhdHVyZXMoCiAgYXNzYXlEYXRhID0gcHJvdGVpbnNUYWJsZSwgCiAgZm5hbWVzID0gMSwgCiAgcXVhbnRDb2xzID0gcXVhbnRDb2xzLAogIG5hbWUgPSAicHJvdGVpblJhdyIKKQoKcm0ocHJvdGVpbnNUYWJsZSkKZ2MoKQpnYygpCgpjb25kIDwtIHdoaWNoKAogIHN0cnNwbGl0KGNvbG5hbWVzKHBlTEZRKVtbMV1dWzFdLCBzcGxpdCA9ICIiKVtbMV1dID09ICJBIikgIyBmaW5kIHdoZXJlIGNvbmRpdGlvbiBpcyBzdG9yZWQKCmNvbERhdGEocGVMRlEpJGNvbmRpdGlvbiA8LSBzdWJzdHIoY29sbmFtZXMocGVMRlEpLCBjb25kLCBjb25kKSB8PgogIHVubGlzdCgpIHw+ICAKICBhcy5mYWN0b3IoKQpgYGAKCjIuIFByZXByb2Nlc3NpbmcKCmBgYHtyfQpwZUxGUSA8LSB6ZXJvSXNOQShwZUxGUSwgInByb3RlaW5SYXciKSAjIGNvbnZlcnQgMCB0byBOQQoKcGVMRlEgPC0gbG9nVHJhbnNmb3JtKHBlTEZRLCBiYXNlID0gMiwgaSA9ICJwcm90ZWluUmF3IiwgbmFtZSA9ICJwcm90ZWluTG9nIikKCnBlTEZRIDwtIGZpbHRlckZlYXR1cmVzKHBlTEZRLH4gUmV2ZXJzZSAhPSAiKyIpCnBlTEZRIDwtIGZpbHRlckZlYXR1cmVzKHBlTEZRLH4gUG90ZW50aWFsLmNvbnRhbWluYW50ICE9ICIrIikKCnBlTEZRIDwtIG5vcm1hbGl6ZShwZUxGUSwgCiAgICAgICAgICAgICAgICBpID0gInByb3RlaW5Mb2ciLCAKICAgICAgICAgICAgICAgIG5hbWUgPSAicHJvdGVpbiIsIAogICAgICAgICAgICAgICAgbWV0aG9kID0gImNlbnRlci5tZWRpYW4iKQoKIyBXZSB3YW50IHRvIGhhdmUgYXQgbGVhc3QgdHdvIG9ic2VydmVkIHByb3RlaW4gaW50ZW5zaXRpZXMgZm9yIGVhY2ggZ3JvdXAgc28gd2Ugc2V0IHRoZSBtaW5pbXVtIG51bWJlciBvZiBvYnNlcnZlZCB2YWx1ZXMgYXQgNC4gCm5PYnMgPC0gNApuIDwtIG5jb2wocGVMRlFbWyJwcm90ZWluIl1dKQpwTkEgPC0gKG4tbk9icykvbgpwZUxGUSA8LSBmaWx0ZXJOQShwZUxGUSwgcE5BID0gcE5BLCBpID0gInByb3RlaW4iKQpgYGAKCjMuIE1vZGVsaW5nIGFuZCBJbmZlcmVuY2UKCmBgYHtyfQpwZUxGUSA8LSBtc3Fyb2Iob2JqZWN0ID0gcGVMRlEsIGkgPSAicHJvdGVpbiIsIGZvcm11bGEgPSB+Y29uZGl0aW9uKQoKTCA8LSBtYWtlQ29udHJhc3QoImNvbmRpdGlvbkI9MCIsIHBhcmFtZXRlck5hbWVzID0gYygiY29uZGl0aW9uQiIpKQpwZUxGUSA8LSBoeXBvdGhlc2lzVGVzdChvYmplY3QgPSBwZUxGUSwgaSA9ICJwcm90ZWluIiwgY29udHJhc3QgPSBMKQoKdm9sY2Fub0xGUSA8LSBnZ3Bsb3Qocm93RGF0YShwZUxGUVtbInByb3RlaW4iXV0pJGNvbmRpdGlvbkIsCiAgICAgICAgICAgICAgICAgIGFlcyh4ID0gbG9nRkMsIHkgPSAtbG9nMTAocHZhbCksIGNvbG9yID0gYWRqUHZhbCA8IDAuMDUpKSArCiAgZ2VvbV9wb2ludChjZXggPSAyLjUpICsKICBzY2FsZV9jb2xvcl9tYW51YWwodmFsdWVzID0gYWxwaGEoYygiYmxhY2siLCAicmVkIiksIDAuNSkpICsgCiAgdGhlbWVfbWluaW1hbCgpICsKICBnZ3RpdGxlKHBhc3RlMCgibWF4TEZROiBUUCA9ICIsc3VtKHJvd0RhdGEocGVMRlFbWyJwcm90ZWluIl1dKSRjb25kaXRpb25CJGFkalB2YWw8MC4wNSZncmVwbChyb3duYW1lcyhyb3dEYXRhKHBlTEZRW1sicHJvdGVpbiJdXSkkY29uZGl0aW9uQikscGF0dGVybiA9IlVQUyIpLG5hLnJtPVRSVUUpLCAiIEZQID0gIiwgc3VtKHJvd0RhdGEocGVMRlFbWyJwcm90ZWluIl1dKSRjb25kaXRpb25CJGFkalB2YWw8MC4wNSYhZ3JlcGwocm93bmFtZXMocm93RGF0YShwZUxGUVtbInByb3RlaW4iXV0pJGNvbmRpdGlvbkIpLHBhdHRlcm4gPSJVUFMiKSxuYS5ybT1UUlVFKSkpCmBgYAoKCjwvcD48L2RldGFpbHM+CgojIyBNZWRpYW4gJiByb2J1c3Qgc3VtbWFyaXphdGlvbgoKPGRldGFpbHM+PHN1bW1hcnk+IENsaWNrIHRvIHNlZSBiYWNrZ3JvdW5kIGFuZCBjb2RlIDwvc3VtbWFyeT48cD4KCjEuIEltcG9ydCBEYXRhIAoKYGBge3J9CnBlcHRpZGVzVGFibGUgPC0gZnJlYWQoImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9zdGF0T21pY3MvU0dBMjAyMC9kYXRhL3F1YW50aWZpY2F0aW9uL2NwdGFjQXZzQl9sYWIzL3BlcHRpZGVzLnR4dCIpCmludDY0IDwtIHdoaWNoKHNhcHBseShwZXB0aWRlc1RhYmxlLGNsYXNzKSA9PSAiaW50ZWdlcjY0IikKZm9yIChqIGluIGludDY0KSBwZXB0aWRlc1RhYmxlW1tqXV0gPC0gYXMubnVtZXJpYyhwZXB0aWRlc1RhYmxlW1tqXV0pCgpxdWFudENvbHMgPC0gZ3JlcCgiSW50ZW5zaXR5ICIsIG5hbWVzKHBlcHRpZGVzVGFibGUpKQoKCnBlIDwtIHJlYWRRRmVhdHVyZXMoCiAgYXNzYXlEYXRhID0gcGVwdGlkZXNUYWJsZSwKICBmbmFtZXMgPSAxLAogIHF1YW50Q29scyA9ICBxdWFudENvbHMsCiAgbmFtZSA9ICJwZXB0aWRlUmF3IikKcm0ocGVwdGlkZXNUYWJsZSkKZ2MoKQpnYygpCgpjb25kIDwtIHdoaWNoKAogIHN0cnNwbGl0KGNvbG5hbWVzKHBlKVtbMV1dWzFdLCBzcGxpdCA9ICIiKVtbMV1dID09ICJBIikgIyBmaW5kIHdoZXJlIGNvbmRpdGlvbiBpcyBzdG9yZWQKCmNvbERhdGEocGUpJGNvbmRpdGlvbiA8LSBzdWJzdHIoY29sbmFtZXMocGUpLCBjb25kLCBjb25kKSB8PgogIHVubGlzdCgpIHw+ICAKICBhcy5mYWN0b3IoKQpgYGAKCjIuIFByZXByb2Nlc3NpbmcKCmBgYHtyfQpwZSA8LSB6ZXJvSXNOQShwZSwgInBlcHRpZGVSYXciKSAjIGNvbnZlcnQgMCB0byBOQQoKcGUgPC0gbG9nVHJhbnNmb3JtKHBlLCBiYXNlID0gMiwgaSA9ICJwZXB0aWRlUmF3IiwgbmFtZSA9ICJwZXB0aWRlTG9nIikKCnBlIDwtIGZpbHRlckZlYXR1cmVzKAogICAgcGUsIH4gUHJvdGVpbnMgIT0gIiIgJiAjIyBSZW1vdmUgZmFpbGVkIHByb3RlaW4gaW5mZXJlbmNlCiAgICAgICAgIWdyZXBsKCI7IiwgUHJvdGVpbnMpKSAjIyBSZW1vdmUgcHJvdGVpbiBncm91cHMKCnBlIDwtIGZpbHRlckZlYXR1cmVzKHBlLH5SZXZlcnNlICE9ICIrIikKcGUgPC0gZmlsdGVyRmVhdHVyZXMocGUsfiBQb3RlbnRpYWwuY29udGFtaW5hbnQgIT0gIisiKQoKIyBXZSBmaWx0ZXIgb3V0IGFsbCBwZXB0aWRlcyB0aGF0IGhhdmUgYmVlbiBzZWVuIGluIGxlc3MgdGhhbiB0aHJlZSBzYW1wbGVzCm5PYnMgPC0gMwpuIDwtIG5jb2wocGVbWyJwZXB0aWRlTG9nIl1dKQpwTkEgPC0gKG4tbk9icykvbgpwZSA8LSBmaWx0ZXJOQShwZSwgcE5BID0gcE5BLCBpID0gInBlcHRpZGVMb2ciKQpucm93KHBlW1sicGVwdGlkZUxvZyJdXSkKCnBlIDwtIG5vcm1hbGl6ZShwZSwgCiAgICAgICAgICAgICAgICBpID0gInBlcHRpZGVMb2ciLCAKICAgICAgICAgICAgICAgIG5hbWUgPSAicGVwdGlkZU5vcm0iLCAKICAgICAgICAgICAgICAgIG1ldGhvZCA9ICJjZW50ZXIubWVkaWFuIikKCnBlIDwtIGFnZ3JlZ2F0ZUZlYXR1cmVzKHBlLAogIGkgPSAicGVwdGlkZU5vcm0iLAogIGZjb2wgPSAiUHJvdGVpbnMiLAogIG5hLnJtID0gVFJVRSwKICBuYW1lID0gInByb3RlaW5NZWRpYW4iLAogIGZ1biA9IG1hdHJpeFN0YXRzOjpjb2xNZWRpYW5zKQoKcGUgPC0gYWdncmVnYXRlRmVhdHVyZXMocGUsCiAgaSA9ICJwZXB0aWRlTm9ybSIsCiAgZmNvbCA9ICJQcm90ZWlucyIsCiAgbmEucm0gPSBUUlVFLAogIG5hbWUgPSAicHJvdGVpblJvYnVzdCIpCgojIENvbXBhcmlzb25zIGFyZSBvbmx5IHZhbGlkIGZvciBwcm90ZWlucyBmb3Igd2hpY2ggd2Ugb2JzZXJ2ZWQgYSBwcm90ZWluIGludGVuc2l0eSB0d2ljZSBpbiBlYWNoIGdyb3VwLiBTbyB3ZSBvbmx5IHRvbGVyYXRlIGEgcHJvcG9ydGlvbiBvZiAobi00KS9uIE5Bcy4gCgpuT2JzIDwtIDQKbiA8LSBuY29sKHBlW1sicHJvdGVpbk1lZGlhbiJdXSkKcE5BIDwtIChuLW5PYnMpL24KcGUgPC0gZmlsdGVyTkEocGUsIHBOQSA9IHBOQSwgaSA9ICJwcm90ZWluTWVkaWFuIikKCm4gPC0gbmNvbChwZVtbInByb3RlaW5Sb2J1c3QiXV0pCnBOQSA8LSAobi1uT2JzKS9uCnBlIDwtIGZpbHRlck5BKHBlLCBwTkEgPSBwTkEsIGkgPSAicHJvdGVpblJvYnVzdCIpCgpgYGAKCjMuIE1vZGVsaW5nIGFuZCBpbmZlcmVuY2UKCmBgYHtyfQpwZSA8LSBtc3Fyb2Iob2JqZWN0ID0gcGUsIGkgPSAicHJvdGVpbk1lZGlhbiIsIGZvcm11bGEgPSB+Y29uZGl0aW9uKQpMIDwtIG1ha2VDb250cmFzdCgiY29uZGl0aW9uQj0wIiwgcGFyYW1ldGVyTmFtZXMgPSBjKCJjb25kaXRpb25CIikpCnBlIDwtIGh5cG90aGVzaXNUZXN0KG9iamVjdCA9IHBlLCBpID0gInByb3RlaW5NZWRpYW4iLCBjb250cmFzdCA9IEwpCgpwZSA8LSBtc3Fyb2Iob2JqZWN0ID0gcGUsIGkgPSAicHJvdGVpblJvYnVzdCIsIGZvcm11bGEgPSB+Y29uZGl0aW9uKQpwZSA8LSBoeXBvdGhlc2lzVGVzdChvYmplY3QgPSBwZSwgaSA9ICJwcm90ZWluUm9idXN0IiwgY29udHJhc3QgPSBMKQoKdm9sY2Fub01lZGlhbiA8LSBnZ3Bsb3Qocm93RGF0YShwZVtbInByb3RlaW5NZWRpYW4iXV0pJGNvbmRpdGlvbkIsCiAgICAgICAgICAgICAgICAgIGFlcyh4ID0gbG9nRkMsIHkgPSAtbG9nMTAocHZhbCksIGNvbG9yID0gYWRqUHZhbCA8IDAuMDUpKSArCiAgZ2VvbV9wb2ludChjZXggPSAyLjUpICsKICBzY2FsZV9jb2xvcl9tYW51YWwodmFsdWVzID0gYWxwaGEoYygiYmxhY2siLCAicmVkIiksIDAuNSkpICsgCiAgdGhlbWVfbWluaW1hbCgpICsKICBnZ3RpdGxlKHBhc3RlMCgiTWVkaWFuOiBUUCA9ICIsc3VtKHJvd0RhdGEocGVbWyJwcm90ZWluTWVkaWFuIl1dKSRjb25kaXRpb25CJGFkalB2YWw8MC4wNSZncmVwbChyb3duYW1lcyhyb3dEYXRhKHBlW1sicHJvdGVpbk1lZGlhbiJdXSkkY29uZGl0aW9uQikscGF0dGVybiA9IlVQUyIpLG5hLnJtPVRSVUUpLCAiIEZQID0gIiwgc3VtKHJvd0RhdGEocGVbWyJwcm90ZWluTWVkaWFuIl1dKSRjb25kaXRpb25CJGFkalB2YWw8MC4wNSYhZ3JlcGwocm93bmFtZXMocm93RGF0YShwZVtbInByb3RlaW5NZWRpYW4iXV0pJGNvbmRpdGlvbkIpLHBhdHRlcm4gPSJVUFMiKSxuYS5ybT1UUlVFKSkpCgp2b2xjYW5vUm9idXN0PC0gZ2dwbG90KHJvd0RhdGEocGVbWyJwcm90ZWluUm9idXN0Il1dKSRjb25kaXRpb25CLAogICAgICAgICAgICAgICAgICBhZXMoeCA9IGxvZ0ZDLCB5ID0gLWxvZzEwKHB2YWwpLCBjb2xvciA9IGFkalB2YWwgPCAwLjA1KSkgKwogIGdlb21fcG9pbnQoY2V4ID0gMi41KSArCiAgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcyA9IGFscGhhKGMoImJsYWNrIiwgInJlZCIpLCAwLjUpKSArIAogIHRoZW1lX21pbmltYWwoKSArCiAgZ2d0aXRsZShwYXN0ZTAoIlJvYnVzdDogVFAgPSAiLHN1bShyb3dEYXRhKHBlW1sicHJvdGVpblJvYnVzdCJdXSkkY29uZGl0aW9uQiRhZGpQdmFsPDAuMDUmZ3JlcGwocm93bmFtZXMocm93RGF0YShwZVtbInByb3RlaW5Sb2J1c3QiXV0pJGNvbmRpdGlvbkIpLHBhdHRlcm4gPSJVUFMiKSxuYS5ybT1UUlVFKSwgIiBGUCA9ICIsIHN1bShyb3dEYXRhKHBlW1sicHJvdGVpblJvYnVzdCJdXSkkY29uZGl0aW9uQiRhZGpQdmFsPDAuMDUmIWdyZXBsKHJvd25hbWVzKHJvd0RhdGEocGVbWyJwcm90ZWluUm9idXN0Il1dKSRjb25kaXRpb25CKSxwYXR0ZXJuID0iVVBTIiksbmEucm09VFJVRSkpKQpgYGAKCmBgYHtyfQp5bGltcyA8LSBjKDAsIAogICAgICAgICAgIGNlaWxpbmcobWF4KGMoLWxvZzEwKHJvd0RhdGEocGVMRlFbWyJwcm90ZWluIl1dKSRjb25kaXRpb25CJHB2YWwpLAogICAgICAgICAgICAgICAtbG9nMTAocm93RGF0YShwZVtbInByb3RlaW5NZWRpYW4iXV0pJGNvbmRpdGlvbkIkcHZhbCksCiAgICAgICAgICAgICAgIC1sb2cxMChyb3dEYXRhKHBlW1sicHJvdGVpblJvYnVzdCJdXSkkY29uZGl0aW9uQiRwdmFsKSksCiAgICAgICAgICAgICAgIG5hLnJtPVRSVUUpKQopCgp4bGltcyA8LSBtYXgoYWJzKGMocm93RGF0YShwZUxGUVtbInByb3RlaW4iXV0pJGNvbmRpdGlvbkIkbG9nRkMsCiAgICAgICAgICAgICAgIHJvd0RhdGEocGVbWyJwcm90ZWluTWVkaWFuIl1dKSRjb25kaXRpb25CJGxvZ0ZDLAogICAgICAgICAgICAgICByb3dEYXRhKHBlW1sicHJvdGVpblJvYnVzdCJdXSkkY29uZGl0aW9uQiRsb2dGQykpLAogICAgICAgICAgICAgICBuYS5ybT1UUlVFKSAqIGMoLTEsMSkKYGBgCgpgYGB7cn0KY29tcEJveFBsb3QgPC0gcmJpbmQocm93RGF0YShwZUxGUVtbInByb3RlaW4iXV0pJGNvbmRpdGlvbkIgfD4gbXV0YXRlKG1ldGhvZD0ibWF4TEZRIikgfD4gcm93bmFtZXNfdG9fY29sdW1uKHZhcj0icHJvdGVpbiIpLAogICAgICByb3dEYXRhKHBlW1sicHJvdGVpbk1lZGlhbiJdXSkkY29uZGl0aW9uQiB8PiBtdXRhdGUobWV0aG9kPSJtZWRpYW4iKXw+IHJvd25hbWVzX3RvX2NvbHVtbih2YXI9InByb3RlaW4iKSwKICAgICAgcm93RGF0YShwZVtbInByb3RlaW5Sb2J1c3QiXV0pJGNvbmRpdGlvbkJ8PiBtdXRhdGUobWV0aG9kPSJyb2J1c3QiKXw+IHJvd25hbWVzX3RvX2NvbHVtbih2YXI9InByb3RlaW4iKSkgfD4KICAgICAgbXV0YXRlKHVwcz0gZ3JlcGwocHJvdGVpbixwYXR0ZXJuPSJVUFMiKSkgfD4KICAgIGdncGxvdChhZXMoeCA9IG1ldGhvZCwgeSA9IGxvZ0ZDLCBmaWxsID0gdXBzKSkgKwogICAgZ2VvbV9ib3hwbG90KCkgKwogICAgZ2VvbV9obGluZSh5aW50ZXJjZXB0ID0gbG9nMigwLjc0IC8gLjI1KSwgY29sb3IgPSAiIzAwQkZDNCIpICsKICAgIGdlb21faGxpbmUoeWludGVyY2VwdCA9IDAsIGNvbG9yID0gIiNGODc2NkQiKQoKYGBgICAKCjwvcD48L2RldGFpbHM+CgojIyBDb21wYXJpc29uIHN1bW1hcml6YXRpb24gbWV0aG9kcyAKCmBgYHtyfQpncmlkLmFycmFuZ2Uodm9sY2Fub0xGUSArIHhsaW0oeGxpbXMpICsgeWxpbSh5bGltcyksIAogICAgICAgICAgICAgdm9sY2Fub01lZGlhbiArIHhsaW0oeGxpbXMpICsgeWxpbSh5bGltcyksIAogICAgICAgICAgICAgdm9sY2Fub1JvYnVzdCArIHhsaW0oeGxpbXMpICsgeWxpbSh5bGltcyksCiAgICAgICAgICAgICBuY29sPTEpCmBgYAoKLSBSb2J1c3Qgc3VtbWFyaXphdGlvbjogaGlnaGVzdCBwb3dlciBhbmQgc3RpbGwgZ29vZCBGRFIgY29udHJvbDogJEZEUCA9IFxmcmFjezB9ezIwfSA9IDAkLgoKCmBgYHtyfQpjb21wQm94UGxvdApgYGAKCi0gTWVkaWFuOiBiaWFzZWQgbG9nRkMgZXN0aW1hdGVzIGZvciBzcGlrZS1pbiBwcm90ZWlucwotIG1heExGUTogbW9yZSB2YXJpYWJsZSBsb2dGQyBlc3RpYW10ZXMgZm9yIHNwaWtlLWluIHByb3RlaW5zIAoKCiMgRnVsbCBDUFRBQyBzdHVkeSAKCiMjIFJlYWQgZGF0YSAKCjxkZXRhaWxzPjxzdW1tYXJ5PiBDbGljayB0byBzZWUgYmFja2dyb3VuZCBhbmQgY29kZSA8L3N1bW1hcnk+PHA+CjEuIFdlIHVzZSBhIHBlcHRpZGVzLnR4dCBmaWxlIGZyb20gTVMtZGF0YSBxdWFudGlmaWVkIHdpdGggbWF4cXVhbnQgdGhhdCAKY29udGFpbnMgTVMxIGludGVuc2l0aWVzIHN1bW1hcml6ZWQgYXQgdGhlIHBlcHRpZGUgbGV2ZWwuIApgYGB7cn0KcGVwdGlkZXNUYWJsZSA8LSBmcmVhZCgiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3N0YXRPbWljcy9QREEvZGF0YS9xdWFudGlmaWNhdGlvbi9mdWxsQ3B0YWNEYXRhc1NldE5vdEZvclR1dG9yaWFsL3BlcHRpZGVzLnR4dCIpCmludDY0IDwtIHdoaWNoKHNhcHBseShwZXB0aWRlc1RhYmxlLGNsYXNzKSA9PSAiaW50ZWdlcjY0IikKZm9yIChqIGluIGludDY0KSBwZXB0aWRlc1RhYmxlW1tqXV0gPC0gYXMubnVtZXJpYyhwZXB0aWRlc1RhYmxlW1tqXV0pCmBgYAoKMi4gTWF4cXVhbnQgc3RvcmVzIHRoZSBpbnRlbnNpdHkgZGF0YSBmb3IgdGhlIGRpZmZlcmVudCBzYW1wbGVzIGluIGNvbHVtbm5zIHRoYXQgc3RhcnQgd2l0aCBJbnRlbnNpdHkuIFdlIGNhbiByZXRyZWl2ZSB0aGUgY29sdW1uIG5hbWVzIHdpdGggdGhlIGludGVuc2l0eSBkYXRhIHdpdGggdGhlIGNvZGUgYmVsb3c6IAoKYGBge3J9CnF1YW50Q29scyA8LSBncmVwKCJJbnRlbnNpdHkgIiwgbmFtZXMocGVwdGlkZXNUYWJsZSkpCmBgYAoKMy4gUmVhZCB0aGUgZGF0YSBhbmQgc3RvcmUgaXQgaW4gIFFGZWF0dXJlcyBvYmplY3QgCgpgYGB7cn0KcGUgPC0gcmVhZFFGZWF0dXJlcygKICBhc3NheURhdGEgPSBwZXB0aWRlc1RhYmxlLAogIGZuYW1lcyA9IDEsCiAgcXVhbnRDb2xzID0gIHF1YW50Q29scywKICBuYW1lID0gInBlcHRpZGVSYXciKQpybShwZXB0aWRlc1RhYmxlKQpnYygpCmdjKCkKYGBgCjwvcD48L2RldGFpbHM+CgojIyBEZXNpZ24KCjxkZXRhaWxzPjxzdW1tYXJ5PiBDbGljayB0byBzZWUgYmFja2dyb3VuZCBhbmQgY29kZSA8L3N1bW1hcnk+PHA+CgpgYGB7cn0gCnBlIHw+IGNvbG5hbWVzKCkKYGBgCgotIE5vdGUsIHRoYXQgdGhlIHNhbXBsZSBuYW1lcyBpbmNsdWRlIHRoZSBzcGlrZS1pbiBjb25kaXRpb24uIAotIFRoZXkgYWxzbyBlbmQgb24gYSBudW1iZXIuIAogIAogIC0gMS0zIGlzIGZyb20gbGFiIDEsIAogIC0gNC02IGZyb20gbGFiIDIgYW5kIAogIC0gNy05IGZyb20gbGFiIDMuIAoKLSBXZSB1cGRhdGUgdGhlIGNvbERhdGEgd2l0aCBpbmZvcm1hdGlvbiBvbiB0aGUgZGVzaWduCgpgYGB7cn0KY29sRGF0YShwZSkkbGFiIDwtIHJlcCgKICByZXAoCiAgICBwYXN0ZTAoImxhYiIsMTozKSwgCiAgICBlYWNoPTMpLDUpIHw+IAogIGFzLmZhY3RvcigpCgpjb2xEYXRhKHBlKSRjb25kaXRpb24gPC0gcGVbWyJwZXB0aWRlUmF3Il1dIHw+IAogIGNvbG5hbWVzKCkgfD4gCiAgc3Vic3RyKDEyLDEyKSB8PiAKICBhcy5mYWN0b3IoKQoKY29sRGF0YShwZSkkc3Bpa2VDb25jZW50cmF0aW9uIDwtIHJlcCgKICBjKEEgPSAwLjI1LCBCID0gMC43NCwgQyA9IDIuMjIsIEQgPSA2LjY3LCBFID0gMjApLAogIGVhY2ggPSA5KQpgYGAKCi0gV2UgZXhwbG9yZSB0aGUgY29sRGF0YQoKYGBge3J9CmNvbERhdGEocGUpCmBgYAoKPC9wPjwvZGV0YWlscz4KCiMjIFByZXByb2Nlc3NpbmcKCiMjIyBMb2ctdHJhbnNmb3JtCgo8ZGV0YWlscz48c3VtbWFyeT4gQ2xpY2sgdG8gc2VlIGNvZGUgdG8gbG9nLXRyYW5zZnJvbSB0aGUgZGF0YSA8L3N1bW1hcnk+PHA+CgoKLSBQZXB0aWRlcyB3aXRoIHplcm8gaW50ZW5zaXRpZXMgYXJlIG1pc3NpbmcgcGVwdGlkZXMgYW5kIHNob3VsZCBiZSByZXByZXNlbnQKd2l0aCBhIGBOQWAgdmFsdWUgcmF0aGVyIHRoYW4gYDBgLgoKYGBge3J9CnBlIDwtIHplcm9Jc05BKHBlLCAicGVwdGlkZVJhdyIpICMgY29udmVydCAwIHRvIE5BCmBgYAoKLSBMb2d0cmFuc2Zvcm0gZGF0YSB3aXRoIGJhc2UgMgoKYGBge3J9CnBlIDwtIGxvZ1RyYW5zZm9ybShwZSwgYmFzZSA9IDIsIGkgPSAicGVwdGlkZVJhdyIsIG5hbWUgPSAicGVwdGlkZUxvZyIpCmBgYAo8L3A+PC9kZXRhaWxzPgoKCiMjIyBGaWx0ZXJpbmcKCjxkZXRhaWxzPjxzdW1tYXJ5PiBDbGljayB0byBzZWUgY29kZSB0byBmaWx0ZXIgdGhlIGRhdGEgPC9zdW1tYXJ5PjxwPgoKMS4gUmVtb3ZlIHBlcHRpZGVzIHRoYXQgbWFwIHRvIG11bHRpcGxlIHByb3RlaW5zCgpXZSByZW1vdmUgUFNNcyB0aGF0IGNvdWxkIG5vdCBiZSBtYXBwZWQgdG8gYSBwcm90ZWluIG9yIHRoYXQgbWFwCnRvIG11bHRpcGxlIHByb3RlaW5zICh0aGUgcHJvdGVpbiBpZGVudGlmaWVyIGNvbnRhaW5zIG11bHRpcGxlCmlkZW50aWZpZXJzIHNlcGFyYXRlZCBieSBhIGA7YCkuCgpgYGB7cn0KcGUgPC0gZmlsdGVyRmVhdHVyZXMoCiAgICBwZSwgfiBQcm90ZWlucyAhPSAiIiAmICMjIFJlbW92ZSBmYWlsZWQgcHJvdGVpbiBpbmZlcmVuY2UKICAgICAgICAhZ3JlcGwoIjsiLCBQcm90ZWlucykpICMjIFJlbW92ZSBwcm90ZWluIGdyb3VwcwpgYGAKCjIuIFJlbW92ZSByZXZlcnNlIHNlcXVlbmNlcyAoZGVjb3lzKSBhbmQgY29udGFtaW5hbnRzCgpXZSBub3cgcmVtb3ZlIHRoZSBjb250YW1pbmFudHMsIHBlcHRpZGVzIHRoYXQgbWFwIHRvIGRlY295IHNlcXVlbmNlcywgYW5kIHByb3RlaW5zCndoaWNoIHdlcmUgb25seSBpZGVudGlmaWVkIGJ5IHBlcHRpZGVzIHdpdGggbW9kaWZpY2F0aW9ucy4KCmBgYHtyfQpwZSA8LSBmaWx0ZXJGZWF0dXJlcyhwZSx+UmV2ZXJzZSAhPSAiKyIpCnBlIDwtIGZpbHRlckZlYXR1cmVzKHBlLH4gUG90ZW50aWFsLmNvbnRhbWluYW50ICE9ICIrIikKYGBgCgozLiBEcm9wIHBlcHRpZGVzIHRoYXQgd2VyZSBpZGVudGlmaWVkIGxlc3MgdGhhbiB0aHJlZSBzYW1wbGVzCgpXZSBrZWVwIHBlcHRpZGVzIHRoYXQgd2VyZSBvYnNlcnZlZCBhdCBsZWFzdCB0aHJlZSB0aW1lcy4gV2UgdG9sZXJhdGUgdGhlIGZvbGxvd2luZyBwcm9wb3J0aW9uIG9mIE5BczogcE5BID0gKG4tMykvbi4gCgpgYGB7cn0Kbk9icyA8LSAzCm4gPC0gbmNvbChwZVtbInBlcHRpZGVMb2ciXV0pCnBOQSA8LSAobi1uT2JzKS9uCnBlIDwtIGZpbHRlck5BKHBlLCBwTkEgPSBwTkEsIGkgPSAicGVwdGlkZUxvZyIpCm5yb3cocGVbWyJwZXB0aWRlTG9nIl1dKQpgYGAKCldlIGtlZXAgYHIgbnJvdyhwZVtbInBlcHRpZGVMb2ciXV0pYCBwZXB0aWRlcyB1cG9uIGZpbHRlcmluZy4KPC9wPjwvZGV0YWlscz4KCiMjIE5vcm1hbGl6YXRpb24gCgo8ZGV0YWlscz48c3VtbWFyeT4gQ2xpY2sgdG8gc2VlIFItY29kZSB0byBub3JtYWxpemUgdGhlIGRhdGEgPC9zdW1tYXJ5PjxwPgpgYGB7cn0KcGUgPC0gbm9ybWFsaXplKHBlLCAKICAgICAgICAgICAgICAgIGkgPSAicGVwdGlkZUxvZyIsIAogICAgICAgICAgICAgICAgbmFtZSA9ICJwZXB0aWRlTm9ybSIsIAogICAgICAgICAgICAgICAgbWV0aG9kID0gImNlbnRlci5tZWRpYW4iKQpgYGAKPC9wPjwvZGV0YWlscz4KCi0tLQoKIyBQZXB0aWRlLWxldmVsIG1vZGVscyAKCiMjIFN1bW1hcml6YXRpb24gCgoKPGRldGFpbHM+PHN1bW1hcnk+IENsaWNrIHRvIHNlZSBjb2RlIHRvIG1ha2UgcGxvdCA8L3N1bW1hcnk+PHA+CmBgYHtyIHBsb3QgPSBGQUxTRX0KCnByb3QgPC0gIlAwMTAzMXVwc3xDTzVfSFVNQU5fVVBTIgpkYXRhIDwtIHBlW1sicGVwdGlkZU5vcm0iXV1bCiAgcm93RGF0YShwZVtbInBlcHRpZGVOb3JtIl1dKSRQcm90ZWlucyA9PSBwcm90LAogIGNvbERhdGEocGUpJGxhYj09ImxhYjMiXSB8PgogIGFzc2F5KCkgfD4KICBhcy5kYXRhLmZyYW1lKCkgfD4KICByb3duYW1lc190b19jb2x1bW4odmFyID0gInBlcHRpZGUiKSB8PgogIGdhdGhlcihzYW1wbGUsIGludGVuc2l0eSwgLXBlcHRpZGUpIHw+IAogIG11dGF0ZShjb25kaXRpb24gPSBjb2xEYXRhKHBlKVtzYW1wbGUsImNvbmRpdGlvbiJdKSB8PgogIG5hLmV4Y2x1ZGUoKQpzdW1QbG90IDwtIGRhdGEgfD4KICBnZ3Bsb3QoYWVzKHggPSBwZXB0aWRlLCB5ID0gaW50ZW5zaXR5LCBjb2xvciA9IGNvbmRpdGlvbiwgZ3JvdXAgPSBzYW1wbGUsIGxhYmVsID0gY29uZGl0aW9uKSwgc2hvdy5sZWdlbmQgPSBGQUxTRSkgKwogIGdlb21fdGV4dChzaG93LmxlZ2VuZCA9IEZBTFNFKSArCiAgdGhlbWVfbWluaW1hbCgpICsKICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDkwLCB2anVzdCA9IDAuNSwgaGp1c3QgPSAxKSkgKwogIHhsYWIoIlBlcHRpZGUiKSArIAogIHlsYWIoIkludGVuc2l0eSAobG9nMikiKSArCiAgZ2d0aXRsZShwYXN0ZTAoInByb3RlaW46ICIscHJvdCkpCmBgYAo8L3A+PC9kZXRhaWxzPgoKCkhlcmUsIHdlIHdpbGwgZm9jdXMgb24gdGhlIHN1bW1hcml6YXRpb24gb2YgdGhlIGludGVuc2l0aWVzIGZvciBwcm90ZWluIGByIHByb3RgLgoKYGBge3J9CnN1bVBsb3QgKwogIGdlb21fbGluZShsaW5ldHlwZT0iZGFzaGVkIixhbHBoYT0uNCkKYGBgCgojIyMgTWVkaWFuIHN1bW1hcml6YXRpb24KCldlIGZpcnN0IGV2YWx1YXRlIG1lZGlhbiBzdW1tYXJpemF0aW9uIGZvciBwcm90ZWluIGByIHByb3RgLgoKPGRldGFpbHM+PHN1bW1hcnk+IENsaWNrIHRvIHNlZSBjb2RlIHRvIG1ha2UgcGxvdCA8L3N1bW1hcnk+PHA+CmBgYHtyfQpkYXRhSGxwIDwtIHBlW1sicGVwdGlkZU5vcm0iXV1bCiAgICByb3dEYXRhKHBlW1sicGVwdGlkZU5vcm0iXV0pJFByb3RlaW5zID09IHByb3QsCiAgICBjb2xEYXRhKHBlKSRsYWI9PSJsYWIzIl0gfD4gCiAgYXNzYXkoKSAKCnN1bU1lZGlhbiA8LSBkYXRhLmZyYW1lKAogIGludGVuc2l0eT0gZGF0YUhscAogICAgfD4gCiAgICBjb2xNZWRpYW5zKG5hLnJtPVRSVUUpCiAgLAogIGNvbmRpdGlvbj0gY29sbmFtZXMoZGF0YUhscCkgfD4gCiAgICBzdWJzdHIoMTIsMTIpIHw+IAogICAgYXMuZmFjdG9yKCkKICApCgpzdW1NZWRpYW5QbG90IDwtIHN1bVBsb3QgKyAKICBnZW9tX2hsaW5lKAogICAgZGF0YSA9IHN1bU1lZGlhbiwKICAgIG1hcHBpbmcgPSBhZXMoeWludGVyY2VwdD1pbnRlbnNpdHksY29sb3I9Y29uZGl0aW9uKSkgKyAKICBnZ3RpdGxlKCJNZWRpYW4gc3VtbWFyaXphdGlvbiIpCmBgYAo8L3A+PC9kZXRhaWxzPgoKYGBge3J9CnN1bU1lZGlhblBsb3QKYGBgCgoKLSBUaGUgc2FtcGxlIG1lZGlhbnMgYXJlIG5vdCBhIGdvb2QgZXN0aW1hdGUgZm9yIHRoZSBwcm90ZWluIGV4cHJlc3Npb24gdmFsdWUuIAotIEluZGVlZCwgdGhleSBkbyBub3QgYWNjb3VudCBmb3IgZGlmZmVyZW5jZXMgaW4gcGVwdGlkZSBlZmZlY3RzCi0gUGVwdGlkZXMgdGhhdCBpb25pemUgcG9vcmx5IGFyZSBhbHNvIHBpY2tlZCB1cCBpbiBzYW1wbGVzIHdpdGggaGlnaCBzcGlrZS1pbiBjb25jZW5jZW50cmF0aW9uIGFuZCBub3QgaW4gc2FtcGxlcyB3aXRoIGxvdyBzcGlrZS1pbiBjb25jZW50cmF0aW9uCi0gVGhpcyBpbnRyb2R1Y2VzIGEgYmlhcy4gCgojIyMgTWVhbiBzdW1tYXJpemF0aW9uIAoKCiQkIAp5X3tpcH0gPSBcYmV0YV9pXlx0ZXh0e3NhbXBsZX0gKyBcZXBzaWxvbl97aXB9CiQkCjxkZXRhaWxzPjxzdW1tYXJ5PiBDbGljayB0byBzZWUgY29kZSB0byBtYWtlIHBsb3QgPC9zdW1tYXJ5PjxwPgpgYGB7cn0Kc3VtTWVhbk1vZCA8LSBsbShpbnRlbnNpdHkgfiAtMSArIHNhbXBsZSxkYXRhKQoKc3VtTWVhbiA8LSBkYXRhLmZyYW1lKAogIGludGVuc2l0eT1zdW1NZWFuTW9kJGNvZWZbZ3JlcCgic2FtcGxlIixuYW1lcyhzdW1NZWFuTW9kJGNvZWYpKV0sCiAgY29uZGl0aW9uPSBuYW1lcyhzdW1NZWFuTW9kJGNvZWYpW2dyZXAoInNhbXBsZSIsbmFtZXMoc3VtTWVhbk1vZCRjb2VmKSldIHw+IAogICAgc3Vic3RyKDE4LDE4KSB8PiAKICAgIGFzLmZhY3RvcigpICkKCgoKc3VtTWVhblBsb3QgPC0gc3VtUGxvdCArIGdlb21faGxpbmUoCiAgICBkYXRhID0gc3VtTWVhbiwKICAgIG1hcHBpbmcgPSBhZXMoeWludGVyY2VwdD1pbnRlbnNpdHksY29sb3I9Y29uZGl0aW9uKSkgKwogICAgZ2d0aXRsZSgiTWVhbiBzdW1tYXJpemF0aW9uIikKYGBgCjwvcD48L2RldGFpbHM+CgpgYGB7cn0KZ3JpZC5hcnJhbmdlKHN1bU1lZGlhblBsb3QsIHN1bU1lYW5QbG90LCBuY29sPTIpCmBgYAoKCiMjIyBNb2RlbCBiYXNlZCBzdW1tYXJpemF0aW9uCgpXZSBjYW4gdXNlIGEgbGluZWFyIHBlcHRpZGUtbGV2ZWwgbW9kZWwgdG8gZXN0aW1hdGUgdGhlIHByb3RlaW4gZXhwcmVzc2lvbiB2YWx1ZSB3aGlsZSBjb3JyZWN0aW5nIGZvciB0aGUgcGVwdGlkZSBlZmZlY3QsIGkuZS4gCgokJCAKeV97aXB9ID0gXGJldGFfaV5cdGV4dHtzYW1wbGV9K1xiZXRhXntwZXB0aWRlfV97cH0gKyBcZXBzaWxvbl97aXB9CiQkCgoKPGRldGFpbHM+PHN1bW1hcnk+IENsaWNrIHRvIHNlZSBjb2RlIHRvIG1ha2UgcGxvdCA8L3N1bW1hcnk+PHA+CmBgYHtyfQpzdW1NZWFuUGVwTW9kIDwtIGxtKGludGVuc2l0eSB+IC0xICsgc2FtcGxlICsgcGVwdGlkZSxkYXRhKQoKc3VtTWVhblBlcCA8LSBkYXRhLmZyYW1lKAogIGludGVuc2l0eSA9IHN1bU1lYW5QZXBNb2QkY29lZltncmVwKCJzYW1wbGUiLG5hbWVzKHN1bU1lYW5QZXBNb2QkY29lZikpXSArIAogICAgbWVhbihkYXRhJGludGVuc2l0eSkgLSAKICAgIG1lYW4oc3VtTWVhblBlcE1vZCRjb2VmW2dyZXAoInNhbXBsZSIsbmFtZXMoc3VtTWVhblBlcE1vZCRjb2VmKSldKSwKICBjb25kaXRpb24gPSBuYW1lcyhzdW1NZWFuUGVwTW9kJGNvZWYpW2dyZXAoInNhbXBsZSIsbmFtZXMoc3VtTWVhblBlcE1vZCRjb2VmKSldIAogIHw+IHN1YnN0cigxOCwxOCkgfD4gCiAgICBhcy5mYWN0b3IoKSApCgoKZml0TG1QbG90IDwtICBzdW1QbG90ICsgZ2VvbV9saW5lKAogICAgZGF0YSA9IGRhdGEgfD4gCiAgICAgIG11dGF0ZShmaXQ9c3VtTWVhblBlcE1vZCRmaXR0ZWQudmFsdWVzKSwKICAgIG1hcHBpbmcgPSBhZXMoeD1wZXB0aWRlLCB5PWZpdCxjb2xvcj1jb25kaXRpb24sIGdyb3VwPXNhbXBsZSkpICsKICAgIGdndGl0bGUoImZpdDogfiBzYW1wbGUgKyBwZXB0aWRlIikKc3VtTG1QbG90IDwtIHN1bVBsb3QgKyBnZW9tX2hsaW5lKAogICAgZGF0YSA9IHN1bU1lYW5QZXAsCiAgICBtYXBwaW5nID0gYWVzKHlpbnRlcmNlcHQ9aW50ZW5zaXR5LGNvbG9yPWNvbmRpdGlvbikpICsKICAgIGdndGl0bGUoIlN1bW1hcml6YXRpb246IHNhbXBsZSBlZmZlY3QiKQpgYGAKPC9wPjwvZGV0YWlscz4KCmBgYHtyfQpncmlkLmFycmFuZ2Uoc3VtTWVkaWFuUGxvdCwgc3VtTWVhblBsb3QsIHN1bUxtUGxvdCwgbnJvdz0xKQpgYGAKCi0gQnkgY29ycmVjdGluZyBmb3IgdGhlIHBlcHRpZGUgc3BlY2llcyB0aGUgcHJvdGVpbiBleHByZXNzaW9uIHZhbHVlcyBhcmUgbXVjaCBiZXR0ZXIgc2VwYXJhdGVkIGFuIGJldHRlciByZWZsZWN0IGRpZmZlcmVuY2VzIGluIGFidW5kYW5jZSBpbmR1Y2VkIGJ5IHRoZSBzcGlrZS1pbiBjb25kaXRpb24uIAoKLSBJbmRlZWQsIGl0IHNob3dzIHRoYXQgbWVkaWFuIGFuZCBtZWFuIHN1bW1hcml6YXRpb24gdGhhdCBkbyBub3QgYWNjb3VudCBmb3IgdGhlIHBlcHRpZGUgZWZmZWN0IGluZGVlZCBvdmVyZXN0aW1hdGUgdGhlIHByb3RlaW4gZXhwcmVzc2lvbiB2YWx1ZSBpbiB0aGUgc21hbGwgc3Bpa2UtaW4gY29uZGl0aW9ucyBhbmQgdW5kZXJlc3RpbWF0ZSB0aGF0IGluIHRoZSBsYXJnZSBzcGlrZS1pbiBjb25kaXRpb25zLgoKLSBTdGlsbCB0aGVyZSBzZWVtIHRvIGJlIHNvbWUgaXNzdWVzIHdpdGggc2FtcGxlcyB0aGF0IGZvciB3aGljaCB0aGUgZXhwcmVzc2lvbiB2YWx1ZXMgYXJlIG5vdCB3ZWxsIHNlcGFyYXRlZCBhY2NvcmRpbmcgdG8gdGhlIHNwaWtlLWluIGNvbmRpdGlvbi4gCgpBIHJlc2lkdWFsIGFuYWx5c2lzIGNsZWFybHkgaW5kaWNhdGVzIHBvdGVudGlhbCBpc3N1ZXM6Cgo8ZGV0YWlscz48c3VtbWFyeT4gQ2xpY2sgdG8gc2VlIGNvZGUgdG8gbWFrZSBwbG90IDwvc3VtbWFyeT48cD4KYGBge3J9CnJlc1Bsb3QgPC0gZGF0YSB8PiAKICBtdXRhdGUocmVzPXN1bU1lYW5QZXBNb2QkcmVzaWR1YWxzKSB8PgogIGdncGxvdChhZXMoeCA9IHBlcHRpZGUsIHkgPSByZXMsIGNvbG9yID0gY29uZGl0aW9uLCBsYWJlbCA9IGNvbmRpdGlvbiksIHNob3cubGVnZW5kID0gRkFMU0UpICsKICBnZW9tX3BvaW50KHNoYXBlPTIxKSArCiAgdGhlbWVfbWluaW1hbCgpICsKICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDkwLCB2anVzdCA9IDAuNSwgaGp1c3QgPSAxKSkgKwogIHhsYWIoIlBlcHRpZGUiKSArIAogIHlsYWIoInJlc2lkdWFsIikgKwogIGdndGl0bGUoInJlc2lkdWFsczogfiBzYW1wbGUgKyBwZXB0aWRlIikKYGBgCjwvcD48L2RldGFpbHM+CgpgYGB7cn0KZ3JpZC5hcnJhbmdlKGZpdExtUGxvdCwgcmVzUGxvdCwgbnJvdyA9IDEpCmdyaWQuYXJyYW5nZShmaXRMbVBsb3QsIHN1bUxtUGxvdCwgbnJvdyA9IDEpCmBgYAoKLSBUaGUgcmVzaWR1YWwgcGxvdCBzaG93cyBzb21lIGxhcmdlIG91dGxpZXJzIGZvciBwZXB0aWRlIEtJRUVJQUFLLiAKLSBJbmRlZWQsIGluIHRoZSBvcmlnaW5hbCBwbG90IHRoZSBpbnRlbnNpdGllcyBmb3IgdGhpcyBwZXB0aWRlIGRvIG5vdCBzZWVtIHRvIGxpbmUgdXAgdmVyeSB3ZWxsIHdpdGggdGhlIGNvbmNlbnRyYXRpb24uIAotIFRoaXMgaW5kdWNlcyBhIGJpYXMgaW4gdGhlIHN1bW1hcml6YXRpb24gZm9yIHNvbWUgb2YgdGhlIHNhbXBsZXMgKGUuZy4gZm9yIEQgYW5kIEUpCgojIyMgUm9idXN0IHN1bW1hcml6YXRpb24gdXNpbmcgYSBwZXB0aWRlLWxldmVsIGxpbmVhciBtb2RlbCAKCiQkIAp5X3tpcH0gPSBcYmV0YV9pXlx0ZXh0e3NhbXBsZX0rXGJldGFee3BlcHRpZGV9X3twfSArIFxlcHNpbG9uX3tpcH0KJCQKCgotIE9yZGluYXJ5IGxlYXN0IHNxdWFyZXM6IGVzdGltYXRlICRcYmV0YSQgdGhhdCBtaW5pbWl6ZXMKJCQKXHRleHR7T0xTfTogXHN1bVxsaW1pdHNfe2kscH0gXGVwc2lsb25fe2lwfV4yID0gXHN1bVxsaW1pdHNfe2kscH0oeV97aXB9LVxiZXRhX2leXHRleHR7c2FtcGxlfS1cYmV0YV9wXlx0ZXh0e3BlcHRpZGV9KV4yCiQkCgpXZSByZXBsYWNlIE9MUyBieSBNLWVzdGltYXRpb24gd2l0aCBsb3NzIGZ1bmN0aW9uCiQkClxzdW1cbGltaXRzX3tpLHB9IHdfe2lwfVxlcHNpbG9uX3tpcH1eMiA9IFxzdW1cbGltaXRzX3tpLHB9d197aXB9KHlfe2lwfS1cYmV0YV9pXlx0ZXh0e3NhbXBsZX0tXGJldGFfcF5cdGV4dHtwZXB0aWRlfSleMgokJAoKLSBJdGVyYXRpdmVseSBmaXQgbW9kZWwgd2l0aCBvYnNlcnZhdGlvbiB3ZWlnaHRzICR3X3tpcH0kIHVudGlsIGNvbnZlcmdlbmNlCi0gVGhlIHdlaWdodHMgYXJlIGNhbGN1bGF0ZWQgYmFzZWQgb24gc3RhbmRhcmRpemVkIHJlc2lkdWFscwoKPGRldGFpbHM+PHN1bW1hcnk+IENsaWNrIHRvIHNlZSBjb2RlIHRvIG1ha2UgcGxvdCA8L3N1bW1hcnk+PHA+CmBgYHtyfQpzdW1NZWFuUGVwUm9iTW9kIDwtIE1BU1M6OnJsbShpbnRlbnNpdHkgfiAtMSArIHNhbXBsZSArIHBlcHRpZGUsZGF0YSkKcmVzUm9iUGxvdCA8LSBkYXRhIHw+CiAgbXV0YXRlKHJlcyA9IHN1bU1lYW5QZXBSb2JNb2QkcmVzaWR1YWxzLAogICAgICAgICB3ID0gc3VtTWVhblBlcFJvYk1vZCR3KSB8PgogIGdncGxvdChhZXMoeCA9IHBlcHRpZGUsIHkgPSByZXMsIGNvbG9yID0gY29uZGl0aW9uLCBsYWJlbCA9IGNvbmRpdGlvbixzaXplPXcpLCBzaG93LmxlZ2VuZCA9IEZBTFNFKSArCiAgZ2VvbV9wb2ludChzaGFwZT0yMSxzaXplPS4yKSArCiAgZ2VvbV9wb2ludChzaGFwZT0yMSkgKwogIHRoZW1lX21pbmltYWwoKSArCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSA5MCwgdmp1c3QgPSAwLjUsIGhqdXN0ID0gMSkpICsKICB4bGFiKCJQZXB0aWRlIikgKyAKICB5bGFiKCJyZXNpZHVhbCIpICsgCiAgeWxpbShjKC0xLDEpKm1heChhYnMoc3VtTWVhblBlcFJvYk1vZCRyZXNpZHVhbHMpKSkKd2VpZ2h0UGxvdCA8LSBkYXRhLmZyYW1lKAogIHJlc2lkPXNlcSgtNSw1LC4wMSksIAogIHdlaWdodD1NQVNTOjpwc2kuaHViZXIoc2VxKC01LDUsLjAxKSkKICApIHw+IAogIGdncGxvdChhZXMocmVzaWQsd2VpZ2h0KSkgKwogIGdlb21fbGluZSgpICsKICB4bGFiKCJzdGFuZGFyZGl6ZWQgcmVzaWR1YWwiKSArCiAgeWxhYigid2VpZ2h0IikKYGBgCjwvcD48L2RldGFpbHM+CgpgYGB7cn0KZ3JpZC5hcnJhbmdlKHdlaWdodFBsb3QscmVzUm9iUGxvdCxucm93PTEpCmBgYAoKLSBXZSBjbGVhcmx5IHNlZSB0aGF0IHRoZSB3ZWlnaHRzIGluIHRoZSBNLWVzdGltYXRpb24gcHJvY2VkdXJlIHdpbGwgZG93bi13ZWlnaHQgZXJyb3JzIGFzc29jaWF0ZWQgd2l0aCBvdXRsaWVycyBmb3IgcGVwdGlkZSBLSUVFSUFBSy4KCjxkZXRhaWxzPjxzdW1tYXJ5PiBDbGljayB0byBzZWUgY29kZSB0byBtYWtlIHBsb3QgPC9zdW1tYXJ5PjxwPgpgYGB7cn0Kc3VtTWVhblBlcFJvYiA8LSBkYXRhLmZyYW1lKAogIGludGVuc2l0eT1zdW1NZWFuUGVwUm9iTW9kJGNvZWZbZ3JlcCgic2FtcGxlIixuYW1lcyhzdW1NZWFuUGVwUm9iTW9kJGNvZWYpKV0gKyAKICAgIG1lYW4oZGF0YSRpbnRlbnNpdHkpIC0gCiAgICBtZWFuKHN1bU1lYW5QZXBSb2JNb2QkY29lZltncmVwKCJzYW1wbGUiLG5hbWVzKHN1bU1lYW5QZXBSb2JNb2QkY29lZikpXSksCiAgY29uZGl0aW9uPSBuYW1lcyhzdW1NZWFuUGVwUm9iTW9kJGNvZWYpW2dyZXAoInNhbXBsZSIsbmFtZXMoc3VtTWVhblBlcFJvYk1vZCRjb2VmKSldIHw+IAogICAgc3Vic3RyKDE4LDE4KSB8PiBhcy5mYWN0b3IoKQogICkKCnN1bVJsbVBsb3QgPC0gc3VtUGxvdCArIAogIGdlb21faGxpbmUoCiAgICBkYXRhPXN1bU1lYW5QZXBSb2IsCiAgICBtYXBwaW5nPWFlcyh5aW50ZXJjZXB0PWludGVuc2l0eSxjb2xvcj1jb25kaXRpb24pKSArIAogICAgZ2d0aXRsZSgiUm9idXN0IikKYGBgCjwvcD48L2RldGFpbHM+CgpgYGB7cn0KIGdyaWQuYXJyYW5nZShzdW1MbVBsb3QgKyBnZ3RpdGxlKCJPTFMiKSwgc3VtUmxtUGxvdCwgbnJvdyA9IDEpCmBgYAoKLSBSb2J1c3QgcmVncmVzaW9uIHJlc3VsdHMgaW4gYSBiZXR0ZXIgc2VwYXJhdGlvbiBiZXR3ZWVuIHRoZSBwcm90ZWluIGV4cHJlc3Npb24gdmFsdWVzIGZvciB0aGUgZGlmZmVyZW50IHNhbXBsZXMgYWNjb3JkaW5nIHRvIHRoZWlyIHNwaWtlLWluIGNvbmNlbnRyYXRpb24uIAoKCgojIyMgQ29tcGFyaXNvbiBzdW1tYXJpemF0aW9uIG1ldGhvZHMgCgotIG1heExGUQoKYGBge3IgZWNobz1GQUxTRX0Ka25pdHI6OmluY2x1ZGVfZ3JhcGhpY3MoIi4vZmlndXJlcy9tYXhMRlFfcHJpbmNpcGxlLnBuZyIpCmBgYAoKLSBNUy1zdGF0cyBhbHNvIHVzZXMgYSByb2J1c3QgcGVwdGlkZSBsZXZlbCBtb2RlbCB0byBwZXJmb3JtIHRoZSBzdW1tYXJpemF0aW9uLCBob3dldmVyLCB0aGV5IHR5cGljYWxseSBmaXJzdCBpbXB1dGUgbWlzc2luZyB2YWx1ZXMKCi0gUHJvdGV1cyBoaWdoLWZseWVyIG1ldGhvZDogbWVhbiBvZiB0aHJlZSBwZXB0aWRlcyB3aXRoIGhpZ2hlc3QgaW50ZW5zaXR5CgoKYGBge3IgZWNobz1GQUxTRX0Ka25pdHI6OmluY2x1ZGVfZ3JhcGhpY3MoIi4vZmlndXJlcy9tc3Fyb2JzdW1fc3VtX25vdmVsLnBuZyIpCmBgYAoKLSBbQHN0aWNrZXIyMDIwXQotIGRvaTogaHR0cHM6Ly9kb2kub3JnLzEwLjEwNzQvbWNwLlJBMTE5LjAwMTYyNCAgCi0gW3BkZl0oaHR0cHM6Ly93d3cubWNwb25saW5lLm9yZy9hY3Rpb24vc2hvd1BkZj9waWk9UzE1MzUtOTQ3NiUyODIwJTI5MzQ5ODItMykKCiMjIEVzdGltYXRpb24gb2YgZGlmZmVyZW50aWFsIGFidW5kYW5jZSB1c2luZyBwZXB0aWRlIGxldmVsIG1vZGVsCgotIEluc3RlYWQgb2Ygc3VtbWFyaXNpbmcgdGhlIGRhdGEgd2UgY2FuIGFsc28gZGlyZWN0bHkgbW9kZWwgdGhlIGRhdGEgYXQgdGhlIHBlcHRpZGUtbGV2ZWwuIAotIEJ1dCwgd2Ugd2lsbCBoYXZlIHRvIGFkZHJlc3MgdGhlIHBzZXVkby1yZXBsaWNhdGlvbi4KCiQkCnlfe2ljbHB9PSBcYmV0YV8wICsgXGJldGFfY15cdGV4dHtjb25kaXRpb259ICsgXGJldGFfbF5cdGV4dHtsYWJ9ICsgXGJldGFfcF5cdGV4dHtwZXB0aWRlfSArIHVfc15cdGV4dHtzYW1wbGV9ICsgXGVwc2lsb25fe2ljbHB9CiQkCgotIHByb3RlaW4tbGV2ZWwKCiAgLSAkXGJldGFeXHRleHR7Y29uZGl0aW9ufV9jJDogc3Bpa2UtaW4gY29uZGl0aW9uICRjPWIsIFxsZG90cywgZSQKICAtICRcYmV0YV5cdGV4dHtsYWJ9X2wkOiBsYWIgZWZmZWN0ICRsPWxfMlxsZG90cyBsXzMkCiAgLSAkdV97cn1eXHRleHR7cnVufVxzaW0gTlxsZWZ0KDAsXHNpZ21hXjJfXHRleHR7cnVufVxyaWdodCkgXHJpZ2h0YXJyb3ckIHJhbmRvbSBlZmZlY3QgYWRkcmVzc2VzIHBzZXVkby1yZXBsaWNhdGlvbgoKLSBwZXB0aWRlLWxldmVsIAogIC0gJFxiZXRhX3twfV5cdGV4dHtwZXB0aWRlfSQ6IHBlcHRpZGUgZWZmZWN0CiAgLSAkXGVwc2lsb25fe3JwfSBcc2ltIE5cbGVmdCgwLFxzaWdtYV4yX3tcZXBzaWxvbn1ccmlnaHQpJCB3aXRoaW4gc2FtcGxlIChydW4pIGVycm9yIAoKCi0gREEgZXN0aW1hdGVzOiAKJCQKXGxvZ18yRkNfe0ItQX09XGJldGFeXHRleHR7Y29uZGl0aW9ufV9CICAKJCQKJCQKXGxvZ18yRkNfe0MtQn09XGJldGFeXHRleHR7Y29uZGl0aW9ufV9DIC0gXGJldGFeXHRleHR7Y29uZGl0aW9ufV9CIAokJAotIE1peGVkIHBlcHRpZGUtbGV2ZWwgbW9kZWxzIGFyZSBpbXBsZW1lbnRlZCBpbiBtc3Fyb2IyCgotIEl0IGhhcyB0aGUgYWR2YW50YWdlcyB0aGF0CgogIDEuIGl0IGNvcnJlY3RseSBhZGRyZXNzZXMgdGhlIGRpZmZlcmVuY2UgbGV2ZWxzIG9mIHZhcmlhYmlsaXR5IGluIHRoZSBkYXRhCiAgMi4gaXQgYXZvaWRzIHN1bW1hcml6YXRpb24gYW5kIHRoZXJlZm9yZSBhbHNvIGFjY291bnRzIGZvciB0aGUgZGlmZmVyZW5jZSBpbiB0aGUgbnVtYmVyIG9mIHBlcHRpZGVzIHRoYXQgYXJlIG9ic2VydmVkIGluIGVhY2ggc2FtcGxlCiAgMy4gbW9yZSBwb3dlcmZ1bCBhbmFseXNpcwoKLSBJdCBoYXMgdGhlIGRpc2FkdmFudGFnZSB0aGF0CgogIAogIDEuIHByb3RlaW4gc3VtbWFyaWVzIGFyZSBubyBsb25nZXIgYXZhaWxhYmxlIGZvciBwbG90dGluZwogIDIuIGl0IGlzIGRpZmZpY3VsdCB0byBjb3JyZWN0bHkgc3BlY2lmeSB0aGUgZGVncmVlcyBvZiBmcmVlZG9tIGZvciB0aGUgdGVzdC1zdGF0aXN0aWMgbGVhZGluZyB0byBpbmZlcmVuY2UgdGhhdCBpcyB0b28gbGliZXJhbCBpbiBleHBlcmltZW50cyB3aXRoIHNtYWxsIHNhbXBsZSBzaXplCiAgMy4gc29tZXRpbWVzIHNhbXBsZSBsZXZlbCByYW5kb20gZWZmZWN0IHZhcmlhbmNlIGFyZSBlc3RpbWF0ZWQgdG8gYmUgemVybywgdGhlbiB0aGUgcHNldWRvLXJlcGxpY2F0aW9uIGlzIG5vdCBhZGRyZXNzZWQgbGVhZGluZyB0byBpbmZlcmVuY2UgdGhhdCBpcyB0b28gbGliZXJhbCBmb3IgdGhlc2Ugc3BlY2lmaWMgcHJvdGVpbnMKICA0LiB0aGV5IGFyZSBtdWNoIG1vcmUgZGlmZmljdWx0IHRvIGRpc3NlbWluYXRlIHRvIHVzZXJzIHdpdGggbGltaXRlZCBiYWNrZ3JvdW5kIGluIHN0YXRpc3RpY3MKCkhlbmNlLCBmb3IgdGhpcyBjb3Vyc2Ugd2Ugb3B0ZWQgdG8gdXNlIHBlcHRpZGUtbGV2ZWwgbW9kZWxzIGZvciBzdW1tYXJpemF0aW9uLCBidXQgbm90IGZvciBkaXJlY3RseSBpbmZlcnJpbmcgb24gdGhlIGRpZmZlcmVudGlhbCBleHByZXNzaW9uIGF0IHRoZSBwcm90ZWluLWxldmVsLiAKCiMgUmVmZXJlbmNlcwo=