@sjcrh/proteinpaint-client 2.204.0 → 2.206.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (955) hide show
  1. package/dist/2dmaf-5OYM4MXA.js +1367 -0
  2. package/dist/AggMatrixInput-4VTI4Y6E.js +277 -0
  3. package/dist/AggregateMatrix-K7SGNO63.js +41 -0
  4. package/dist/AppHeader-WU6TO2OZ.js +830 -0
  5. package/dist/BoxPlot-OW7U3XTF.js +1211 -0
  6. package/dist/CorrelationVolcano-B3JTTZHF.js +614 -0
  7. package/dist/Cuminc-AJEXWRU2.js +1219 -0
  8. package/dist/DE-2J7DSRPC.js +89 -0
  9. package/dist/DE-2J7DSRPC.js.map +7 -0
  10. package/dist/DEinput-I7JWNOSD.js +499 -0
  11. package/dist/DEinput-I7JWNOSD.js.map +7 -0
  12. package/dist/DM-NQ46YPGF.js +90 -0
  13. package/dist/DM-NQ46YPGF.js.map +7 -0
  14. package/dist/DifferentialAnalysis-BFCQBX5J.js +237 -0
  15. package/dist/Disco-ZJLVQRTC.js +3389 -0
  16. package/dist/Disco.UI-AEDACXW2.js +243 -0
  17. package/dist/DmrPlot-QMRXAOM3.js +637 -0
  18. package/dist/GB-MFU2UJ22.js +1391 -0
  19. package/dist/GSEA-E3NHU22A.js +851 -0
  20. package/dist/GeneExpInput-MIUNSOPY.js +362 -0
  21. package/dist/Geomap-HAJG3STN.js +84 -0
  22. package/dist/HicApp-ECFFIRWI.js +2245 -0
  23. package/dist/IDCViewer-TNSD3U2V.js +10812 -0
  24. package/dist/NumBinaryEditor-CNBGZ6WY.js +279 -0
  25. package/dist/NumBinaryEditor.unit.spec-SKFDALF3.js +312 -0
  26. package/dist/NumContEditor-7ID2U7JL.js +105 -0
  27. package/dist/NumContEditor.unit.spec-XHSQSAWK.js +164 -0
  28. package/dist/NumCustomBinEditor-PAIPRJPO.js +33 -0
  29. package/dist/NumCustomBinEditor.unit.spec-QYVZMMHV.js +397 -0
  30. package/dist/NumDiscreteEditor-K2NZZQTH.js +170 -0
  31. package/dist/NumDiscreteEditor.unit.spec-3CG5VEQL.js +233 -0
  32. package/dist/NumRegularBinEditor-EOVZ22TP.js +33 -0
  33. package/dist/NumRegularBinEditor.unit.spec-FHTVH5FH.js +278 -0
  34. package/dist/NumSplineEditor-N3REMJUC.js +210 -0
  35. package/dist/NumSplineEditor.unit.spec-DZCP35GL.js +224 -0
  36. package/dist/NumericDensity-42MWVI2S.js +33 -0
  37. package/dist/NumericDensity.unit.spec-T2HHSQON.js +418 -0
  38. package/dist/NumericHandler-5XU3SSPD.js +34 -0
  39. package/dist/NumericHandler.unit.spec-3F23KSAQ.js +214 -0
  40. package/dist/ProteomeInput-UN2BUNRO.js +388 -0
  41. package/dist/Regression-HWLJENA5.js +1416 -0
  42. package/dist/RunChart2-YO55WE4M.js +749 -0
  43. package/dist/SC-LEDJ4DQR.js +1107 -0
  44. package/dist/Violin-E6PDJZ2B.js +1082 -0
  45. package/dist/Volcano-XJTBWYUK.js +1649 -0
  46. package/dist/Volcano-XJTBWYUK.js.map +7 -0
  47. package/dist/Wsi-S675CYTW.js +431 -0
  48. package/dist/adSandbox-ZJQ5ZW2T.js +33 -0
  49. package/dist/animatedBubbleChart-LRUS7W36.js +547 -0
  50. package/dist/app-7Q3QIBU4.js +32 -0
  51. package/dist/app-PKSI4MV5.js +42 -0
  52. package/dist/app.js +17 -17
  53. package/dist/bam-X5JH5ZT7.js +876 -0
  54. package/dist/barchart-UT6J4L2N.js +42 -0
  55. package/dist/barchart2-ZG5QJO3C.js +309 -0
  56. package/dist/block-TC466NGW.js +6249 -0
  57. package/dist/block.init-CIBNSYAC.js +33 -0
  58. package/dist/block.mds.expressionrank-EY5PCQCK.js +354 -0
  59. package/dist/block.mds.geneboxplot-R6AOMHO5.js +823 -0
  60. package/dist/block.mds.junction-JMV6FNYC.js +1539 -0
  61. package/dist/block.mds.svcnv-IHTV3QYG.js +6796 -0
  62. package/dist/block.svg-NTFLVQAQ.js +159 -0
  63. package/dist/block.tk.aicheck-FYPL32Y4.js +278 -0
  64. package/dist/block.tk.ase-FWCB6VBO.js +360 -0
  65. package/dist/block.tk.bam-Q5UFUABN.js +1901 -0
  66. package/dist/block.tk.bedgraphdot-KBI3GFDM.js +379 -0
  67. package/dist/block.tk.bigwig.ui-KXNFX7G7.js +206 -0
  68. package/dist/block.tk.hicstraw-MQBH3YAJ.js +818 -0
  69. package/dist/block.tk.junction-EBTVXLJH.js +2358 -0
  70. package/dist/block.tk.junction.textmatrixui-ETYLCP2O.js +194 -0
  71. package/dist/block.tk.ld-NLB6L6WQ.js +94 -0
  72. package/dist/block.tk.menu-PJLCOXVJ.js +1024 -0
  73. package/dist/block.tk.pgv-JOIQVWL2.js +938 -0
  74. package/dist/brainImaging-SPRC3QFB.js +515 -0
  75. package/dist/brainRegions-LGQGRWG7.js +217 -0
  76. package/dist/brainRegions-LGQGRWG7.js.map +7 -0
  77. package/dist/bubbleHeatmap-CFTZ5RXH.js +378 -0
  78. package/dist/cellTypeBubbleHeatmap-DXPLFT5U.js +278 -0
  79. package/dist/chunk-2BQ572SL.js +102 -0
  80. package/dist/chunk-2DQIQYY3.js +103 -0
  81. package/dist/chunk-2POQWEK6.js +134 -0
  82. package/dist/chunk-2SQEVMAL.js +446 -0
  83. package/dist/chunk-37HTZ6IG.js +158 -0
  84. package/dist/chunk-452765PG.js +2676 -0
  85. package/dist/chunk-4DXQJGJ7.js +31 -0
  86. package/dist/chunk-4OLM3KSB.js +2708 -0
  87. package/dist/chunk-4OLM3KSB.js.map +7 -0
  88. package/dist/chunk-54KC7DAB.js +178 -0
  89. package/dist/chunk-54KC7DAB.js.map +7 -0
  90. package/dist/chunk-5D5YTFI2.js +783 -0
  91. package/dist/chunk-5D5YTFI2.js.map +7 -0
  92. package/dist/chunk-5DBW3WLK.js +129 -0
  93. package/dist/chunk-5ILEFNXJ.js +402 -0
  94. package/dist/chunk-5UO7MKCO.js +59 -0
  95. package/dist/chunk-7R7P6VMT.js +243 -0
  96. package/dist/chunk-7X6NF7NI.js +96 -0
  97. package/dist/chunk-ANGLZ4XR.js +26 -0
  98. package/dist/chunk-BMQDU7KN.js +38 -0
  99. package/dist/chunk-C5TU4AYP.js +281 -0
  100. package/dist/chunk-DBQA6QIJ.js +4311 -0
  101. package/dist/chunk-DBQA6QIJ.js.map +7 -0
  102. package/dist/chunk-DHNET3P4.js +42 -0
  103. package/dist/chunk-EGKHDALO.js +382 -0
  104. package/dist/chunk-EPWGUWQP.js +34 -0
  105. package/dist/chunk-F3EYPES3.js +1339 -0
  106. package/dist/chunk-F4DM3WS4.js +194 -0
  107. package/dist/chunk-FTLCINDC.js +294 -0
  108. package/dist/chunk-GT6WJUJY.js +480 -0
  109. package/dist/chunk-GWCK5QGV.js +70 -0
  110. package/dist/chunk-HJSGHFJ6.js +464 -0
  111. package/dist/chunk-HS6BTSFX.js +49 -0
  112. package/dist/chunk-IB5TKNG5.js +5071 -0
  113. package/dist/chunk-IIMTOPH3.js +54 -0
  114. package/dist/chunk-ILEXRHF7.js +367 -0
  115. package/dist/chunk-ILEXRHF7.js.map +7 -0
  116. package/dist/chunk-IZUYLFOX.js +1608 -0
  117. package/dist/chunk-IZUYLFOX.js.map +7 -0
  118. package/dist/chunk-JAXN3Q3K.js +272 -0
  119. package/dist/chunk-K6PYTAXW.js +2853 -0
  120. package/dist/chunk-K6PYTAXW.js.map +7 -0
  121. package/dist/chunk-KIRZXPMB.js +141 -0
  122. package/dist/chunk-KT4OZVO3.js +1275 -0
  123. package/dist/chunk-KT4OZVO3.js.map +7 -0
  124. package/dist/chunk-L32KMIC3.js +54 -0
  125. package/dist/chunk-LB7NENEB.js +123 -0
  126. package/dist/chunk-LDWMVZYF.js +562 -0
  127. package/dist/chunk-M367Y7ML.js +140 -0
  128. package/dist/chunk-M4XXKTH2.js +339 -0
  129. package/dist/chunk-ME7OF3CS.js +176 -0
  130. package/dist/chunk-N2CXLMNX.js +626 -0
  131. package/dist/chunk-N7DVQTPC.js +119 -0
  132. package/dist/chunk-N7TD7N7D.js +518 -0
  133. package/dist/chunk-NBX6TT5C.js +299 -0
  134. package/dist/chunk-NLR7JIMM.js +1986 -0
  135. package/dist/chunk-NLR7JIMM.js.map +7 -0
  136. package/dist/chunk-NSRGYBDM.js +339 -0
  137. package/dist/chunk-NVS7KYYI.js +379 -0
  138. package/dist/chunk-OVPEMVXT.js +397 -0
  139. package/dist/chunk-OXWLQQXL.js +274 -0
  140. package/dist/chunk-Q5SK3U2T.js +24163 -0
  141. package/dist/chunk-Q5SK3U2T.js.map +7 -0
  142. package/dist/chunk-QGGSYEVJ.js +55 -0
  143. package/dist/chunk-QLEVONLD.js +50 -0
  144. package/dist/chunk-RFW5BRIZ.js +1233 -0
  145. package/dist/chunk-RFW5BRIZ.js.map +7 -0
  146. package/dist/chunk-RNWHB5DI.js +98 -0
  147. package/dist/chunk-RPDVFM7E.js +2133 -0
  148. package/dist/chunk-RPDVFM7E.js.map +7 -0
  149. package/dist/chunk-RUHLDUOT.js +203 -0
  150. package/dist/chunk-RV34WFGZ.js +197 -0
  151. package/dist/chunk-SDVE5ECI.js +6360 -0
  152. package/dist/chunk-SWO6DZTG.js +170 -0
  153. package/dist/chunk-SYPSS3JQ.js +387 -0
  154. package/dist/chunk-TDM3645O.js +2327 -0
  155. package/dist/chunk-VVO3R5JV.js +217 -0
  156. package/dist/chunk-VYEU6Y35.js +14 -0
  157. package/dist/chunk-WGXC6IEF.js +263 -0
  158. package/dist/chunk-WPDM57B5.js +1720 -0
  159. package/dist/chunk-WS7WKS2B.js +2784 -0
  160. package/dist/chunk-WTAPOH2W.js +22699 -0
  161. package/dist/chunk-WTAPOH2W.js.map +7 -0
  162. package/dist/chunk-X63NSV33.js +276 -0
  163. package/dist/chunk-XXNRSSBR.js +56 -0
  164. package/dist/chunk-YD6UGDFI.js +102 -0
  165. package/dist/chunk-YRIYDFNU.js +160 -0
  166. package/dist/chunk-YY5WQQ3J.js +194 -0
  167. package/dist/chunk-Z2ZITHT4.js +4195 -0
  168. package/dist/chunk-Z4SM3FBK.js +302 -0
  169. package/dist/chunk-ZEYEIUEZ.js +240 -0
  170. package/dist/chunk-ZLYTDHQP.js +677 -0
  171. package/dist/chunk-ZWCVRVV4.js +550 -0
  172. package/dist/cohort-FZNMFWOX.js +70 -0
  173. package/dist/condition-AJJLFCBQ.js +327 -0
  174. package/dist/controls-SZOLV37V.js +34 -0
  175. package/dist/controls.config-CVP75WFA.js +34 -0
  176. package/dist/correlation-UFJFQHQ3.js +95 -0
  177. package/dist/customdata.inputui-HOVA4A6O.js +284 -0
  178. package/dist/dataDownload-VTUG4IOK.js +329 -0
  179. package/dist/databrowser.ui-O5S4Y4EK.js +425 -0
  180. package/dist/dictionary-L2UNNNP7.js +113 -0
  181. package/dist/dnaMethylation-B4SWZI4O.js +33 -0
  182. package/dist/dnaMethylation.integration.spec-ANJAMNYJ.js +198 -0
  183. package/dist/dofetch-F5XSHQIS.js +48 -0
  184. package/dist/e2pca-66ARIMKL.js +344 -0
  185. package/dist/ep-OFGJYVUY.js +1249 -0
  186. package/dist/expclust.gdc.spec-22RXQTTP.js +302 -0
  187. package/dist/facet-GVZQ3RPN.js +519 -0
  188. package/dist/gb-HEPGVYEK.js +81 -0
  189. package/dist/geneExpClustering-3NU2U422.js +244 -0
  190. package/dist/geneExpression-FXQ4L2J2.js +310 -0
  191. package/dist/geneExpression-XYVYJJA5.js +33 -0
  192. package/dist/geneExpression.unit.spec-K3FIRSNK.js +99 -0
  193. package/dist/geneORA-5M2JSDMF.js +273 -0
  194. package/dist/geneRanking-TP3R3CS3.js +548 -0
  195. package/dist/geneVariant-232EYUFJ.js +36 -0
  196. package/dist/geneVariant-BHXTPUDC.js +286 -0
  197. package/dist/geneVariant.integration.spec-ICFHVFIR.js +388 -0
  198. package/dist/genefusion.ui-ABRCUQFC.js +303 -0
  199. package/dist/geneset-N42FIVA6.js +203 -0
  200. package/dist/genomeBrowser.spec-5HKQKLRU.js +276 -0
  201. package/dist/grin2-H2KJYLP6.js +1137 -0
  202. package/dist/grin2-NGMTEMXF.js +70 -0
  203. package/dist/hierCluster-JU5JPLM7.js +55 -0
  204. package/dist/hierCluster-LSSH275H.js +59 -0
  205. package/dist/hierCluster.config-ILOR7GBB.js +36 -0
  206. package/dist/hierCluster.integration.spec-CNR5OJOH.js +483 -0
  207. package/dist/hierCluster.interactivity-TLEIVTFK.js +49 -0
  208. package/dist/hierCluster.renderers-P7JNIT3N.js +19 -0
  209. package/dist/imagePlot-BF67SXQR.js +156 -0
  210. package/dist/importPlot-OHXSXNZN.js +8 -0
  211. package/dist/isoformExpression-4VKHE4HA.js +35 -0
  212. package/dist/isoformExpression.unit.spec-4TVSIFG4.js +237 -0
  213. package/dist/junction-VUHORV43.js +36 -0
  214. package/dist/junction.customTerm-FRYWSS4P.js +16 -0
  215. package/dist/junction.unit.spec-KKVLYT7Q.js +182 -0
  216. package/dist/launch.adhoc-UDYMFZTQ.js +37 -0
  217. package/dist/leftlabel.sample-R5FFBWG3.js +258 -0
  218. package/dist/legacyDataset-IEFWFVS6.js +117 -0
  219. package/dist/lollipop-3IX6ZYUN.js +166 -0
  220. package/dist/maf-42UFYSL4.js +455 -0
  221. package/dist/maftimeline-M5WYEN62.js +587 -0
  222. package/dist/matrix-CI76EDHU.js +54 -0
  223. package/dist/matrix-WJZKA6VR.js +59 -0
  224. package/dist/matrix.cells-ZFKVIPDC.js +26 -0
  225. package/dist/matrix.config-24TFHBEM.js +37 -0
  226. package/dist/matrix.data-NCGZPNWR.js +23 -0
  227. package/dist/matrix.groups-XQJTGM6M.js +26 -0
  228. package/dist/matrix.integration.spec-OGXZUDE6.js +3160 -0
  229. package/dist/matrix.interactivity-ZOOTPNSW.js +37 -0
  230. package/dist/matrix.layout-5J2YENK3.js +39 -0
  231. package/dist/matrix.legend-U36VCS46.js +20 -0
  232. package/dist/matrix.renderers-4KFE7ZVR.js +34 -0
  233. package/dist/matrix.serieses-AW7XBXLJ.js +19 -0
  234. package/dist/matrix.sort-7PMECLOE.js +26 -0
  235. package/dist/matrix.sort.unit.spec-GIA2YOTQ.js +468 -0
  236. package/dist/matrix.sorterUi-J6PRUT6J.js +16 -0
  237. package/dist/matrix.sorterUi.unit.spec-OPGKZZL6.js +338 -0
  238. package/dist/matrix.unit.spec-7UIVVR4T.js +150 -0
  239. package/dist/mavb-MSYUMT6W.js +727 -0
  240. package/dist/mds.fimo-OYEAQP37.js +513 -0
  241. package/dist/mds.samplescatterplot-EXISSRQQ.js +1545 -0
  242. package/dist/mds.survivalplot-SZST6BLN.js +477 -0
  243. package/dist/multivalue-YDE7L75Y.js +83 -0
  244. package/dist/numericDictTermCluster-5AKP6ICC.js +63 -0
  245. package/dist/oncomatrix-2OEIYWR6.js +290 -0
  246. package/dist/oncomatrix.spec-CXQW4JWU.js +443 -0
  247. package/dist/plot.2dvaf-LN7A3NNC.js +372 -0
  248. package/dist/plot.app-YIQOY2Z7.js +36 -0
  249. package/dist/plot.barplot-HF2J25XP.js +97 -0
  250. package/dist/plot.boxplot-YJH4L27U.js +146 -0
  251. package/dist/plot.brainImaging-PS4TRSPI.js +51 -0
  252. package/dist/plot.disco-BN5RNZ6Q.js +99 -0
  253. package/dist/plot.ssgq-N2HTOIY3.js +134 -0
  254. package/dist/plot.vaf2cov-6AOHRUQ2.js +253 -0
  255. package/dist/polar2-TC5OEJRE.js +232 -0
  256. package/dist/profileForms-5WV2TSBB.js +941 -0
  257. package/dist/profilePlot-OJLLW44P.js +49 -0
  258. package/dist/proteinView-CGNAJN4S.js +1357 -0
  259. package/dist/proteinView-CGNAJN4S.js.map +7 -0
  260. package/dist/proteomeCohortCompare-XXQGGVCF.js +912 -0
  261. package/dist/proteomeCohortCompare-XXQGGVCF.js.map +7 -0
  262. package/dist/pseudbulk.unit.spec-RAYRGN6C.js +86 -0
  263. package/dist/pseudobulk-ADHAYVSQ.js +35 -0
  264. package/dist/qualitative-JXEI3IYC.js +38 -0
  265. package/dist/radar2-BWTKSTT3.js +327 -0
  266. package/dist/radarFacility2-WIRSKTDG.js +335 -0
  267. package/dist/rememberedGvQ.unit.spec-N43O4YTF.js +211 -0
  268. package/dist/render-J7WOYBOL.js +33 -0
  269. package/dist/report-DRPCXX2B.js +217 -0
  270. package/dist/sampleView-BV6BQGGQ.js +43 -0
  271. package/dist/samplelst-ZD63EYO7.js +106 -0
  272. package/dist/samplematrix-ZZ3DVELU.js +2193 -0
  273. package/dist/sc-MUI43YTB.js +81 -0
  274. package/dist/scatter-7B44HTKN.js +88 -0
  275. package/dist/scatter-UEDVIE4Y.js +880 -0
  276. package/dist/selectGenomeWithTklst-WGOKGVZ5.js +129 -0
  277. package/dist/singleCellCellType-Z7OXK7PI.js +33 -0
  278. package/dist/singleCellCellType.unit.spec-IIOVCCJQ.js +154 -0
  279. package/dist/singleCellGeneExpression-LYZAIJ2Z.js +33 -0
  280. package/dist/singleCellGeneExpression.unit.spec-67AAWZTG.js +148 -0
  281. package/dist/singleCellPlot-TXPYQLSH.js +49 -0
  282. package/dist/singlecell-22OG6HNI.js +1566 -0
  283. package/dist/singlecell-7TBALI2S.js +81 -0
  284. package/dist/snp-3U2G3Z57.js +33 -0
  285. package/dist/snp.unit.spec-BMBBUBYD.js +171 -0
  286. package/dist/snplocus-SSVZDIQV.js +203 -0
  287. package/dist/spliceevent.a53ss.diagram-FK7CN4AU.js +146 -0
  288. package/dist/spliceevent.exonskip.diagram-EFLGV3O4.js +278 -0
  289. package/dist/spliceevent.noeventdiagram-2DYO7CCZ.js +455 -0
  290. package/dist/ssGSEA-52LWBQJP.js +33 -0
  291. package/dist/ssGSEA.unit.spec-3JV6WHUQ.js +83 -0
  292. package/dist/stattable-RLMYQ4G6.js +117 -0
  293. package/dist/studyCatalog-DKB3U7EV.js +414 -0
  294. package/dist/studyCatalog-DKB3U7EV.js.map +7 -0
  295. package/dist/summarizeCnvGeneexp-QPRYAKC2.js +158 -0
  296. package/dist/summarizeGeneexpSurvival-RWVQXEKB.js +105 -0
  297. package/dist/summarizeMutationCnv-DW5F6NUJ.js +159 -0
  298. package/dist/summarizeMutationDiagnosis-5FOQ7CHI.js +35 -0
  299. package/dist/summarizeMutationSurvival-4UKB4EVO.js +99 -0
  300. package/dist/summary-TYC6QNT4.js +42 -0
  301. package/dist/summary.integration.spec-5GLJJZNM.js +409 -0
  302. package/dist/summaryInput-4IJGKW4P.js +242 -0
  303. package/dist/sunburst-G7DGATWP.js +278 -0
  304. package/dist/survival-IHM6A7LL.js +1248 -0
  305. package/dist/survival-IHM6A7LL.js.map +7 -0
  306. package/dist/survival-MKNABJPU.js +53 -0
  307. package/dist/survival.integration.spec-THOKI3DL.js +613 -0
  308. package/dist/survival.integration.spec-THOKI3DL.js.map +7 -0
  309. package/dist/svgraph-VB7JWWR5.js +1382 -0
  310. package/dist/svmr-VLQIO2U5.js +3837 -0
  311. package/dist/table-EAXMDWOY.js +197 -0
  312. package/dist/termCollection-5LG7ICQY.js +252 -0
  313. package/dist/termCollection-SB6MWLFK.js +33 -0
  314. package/dist/termCollection.unit.spec-H5ITGTR3.js +299 -0
  315. package/dist/termCollectionFractionSelection-2XZSTDCQ.js +42 -0
  316. package/dist/termCollectionFractionSelection.unit.spec-BIO7V6KA.js +188 -0
  317. package/dist/tk-TRWYZLQ2.js +1121 -0
  318. package/dist/tk-VZI5HNSX.js +41 -0
  319. package/dist/tp.ui-J5SNNAT3.js +1454 -0
  320. package/dist/tvs.dt-6YHFJPER.js +34 -0
  321. package/dist/tvs.dtcnv.categorical-WTIE63GM.js +35 -0
  322. package/dist/tvs.dtcnv.continuous-OCMKGTF5.js +67 -0
  323. package/dist/tvs.dtfusion-CA23UNM3.js +35 -0
  324. package/dist/tvs.dtitd-VSYMR3OD.js +35 -0
  325. package/dist/tvs.dtsnvindel-YBNO3CYF.js +35 -0
  326. package/dist/tvs.dtsv-S743GBB5.js +35 -0
  327. package/dist/tvs.numeric-22AHXO5K.js +20 -0
  328. package/dist/tvs.samplelst-XAJO4EM6.js +98 -0
  329. package/dist/tvs.termCollection-QOVJGAUC.js +124 -0
  330. package/dist/vocabulary-6EADTHP3.js +36 -0
  331. package/dist/wsi.direct-2WB2NGC5.js +8184 -0
  332. package/dist/wsi.direct-2WB2NGC5.js.map +7 -0
  333. package/package.json +3 -3
  334. package/dist/2dmaf-JIY57FG6.js +0 -1367
  335. package/dist/AIProjectAdmin-DGTBIE6E.js +0 -952
  336. package/dist/AIProjectAdmin-DGTBIE6E.js.map +0 -7
  337. package/dist/AggMatrixInput-FH6WRTLP.js +0 -277
  338. package/dist/AggregateMatrix-MGEX5AVF.js +0 -41
  339. package/dist/AppHeader-FFOQFH55.js +0 -830
  340. package/dist/BoxPlot-KCY4JVRX.js +0 -1211
  341. package/dist/CorrelationVolcano-E5URKQSM.js +0 -614
  342. package/dist/Cuminc-CBPMCKIC.js +0 -1219
  343. package/dist/DE-VANPWKZI.js +0 -88
  344. package/dist/DE-VANPWKZI.js.map +0 -7
  345. package/dist/DEinput-MONPHDB2.js +0 -405
  346. package/dist/DEinput-MONPHDB2.js.map +0 -7
  347. package/dist/DifferentialAnalysis-XRBS4PZI.js +0 -237
  348. package/dist/Disco-V2VJIDWG.js +0 -3389
  349. package/dist/Disco.UI-OEF5JXBU.js +0 -243
  350. package/dist/DmrPlot-KZUWJWBD.js +0 -637
  351. package/dist/GB-IYTEMMU7.js +0 -1391
  352. package/dist/GSEA-QB62B5KB.js +0 -851
  353. package/dist/GeneExpInput-CXX7SXMQ.js +0 -362
  354. package/dist/Geomap-QNHSCN4N.js +0 -84
  355. package/dist/HicApp-UIULZYYJ.js +0 -2245
  356. package/dist/IDCViewer-B2JENGZZ.js +0 -10812
  357. package/dist/NumBinaryEditor-JOU2J23M.js +0 -279
  358. package/dist/NumBinaryEditor.unit.spec-UXZBBVWL.js +0 -312
  359. package/dist/NumContEditor-BJGP4PVS.js +0 -105
  360. package/dist/NumContEditor.unit.spec-HEXOYIXC.js +0 -164
  361. package/dist/NumCustomBinEditor-HDRTVWNK.js +0 -33
  362. package/dist/NumCustomBinEditor.unit.spec-MN6QZ3ZB.js +0 -397
  363. package/dist/NumDiscreteEditor-JUBR45IJ.js +0 -170
  364. package/dist/NumDiscreteEditor.unit.spec-SDK2LR5B.js +0 -233
  365. package/dist/NumRegularBinEditor-AQPRZ3MI.js +0 -33
  366. package/dist/NumRegularBinEditor.unit.spec-GM3SFB2N.js +0 -278
  367. package/dist/NumSplineEditor-LYLROEGE.js +0 -210
  368. package/dist/NumSplineEditor.unit.spec-3Q2HP6IB.js +0 -224
  369. package/dist/NumericDensity-3ZCDZORO.js +0 -33
  370. package/dist/NumericDensity.unit.spec-MNIAR2PR.js +0 -418
  371. package/dist/NumericHandler-MUNEB5IS.js +0 -34
  372. package/dist/NumericHandler.unit.spec-KPWG2T27.js +0 -214
  373. package/dist/ProteomeInput-NEUHQ2G4.js +0 -388
  374. package/dist/Regression-C75T5LOY.js +0 -1416
  375. package/dist/RunChart2-CMQ2BBSJ.js +0 -749
  376. package/dist/SC-HYK26DXI.js +0 -1107
  377. package/dist/Violin-J5Z3NKMU.js +0 -1082
  378. package/dist/Volcano-VZGOJFM7.js +0 -1573
  379. package/dist/Volcano-VZGOJFM7.js.map +0 -7
  380. package/dist/WSIViewer-EEKHINZU.js +0 -18892
  381. package/dist/WSIViewer-EEKHINZU.js.map +0 -7
  382. package/dist/Wsi-ZP36MKK7.js +0 -431
  383. package/dist/WsiSamplesPlot-6G3U7U5L.js +0 -160
  384. package/dist/WsiSamplesPlot-6G3U7U5L.js.map +0 -7
  385. package/dist/adSandbox-W4THMDUI.js +0 -33
  386. package/dist/animatedBubbleChart-2IVR2WC3.js +0 -547
  387. package/dist/app-LAIPU5IO.js +0 -42
  388. package/dist/app-WMRDJINC.js +0 -32
  389. package/dist/bam-44WCWB5P.js +0 -876
  390. package/dist/barchart-P6XKCJRF.js +0 -42
  391. package/dist/barchart2-5NTYCQYN.js +0 -309
  392. package/dist/block-VEOD6CP4.js +0 -6249
  393. package/dist/block.init-RCPDUYAV.js +0 -33
  394. package/dist/block.mds.expressionrank-KALPK27B.js +0 -354
  395. package/dist/block.mds.geneboxplot-ZASU25BG.js +0 -823
  396. package/dist/block.mds.junction-DCVGVSYG.js +0 -1539
  397. package/dist/block.mds.svcnv-CEGYMRSE.js +0 -6796
  398. package/dist/block.svg-AW4E7NSS.js +0 -159
  399. package/dist/block.tk.aicheck-4ZPFLI5I.js +0 -278
  400. package/dist/block.tk.ase-F3VMNBE3.js +0 -360
  401. package/dist/block.tk.bam-3VDSEMVO.js +0 -1901
  402. package/dist/block.tk.bedgraphdot-3F6AMWFD.js +0 -379
  403. package/dist/block.tk.bigwig.ui-QO334QC3.js +0 -206
  404. package/dist/block.tk.hicstraw-VA7GNOOD.js +0 -818
  405. package/dist/block.tk.junction-7WIZ63R7.js +0 -2358
  406. package/dist/block.tk.junction.textmatrixui-ZHSVODGI.js +0 -194
  407. package/dist/block.tk.ld-JME4SP6A.js +0 -94
  408. package/dist/block.tk.menu-7BFQTH3Q.js +0 -1024
  409. package/dist/block.tk.pgv-C2N7UFYT.js +0 -938
  410. package/dist/brainImaging-6XFUKFZE.js +0 -515
  411. package/dist/brainRegions-SEMS7V4O.js +0 -216
  412. package/dist/brainRegions-SEMS7V4O.js.map +0 -7
  413. package/dist/bubbleHeatmap-YO4232WO.js +0 -378
  414. package/dist/cellTypeBubbleHeatmap-GM4BGCQ3.js +0 -278
  415. package/dist/chunk-2YDQC5BV.js +0 -562
  416. package/dist/chunk-3QMXNK7G.js +0 -379
  417. package/dist/chunk-4C2N2BQC.js +0 -6360
  418. package/dist/chunk-4Q46RDNU.js +0 -34
  419. package/dist/chunk-4YEDSMFX.js +0 -123
  420. package/dist/chunk-56HEUYYM.js +0 -2891
  421. package/dist/chunk-56HEUYYM.js.map +0 -7
  422. package/dist/chunk-5VMEMA4O.js +0 -158
  423. package/dist/chunk-66BJC6ZX.js +0 -217
  424. package/dist/chunk-6JBLNS4D.js +0 -387
  425. package/dist/chunk-6RN4RVKF.js +0 -480
  426. package/dist/chunk-6SKLD7JU.js +0 -59
  427. package/dist/chunk-7C45EYL6.js +0 -274
  428. package/dist/chunk-7RX5UEF3.js +0 -24193
  429. package/dist/chunk-7RX5UEF3.js.map +0 -7
  430. package/dist/chunk-AAM7HHPU.js +0 -103
  431. package/dist/chunk-AFMD6226.js +0 -240
  432. package/dist/chunk-AK3SW3VT.js +0 -176
  433. package/dist/chunk-BBYVVPEO.js +0 -1271
  434. package/dist/chunk-BBYVVPEO.js.map +0 -7
  435. package/dist/chunk-BEJJS2HC.js +0 -194
  436. package/dist/chunk-BMVRYEN2.js +0 -397
  437. package/dist/chunk-BZYTL2EU.js +0 -294
  438. package/dist/chunk-CLOHFGFX.js +0 -14
  439. package/dist/chunk-D6G64XPJ.js +0 -96
  440. package/dist/chunk-DAJT3XVZ.js +0 -31
  441. package/dist/chunk-DKPV7GCZ.js +0 -7966
  442. package/dist/chunk-DKPV7GCZ.js.map +0 -7
  443. package/dist/chunk-DMT6S5HJ.js +0 -5071
  444. package/dist/chunk-DO4SLQNP.js +0 -194
  445. package/dist/chunk-DUGOFIQS.js +0 -464
  446. package/dist/chunk-E3O6ZEWQ.js +0 -129
  447. package/dist/chunk-EJ3SSI5J.js +0 -382
  448. package/dist/chunk-FSDY4QVA.js +0 -272
  449. package/dist/chunk-FUEJFIQX.js +0 -203
  450. package/dist/chunk-FUSTNOQZ.js +0 -2130
  451. package/dist/chunk-FUSTNOQZ.js.map +0 -7
  452. package/dist/chunk-GAW2EETX.js +0 -281
  453. package/dist/chunk-GF6CKFXE.js +0 -1720
  454. package/dist/chunk-GI3RVOO4.js +0 -339
  455. package/dist/chunk-GQ6T62VJ.js +0 -141
  456. package/dist/chunk-GTMHDSOQ.js +0 -550
  457. package/dist/chunk-H555QBYP.js +0 -243
  458. package/dist/chunk-HDTFYTEL.js +0 -2694
  459. package/dist/chunk-HDTFYTEL.js.map +0 -7
  460. package/dist/chunk-HKQDZKSF.js +0 -119
  461. package/dist/chunk-HLZVDBAI.js +0 -1985
  462. package/dist/chunk-HLZVDBAI.js.map +0 -7
  463. package/dist/chunk-HWMZ2OHD.js +0 -49
  464. package/dist/chunk-JG6SE6YU.js +0 -1339
  465. package/dist/chunk-JSVLKCIQ.js +0 -160
  466. package/dist/chunk-JVRGY6IU.js +0 -54
  467. package/dist/chunk-JXUFZZRJ.js +0 -626
  468. package/dist/chunk-K5YG7MVJ.js +0 -2676
  469. package/dist/chunk-KAUMP3RR.js +0 -56
  470. package/dist/chunk-KLGNLUXR.js +0 -518
  471. package/dist/chunk-KWLBPOPE.js +0 -38
  472. package/dist/chunk-L42F5J5C.js +0 -185
  473. package/dist/chunk-L42F5J5C.js.map +0 -7
  474. package/dist/chunk-LXTBOUBG.js +0 -677
  475. package/dist/chunk-MCRWA655.js +0 -98
  476. package/dist/chunk-NGBQL4CM.js +0 -54
  477. package/dist/chunk-OKUFTLFL.js +0 -4297
  478. package/dist/chunk-OKUFTLFL.js.map +0 -7
  479. package/dist/chunk-ONXYJWY6.js +0 -102
  480. package/dist/chunk-OYHID2D7.js +0 -50
  481. package/dist/chunk-PT5JDHPR.js +0 -42
  482. package/dist/chunk-PZZIDJIB.js +0 -806
  483. package/dist/chunk-PZZIDJIB.js.map +0 -7
  484. package/dist/chunk-S5SOLLGM.js +0 -1654
  485. package/dist/chunk-S5SOLLGM.js.map +0 -7
  486. package/dist/chunk-S6XG74R4.js +0 -70
  487. package/dist/chunk-TAEU6SPJ.js +0 -197
  488. package/dist/chunk-UBZRZ3PS.js +0 -102
  489. package/dist/chunk-UM5NWVMA.js +0 -140
  490. package/dist/chunk-VHDVTQFR.js +0 -2784
  491. package/dist/chunk-VRY7WSS6.js +0 -170
  492. package/dist/chunk-VSPUFGDX.js +0 -339
  493. package/dist/chunk-VVDFRJVN.js +0 -306
  494. package/dist/chunk-VVDFRJVN.js.map +0 -7
  495. package/dist/chunk-WFOC4W5A.js +0 -55
  496. package/dist/chunk-WVPFLPWB.js +0 -402
  497. package/dist/chunk-WZUUWGEU.js +0 -22834
  498. package/dist/chunk-WZUUWGEU.js.map +0 -7
  499. package/dist/chunk-X7IAKV5Z.js +0 -276
  500. package/dist/chunk-XHOL37O6.js +0 -299
  501. package/dist/chunk-XJGPL2JZ.js +0 -39
  502. package/dist/chunk-XJGPL2JZ.js.map +0 -7
  503. package/dist/chunk-XPB2GP3C.js +0 -2327
  504. package/dist/chunk-XPVU5AMT.js +0 -263
  505. package/dist/chunk-YLJOZP4P.js +0 -4195
  506. package/dist/chunk-YLWSTPPL.js +0 -302
  507. package/dist/chunk-YZVWOQBP.js +0 -134
  508. package/dist/chunk-ZB3RP5QP.js +0 -446
  509. package/dist/chunk-ZU47ERPU.js +0 -26
  510. package/dist/cohort-ZTT2PSQA.js +0 -70
  511. package/dist/condition-L5DXIAJT.js +0 -327
  512. package/dist/controls-ROZP2O7A.js +0 -34
  513. package/dist/controls.config-YQKGHMIP.js +0 -34
  514. package/dist/correlation-6AKRIQXN.js +0 -95
  515. package/dist/customdata.inputui-DD3OFHUS.js +0 -284
  516. package/dist/dataDownload-VHHSLSZV.js +0 -329
  517. package/dist/databrowser.ui-RLYJOEWQ.js +0 -425
  518. package/dist/dictionary-IMOOQHIH.js +0 -113
  519. package/dist/dnaMethylation-T6XUIOJF.js +0 -33
  520. package/dist/dnaMethylation.integration.spec-NRJOIDRD.js +0 -198
  521. package/dist/dofetch-MLAEV3A2.js +0 -48
  522. package/dist/e2pca-F3TGJOMW.js +0 -344
  523. package/dist/ep-UAF6OL2Y.js +0 -1249
  524. package/dist/expclust.gdc.spec-GHH3JQ65.js +0 -302
  525. package/dist/facet-MB4C7GII.js +0 -519
  526. package/dist/gb-C5YSAFWP.js +0 -81
  527. package/dist/geneExpClustering-3BRSI5BR.js +0 -244
  528. package/dist/geneExpression-K3IZLSYC.js +0 -310
  529. package/dist/geneExpression-SIAPRA3E.js +0 -33
  530. package/dist/geneExpression.unit.spec-I66QVNT5.js +0 -99
  531. package/dist/geneORA-SLM3SNNS.js +0 -273
  532. package/dist/geneRanking-4EFYOR6A.js +0 -548
  533. package/dist/geneVariant-O347F2OY.js +0 -286
  534. package/dist/geneVariant-Z3BUIBLS.js +0 -36
  535. package/dist/geneVariant.integration.spec-ZZ65EYEL.js +0 -388
  536. package/dist/genefusion.ui-TK6UKPDR.js +0 -303
  537. package/dist/geneset-MVXSEOKZ.js +0 -203
  538. package/dist/genomeBrowser.spec-QDB4Z2L6.js +0 -276
  539. package/dist/grin2-DCU6PLPU.js +0 -70
  540. package/dist/grin2-P6Z45MCJ.js +0 -1137
  541. package/dist/hierCluster-3H47NLKS.js +0 -55
  542. package/dist/hierCluster-JG6VXTCV.js +0 -59
  543. package/dist/hierCluster.config-IP6I7RTS.js +0 -36
  544. package/dist/hierCluster.integration.spec-7PUNHRRS.js +0 -483
  545. package/dist/hierCluster.interactivity-FIDVRACV.js +0 -49
  546. package/dist/hierCluster.renderers-QMJWUPAI.js +0 -19
  547. package/dist/imagePlot-CXYKBCWS.js +0 -156
  548. package/dist/importPlot-Z4A54RXH.js +0 -8
  549. package/dist/isoformExpression-DMDV2PZY.js +0 -35
  550. package/dist/isoformExpression.unit.spec-W2LIYOXS.js +0 -237
  551. package/dist/junction-R5GMEO7Z.js +0 -36
  552. package/dist/junction.customTerm-AI44GNFV.js +0 -16
  553. package/dist/junction.unit.spec-SCRCANOC.js +0 -182
  554. package/dist/launch.adhoc-THLTYZJT.js +0 -37
  555. package/dist/leftlabel.sample-GKQXEY4J.js +0 -258
  556. package/dist/legacyDataset-27L4DMCL.js +0 -117
  557. package/dist/lollipop-2TW6GGPY.js +0 -166
  558. package/dist/maf-A4PVW5V2.js +0 -455
  559. package/dist/maftimeline-QMX3HOAU.js +0 -587
  560. package/dist/matrix-BGRYRU3T.js +0 -54
  561. package/dist/matrix-GPXTUVCQ.js +0 -59
  562. package/dist/matrix.cells-C6OY7F5T.js +0 -26
  563. package/dist/matrix.config-Z5ZGHXDV.js +0 -37
  564. package/dist/matrix.data-WB26I3TF.js +0 -23
  565. package/dist/matrix.groups-C2V2CV4A.js +0 -26
  566. package/dist/matrix.integration.spec-3COAXQBV.js +0 -3160
  567. package/dist/matrix.interactivity-NGHIQR3A.js +0 -37
  568. package/dist/matrix.layout-NYIOESGN.js +0 -39
  569. package/dist/matrix.legend-Q5HHWP5Q.js +0 -20
  570. package/dist/matrix.renderers-GLXZARIP.js +0 -34
  571. package/dist/matrix.serieses-LDQEPXPD.js +0 -19
  572. package/dist/matrix.sort-44TQNRIX.js +0 -26
  573. package/dist/matrix.sort.unit.spec-T3BDWJ3Z.js +0 -468
  574. package/dist/matrix.sorterUi-6Y4YBQYL.js +0 -16
  575. package/dist/matrix.sorterUi.unit.spec-NHUYNMNU.js +0 -338
  576. package/dist/matrix.unit.spec-C7IRIBN6.js +0 -150
  577. package/dist/mavb-E37LI73X.js +0 -727
  578. package/dist/mds.fimo-YTGX7VEN.js +0 -513
  579. package/dist/mds.samplescatterplot-FFGGJSI3.js +0 -1545
  580. package/dist/mds.survivalplot-NCWRXXV4.js +0 -477
  581. package/dist/multivalue-N7A2PU5K.js +0 -83
  582. package/dist/numericDictTermCluster-AKQKRBQH.js +0 -63
  583. package/dist/oncomatrix-QPVGACMF.js +0 -290
  584. package/dist/oncomatrix.spec-6L2NDN2G.js +0 -443
  585. package/dist/plot.2dvaf-6TLON77B.js +0 -372
  586. package/dist/plot.app-VM273TXU.js +0 -36
  587. package/dist/plot.barplot-IQTZURHK.js +0 -97
  588. package/dist/plot.boxplot-WEXB6HII.js +0 -146
  589. package/dist/plot.brainImaging-REGSSBHV.js +0 -51
  590. package/dist/plot.disco-F25Z3FQL.js +0 -99
  591. package/dist/plot.ssgq-CRRK26RS.js +0 -134
  592. package/dist/plot.vaf2cov-WCNPZKXK.js +0 -253
  593. package/dist/plot.wsi-6OAPT5BA.js +0 -36
  594. package/dist/plot.wsi-6OAPT5BA.js.map +0 -7
  595. package/dist/polar2-MH5GPXHJ.js +0 -232
  596. package/dist/profileForms-2YX2OYDI.js +0 -941
  597. package/dist/profilePlot-FUTMZ2PP.js +0 -49
  598. package/dist/proteinView-6Z4ALZW2.js +0 -1562
  599. package/dist/proteinView-6Z4ALZW2.js.map +0 -7
  600. package/dist/proteomeCohortCompare-6GLFOYI5.js +0 -780
  601. package/dist/proteomeCohortCompare-6GLFOYI5.js.map +0 -7
  602. package/dist/pseudbulk.unit.spec-S7FDL3IX.js +0 -86
  603. package/dist/pseudobulk-A3LB23N2.js +0 -35
  604. package/dist/qualitative-5VJRMF4S.js +0 -38
  605. package/dist/radar2-2SJX4ZXN.js +0 -327
  606. package/dist/radarFacility2-7FPO34JS.js +0 -335
  607. package/dist/rememberedGvQ.unit.spec-WOQVPQ75.js +0 -211
  608. package/dist/render-ZLA2RRBP.js +0 -33
  609. package/dist/report-VCE6RILD.js +0 -217
  610. package/dist/sampleView-QYTX4OLI.js +0 -43
  611. package/dist/samplelst-7NGH3SUM.js +0 -106
  612. package/dist/samplematrix-SNAR6IBB.js +0 -2193
  613. package/dist/sc-2JETYAI4.js +0 -81
  614. package/dist/scatter-D7VZOBEE.js +0 -880
  615. package/dist/scatter-GHBQM2RR.js +0 -88
  616. package/dist/selectGenomeWithTklst-BD4GMGX3.js +0 -129
  617. package/dist/singleCellCellType-XHLOJVVC.js +0 -33
  618. package/dist/singleCellCellType.unit.spec-LCLR3IOD.js +0 -154
  619. package/dist/singleCellGeneExpression-JRBONI5C.js +0 -33
  620. package/dist/singleCellGeneExpression.unit.spec-Z2KSVCIG.js +0 -148
  621. package/dist/singleCellPlot-4462CQHF.js +0 -49
  622. package/dist/singlecell-CDUQ6MTO.js +0 -81
  623. package/dist/singlecell-SO3B5KJ7.js +0 -1566
  624. package/dist/snp-YE2MXKJO.js +0 -33
  625. package/dist/snp.unit.spec-MT57TGGQ.js +0 -171
  626. package/dist/snplocus-RSNKWY63.js +0 -203
  627. package/dist/spliceevent.a53ss.diagram-6N6YGYV7.js +0 -146
  628. package/dist/spliceevent.exonskip.diagram-LMNUS4XV.js +0 -278
  629. package/dist/spliceevent.noeventdiagram-LTBH4YD5.js +0 -455
  630. package/dist/ssGSEA-DPK4PDM2.js +0 -33
  631. package/dist/ssGSEA.unit.spec-K2SA7ME7.js +0 -83
  632. package/dist/stattable-PR47XT4F.js +0 -117
  633. package/dist/studyCatalog-GMUWIUL4.js +0 -378
  634. package/dist/studyCatalog-GMUWIUL4.js.map +0 -7
  635. package/dist/summarizeCnvGeneexp-YZEMDLES.js +0 -158
  636. package/dist/summarizeGeneexpSurvival-3TXV6ZNI.js +0 -105
  637. package/dist/summarizeMutationCnv-EBWSEHWJ.js +0 -159
  638. package/dist/summarizeMutationDiagnosis-FXA25W3O.js +0 -35
  639. package/dist/summarizeMutationSurvival-MR4AOMNS.js +0 -99
  640. package/dist/summary-4C6LGTMF.js +0 -42
  641. package/dist/summary.integration.spec-Y6JLH7NH.js +0 -409
  642. package/dist/summaryInput-NWT2DXWU.js +0 -242
  643. package/dist/sunburst-266MA7E2.js +0 -278
  644. package/dist/survival-CAZCIY2N.js +0 -53
  645. package/dist/survival-EILGNIY7.js +0 -1246
  646. package/dist/survival-EILGNIY7.js.map +0 -7
  647. package/dist/survival.integration.spec-34JJVLLI.js +0 -613
  648. package/dist/survival.integration.spec-34JJVLLI.js.map +0 -7
  649. package/dist/svgraph-OFUESREM.js +0 -1382
  650. package/dist/svmr-PVH42MY4.js +0 -3837
  651. package/dist/table-C2SICFZV.js +0 -197
  652. package/dist/termCollection-H4RL5WJG.js +0 -33
  653. package/dist/termCollection-TGYDI7NP.js +0 -252
  654. package/dist/termCollection.unit.spec-JSALS7GL.js +0 -299
  655. package/dist/termCollectionFractionSelection-YJVDNV4I.js +0 -42
  656. package/dist/termCollectionFractionSelection.unit.spec-4GM7P4ZW.js +0 -188
  657. package/dist/tk-RZCPSHJG.js +0 -1121
  658. package/dist/tk-SNTRA5CC.js +0 -41
  659. package/dist/tp.ui-2W4K3XH6.js +0 -1454
  660. package/dist/tvs.dt-GIPVC3R6.js +0 -34
  661. package/dist/tvs.dtcnv.categorical-TEYAS4OU.js +0 -35
  662. package/dist/tvs.dtcnv.continuous-VQRATYPZ.js +0 -67
  663. package/dist/tvs.dtfusion-P2KF5Z4H.js +0 -35
  664. package/dist/tvs.dtitd-TM6UROSH.js +0 -35
  665. package/dist/tvs.dtsnvindel-FZXC23NF.js +0 -35
  666. package/dist/tvs.dtsv-Y5QEJPYG.js +0 -35
  667. package/dist/tvs.numeric-3UXW4JHJ.js +0 -20
  668. package/dist/tvs.samplelst-MLAFPFER.js +0 -98
  669. package/dist/tvs.termCollection-ZQQDKESH.js +0 -124
  670. package/dist/vocabulary-JRUZPHMG.js +0 -36
  671. package/dist/wsi.direct-6QYNXOBY.js +0 -244
  672. package/dist/wsi.direct-6QYNXOBY.js.map +0 -7
  673. /package/dist/{2dmaf-JIY57FG6.js.map → 2dmaf-5OYM4MXA.js.map} +0 -0
  674. /package/dist/{AggMatrixInput-FH6WRTLP.js.map → AggMatrixInput-4VTI4Y6E.js.map} +0 -0
  675. /package/dist/{AggregateMatrix-MGEX5AVF.js.map → AggregateMatrix-K7SGNO63.js.map} +0 -0
  676. /package/dist/{AppHeader-FFOQFH55.js.map → AppHeader-WU6TO2OZ.js.map} +0 -0
  677. /package/dist/{BoxPlot-KCY4JVRX.js.map → BoxPlot-OW7U3XTF.js.map} +0 -0
  678. /package/dist/{CorrelationVolcano-E5URKQSM.js.map → CorrelationVolcano-B3JTTZHF.js.map} +0 -0
  679. /package/dist/{Cuminc-CBPMCKIC.js.map → Cuminc-AJEXWRU2.js.map} +0 -0
  680. /package/dist/{DifferentialAnalysis-XRBS4PZI.js.map → DifferentialAnalysis-BFCQBX5J.js.map} +0 -0
  681. /package/dist/{Disco-V2VJIDWG.js.map → Disco-ZJLVQRTC.js.map} +0 -0
  682. /package/dist/{Disco.UI-OEF5JXBU.js.map → Disco.UI-AEDACXW2.js.map} +0 -0
  683. /package/dist/{DmrPlot-KZUWJWBD.js.map → DmrPlot-QMRXAOM3.js.map} +0 -0
  684. /package/dist/{GB-IYTEMMU7.js.map → GB-MFU2UJ22.js.map} +0 -0
  685. /package/dist/{GSEA-QB62B5KB.js.map → GSEA-E3NHU22A.js.map} +0 -0
  686. /package/dist/{GeneExpInput-CXX7SXMQ.js.map → GeneExpInput-MIUNSOPY.js.map} +0 -0
  687. /package/dist/{Geomap-QNHSCN4N.js.map → Geomap-HAJG3STN.js.map} +0 -0
  688. /package/dist/{HicApp-UIULZYYJ.js.map → HicApp-ECFFIRWI.js.map} +0 -0
  689. /package/dist/{IDCViewer-B2JENGZZ.js.map → IDCViewer-TNSD3U2V.js.map} +0 -0
  690. /package/dist/{NumBinaryEditor-JOU2J23M.js.map → NumBinaryEditor-CNBGZ6WY.js.map} +0 -0
  691. /package/dist/{NumBinaryEditor.unit.spec-UXZBBVWL.js.map → NumBinaryEditor.unit.spec-SKFDALF3.js.map} +0 -0
  692. /package/dist/{NumContEditor-BJGP4PVS.js.map → NumContEditor-7ID2U7JL.js.map} +0 -0
  693. /package/dist/{NumContEditor.unit.spec-HEXOYIXC.js.map → NumContEditor.unit.spec-XHSQSAWK.js.map} +0 -0
  694. /package/dist/{NumCustomBinEditor-HDRTVWNK.js.map → NumCustomBinEditor-PAIPRJPO.js.map} +0 -0
  695. /package/dist/{NumCustomBinEditor.unit.spec-MN6QZ3ZB.js.map → NumCustomBinEditor.unit.spec-QYVZMMHV.js.map} +0 -0
  696. /package/dist/{NumDiscreteEditor-JUBR45IJ.js.map → NumDiscreteEditor-K2NZZQTH.js.map} +0 -0
  697. /package/dist/{NumDiscreteEditor.unit.spec-SDK2LR5B.js.map → NumDiscreteEditor.unit.spec-3CG5VEQL.js.map} +0 -0
  698. /package/dist/{NumRegularBinEditor-AQPRZ3MI.js.map → NumRegularBinEditor-EOVZ22TP.js.map} +0 -0
  699. /package/dist/{NumRegularBinEditor.unit.spec-GM3SFB2N.js.map → NumRegularBinEditor.unit.spec-FHTVH5FH.js.map} +0 -0
  700. /package/dist/{NumSplineEditor-LYLROEGE.js.map → NumSplineEditor-N3REMJUC.js.map} +0 -0
  701. /package/dist/{NumSplineEditor.unit.spec-3Q2HP6IB.js.map → NumSplineEditor.unit.spec-DZCP35GL.js.map} +0 -0
  702. /package/dist/{NumericDensity-3ZCDZORO.js.map → NumericDensity-42MWVI2S.js.map} +0 -0
  703. /package/dist/{NumericDensity.unit.spec-MNIAR2PR.js.map → NumericDensity.unit.spec-T2HHSQON.js.map} +0 -0
  704. /package/dist/{NumericHandler-MUNEB5IS.js.map → NumericHandler-5XU3SSPD.js.map} +0 -0
  705. /package/dist/{NumericHandler.unit.spec-KPWG2T27.js.map → NumericHandler.unit.spec-3F23KSAQ.js.map} +0 -0
  706. /package/dist/{ProteomeInput-NEUHQ2G4.js.map → ProteomeInput-UN2BUNRO.js.map} +0 -0
  707. /package/dist/{Regression-C75T5LOY.js.map → Regression-HWLJENA5.js.map} +0 -0
  708. /package/dist/{RunChart2-CMQ2BBSJ.js.map → RunChart2-YO55WE4M.js.map} +0 -0
  709. /package/dist/{SC-HYK26DXI.js.map → SC-LEDJ4DQR.js.map} +0 -0
  710. /package/dist/{Violin-J5Z3NKMU.js.map → Violin-E6PDJZ2B.js.map} +0 -0
  711. /package/dist/{Wsi-ZP36MKK7.js.map → Wsi-S675CYTW.js.map} +0 -0
  712. /package/dist/{adSandbox-W4THMDUI.js.map → adSandbox-ZJQ5ZW2T.js.map} +0 -0
  713. /package/dist/{animatedBubbleChart-2IVR2WC3.js.map → animatedBubbleChart-LRUS7W36.js.map} +0 -0
  714. /package/dist/{app-LAIPU5IO.js.map → app-7Q3QIBU4.js.map} +0 -0
  715. /package/dist/{app-WMRDJINC.js.map → app-PKSI4MV5.js.map} +0 -0
  716. /package/dist/{bam-44WCWB5P.js.map → bam-X5JH5ZT7.js.map} +0 -0
  717. /package/dist/{barchart-P6XKCJRF.js.map → barchart-UT6J4L2N.js.map} +0 -0
  718. /package/dist/{barchart2-5NTYCQYN.js.map → barchart2-ZG5QJO3C.js.map} +0 -0
  719. /package/dist/{block-VEOD6CP4.js.map → block-TC466NGW.js.map} +0 -0
  720. /package/dist/{block.init-RCPDUYAV.js.map → block.init-CIBNSYAC.js.map} +0 -0
  721. /package/dist/{block.mds.expressionrank-KALPK27B.js.map → block.mds.expressionrank-EY5PCQCK.js.map} +0 -0
  722. /package/dist/{block.mds.geneboxplot-ZASU25BG.js.map → block.mds.geneboxplot-R6AOMHO5.js.map} +0 -0
  723. /package/dist/{block.mds.junction-DCVGVSYG.js.map → block.mds.junction-JMV6FNYC.js.map} +0 -0
  724. /package/dist/{block.mds.svcnv-CEGYMRSE.js.map → block.mds.svcnv-IHTV3QYG.js.map} +0 -0
  725. /package/dist/{block.svg-AW4E7NSS.js.map → block.svg-NTFLVQAQ.js.map} +0 -0
  726. /package/dist/{block.tk.aicheck-4ZPFLI5I.js.map → block.tk.aicheck-FYPL32Y4.js.map} +0 -0
  727. /package/dist/{block.tk.ase-F3VMNBE3.js.map → block.tk.ase-FWCB6VBO.js.map} +0 -0
  728. /package/dist/{block.tk.bam-3VDSEMVO.js.map → block.tk.bam-Q5UFUABN.js.map} +0 -0
  729. /package/dist/{block.tk.bedgraphdot-3F6AMWFD.js.map → block.tk.bedgraphdot-KBI3GFDM.js.map} +0 -0
  730. /package/dist/{block.tk.bigwig.ui-QO334QC3.js.map → block.tk.bigwig.ui-KXNFX7G7.js.map} +0 -0
  731. /package/dist/{block.tk.hicstraw-VA7GNOOD.js.map → block.tk.hicstraw-MQBH3YAJ.js.map} +0 -0
  732. /package/dist/{block.tk.junction-7WIZ63R7.js.map → block.tk.junction-EBTVXLJH.js.map} +0 -0
  733. /package/dist/{block.tk.junction.textmatrixui-ZHSVODGI.js.map → block.tk.junction.textmatrixui-ETYLCP2O.js.map} +0 -0
  734. /package/dist/{block.tk.ld-JME4SP6A.js.map → block.tk.ld-NLB6L6WQ.js.map} +0 -0
  735. /package/dist/{block.tk.menu-7BFQTH3Q.js.map → block.tk.menu-PJLCOXVJ.js.map} +0 -0
  736. /package/dist/{block.tk.pgv-C2N7UFYT.js.map → block.tk.pgv-JOIQVWL2.js.map} +0 -0
  737. /package/dist/{brainImaging-6XFUKFZE.js.map → brainImaging-SPRC3QFB.js.map} +0 -0
  738. /package/dist/{bubbleHeatmap-YO4232WO.js.map → bubbleHeatmap-CFTZ5RXH.js.map} +0 -0
  739. /package/dist/{cellTypeBubbleHeatmap-GM4BGCQ3.js.map → cellTypeBubbleHeatmap-DXPLFT5U.js.map} +0 -0
  740. /package/dist/{chunk-UBZRZ3PS.js.map → chunk-2BQ572SL.js.map} +0 -0
  741. /package/dist/{chunk-AAM7HHPU.js.map → chunk-2DQIQYY3.js.map} +0 -0
  742. /package/dist/{chunk-YZVWOQBP.js.map → chunk-2POQWEK6.js.map} +0 -0
  743. /package/dist/{chunk-ZB3RP5QP.js.map → chunk-2SQEVMAL.js.map} +0 -0
  744. /package/dist/{chunk-5VMEMA4O.js.map → chunk-37HTZ6IG.js.map} +0 -0
  745. /package/dist/{chunk-K5YG7MVJ.js.map → chunk-452765PG.js.map} +0 -0
  746. /package/dist/{chunk-DAJT3XVZ.js.map → chunk-4DXQJGJ7.js.map} +0 -0
  747. /package/dist/{chunk-E3O6ZEWQ.js.map → chunk-5DBW3WLK.js.map} +0 -0
  748. /package/dist/{chunk-WVPFLPWB.js.map → chunk-5ILEFNXJ.js.map} +0 -0
  749. /package/dist/{chunk-6SKLD7JU.js.map → chunk-5UO7MKCO.js.map} +0 -0
  750. /package/dist/{chunk-H555QBYP.js.map → chunk-7R7P6VMT.js.map} +0 -0
  751. /package/dist/{chunk-D6G64XPJ.js.map → chunk-7X6NF7NI.js.map} +0 -0
  752. /package/dist/{chunk-ZU47ERPU.js.map → chunk-ANGLZ4XR.js.map} +0 -0
  753. /package/dist/{chunk-KWLBPOPE.js.map → chunk-BMQDU7KN.js.map} +0 -0
  754. /package/dist/{chunk-GAW2EETX.js.map → chunk-C5TU4AYP.js.map} +0 -0
  755. /package/dist/{chunk-PT5JDHPR.js.map → chunk-DHNET3P4.js.map} +0 -0
  756. /package/dist/{chunk-EJ3SSI5J.js.map → chunk-EGKHDALO.js.map} +0 -0
  757. /package/dist/{chunk-4Q46RDNU.js.map → chunk-EPWGUWQP.js.map} +0 -0
  758. /package/dist/{chunk-JG6SE6YU.js.map → chunk-F3EYPES3.js.map} +0 -0
  759. /package/dist/{chunk-BEJJS2HC.js.map → chunk-F4DM3WS4.js.map} +0 -0
  760. /package/dist/{chunk-BZYTL2EU.js.map → chunk-FTLCINDC.js.map} +0 -0
  761. /package/dist/{chunk-6RN4RVKF.js.map → chunk-GT6WJUJY.js.map} +0 -0
  762. /package/dist/{chunk-S6XG74R4.js.map → chunk-GWCK5QGV.js.map} +0 -0
  763. /package/dist/{chunk-DUGOFIQS.js.map → chunk-HJSGHFJ6.js.map} +0 -0
  764. /package/dist/{chunk-HWMZ2OHD.js.map → chunk-HS6BTSFX.js.map} +0 -0
  765. /package/dist/{chunk-DMT6S5HJ.js.map → chunk-IB5TKNG5.js.map} +0 -0
  766. /package/dist/{chunk-NGBQL4CM.js.map → chunk-IIMTOPH3.js.map} +0 -0
  767. /package/dist/{chunk-FSDY4QVA.js.map → chunk-JAXN3Q3K.js.map} +0 -0
  768. /package/dist/{chunk-GQ6T62VJ.js.map → chunk-KIRZXPMB.js.map} +0 -0
  769. /package/dist/{chunk-JVRGY6IU.js.map → chunk-L32KMIC3.js.map} +0 -0
  770. /package/dist/{chunk-4YEDSMFX.js.map → chunk-LB7NENEB.js.map} +0 -0
  771. /package/dist/{chunk-2YDQC5BV.js.map → chunk-LDWMVZYF.js.map} +0 -0
  772. /package/dist/{chunk-UM5NWVMA.js.map → chunk-M367Y7ML.js.map} +0 -0
  773. /package/dist/{chunk-VSPUFGDX.js.map → chunk-M4XXKTH2.js.map} +0 -0
  774. /package/dist/{chunk-AK3SW3VT.js.map → chunk-ME7OF3CS.js.map} +0 -0
  775. /package/dist/{chunk-JXUFZZRJ.js.map → chunk-N2CXLMNX.js.map} +0 -0
  776. /package/dist/{chunk-HKQDZKSF.js.map → chunk-N7DVQTPC.js.map} +0 -0
  777. /package/dist/{chunk-KLGNLUXR.js.map → chunk-N7TD7N7D.js.map} +0 -0
  778. /package/dist/{chunk-XHOL37O6.js.map → chunk-NBX6TT5C.js.map} +0 -0
  779. /package/dist/{chunk-GI3RVOO4.js.map → chunk-NSRGYBDM.js.map} +0 -0
  780. /package/dist/{chunk-3QMXNK7G.js.map → chunk-NVS7KYYI.js.map} +0 -0
  781. /package/dist/{chunk-BMVRYEN2.js.map → chunk-OVPEMVXT.js.map} +0 -0
  782. /package/dist/{chunk-7C45EYL6.js.map → chunk-OXWLQQXL.js.map} +0 -0
  783. /package/dist/{chunk-WFOC4W5A.js.map → chunk-QGGSYEVJ.js.map} +0 -0
  784. /package/dist/{chunk-OYHID2D7.js.map → chunk-QLEVONLD.js.map} +0 -0
  785. /package/dist/{chunk-MCRWA655.js.map → chunk-RNWHB5DI.js.map} +0 -0
  786. /package/dist/{chunk-FUEJFIQX.js.map → chunk-RUHLDUOT.js.map} +0 -0
  787. /package/dist/{chunk-TAEU6SPJ.js.map → chunk-RV34WFGZ.js.map} +0 -0
  788. /package/dist/{chunk-4C2N2BQC.js.map → chunk-SDVE5ECI.js.map} +0 -0
  789. /package/dist/{chunk-VRY7WSS6.js.map → chunk-SWO6DZTG.js.map} +0 -0
  790. /package/dist/{chunk-6JBLNS4D.js.map → chunk-SYPSS3JQ.js.map} +0 -0
  791. /package/dist/{chunk-XPB2GP3C.js.map → chunk-TDM3645O.js.map} +0 -0
  792. /package/dist/{chunk-66BJC6ZX.js.map → chunk-VVO3R5JV.js.map} +0 -0
  793. /package/dist/{chunk-CLOHFGFX.js.map → chunk-VYEU6Y35.js.map} +0 -0
  794. /package/dist/{chunk-XPVU5AMT.js.map → chunk-WGXC6IEF.js.map} +0 -0
  795. /package/dist/{chunk-GF6CKFXE.js.map → chunk-WPDM57B5.js.map} +0 -0
  796. /package/dist/{chunk-VHDVTQFR.js.map → chunk-WS7WKS2B.js.map} +0 -0
  797. /package/dist/{chunk-X7IAKV5Z.js.map → chunk-X63NSV33.js.map} +0 -0
  798. /package/dist/{chunk-KAUMP3RR.js.map → chunk-XXNRSSBR.js.map} +0 -0
  799. /package/dist/{chunk-ONXYJWY6.js.map → chunk-YD6UGDFI.js.map} +0 -0
  800. /package/dist/{chunk-JSVLKCIQ.js.map → chunk-YRIYDFNU.js.map} +0 -0
  801. /package/dist/{chunk-DO4SLQNP.js.map → chunk-YY5WQQ3J.js.map} +0 -0
  802. /package/dist/{chunk-YLJOZP4P.js.map → chunk-Z2ZITHT4.js.map} +0 -0
  803. /package/dist/{chunk-YLWSTPPL.js.map → chunk-Z4SM3FBK.js.map} +0 -0
  804. /package/dist/{chunk-AFMD6226.js.map → chunk-ZEYEIUEZ.js.map} +0 -0
  805. /package/dist/{chunk-LXTBOUBG.js.map → chunk-ZLYTDHQP.js.map} +0 -0
  806. /package/dist/{chunk-GTMHDSOQ.js.map → chunk-ZWCVRVV4.js.map} +0 -0
  807. /package/dist/{cohort-ZTT2PSQA.js.map → cohort-FZNMFWOX.js.map} +0 -0
  808. /package/dist/{condition-L5DXIAJT.js.map → condition-AJJLFCBQ.js.map} +0 -0
  809. /package/dist/{controls-ROZP2O7A.js.map → controls-SZOLV37V.js.map} +0 -0
  810. /package/dist/{controls.config-YQKGHMIP.js.map → controls.config-CVP75WFA.js.map} +0 -0
  811. /package/dist/{correlation-6AKRIQXN.js.map → correlation-UFJFQHQ3.js.map} +0 -0
  812. /package/dist/{customdata.inputui-DD3OFHUS.js.map → customdata.inputui-HOVA4A6O.js.map} +0 -0
  813. /package/dist/{dataDownload-VHHSLSZV.js.map → dataDownload-VTUG4IOK.js.map} +0 -0
  814. /package/dist/{databrowser.ui-RLYJOEWQ.js.map → databrowser.ui-O5S4Y4EK.js.map} +0 -0
  815. /package/dist/{dictionary-IMOOQHIH.js.map → dictionary-L2UNNNP7.js.map} +0 -0
  816. /package/dist/{dnaMethylation-T6XUIOJF.js.map → dnaMethylation-B4SWZI4O.js.map} +0 -0
  817. /package/dist/{dnaMethylation.integration.spec-NRJOIDRD.js.map → dnaMethylation.integration.spec-ANJAMNYJ.js.map} +0 -0
  818. /package/dist/{dofetch-MLAEV3A2.js.map → dofetch-F5XSHQIS.js.map} +0 -0
  819. /package/dist/{e2pca-F3TGJOMW.js.map → e2pca-66ARIMKL.js.map} +0 -0
  820. /package/dist/{ep-UAF6OL2Y.js.map → ep-OFGJYVUY.js.map} +0 -0
  821. /package/dist/{expclust.gdc.spec-GHH3JQ65.js.map → expclust.gdc.spec-22RXQTTP.js.map} +0 -0
  822. /package/dist/{facet-MB4C7GII.js.map → facet-GVZQ3RPN.js.map} +0 -0
  823. /package/dist/{gb-C5YSAFWP.js.map → gb-HEPGVYEK.js.map} +0 -0
  824. /package/dist/{geneExpClustering-3BRSI5BR.js.map → geneExpClustering-3NU2U422.js.map} +0 -0
  825. /package/dist/{geneExpression-K3IZLSYC.js.map → geneExpression-FXQ4L2J2.js.map} +0 -0
  826. /package/dist/{geneExpression-SIAPRA3E.js.map → geneExpression-XYVYJJA5.js.map} +0 -0
  827. /package/dist/{geneExpression.unit.spec-I66QVNT5.js.map → geneExpression.unit.spec-K3FIRSNK.js.map} +0 -0
  828. /package/dist/{geneORA-SLM3SNNS.js.map → geneORA-5M2JSDMF.js.map} +0 -0
  829. /package/dist/{geneRanking-4EFYOR6A.js.map → geneRanking-TP3R3CS3.js.map} +0 -0
  830. /package/dist/{geneVariant-Z3BUIBLS.js.map → geneVariant-232EYUFJ.js.map} +0 -0
  831. /package/dist/{geneVariant-O347F2OY.js.map → geneVariant-BHXTPUDC.js.map} +0 -0
  832. /package/dist/{geneVariant.integration.spec-ZZ65EYEL.js.map → geneVariant.integration.spec-ICFHVFIR.js.map} +0 -0
  833. /package/dist/{genefusion.ui-TK6UKPDR.js.map → genefusion.ui-ABRCUQFC.js.map} +0 -0
  834. /package/dist/{geneset-MVXSEOKZ.js.map → geneset-N42FIVA6.js.map} +0 -0
  835. /package/dist/{genomeBrowser.spec-QDB4Z2L6.js.map → genomeBrowser.spec-5HKQKLRU.js.map} +0 -0
  836. /package/dist/{grin2-P6Z45MCJ.js.map → grin2-H2KJYLP6.js.map} +0 -0
  837. /package/dist/{grin2-DCU6PLPU.js.map → grin2-NGMTEMXF.js.map} +0 -0
  838. /package/dist/{hierCluster-3H47NLKS.js.map → hierCluster-JU5JPLM7.js.map} +0 -0
  839. /package/dist/{hierCluster-JG6VXTCV.js.map → hierCluster-LSSH275H.js.map} +0 -0
  840. /package/dist/{hierCluster.config-IP6I7RTS.js.map → hierCluster.config-ILOR7GBB.js.map} +0 -0
  841. /package/dist/{hierCluster.integration.spec-7PUNHRRS.js.map → hierCluster.integration.spec-CNR5OJOH.js.map} +0 -0
  842. /package/dist/{hierCluster.interactivity-FIDVRACV.js.map → hierCluster.interactivity-TLEIVTFK.js.map} +0 -0
  843. /package/dist/{hierCluster.renderers-QMJWUPAI.js.map → hierCluster.renderers-P7JNIT3N.js.map} +0 -0
  844. /package/dist/{imagePlot-CXYKBCWS.js.map → imagePlot-BF67SXQR.js.map} +0 -0
  845. /package/dist/{importPlot-Z4A54RXH.js.map → importPlot-OHXSXNZN.js.map} +0 -0
  846. /package/dist/{isoformExpression-DMDV2PZY.js.map → isoformExpression-4VKHE4HA.js.map} +0 -0
  847. /package/dist/{isoformExpression.unit.spec-W2LIYOXS.js.map → isoformExpression.unit.spec-4TVSIFG4.js.map} +0 -0
  848. /package/dist/{junction-R5GMEO7Z.js.map → junction-VUHORV43.js.map} +0 -0
  849. /package/dist/{junction.customTerm-AI44GNFV.js.map → junction.customTerm-FRYWSS4P.js.map} +0 -0
  850. /package/dist/{junction.unit.spec-SCRCANOC.js.map → junction.unit.spec-KKVLYT7Q.js.map} +0 -0
  851. /package/dist/{launch.adhoc-THLTYZJT.js.map → launch.adhoc-UDYMFZTQ.js.map} +0 -0
  852. /package/dist/{leftlabel.sample-GKQXEY4J.js.map → leftlabel.sample-R5FFBWG3.js.map} +0 -0
  853. /package/dist/{legacyDataset-27L4DMCL.js.map → legacyDataset-IEFWFVS6.js.map} +0 -0
  854. /package/dist/{lollipop-2TW6GGPY.js.map → lollipop-3IX6ZYUN.js.map} +0 -0
  855. /package/dist/{maf-A4PVW5V2.js.map → maf-42UFYSL4.js.map} +0 -0
  856. /package/dist/{maftimeline-QMX3HOAU.js.map → maftimeline-M5WYEN62.js.map} +0 -0
  857. /package/dist/{matrix-BGRYRU3T.js.map → matrix-CI76EDHU.js.map} +0 -0
  858. /package/dist/{matrix-GPXTUVCQ.js.map → matrix-WJZKA6VR.js.map} +0 -0
  859. /package/dist/{matrix.cells-C6OY7F5T.js.map → matrix.cells-ZFKVIPDC.js.map} +0 -0
  860. /package/dist/{matrix.config-Z5ZGHXDV.js.map → matrix.config-24TFHBEM.js.map} +0 -0
  861. /package/dist/{matrix.data-WB26I3TF.js.map → matrix.data-NCGZPNWR.js.map} +0 -0
  862. /package/dist/{matrix.groups-C2V2CV4A.js.map → matrix.groups-XQJTGM6M.js.map} +0 -0
  863. /package/dist/{matrix.integration.spec-3COAXQBV.js.map → matrix.integration.spec-OGXZUDE6.js.map} +0 -0
  864. /package/dist/{matrix.interactivity-NGHIQR3A.js.map → matrix.interactivity-ZOOTPNSW.js.map} +0 -0
  865. /package/dist/{matrix.layout-NYIOESGN.js.map → matrix.layout-5J2YENK3.js.map} +0 -0
  866. /package/dist/{matrix.legend-Q5HHWP5Q.js.map → matrix.legend-U36VCS46.js.map} +0 -0
  867. /package/dist/{matrix.renderers-GLXZARIP.js.map → matrix.renderers-4KFE7ZVR.js.map} +0 -0
  868. /package/dist/{matrix.serieses-LDQEPXPD.js.map → matrix.serieses-AW7XBXLJ.js.map} +0 -0
  869. /package/dist/{matrix.sort-44TQNRIX.js.map → matrix.sort-7PMECLOE.js.map} +0 -0
  870. /package/dist/{matrix.sort.unit.spec-T3BDWJ3Z.js.map → matrix.sort.unit.spec-GIA2YOTQ.js.map} +0 -0
  871. /package/dist/{matrix.sorterUi-6Y4YBQYL.js.map → matrix.sorterUi-J6PRUT6J.js.map} +0 -0
  872. /package/dist/{matrix.sorterUi.unit.spec-NHUYNMNU.js.map → matrix.sorterUi.unit.spec-OPGKZZL6.js.map} +0 -0
  873. /package/dist/{matrix.unit.spec-C7IRIBN6.js.map → matrix.unit.spec-7UIVVR4T.js.map} +0 -0
  874. /package/dist/{mavb-E37LI73X.js.map → mavb-MSYUMT6W.js.map} +0 -0
  875. /package/dist/{mds.fimo-YTGX7VEN.js.map → mds.fimo-OYEAQP37.js.map} +0 -0
  876. /package/dist/{mds.samplescatterplot-FFGGJSI3.js.map → mds.samplescatterplot-EXISSRQQ.js.map} +0 -0
  877. /package/dist/{mds.survivalplot-NCWRXXV4.js.map → mds.survivalplot-SZST6BLN.js.map} +0 -0
  878. /package/dist/{multivalue-N7A2PU5K.js.map → multivalue-YDE7L75Y.js.map} +0 -0
  879. /package/dist/{numericDictTermCluster-AKQKRBQH.js.map → numericDictTermCluster-5AKP6ICC.js.map} +0 -0
  880. /package/dist/{oncomatrix-QPVGACMF.js.map → oncomatrix-2OEIYWR6.js.map} +0 -0
  881. /package/dist/{oncomatrix.spec-6L2NDN2G.js.map → oncomatrix.spec-CXQW4JWU.js.map} +0 -0
  882. /package/dist/{plot.2dvaf-6TLON77B.js.map → plot.2dvaf-LN7A3NNC.js.map} +0 -0
  883. /package/dist/{plot.app-VM273TXU.js.map → plot.app-YIQOY2Z7.js.map} +0 -0
  884. /package/dist/{plot.barplot-IQTZURHK.js.map → plot.barplot-HF2J25XP.js.map} +0 -0
  885. /package/dist/{plot.boxplot-WEXB6HII.js.map → plot.boxplot-YJH4L27U.js.map} +0 -0
  886. /package/dist/{plot.brainImaging-REGSSBHV.js.map → plot.brainImaging-PS4TRSPI.js.map} +0 -0
  887. /package/dist/{plot.disco-F25Z3FQL.js.map → plot.disco-BN5RNZ6Q.js.map} +0 -0
  888. /package/dist/{plot.ssgq-CRRK26RS.js.map → plot.ssgq-N2HTOIY3.js.map} +0 -0
  889. /package/dist/{plot.vaf2cov-WCNPZKXK.js.map → plot.vaf2cov-6AOHRUQ2.js.map} +0 -0
  890. /package/dist/{polar2-MH5GPXHJ.js.map → polar2-TC5OEJRE.js.map} +0 -0
  891. /package/dist/{profileForms-2YX2OYDI.js.map → profileForms-5WV2TSBB.js.map} +0 -0
  892. /package/dist/{profilePlot-FUTMZ2PP.js.map → profilePlot-OJLLW44P.js.map} +0 -0
  893. /package/dist/{pseudbulk.unit.spec-S7FDL3IX.js.map → pseudbulk.unit.spec-RAYRGN6C.js.map} +0 -0
  894. /package/dist/{pseudobulk-A3LB23N2.js.map → pseudobulk-ADHAYVSQ.js.map} +0 -0
  895. /package/dist/{qualitative-5VJRMF4S.js.map → qualitative-JXEI3IYC.js.map} +0 -0
  896. /package/dist/{radar2-2SJX4ZXN.js.map → radar2-BWTKSTT3.js.map} +0 -0
  897. /package/dist/{radarFacility2-7FPO34JS.js.map → radarFacility2-WIRSKTDG.js.map} +0 -0
  898. /package/dist/{rememberedGvQ.unit.spec-WOQVPQ75.js.map → rememberedGvQ.unit.spec-N43O4YTF.js.map} +0 -0
  899. /package/dist/{render-ZLA2RRBP.js.map → render-J7WOYBOL.js.map} +0 -0
  900. /package/dist/{report-VCE6RILD.js.map → report-DRPCXX2B.js.map} +0 -0
  901. /package/dist/{sampleView-QYTX4OLI.js.map → sampleView-BV6BQGGQ.js.map} +0 -0
  902. /package/dist/{samplelst-7NGH3SUM.js.map → samplelst-ZD63EYO7.js.map} +0 -0
  903. /package/dist/{samplematrix-SNAR6IBB.js.map → samplematrix-ZZ3DVELU.js.map} +0 -0
  904. /package/dist/{sc-2JETYAI4.js.map → sc-MUI43YTB.js.map} +0 -0
  905. /package/dist/{scatter-GHBQM2RR.js.map → scatter-7B44HTKN.js.map} +0 -0
  906. /package/dist/{scatter-D7VZOBEE.js.map → scatter-UEDVIE4Y.js.map} +0 -0
  907. /package/dist/{selectGenomeWithTklst-BD4GMGX3.js.map → selectGenomeWithTklst-WGOKGVZ5.js.map} +0 -0
  908. /package/dist/{singleCellCellType-XHLOJVVC.js.map → singleCellCellType-Z7OXK7PI.js.map} +0 -0
  909. /package/dist/{singleCellCellType.unit.spec-LCLR3IOD.js.map → singleCellCellType.unit.spec-IIOVCCJQ.js.map} +0 -0
  910. /package/dist/{singleCellGeneExpression-JRBONI5C.js.map → singleCellGeneExpression-LYZAIJ2Z.js.map} +0 -0
  911. /package/dist/{singleCellGeneExpression.unit.spec-Z2KSVCIG.js.map → singleCellGeneExpression.unit.spec-67AAWZTG.js.map} +0 -0
  912. /package/dist/{singleCellPlot-4462CQHF.js.map → singleCellPlot-TXPYQLSH.js.map} +0 -0
  913. /package/dist/{singlecell-SO3B5KJ7.js.map → singlecell-22OG6HNI.js.map} +0 -0
  914. /package/dist/{singlecell-CDUQ6MTO.js.map → singlecell-7TBALI2S.js.map} +0 -0
  915. /package/dist/{snp-YE2MXKJO.js.map → snp-3U2G3Z57.js.map} +0 -0
  916. /package/dist/{snp.unit.spec-MT57TGGQ.js.map → snp.unit.spec-BMBBUBYD.js.map} +0 -0
  917. /package/dist/{snplocus-RSNKWY63.js.map → snplocus-SSVZDIQV.js.map} +0 -0
  918. /package/dist/{spliceevent.a53ss.diagram-6N6YGYV7.js.map → spliceevent.a53ss.diagram-FK7CN4AU.js.map} +0 -0
  919. /package/dist/{spliceevent.exonskip.diagram-LMNUS4XV.js.map → spliceevent.exonskip.diagram-EFLGV3O4.js.map} +0 -0
  920. /package/dist/{spliceevent.noeventdiagram-LTBH4YD5.js.map → spliceevent.noeventdiagram-2DYO7CCZ.js.map} +0 -0
  921. /package/dist/{ssGSEA-DPK4PDM2.js.map → ssGSEA-52LWBQJP.js.map} +0 -0
  922. /package/dist/{ssGSEA.unit.spec-K2SA7ME7.js.map → ssGSEA.unit.spec-3JV6WHUQ.js.map} +0 -0
  923. /package/dist/{stattable-PR47XT4F.js.map → stattable-RLMYQ4G6.js.map} +0 -0
  924. /package/dist/{summarizeCnvGeneexp-YZEMDLES.js.map → summarizeCnvGeneexp-QPRYAKC2.js.map} +0 -0
  925. /package/dist/{summarizeGeneexpSurvival-3TXV6ZNI.js.map → summarizeGeneexpSurvival-RWVQXEKB.js.map} +0 -0
  926. /package/dist/{summarizeMutationCnv-EBWSEHWJ.js.map → summarizeMutationCnv-DW5F6NUJ.js.map} +0 -0
  927. /package/dist/{summarizeMutationDiagnosis-FXA25W3O.js.map → summarizeMutationDiagnosis-5FOQ7CHI.js.map} +0 -0
  928. /package/dist/{summarizeMutationSurvival-MR4AOMNS.js.map → summarizeMutationSurvival-4UKB4EVO.js.map} +0 -0
  929. /package/dist/{summary-4C6LGTMF.js.map → summary-TYC6QNT4.js.map} +0 -0
  930. /package/dist/{summary.integration.spec-Y6JLH7NH.js.map → summary.integration.spec-5GLJJZNM.js.map} +0 -0
  931. /package/dist/{summaryInput-NWT2DXWU.js.map → summaryInput-4IJGKW4P.js.map} +0 -0
  932. /package/dist/{sunburst-266MA7E2.js.map → sunburst-G7DGATWP.js.map} +0 -0
  933. /package/dist/{survival-CAZCIY2N.js.map → survival-MKNABJPU.js.map} +0 -0
  934. /package/dist/{svgraph-OFUESREM.js.map → svgraph-VB7JWWR5.js.map} +0 -0
  935. /package/dist/{svmr-PVH42MY4.js.map → svmr-VLQIO2U5.js.map} +0 -0
  936. /package/dist/{table-C2SICFZV.js.map → table-EAXMDWOY.js.map} +0 -0
  937. /package/dist/{termCollection-TGYDI7NP.js.map → termCollection-5LG7ICQY.js.map} +0 -0
  938. /package/dist/{termCollection-H4RL5WJG.js.map → termCollection-SB6MWLFK.js.map} +0 -0
  939. /package/dist/{termCollection.unit.spec-JSALS7GL.js.map → termCollection.unit.spec-H5ITGTR3.js.map} +0 -0
  940. /package/dist/{termCollectionFractionSelection-YJVDNV4I.js.map → termCollectionFractionSelection-2XZSTDCQ.js.map} +0 -0
  941. /package/dist/{termCollectionFractionSelection.unit.spec-4GM7P4ZW.js.map → termCollectionFractionSelection.unit.spec-BIO7V6KA.js.map} +0 -0
  942. /package/dist/{tk-RZCPSHJG.js.map → tk-TRWYZLQ2.js.map} +0 -0
  943. /package/dist/{tk-SNTRA5CC.js.map → tk-VZI5HNSX.js.map} +0 -0
  944. /package/dist/{tp.ui-2W4K3XH6.js.map → tp.ui-J5SNNAT3.js.map} +0 -0
  945. /package/dist/{tvs.dt-GIPVC3R6.js.map → tvs.dt-6YHFJPER.js.map} +0 -0
  946. /package/dist/{tvs.dtcnv.categorical-TEYAS4OU.js.map → tvs.dtcnv.categorical-WTIE63GM.js.map} +0 -0
  947. /package/dist/{tvs.dtcnv.continuous-VQRATYPZ.js.map → tvs.dtcnv.continuous-OCMKGTF5.js.map} +0 -0
  948. /package/dist/{tvs.dtfusion-P2KF5Z4H.js.map → tvs.dtfusion-CA23UNM3.js.map} +0 -0
  949. /package/dist/{tvs.dtitd-TM6UROSH.js.map → tvs.dtitd-VSYMR3OD.js.map} +0 -0
  950. /package/dist/{tvs.dtsnvindel-FZXC23NF.js.map → tvs.dtsnvindel-YBNO3CYF.js.map} +0 -0
  951. /package/dist/{tvs.dtsv-Y5QEJPYG.js.map → tvs.dtsv-S743GBB5.js.map} +0 -0
  952. /package/dist/{tvs.numeric-3UXW4JHJ.js.map → tvs.numeric-22AHXO5K.js.map} +0 -0
  953. /package/dist/{tvs.samplelst-MLAFPFER.js.map → tvs.samplelst-XAJO4EM6.js.map} +0 -0
  954. /package/dist/{tvs.termCollection-ZQQDKESH.js.map → tvs.termCollection-QOVJGAUC.js.map} +0 -0
  955. /package/dist/{vocabulary-JRUZPHMG.js.map → vocabulary-6EADTHP3.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/style-normalize-scoped.css", "../../node_modules/highlight.js/styles/github.css", "../src/style.css", "../src/app.js"],
4
+ "sourcesContent": ["\n\t\t\t\tconst styles = new CSSStyleSheet();\n\t\t\t\tstyles.replaceSync(`\n/**\n * Render the \\`main\\` element consistently in IE.\n */\n\n.sja_root_holder main, .sja_menu_div main, .sja_pane main {\n display: block;\n}\n\n/**\n * Correct the font size and margin on \\`h1\\` elements within \\`section\\` and\n * \\`article\\` contexts in Chrome, Firefox, and Safari.\n */\n\n.sja_root_holder h1, .sja_menu_div h1, .sja_pane h1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\n.sja_root_holder hr, .sja_menu_div hr, .sja_pane hr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd \\`em\\` font sizing in all browsers.\n */\n\n.sja_root_holder pre, .sja_menu_div pre, .sja_pane pre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\n.sja_root_holder a, .sja_menu_div a, .sja_pane a {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\n.sja_root_holder abbr[title], .sja_menu_div abbr[title], .sja_pane abbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\n.sja_root_holder b, .sja_menu_div b, .sja_pane b,\n.sja_root_holder strong, .sja_menu_div strong, .sja_pane strong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd \\`em\\` font sizing in all browsers.\n */\n\n.sja_root_holder code, .sja_menu_div code, .sja_pane code,\n.sja_root_holder kbd, .sja_menu_div kbd, .sja_pane kbd,\n.sja_root_holder samp, .sja_menu_div samp, .sja_pane samp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\n.sja_root_holder small, .sja_menu_div small, .sja_pane small {\n font-size: 80%;\n}\n\n/**\n * Prevent \\`sub\\` and \\`sup\\` elements from affecting the line height in\n * all browsers.\n */\n\n.sja_root_holder sub, .sja_menu_div sub, .sja_pane sub,\n.sja_root_holder sup, .sja_menu_div sup, .sja_pane sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\n.sja_root_holder sub, .sja_menu_div sub, .sja_pane sub {\n bottom: -0.25em;\n}\n\n.sja_root_holder sup, .sja_menu_div sup, .sja_pane sup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\n.sja_root_holder img, .sja_menu_div img, .sja_pane img {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\n.sja_root_holder button, .sja_menu_div button, .sja_pane button,\n.sja_root_holder input, .sja_menu_div input, .sja_pane input,\n.sja_root_holder optgroup, .sja_menu_div optgroup, .sja_pane optgroup,\n.sja_root_holder select, .sja_menu_div select, .sja_pane select,\n.sja_root_holder textarea, .sja_menu_div textarea, .sja_pane textarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\n.sja_root_holder button, .sja_menu_div button, .sja_pane button,\n.sja_root_holder input /* 1 */, .sja_menu_div input /* 1 */, .sja_pane input /* 1 */ {\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\n.sja_root_holder button, .sja_menu_div button, .sja_pane button,\n.sja_root_holder select /* 1 */, .sja_menu_div select /* 1 */, .sja_pane select /* 1 */ {\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\n.sja_root_holder button, .sja_menu_div button, .sja_pane button,\n.sja_root_holder [type=\"button\"], .sja_menu_div [type=\"button\"], .sja_pane [type=\"button\"],\n.sja_root_holder [type=\"reset\"], .sja_menu_div [type=\"reset\"], .sja_pane [type=\"reset\"],\n.sja_root_holder [type=\"submit\"], .sja_menu_div [type=\"submit\"], .sja_pane [type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\n.sja_root_holder button::-moz-focus-inner, .sja_menu_div button::-moz-focus-inner, .sja_pane button::-moz-focus-inner,\n.sja_root_holder [type=\"button\"]::-moz-focus-inner, .sja_menu_div [type=\"button\"]::-moz-focus-inner, .sja_pane [type=\"button\"]::-moz-focus-inner,\n.sja_root_holder [type=\"reset\"]::-moz-focus-inner, .sja_menu_div [type=\"reset\"]::-moz-focus-inner, .sja_pane [type=\"reset\"]::-moz-focus-inner,\n.sja_root_holder [type=\"submit\"]::-moz-focus-inner, .sja_menu_div [type=\"submit\"]::-moz-focus-inner, .sja_pane [type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\n.sja_root_holder button:-moz-focusring, .sja_menu_div button:-moz-focusring, .sja_pane button:-moz-focusring,\n.sja_root_holder [type=\"button\"]:-moz-focusring, .sja_menu_div [type=\"button\"]:-moz-focusring, .sja_pane [type=\"button\"]:-moz-focusring,\n.sja_root_holder [type=\"reset\"]:-moz-focusring, .sja_menu_div [type=\"reset\"]:-moz-focusring, .sja_pane [type=\"reset\"]:-moz-focusring,\n.sja_root_holder [type=\"submit\"]:-moz-focusring, .sja_menu_div [type=\"submit\"]:-moz-focusring, .sja_pane [type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\n.sja_root_holder fieldset, .sja_menu_div fieldset, .sja_pane fieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from \\`fieldset\\` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * \\`fieldset\\` elements in all browsers.\n */\n\n.sja_root_holder legend, .sja_menu_div legend, .sja_pane legend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\n.sja_root_holder progress, .sja_menu_div progress, .sja_pane progress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\n.sja_root_holder textarea, .sja_menu_div textarea, .sja_pane textarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n.sja_root_holder [type=\"checkbox\"], .sja_menu_div [type=\"checkbox\"], .sja_pane [type=\"checkbox\"],\n.sja_root_holder [type=\"radio\"], .sja_menu_div [type=\"radio\"], .sja_pane [type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n.sja_root_holder [type=\"number\"]::-webkit-inner-spin-button, .sja_menu_div [type=\"number\"]::-webkit-inner-spin-button, .sja_pane [type=\"number\"]::-webkit-inner-spin-button,\n.sja_root_holder [type=\"number\"]::-webkit-outer-spin-button, .sja_menu_div [type=\"number\"]::-webkit-outer-spin-button, .sja_pane [type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n.sja_root_holder [type=\"search\"], .sja_menu_div [type=\"search\"], .sja_pane [type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n.sja_root_holder [type=\"search\"]::-webkit-search-decoration, .sja_menu_div [type=\"search\"]::-webkit-search-decoration, .sja_pane [type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to \\`inherit\\` in Safari.\n */\n\n.sja_root_holder ::-webkit-file-upload-button, .sja_menu_div ::-webkit-file-upload-button, .sja_pane ::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\n.sja_root_holder details, .sja_menu_div details, .sja_pane details {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\n.sja_root_holder summary, .sja_menu_div summary, .sja_pane summary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\n.sja_root_holder template, .sja_menu_div template, .sja_pane template {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n.sja_root_holder [hidden], .sja_menu_div [hidden], .sja_pane [hidden] {\n display: none;\n}`);\n\t\t\t\tdocument.adoptedStyleSheets.push(styles);\n\t\t\t\t", "\n\t\t\t\tconst styles = new CSSStyleSheet();\n\t\t\t\tstyles.replaceSync(`pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!\n Theme: GitHub\n Description: Light theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n\n Outdated base version: https://github.com/primer/github-syntax-light\n Current colors taken from GitHub's CSS\n*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#005cc5}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-code,.hljs-comment,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}`);\n\t\t\t\tdocument.adoptedStyleSheets.push(styles);\n\t\t\t\t", "\n\t\t\t\tconst styles = new CSSStyleSheet();\n\t\t\t\tstyles.replaceSync(`/*\n see client/generateScopedCss.js on how to generate style-normalize-*.css\n\n also see a TODO comment in client/src/app.js, of dynamically importing\n style-normalize-unscoped.css only if it's known to not conflict in\n the embedder portal\n*/\n/* directly import these in src/app.js so that they will be processed as CSSStyleSheet\n@import './style-normalize-scoped.css';\n@import 'highlight.js/styles/github.css';\n*/\n/*\nhtml {\n height:100%;\n}\nbody {\n min-height:100%;\n}\ntable {\n font-size:1em;\n border-spacing:1px;\n border-collapse:separate;\n}\n*/\n\n/*\n !!! NOTE !!!\n FireFox does not support the @scope (selector) syntax\n that can enclose all affected rules inside a nested block,\n so for now, will need to prepend the .sja_root_holder scope for each selector\n*/\n\n/***************************************\nCSS properties that are not covered \nby normalize.css are covered here\n\n!!! make sure to scope to sja_root_holder\n****************************************/\n\n.sja_root_holder h2 {\n margin-block-start: 0.83em;\n margin-block-end: 0.83em;\n}\n\n\n/***************************************\n tag-based styles\n\n prevent embedder styles from overriding\n the styles within pp-controlled divs\n****************************************/\n\n\n/* use default browser styles within pp-controlled divs */\n\n/* using the !important flag:\n- this flag is used to override conflicting styles\n- this flag will override both embedder styling and inline styling\n- it is not necessary to use this flag to prevent embedder styles from overriding pp styles, because specifying styles within pp-specific classes will usually prevent this issue\n- the only time when it is necessary to use this flag is when (1) the conflicting styling also has an !important flag or (2) the conflicting styling is also specified in this same file\n*/\n\n\n.sja_root_holder {\n all: initial; /* block inheritance for all properties */\n font-family: Arial, sans-serif;\n /*background-color: #fff;*/\n}\n\n.sja_menu_div,\n.sja_pane {\n all: initial; /* block inheritance for all properties */\n}\n\n.sja_menu_div {\n font-family: Arial;\n}\n\n.sja_root_holder table,\n.sja_menu_div table,\n.sja_pane table {\n border-collapse: separate;\n border-spacing: 2px;\n}\n\n.sja_root_holder svg {\n display: inline-block;\n}\n/*\n override the thicker button border\n that results when a button's \n border-radius: 0 which seems to override\n all associated styles of \n -webkit-appearance: button;\n*/\n\n.sja_root_holder button,\n.sja_menu_div button,\n.sja_pane button {\n padding: 2px 3px;\n border-width: 1px;\n border-style: solid;\n border-radius: 3px;\n box-shadow: inset 0 0 0 99999px rgba(255, 255, 255, 0.3);\n color: black;\n background-color: buttonface;\n border-color: buttonborder;\n}\n\n.sja_root_holder button:disabled,\n.sja_menu_div button:disabled,\n.sja_pane button:disabled {\n background-color: rgba(239, 239, 239, 0.3);\n color: rgba(16, 16, 16, 0.3);\n border-color: rgba(118, 118, 118, 0.3);\n}\n\n.sja_root_holder button:hover,\n.sja_menu_div button:hover,\n.sja_pane button:hover {\n box-shadow: none;\n}\n\n.sja_root_holder label,\n.sja_menu_div label,\n.sja_pane label {\n margin-bottom: 0;\n}\n\n.sja_root_holder a,\n.sja_menu_div a,\n.sja_pane a,\n.linkText {\n color: rgb(0, 0, 238);\n cursor: pointer;\n text-decoration: underline;\n}\n\n.sja_root_holder input,\n.sja_menu_div input,\n.sja_pane input {\n padding: 1px 3px;\n margin: 2px 5px;\n border: 1px solid #ccc;\n}\n\n.sja_root_holder select,\n.sja_menu_div select,\n.sja_pane select {\n padding: 1px 3px;\n padding-right: 30px; /* padding between text and arrow */\n background-size: auto;\n background-position: right;\n border: 1px solid #ccc;\n}\n\n.sja_root_holder textarea,\n.sja_menu_div textarea,\n.sja_pane textarea {\n padding: 2px;\n border: 1px solid #ccc;\n}\n\n.sja_root_holder input[type=\"search\"].tree_search {\n -webkit-appearance: searchfield;\n}\n\n.sja_root_holder ul {\n display: block;\n list-style-type: disc;\n margin-block-start: 1em;\n margin-block-end: 1em;\n margin-inline-start: 0px;\n margin-inline-end: 0px;\n padding-inline-start: 40px;\n}\n\n.sja_root_holder ul ul {\n list-style-type: circle;\n}\n\n.sja_root_holder li {\n display: list-item;\n text-align: -webkit-match-parent;\n}\n\n/*************************\n class-specific styles\n*************************/\n\n.sja_errorbar {\n position: relative;\n padding: 5px 50px 5px 10px;\n background-color: rgba(200, 0, 0, .1);\n color: rgba(190, 0, 0, .5);\n border: solid 1px rgba(200, 0, 0, .2);\n /*border-width: 1px 0px;*/\n}\n\n.sja_infobar {\n position: relative;\n padding: 5px 50px 5px 10px;\n background-color: rgba(0, 100, 200, .1);\n color: rgba(0, 80, 180, .8);\n border: solid 1px rgba(0, 100, 200, .25);\n border-radius: 5px;\n}\n\n\n\n.sja_inset_a {\n background-color: #ebedeb;\n box-shadow: inset 0px 0px 14px 0px #858585;\n padding: 5px 10px;\n}\n\n.sja_menu,\n.sja_menu_persist,\n.sja_tooltip {\n position: absolute;\n background-color: white;\n font-family: Arial;\n z-index: 1000;\n}\n\n/* /client/src/app.js start */\n.sja_menuoption {\n color: black;\n padding: 5px 10px;\n cursor: default;\n background-color: #f2f2f2;\n margin: 1px;\n border-radius: 5px;\n}\n\n.sja_menuoption_not_interactive {\n padding: 5px 10px;\n cursor: default;\n margin: 1px;\n}\n\n.sja_sharp_border {\n border-radius: 0px;\n}\n.sja_menuoption:hover {\n background-color: #e6e6e6\n}\n\n.sja_menuoption:active {\n color: #cc0000;\n background-color: #FCE2E1;\n}\n/* /client/src/app.js end */\n\n.sja_filter_tag_btn {\n display: inline-block;\n color: black;\n padding: 5px 8px;\n background-color: #cfe2f3;\n cursor: default;\n}\n\n/* .sja_filter_tag_btn:hover { opacity: 0.8; cursor:default} */\n\n.sja_filter_tag_btn:active {\n color: #cc0000;\n opacity: 0.6;\n}\n\n.ts_pill:hover,\n.tvs_pill:hover {\n opacity: 0.8;\n cursor: default\n}\n\n.sjpp_delete_btn,\n.remove_btn {\n background-color: #f4cccc;\n}\n\n.ts_summary_btn {\n background-color: #d9d2e9;\n}\n\n\n/* mostly for table tr */\n\n.sja_clb {\n padding: 5px 10px;\n cursor: default;\n}\n\n.sja_clb:hover {\n background: #ffff99;\n}\n\n.sja_clb:active {\n background: #ffcc99;\n}\n\n.sja_clb_selected {\n padding: 5px 10px;\n cursor: default;\n background: #FAF0C8;\n border-bottom: solid 2px #E3CA64;\n}\n\n.sja_clb_selected:hover {\n background: #FCE68B\n}\n\n.sja_clb_selected:active {\n background: #ffcc99\n}\n\n\n/* table tr, gray highlight */\n\n.sja_clb_gray {\n padding: 5px 10px;\n cursor: default;\n}\n\n.sja_clb_gray:hover {\n background-color: #f1f1f1;\n}\n\n.sja_clb_gray:active {\n background-color: #ffffcc;\n}\n\n.sja_hideable_legend {\n cursor: default;\n}\n\n.sja_hideable_legend:hover {\n background: #ffff99;\n}\n\n.sja_legend_more_btn {\n padding: 3px;\n text-align: center;\n font-size: 0.7em;\n opacity: 0.5;\n cursor: default;\n}\n\n.sja_legend_more_btn:hover {\n text-decoration: underline;\n}\n\n\n/* text only */\n\n.sja_clbtext2 {\n cursor: default;\n text-decoration: none;\n}\n\n.sja_clbtext2:hover {\n text-decoration: underline;\n}\n\n.sja_clbtext2:active {\n fill: #CC0000;\n color: #CC0000;\n}\n\n.sja_clbtext {\n cursor: default;\n color: black;\n fill: black;\n border-bottom: solid 1px transparent;\n}\n\n.sja_clbtext:hover {\n color: #631318;\n fill: #631318;\n border-color: black;\n}\n\n.sja_clbtext:active {\n color: #CC0000;\n border-color: #cc0000;\n fill: #cc0000;\n}\n\n.sja_clbtextbold {\n cursor: default;\n color: black;\n fill: black;\n font-weight: normal;\n}\n\n.sja_clbtextbold:hover {\n color: #631318;\n fill: #631318;\n font-weight: bold;\n}\n\n.sja_clbtextbold:active {\n color: #CC0000;\n fill: #cc0000;\n font-weight: bold;\n}\n\n.sja_opaque6 {\n opacity: .6;\n cursor: default;\n}\n\n.sja_opaque6:hover {\n opacity: .9;\n}\n\n.sja_opaque8 {\n opacity: .8;\n cursor: default;\n}\n\n.sja_opaque8:hover {\n opacity: 1;\n}\n\n.sja_simpletable tr td {\n border-bottom: solid 1px #ededed;\n}\n\n.sja_mcdot {\n cursor: default;\n border-radius: 8px;\n padding: 1px 2px;\n margin-right: 1px;\n color: white;\n font-size: .8em;\n}\n\n.sja_variantpagesnv {\n cursor: default;\n display: inline-block;\n border-radius: 3px;\n padding: 3px 10px;\n margin-right: 2px;\n color: white;\n background-color: #0099FF;\n opacity: .6;\n}\n\n.sja_variantpagesnv:hover {\n opacity: 1;\n}\n\n.sja_variantpagesnv:active {\n background-color: #3366FF;\n}\n\n.sja_selectsample {\n cursor: default;\n display: inline-block;\n border-radius: 2px;\n border: solid 1px #545454;\n padding: 3px 10px;\n margin-right: 2px;\n color: #545454;\n background-color: white;\n font-size: .8em;\n}\n\n.sja_selectsample:hover {\n background-color: #f1f1f1;\n}\n\n.sja_selectsample:active {\n background-color: #F2E1E3;\n}\n\n.sja_pane {\n position: absolute;\n /*border:solid 1px #ccc;\n */\n box-shadow: 0px 2px 4px 1px #999;\n background-color: white;\n}\n\n.sja_pane>:first-child {\n padding-right: 10px;\n cursor: move;\n background-color: #f0f0f0;\n}\n\n.sja_pane>:nth-child(2) {\n padding: 0px 10px 10px 10px;\n font-family: Arial;\n}\n\n.sja_cursor_hmove {\n cursor: ew-resize;\n}\n\n.sja_svgtext {\n cursor: default;\n fill-opacity: .8\n}\n\n.sja_svgtext2 {\n cursor: default;\n fill: black;\n}\n\n.sja_svgtext2:hover {\n fill: #B30000\n}\n\n.sja_clb5 {\n /* tree button */\n cursor: default;\n display: inline-block;\n border: solid 1px #006600;\n color: #006600;\n background-color: white;\n margin-left: 6px;\n padding: 0px 4px;\n font-size: 80%;\n}\n\n.sja_clb5:hover {\n background-color: #006600;\n color: white;\n}\n\n.sja_clb5:active {\n background-color: #009900;\n}\n\n.sja_clb2 {\n color: black;\n font-family: Courier;\n display: inline-block;\n padding: 1px 5px;\n cursor: default;\n}\n\n.sja_clb2:hover {\n background-color: #ffff99;\n}\n\n.sja_clb2:active {\n background-color: #ccff99;\n}\n\n.sja_clbb {\n /* highlight border */\n border: solid 1px transparent;\n cursor: default;\n}\n\n.sja_clbb:hover {\n border-color: #ccc;\n}\n\n.sja_clbbox {\n cursor: default;\n padding: 2px 5px;\n color: white;\n font-size: .7em;\n font-weight: normal;\n}\n\n.sja_clbbox:hover {\n font-weight: bold;\n}\n\n.sja_tr {\n cursor: default;\n background-color: #f1f1f1;\n}\n\n.sja_tr:hover {\n background-color: white;\n}\n\n.sja_tr:active {\n background-color: #ffffcc;\n}\n\n.sja_tr2 {\n cursor: default;\n}\n\n.sja_tr2:hover {\n background-color: #ffffcc;\n}\n\n.sja_tr2:active {\n background-color: #ffff00;\n}\n\n.sja_aa_disclabel {\n cursor: default;\n}\n\n.sja_aa_discnum {\n cursor: default;\n text-rendering: geometricPrecision;\n}\n\n.sja_aa_skkick:hover {\n stroke: #858585;\n}\n\n.sja_aa_disckick:hover {\n stroke-opacity: 1;\n}\n\n.sja_menuoption_y {\n display: inline-block;\n color: black;\n padding: 2px 4px;\n cursor: default;\n background-color: #E6E5C5;\n margin: 2px;\n}\n\n.sja_menuoption_y:hover {\n background-color: #DEDCA9\n}\n\n.sja_menuoption_y:active {\n background-color: #FFFF99\n}\n\n.sja_menuoption_r {\n display: inline-block;\n color: black;\n padding: 2px 4px;\n cursor: default;\n background-color: #EDDDDE;\n margin: 2px;\n}\n\n.sja_menuoption_r:hover {\n background-color: #E8CFD1\n}\n\n.sja_menuoption_r:active {\n background-color: #FCD9DD\n}\n\n.sja_error2 {\n display: inline-block;\n padding: 5px 50px 5px 10px;\n margin: 10px 20px;\n background-color: rgba(200, 0, 0, .5);\n color: white;\n border-radius: 6px;\n}\n\n.sja_paint {\n position: relative;\n}\n\n.sja_paint>:first-child {}\n\n.sja_paint>:nth-child(2) {\n position: absolute;\n padding: 3px 6px;\n cursor: default;\n top: 10px;\n right: 30px;\n font-size: 80%;\n}\n\n.sja_tree_ul {\n list-style-type: none;\n padding-left: 25px;\n line-height: 1.4;\n}\n\n.sja_input {\n display: inline-block;\n padding: 2px 6px;\n}\n\n.sja_bulkcell {\n display: inline-block;\n width: 3px;\n height: 9px;\n margin: 1px 1px 0px 0px;\n}\n\n.sja_tag {\n display: inline-block;\n margin-left: 10px;\n padding: 1px 3px;\n background-color: #858585;\n color: white;\n font-size: 80%;\n}\n\n.sja_bgbox {\n cursor: default;\n fill: yellow;\n fill-opacity: 0;\n}\n\n.sja_bgbox:hover {\n fill-opacity: .2;\n}\n\n.sja_diseasehm_search_item {\n display: inline-block;\n margin: 3px;\n padding: 2px;\n}\n\n.sja_pulse {\n animation: pulse .5s alternate infinite;\n}\n\n@keyframes pulse {\n from {\n opacity: .2;\n }\n to {\n opacity: 1;\n }\n}\n\n.sja_hm-edittool-table td {\n padding: 0 2px;\n cursor: pointer;\n text-align: center;\n font-size: 14px;\n}\n\n.sja_hm-edittool-table td:hover {\n opacity: 1;\n font-weight: 600;\n}\n\n.sja_tinylogo_head {\n display: inline-block;\n background-color: #858585;\n color: white;\n font-size: .6em;\n padding: 1px 3px;\n}\n\n.sja_tinylogo_body {\n display: inline-block;\n margin-left: 10px;\n background-color: #ededed;\n font-size: .9em;\n color: black;\n padding: 1px 5px;\n}\n\n.sja_handle_green {\n display: inline-block;\n font-size: .9em;\n padding: 3px 6px;\n background-color: #f0f7f1;\n color: #146E17;\n cursor: default;\n}\n\n.sja_handle_green:hover {\n background-color: #D5F0D8;\n}\n\n.sja_handle_green:active {\n background-color: #BAD1BC;\n color: black;\n}\n\n.sja_handle_red {\n display: inline-block;\n font-size: .9em;\n padding: 3px 6px;\n background-color: #F5EBEC;\n color: #991F1F;\n cursor: default;\n}\n\n.sja_handle_red:hover {\n background-color: #F2D8DB;\n}\n\n.sja_handle_red:active {\n background-color: #E3B1B7;\n color: black;\n}\n\n.sja_btn {\n -webkit-appearance: button;\n -moz-appearance: button;\n appearance: button;\n text-decoration: none;\n color: initial;\n}\n\n.sja_button {\n display: inline-block;\n background: white;\n padding: 3px 5px;\n border: solid 1px black;\n opacity: .8;\n cursor: default;\n}\n\n.sja_button:hover {\n opacity: 1;\n}\n\n.sja_button_open {\n display: inline-block;\n background: #ddd;\n padding: 3px 5px;\n border: solid 1px black;\n opacity: .8;\n cursor: default;\n}\n\n.sja_button_open:hover {\n opacity: 1;\n}\n\n.sja_button_fold {\n display: inline-block;\n background: #aaa;\n color: white;\n padding: 3px 5px;\n border: solid 1px black;\n opacity: .8;\n cursor: default;\n}\n\n.sja_button_fold:hover {\n opacity: 1;\n}\n\n.sja-termdb-config-row-label {\n padding: 5px;\n text-align: left;\n vertical-align: middle;\n}\n\n.sjpp-controls-table {\n margin-bottom: 10px;\n}\n\n.sjpp-controls-table > tr:hover {\n /*font-weight: 600;*/\n text-shadow:0px 0px 0.5px black;\n background-color: rgba(239, 236, 149, 0.389);\n}\n\n.sja_edit_btn {\n display: inline-block;\n color: black;\n background-color: #f2f2f2;\n border-radius: 5px;\n border: solid 1px #aaa;\n padding: 5px 10px;\n cursor: default;\n margin: 1px;\n font-size: 0.8em;\n margin-left: 20px;\n}\n\n.sja_edit_btn:hover {\n background-color: #e6e6e6\n}\n\n.sja_edit_btn:active {\n color: #cc0000;\n background-color: #FCE2E1;\n}\n\n/* App Drawer style */\n\n.sjpp-appdrawer-cols {\n font-family: Verdana, Geneva, Tahoma, sans-serif;\n font-weight: 500;\n font-size: 17px;\n text-align: left;\n color: #324870;\n margin: 10px 10px 0px 10px;\n}\n\n.sjpp-track, .sjpp-track li {\n display: grid !important;\n grid-template-columns: 2fr 4fr 40px;\n grid-template-areas: 'image header' 'image blurb';\n gap: 5px;\n}\n\n.sjpp-app-drawer-card,\n.sjpp-track {\n background-color: white;\n max-width: 400px;\n /* min-width: 320px; */\n border-radius: 5px;\n padding: 0px;\n align-items: center;\n justify-items: left;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n -webkit-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);\n transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);\n}\n\n.sjpp-app-drawer-card::after,\n.sjpp-track::after {\n content: \"\";\n border-radius: 8px;\n position: absolute;\n z-index: -1;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);\n opacity: 0;\n -webkit-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);\n transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);\n}\n\n.sjpp-app-drawer-card:hover,\n.sjpp-track:hover {\n -webkit-transform: scale(1, 1);\n transform: scale(1, 1);\n}\n\n.sjpp-app-drawer-card:hover::after,\n.sjpp-track:hover::after {\n opacity: 1;\n}\n\n.sjpp-track-image {\n grid-area: image;\n width: 75px;\n height: 75px;\n align-self: start;\n justify-self: start;\n}\n\n.sjpp-track-image img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 5px 0px 0px 5px;\n}\n\n/* \"about\" tab activeItems rendered as large square tiles (cards layout) */\n.sjpp-about-card {\n width: 200px;\n min-height: 200px;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n gap: 10px;\n padding: 22px 16px;\n cursor: pointer;\n border-radius: 14px;\n background: var(--sjpp-about-card-bg, #ffffff);\n box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);\n border: 1px solid rgba(0, 0, 0, 0.06);\n transition: transform 0.25s ease, box-shadow 0.25s ease;\n}\n\n.sjpp-about-card:hover,\n.sjpp-about-card:focus-visible {\n transform: translateY(-8px) scale(1.03);\n box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);\n}\n\n.sjpp-about-card:focus-visible {\n outline: 2px solid #2b6f9f;\n outline-offset: 2px;\n}\n\n.sjpp-about-card:focus-visible {\n outline: 3px solid var(--sjpp-focus-outline, #1a73e8);\n outline-offset: 3px;\n}\n\n.sjpp-about-card-icon {\n height: 84px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.sjpp-about-card-icon img,\n.sjpp-about-card-icon svg {\n max-height: 84px;\n max-width: 120px;\n}\n\n.sjpp-about-card-title {\n font-size: 1.2em;\n font-weight: 600;\n line-height: 1.2;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n min-height: 2.4em;\n}\n\n.sjpp-about-card-subtitle {\n font-size: 0.85em;\n opacity: 0.7;\n line-height: 1.3;\n min-height: 2.6em;\n}\n.sjpp-app-drawer-card-ribbon{\n grid-area: image;\n overflow: hidden;\n width: 100%;\n height: 100%;\n}\n.sjpp-app-drawer-card-ribbon::before,\n.sjpp-app-drawer-card-ribbon::after {\n position: relative;\n z-index: -1;\n content: '';\n display: block;\n border-top-color: transparent;\n border-left-color: transparent;\n}\n.sjpp-app-drawer-card-ribbon span {\n position: relative;\n display: block;\n width: 100%;\n padding: 1px 0;\n border-color: transparent transparent transparent darkgray;\n box-shadow: 0 2px 7.5px rgba(0, 0, 0, 0.3);\n opacity: 1;\n font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;\n transform: rotate(-45deg);\n}\n\n.sjpp-app-drawer-card-ribbon::before {\n top: 0;\n right: 0;\n}\n.sjpp-app-drawer-card-ribbon::after {\n bottom: 0;\n left: 0;\n}\n\n.sjpp-track-h {\n grid-area: header;\n font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;\n margin-left: 5px;\n padding: 0px;\n}\n\n.sjpp-track-blurb {\n grid-area: blurb;\n font-size: 13px;\n font-weight: 300;\n margin-left: 5px;\n justify-content: center;\n font-style: oblique;\n color: #403f3f;\n}\n\n/* client/src/block.js start */\n.sjpp-active-tiny-button {\n\tdisplay: inline-block;\n\tbackground-color: #1C5E86;\n\tfont-size: .8em;\n\tcolor: white;\n\tpadding: 1px 5px;\n\tmargin-right: 5px;\n\tborder-radius: 4px;\n}\n\n.sjpp-plus-button\n{\n display: inline-block;\n margin: 1px;\n border: solid 1px #545454;\n font-size: .9em;\n cursor: default;\n padding: 2px 5px;\n}\n\n.sjpp-dshandleholder\n{\n display: inline-block;\n margin: 1px;\n border: solid 1px #545454;\n font-size: .9em;\n cursor: default;\n}\n\n.sjpp-dslabel\n{\n display: inline-block;\n color: black;\n padding: 2px 4px;\n\n}\n/* client/src/block.js end */\n\n\n/* client/src/app.js start */\n.sjpp-input-div-gene-pos\n{\n display: inline-block;\n padding-right: 5px;\n}\n\n.sjpp-input-gene-pos\n{\n border: solid 1px #545454;\n padding: 6px 10px;\n border-radius: 5px;\n}\n\n.sjpp-genome-select-div\n{\n display: inline-block;\n padding-left: 5px;\n}\n\n.sjpp-genome-select\n{\n border-radius: 5px;\n margin: 1px 20px 1px 10px;\n}\n\n.sjpp-output-sandbox-title\n{\n border-radius:4px; \n color:white; \n background-color: #969696; \n padding: 1px 5px; \n display:inline-block; \n font-size:0.8em; \n margin-left:4px;\n}\n/* client/src/app.js end */\n\n/* client/dom/sandbox.ts start */\n.sjpp-output-sandbox-header\n{\n display: inline-block;\n margin: 5px 10px;\n padding-right: 8px;\n margin-bottom: 0px;\n /* box-shadow:2px 0px 2px #f2f2f2; */\n border-radius: 5px 5px 0 0;\n /* background-color: #f2f2f2; */\n z-index: 99;\n}\n\n.sjpp-output-sandbox-content\n{\n margin: 5px 10px;\n margin-top: 0px;\n padding-right: 8px;\n display: inline-block;\n /* box-shadow: 2px 2px 10px #f2f2f2; */\n border: solid 1px #ccc;\n border-top: solid 1px white;\n border-radius: 0 0 5px 5px;\n}\n\n.sjpp-output-sandbox-collapse-btn,\n.sjpp-output-sandbox-expand-btn,\n.sjpp-output-sandbox-close-bt\n{\n /* display: inline-block; */\n /* margin: 0px; */\n /* border-right: solid 2px white; */\n font-size: 16px;\n cursor: default;\n}\n\n.sjpp-output-sandbox-close-bt {\n border-radius: 5px 0 0 0;\n}\n\n/* \nSeparated padding for sandbox buttons to fix close button's\nright, white border not extending to total height of\nsandbox header\n*/\n.sjpp-output-sandbox-collapse-btn,\n.sjpp-output-sandbox-expand-btn {\n padding: 4px 10px;\n}\n\n.sjpp-output-sandbox-close-bt {\n padding: 8px 10px;\n}\n/* client/dom/sandbox.ts end */\n\n\n.sjpp_row_wrapper:hover {\n background: #fcfcca !important; \n}\n/*.sjpp_row_wrapper:nth-child(odd) {background: rgb(237, 237, 237)}*/\n\n.sjpp_table_header {\n font-size: 1em;\n text-align: left;\n position: sticky;\n top: 0;\n opacity: 0.7;\n font-weight: normal;\n}\n\n.sjpp_table_item {\n padding: 3px 5px;\n font-size: 1em;\n text-align: left;\n}\n\n.sjpp_show_scrollbar{\n\t/* set to \"auto\" to avoid showing a gray track as non-functional scrollbar when contents don't scroll at all, since scrollbar track is now gray and no longer white */\n overflow-y: auto;\n overflow-x: auto;\n}\n\n.sjpp_show_scrollbar::-webkit-scrollbar{\n background-color: #f1f1f1; /* use non-white track color so the presence of scrollbar is apparent (gdc requirement) */\n border-radius: 7px;\n width: 14px;\n}\n\n/* This will handle the thumb (scrolling part) */\n.sjpp_show_scrollbar::-webkit-scrollbar-thumb{\n background-color: #858585;\n border-radius: 7px;\n border: 1px solid white;\n}\n\n.sjpp_show_scrollbar::-webkit-scrollbar-thumb:vertical{\n height: 14px!important;\n width: 14px;\n}\n\n.sjpp-matrix-series-group-label-g text,\n.sjpp-matrix-series-label-g text,\n.sjpp-matrix-term-group-label-g text,\n.sjpp-matrix-term-label-g text,\n.sjpp-matrix-label text {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n -user-select: none;\n}\n\n.sjpp-nav\n{\n position: sticky;\n background-color: white;\n width: 100%;\n z-index: 10;\n top: 0px;\n left: 0px;\n padding: 0px 0px 15px 0px;\n}\n\n.add_term_btn {\n border-radius: 6px;\n}\n\n/* greyed-out look while a chart button's plot is loading (see mass/charts.js prepPlot) */\n.sjpp-chart-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n#sjpp-loading-overlay,\n.sjpp-loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color:rgba(255, 255, 255, 0.8);\n}\n\n.sjpp-spinner {\n position: absolute;\n left: calc(50% - 30px);\n top: 30%;\n height: 60px;\n width: 60px;\n margin: 0px auto;\n -webkit-animation: rotation .6s infinite linear;\n -moz-animation: rotation .6s infinite linear;\n -o-animation: rotation .6s infinite linear;\n animation: rotation .6s infinite linear;\n border-left: 6px solid rgba(0, 174, 239, .15);\n border-right: 6px solid rgba(0, 174, 239, .15);\n border-bottom: 6px solid rgba(0, 174, 239, .15);\n border-top: 6px solid rgba(0, 174, 239, .8);\n border-radius: 100%;\n}\n\n.sjpp-spinner-small {\n position: absolute;\n left: calc(50% - 15px);\n top: calc(50% - 15px);\n height: 30px;\n width: 30px;\n margin: 0px auto;\n -webkit-animation: rotation .6s infinite linear;\n -moz-animation: rotation .6s infinite linear;\n -o-animation: rotation .6s infinite linear;\n animation: rotation .6s infinite linear;\n border-left: 3px solid rgba(0, 174, 239, .15);\n border-right: 3px solid rgba(0, 174, 239, .15);\n border-bottom: 3px solid rgba(0, 174, 239, .15);\n border-top: 3px solid rgba(0, 174, 239, .8);\n border-radius: 100%;\n}\n\n@-webkit-keyframes rotation {\n from {-webkit-transform: rotate(0deg);}\n to {-webkit-transform: rotate(359deg);}\n }\n @-moz-keyframes rotation {\n from {-moz-transform: rotate(0deg);}\n to {-moz-transform: rotate(359deg);}\n }\n @-o-keyframes rotation {\n from {-o-transform: rotate(0deg);}\n to {-o-transform: rotate(359deg);}\n }\n @keyframes rotation {\n from {transform: rotate(0deg);}\n to {transform: rotate(359deg);}\n }\n\n\n .sja_root_holder [aria-label], .sja_menu_div [aria-label], .sja_pane [aria-label] {\n position: relative;\n cursor: default;\n }\n\n .sja_root_holder [aria-label]:after, .sja_menu_div [aria-label]:after, .sja_pane [aria-label]:after {\n content: attr(aria-label);\n position: absolute;\n left: 1em;\n top: 1.75em; /* put it on the top */\n /*bottom: 50%;*/\n background-color: white;\n color: #000;\n font-size: 15px;\n padding: 5px;\n opacity: 0;\n z-index: 10000;\n max-width: 350px;\n white-space: wrap;\n pointer-events: none;\n box-shadow: 0px 2px 4px 1px #999;\n text-align: left;\n}\n\n .sja_root_holder [aria-label]:hover:after, .sja_menu_div [aria-label]:hover:after, .sja_pane [aria-label]:hover:after {\n /* uncomment for fading out effect\n animation-name: fadeOut;\n animation-duration: 10s;\n */\n opacity: 1;\n width: max-content;\n }\n\n /* uncomment for fading out effect\n @keyframes fadeOut {\n 0% {\n opacity: 1;\n width: max-content;\n \n }\n\n 100% {\n opacity: 0;\n width: max-content;\n\n }\n }*/\n`);\n\t\t\t\tdocument.adoptedStyleSheets.push(styles);\n\t\t\t\t", "// depending on the bundler, stylesheets may be outputted separately as a css file\n// and thus require the embedder or runpp caller to manually include a link rel='stylesheet',\n// or the bundled code itself may dynamically attach that link stylesheet\nimport './style-normalize-scoped.css'\nimport 'highlight.js/styles/github.css'\nimport './style.css'\nimport { select as d3select, selectAll as d3selectAll } from 'd3-selection'\nimport * as client from './client'\nimport { dofetch3, setAuth, clearServerDataCache } from '#common/dofetch'\nimport { findgenemodel_bysymbol } from './gene'\nimport * as common from '#shared/common.js'\nimport { bulkui, bulkembed } from './bulk.ui'\nimport { string2pos } from './coord'\nimport { loadstudycohort } from './tp.init'\nimport blockinit from './block.init'\nimport * as parseurl from './app.parseurl'\nimport { init_mdsjson } from './app.mdsjson'\nimport urlmap from '#common/urlmap'\nimport { Menu, renderSandboxFormDiv, sayerror } from '#dom'\nimport { mayLaunchGdcPlotFromRunpp } from '../gdc/launch.ts'\nimport { childCorsMessage } from '#common/embedder-helpers'\nimport { observeElem } from './app.observer.js'\n\n/*\nexports a function runproteinpaint(), referred to as \"runpp\"\nrunpp arg:\n\t- styles ''\n\t\tsupports overriding css styles, with or without using sjpp CSS tag or class names\n\t\tadvantage:\n\t\t* offers more freedom at customization at runpp level\n\t\t* is ds-independent and possible to make same ds appears different in multiple browser tabs\n\t\t* entirely up to \"portal\" code and no need to track any such settings in pp repos\n\n\t\trunproteinpaint({\n\t\t\tstyles: `.sja_root_holder {\n\t\t\t\tfont-family: cursive\n\t\t\t}`\n\t\t})\n\nrunpp is called for launching anything from pp\nreturns a promise that resolve to something e.g. block\n\ninternal \"app{}\"\n.debugmode\n.error0()\n.genomes{}\n.holder\n.holder0\n.hostURL\n.callbacks{}\n.instanceTrackers{}\n\n********** INTERNAL\n\n********** loaders from parseEmbedThenUrl()\n\nlaunchblock()\nmay_launchGeneView\n\tlaunchgeneview()\nlaunchfusioneditor()\nlaunchmavb()\nlaunch2dmaf()\nlaunchhic()\nlaunchsamplematrix()\nlaunchmdssamplescatterplot\nlaunchmdssurvivalplot\nlaunch_fimo\nlaunch_genefusion\nlaunch_singlecell\n\ngeneSearch4GDCmds3\nlaunchGdcMatrix\nlaunchGdcHierCluster\nlaunchGdcMaf\ngdcbamslice\n*/\n\n// uncomment the early new menu instantiation below, to test by opening http://localhost:3000/front.html,\n// should see `Uncaught TypeError: Cannot set properties of null (setting 'ancestor_menus')` in the\n// browser console; TODO: create an automated test for front bundling to detect bug-fix regressions\nlet headtip // = new Menu({ padding: '0px', offsetX: 0, offsetY: 0 }); headtip.d.style('z-index', 5555);\n\nexport function runproteinpaint(arg) {\n\tif (document.body === null || arg.holder === null) {\n\t\t// sanity check for when an embedder calls runpp() before the holder element is ready;\n\t\t// examples of when this might happen: putting the runpp() call within `<head>`,\n\t\t// which may not work if there are no async steps before the runpp() call\n\t\tconst e = `Call runproteinpaint() only after arg.holder is ready`\n\t\talert(e)\n\t\tconsole.error(e)\n\t}\n\n\tif (arg.styles) {\n\t\t// must load portal css overrides after imports of git-tracked css files\n\t\tif (typeof arg.styles != 'string') throw 'arg.styles{} not string'\n\t\tconst styles = new CSSStyleSheet()\n\t\tstyles.replaceSync(arg.styles)\n\t\tdocument.adoptedStyleSheets.push(styles)\n\t}\n\n\tif (!headtip) {\n\t\theadtip = new Menu({ padding: '0px', offsetX: 0, offsetY: 0 })\n\t\theadtip.d.style('z-index', 5555)\n\t\t// headtip must get a crazy high z-index so it can stay on top of all, no matter if server config has base_zindex or not\n\t}\n\n\t/* the \"app\" object is the main Proteinpaint instance, unique for each runproteinpaint() call\n\tNOTE: this app instance may be returned or not depending on the\n\tresults of parseEmbedThenUrl()\n\tTODO: standardize runpp() return value to better work with external portal\n\t*/\n\tconst app = {\n\t\terror0(m) {\n\t\t\tclient.sayerror(app.holder0, m)\n\t\t},\n\n\t\t/*\n\t\tserver emitted state, if true, will trigger globals e.g. window.bb\n\t\tit needs to be set before launching any apps\n\t\t*/\n\t\tdebugmode: false,\n\t\t// event callbacks for dynamically-loaded renderer instances\n\t\tcallbacks: arg.callbacks || { sjcharts: {} },\n\t\t// object to store instances as created by dynamically loaded apps/renderers\n\t\t// the default is to have a unique tracker per Proteinpaint app instance\n\t\tinstanceTracker: arg.instanceTracker || { sjcharts: {} }\n\t}\n\n\tsetHostUrl(arg, app)\n\t// subnest an sjcharts object to track its app instances by rendererType,\n\t// to avoid namespace conflicts with PP renderer instances\n\tif (!app.instanceTracker.sjcharts) {\n\t\tapp.instanceTracker.sjcharts = {}\n\t}\n\tif (!app.callbacks.sjcharts) {\n\t\tapp.callbacks.sjcharts = {}\n\t}\n\n\tif (arg.clear) {\n\t\t// for use by pecan\n\t\td3selectAll('.sja_pane').remove()\n\t\treturn\n\t}\n\n\t// parse embedding arguments\n\tapp.holder = d3select(arg.holder || document.body)\n\t\t.append('div')\n\t\t.attr('class', 'sja_root_holder')\n\t\t//must not use the method of \".datum({ clientVersion })\", as d3 propagates bound data custom property to all descendents and are accidentally passed to event listeners\n\t\t.attr('data-ppclientversion', `___current-proteinpaint-client-version___`)\n\t\t.style('font-size', '1em')\n\t\t.style('color', 'black')\n\t\t.on('click', e => {\n\t\t\t// do not bubble down/bubble up events from elements above/below the holder\n\t\t\te.stopPropagation()\n\t\t\t// in case the holder is wrapped inside a form div, pp buttons should not trigger a submission\n\t\t\t// clicks on other elements, such as radio inputs, checkboxes, etc, should still work\n\t\t\tif (e.target.tagName == 'BUTTON') e.preventDefault()\n\t\t})\n\n\tobserveElem(app.holder.node())\n\n\tapp.sandbox_header = arg.sandbox_header || undefined\n\n\tif (arg.jwt) {\n\t\tsessionStorage.setItem('jwt', arg.jwt)\n\t}\n\n\t// replace the stored value for this option\n\t// for multiple runpp calls in the same page, the last call may override\n\t// previous stored values for this option in the same browser tab\n\tsessionStorage.setItem('suppressErrors', JSON.stringify(arg.suppressErrors))\n\n\tif (arg.variantPageCall_snv) {\n\t\tapp.variantPageCall_snv = arg.variantPageCall_snv\n\t}\n\tif (arg.samplecart) {\n\t\tapp.samplecart = arg.samplecart\n\t}\n\n\tif (arg.base_zindex) {\n\t\t/*\n\t\tdirty fix! to set base_zindex global in client.js\n\t\tdone the same in /genomes\n\t\t*/\n\t\tclient.newpane({ setzindex: arg.base_zindex })\n\t}\n\n\t// option to use a server data cache in memory\n\t// during a browser page session\n\t// see client.dofetch2 for how the cache name is derived\n\tconst serverData =\n\t\targ.serverData ||\n\t\t// allow server data caching by app,\n\t\t// may generalize later\n\t\t(arg.termdb && arg.termdb.serverData)\n\t// load genomes\n\n\tconst response = dofetch3('genomes', {}, { serverData })\n\n\treturn response\n\t\t.then(async data => {\n\t\t\tif (data.error) throw { message: 'Cannot get genomes: ' + data.error }\n\t\t\tif (!data.genomes) throw { message: 'no genome data!?' }\n\t\t\tif (data.debugmode) app.debugmode = true\n\n\t\t\tif (data.base_zindex) {\n\t\t\t\tclient.newpane({ setzindex: data.base_zindex })\n\t\t\t}\n\t\t\tif (data.features) {\n\t\t\t\tsessionStorage.setItem('optionalFeatures', JSON.stringify(data.features))\n\t\t\t}\n\n\t\t\tapp.genomes = data.genomes\n\t\t\tapp.cardsPath = data.cardsPath\n\t\t\tapp.pkgver = data.pkgver\n\t\t\tapp.launchDate = data.launchdate\n\t\t\tawait setAuth({ dsAuth: data.dsAuth, holder: app.holder })\n\n\t\t\tif (data.commonOverrides || arg.commonOverrides) {\n\t\t\t\tconst commonOverrides = Object.assign(data.commonOverrides || {}, arg.commonOverrides || {})\n\t\t\t\t// NOTE: required or imported code files are only loaded once\n\t\t\t\t// and module variables are static so that changes to common key-values will affect all\n\t\t\t\t// client-side code that import common.js\n\t\t\t\t// TODO??: server-side rendered viz should see client-side arg.commonOverrides ???\n\t\t\t\tcommon.applyOverrides(commonOverrides)\n\t\t\t\t// allow external lib that is loaded from same pp URL host, like sjcharts,\n\t\t\t\t// to indirectly recover overrides, without having to pass it through nested functions\n\t\t\t\tsessionStorage.setItem('commonOverrides', JSON.stringify(commonOverrides))\n\t\t\t}\n\t\t\t// TODO: may import(style-normalize-unscoped.css) here for pp portals\n\t\t\t// where is it certain html, body css resets will not conflict with portal styles;\n\t\t\t// will also need to remove the import of the unscoped.css file from style.css\n\t\t\tif (data.targetPortal && data.targetPortal == 'gdc') await import('./style.gdc.css')\n\n\t\t\t// genome data init\n\t\t\tfor (const genomename in app.genomes) {\n\t\t\t\tconst err = initgenome(app.genomes[genomename])\n\t\t\t\tif (err) {\n\t\t\t\t\tthrow { message: 'Error with ' + genomename + ' genome: ' + err }\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// if any such condition is true, ppheader will not be shown. this avoids need to always add \"&noheader=1\" in url param and runpp() arg in such frequent cases\n\t\t\tif (\n\t\t\t\t!arg.noheader &&\n\t\t\t\t!arg.mass &&\n\t\t\t\t!arg.massSessionId &&\n\t\t\t\t!arg.massSessionFile &&\n\t\t\t\t!window.location.search.includes('noheader') &&\n\t\t\t\t!window.location.search.includes('mass-session-id') &&\n\t\t\t\t!window.location.search.includes('mass-session-file') &&\n\t\t\t\t!window.location.search.includes('mass-session-url') &&\n\t\t\t\t!window.location.search.includes('massnative') &&\n\t\t\t\t!window.location.search.includes('mass')\n\t\t\t) {\n\t\t\t\t// all conditions are false. show header\n\t\t\t\tconst _ = await import('./header/AppHeader.ts')\n\t\t\t\tconst appHeader = new _.AppHeader({\n\t\t\t\t\theadtip,\n\t\t\t\t\tapp,\n\t\t\t\t\tdata,\n\t\t\t\t\tjwt: arg.jwt\n\t\t\t\t})\n\n\t\t\t\tawait appHeader.makeheader()\n\t\t\t}\n\n\t\t\tapp.holder0 = app.holder.append('div').style('margin', '10px')\n\n\t\t\tconst subapp = await parseEmbedThenUrl(arg, app)\n\t\t\tconst appInstance = subapp || app\n\t\t\tif (app.debugmode && data.features.sse && window.location.pathname != '/puppet.html') {\n\t\t\t\t// this initial import runs within the initial runproteinpaint instance;\n\t\t\t\t// subsequent refresh will use a different runproteinpaint runtime\n\t\t\t\timport(`./notify`)\n\t\t\t\t\t.catch(e => console.warn(`debugmode: server-sent notifications setup failed`, e))\n\t\t\t\t\t.then(({ setRefreshCallback }) => {\n\t\t\t\t\t\tsetRefreshCallback(() => {\n\t\t\t\t\t\t\tif (subapp?.destroy) subapp.destroy()\n\t\t\t\t\t\t\td3select(arg.holder ? arg.holder : document.body)\n\t\t\t\t\t\t\t\t.selectAll('*')\n\t\t\t\t\t\t\t\t.remove()\n\t\t\t\t\t\t\tsseRefreshCallback(arg, appInstance)\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t}\n\t\t\tif (!arg.origSubApp && subapp) arg.origSubApp = subapp\n\t\t\t// this returned instance is the second argument to\n\t\t\treturn appInstance\n\t\t})\n\t\t.catch(err => {\n\t\t\tif (!app.holder.text()?.includes(err.message || err)) app.holder.text(err.message || err)\n\t\t\tif (err.stack) console.log(err.stack)\n\t\t})\n}\n\n// boundApps is a tracker for PP app instances\n// - keys are DOM elem\n// - values are app instance promise or fully-resolved instance\n// with an update() and getState() method\nconst boundApps = new WeakMap()\n\n// bindProteinPaint()\n// - uses runproteinpaint()\n// - \"binds\" the resulting app instance to the arg.holder DOM element\n// - ensures that a bound instance will be reused as needed, making\n// it more suitable for use in an embedder's reactive framework\n// - checks for stale state and app instance, which is critical in\n// a portal that may dispatch state updates in quick succession,\n// and ensures that the latest data (in prod and dev) gets rendered\n// by the latest code bundle (in dev HMR)\n//\n// bound app instance API must expose these functions/interface\n// {\n// update(newState): {...} // for reactive re-render\n// getState?: () => (/*full app state object to allow recovering views on HMR */)\n// }\n//\nexport function bindProteinPaint({ rootElem, initArgs, updateArgs, isStale, hasChangedUsername }) {\n\tconst app = boundApps.get(rootElem)\n\tif (hasChangedUsername) clearServerDataCache()\n\n\t// A PP tool instance may become stale due to new data and/or code version release, and\n\t// in case a user browser session remained open to an outdated tool view while a new version was published.\n\t// In dev, tool instance staleness may be triggered by a bundler's hot-module-replacement (works with nextjs + webpack).\n\t// In prod, this may be detected from a response header or payload property (TODO).\n\tif (app) {\n\t\t// an existing app instance should not rerender data that has not been updated\n\t\tif (!updateArgs) return app\n\t\tif (typeof app.then != 'function') {\n\t\t\t// the app instance has finished initializing (replaced an instance promise)\n\t\t\tif (!isStale()) app.update(updateArgs)\n\t\t\treturn app\n\t\t} else {\n\t\t\t// The app instance has not finished initializing, it's still an unresolved Promise.\n\t\t\t// In case another state update comes in when there is already\n\t\t\t// an instance that is being created, debounce to the last update\n\t\t\t// Except: during startup in demo mode, the filter0 is not expected to change,\n\t\t\t// so don't trigger a non-user reactive update right after the initial rendering\n\t\t\tif (app.initTimeout) clearTimeout(app.initTimeout)\n\n\t\t\tapp.initTimeout = setTimeout(() => {\n\t\t\t\tdelete app.initTimeout\n\t\t\t\tapp.then(() => {\n\t\t\t\t\tif (!isStale()) app.update(updateArgs)\n\t\t\t\t})\n\t\t\t}, 20)\n\t\t\treturn app\n\t\t}\n\t} else {\n\t\tconst pp_holder = rootElem.querySelector('.sja_root_holder')\n\t\tif (pp_holder) pp_holder.remove()\n\n\t\tif (!initArgs.opts) initArgs.opts = {}\n\t\tif (!initArgs.opts.app) initArgs.opts.app = {}\n\t\t// default to not awaiting the initial render to finish, so that the app instance\n\t\t// will be available sooner to allow calling appApi.triggerAbort() during initial render,\n\t\t// as may be needed to cancel unnecessary network requests when PP is embedded in portals\n\t\t// that allow switching to other views\n\t\tif (!Object.keys(initArgs.opts.app).includes('doNotAwaitInitRender')) initArgs.opts.app.doNotAwaitInitArgs = true\n\n\t\tconst arg = Object.assign(\n\t\t\tinitArgs,\n\t\t\tupdateArgs || {},\n\t\t\t// may reapply previously rendered state from an unbound stale instance\n\t\t\t{\n\t\t\t\tstate: Object.assign(rootElem._ppAppState || {}, initArgs.state || {})\n\t\t\t}\n\t\t)\n\n\t\tdelete rootElem._ppAppState\n\n\t\tconst newAppInstance = runproteinpaint(arg).then(pp => {\n\t\t\t// tracked app is set after the tool fully renders\n\t\t\tboundApps.set(rootElem, pp) // bind the fully resolved instance\n\t\t\treturn pp\n\t\t})\n\t\t// initially track the app as an unresolved promise\n\t\tboundApps.set(rootElem, newAppInstance)\n\t\treturn newAppInstance\n\t}\n}\n\n/*\n\targ: runproteinpaint argument\n\tsubapp: the app instance that was returned from a runpp() call\n*/\nasync function sseRefreshCallback(arg, subapp) {\n\tif (subapp?.destroy) subapp.destroy()\n\td3select(arg.holder ? arg.holder : document.body)\n\t\t.selectAll('*')\n\t\t.remove()\n\n\tconst app = boundApps.has(arg.holder) && boundApps.get(arg.holder)\n\n\tif (app) {\n\t\t// assume consistent usage of bindProteinPaint() for the same holder DOM,\n\t\t// and in that case, avoid acting on a stale app instance\n\t\tif (subapp && app != subapp) return\n\n\t\t// unbind the stale app instance from the holder DOM element\n\t\targ.holder._ppAppState = structuredClone(app.getState?.()) // may reuse state in refresh\n\t\tboundApps.delete(arg.holder)\n\t\t// expect an embedder portal's dev bundler to trigger hot-module-replacement,\n\t\t// no need to refresh with a call to runproteinpaint()\n\t} else {\n\t\t// re-import rebundled PP code, expects esbuild to generate\n\t\t// chunks with the same filename hashes, except for code files that\n\t\t// have changed, which will force redownload of updated ESM chunks\n\t\tif (!arg.pphost)\n\t\t\targ.pphost = arg.host\n\t\t\t\t? window.location.protocol + '//' + arg.host.split('://')[1]?.split('/')[0]\n\t\t\t\t: window.location.origin\n\n\t\tif (subapp.getState) arg.state = structuredClone(subapp.getState())\n\t\tconst subapp1 = await import(\n\t\t\t// embedder portal bundler should ignore this PP-only hot-module-replacement\n\t\t\t/*webpackIgnore: true*/ `${arg.pphost}/bin/dist/app.js?_=${Date.now()}`\n\t\t)\n\t\t\t.then(_ => _.runproteinpaint(arg))\n\t\t\t.catch(console.log)\n\n\t\tif (arg.origSubApp && subapp1 && !Object.isFrozen(arg.origSubApp)) {\n\t\t\targ.origSubApp.update = arg => subapp1.update(arg)\n\t\t} else if (!Object.isFrozen(arg.subApp)) {\n\t\t\tsubapp.update = arg => subapp1.update(arg)\n\t\t}\n\t}\n}\n\nrunproteinpaint.getStatus = async function getStatus(outputAs = '') {\n\treturn await fetch('/healthcheck')\n\t\t.then(res => res.json())\n\t\t.then(res => {\n\t\t\tconst status = {\n\t\t\t\tclientVersion: document.querySelector('.sja_root_holder')?.dataset.ppclientversion,\n\t\t\t\tversionInfo: res.versionInfo\n\t\t\t}\n\t\t\tif (outputAs == 'log') console.info(status)\n\t\t\telse if (outputAs == 'json') return JSON.stringify(status)\n\t\t\telse return status\n\t\t})\n\t\t.catch(console.error)\n}\n\n// KEEP THIS ppsrc DECLARATION AT THE TOP SCOPE !!!\n// need to know the script src when pp is first loaded\n// the source context may be lost after the pp script is loaded\n// and a different script gets loaded in the page\nconst ppsrc = (document && document.currentScript && document.currentScript.src) || ''\n\nfunction setHostUrl(arg, app) {\n\t// attaching hostURL to app will allow different hostURLs for each holder\n\t// when calling runproteinpaint() multiple times in the same page\n\n\tif (arg.host) {\n\t\tapp.hostURL = arg.host\n\t} else if (window.location.hostname == 'localhost') {\n\t\t// easily switch server host for testing in developer machine,\n\t\t// for example the rendered data from a docker container vs host machine\n\t\tconst urlp = urlmap()\n\t\tif (urlp.has('hosturl')) app.hostURL = urlp.get('hosturl')\n\t\telse if (window.testHost) {\n\t\t\tapp.hostURL = window.testHost\n\t\t} else {\n\t\t\tconst hostname = urlp.get('hostname')\n\t\t\tconst hostport = urlp.get('hostport')\n\t\t\tconst prot = window.location.protocol + '//'\n\t\t\tif (hostname && hostport) app.hostURL = prot + hostname + ':' + hostport\n\t\t\telse if (hostname) app.hostURL = prot + hostname\n\t\t\telse if (hostport) app.hostURL = prot + window.location.hostname + ':' + hostport\n\t\t}\n\t}\n\n\tif (!app.hostURL) {\n\t\tif (ppsrc.includes('://')) {\n\t\t\t// use the script source as the host URL\n\t\t\tapp.hostURL = ppsrc.split('://')[0] + '://' + ppsrc.split('://')[1].split('/')[0]\n\t\t} else {\n\t\t\tapp.hostURL = ''\n\t\t}\n\t}\n\n\t// strip trailing slash\n\tif (app.hostURL.endsWith('/')) app.hostURL = app.hostURL.slice(0, -1)\n\n\t// store fetch parameters\n\tsessionStorage.setItem('hostURL', app.hostURL)\n}\n\nasync function parseEmbedThenUrl(arg, app) {\n\t/*\n\tfirst, try to parse any embedding parameters\n\tquit in case of any blocking things\n\tafter exhausting embedding options, try URL parameters\n\n\targ: embedding param\n\tapp: {genomes, study, holder0, hostURL, debugmode, jwt?, selectgenome, genome_browser_btn}\n\n\t*/\n\n\tif (arg.genome && app.selectgenome) {\n\t\t// embedding argument specified genome, so flip the <select>\n\t\tfor (let i = 0; i < app.selectgenome.node().childNodes.length; i++) {\n\t\t\tif (app.selectgenome.node().childNodes[i].value == arg.genome) {\n\t\t\t\tapp.selectgenome.property('selectedIndex', i)\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\n\tif (arg.mclassOverride) {\n\t\tif (!arg.mclassOverride.className) arg.mclassOverride.className = 'Class'\n\t\tfor (const k in arg.mclassOverride.classes) {\n\t\t\tconst c = common.mclass[k]\n\t\t\tif (c) {\n\t\t\t\tObject.assign(c, arg.mclassOverride.classes[k])\n\t\t\t}\n\t\t}\n\t}\n\n\tif (arg.singlecell) {\n\t\tlaunch_singlecell(arg.singlecell, app)\n\t\treturn app\n\t}\n\n\tif (arg.fimo) {\n\t\tlaunch_fimo(arg.fimo, app)\n\t\treturn app\n\t}\n\n\tif (arg.mdssurvivalplot) {\n\t\tif (arg.genome) arg.mdssurvivalplot.genome = arg.genome\n\t\tlaunchmdssurvivalplot(arg.mdssurvivalplot, app)\n\t\treturn app\n\t}\n\n\tif (arg.mdssamplescatterplot) {\n\t\tif (arg.genome) arg.mdssamplescatterplot.genome = arg.genome\n\t\tlaunchmdssamplescatterplot(arg.mdssamplescatterplot, app)\n\t\treturn app\n\t}\n\n\tif (arg.samplematrix) {\n\t\targ.samplematrix.jwt = arg.jwt\n\t\tlaunchsamplematrix(arg.samplematrix, app)\n\t\treturn app\n\t}\n\n\tif (arg.hic) {\n\t\targ.hic.jwt = arg.jwt\n\t\tlaunchhic(arg.hic, app)\n\t\treturn app\n\t}\n\n\tif (arg.block) {\n\t\t// load this before study / studyview\n\t\treturn launchblock(arg, app)\n\t}\n\n\tif (arg.study) {\n\t\t// launch study-view through name of server-side configuration file (study.json)\n\t\tloadstudycohort(\n\t\t\tapp.genomes,\n\t\t\targ.study,\n\t\t\tapp.holder0,\n\t\t\tapp.hostURL,\n\t\t\targ.jwt,\n\t\t\tfalse, // no show\n\t\t\tapp\n\t\t)\n\t\treturn app\n\t}\n\n\tif (arg.studyview) {\n\t\t// launch study-view through an object\n\t\tconst obj = arg.studyview\n\t\tobj.hostURL = arg.host\n\t\tconst gn = obj.genome || arg.genome\n\t\tobj.genome = app.genomes[gn]\n\t\tobj.hostURL = app.hostURL\n\t\tobj.jwt = arg.jwt\n\t\tobj.holder = app.holder0\n\t\tbulkembed(obj)\n\t\treturn app\n\t}\n\n\tif (await may_launchGeneView(arg, app)) {\n\t\t// gene view launched\n\t\treturn app\n\t}\n\n\tif (arg.fusioneditor) {\n\t\tlaunchfusioneditor(arg, app)\n\t\treturn app\n\t}\n\n\tif (arg.genefusion) {\n\t\tlaunch_genefusion(arg, app)\n\t\treturn app\n\t}\n\n\tif (arg.mavolcanoplot) {\n\t\tlaunchmavb(arg, app)\n\t\treturn app\n\t}\n\n\tif (arg.twodmaf) {\n\t\tlaunch2dmaf(arg, app)\n\t\treturn app\n\t}\n\n\tif (arg.junctionbymatrix) {\n\t\tlaunchJunctionbyMatrix(arg, app)\n\t\treturn\n\t}\n\n\tif (arg.selectGenomeWithTklst) {\n\t\tawait launchSelectGenomeWithTklst(arg, app)\n\t\treturn\n\t}\n\n\tif (arg.disco) {\n\t\treturn await launchDisco(arg, app)\n\t}\n\n\tif (arg.parseurl && location.search.length) {\n\t\t/*\n\t\tsince jwt token is only passed from arg of runpp()\n\t\tso no way of sending it via url parameter, thus url parameter won't work when jwt is activated\n\t\t*/\n\t\ttry {\n\t\t\treturn await parseurl.parse({\n\t\t\t\tapp,\n\t\t\t\tgenomes: app.genomes,\n\t\t\t\thostURL: app.hostURL,\n\t\t\t\tvariantPageCall_snv: app.variantPageCall_snv,\n\t\t\t\tsamplecart: app.samplecart,\n\t\t\t\tholder: app.holder,\n\t\t\t\tselectgenome: app.selectgenome,\n\t\t\t\tgenome_browser_btn: app.genome_browser_btn,\n\t\t\t\tdebugmode: app.debugmode,\n\t\t\t\tstate: arg.state\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tapp.error0(e)\n\t\t\tconsole.error(e.stack || e)\n\t\t}\n\t}\n\n\tif (arg.project) {\n\t\tlet holder = undefined\n\t\tif (arg.project.uionly) holder = app.holder0\n\t\tbulkui(0, 0, app.genomes, app.hostURL, holder, app.sandbox_header)\n\t}\n\n\tif (arg.termdb) {\n\t\tawait launchtermdb(arg.termdb, app)\n\t}\n\tif (arg.maftimeline) {\n\t\tlaunchmaftimeline(arg, app)\n\t}\n\n\t{\n\t\tconst _ = await mayLaunchGdcPlotFromRunpp(arg, app)\n\t\tif (_) return _\n\t}\n\n\tif (arg.mass) {\n\t\tconst subapp = await launchmass(arg, app)\n\t\treturn subapp\n\t}\n\n\tif (arg.tkui) {\n\t\tlaunch_tkUIs(arg, app)\n\t}\n\n\tif (arg.massSessionId) {\n\t\tconst res = await client.dofetch3(`/massSession?id=${arg.massSessionId}`)\n\t\tif (res.error) throw res.error\n\t\tconst opts = {\n\t\t\tdebug: app.debugmode,\n\t\t\tholder: app.holder0,\n\t\t\tstate: res.state,\n\t\t\tgenome: app.genomes[res.state.vocab.genome],\n\t\t\tmassSessionDuration: res.massSessionDuration,\n\t\t\tgetDatasetAccessToken: arg.getDatasetAccessToken,\n\t\t\taddLoginCallback: arg.addLoginCallback\n\t\t}\n\t\tconst _ = await import('../mass/app')\n\t\t_.appInit(opts)\n\t\treturn\n\t}\n\n\tif (arg.massSessionFile || arg.massSessionURL) {\n\t\tlet state\n\t\tif (arg.massSessionFile) {\n\t\t\tconst file = arg.massSessionFile\n\t\t\tconst jsonFile = await client.dofetch3(`/textfile`, {\n\t\t\t\tmethod: 'POST',\n\t\t\t\tbody: JSON.stringify({ file })\n\t\t\t})\n\t\t\tif (jsonFile.error) throw jsonFile.error\n\t\t\tstate = JSON.parse(jsonFile.text)\n\t\t} else {\n\t\t\tconst url = arg.massSessionURL\n\t\t\tconst jsonURL = await client.dofetch3(`/urltextfile`, {\n\t\t\t\tmethod: 'POST',\n\t\t\t\tbody: JSON.stringify({ url })\n\t\t\t})\n\t\t\tif (jsonURL.error) throw jsonURL.error\n\t\t\tstate = JSON.parse(jsonURL.text)\n\t\t}\n\t\tconst opts = {\n\t\t\tdebug: app.debugmode,\n\t\t\tholder: app.holder0,\n\t\t\tstate,\n\t\t\tgenome: app.genomes[state.vocab.genome]\n\t\t}\n\t\tconst _ = await import('../mass/app')\n\t\t_.appInit(opts)\n\t\treturn\n\t}\n}\n\nasync function may_launchGeneView(arg, app) {\n\t// arg.gene is required to launch gene view\n\t// arg.gene may come from different places\n\tif (arg.p) {\n\t\t// backward-compatible with old parameter name\n\t\targ.gene = arg.p\n\t\tdelete arg.p\n\t}\n\tif (arg.gene2canonicalisoform) {\n\t\tif (!arg.genome) throw '.genome missing for gene2canonicalisoform'\n\t\tconst data = await client.dofetch2(\n\t\t\t'gene2canonicalisoform?genome=' + arg.genome + '&gene=' + arg.gene2canonicalisoform\n\t\t)\n\t\tif (data.error) throw data.error\n\t\tif (!data.isoform) throw 'no canonical isoform for given gene accession'\n\t\targ.gene = data.isoform\n\t}\n\tif (arg.mds3_ssm2canonicalisoform) {\n\t\t/* logic specific for mds3 gdc dataset\n\t\tgiven a ssm id, retrieve the canonical isoform and launch gene view with it\n\t\t*/\n\t\tif (!arg.genome) throw '.genome missing'\n\t\tif (!arg.mds3_ssm2canonicalisoform.ssm_id) throw '.ssm_id missing from mds3_ssm2canonicalisoform'\n\t\tif (!arg.mds3_ssm2canonicalisoform.dslabel) throw '.dslabel missing from mds3_ssm2canonicalisoform'\n\t\tconst data = await client.dofetch2(\n\t\t\t'mds3?' +\n\t\t\t\t'genome=' +\n\t\t\t\targ.genome +\n\t\t\t\t'&dslabel=' +\n\t\t\t\targ.mds3_ssm2canonicalisoform.dslabel +\n\t\t\t\t'&ssm2canonicalisoform=1' +\n\t\t\t\t'&ssm_id=' +\n\t\t\t\targ.mds3_ssm2canonicalisoform.ssm_id\n\t\t)\n\t\tif (data.error) throw data.error\n\t\tif (!data.isoform) throw 'no isoform found for given ssm_id'\n\t\targ.gene = data.isoform\n\t\t// will also highlight this ssm\n\t\tif (arg.tracks) {\n\t\t\tconst tk = arg.tracks.find(i => i.dslabel == arg.mds3_ssm2canonicalisoform.dslabel)\n\t\t\tif (tk) {\n\t\t\t\ttk.hlssmid = arg.mds3_ssm2canonicalisoform.ssm_id\n\t\t\t}\n\t\t}\n\t}\n\tif (arg.gene) {\n\t\tawait launchgeneview(arg, app)\n\t\treturn true\n\t}\n\treturn false\n}\n\nasync function launchmdssamplescatterplot(arg, app) {\n\tif (!arg.genome) {\n\t\tapp.error0('missing genome for mdssamplescatterplot')\n\t\treturn\n\t}\n\tconst genome = app.genomes[arg.genome]\n\tif (!genome) {\n\t\tapp.error0('invalid genome for mdssamplescatterplot')\n\t\treturn\n\t}\n\targ.genome = genome\n\tif (arg.dataset) {\n\t\targ.mds = genome.datasets[arg.dataset]\n\t\tif (!arg.mds) {\n\t\t\tapp.error0('invalid dataset for mdssamplescatterplot')\n\t\t\treturn\n\t\t}\n\t\targ.dslabel = arg.dataset\n\t\tdelete arg.dataset\n\n\t\tif (arg.mds.mdsIsUninitiated) {\n\t\t\tconst d = await dofetch3(`getDataset?genome=${arg.genome.name}&dsname=${arg.dslabel}`)\n\t\t\tif (d.error) throw d.error\n\t\t\tif (!d.ds) throw 'ds missing'\n\t\t\tObject.assign(arg.mds, d.ds)\n\t\t\tdelete arg.mds.mdsIsUninitiated\n\t\t}\n\t} else if (arg.analysisdata) {\n\t\t// validate later\n\t} else if (arg.analysisdata_file) {\n\t\ttry {\n\t\t\tconst data = await client.dofetch('textfile', { file: arg.analysisdata_file })\n\t\t\tif (data.error) throw tmp.error\n\t\t\telse if (data.text) arg.analysisdata = JSON.parse(data.text)\n\t\t} catch (e) {\n\t\t\tapp.error0(e)\n\t\t\treturn\n\t\t}\n\t} else {\n\t\tapp.error0('neither .dataset or .analysisdata is given')\n\t\treturn\n\t}\n\n\timport('./mds.samplescatterplot').then(_ => {\n\t\t_.init(arg, app.holder0, app.debugmode)\n\t})\n}\n\nfunction launchmdssurvivalplot(arg, app) {\n\tif (!arg.genome) {\n\t\tapp.error0('missing genome for mdssurvivalplot')\n\t\treturn\n\t}\n\tconst genome = app.genomes[arg.genome]\n\tif (!genome) {\n\t\tapp.error0('invalid genome for mdssurvivalplot')\n\t\treturn\n\t}\n\targ.genome = genome\n\tif (!arg.dataset) {\n\t\tapp.error0('missing dataset for mdssurvivalplot')\n\t\treturn\n\t}\n\targ.mds = genome.datasets[arg.dataset]\n\tif (!arg.mds) {\n\t\tapp.error0('invalid dataset for mdssurvivalplot')\n\t\treturn\n\t}\n\tdelete arg.dataset\n\tif (arg.plotlist) {\n\t\tfor (const p of arg.plotlist) {\n\t\t\t// instruct this plot to be shown by default\n\t\t\tp.renderplot = 1\n\t\t}\n\t}\n\timport('./mds.survivalplot').then(_ => {\n\t\t_.init(arg, app.holder0, app.debugmode)\n\t})\n}\n\nfunction launch_fimo(arg, app) {\n\tif (!arg.genome) {\n\t\tapp.error0('missing genome for fimo')\n\t\treturn\n\t}\n\tconst genome = app.genomes[arg.genome]\n\tif (!genome) {\n\t\tapp.error0('invalid genome for fimo')\n\t\treturn\n\t}\n\targ.genome = genome\n\targ.div = app.holder0\n\timport('./mds.fimo').then(_ => {\n\t\t_.init(arg)\n\t})\n}\n\nfunction launchhic(hic, app) {\n\tif (!hic.genome) {\n\t\tapp.error0('missing genome for hic')\n\t\treturn\n\t}\n\thic.genome = app.genomes[hic.genome]\n\tif (!hic.genome) {\n\t\tapp.error0('invalid genome for hic')\n\t\treturn\n\t}\n\tif (!hic.file) {\n\t\tapp.error0('missing file for hic')\n\t\treturn\n\t}\n\thic.hostURL = app.hostURL\n\thic.holder = app.holder0\n\timport('../tracks/hic/HicApp.ts').then(async _ => {\n\t\tawait _.hicInit(hic, app.debugmode)\n\t})\n}\n\nfunction launchsamplematrix(cfg, app) {\n\tif (!cfg.genome) {\n\t\tapp.error0('missing genome for launching samplematrix')\n\t\treturn\n\t}\n\tcfg.genome = app.genomes[cfg.genome]\n\tif (!cfg.genome) {\n\t\tapp.error0('invalid genome for samplematrix')\n\t\treturn\n\t}\n\tcfg.hostURL = app.hostURL\n\tcfg.holder = app.holder0\n\tcfg.debugmode = app.debugmode\n\timport('./samplematrix').then(_ => {\n\t\tnew _.Samplematrix(cfg)\n\t})\n}\n\nasync function launchgeneview(arg, app) {\n\tif (!arg.genome) {\n\t\tapp.error0('Cannot embed: must specify reference genome')\n\t\treturn\n\t}\n\tif (arg.tracks) {\n\t\tfor (const t of arg.tracks) {\n\t\t\tif (t.type == 'mds3' && t.dslabel) continue // is an official mds3, do not flag as custom\n\t\t\tt.iscustom = true\n\t\t}\n\t}\n\n\t// when \"tkjsonfile\" is defined, load all tracks as defined in the json file into tracks[]\n\tif (arg.tkjsonfile) {\n\t\tif (!arg.tracks) arg.tracks = []\n\t\tconst urlp = new Map([['tkjsonfile', arg.tkjsonfile]])\n\t\tconst lst = await parseurl.get_tklst(urlp, genomeobj)\n\t\tfor (const i of lst) {\n\t\t\targ.tracks.push(i)\n\t\t}\n\t}\n\n\tconst pa = {\n\t\tjwt: arg.jwt,\n\t\thostURL: app.hostURL,\n\t\tquery: arg.gene,\n\t\tgenome: app.genomes[arg.genome],\n\t\tholder: app.holder0,\n\t\tvariantPageCall_snv: app.variantPageCall_snv,\n\t\tsamplecart: app.samplecart,\n\t\tdebugmode: app.debugmode,\n\t\tdatasetqueries: arg.datasetqueries,\n\t\tmset: arg.mset,\n\t\ttklst: arg.tracks,\n\t\tgmmode: arg.gmmode,\n\t\taarange: arg.aarange,\n\t\thidePdomain: arg.hidePdomain,\n\t\tgeneDomains: arg.geneDomains,\n\t\tmclassOverride: arg.mclassOverride,\n\t\thide_dsHandles: arg.hide_dsHandles,\n\t\tonloadalltk_always: arg.onloadalltk_always\n\t}\n\tlet ds = null\n\tif (arg.dataset) {\n\t\tpa.dataset = arg.dataset.split(',')\n\t\tpa.legacyDsFilter = arg.legacyDsFilter\n\t\tif (arg.hidedatasetexpression) {\n\t\t\tpa.hidedatasetexpression = true\n\t\t}\n\t}\n\tif (arg.hidegenecontrol) {\n\t\tpa.hidegenecontrol = true\n\t}\n\tif (arg.hidegenelegend) {\n\t\tpa.hidegenelegend = true\n\t}\n\tlet hlaa = null\n\tif (arg.hlaachange) {\n\t\thlaa = new Map()\n\t\tif (Array.isArray(arg.hlaachange)) {\n\t\t\tfor (const s of arg.hlaachange) {\n\t\t\t\tif (s.name) {\n\t\t\t\t\thlaa.set(s.name, s)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor (const s of arg.hlaachange.split(',')) {\n\t\t\t\thlaa.set(s, false)\n\t\t\t}\n\t\t}\n\t\tif (hlaa.size) {\n\t\t\tpa.hlaachange = hlaa\n\t\t}\n\t}\n\tif (arg.hlvariants) {\n\t\tpa.hlvariants = arg.hlvariants\n\t}\n\n\tawait blockinit(pa)\n}\n\nasync function launchblock(arg, app) {\n\t/*\n\tlaunch genome browser, rather than gene-view\n\tmay load a study file at same time, to add as .genome.tkset[]\n\t*/\n\tif (!arg.genome) {\n\t\tapp.error0('Cannot embed: must specify reference genome')\n\t\treturn\n\t}\n\tconst genomeobj = app.genomes[arg.genome]\n\tif (!genomeobj) {\n\t\tapp.error0('Invalid genome: ' + arg.genome)\n\t\treturn\n\t}\n\n\tif (arg.study) {\n\t\t/*\n\t\ttry to load this study\n\t\ttracks to be added to .genome.tkset\n\t\tlater to be loaded in the same browser panel\n\n\t\tFIXME asynchronized, won't be able to add tracks directly to current browser\n\t\t*/\n\t\tloadstudycohort(\n\t\t\tapp.genomes,\n\t\t\targ.study,\n\t\t\tapp.holder0,\n\t\t\tapp.hostURL,\n\t\t\targ.jwt,\n\t\t\ttrue, // no show\n\t\t\tapp\n\t\t)\n\t}\n\n\tif (arg.tracks) {\n\t\t// tracks have to be labeled custom, even for smuggled native tracks\n\t\tfor (const t of arg.tracks) {\n\t\t\tif (t.type == client.tkt.mds3 && t.dslabel) continue // is an official mds3, do not flag as custom\n\n\t\t\tif (t.mdsjsonfile || t.mdsjsonurl) {\n\t\t\t\ttry {\n\t\t\t\t\tconst tks = await init_mdsjson(t.mdsjsonfile, t.mdsjsonurl)\n\t\t\t\t\targ.tracks = arg.tracks.filter(tk => tk != t)\n\t\t\t\t\targ.tracks.push(...tks)\n\t\t\t\t} catch (e) {\n\t\t\t\t\tsayerror(app.holder0, e)\n\t\t\t\t}\n\t\t\t}\n\t\t\tt.iscustom = true\n\t\t}\n\t}\n\n\t// when \"tkjsonfile\" is defined, load all tracks as defined in the json file into tracks[]\n\tif (arg.tkjsonfile) {\n\t\tif (!arg.tracks) arg.tracks = []\n\t\tconst urlp = new Map([['tkjsonfile', arg.tkjsonfile]])\n\t\tconst lst = await parseurl.get_tklst(urlp, genomeobj)\n\t\tfor (const i of lst) {\n\t\t\targ.tracks.push(i)\n\t\t}\n\t}\n\n\tconst blockinitarg = {\n\t\tgenome: genomeobj,\n\t\thostURL: app.hostURL,\n\t\tjwt: arg.jwt,\n\t\tholder: app.holder0,\n\t\tnativetracks: arg.nativetracks,\n\t\ttklst: arg.tracks,\n\t\tdebugmode: app.debugmode,\n\t\tlegendimg: arg.legendimg,\n\t\tonloadalltk_always: arg.onloadalltk_always\n\t}\n\n\tif (arg.width) {\n\t\tconst v = Number.parseInt(arg.width)\n\t\tif (Number.isNaN(v)) return app.error0('browser width must be integer')\n\t\tblockinitarg.width = v\n\t}\n\n\tif (arg.subpanels) {\n\t\tif (!Array.isArray(arg.subpanels)) return app.error0('subpanels is not array')\n\t\tconst lst = []\n\t\tfor (const r of arg.subpanels) {\n\t\t\tif (!r.chr) {\n\t\t\t\tapp.error0('missing chr in one subpanel')\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (!r.start || !r.stop) {\n\t\t\t\tapp.error0('missing start or stop in one subpanel')\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (!r.width) {\n\t\t\t\t// may decide by screen size\n\t\t\t\tr.width = 400\n\t\t\t}\n\t\t\tif (!r.leftpad) {\n\t\t\t\tr.leftpad = 5\n\t\t\t}\n\t\t\tlst.push(r)\n\t\t}\n\t\tif (lst.length) {\n\t\t\tblockinitarg.subpanels = lst\n\t\t}\n\t}\n\n\tif (arg.nobox) {\n\t\tblockinitarg.nobox = true\n\t} else {\n\t\t// show box\n\t\tblockinitarg.dogtag = arg.dogtag || arg.genome\n\t}\n\n\tif (arg.chr && Number.isInteger(arg.start)) {\n\t\t// quick fix!!\n\t\t// as string2pos() will force minimum 400bp span, use {chr,start,stop} to avoid changing it\n\t\tblockinitarg.chr = arg.chr\n\t\tblockinitarg.start = arg.start\n\t\tblockinitarg.stop = Number.isInteger(arg.stop) ? arg.stop : arg.start + 1\n\t} else if (arg.position) {\n\t\tconst pos = string2pos(arg.position, genomeobj)\n\t\tif (pos) {\n\t\t\tblockinitarg.chr = pos.chr\n\t\t\tblockinitarg.start = pos.start\n\t\t\tblockinitarg.stop = pos.stop\n\t\t}\n\t} else if (arg.positionbygene) {\n\t\ttry {\n\t\t\tconst gmlst = await findgenemodel_bysymbol(arg.genome, arg.positionbygene)\n\t\t\tif (gmlst && gmlst[0]) {\n\t\t\t\tconst gm = gmlst[0]\n\t\t\t\tblockinitarg.chr = gm.chr\n\t\t\t\tblockinitarg.start = gm.start\n\t\t\t\tblockinitarg.stop = gm.stop\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tapp.error0(e)\n\t\t}\n\t}\n\n\tif (!blockinitarg.chr) {\n\t\tblockinitarg.chr = genomeobj.defaultcoord.chr\n\t\tblockinitarg.start = genomeobj.defaultcoord.start\n\t\tblockinitarg.stop = genomeobj.defaultcoord.stop\n\t}\n\n\tif (arg.datasetqueries) {\n\t\t/*\n\t\teach dataset comes with customization\n\t\tit will be appended as .customization{} to the tk object\n\t\tand parsed in makeTk() of svcnv track\n\n\t\talso for launching gene view\n\t\t*/\n\t\tblockinitarg.datasetqueries = arg.datasetqueries\n\t}\n\n\tif (arg.hlregions) {\n\t\tconst lst = []\n\t\tfor (const region of arg.hlregions) {\n\t\t\tconst pos = string2pos(region, genomeobj, true)\n\t\t\tif (pos) lst.push(pos)\n\t\t}\n\t\tif (lst.length) blockinitarg.hlregions = lst\n\t}\n\n\t// apply url parameter\n\tconst h = urlmap()\n\tif (h) {\n\t\tif (h.has('position')) {\n\t\t\tconst pos = string2pos(h.get('position'), genomeobj)\n\t\t\tif (pos) {\n\t\t\t\tblockinitarg.chr = pos.chr\n\t\t\t\tblockinitarg.start = pos.start\n\t\t\t\tblockinitarg.stop = pos.stop\n\t\t\t}\n\t\t}\n\t\tif (h.has('hlregion')) {\n\t\t\tconst lst = []\n\t\t\tfor (const tmp of h.get('hlregion').split(',')) {\n\t\t\t\tconst pos = string2pos(tmp, genomeobj, true)\n\t\t\t\tif (pos) {\n\t\t\t\t\tlst.push(pos)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (lst.length) {\n\t\t\t\tblockinitarg.hlregions = lst\n\t\t\t}\n\t\t}\n\t\tif (h.has('bedgraphdotfile')) {\n\t\t\tif (!blockinitarg.tklst) blockinitarg.tklst = []\n\t\t\tconst lst = h.get('bedgraphdotfile').split(',')\n\t\t\tfor (let i = 0; i < lst.length; i += 2) {\n\t\t\t\tif (lst[i] && lst[i + 1]) {\n\t\t\t\t\tblockinitarg.tklst.push({\n\t\t\t\t\t\ttype: client.tkt.bedgraphdot,\n\t\t\t\t\t\tname: lst[i],\n\t\t\t\t\t\tfile: lst[i + 1]\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// return a promise resolving to block\n\treturn import('./block').then(b => {\n\t\tapp.block = new b.Block(blockinitarg)\n\t\treturn app\n\t})\n}\n\nfunction launchfusioneditor(arg, app) {\n\tif (arg.fusioneditor.uionly) {\n\t\t// created seperate function in clinet for same page block div\n\t\tconst [inputdiv, gselect, filediv, saydiv, visualdiv] = renderSandboxFormDiv(app.holder0, app.genomes)\n\t\timport('./svmr').then(p => {\n\t\t\tp.svmrui([null, inputdiv, gselect, filediv, saydiv, visualdiv], app.genomes, app.hostURL, arg.jwt)\n\t\t})\n\t\treturn\n\t}\n\tconst genomeobj = app.genomes[arg.genome]\n\tif (!genomeobj) {\n\t\tapp.error0('Invalid genome: ' + arg.genome)\n\t\treturn\n\t}\n\timport('./svmr').then(p => {\n\t\tp.svmrparseinput(arg.fusioneditor, app.error0, genomeobj, app.holder0, app.hostURL, arg.jwt)\n\t})\n}\n\nasync function launchSelectGenomeWithTklst(arg, app) {\n\tconst _ = await import('./selectGenomeWithTklst')\n\tawait _.init(arg, app.holder0, app.genomes)\n}\n\nfunction launchmavb(arg, app) {\n\tif (arg.mavolcanoplot.uionly) {\n\t\timport('./mavb').then(p => {\n\t\t\tp.mavbui(app.genomes, app.hostURL, arg.jwt, app.holder0, app.sandbox_header)\n\t\t})\n\t\treturn\n\t}\n\tconst genomeobj = app.genomes[arg.genome]\n\tif (!genomeobj) {\n\t\tapp.error0('Invalid genome: ' + arg.genome)\n\t\treturn\n\t}\n\targ.mavolcanoplot.hostURL = app.hostURL\n\targ.mavolcanoplot.genome = genomeobj\n\timport('./mavb').then(p => {\n\t\tp.mavbparseinput(arg.mavolcanoplot, app.error0, app.holder0, arg.jwt)\n\t})\n}\n\nfunction launch2dmaf(arg, app) {\n\tif (arg.twodmaf.uionly) {\n\t\timport('./2dmaf').then(p => {\n\t\t\tp.d2mafui(app.genomes, app.holder0)\n\t\t})\n\t\treturn\n\t}\n\tconst genomeobj = app.genomes[arg.genome]\n\tif (!genomeobj) {\n\t\tapp.error0('Invalid genome: ' + arg.genome)\n\t\treturn\n\t}\n\targ.twodmaf.hostURL = app.hostURL\n\targ.twodmaf.genome = genomeobj\n\timport('./2dmaf').then(d2maf => {\n\t\td2maf.d2mafparseinput(arg.twodmaf, app.holder0)\n\t})\n}\n\nfunction launchmaftimeline(arg, app) {\n\tif (arg.maftimeline.uionly) {\n\t\timport('./maftimeline').then(p => {\n\t\t\tp.default(app.genomes, app.holder0, app.sandbox_header)\n\t\t})\n\t}\n}\n\nfunction launchJunctionbyMatrix(arg, app) {\n\tif (arg.junctionbymatrix.uionly) {\n\t\timport('./block.tk.junction.textmatrixui').then(p => {\n\t\t\tp.default(app.genomes, app.hostURL, arg.jwt, app.holder0)\n\t\t})\n\t}\n}\n\nasync function launch_singlecell(arg, app) {\n\ttry {\n\t\tconst genome = app.genomes[arg.genome]\n\t\tif (!genome) throw 'Invalid genome: ' + arg.genome\n\t\targ.genome = genome\n\n\t\tconst _ = await import('./singlecell')\n\t\tawait _.init(arg, app.holder0)\n\t} catch (e) {\n\t\tapp.error0('Error launching single cell viewer: ' + e)\n\t\tif (e.stack) console.log(e.stack)\n\t}\n}\n\nasync function launch_tkUIs(arg, app) {\n\tif (arg.tkui == 'bigwig') {\n\t\tconst p = await import('./block.tk.bigwig.ui')\n\t\tp.bigwigUI(app.genomes, app.holder)\n\t}\n\tif (arg.tkui == 'databrowser') {\n\t\tconst p = await import('./databrowser/databrowser.ui')\n\t\tp.init_databrowserUI(app.holder, app.debugmode)\n\t}\n\tif (arg.tkui == 'genefusion') {\n\t\tconst p = await import('./genefusion/genefusion.ui')\n\t\tp.init_geneFusionUI(app.holder, app.genomes, app.debugmode)\n\t}\n\tif (arg.tkui == 'disco') {\n\t\tconst p = await import('../plots/disco/Disco.UI')\n\t\tp.init_discoplotUI(app.holder, app.genomes, app.debugmode)\n\t}\n}\n\nasync function launchtermdb(opts, app) {\n\tif (!opts.holder) opts.holder = app.holder0\n\timport('../termdb/app').then(_ => {\n\t\t_.appInit(opts)\n\t})\n}\n\nasync function launch_genefusion(arg, app) {\n\ttry {\n\t\tconst genome = app.genomes[arg.genome]\n\t\tif (!genome) throw 'Invalid genome: ' + arg.genome\n\n\t\tconst fusionParse = await import('./fusion.parse')\n\t\tconst m = await fusionParse.parseFusion({\n\t\t\tline: arg.genefusion.text,\n\t\t\tgenome,\n\t\t\tpositionType: arg.genefusion.positionType\n\t\t})\n\n\t\tawait getGm(m.pairlst[0].a, genome)\n\t\tawait getGm(m.pairlst[0].b, genome)\n\n\t\tconst _ = await import('./svgraph')\n\t\t_.default({\n\t\t\tpairlst: m.pairlst,\n\t\t\tgenome,\n\t\t\tholder: app.holder\n\t\t})\n\t} catch (e) {\n\t\tapp.error0(e)\n\t}\n}\n\nasync function getGm(p, genome) {\n\t// p={isoform}\n\tconst d = await dofetch3('genelookup', {\n\t\tbody: { genome: genome.name, input: p.isoform, deep: 1 }\n\t})\n\tif (d.error) throw d.error\n\tif (!Array.isArray(d.gmlst)) throw 'gmlst not array'\n\tconst u = d.gmlst.find(i => i.isoform == p.isoform)\n\tif (!u) throw 'no match to isoform'\n\tp.chr = u.chr\n\tp.name = u.name\n\tp.gm = { isoform: u.isoform }\n}\n\nasync function launchmass(arg, app) {\n\t// arg is from runpp(arg)\n\tconst opts = arg.mass\n\tif ('debugmode' in app) opts.debug = app.debugmode\n\tif (!opts.holder) opts.holder = app.holder0\n\t// if genome is defined, attach client-side genome object to opts to support gene search etc\n\tif (opts.state) {\n\t\tif (opts.state.genome) {\n\t\t\t// TODO verify when is \"state.genome\" defined. if not can take it out\n\t\t\topts.genome = app.genomes[opts.state.genome]\n\t\t} else if (opts.state?.vocab?.genome) {\n\t\t\topts.genome = app.genomes[opts.state.vocab.genome]\n\t\t}\n\t}\n\topts.getDatasetAccessToken = arg.getDatasetAccessToken\n\topts.addLoginCallback = arg.addLoginCallback\n\topts.pkgver = app.pkgver\n\tchildCorsMessage(opts)\n\tconst _ = await import('../mass/app')\n\treturn await _.appInit(opts)\n}\n\nfunction initgenome(g) {\n\tg.tkset = []\n\tg.isoformcache = new Map()\n\t// k: upper isoform\n\t// v: [gm]\n\tg.junctionframecache = new Map()\n\t/*\n\tk: junction chr-start-stop\n\tv: Map\n\t k: isoform\n\t v: true/false for in-frame\n\t*/\n\tg.isoformmatch = (n2, chr, pos) => {\n\t\tif (!n2) return null\n\t\tconst n = n2.toUpperCase()\n\t\tif (!g.isoformcache.has(n)) return null\n\t\tconst lst = g.isoformcache.get(n)\n\t\tif (lst.length == 1) return lst[0]\n\t\t// multiple available\n\t\tif (!chr) {\n\t\t\tconsole.log('no chr provided for matching with ' + n)\n\t\t\treturn lst[0]\n\t\t}\n\t\tlet gm = null\n\t\tfor (const m of lst) {\n\t\t\tif (m.chr.toUpperCase() == chr.toUpperCase() && m.start <= pos && m.stop >= pos) {\n\t\t\t\tgm = m\n\t\t\t}\n\t\t}\n\t\tif (gm) return gm\n\t\tfor (const m of lst) {\n\t\t\tif (m.chr.toUpperCase() == chr.toUpperCase()) return m\n\t\t}\n\t\treturn null\n\t}\n\tg.chrlookup = {}\n\tfor (const nn in g.majorchr) {\n\t\tg.chrlookup[nn.toUpperCase()] = { name: nn, len: g.majorchr[nn], major: true }\n\t}\n\tif (g.minorchr) {\n\t\tfor (const nn in g.minorchr) {\n\t\t\tg.chrlookup[nn.toUpperCase()] = { name: nn, len: g.minorchr[nn] }\n\t\t}\n\t}\n\n\tif (!g.tracks) {\n\t\tg.tracks = []\n\t}\n\n\tfor (const t of g.tracks) {\n\t\t/*\n\t\tessential for telling if genome.tracks[] item is same as block.tklst[]\n\t\t*/\n\t\tt.tkid = Math.random().toString()\n\t}\n\n\t// validate ds info\n\tfor (const dsname in g.datasets) {\n\t\tconst ds = g.datasets[dsname]\n\n\t\tif (ds.isMds) {\n\t\t} else if (ds.isMds3) {\n\t\t\tif (!ds.label) return 'ds.label missing'\n\t\t}\n\t}\n\treturn null\n}\n\nasync function launchDisco(arg, app) {\n\tif (!arg.genome) throw '\"genome\" parameter missing'\n\tconst genomeObj = app.genomes[arg.genome]\n\tif (!genomeObj) throw 'unknown genome'\n\tif (arg.disco.sample_id) {\n\t\t/** Opens a sample disco plot within a dataset\n\t\t * Required in disco:{}\n\t\t * .dslabel: dataset label\n\t\t * .genome: genome name\n\t\t * .sample_id: sample id\n\t\t *\n\t\t * Optional in disco:{}\n\t\t * .centerText: string, usually sample id\n\t\t */\n\t\tconst vocabApi = (await import('#termdb/vocabulary')).vocabInit({\n\t\t\tstate: { genome: genomeObj.name, dslabel: arg.disco.dslabel }\n\t\t})\n\t\tconst termdbConfig = await vocabApi.getTermdbConfig()\n\t\t/** NOTE: Users should only override the settings in the default\n\t\t * settings.Disco:{}, not the entire settings:{} object.*/\n\t\tconst overrides = { Disco: arg.disco?.settings || {} }\n\t\tawait (\n\t\t\tawait import('#plots/plot.disco.js')\n\t\t).default(termdbConfig, arg.disco.dslabel, { sample_id: arg.disco.sample_id }, app.holder, genomeObj, overrides)\n\t\treturn\n\t} else {\n\t\t/** Used to parse custom data from the UI or runpp() */\n\t\tconst _ = await import('#plots/disco/launch.adhoc.ts')\n\t\treturn await _.launch(arg.disco, genomeObj, app.holder0)\n\t}\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACI,IAAM,SAAS,IAAI,cAAc;AACjC,OAAO,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmUrB;AACE,SAAS,mBAAmB,KAAK,MAAM;;;ACrUvC,IAAMA,UAAS,IAAI,cAAc;AACjCA,QAAO,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,s9BAS+7B;AACl9B,SAAS,mBAAmB,KAAKA,OAAM;;;ACXvC,IAAMC,UAAS,IAAI,cAAc;AACjCA,QAAO,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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",
6
+ "names": ["styles", "styles", "styles", "arg", "genomeobj", "tmp"]
7
+ }
@@ -0,0 +1,141 @@
1
+ import {
2
+ skipPrevActionAbort,
3
+ storeInit
4
+ } from "./chunk-ZWCVRVV4.js";
5
+ import {
6
+ recoverInit
7
+ } from "./chunk-X46YA4CB.js";
8
+ import {
9
+ AppBase,
10
+ sayerror,
11
+ vocabInit
12
+ } from "./chunk-Q5SK3U2T.js";
13
+ import {
14
+ importPlot
15
+ } from "./chunk-54KC7DAB.js";
16
+ import {
17
+ Menu
18
+ } from "./chunk-ELJX3QIQ.js";
19
+ import {
20
+ AppApi
21
+ } from "./chunk-WINIL2KN.js";
22
+
23
+ // plots/plot.app.ts
24
+ var PlotApp = class _PlotApp extends AppBase {
25
+ constructor(opts, api) {
26
+ super(opts);
27
+ this.components = {};
28
+ this.wasDestroyed = false;
29
+ this.api = api;
30
+ this.type = _PlotApp.type;
31
+ this.dom = this.getDom(opts);
32
+ }
33
+ static {
34
+ this.type = "app";
35
+ }
36
+ getDom(opts) {
37
+ const dom = {
38
+ holder: opts.holder,
39
+ errdiv: opts.holder.append("div"),
40
+ plotDiv: opts.holder.append("div")
41
+ };
42
+ const controls = opts.violin?.mode == "minimal" ? null : opts.holder.append("div").style("white-space", "nowrap");
43
+ if (controls) {
44
+ dom.plotControls = controls.append("div").style("display", "inline-block");
45
+ dom.recoverControls = controls.append("div").style("display", "inline-block");
46
+ }
47
+ return dom;
48
+ }
49
+ async preApiFreeze(api) {
50
+ try {
51
+ api.tip = new Menu({ padding: "5px" });
52
+ api.printError = (e) => this.printError(e);
53
+ const vocab = this.opts.state.vocab;
54
+ api.vocabApi = this.opts.vocabApi ? this.opts.vocabApi : await vocabInit({
55
+ app: api,
56
+ state: {
57
+ vocab: {
58
+ // either (genome + dslabel) XOR (terms) can be undefined
59
+ genome: vocab?.genome || this.opts.state.genome,
60
+ dslabel: vocab?.dslabel || this.opts.state.dslabel,
61
+ terms: vocab?.terms
62
+ }
63
+ },
64
+ fetchOpts: this.opts.fetchOpts
65
+ });
66
+ this.opts.state.vocab = api.vocabApi.vocab;
67
+ } catch (e) {
68
+ console.log(`preApiFreeze error`, e);
69
+ throw e;
70
+ }
71
+ }
72
+ async init() {
73
+ try {
74
+ this.opts.state.nav = { header_mode: "hidden" };
75
+ this.store = await storeInit({ app: this.api, state: this.opts.state });
76
+ this.state = await this.store.copyState();
77
+ this.components = {
78
+ plots: {}
79
+ };
80
+ if (this.opts.app?.features?.includes("recover"))
81
+ this.components.recover = await recoverInit({
82
+ app: this.api,
83
+ holder: this.dom.recoverControls,
84
+ // TODO: ???? may limit the tracked state to only the filter, activeCohort ???
85
+ getState: (appState) => appState,
86
+ //reactsTo: action => true, //action.type != 'plot_edit' || action.type == 'app_refresh',
87
+ maxHistoryLen: 10
88
+ });
89
+ if (this.opts.app?.doNotAwaitInitRender) {
90
+ this.api.dispatch();
91
+ } else {
92
+ await this.api.dispatch();
93
+ }
94
+ } catch (e) {
95
+ this.printError(e);
96
+ throw e;
97
+ }
98
+ }
99
+ async main() {
100
+ this.api.vocabApi.main();
101
+ for (const id in this.components.plots) {
102
+ const plot = this.components.plots[id];
103
+ if (!this.state.plots.find((p) => p.id === plot.id)) {
104
+ plot.destroy();
105
+ delete this.components.plots[id];
106
+ }
107
+ }
108
+ for (const plot of this.state.plots.values()) {
109
+ if (plot.parentId) continue;
110
+ if (!this.components.plots[plot.id]) {
111
+ const holder = this.opts?.app?.getPlotHolder ? this.opts.app.getPlotHolder(plot, this.dom.holder) : this.dom.holder.append("div");
112
+ if (!this.dom.plotDiv) this.dom.plotDiv = holder;
113
+ const { componentInit } = await importPlot(plot.chartType);
114
+ const plotApi = await componentInit({
115
+ id: plot.id,
116
+ app: this.api,
117
+ holder,
118
+ controls: this.dom.plotControls
119
+ });
120
+ this.components.plots[plot.id] = plotApi;
121
+ }
122
+ }
123
+ }
124
+ printError(e) {
125
+ sayerror(this.dom.errdiv, "Error: " + (e.message || e));
126
+ if (e.stack) console.log(e.stack);
127
+ this.bus.emit("error");
128
+ }
129
+ skipPrevActionAbort(action) {
130
+ return skipPrevActionAbort(action);
131
+ }
132
+ destroy() {
133
+ if (this.dom?.holder) this.dom.holder.selectAll("*").remove();
134
+ }
135
+ };
136
+ var appInit = AppApi.getInitFxn(PlotApp);
137
+
138
+ export {
139
+ appInit
140
+ };
141
+ //# sourceMappingURL=chunk-KIRZXPMB.js.map