Back to Multiple platform build/check report for BioC 3.21: simplified long |
|
This page was generated on 2025-08-04 11:47 -0400 (Mon, 04 Aug 2025).
Hostname | OS | Arch (*) | R version | Installed pkgs |
---|---|---|---|---|
nebbiolo1 | Linux (Ubuntu 24.04.2 LTS) | x86_64 | 4.5.1 (2025-06-13) -- "Great Square Root" | 4823 |
palomino7 | Windows Server 2022 Datacenter | x64 | 4.5.1 (2025-06-13 ucrt) -- "Great Square Root" | 4565 |
merida1 | macOS 12.7.5 Monterey | x86_64 | 4.5.1 RC (2025-06-05 r88288) -- "Great Square Root" | 4603 |
kjohnson1 | macOS 13.6.6 Ventura | arm64 | 4.5.1 Patched (2025-06-14 r88325) -- "Great Square Root" | 4544 |
kunpeng2 | Linux (openEuler 24.03 LTS) | aarch64 | R Under development (unstable) (2025-02-19 r87757) -- "Unsuffered Consequences" | 4579 |
Click on any hostname to see more info about the system (e.g. compilers) (*) as reported by 'uname -p', except on Windows and Mac OS X |
Package 855/2341 | Hostname | OS / Arch | INSTALL | BUILD | CHECK | BUILD BIN | ||||||||
GeomxTools 3.12.0 (landing page) Maddy Griswold
| nebbiolo1 | Linux (Ubuntu 24.04.2 LTS) / x86_64 | OK | OK | ERROR | |||||||||
palomino7 | Windows Server 2022 Datacenter / x64 | OK | OK | ERROR | OK | |||||||||
merida1 | macOS 12.7.5 Monterey / x86_64 | OK | OK | TIMEOUT | OK | |||||||||
kjohnson1 | macOS 13.6.6 Ventura / arm64 | OK | OK | ERROR | OK | |||||||||
kunpeng2 | Linux (openEuler 24.03 LTS) / aarch64 | OK | OK | OK | ||||||||||
To the developers/maintainers of the GeomxTools package: - Allow up to 24 hours (and sometimes 48 hours) for your latest push to git@git.bioconductor.org:packages/GeomxTools.git to reflect on this report. See Troubleshooting Build Report for more information. - Use the following Renviron settings to reproduce errors and warnings. - If 'R CMD check' started to fail recently on the Linux builder(s) over a missing dependency, add the missing dependency to 'Suggests:' in your DESCRIPTION file. See Renviron.bioc for more information. - See Martin Grigorov's blog post for how to debug Linux ARM64 related issues on a x86_64 host. |
Package: GeomxTools |
Version: 3.12.0 |
Command: /home/biocbuild/R/R/bin/R CMD check --install=check:GeomxTools.install-out.txt --library=/home/biocbuild/R/R/site-library --no-vignettes --timings GeomxTools_3.12.0.tar.gz |
StartedAt: 2025-08-01 09:49:02 -0000 (Fri, 01 Aug 2025) |
EndedAt: 2025-08-01 10:14:12 -0000 (Fri, 01 Aug 2025) |
EllapsedTime: 1509.9 seconds |
RetCode: 0 |
Status: OK |
CheckDir: GeomxTools.Rcheck |
Warnings: 0 |
############################################################################## ############################################################################## ### ### Running command: ### ### /home/biocbuild/R/R/bin/R CMD check --install=check:GeomxTools.install-out.txt --library=/home/biocbuild/R/R/site-library --no-vignettes --timings GeomxTools_3.12.0.tar.gz ### ############################################################################## ############################################################################## * using log directory ‘/home/biocbuild/bbs-3.21-bioc/meat/GeomxTools.Rcheck’ * using R Under development (unstable) (2025-02-19 r87757) * using platform: aarch64-unknown-linux-gnu * R was compiled by aarch64-unknown-linux-gnu-gcc (GCC) 14.2.0 GNU Fortran (GCC) 14.2.0 * running under: openEuler 24.03 (LTS-SP1) * using session charset: UTF-8 * using option ‘--no-vignettes’ * checking for file ‘GeomxTools/DESCRIPTION’ ... OK * this is package ‘GeomxTools’ version ‘3.12.0’ * package encoding: UTF-8 * checking package namespace information ... OK * checking package dependencies ... OK * checking if this is a source package ... OK * checking if there is a namespace ... OK * checking for hidden files and directories ... OK * checking for portable file names ... OK * checking for sufficient/correct file permissions ... OK * checking whether package ‘GeomxTools’ can be installed ... OK * checking installed package size ... INFO installed size is 19.4Mb sub-directories of 1Mb or more: extdata 18.4Mb * checking package directory ... OK * checking ‘build’ directory ... OK * checking DESCRIPTION meta-information ... NOTE License components which are templates and need '+ file LICENSE': MIT * checking top-level files ... NOTE File LICENSE is not mentioned in the DESCRIPTION file. * checking for left-over files ... OK * checking index information ... OK * checking package subdirectories ... OK * checking code files for non-ASCII characters ... OK * checking R files for syntax errors ... OK * checking whether the package can be loaded ... OK * checking whether the package can be loaded with stated dependencies ... OK * checking whether the package can be unloaded cleanly ... OK * checking whether the namespace can be loaded with stated dependencies ... OK * checking whether the namespace can be unloaded cleanly ... OK * checking loading without being on the library search path ... OK * checking dependencies in R code ... OK * checking S3 generic/method consistency ... OK * checking replacement functions ... OK * checking foreign function calls ... OK * checking R code for possible problems ... NOTE aggregateCounts: no visible binding for global variable ‘TargetName’ hkNorm: no visible binding for global variable ‘TargetName’ mixedModelDE: multiple local function definitions for ‘deFunc’ with different formal arguments qgrubbs: no visible global function definition for ‘qtable’ readPKCFile: no visible binding for global variable ‘RTS_ID’ readPKCFile: no visible binding for global variable ‘Module’ setGrubbsFlags: no visible binding for global variable ‘TargetName’ setGrubbsFlags : <anonymous>: no visible binding for global variable ‘Module’ setProbeRatioFlags: no visible binding for global variable ‘TargetName’ setTargetFlags: no visible global function definition for ‘analtye’ subtractBackground : <anonymous>: no visible binding for global variable ‘Module’ setSignatureFuncs<-,NanoStringGeoMxSet-character: no visible global function definition for ‘setSigFuncs<-’ signatureScores,NanoStringGeoMxSet: no visible global function definition for ‘assayDataElement2’ signatureScores,NanoStringGeoMxSet: no visible global function definition for ‘.sigCalc’ Undefined global functions or variables: .sigCalc Module RTS_ID TargetName analtye assayDataElement2 qtable setSigFuncs<- * checking Rd files ... OK * checking Rd metadata ... OK * checking Rd cross-references ... NOTE Found the following Rd file(s) with Rd \link{} targets missing package anchors: NanoStringGeoMxSet-class.Rd: ExpressionSet-class, AnnotatedDataFrame, MIAME, SignatureSet, ExpressionSet readPKCFile.Rd: DataFrame-class Please provide package anchors for all Rd \link{} targets not in the package itself and the base packages. * checking for missing documentation entries ... OK * checking for code/documentation mismatches ... OK * checking Rd \usage sections ... OK * checking Rd contents ... OK * checking for unstated dependencies in examples ... OK * checking files in ‘vignettes’ ... OK * checking examples ... OK Examples with CPU (user + system) or elapsed time > 5s user system elapsed mixedModelDE 94.607 1.096 96.952 normalize-NanoStringGeoMxSet-method 73.027 1.437 0.117 readNanoStringGeoMxSet 61.040 1.568 63.677 NanoStringGeoMxSet-class 24.381 0.339 24.912 writeNanoStringGeoMxSet 22.780 0.171 23.017 setBioProbeQCFlags 22.623 0.098 22.805 setQCFlags-NanoStringGeoMxSet-method 21.342 0.151 21.550 aggregateCounts 16.533 0.112 16.678 readPKCFile 12.554 0.121 12.813 as.SpatialExperiment 7.634 0.104 7.751 plotConcordance 6.327 0.444 6.904 * checking for unstated dependencies in ‘tests’ ... OK * checking tests ... Running ‘testthat.R’ OK * checking for unstated dependencies in vignettes ... OK * checking package vignettes ... OK * checking running R code from vignettes ... SKIPPED * checking re-building of vignette outputs ... SKIPPED * checking PDF version of manual ... OK * DONE Status: 4 NOTEs See ‘/home/biocbuild/bbs-3.21-bioc/meat/GeomxTools.Rcheck/00check.log’ for details.
GeomxTools.Rcheck/00install.out
############################################################################## ############################################################################## ### ### Running command: ### ### /home/biocbuild/R/R/bin/R CMD INSTALL GeomxTools ### ############################################################################## ############################################################################## * installing to library ‘/home/biocbuild/R/R-devel_2025-02-19/site-library’ * installing *source* package ‘GeomxTools’ ... ** this is package ‘GeomxTools’ version ‘3.12.0’ ** using staged installation ** R ** inst ** byte-compile and prepare package for lazy loading ** help *** installing help indices ** building package indices ** installing vignettes ** testing if installed package can be loaded from temporary location ** testing if installed package can be loaded from final location ** testing if installed package keeps a record of temporary installation path * DONE (GeomxTools)
GeomxTools.Rcheck/tests/testthat.Rout
R Under development (unstable) (2025-02-19 r87757) -- "Unsuffered Consequences" Copyright (C) 2025 The R Foundation for Statistical Computing Platform: aarch64-unknown-linux-gnu R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > library(testthat) > library(GeomxTools) Loading required package: Biobase Loading required package: BiocGenerics Loading required package: generics Attaching package: 'generics' The following objects are masked from 'package:base': as.difftime, as.factor, as.ordered, intersect, is.element, setdiff, setequal, union Attaching package: 'BiocGenerics' The following objects are masked from 'package:stats': IQR, mad, sd, var, xtabs The following objects are masked from 'package:base': Filter, Find, Map, Position, Reduce, anyDuplicated, aperm, append, as.data.frame, basename, cbind, colnames, dirname, do.call, duplicated, eval, evalq, get, grep, grepl, is.unsorted, lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank, rbind, rownames, sapply, saveRDS, table, tapply, unique, unsplit, which.max, which.min Welcome to Bioconductor Vignettes contain introductory material; view with 'browseVignettes()'. To cite Bioconductor, see 'citation("Biobase")', and for packages 'citation("pkgname")'. Loading required package: NanoStringNCTools Loading required package: S4Vectors Loading required package: stats4 Attaching package: 'S4Vectors' The following object is masked from 'package:utils': findMatches The following objects are masked from 'package:base': I, expand.grid, unname Loading required package: ggplot2 > > test_check("GeomxTools") Attaching package: 'EnvStats' The following objects are masked from 'package:stats': predict, predict.lm Coercing raw data, it is NOT recommended to use Seurat's normalization for GeoMx data. Loading required package: SeuratObject Loading required package: sp 'SeuratObject' was built with package 'Matrix' 1.7.2 but the current version is 1.7.3; it is recomended that you reinstall 'SeuratObject' as the ABI for 'Matrix' may have changed Attaching package: 'SeuratObject' The following object is masked from 'package:S4Vectors': intersect The following object is masked from 'package:BiocGenerics': intersect The following objects are masked from 'package:base': intersect, t Loading required package: SingleCellExperiment Loading required package: SummarizedExperiment Loading required package: MatrixGenerics Loading required package: matrixStats Attaching package: 'matrixStats' The following object is masked from 'package:EnvStats': iqr The following objects are masked from 'package:Biobase': anyMissing, rowMedians Attaching package: 'MatrixGenerics' The following objects are masked from 'package:matrixStats': colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse, colCounts, colCummaxs, colCummins, colCumprods, colCumsums, colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs, colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats, colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds, colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads, colWeightedMeans, colWeightedMedians, colWeightedSds, colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet, rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods, rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps, rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins, rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks, rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars, rowWeightedMads, rowWeightedMeans, rowWeightedMedians, rowWeightedSds, rowWeightedVars The following object is masked from 'package:Biobase': rowMedians Loading required package: GenomicRanges Loading required package: IRanges Attaching package: 'IRanges' The following object is masked from 'package:sp': %over% Loading required package: GenomeInfoDb Attaching package: 'SummarizedExperiment' The following object is masked from 'package:Seurat': Assays The following object is masked from 'package:SeuratObject': Assays Attaching package: 'SingleCellExperiment' The following object is masked from 'package:NanoStringNCTools': weights<- Loading required package: lme4 Loading required package: Matrix Attaching package: 'Matrix' The following object is masked from 'package:S4Vectors': expand Attaching package: 'lme4' The following object is masked from 'package:generics': refit Attaching package: 'lmerTest' The following object is masked from 'package:lme4': lmer The following object is masked from 'package:stats': step boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') boundary (singular) fit: see help('isSingular') [ FAIL 0 | WARN 1 | SKIP 0 | PASS 290 ] [ FAIL 0 | WARN 1 | SKIP 0 | PASS 290 ] > > proc.time() user system elapsed 943.890 11.391 994.136
GeomxTools.Rcheck/GeomxTools-Ex.timings
name | user | system | elapsed | |
NanoStringGeoMxSet-class | 24.381 | 0.339 | 24.912 | |
aggregateCounts | 16.533 | 0.112 | 16.678 | |
as.Seurat | 4.758 | 0.076 | 4.844 | |
as.SpatialExperiment | 7.634 | 0.104 | 7.751 | |
checkQCFlags-NanoStringGeoMxSet-method | 0.06 | 0.00 | 0.06 | |
checkQCFlags | 0.085 | 0.000 | 0.085 | |
computeNormalizationFactors | 0.021 | 0.000 | 0.023 | |
countsShiftedByOne | 0.058 | 0.000 | 0.058 | |
logtBase | 0 | 0 | 0 | |
mixedModelDE | 94.607 | 1.096 | 96.952 | |
ngeoMean | 0 | 0 | 0 | |
ngeoSD | 0 | 0 | 0 | |
normalize-NanoStringGeoMxSet-method | 73.027 | 1.437 | 0.117 | |
plotConcordance | 6.327 | 0.444 | 6.904 | |
plotNormFactorConcordance | 3.428 | 0.086 | 3.596 | |
qcProteinSignal | 0.207 | 0.007 | 0.215 | |
qcProteinSignalNames | 0.017 | 0.000 | 0.017 | |
readDccFile | 0.435 | 0.028 | 0.470 | |
readNanoStringGeoMxSet | 61.040 | 1.568 | 63.677 | |
readPKCFile | 12.554 | 0.121 | 12.813 | |
setBackgroundQCFlags | 0.146 | 0.000 | 0.147 | |
setBioProbeQCFlags | 22.623 | 0.098 | 22.805 | |
setGeoMxQCFlags | 0.084 | 0.000 | 0.084 | |
setQCFlags-NanoStringGeoMxSet-method | 21.342 | 0.151 | 21.550 | |
setSegmentQCFlags | 0.197 | 0.000 | 0.198 | |
setSeqQCFlags | 0.123 | 0.000 | 0.126 | |
shiftCountsOne | 0.085 | 0.004 | 0.090 | |
summarizeNegatives | 1.025 | 0.008 | 1.035 | |
writeNanoStringGeoMxSet | 22.780 | 0.171 | 23.017 | |