@datagrok-libraries/bio 5.25.0 → 5.26.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.
- package/package.json +2 -2
- package/src/aminoacids.js +1 -1
- package/src/aminoacids.js.map +1 -0
- package/src/consts/index.js +1 -1
- package/src/consts/index.js.map +1 -0
- package/src/monomer-works/monomer-utils.js +1 -1
- package/src/monomer-works/monomer-utils.js.map +1 -0
- package/src/monomer-works/monomer-works.js +1 -1
- package/src/monomer-works/monomer-works.js.map +1 -0
- package/src/monomer-works/to-atomic-level.js +1 -1
- package/src/monomer-works/to-atomic-level.js.map +1 -0
- package/src/nucleotides.js +1 -1
- package/src/nucleotides.js.map +1 -0
- package/src/package.js +1 -1
- package/src/package.js.map +1 -0
- package/src/pdb/index.js +1 -1
- package/src/pdb/index.js.map +1 -0
- package/src/pdb/pdb-helper.js +1 -1
- package/src/pdb/pdb-helper.js.map +1 -0
- package/src/seq-palettes.js +1 -1
- package/src/seq-palettes.js.map +1 -0
- package/src/sequence-encoder.js +1 -1
- package/src/sequence-encoder.js.map +1 -0
- package/src/tests/palettes-tests.js +1 -1
- package/src/tests/palettes-tests.js.map +1 -0
- package/src/trees/dendrogram.js +1 -1
- package/src/trees/dendrogram.js.map +1 -0
- package/src/trees/distance-matrix.js +1 -1
- package/src/trees/distance-matrix.js.map +1 -0
- package/src/trees/index.d.ts +10 -0
- package/src/trees/index.d.ts.map +1 -1
- package/src/trees/index.js +17 -1
- package/src/trees/index.js.map +1 -0
- package/src/trees/phylocanvas.js +1 -1
- package/src/trees/phylocanvas.js.map +1 -0
- package/src/trees/tree-helper.js +1 -1
- package/src/trees/tree-helper.js.map +1 -0
- package/src/types/index.js +1 -1
- package/src/types/index.js.map +1 -0
- package/src/unknown.js +1 -1
- package/src/unknown.js.map +1 -0
- package/src/utils/cell-renderer.js +1 -1
- package/src/utils/cell-renderer.js.map +1 -0
- package/src/utils/const.js +1 -1
- package/src/utils/const.js.map +1 -0
- package/src/utils/fasta-handler.js +1 -1
- package/src/utils/fasta-handler.js.map +1 -0
- package/src/utils/macromolecule.js +1 -1
- package/src/utils/macromolecule.js.map +1 -0
- package/src/utils/notation-converter.js +1 -1
- package/src/utils/notation-converter.js.map +1 -0
- package/src/utils/splitter.js +1 -1
- package/src/utils/splitter.js.map +1 -0
- package/src/utils/units-handler.js +1 -1
- package/src/utils/units-handler.js.map +1 -0
- package/src/utils.js +1 -1
- package/src/utils.js.map +1 -0
- package/src/vd-regions.js +1 -1
- package/src/vd-regions.js.map +1 -0
- package/src/viewers/molstar-viewer.js +1 -1
- package/src/viewers/molstar-viewer.js.map +1 -0
- package/src/viewers/ngl-gl-viewer.js +1 -1
- package/src/viewers/ngl-gl-viewer.js.map +1 -0
- package/src/viewers/phylocanvas-gl-viewer.js +1 -1
- package/src/viewers/phylocanvas-gl-viewer.js.map +1 -0
- package/src/viewers/viewer.js +1 -1
- package/src/viewers/viewer.js.map +1 -0
- package/src/viewers/web-logo.js +1 -1
- package/src/viewers/web-logo.js.map +1 -0
- package/tsconfig.json +8 -8
|
@@ -208,4 +208,4 @@ export function pickUpSeqCol(df) {
|
|
|
208
208
|
resCol = semTypeColList[0];
|
|
209
209
|
return resCol;
|
|
210
210
|
}
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFjcm9tb2xlY3VsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm1hY3JvbW9sZWN1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFFcEIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUUvRixPQUFPLEVBQWEsa0JBQWtCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFjLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sWUFBWSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQTRCbkQsQ0FBQztBQU1GOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBQyxNQUFpQixFQUFFLFNBQWlCLEVBQUUsUUFBc0I7SUFDbkYsTUFBTSxJQUFJLEdBQTRCLEVBQUUsQ0FBQztJQUN6QyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDdEIsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBRXZCLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRTtRQUNuQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFM0IsSUFBSSxXQUFXLElBQUksSUFBSTtZQUNyQixXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUN2QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssV0FBVztZQUNsQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBRXJCLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxTQUFTLEVBQUU7WUFDNUIsS0FBSyxNQUFNLENBQUMs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QUFDLENBQUMsS0FBSyxDQUFDO0lBQ3JELENBQUMsQ0FBQyxtQ0FBSSxJQUFJLENBQUM7SUFDWCxJQUFJLENBQUMsTUFBTSxJQUFJLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUN0QyxNQUFNLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBncm9rIGZyb20gJ2RhdGFncm9rLWFwaS9ncm9rJztcbmltcG9ydCAqIGFzIHVpIGZyb20gJ2RhdGFncm9rLWFwaS91aSc7XG5pbXBvcnQgKiBhcyBERyBmcm9tICdkYXRhZ3Jvay1hcGkvZGcnO1xuaW1wb3J0IHd1IGZyb20gJ3d1JztcblxuaW1wb3J0IHtWZWN0b3J9IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3R5cGUtZGVjbGFyYXRpb25zJztcbmltcG9ydCB7dmVjdG9yTGVuZ3RoLCB2ZWN0b3JEb3RQcm9kdWN0fSBmcm9tICdAZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy92ZWN0b3Itb3BlcmF0aW9ucyc7XG5pbXBvcnQge1NlcVBhbGV0dGV9IGZyb20gJy4uL3NlcS1wYWxldHRlcyc7XG5pbXBvcnQge0FtaW5vYWNpZHMsIEFtaW5vYWNpZHNQYWxldHRlc30gZnJvbSAnLi4vYW1pbm9hY2lkcyc7XG5pbXBvcnQge051Y2xlb3RpZGVzLCBOdWNsZW90aWRlc1BhbGV0dGVzfSBmcm9tICcuLi9udWNsZW90aWRlcyc7XG5pbXBvcnQge1Vua25vd25TZXFQYWxldHRlc30gZnJvbSAnLi4vdW5rbm93bic7XG5pbXBvcnQge1VuaXRzSGFuZGxlcn0gZnJvbSAnLi4vdXRpbHMvdW5pdHMtaGFuZGxlcic7XG5cblxuLyoqIGVudW0gdHlwZSB0byBzaW1wbGlmeSBzZXR0aW5nIFwidXNlci1mcmllbmRseVwiIG5vdGF0aW9uIGlmIG5lY2Vzc2FyeSAqL1xuZXhwb3J0IGNvbnN0IGVudW0gTk9UQVRJT04ge1xuICBGQVNUQSA9ICdmYXN0YScsXG4gIFNFUEFSQVRPUiA9ICdzZXBhcmF0b3InLFxuICBIRUxNID0gJ2hlbG0nLFxufVxuXG5leHBvcnQgY29uc3QgZW51bSBBTElHTk1FTlQge1xuICBTRVFfTVNBID0gJ1NFUS5NU0EnLFxuICBTRVEgPSAnU0VRJyxcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gQUxQSEFCRVQge1xuICBETkEgPSAnRE5BJyxcbiAgUk5BID0gJ1JOQScsXG4gIFBUID0gJ1BUJyxcbiAgVU4gPSAnVU4nLFxufVxuXG5leHBvcnQgY29uc3QgZW51bSBUQUdTIHtcbiAgYWxpZ25lZCA9ICdhbGlnbmVkJyxcbiAgYWxwaGFiZXQgPSAnYWxwaGFiZXQnLFxuICBhbHBoYWJldFNpemUgPSAnLmFscGhhYmV0U2l6ZScsXG4gIGFscGhhYmV0SXNNdWx0aWNoYXIgPSAnLmFscGhhYmV0SXNNdWx0aWNoYXInLFxuICBzZXBhcmF0b3IgPSAnc2VwYXJhdG9yJyxcbn07XG5cbmV4cG9ydCB0eXBlIFNlcUNvbFN0YXRzID0geyBmcmVxOiBNb25vbWVyRnJlcXMsIHNhbWVMZW5ndGg6IGJvb2xlYW4gfVxuZXhwb3J0IHR5cGUgU3BsaXR0ZXJGdW5jID0gKHNlcTogc3RyaW5nKSA9PiBzdHJpbmdbXTtcbmV4cG9ydCB0eXBlIE1vbm9tZXJGcmVxcyA9IHsgW206IHN0cmluZ106IG51bWJlciB9O1xuXG4vKiogU3RhdHMgb2Ygc2VxdWVuY2VzIHdpdGggc3BlY2lmaWVkIHNwbGl0dGVyIGZ1bmMsIHJldHVybnMgeyBmcmVxLCBzYW1lTGVuZ3RoIH0uXG4gKiBAcGFyYW0ge0RHLkNvbHVtbn0gc2VxQ29sXG4gKiBAcGFyYW0ge251bWJlcn0gbWluTGVuZ3RoXG4gKiBAcGFyYW0ge1NwbGl0dGVyRnVuY30gc3BsaXR0ZXJcbiAqIEByZXR1cm4geyBTZXFDb2xTdGF0cyB9LCBzYW1lTGVuZ3RoOiBib29sZWFuIH0gc3RhdHMgb2YgY29sdW1uIHNlcXVlbmNlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHMoc2VxQ29sOiBERy5Db2x1bW4sIG1pbkxlbmd0aDogbnVtYmVyLCBzcGxpdHRlcjogU3BsaXR0ZXJGdW5jKTogU2VxQ29sU3RhdHMge1xuICBjb25zdCBmcmVxOiB7IFttOiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xuICBsZXQgc2FtZUxlbmd0aCA9IHRydWU7XG4gIGxldCBmaXJzdExlbmd0aCA9IG51bGw7XG5cbiAgZm9yIChjb25zdCBzZXEgb2Ygc2VxQ29sLmNhdGVnb3JpZXMpIHtcbiAgICBjb25zdCBtU2VxID0gc3BsaXR0ZXIoc2VxKTtcblxuICAgIGlmIChmaXJzdExlbmd0aCA9PSBudWxsKVxuICAgICAgZmlyc3RMZW5ndGggPSBtU2VxLmxlbmd0aDtcbiAgICBlbHNlIGlmIChtU2VxLmxlbmd0aCAhPT0gZmlyc3RMZW5ndGgpXG4gICAgICBzYW1lTGVuZ3RoID0gZmFsc2U7XG5cbiAgICBpZiAobVNlcS5sZW5ndGggPj0gbWluTGVuZ3RoKSB7XG4gICAgICBmb3IgKGNvbnN0IG0gb2YgbVNlcSkge1xuICAgICAgICBpZiAoIShtIGluIGZyZXEpKVxuICAgICAgICAgIGZyZXFbbV0gPSAwO1xuICAgICAgICBmcmVxW21dICs9IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiB7ZnJlcTogZnJlcSwgc2FtZUxlbmd0aDogc2FtZUxlbmd0aH07XG59XG5cbmV4cG9ydCBjb25zdCBtb25vbWVyUmU6IFJlZ0V4cCA9IC9cXFsoXFx3KylcXF18KFxcdyl8KC0pL2c7XG5cbi8qKiBTcGxpdCBzZXF1ZW5jZSBmb3Igc2luZ2xlIGNoYXJhY3RlciBtb25vbWVycywgc3F1YXJlIGJyYWNrZXRzIG11bHRpY2hhciBtb25vbWVyIG5hbWVzIG9yIGdhcCBzeW1ib2wuXG4gKiBAcGFyYW0ge2FueX0gc2VxIG9iamVjdCB3aXRoIHNlcXVlbmNlXG4gKiBAcmV0dXJuIHtzdHJpbmdbXX0gYXJyYXkgb2YgbW9ub21lcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0dGVyQXNGYXN0YShzZXE6IGFueSk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIHd1PFJlZ0V4cE1hdGNoQXJyYXk+KHNlcS50b1N0cmluZygpLm1hdGNoQWxsKG1vbm9tZXJSZSkpXG4gICAgLm1hcCgobWE6IFJlZ0V4cE1hdGNoQXJyYXkpID0+IHtcbiAgICAgIGxldCBtUmVzOiBzdHJpbmc7XG4gICAgICBjb25zdCBtOiBzdHJpbmcgPSBtYVswXTtcbiAgICAgIGlmIChtLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgbVJlcyA9IG1hWzFdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbVJlcyA9IG07XG4gICAgICB9XG4gICAgICByZXR1cm4gbVJlcztcbiAgICB9KS50b0FycmF5KCk7XG59XG5cbi8qKiBHZXRzIG1ldGhvZCB0byBzcGxpdCBzZXF1ZW5jZSBieSBzZXBhcmF0b3JcbiAqIEBwYXJhbSB7c3RyaW5nfSBzZXBhcmF0b3JcbiAqIEBwYXJhbSBsaW1pdFxuICogQHJldHVybiB7U3BsaXR0ZXJGdW5jfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3BsaXR0ZXJXaXRoU2VwYXJhdG9yKHNlcGFyYXRvcjogc3RyaW5nLCBsaW1pdDogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKTogU3BsaXR0ZXJGdW5jIHtcbiAgcmV0dXJuIChzZXE6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBzZXEuc3BsaXQoc2VwYXJhdG9yLCBsaW1pdCk7XG4gIH07XG59XG5cbmNvbnN0IGhlbG1SZTogUmVnRXhwID0gLyhQRVBUSURFMXxETkExfFJOQTEpXFx7KFtefV0rKX0vZztcbmNvbnN0IGhlbG1QcDFSZTogUmVnRXhwID0gL1xcWyhbXlxcW1xcXV0rKV0vZztcblxuLyoqIFNwbGl0cyBIZWxtIHN0cmluZyB0byBtb25vbWVycywgYnV0IGRvZXMgbm90IHJlcGxhY2UgbW9ub21lciBuYW1lcyB0byBvdGhlciBub3RhdGlvbiAoZS5nLiBmb3IgUk5BKS5cbiAqIE9ubHkgZm9yIGxpbmVhciBwb2x5bWVycywgZG9lcyBub3Qgc3BsaXQgUk5BIGZvciByaWJvc2UgYW5kIHBob3NwaGF0ZSBtb25vbWVycy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBzZXEgU291cmNlIHN0cmluZyBvZiBIRUxNIG5vdGF0aW9uXG4gKiBAcmV0dXJuIHtzdHJpbmdbXX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0dGVyQXNIZWxtKHNlcTogYW55KTogc3RyaW5nW10ge1xuICBoZWxtUmUubGFzdEluZGV4ID0gMDtcbiAgY29uc3QgZWE6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGwgPSBoZWxtUmUuZXhlYyhzZXEudG9TdHJpbmcoKSk7XG4gIGNvbnN0IGluU2VxOiBzdHJpbmcgfCBudWxsID0gZWEgPyBlYVsyXSA6IG51bGw7XG5cbiAgY29uc3QgbW1Qb3N0UHJvY2VzcyA9IChtbTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICBoZWxtUHAxUmUubGFzdEluZGV4ID0gMDtcbiAgICBjb25zdCBwcDFNID0gaGVsbVBwMVJlLmV4ZWMobW0pO1xuICAgIGlmIChwcDFNICYmIHBwMU0ubGVuZ3RoID49IDIpXG4gICAgICByZXR1cm4gcHAxTVsxXTtcbiAgICBlbHNlXG4gICAgICByZXR1cm4gbW07XG4gIH07XG5cbiAgY29uc3QgbW1MaXN0OiBzdHJpbmdbXSA9IGluU2VxID8gaW5TZXEuc3BsaXQoJy4nKSA6IFtdO1xuICByZXR1cm4gbW1MaXN0Lm1hcChtbVBvc3RQcm9jZXNzKTtcbn1cblxuLyoqIEdldCBzcGxpdHRlciBtZXRob2QgdG8gc3BsaXQgc2VxdWVuY2VzIHRvIG1vbm9tZXJzXG4gKiBAcGFyYW0ge3N0cmluZ30gdW5pdHNcbiAqIEBwYXJhbSB7c3RyaW5nfSBzZXBhcmF0b3JcbiAqIEBwYXJhbSBsaW1pdFxuICogQHJldHVybiB7U3BsaXR0ZXJGdW5jfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3BsaXR0ZXIodW5pdHM6IHN0cmluZywgc2VwYXJhdG9yOiBzdHJpbmcsIGxpbWl0OiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpOiBTcGxpdHRlckZ1bmMge1xuICBpZiAodW5pdHMudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKE5PVEFUSU9OLkZBU1RBKSlcbiAgICByZXR1cm4gc3BsaXR0ZXJBc0Zhc3RhO1xuICBlbHNlIGlmICh1bml0cy50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoTk9UQVRJT04uU0VQQVJBVE9SKSlcbiAgICByZXR1cm4gZ2V0U3BsaXR0ZXJXaXRoU2VwYXJhdG9yKHNlcGFyYXRvciwgbGltaXQpO1xuICBlbHNlIGlmICh1bml0cy50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoTk9UQVRJT04uSEVMTSkpXG4gICAgcmV0dXJuIHNwbGl0dGVyQXNIZWxtO1xuICBlbHNlXG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHVuaXRzICR7dW5pdHN9IC5gKTtcblxuICAvLyBUT0RPOiBTcGxpdHRlciBmb3IgSEVMTVxufVxuXG4vKiogR2VuZXJhdGUgc3BsaXR0ZXIgZnVuY3Rpb24gZm9yIHNlcXVlbmNlIGNvbHVtblxuICogQHBhcmFtIHtERy5Db2x1bW59IGNvbFxuICogQHJldHVybiB7U3BsaXR0ZXJGdW5jfSBTcGxpdHRlciBmdW5jdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3BsaXR0ZXJGb3JDb2x1bW4oY29sOiBERy5Db2x1bW4pOiBTcGxpdHRlckZ1bmMge1xuICBpZiAoY29sLnNlbVR5cGUgIT09IERHLlNFTVRZUEUuTUFDUk9NT0xFQ1VMRSlcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEdldCBzcGxpdHRlciBmb3Igc2VtVHlwZSBcIiR7REcuU0VNVFlQRS5NQUNST01PTEVDVUxFfVwiIG9ubHkuYCk7XG5cbiAgY29uc3QgdW5pdHMgPSBjb2wuZ2V0VGFnKERHLlRBR1MuVU5JVFMpO1xuICBjb25zdCBzZXBhcmF0b3IgPSBjb2wuZ2V0VGFnKFRBR1Muc2VwYXJhdG9yKTtcbiAgcmV0dXJuIGdldFNwbGl0dGVyKHVuaXRzLCBzZXBhcmF0b3IpO1xufVxuXG5jb25zdCBsb25nTW9ub21lclBhcnRSZTogUmVnRXhwID0gLyhcXHcrKS9nO1xuXG4vKiogQ29udmVydCBsb25nIG1vbm9tZXIgbmFtZXMgdG8gc2hvcnQgb25lcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1vbm9tZXJUb1Nob3J0KGFtaW5vOiBzdHJpbmcsIG1heExlbmd0aE9mTW9ub21lcjogbnVtYmVyKTogc3RyaW5nIHtcbiAgY29uc3Qgc2hvcnRBbWlub01hdGNoOiBSZWdFeHBNYXRjaEFycmF5IHwgbnVsbCA9IGFtaW5vLm1hdGNoKGxvbmdNb25vbWVyUGFydFJlKTtcbiAgY29uc3QgbmVlZEFkZERvdHM6IGJvb2xlYW4gPSBhbWluby5sZW5ndGggPiBtYXhMZW5ndGhPZk1vbm9tZXIgfHwgKHNob3J0QW1pbm9NYXRjaD8ubGVuZ3RoID8/IDApID4gMTtcbiAgY29uc3Qgc2hvcnRBbWlubyA9IHNob3J0QW1pbm9NYXRjaD8uWzBdID8/ICcgJztcbiAgcmV0dXJuICFuZWVkQWRkRG90cyA/IHNob3J0QW1pbm8gOiBzaG9ydEFtaW5vLnN1YnN0cmluZygwLCBtYXhMZW5ndGhPZk1vbm9tZXIpICsgJ+KApic7XG59XG5cbi8qKiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFscGhhYmV0KGFscGhhYmV0OiBBTFBIQUJFVCk6IFNldDxzdHJpbmc+IHtcbiAgc3dpdGNoIChhbHBoYWJldCkge1xuICBjYXNlIEFMUEhBQkVULkROQTpcbiAgICByZXR1cm4gVW5pdHNIYW5kbGVyLkRuYUZhc3RhQWxwaGFiZXQ7XG4gIGNhc2UgQUxQSEFCRVQuUk5BOlxuICAgIHJldHVybiBVbml0c0hhbmRsZXIuUm5hRmFzdGFBbHBoYWJldDtcbiAgY2FzZSBBTFBIQUJFVC5QVDpcbiAgICByZXR1cm4gVW5pdHNIYW5kbGVyLlBlcHRpZGVGYXN0YUFscGhhYmV0O1xuICBkZWZhdWx0OlxuICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgYWxwaGFiZXQgJyR7YWxwaGFiZXR9Jy5gKTtcbiAgfVxufVxuXG4vKiogQ2FsY3VsYXRlIHNpbWlsYXJpdHkgaW4gY3VycmVudCBzZXF1ZW5jZSBhbmQgYWxwaGFiZXQuXG4gKiBAcGFyYW0ge01vbm9tZXJGcmVxc30gZnJlcVxuICogQHBhcmFtIHtTZXQ8c3RyaW5nPn0gYWxwaGFiZXRcbiAqIEBwYXJhbSB7c3RyaW5nfSBnYXBTeW1ib2xcbiAqIEByZXR1cm4ge251bWJlcn0gQ29zaW5lIHNpbWlsYXJpdHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFscGhhYmV0U2ltaWxhcml0eShmcmVxOiBNb25vbWVyRnJlcXMsIGFscGhhYmV0OiBTZXQ8c3RyaW5nPiwgZ2FwU3ltYm9sOiBzdHJpbmcgPSAnLScpOiBudW1iZXIge1xuICBjb25zdCBrZXlzID0gbmV3IFNldDxzdHJpbmc+KFsuLi5uZXcgU2V0KE9iamVjdC5rZXlzKGZyZXEpKSwgLi4uYWxwaGFiZXRdKTtcbiAga2V5cy5kZWxldGUoZ2FwU3ltYm9sKTtcblxuICBjb25zdCBmcmVxQTogbnVtYmVyW10gPSBbXTtcbiAgY29uc3QgYWxwaGFiZXRBOiBudW1iZXJbXSA9IFtdO1xuICBmb3IgKGNvbnN0IG0gb2Yga2V5cykge1xuICAgIGZyZXFBLnB1c2gobSBpbiBmcmVxID8gZnJlcVttXSA6IDApO1xuICAgIGFscGhhYmV0QS5wdXNoKGFscGhhYmV0LmhhcyhtKSA/IDEgOiAwKTtcbiAgfVxuICAvKiBUaGVyZSB3ZXJlIGEgZmV3IGlkZWFzOiBjaGktc3F1YXJlZCwgcGVhcnNvbiBjb3JyZWxhdGlvbiAodmFyaWFuY2U/KSwgc2NhbGFyIHByb2R1Y3QgKi9cbiAgY29uc3QgZnJlcVY6IFZlY3RvciA9IG5ldyBWZWN0b3IoZnJlcUEpO1xuICBjb25zdCBhbHBoYWJldFY6IFZlY3RvciA9IG5ldyBWZWN0b3IoYWxwaGFiZXRBKTtcbiAgcmV0dXJuIHZlY3RvckRvdFByb2R1Y3QoZnJlcVYsIGFscGhhYmV0VikgLyAodmVjdG9yTGVuZ3RoKGZyZXFWKSAqIHZlY3Rvckxlbmd0aChhbHBoYWJldFYpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdEFscGhhYmV0KHN0YXRzOiBTZXFDb2xTdGF0cyk6IHN0cmluZyB7XG4gIGNvbnN0IGFscGhhYmV0Q2FuZGlkYXRlczogW3N0cmluZywgU2V0PHN0cmluZz5dW10gPSBbXG4gICAgW0FMUEhBQkVULlBULCBVbml0c0hhbmRsZXIuUGVwdGlkZUZhc3RhQWxwaGFiZXRdLFxuICAgIFtBTFBIQUJFVC5ETkEsIFVuaXRzSGFuZGxlci5EbmFGYXN0YUFscGhhYmV0XSxcbiAgICBbQUxQSEFCRVQuUk5BLCBVbml0c0hhbmRsZXIuUm5hRmFzdGFBbHBoYWJldF0sXG4gIF07XG5cbiAgLy8gQ2FsY3VsYXRlIGxpa2VsaWhvb2RzIGZvciBhbHBoYWJldF9jYW5kaWRhdGVzXG4gIGNvbnN0IGFscGhhYmV0Q2FuZGlkYXRlc1NpbTogbnVtYmVyW10gPSBhbHBoYWJldENhbmRpZGF0ZXMubWFwKFxuICAgIChjKSA9PiBnZXRBbHBoYWJldFNpbWlsYXJpdHkoc3RhdHMuZnJlcSwgY1sxXSkpO1xuICBjb25zdCBtYXhDb3MgPSBNYXRoLm1heCguLi5hbHBoYWJldENhbmRpZGF0ZXNTaW0pO1xuICBjb25zdCBhbHBoYWJldCA9IG1heENvcyA+IDAuNjUgPyBhbHBoYWJldENhbmRpZGF0ZXNbYWxwaGFiZXRDYW5kaWRhdGVzU2ltLmluZGV4T2YobWF4Q29zKV1bMF0gOiAnVU4nO1xuICByZXR1cm4gYWxwaGFiZXQ7XG59XG5cbi8qKiBTZWxlY3RzIGEgc3VpdGFibGUgcGFsZXR0ZSBiYXNlZCBvbiBjb2x1bW4gZGF0YVxuICogQHBhcmFtIHtERy5Db2x1bW59IHNlcUNvbCBDb2x1bW4gdG8gbG9vayBmb3IgYSBwYWxldHRlXG4gKiBAcGFyYW0ge251bWJlcn0gIG1pbkxlbmd0aCBtaW5pbXVtIGxlbmd0aCBvZiBzZXF1ZW5jZSB0byBkZXRlY3QgcGFsZXR0ZSAoZW1wdHkgc3RyaW5ncyBhcmUgYWxsb3dlZClcbiAqIEByZXR1cm4ge1NlcVBhbGV0dGV9IFBhbGV0dGUgY29ycmVzcG9uZGluZyB0byB0aGUgYWxwaGFiZXQgb2YgdGhlIHNlcXVlbmNlcyBpbiB0aGUgY29sdW1uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwaWNrVXBQYWxldHRlKHNlcUNvbDogREcuQ29sdW1uLCBtaW5MZW5ndGg6IG51bWJlciA9IDUpOiBTZXFQYWxldHRlIHtcbiAgbGV0IGFscGhhYmV0OiBzdHJpbmc7XG4gIGlmIChzZXFDb2wuc2VtVHlwZSA9PSBERy5TRU1UWVBFLk1BQ1JPTU9MRUNVTEUpIHtcbiAgICBjb25zdCB1aDogVW5pdHNIYW5kbGVyID0gbmV3IFVuaXRzSGFuZGxlcihzZXFDb2wpO1xuICAgIGFscGhhYmV0ID0gdWguYWxwaGFiZXQ7XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgc3RhdHM6IFNlcUNvbFN0YXRzID0gZ2V0U3RhdHMoc2VxQ29sLCBtaW5MZW5ndGgsIHNwbGl0dGVyQXNGYXN0YSk7XG4gICAgYWxwaGFiZXQgPSBkZXRlY3RBbHBoYWJldChzdGF0cyk7XG4gIH1cblxuICBjb25zdCByZXMgPSBnZXRQYWxldHRlQnlUeXBlKGFscGhhYmV0KTtcbiAgcmV0dXJuIHJlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBhbGV0dGVCeVR5cGUocGFsZXR0ZVR5cGU6IHN0cmluZyk6IFNlcVBhbGV0dGUge1xuICBzd2l0Y2ggKHBhbGV0dGVUeXBlKSB7XG4gIGNhc2UgJ1BUJzpcbiAgICByZXR1cm4gQW1pbm9hY2lkc1BhbGV0dGVzLkdyb2tHcm91cHM7XG4gIGNhc2UgJ05UJzpcbiAgY2FzZSAnRE5BJzpcbiAgY2FzZSAnUk5BJzpcbiAgICByZXR1cm4gTnVjbGVvdGlkZXNQYWxldHRlcy5DaHJvbWF0b2dyYW07XG4gICAgLy8gb3RoZXJcbiAgZGVmYXVsdDpcbiAgICByZXR1cm4gVW5rbm93blNlcVBhbGV0dGVzLkNvbG9yO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwaWNrVXBTZXFDb2woZGY6IERHLkRhdGFGcmFtZSk6IERHLkNvbHVtbiB8IG51bGwge1xuICBjb25zdCBzZW1UeXBlQ29sTGlzdCA9IGRmLmNvbHVtbnMuYnlTZW1UeXBlQWxsKERHLlNFTVRZUEUuTUFDUk9NT0xFQ1VMRSk7XG4gIGxldCByZXNDb2w6IERHLkNvbHVtbiB8IG51bGwgPSBzZW1UeXBlQ29sTGlzdC5maW5kKChjb2wpID0+IHtcbiAgICBjb25zdCB1bml0cyA9IGNvbC5nZXRUYWcoREcuVEFHUy5VTklUUyk7XG4gICAgcmV0dXJuIHVuaXRzID8gdW5pdHMuaW5kZXhPZignTVNBJykgIT09IC0xIDogZmFsc2U7XG4gIH0pID8/IG51bGw7XG4gIGlmICghcmVzQ29sICYmIHNlbVR5cGVDb2xMaXN0Lmxlbmd0aCA+IDApXG4gICAgcmVzQ29sID0gc2VtVHlwZUNvbExpc3RbMF07XG4gIHJldHVybiByZXNDb2w7XG59XG4iXX0=
|
|
211
|
+
//# sourceMappingURL=macromolecule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"macromolecule.js","sourceRoot":"","sources":["macromolecule.ts"],"names":[],"mappings":"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"}
|
|
@@ -239,4 +239,4 @@ export class NotationConverter extends UnitsHandler {
|
|
|
239
239
|
this._splitter = null;
|
|
240
240
|
}
|
|
241
241
|
}
|
|
242
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90YXRpb24tY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibm90YXRpb24tY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdEMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxRQUFRLEVBQTRDLE1BQU0saUJBQWlCLENBQUM7QUFFMUcsaUZBQWlGO0FBQ2pGLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxZQUFZO0lBR2pELElBQWMsUUFBUTtRQUNwQixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSTtZQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxjQUF3QixJQUFhLE9BQU8sY0FBYyxpQ0FBbUIsQ0FBQyxDQUFDLENBQUM7SUFFeEYsV0FBVyxDQUFDLGNBQXdCLElBQWEsT0FBTyxjQUFjLHlDQUF1QixDQUFDLENBQUMsQ0FBQztJQUVoRyxNQUFNLENBQUMsY0FBd0IsSUFBYSxPQUFPLGNBQWMsK0JBQWtCLENBQUMsQ0FBQyxDQUFDO0lBRTdGOzs7Ozs7T0FNRztJQUNLLHVCQUF1QixDQUFDLFNBQWlCLEVBQUUsaUJBQWdDLElBQUk7UUFDckYsSUFBSSxjQUFjLEtBQUssSUFBSTtZQUN6QixjQUFjLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBRXpDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLHNDQUFvQixDQUFDO1FBQ3hELHNEQUFzRDtRQUN0RCxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDN0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3ZELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2xELElBQUksa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEtBQUssY0FBYztvQkFDMUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQzthQUN6RTtZQUNELE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssdUNBQXFCLENBQUM7UUFDcEQsU0FBUyxDQUFDLE1BQU0sbUNBQWlCLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLGVBQWU7UUFDckIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3hCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUNoQyxTQUFTLENBQUMsQ0FBQyw2Q0FBNkM7UUFFOUQsSUFBSSxNQUFNLEtBQUssU0FBUztZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7UUFFckQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3ZCLE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsMEJBQTBCO1FBQ3hELE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLDBCQUEwQjtRQUMzRixPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELG1EQUFtRDtJQUMzQyxtQkFBbUIsQ0FDekIsYUFBcUIsRUFDckIsZUFBdUIsRUFDdkIsTUFBYyxFQUNkLFdBQW1CLEVBQ25CLFlBQW9CLEVBQ3BCLE9BQWU7UUFFZixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sZ0JBQWdCLEdBQWEsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQVUsRUFBRSxFQUFFO1lBQ2pFLElBQUksRUFBRSxLQUFLLGVBQWU7Z0JBQ3hCLE9BQU8sWUFBWSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQzs7Z0JBRWhELE9BQU8sR0FBRyxXQUFXLEdBQUcsRUFBRSxHQUFHLFlBQVksRUFBRSxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxHQUFHLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxtQkFBbUIsQ0FDeEIsYUFBcUIsRUFDckIsa0JBQWlDLElBQUk7UUFFckMsSUFBSSxlQUFlLEtBQUssSUFBSTtZQUMxQixlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQzFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDNUUsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxhQUFhLENBQUMsa0JBQWlDLElBQUk7UUFDekQsSUFBSSxlQUFlLEtBQUssSUFBSTtZQUMxQixlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBRTFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFNUUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksNEJBQWUsQ0FBQztRQUNuRCx3Q0FBd0M7UUFDeEMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQzdCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNDLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxlQUFnQixFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9HLENBQUMsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssNkJBQWdCLENBQUM7UUFDL0MsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssdUJBQXVCLENBQUMsaUJBQWdDLElBQUk7UUFDbEUsSUFBSSxjQUFjLEtBQUssSUFBSTtZQUN6QixjQUFjLEdBQUcsWUFBWSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQztRQUU3RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSw4QkFBZ0IsQ0FBQztRQUNwRCx3Q0FBd0M7UUFDeEMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQzdCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUMsc0NBQXNDO1lBQ3RDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzVELE1BQU0sa0JBQWtCLEdBQWEsRUFBRSxDQUFDO1lBQ3hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ25ELE1BQU0sSUFBSSxHQUFHLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNwQyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO29CQUNyQixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsY0FBZSxDQUFDLENBQUM7aUJBQzFDO3FCQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQzFCLHdDQUF3QztvQkFDeEMsTUFBTSxPQUFPLEdBQUcsR0FBRyxHQUFHLElBQUksR0FBRyxHQUFHLENBQUM7b0JBQ2pDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDbEM7cUJBQU07b0JBQ0wsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUMvQjthQUNGO1lBQ0QsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSywrQkFBaUIsQ0FBQztRQUNoRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksMkJBQTJCLENBQ2hDLFdBQW1CLEVBQ25CLFdBQW1CLEVBQ25CLFlBQXFCLEVBQ3JCLFlBQXFCO1FBRXJCLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDakIsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN0RCxZQUFZLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUM7U0FDakQ7UUFFRCxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUM5RTtRQUNELE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUFDO1FBQ3pDLE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRixpQ0FBaUM7UUFDakMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsRCxNQUFNLGdCQUFnQixHQUFhLEVBQUUsQ0FBQztRQUN0QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM5QyxJQUFJLElBQUksR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0IsSUFBSSxZQUFZO2dCQUNkLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMxQyxJQUFJLElBQUksS0FBSyxZQUFZLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFO2dCQUNyRCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsWUFBYSxDQUFDLENBQUM7YUFDdEM7aUJBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQXVCLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDbkUsMkRBQTJEO2dCQUMzRCxNQUFNLE9BQU8sR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQztnQkFDakMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ2hDO2lCQUFNO2dCQUNMLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM3QjtTQUNGO1FBQ0QsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ssV0FBVyxDQUFDLFdBQW1CLEVBQUUsWUFBcUIsRUFBRSxZQUFxQjtRQUNuRixtRUFBbUU7UUFDbkUsd0VBQXdFO1FBQ3hFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBdUIsQ0FBQyxDQUFDO1FBQzdELHdDQUF3QztRQUN4QyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDN0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekMsT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDOUYsbUVBQW1FO1lBQ25FLG1FQUFtRTtZQUNuRSwwQ0FBMEM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7UUFFSCxpRkFBaUY7UUFDakYsTUFBTSxRQUFRLEdBQWlCLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sS0FBSyxHQUFnQixRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM1RCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNyRCxTQUFTLENBQUMsTUFBTSwrQkFBZSxPQUFPLENBQUMsQ0FBQztRQUV4QyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLGlEQUFpRDtRQUNqRCxPQUFPLElBQUksQ0FBQyxZQUFZLHNDQUFvQixDQUFDO0lBQy9DLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE9BQU8sQ0FBQyxXQUFxQixFQUFFLGVBQThCLElBQUk7UUFDdEUsc0JBQXNCO1FBQ3RCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxXQUFXO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM3QyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksWUFBWSxLQUFLLElBQUk7WUFDeEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBRXBELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksWUFBWSxLQUFLLElBQUk7WUFDMUUsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztZQUN6RSxPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQzthQUN6QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztZQUN0RCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO2FBQ25DLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsbUJBQW1CO1lBQ3RFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNsQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQztZQUNyRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLFlBQWEsQ0FBQyxDQUFDOztZQUVwRCxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQjtnQkFDekMseUJBQXlCLElBQUksQ0FBQyxRQUFRLHlCQUF5QixXQUFXLElBQUksQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxZQUFtQixHQUFjO1FBQy9CLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQTdRTCxjQUFTLEdBQXdCLElBQUksQ0FBQztJQThROUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyogRG8gbm90IGNoYW5nZSB0aGVzZSBpbXBvcnQgbGluZXMgdG8gbWF0Y2ggZXh0ZXJuYWwgbW9kdWxlcyBpbiB3ZWJwYWNrIGNvbmZpZ3VyYXRpb24gKi9cbmltcG9ydCAqIGFzIGdyb2sgZnJvbSAnZGF0YWdyb2stYXBpL2dyb2snO1xuaW1wb3J0ICogYXMgdWkgZnJvbSAnZGF0YWdyb2stYXBpL3VpJztcbmltcG9ydCAqIGFzIERHIGZyb20gJ2RhdGFncm9rLWFwaS9kZyc7XG5cbmltcG9ydCB7VW5pdHNIYW5kbGVyfSBmcm9tICcuL3VuaXRzLWhhbmRsZXInO1xuaW1wb3J0IHtnZXRTcGxpdHRlckZvckNvbHVtbiwgZ2V0U3RhdHMsIE5PVEFUSU9OLCBTZXFDb2xTdGF0cywgU3BsaXR0ZXJGdW5jLCBUQUdTfSBmcm9tICcuL21hY3JvbW9sZWN1bGUnO1xuXG4vKiogQ2xhc3MgZm9yIGhhbmRsaW5nIGNvbnZlcnNpb24gb2Ygbm90YXRpb24gc3lzdGVtcyBpbiBNYWNyb21vbGVjdWxlIGNvbHVtbnMgKi9cbmV4cG9ydCBjbGFzcyBOb3RhdGlvbkNvbnZlcnRlciBleHRlbmRzIFVuaXRzSGFuZGxlciB7XG4gIHByaXZhdGUgX3NwbGl0dGVyOiBTcGxpdHRlckZ1bmMgfCBudWxsID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgZ2V0IHNwbGl0dGVyKCk6IFNwbGl0dGVyRnVuYyB7XG4gICAgaWYgKHRoaXMuX3NwbGl0dGVyID09PSBudWxsKVxuICAgICAgdGhpcy5fc3BsaXR0ZXIgPSBnZXRTcGxpdHRlckZvckNvbHVtbih0aGlzLmNvbHVtbik7XG4gICAgcmV0dXJuIHRoaXMuX3NwbGl0dGVyO1xuICB9XG5cbiAgcHVibGljIHRvRmFzdGEodGFyZ2V0Tm90YXRpb246IE5PVEFUSU9OKTogYm9vbGVhbiB7IHJldHVybiB0YXJnZXROb3RhdGlvbiA9PT0gTk9UQVRJT04uRkFTVEE7IH1cblxuICBwdWJsaWMgdG9TZXBhcmF0b3IodGFyZ2V0Tm90YXRpb246IE5PVEFUSU9OKTogYm9vbGVhbiB7IHJldHVybiB0YXJnZXROb3RhdGlvbiA9PT0gTk9UQVRJT04uU0VQQVJBVE9SOyB9XG5cbiAgcHVibGljIHRvSGVsbSh0YXJnZXROb3RhdGlvbjogTk9UQVRJT04pOiBib29sZWFuIHsgcmV0dXJuIHRhcmdldE5vdGF0aW9uID09PSBOT1RBVElPTi5IRUxNOyB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgYSBNYWNyb21vbGVjdWxlIGNvbHVtbiBmcm9tIEZBU1RBIHRvIFNFUEFSQVRPUiBub3RhdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2VwYXJhdG9yICBBIHNwZWNpZmljIHNlcGFyYXRvciB0byBiZSB1c2VkXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYXN0YUdhcFN5bWJvbCAgR2FwIHN5bWJvbCBpbiBGQVNUQSwgJy0nIGJ5IGRlZmF1bHRcbiAgICogQHJldHVybiB7REcuQ29sdW1ufSAgICAgICAgQSBuZXcgY29sdW1uIGluIFNFUEFSQVRPUiBub3RhdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBjb252ZXJ0RmFzdGFUb1NlcGFyYXRvcihzZXBhcmF0b3I6IHN0cmluZywgZmFzdGFHYXBTeW1ib2w6IHN0cmluZyB8IG51bGwgPSBudWxsKTogREcuQ29sdW1uIHtcbiAgICBpZiAoZmFzdGFHYXBTeW1ib2wgPT09IG51bGwpXG4gICAgICBmYXN0YUdhcFN5bWJvbCA9IHRoaXMuZGVmYXVsdEdhcFN5bWJvbDtcblxuICAgIGNvbnN0IG5ld0NvbHVtbiA9IHRoaXMuZ2V0TmV3Q29sdW1uKE5PVEFUSU9OLlNFUEFSQVRPUik7XG4gICAgLy8gYXNzaWduIHRoZSB2YWx1ZXMgdG8gdGhlIG5ld2x5IGNyZWF0ZWQgZW1wdHkgY29sdW1uXG4gICAgbmV3Q29sdW1uLmluaXQoKGlkeDogbnVtYmVyKSA9PiB7XG4gICAgICBjb25zdCBmYXN0YVBvbHltZXIgPSB0aGlzLmNvbHVtbi5nZXQoaWR4KTtcbiAgICAgIGNvbnN0IGZhc3RhTW9ub21lcnNBcnJheSA9IHRoaXMuc3BsaXR0ZXIoZmFzdGFQb2x5bWVyKTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmFzdGFNb25vbWVyc0FycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChmYXN0YU1vbm9tZXJzQXJyYXlbaV0gPT09IGZhc3RhR2FwU3ltYm9sKVxuICAgICAgICAgIGZhc3RhTW9ub21lcnNBcnJheVtpXSA9IFVuaXRzSGFuZGxlci5fZGVmYXVsdEdhcFN5bWJvbHNEaWN0LlNFUEFSQVRPUjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYXN0YU1vbm9tZXJzQXJyYXkuam9pbihzZXBhcmF0b3IpO1xuICAgIH0pO1xuICAgIG5ld0NvbHVtbi5zZXRUYWcoREcuVEFHUy5VTklUUywgTk9UQVRJT04uU0VQQVJBVE9SKTtcbiAgICBuZXdDb2x1bW4uc2V0VGFnKFRBR1Muc2VwYXJhdG9yLCBzZXBhcmF0b3IpO1xuICAgIHJldHVybiBuZXdDb2x1bW47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB3cmFwcGVyIHN0cmluZ3MgZm9yIEhFTE0sIGRlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiB0aGVcbiAgICogbWFjcm9tb2xlY3VsZSAocGVwdGlkZSwgRE5BLCBSTkEpXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZ1tdfSBBcnJheSBvZiB3cmFwcGVyc1xuICAgKi9cbiAgcHJpdmF0ZSBnZXRIZWxtV3JhcHBlcnMoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHByZWZpeCA9ICh0aGlzLmlzRG5hKCkpID8gJ0ROQTF7JyA6XG4gICAgICAodGhpcy5pc1JuYSgpKSA/ICdSTkExeycgOlxuICAgICAgICAodGhpcy5pc1BlcHRpZGUoKSkgPyAnUEVQVElERTF7JyA6XG4gICAgICAgICAgJ1Vua25vd24nOyAvLyB0aGlzIGNhc2Ugc2hvdWxkIGJlIGhhbmRsZWQgYXMgZXhjZXB0aW9uYWxcblxuICAgIGlmIChwcmVmaXggPT09ICdVbmtub3duJylcbiAgICAgIHRocm93IG5ldyBFcnJvcignTmVpdGhlciBwZXB0aWRlLCBub3IgbnVjbGVvdGlkZScpO1xuXG4gICAgY29uc3QgcG9zdGZpeCA9ICd9JCQkJztcbiAgICBjb25zdCBsZWZ0V3JhcHBlciA9ICh0aGlzLmlzRG5hKCkpID8gJ0QoJyA6XG4gICAgICAodGhpcy5pc1JuYSgpKSA/ICdSKCcgOiAnJzsgLy8gbm8gd3JhcHBlciBmb3IgcGVwdGlkZXNcbiAgICBjb25zdCByaWdodFdyYXBwZXIgPSAodGhpcy5pc0RuYSgpIHx8IHRoaXMuaXNSbmEoKSkgPyAnKVAnIDogJyc7IC8vIG5vIHdyYXBwZXIgZm9yIHBlcHRpZGVzXG4gICAgcmV0dXJuIFtwcmVmaXgsIGxlZnRXcmFwcGVyLCByaWdodFdyYXBwZXIsIHBvc3RmaXhdO1xuICB9XG5cbiAgLy8gQSBoZWxwZXIgZnVuY3Rpb24gZm9yIGNvbnZlcnRpbmcgc3RyaW5ncyB0byBIRUxNXG4gIHByaXZhdGUgY29udmVydFRvSGVsbUhlbHBlcihcbiAgICBzb3VyY2VQb2x5bWVyOiBzdHJpbmcsXG4gICAgc291cmNlR2FwU3ltYm9sOiBzdHJpbmcsXG4gICAgcHJlZml4OiBzdHJpbmcsXG4gICAgbGVmdFdyYXBwZXI6IHN0cmluZyxcbiAgICByaWdodFdyYXBwZXI6IHN0cmluZyxcbiAgICBwb3N0Zml4OiBzdHJpbmdcbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBtb25vbWVyQXJyYXkgPSB0aGlzLnNwbGl0dGVyKHNvdXJjZVBvbHltZXIpO1xuICAgIGNvbnN0IG1vbm9tZXJIZWxtQXJyYXk6IHN0cmluZ1tdID0gbW9ub21lckFycmF5Lm1hcCgobW06IHN0cmluZykgPT4ge1xuICAgICAgaWYgKG1tID09PSBzb3VyY2VHYXBTeW1ib2wpXG4gICAgICAgIHJldHVybiBVbml0c0hhbmRsZXIuX2RlZmF1bHRHYXBTeW1ib2xzRGljdC5IRUxNO1xuICAgICAgZWxzZVxuICAgICAgICByZXR1cm4gYCR7bGVmdFdyYXBwZXJ9JHttbX0ke3JpZ2h0V3JhcHBlcn1gO1xuICAgIH0pO1xuICAgIHJldHVybiBgJHtwcmVmaXh9JHttb25vbWVySGVsbUFycmF5LmpvaW4oJy4nKX0ke3Bvc3RmaXh9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IGEgc3RyaW5nIHdpdGggU0VQQVJBVE9SL0ZBU1RBIG5vdGF0aW9uIHRvIEhFTE1cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNvdXJjZVBvbHltZXIgIEEgc3RyaW5nIHRvIGJlIGNvbnZlcnRlZFxuICAgKiBAcGFyYW0ge3N0cmluZyB8IG51bGx9IHNvdXJjZUdhcFN5bWJvbCAgQW4gb3B0aW9uYWwgZ2FwIHN5bWJvbCwgc2V0IHRvXG4gICAqIGRlZmF1bHQgdmFsdWVzICgnLScgZm9yIEZBU1RBIGFuZCAnJyBmb3IgU0VQQVJBVE9SKSB1bmxlc3Mgc3BlY2lmaWVkXG4gICAqIEByZXR1cm4ge3N0cmluZ30gIFRoZSB0YXJnZXQgSEVMTSBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyBjb252ZXJ0U3RyaW5nVG9IZWxtKFxuICAgIHNvdXJjZVBvbHltZXI6IHN0cmluZyxcbiAgICBzb3VyY2VHYXBTeW1ib2w6IHN0cmluZyB8IG51bGwgPSBudWxsXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKHNvdXJjZUdhcFN5bWJvbCA9PT0gbnVsbClcbiAgICAgIHNvdXJjZUdhcFN5bWJvbCA9IHRoaXMuZGVmYXVsdEdhcFN5bWJvbDtcbiAgICBjb25zdCBbcHJlZml4LCBsZWZ0V3JhcHBlciwgcmlnaHRXcmFwcGVyLCBwb3N0Zml4XSA9IHRoaXMuZ2V0SGVsbVdyYXBwZXJzKCk7XG4gICAgcmV0dXJuIHRoaXMuY29udmVydFRvSGVsbUhlbHBlcihzb3VyY2VQb2x5bWVyLCBzb3VyY2VHYXBTeW1ib2wsIHByZWZpeCwgbGVmdFdyYXBwZXIsIHJpZ2h0V3JhcHBlciwgcG9zdGZpeCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCBhIGNvbHVtbiB0byBIRUxNXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgbnVsbH0gc291cmNlR2FwU3ltYm9sXG4gICAqIEByZXR1cm4ge0RHLkNvbHVtbn1cbiAgICovXG4gIHByaXZhdGUgY29udmVydFRvSGVsbShzb3VyY2VHYXBTeW1ib2w6IHN0cmluZyB8IG51bGwgPSBudWxsKTogREcuQ29sdW1uIHtcbiAgICBpZiAoc291cmNlR2FwU3ltYm9sID09PSBudWxsKVxuICAgICAgc291cmNlR2FwU3ltYm9sID0gdGhpcy5kZWZhdWx0R2FwU3ltYm9sO1xuXG4gICAgY29uc3QgW3ByZWZpeCwgbGVmdFdyYXBwZXIsIHJpZ2h0V3JhcHBlciwgcG9zdGZpeF0gPSB0aGlzLmdldEhlbG1XcmFwcGVycygpO1xuXG4gICAgY29uc3QgbmV3Q29sdW1uID0gdGhpcy5nZXROZXdDb2x1bW4oTk9UQVRJT04uSEVMTSk7XG4gICAgLy8gYXNzaWduIHRoZSB2YWx1ZXMgdG8gdGhlIGVtcHR5IGNvbHVtblxuICAgIG5ld0NvbHVtbi5pbml0KChpZHg6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3Qgc291cmNlUG9seW1lciA9IHRoaXMuY29sdW1uLmdldChpZHgpO1xuICAgICAgcmV0dXJuIHRoaXMuY29udmVydFRvSGVsbUhlbHBlcihzb3VyY2VQb2x5bWVyLCBzb3VyY2VHYXBTeW1ib2whLCBwcmVmaXgsIGxlZnRXcmFwcGVyLCByaWdodFdyYXBwZXIsIHBvc3RmaXgpO1xuICAgIH0pO1xuICAgIG5ld0NvbHVtbi5zZXRUYWcoREcuVEFHUy5VTklUUywgTk9UQVRJT04uSEVMTSk7XG4gICAgcmV0dXJuIG5ld0NvbHVtbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IFNFUEFSQVRPUiBjb2x1bW4gdG8gRkFTVEEgbm90YXRpb25cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmcgfCBudWxsfSBmYXN0YUdhcFN5bWJvbCBPcHRpb25hbCBnYXAgc3ltYm9sIGZvciBGQVNUQVxuICAgKiBAcmV0dXJuIHtERy5Db2x1bW59ICBDb252ZXJ0ZWQgY29sdW1uXG4gICAqL1xuICBwcml2YXRlIGNvbnZlcnRTZXBhcmF0b3JUb0Zhc3RhKGZhc3RhR2FwU3ltYm9sOiBzdHJpbmcgfCBudWxsID0gbnVsbCk6IERHLkNvbHVtbiB7XG4gICAgaWYgKGZhc3RhR2FwU3ltYm9sID09PSBudWxsKVxuICAgICAgZmFzdGFHYXBTeW1ib2wgPSBVbml0c0hhbmRsZXIuX2RlZmF1bHRHYXBTeW1ib2xzRGljdC5GQVNUQTtcblxuICAgIGNvbnN0IG5ld0NvbHVtbiA9IHRoaXMuZ2V0TmV3Q29sdW1uKE5PVEFUSU9OLkZBU1RBKTtcbiAgICAvLyBhc3NpZ24gdGhlIHZhbHVlcyB0byB0aGUgZW1wdHkgY29sdW1uXG4gICAgbmV3Q29sdW1uLmluaXQoKGlkeDogbnVtYmVyKSA9PiB7XG4gICAgICBjb25zdCBzZXBhcmF0b3JQb2x5bWVyID0gdGhpcy5jb2x1bW4uZ2V0KGlkeCk7XG4gICAgICAvLyBpdGVtcyBjYW4gYmUgbW9ub21lcnMgb3Igc2VwYXJhdG9yc1xuICAgICAgY29uc3Qgc2VwYXJhdG9ySXRlbXNBcnJheSA9IHRoaXMuc3BsaXR0ZXIoc2VwYXJhdG9yUG9seW1lcik7XG4gICAgICBjb25zdCBmYXN0YU1vbm9tZXJzQXJyYXk6IHN0cmluZ1tdID0gW107XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlcGFyYXRvckl0ZW1zQXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHNlcGFyYXRvckl0ZW1zQXJyYXlbaV07XG4gICAgICAgIGlmIChpdGVtLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIGZhc3RhTW9ub21lcnNBcnJheS5wdXNoKGZhc3RhR2FwU3ltYm9sISk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgLy8gdGhlIGNhc2Ugb2YgYSBtdWx0aS1jaGFyYWN0ZXIgbW9ub21lclxuICAgICAgICAgIGNvbnN0IG1vbm9tZXIgPSAnWycgKyBpdGVtICsgJ10nO1xuICAgICAgICAgIGZhc3RhTW9ub21lcnNBcnJheS5wdXNoKG1vbm9tZXIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGZhc3RhTW9ub21lcnNBcnJheS5wdXNoKGl0ZW0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFzdGFNb25vbWVyc0FycmF5LmpvaW4oJycpO1xuICAgIH0pO1xuICAgIG5ld0NvbHVtbi5zZXRUYWcoREcuVEFHUy5VTklUUywgTk9UQVRJT04uRkFTVEEpO1xuICAgIHJldHVybiBuZXdDb2x1bW47XG4gIH1cblxuICAvKipcbiAgICogIENvbnZlcnQgSEVMTSBzdHJpbmcgdG8gRkFTVEEvU0VQQVJBVE9SXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBoZWxtUG9seW1lciAgICBBIHN0cmluZyB0byBiZSBjb252ZXJ0ZWRcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRndE5vdGF0aW9uICAgIFRhcmdldCBub3RhdGlvbjogRkFTVEEgb3IgU0VQQVJBVE9SXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0Z3RTZXBhcmF0b3IgICBPcHRpb25hbCB0YXJnZXQgc2VwYXJhdG9yIChmb3IgSEVMTSAtPlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IG51bGx9IHRndEdhcFN5bWJvbCAgIE9wdGlvbmFsIHRhcmdldCBnYXAgc3ltYm9sXG4gICAqIFNFUEFSQVRPUilcbiAgICogQHJldHVybiB7c3RyaW5nfSBDb252ZXJ0ZWQgc3RyaW5nXG4gICAqL1xuICBwdWJsaWMgY29udmVydEhlbG1Ub0Zhc3RhU2VwYXJhdG9yKFxuICAgIGhlbG1Qb2x5bWVyOiBzdHJpbmcsIFxuICAgIHRndE5vdGF0aW9uOiBzdHJpbmcsIFxuICAgIHRndFNlcGFyYXRvcj86IHN0cmluZywgXG4gICAgdGd0R2FwU3ltYm9sPzogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKCF0Z3RHYXBTeW1ib2wpIHtcbiAgICAgIHRndEdhcFN5bWJvbCA9ICh0aGlzLnRvRmFzdGEodGd0Tm90YXRpb24gYXMgTk9UQVRJT04pKSA/XG4gICAgICAgIFVuaXRzSGFuZGxlci5fZGVmYXVsdEdhcFN5bWJvbHNEaWN0LkZBU1RBIDpcbiAgICAgICAgVW5pdHNIYW5kbGVyLl9kZWZhdWx0R2FwU3ltYm9sc0RpY3QuU0VQQVJBVE9SO1xuICAgIH1cblxuICAgIGlmICghdGd0U2VwYXJhdG9yKSB7XG4gICAgICB0Z3RTZXBhcmF0b3IgPSAodGhpcy50b0Zhc3RhKHRndE5vdGF0aW9uIGFzIE5PVEFUSU9OKSkgPyAnJyA6IHRoaXMuc2VwYXJhdG9yO1xuICAgIH1cbiAgICBjb25zdCBoZWxtV3JhcHBlcnNSZSA9IC8oUlxcKHxEXFwofFxcKXxQKS9nO1xuICAgIGNvbnN0IGlzTnVjbGVvdGlkZSA9IGhlbG1Qb2x5bWVyLnN0YXJ0c1dpdGgoJ0ROQScpIHx8IGhlbG1Qb2x5bWVyLnN0YXJ0c1dpdGgoJ1JOQScpO1xuICAgIC8vIGl0ZW1zIGNhbiBiZSBtb25vbWVycyBvciBoZWxtc1xuICAgIGNvbnN0IGhlbG1JdGVtc0FycmF5ID0gdGhpcy5zcGxpdHRlcihoZWxtUG9seW1lcik7XG4gICAgY29uc3QgdGd0TW9ub21lcnNBcnJheTogc3RyaW5nW10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGhlbG1JdGVtc0FycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgaXRlbSA9IGhlbG1JdGVtc0FycmF5W2ldO1xuICAgICAgaWYgKGlzTnVjbGVvdGlkZSlcbiAgICAgICAgaXRlbSA9IGl0ZW0ucmVwbGFjZShoZWxtV3JhcHBlcnNSZSwgJycpO1xuICAgICAgaWYgKGl0ZW0gPT09IFVuaXRzSGFuZGxlci5fZGVmYXVsdEdhcFN5bWJvbHNEaWN0LkhFTE0pIHtcbiAgICAgICAgdGd0TW9ub21lcnNBcnJheS5wdXNoKHRndEdhcFN5bWJvbCEpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnRvRmFzdGEodGd0Tm90YXRpb24gYXMgTk9UQVRJT04pICYmIGl0ZW0ubGVuZ3RoID4gMSkge1xuICAgICAgICAvLyB0aGUgY2FzZSBvZiBhIG11bHRpLWNoYXJhY3RlciBtb25vbWVyIGNvbnZlcnRlZCB0byBGQVNUQVxuICAgICAgICBjb25zdCBtb25vbWVyID0gJ1snICsgaXRlbSArICddJztcbiAgICAgICAgdGd0TW9ub21lcnNBcnJheS5wdXNoKG1vbm9tZXIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGd0TW9ub21lcnNBcnJheS5wdXNoKGl0ZW0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGd0TW9ub21lcnNBcnJheS5qb2luKHRndFNlcGFyYXRvcik7XG4gIH1cblxuICAvKipcbiAgICogIENvbnZlcnQgSEVMTSBjb2x1bW4gdG8gRkFTVEEvU0VQQVJBVE9SXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0Z3ROb3RhdGlvbiAgICBUYXJnZXQgbm90YXRpb246IEZBU1RBIG9yIFNFUEFSQVRPUlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGd0U2VwYXJhdG9yICAgT3B0aW9uYWwgdGFyZ2V0IHNlcGFyYXRvciAoZm9yIEhFTE0gLT5cbiAgICogQHBhcmFtIHtzdHJpbmcgfCBudWxsfSB0Z3RHYXBTeW1ib2wgICBPcHRpb25hbCB0YXJnZXQgZ2FwIHN5bWJvbFxuICAgKiBTRVBBUkFUT1IpXG4gICAqIEByZXR1cm4ge0RHLkNvbHVtbn0gQ29udmVydGVkIGNvbHVtblxuICAgKi9cbiAgcHJpdmF0ZSBjb252ZXJ0SGVsbSh0Z3ROb3RhdGlvbjogc3RyaW5nLCB0Z3RTZXBhcmF0b3I/OiBzdHJpbmcsIHRndEdhcFN5bWJvbD86IHN0cmluZyk6IERHLkNvbHVtbiB7XG4gICAgLy8gVGhpcyBmdW5jdGlvbiBtdXN0IG5vdCBjb250YWluIGNhbGxzIG9mIGlzRG5hKCkgYW5kIGlzUm5hKCksIGZvclxuICAgIC8vIHNvdXJjZSBoZWxtIGNvbHVtbnMgbWF5IGNvbnRhaW4gUk5BLCBETkEgYW5kIFBUIGFjcm9zcyBkaWZmZXJlbnQgcm93c1xuICAgIGNvbnN0IG5ld0NvbHVtbiA9IHRoaXMuZ2V0TmV3Q29sdW1uKHRndE5vdGF0aW9uIGFzIE5PVEFUSU9OKTtcbiAgICAvLyBhc3NpZ24gdGhlIHZhbHVlcyB0byB0aGUgZW1wdHkgY29sdW1uXG4gICAgbmV3Q29sdW1uLmluaXQoKGlkeDogbnVtYmVyKSA9PiB7XG4gICAgICBjb25zdCBoZWxtUG9seW1lciA9IHRoaXMuY29sdW1uLmdldChpZHgpO1xuICAgICAgcmV0dXJuIHRoaXMuY29udmVydEhlbG1Ub0Zhc3RhU2VwYXJhdG9yKGhlbG1Qb2x5bWVyLCB0Z3ROb3RhdGlvbiwgdGd0U2VwYXJhdG9yLCB0Z3RHYXBTeW1ib2wpO1xuICAgICAgLy8gd2UgY2Fubm90IHVzZSBpc0RuYSgpIG9yIGlzUm5hKCkgYmVjYXVzZSBzb3VyY2UgaGVsbSBjb2x1bW5zIGNhblxuICAgICAgLy8gY29udGFpbiBETkEsIFJOQSBhbmQgUFQgaW4gZGlmZmVyZW50IGNlbGxzLCBzbyB0aGUgY29ycmVzcG9uZGluZ1xuICAgICAgLy8gdGFncyBjYW5ub3QgYmUgc2V0IGZvciB0aGUgd2hvbGUgY29sdW1uXG4gICAgfSk7XG5cbiAgICAvLyBUQUdTLmFsaWduZWQgaXMgbWFuZGF0b3J5IGZvciBjb2x1bW5zIG9mIE5PVEFUSU9OLkZBU1RBIGFuZCBOT1RBVElPTi5TRVBBUkFUT1JcbiAgICBjb25zdCBzcGxpdHRlcjogU3BsaXR0ZXJGdW5jID0gZ2V0U3BsaXR0ZXJGb3JDb2x1bW4obmV3Q29sdW1uKTtcbiAgICBjb25zdCBzdGF0czogU2VxQ29sU3RhdHMgPSBnZXRTdGF0cyhuZXdDb2x1bW4sIDUsIHNwbGl0dGVyKTtcbiAgICBjb25zdCBhbGlnbmVkID0gc3RhdHMuc2FtZUxlbmd0aCA/ICdTRVEuTVNBJyA6ICdTRVEnO1xuICAgIG5ld0NvbHVtbi5zZXRUYWcoVEFHUy5hbGlnbmVkLCBhbGlnbmVkKTtcblxuICAgIHJldHVybiBuZXdDb2x1bW47XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRIZWxtVG9TZXBhcmF0b3IoKTogREcuQ29sdW1uIHtcbiAgICAvLyBUT0RPOiBpbXBsZW1lbnRhdGlvcmV0dXJuIHRoaXMuZ2V0TmV3Q29sdW1uKCk7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TmV3Q29sdW1uKE5PVEFUSU9OLlNFUEFSQVRPUik7XG4gIH1cblxuICAvKiogRGlzcGF0Y2hlciBtZXRob2QgZm9yIG5vdGF0aW9uIGNvbnZlcnNpb25cbiAgICpcbiAgICogQHBhcmFtIHtOT1RBVElPTn0gdGd0Tm90YXRpb24gICBOb3RhdGlvbiB3ZSB3YW50IHRvIGNvbnZlcnQgdG9cbiAgICogQHBhcmFtIHtzdHJpbmcgfCBudWxsfSB0Z3RTZXBhcmF0b3IgICBQb3NzaWJsZSBzZXBhcmF0b3JcbiAgICogQHJldHVybiB7REcuQ29sdW1ufSAgICAgICAgICAgICAgICBDb252ZXJ0ZWQgY29sdW1uXG4gICAqL1xuICBwdWJsaWMgY29udmVydCh0Z3ROb3RhdGlvbjogTk9UQVRJT04sIHRndFNlcGFyYXRvcjogc3RyaW5nIHwgbnVsbCA9IG51bGwpOiBERy5Db2x1bW4ge1xuICAgIC8vIHBvc3NpYmxlIGV4Y2VwdGlvbnNcbiAgICBpZiAodGhpcy5ub3RhdGlvbiA9PT0gdGd0Tm90YXRpb24pXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RndCBub3RhdGlvbiBpcyBpbnZhbGlkJyk7XG4gICAgaWYgKHRoaXMudG9TZXBhcmF0b3IodGd0Tm90YXRpb24pICYmIHRndFNlcGFyYXRvciA9PT0gbnVsbClcbiAgICAgIHRocm93IG5ldyBFcnJvcigndGd0IHNlcGFyYXRvciBpcyBub3Qgc3BlY2lmaWVkJyk7XG5cbiAgICBpZiAodGhpcy5pc0Zhc3RhKCkgJiYgdGhpcy50b1NlcGFyYXRvcih0Z3ROb3RhdGlvbikgJiYgdGd0U2VwYXJhdG9yICE9PSBudWxsKVxuICAgICAgcmV0dXJuIHRoaXMuY29udmVydEZhc3RhVG9TZXBhcmF0b3IodGd0U2VwYXJhdG9yKTtcbiAgICBlbHNlIGlmICgodGhpcy5pc0Zhc3RhKCkgfHwgdGhpcy5pc1NlcGFyYXRvcigpKSAmJiB0aGlzLnRvSGVsbSh0Z3ROb3RhdGlvbikpXG4gICAgICByZXR1cm4gdGhpcy5jb252ZXJ0VG9IZWxtKCk7XG4gICAgZWxzZSBpZiAodGhpcy5pc1NlcGFyYXRvcigpICYmIHRoaXMudG9GYXN0YSh0Z3ROb3RhdGlvbikpXG4gICAgICByZXR1cm4gdGhpcy5jb252ZXJ0U2VwYXJhdG9yVG9GYXN0YSgpO1xuICAgIGVsc2UgaWYgKHRoaXMuaXNIZWxtKCkgJiYgdGhpcy50b0Zhc3RhKHRndE5vdGF0aW9uKSkgLy8gdGhlIGNhc2Ugb2YgSEVMTVxuICAgICAgcmV0dXJuIHRoaXMuY29udmVydEhlbG0odGd0Tm90YXRpb24pO1xuICAgIGVsc2UgaWYgKHRoaXMuaXNIZWxtKCkgJiYgdGhpcy50b1NlcGFyYXRvcih0Z3ROb3RhdGlvbikpXG4gICAgICByZXR1cm4gdGhpcy5jb252ZXJ0SGVsbSh0Z3ROb3RhdGlvbiwgdGd0U2VwYXJhdG9yISk7XG4gICAgZWxzZVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3Qgc3VwcG9ydGVkIGNvbnZlcnNpb24gJyArXG4gICAgICAgIGBmcm9tIHNvdXJjZSBub3RhdGlvbiAnJHt0aGlzLm5vdGF0aW9ufScgdG8gdGFyZ2V0IG5vdGF0aW9uICcke3RndE5vdGF0aW9ufScuYCk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoY29sOiBERy5Db2x1bW4pIHtcbiAgICBzdXBlcihjb2wpO1xuICB9XG59XG4iXX0=
|
|
242
|
+
//# sourceMappingURL=notation-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notation-converter.js","sourceRoot":"","sources":["notation-converter.ts"],"names":[],"mappings":"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"}
|
package/src/utils/splitter.js
CHANGED
|
@@ -23,4 +23,4 @@ export function splitAlignedSequences(sequenceColumn) {
|
|
|
23
23
|
}
|
|
24
24
|
return resultDf;
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=
|
|
26
|
+
//# sourceMappingURL=splitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splitter.js","sourceRoot":"","sources":["splitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAErD,MAAM,UAAU,qBAAqB,CAAC,cAAiC;IACrE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,CAAC,KAAa,EAA4B,EAAE,WAAC,OAAA,MAAA,UAAU,CAAC,KAAK,CAAC,mCAAI,IAAI,CAAA,EAAA,CAAC;IACtF,MAAM,SAAS,GAAG,CAAC,KAAa,EAAqB,EAAE;QACrD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1E,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7B,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAwB,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC;IACvC,MAAM,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE/C,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,EAAE,QAAQ,EAAE;QACtD,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,QAAQ,IAAI,IAAI;YAClB,SAAS;QAEX,MAAM,kBAAkB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,kBAAkB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE;YACpD,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC;YAC9D,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -219,4 +219,4 @@ UnitsHandler.PeptideFastaAlphabet = new Set([
|
|
|
219
219
|
]);
|
|
220
220
|
UnitsHandler.DnaFastaAlphabet = new Set(['A', 'C', 'G', 'T']);
|
|
221
221
|
UnitsHandler.RnaFastaAlphabet = new Set(['A', 'C', 'G', 'U']);
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdHMtaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInVuaXRzLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0QyxPQUFPLEVBRUwsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixRQUFRLEVBR1IsZUFBZSxFQUdoQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLGlFQUFpRTtBQUNqRSxNQUFNLE9BQU8sWUFBWTtJQWtCaEIsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEdBQWM7UUFDaEQsSUFBSSxHQUFHLENBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYTtZQUMxQyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFFeEQsTUFBTSxLQUFLLEdBQWdCLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQzdELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3JELE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV2QyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSywrQkFBaUIsQ0FBQztRQUMxQyxHQUFHLENBQUMsTUFBTSwrQkFBZSxPQUFPLENBQUMsQ0FBQztRQUNsQyxHQUFHLENBQUMsTUFBTSxpQ0FBZ0IsUUFBUSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQWMsS0FBSyxLQUFhLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFckQsSUFBYyxNQUFNLEtBQWdCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFFMUQsSUFBVyxRQUFRLEtBQWUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFD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RUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBQ2hELEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7Q0FDakQsQ0FBQyxDQUFDO0FBQ29CLDZCQUFnQixHQUFHLElBQUksR0FBRyxDQUFTLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN6RCw2QkFBZ0IsR0FBRyxJQUFJLEdBQUcsQ0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBERyBmcm9tICdkYXRhZ3Jvay1hcGkvZGcnO1xuXG5pbXBvcnQge1xuICBBTFBIQUJFVCxcbiAgZGV0ZWN0QWxwaGFiZXQsXG4gIGdldFNwbGl0dGVyRm9yQ29sdW1uLFxuICBnZXRTdGF0cyxcbiAgTk9UQVRJT04sXG4gIFNlcUNvbFN0YXRzLFxuICBzcGxpdHRlckFzRmFzdGEsXG4gIFNwbGl0dGVyRnVuYyxcbiAgVEFHU1xufSBmcm9tICcuL21hY3JvbW9sZWN1bGUnO1xuXG4vKiogQ2xhc3MgZm9yIGhhbmRsaW5nIG5vdGF0aW9uIHVuaXRzIGluIE1hY3JvbW9sZWN1bGUgY29sdW1ucyAqL1xuZXhwb3J0IGNsYXNzIFVuaXRzSGFuZGxlciB7XG4gIHByb3RlY3RlZCByZWFkb25seSBfY29sdW1uOiBERy5Db2x1bW47IC8vIHRoZSBjb2x1bW4gdG8gYmUgY29udmVydGVkXG4gIHByb3RlY3RlZCBfdW5pdHM6IHN0cmluZzsgLy8gdW5pdHMsIG9mIHRoZSBmb3JtIGZhc3RhLCBzZXBhcmF0b3JcbiAgcHJvdGVjdGVkIF9ub3RhdGlvbjogTk9UQVRJT047IC8vIGN1cnJlbnQgbm90YXRpb24gKHdpdGhvdXQgOlNFUTpOVCwgZXRjLilcbiAgcHJvdGVjdGVkIF9kZWZhdWx0R2FwU3ltYm9sOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBzdGF0aWMgcmVhZG9ubHkgX2RlZmF1bHRHYXBTeW1ib2xzRGljdCA9IHtcbiAgICBIRUxNOiAnKicsXG4gICAgU0VQQVJBVE9SOiAnJyxcbiAgICBGQVNUQTogJy0nLFxuICB9O1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUGVwdGlkZUZhc3RhQWxwaGFiZXQgPSBuZXcgU2V0PHN0cmluZz4oW1xuICAgICdHJywgJ0wnLCAnWScsICdTJywgJ0UnLCAnUScsICdEJywgJ04nLCAnRicsICdBJyxcbiAgICAnSycsICdSJywgJ0gnLCAnQycsICdWJywgJ1AnLCAnVycsICdJJywgJ00nLCAnVCcsXG4gIF0pO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERuYUZhc3RhQWxwaGFiZXQgPSBuZXcgU2V0PHN0cmluZz4oWydBJywgJ0MnLCAnRycsICdUJ10pO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJuYUZhc3RhQWxwaGFiZXQgPSBuZXcgU2V0PHN0cmluZz4oWydBJywgJ0MnLCAnRycsICdVJ10pO1xuXG4gIHB1YmxpYyBzdGF0aWMgc2V0VW5pdHNUb0Zhc3RhQ29sdW1uKGNvbDogREcuQ29sdW1uKSB7XG4gICAgaWYgKGNvbC5zZW1UeXBlICE9PSBERy5TRU1UWVBFLk1BQ1JPTU9MRUNVTEUpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Zhc3RhIGNvbHVtbiBtdXN0IGJlIE1BQ1JPTU9MRUNVTEUnKTtcblxuICAgIGNvbnN0IHN0YXRzOiBTZXFDb2xTdGF0cyA9IGdldFN0YXRzKGNvbCwgNSwgc3BsaXR0ZXJBc0Zhc3RhKTtcbiAgICBjb25zdCBhbGlnbmVkID0gc3RhdHMuc2FtZUxlbmd0aCA/ICdTRVEuTVNBJyA6ICdTRVEnO1xuICAgIGNvbnN0IGFscGhhYmV0ID0gZGV0ZWN0QWxwaGFiZXQoc3RhdHMpO1xuXG4gICAgY29sLnNldFRhZyhERy5UQUdTLlVOSVRTLCBOT1RBVElPTi5GQVNUQSk7XG4gICAgY29sLnNldFRhZyhUQUdTLmFsaWduZWQsIGFsaWduZWQpO1xuICAgIGNvbC5zZXRUYWcoVEFHUy5hbHBoYWJldCwgYWxwaGFiZXQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB1bml0cygpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fdW5pdHM7IH1cblxuICBwcm90ZWN0ZWQgZ2V0IGNvbHVtbigpOiBERy5Db2x1bW4geyByZXR1cm4gdGhpcy5fY29sdW1uOyB9XG5cbiAgcHVibGljIGdldCBub3RhdGlvbigpOiBOT1RBVElPTiB7IHJldHVybiB0aGlzLl9ub3RhdGlvbjsgfVxuXG4gIHB1YmxpYyBnZXQgZGVmYXVsdEdhcFN5bWJvbCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fZGVmYXVsdEdhcFN5bWJvbDsgfVxuXG4gIHB1YmxpYyBnZXQgc2VwYXJhdG9yKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgc2VwYXJhdG9yOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbHVtbi5nZXRUYWcoVEFHUy5zZXBhcmF0b3IpID8/IHVuZGVmaW5lZDtcbiAgICBpZiAodGhpcy5ub3RhdGlvbiA9PT0gTk9UQVRJT04uU0VQQVJBVE9SICYmIHNlcGFyYXRvciA9PT0gdW5kZWZpbmVkKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTZXBhcmF0b3IgaXMgbWFuZGF0b3J5ICBmb3IgY29sdW1uICcke3RoaXMuY29sdW1uLm5hbWV9JyBvZiBub3RhdGlvbiAnJHt0aGlzLm5vdGF0aW9ufScuYCk7XG4gICAgcmV0dXJuIHNlcGFyYXRvcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWxpZ25lZCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFsaWduZWQgPSB0aGlzLmNvbHVtbi5nZXRUYWcoVEFHUy5hbGlnbmVkKTtcblxuICAgIC8vIFRBR1MuYWxpZ25lZCBpcyBtYW5kYXRvcnkgZm9yIGNvbHVtbnMgb2YgTk9UQVRJT04uRkFTVEEgYW5kIE5PVEFUSU9OLlNFUEFSQVRPUlxuICAgIGlmICghYWxpZ25lZCAmJiAodGhpcy5pc0Zhc3RhKCkgfHwgdGhpcy5pc1NlcGFyYXRvcigpKSlcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGFnIGFsaWduZWQgbm90IHNldCcpO1xuXG4gICAgcmV0dXJuIGFsaWduZWQ7XG4gIH1cblxuICAvKiogQWxwaGFiZXQgbmFtZSAodXBwZXIgY2FzZSkgKi9cbiAgcHVibGljIGdldCBhbHBoYWJldCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFscGhhYmV0ID0gdGhpcy5jb2x1bW4uZ2V0VGFnKFRBR1MuYWxwaGFiZXQpO1xuXG4gICAgLy8gVEFHUy5hbHBoYWJldCBpcyBtYW5kYXRvcnkgZm9yIGNvbHVtbnMgb2YgTk9UQVRJT04uRkFTVEEgYW5kIE5PVEFUSU9OLlNFUEFSQVRPUlxuICAgIGlmICghYWxwaGFiZXQgJiYgKHRoaXMuaXNGYXN0YSgpIHx8IHRoaXMuaXNTZXBhcmF0b3IoKSkpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RhZyBhbHBoYWJldCBub3Qgc2V0Jyk7XG5cbiAgICByZXR1cm4gYWxwaGFiZXQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0QWxwaGFiZXRTaXplKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMubm90YXRpb24gPT0gTk9UQVRJT04uSEVMTSB8fCB0aGlzLmFscGhhYmV0ID09IEFMUEhBQkVULlVOKSB7XG4gICAgICBjb25zdCBhbHBoYWJldFNpemVTdHIgPSB0aGlzLmNvbHVtbi5nZXRUYWcoVEFHUy5hbHBoYWJldFNpemUpO1xuICAgICAgbGV0IGFscGhhYmV0U2l6ZTogbnVtYmVyO1xuICAgICAgaWYgKGFscGhhYmV0U2l6ZVN0cikge1xuICAgICAgICBhbHBoYWJldFNpemUgPSBwYXJzZUludChhbHBoYWJldFNpemVTdHIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gY2FsY3VsYXRlIGFscGhhYmV0U2l6ZSBvbiBkZW1hbmRcbiAgICAgICAgY29uc3Qgc3BsaXR0ZXI6IFNwbGl0dGVyRnVuYyA9IGdldFNwbGl0dGVyRm9yQ29sdW1uKHRoaXMuY29sdW1uKTtcbiAgICAgICAgY29uc3Qgc3RhdHMgPSBnZXRTdGF0cyh0aGlzLmNvbHVtbiwgMSwgc3BsaXR0ZXIpO1xuICAgICAgICBhbHBoYWJldFNpemUgPSBPYmplY3Qua2V5cyhzdGF0cy5mcmVxKS5sZW5ndGg7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWxwaGFiZXRTaXplO1xuICAgIH0gZWxzZSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuYWxwaGFiZXQpIHtcbiAgICAgIGNhc2UgQUxQSEFCRVQuUFQ6XG4gICAgICAgIHJldHVybiAyMDtcbiAgICAgIGNhc2UgQUxQSEFCRVQuRE5BOlxuICAgICAgY2FzZSBBTFBIQUJFVC5STkE6XG4gICAgICAgIHJldHVybiA0O1xuICAgICAgY2FzZSAnTlQnOlxuICAgICAgICBjb25zb2xlLndhcm4oYFVuZXhwZWN0ZWQgYWxwaGFiZXQgJ05UJy5gKTtcbiAgICAgICAgcmV0dXJuIDQ7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgYWxwaGFiZXQgJyR7dGhpcy5hbHBoYWJldH0nLmApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRBbHBoYWJldElzTXVsdGljaGFyKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm5vdGF0aW9uID09IE5PVEFUSU9OLkhFTE0gfHwgdGhpcy5hbHBoYWJldCA9PSBBTFBIQUJFVC5VTilcbiAgICAgIHJldHVybiB0aGlzLmNvbHVtbi5nZXRUYWcoVEFHUy5hbHBoYWJldElzTXVsdGljaGFyKSA9PSAndHJ1ZSc7XG4gICAgZWxzZVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGlzRmFzdGEoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLm5vdGF0aW9uID09PSBOT1RBVElPTi5GQVNUQTsgfVxuXG4gIHB1YmxpYyBpc1NlcGFyYXRvcigpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMubm90YXRpb24gPT09IE5PVEFUSU9OLlNFUEFSQVRPUjsgfVxuXG4gIHB1YmxpYyBpc0hlbG0oKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLm5vdGF0aW9uID09PSBOT1RBVElPTi5IRUxNOyB9XG5cbiAgcHVibGljIGlzUm5hKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5hbHBoYWJldCA9PT0gQUxQSEFCRVQuUk5BOyB9XG5cbiAgcHVibGljIGlzRG5hKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5hbHBoYWJldCA9PT0gQUxQSEFCRVQuRE5BOyB9XG5cbiAgcHVibGljIGlzUGVwdGlkZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuYWxwaGFiZXQgPT09IEFMUEhBQkVULlBUOyB9XG5cbiAgcHVibGljIGlzTXNhKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5hbGlnbmVkID8gdGhpcy5hbGlnbmVkLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMoJ01TQScpIDogZmFsc2U7IH1cblxuICAvKiogQXNzb2NpYXRlIG5vdGF0aW9uIHR5cGVzIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgdW5pdHMgKi9cbiAgLyoqXG4gICAqIEByZXR1cm4ge05PVEFUSU9OfSAgICAgTm90YXRpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSB1bml0cyB0eXBlXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0Tm90YXRpb24oKTogTk9UQVRJT04ge1xuICAgIGlmICh0aGlzLnVuaXRzLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChOT1RBVElPTi5GQVNUQSkpXG4gICAgICByZXR1cm4gTk9UQVRJT04uRkFTVEE7XG4gICAgZWxzZSBpZiAodGhpcy51bml0cy50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoTk9UQVRJT04uU0VQQVJBVE9SKSlcbiAgICAgIHJldHVybiBOT1RBVElPTi5TRVBBUkFUT1I7XG4gICAgZWxzZSBpZiAodGhpcy51bml0cy50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoTk9UQVRJT04uSEVMTSkpXG4gICAgICByZXR1cm4gTk9UQVRJT04uSEVMTTtcbiAgICBlbHNlXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbHVtbiAnJHt0aGlzLmNvbHVtbi5uYW1lfScgaGFzIHVuZXhwZWN0ZWQgbm90YXRpb24gJyR7dGhpcy51bml0c30nLmApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBlbXB0eSBjb2x1bW4gb2YgdGhlIHNwZWNpZmllZCBub3RhdGlvbiB0eXBlIGFuZCB0aGUgc2FtZVxuICAgKiBsZW5ndGggYXMgY29sdW1uXG4gICAqXG4gICAqIEBwYXJhbSB7Tk9UQVRJT059IHRhcmdldE5vdGF0aW9uXG4gICAqIEByZXR1cm4ge0RHLkNvbHVtbn1cbiAgICovXG4gIHByb3RlY3RlZCBnZXROZXdDb2x1bW4odGFyZ2V0Tm90YXRpb246IE5PVEFUSU9OKTogREcuQ29sdW1uIHtcbiAgICBjb25zdCBjb2wgPSB0aGlzLmNvbHVtbjtcbiAgICBjb25zdCBsZW4gPSBjb2wubGVuZ3RoO1xuICAgIGNvbnN0IG5hbWUgPSB0YXJnZXROb3RhdGlvbi50b0xvd2VyQ2FzZSgpICsgJygnICsgY29sLm5hbWUgKyAnKSc7XG4gICAgY29uc3QgbmV3Q29sTmFtZSA9IGNvbC5kYXRhRnJhbWUuY29sdW1ucy5nZXRVbnVzZWROYW1lKG5hbWUpO1xuICAgIGNvbnN0IG5ld0NvbHVtbiA9IERHLkNvbHVtbi5mcm9tTGlzdCgnc3RyaW5nJywgbmV3Q29sTmFtZSwgbmV3IEFycmF5KGxlbikuZmlsbCgnJykpO1xuICAgIG5ld0NvbHVtbi5zZW1UeXBlID0gREcuU0VNVFlQRS5NQUNST01PTEVDVUxFO1xuICAgIG5ld0NvbHVtbi5zZXRUYWcoREcuVEFHUy5VTklUUywgdGFyZ2V0Tm90YXRpb24pO1xuICAgIG5ld0NvbHVtbi5zZXRUYWcoREcuVEFHUy5DRUxMX1JFTkRFUkVSLCAnTWFjcm9tb2xlY3VsZScpO1xuXG4gICAgY29uc3Qgc3JjQWxpZ25lZCA9IGNvbC5nZXRUYWcoVEFHUy5hbGlnbmVkKTtcbiAgICBpZiAoc3JjQWxpZ25lZClcbiAgICAgIG5ld0NvbHVtbi5zZXRUYWcoVEFHUy5hbGlnbmVkLCBzcmNBbGlnbmVkKTtcblxuICAgIGNvbnN0IHNyY0FscGhhYmV0ID0gY29sLmdldFRhZyhUQUdTLmFscGhhYmV0KTtcbiAgICBpZiAoc3JjQWxwaGFiZXQpXG4gICAgICBuZXdDb2x1bW4uc2V0VGFnKFRBR1MuYWxwaGFiZXQsIHNyY0FscGhhYmV0KTtcblxuICAgIGxldCBzcmNBbHBoYWJldFNpemU6IHN0cmluZyA9IGNvbC5nZXRUYWcoVEFHUy5hbHBoYWJldFNpemUpO1xuICAgIGlmIChzcmNBbHBoYWJldFNpemUpXG4gICAgICBuZXdDb2x1bW4uc2V0VGFnKFRBR1MuYWxwaGFiZXRTaXplLCBzcmNBbHBoYWJldFNpemUpO1xuXG4gICAgY29uc3Qgc3JjQWxwaGFiZXRJc011bHRpY2hhcjogc3RyaW5nID0gY29sLmdldFRhZyhUQUdTLmFscGhhYmV0SXNNdWx0aWNoYXIpO1xuICAgIGlmIChzcmNBbHBoYWJldElzTXVsdGljaGFyICE9PSB1bmRlZmluZWQpXG4gICAgICBuZXdDb2x1bW4uc2V0VGFnKFRBR1MuYWxwaGFiZXRJc011bHRpY2hhciwgc3JjQWxwaGFiZXRJc011bHRpY2hhcik7XG5cbiAgICBpZiAodGFyZ2V0Tm90YXRpb24gPT0gTk9UQVRJT04uSEVMTSkge1xuICAgICAgc3JjQWxwaGFiZXRTaXplID0gdGhpcy5nZXRBbHBoYWJldFNpemUoKS50b1N0cmluZygpO1xuICAgICAgbmV3Q29sdW1uLnNldFRhZyhUQUdTLmFscGhhYmV0U2l6ZSwgc3JjQWxwaGFiZXRTaXplKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3Q29sdW1uO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBlbXB0eSBjb2x1bW4gdXNpbmcgdGVtcGxhdGVDb2wgYXMgYSB0ZW1wbGF0ZVxuICAgKlxuICAgKiBAcGFyYW0ge0RHLkNvbHVtbn0gdGVtcGxhdGVDb2wgIHRoZSBwcm9wZXJ0aWVzIGFuZCB1bml0cyBvZiB0aGlzIGNvbHVtbiBhcmUgdXNlZCBhcyBhXG4gICAqIHRlbXBsYXRlIHRvIGJ1aWxkIHRoZSBuZXcgb25lXG4gICAqIEByZXR1cm4ge0RHLkNvbHVtbn1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0TmV3Q29sdW1uKHRlbXBsYXRlQ29sOiBERy5Db2x1bW4pOiBERy5Db2x1bW4ge1xuICAgIGNvbnN0IGNvbDogVW5pdHNIYW5kbGVyID0gbmV3IFVuaXRzSGFuZGxlcih0ZW1wbGF0ZUNvbCk7XG4gICAgY29uc3QgdGFyZ2V0Tm90YXRpb24gPSBjb2wubm90YXRpb247XG4gICAgcmV0dXJuIGNvbC5nZXROZXdDb2x1bW4odGFyZ2V0Tm90YXRpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgaGVscGVyIGZ1bmN0aW9uIGNoZWNraW5nIHRoZSB2YWxpZGl0eSBvZiB0aGUgJ3VuaXRzJyBzdHJpbmdcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVuaXRzICB0aGUgc3RyaW5nIHRvIGJlIHZhbGlkYXRlZFxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB1bml0c1N0cmluZ0lzVmFsaWQodW5pdHM6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHVuaXRzID0gdW5pdHMudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBwcmVmaXhlcyA9IFtOT1RBVElPTi5GQVNUQSwgTk9UQVRJT04uU0VQQVJBVE9SLCBOT1RBVElPTi5IRUxNXTtcbiAgICBjb25zdCBwb3N0Zml4ZXMgPSBbJ3JuYScsICdkbmEnLCAncHQnXTtcblxuICAgIGNvbnN0IHByZWZpeENyaXRlcmlvbiA9IHByZWZpeGVzLnNvbWUoKHApID0+IHVuaXRzLnN0YXJ0c1dpdGgocC50b0xvd2VyQ2FzZSgpKSk7XG4gICAgcmV0dXJuIHByZWZpeENyaXRlcmlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3QgYSBuZXcgY29sdW1uIG9mIHNlbWFudGljIHR5cGUgTUFDUk9NT0xFQ1VMRSBmcm9tIHRoZSBsaXN0IG9mXG4gICAqIHNwZWNpZmllZCBwYXJhbWV0ZXJzXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSAgICBsZW4gIHRoZSBsZW5ndGggb2YgdGhlIG5ldyBjb2x1bW5cbiAgICogQHBhcmFtIHtzdHJpbmd9ICAgIG5hbWUgIHRoZSBuYW1lIG9mIHRoZSBuZXcgY29sdW1uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSAgICB1bml0cyAgdGhlIHVuaXRzIG9mIHRoZSBuZXcgY29sdW1uXG4gICAqIEByZXR1cm4ge0RHLkNvbHVtbn1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0TmV3Q29sdW1uRnJvbVBhcmFtcyhcbiAgICBsZW46IG51bWJlcixcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgdW5pdHM6IHN0cmluZ1xuICApOiBERy5Db2x1bW4ge1xuICAgIC8vIFdBUk5JTkc6IGluIHRoaXMgaW1wbGVtZW50YXRpb24gaXMgaXMgaW1wb3NzaWJsZSB0byB2ZXJpZnkgdGhlIHVuaXF1ZW5lc3NcbiAgICAvLyBvZiB0aGUgbmV3IGNvbHVtbidzIG5hbWVcbiAgICAvLyBUT0RPOiB2ZXJpZnkgdGhlIHZhbGlkaXR5IG9mIHVuaXRzIHBhcmFtZXRlclxuICAgIGlmICghVW5pdHNIYW5kbGVyLnVuaXRzU3RyaW5nSXNWYWxpZCh1bml0cykpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZm9ybWF0IG9mIFxcJ3VuaXRzXFwnIHBhcmFtZXRlcicpO1xuICAgIGNvbnN0IG5ld0NvbHVtbiA9IERHLkNvbHVtbi5mcm9tTGlzdCgnc3RyaW5nJywgbmFtZSwgbmV3IEFycmF5KGxlbikuZmlsbCgnJykpO1xuICAgIG5ld0NvbHVtbi5zZW1UeXBlID0gREcuU0VNVFlQRS5NQUNST01PTEVDVUxFO1xuICAgIG5ld0NvbHVtbi5zZXRUYWcoREcuVEFHUy5VTklUUywgdW5pdHMpO1xuICAgIHJldHVybiBuZXdDb2x1bW47XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoY29sOiBERy5Db2x1bW4pIHtcbiAgICB0aGlzLl9jb2x1bW4gPSBjb2w7XG4gICAgY29uc3QgdW5pdHMgPSB0aGlzLl9jb2x1bW4udGFnc1tERy5UQUdTLlVOSVRTXTtcbiAgICBpZiAodW5pdHMgIT09IG51bGwpXG4gICAgICB0aGlzLl91bml0cyA9IHVuaXRzO1xuICAgIGVsc2VcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5pdHMgYXJlIG5vdCBzcGVjaWZpZWQgaW4gY29sdW1uJyk7XG4gICAgdGhpcy5fbm90YXRpb24gPSB0aGlzLmdldE5vdGF0aW9uKCk7XG4gICAgdGhpcy5fZGVmYXVsdEdhcFN5bWJvbCA9ICh0aGlzLmlzRmFzdGEoKSkgPyBVbml0c0hhbmRsZXIuX2RlZmF1bHRHYXBTeW1ib2xzRGljdC5GQVNUQSA6XG4gICAgICAodGhpcy5pc0hlbG0oKSkgPyBVbml0c0hhbmRsZXIuX2RlZmF1bHRHYXBTeW1ib2xzRGljdC5IRUxNIDpcbiAgICAgICAgVW5pdHNIYW5kbGVyLl9kZWZhdWx0R2FwU3ltYm9sc0RpY3QuU0VQQVJBVE9SO1xuXG4gICAgaWYgKCF0aGlzLmNvbHVtbi50YWdzLmhhcyhUQUdTLmFsaWduZWQpKSB7XG4gICAgICBpZiAodGhpcy5pc0Zhc3RhKCkgfHwgdGhpcy5pc1NlcGFyYXRvcigpKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZvciBjb2x1bW4gJyR7dGhpcy5jb2x1bW4ubmFtZX0nIG9mIG5vdGF0aW9uICcke3RoaXMubm90YXRpb259JyBgICtcbiAgICAgICAgICBgdGFnICcke1RBR1MuYWxpZ25lZH0nIGlzIG1hbmRhdG9yeS5gKTtcbiAgICB9XG5cbiAgICAvLyBpZiAoIXRoaXMuY29sdW1uLnRhZ3MuaGFzKFRBR1MuYWxwaGFiZXRTaXplKSkge1xuICAgIC8vICAgaWYgKHRoaXMuaXNIZWxtKCkpXG4gICAgLy8gICAgIHRocm93IG5ldyBFcnJvcihgRm9yIGNvbHVtbiAnJHt0aGlzLmNvbHVtbi5uYW1lfScgb2Ygbm90YXRpb24gJyR7dGhpcy5ub3RhdGlvbn0nIGAgK1xuICAgIC8vICAgICAgIGB0YWcgJyR7VEFHUy5hbHBoYWJldFNpemV9JyBpcyBtYW5kYXRvcnkuYCk7XG4gICAgLy8gICBlbHNlIGlmIChbJ1VOJ10uaW5jbHVkZXModGhpcy5hbHBoYWJldCkpXG4gICAgLy8gICAgIHRocm93IG5ldyBFcnJvcihgRm9yIGNvbHVtbiAnJHt0aGlzLmNvbHVtbi5uYW1lfScgb2YgYWxwaGFiZXQgJyR7dGhpcy5hbHBoYWJldH0nIGAgK1xuICAgIC8vICAgICAgIGB0YWcgJyR7VEFHUy5hbHBoYWJldFNpemV9JyBpcyBtYW5kYXRvcnkuYCk7XG4gICAgLy8gfVxuXG4gICAgaWYgKCF0aGlzLmNvbHVtbi50YWdzLmhhcyhUQUdTLmFscGhhYmV0SXNNdWx0aWNoYXIpKSB7XG4gICAgICBpZiAodGhpcy5pc0hlbG0oKSlcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGb3IgY29sdW1uICcke3RoaXMuY29sdW1uLm5hbWV9JyBvZiBub3RhdGlvbiAnJHt0aGlzLm5vdGF0aW9ufScgYCArXG4gICAgICAgICAgYHRhZyAnJHtUQUdTLmFscGhhYmV0SXNNdWx0aWNoYXJ9JyBpcyBtYW5kYXRvcnkuYCk7XG4gICAgICBlbHNlIGlmIChbJ1VOJ10uaW5jbHVkZXModGhpcy5hbHBoYWJldCkpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRm9yIGNvbHVtbiAnJHt0aGlzLmNvbHVtbi5uYW1lfScgb2YgYWxwaGFiZXQgJyR7dGhpcy5hbHBoYWJldH0nIGAgK1xuICAgICAgICAgIGB0YWcgJyR7VEFHUy5hbHBoYWJldElzTXVsdGljaGFyfScgaXMgbWFuZGF0b3J5LmApO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
222
|
+
//# sourceMappingURL=units-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"units-handler.js","sourceRoot":"","sources":["units-handler.ts"],"names":[],"mappings":"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"}
|
package/src/utils.js
CHANGED
|
@@ -12,4 +12,4 @@ export function getColumnSeparator(col) {
|
|
|
12
12
|
}
|
|
13
13
|
return separator !== null && separator !== void 0 ? separator : '';
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=
|
|
15
|
+
//# sourceMappingURL=utils.js.map
|
package/src/utils.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAG,oBAAoB,CAAC;AAE9C,MAAM,UAAU,kBAAkB,CAAC,GAAsB;IACvD,MAAM,SAAS,GAAuB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1D,IAAI,SAAS;QACX,OAAO,SAAS,CAAC;IAEnB,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;IAClC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACjC,KAAK,MAAM,kBAAkB,IAAI,iBAAiB,EAAE;QAClD,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,QAAQ,IAAI,EAAE,CAAC;YACjG,OAAO,kBAAkB,CAAC;KAC7B;IACD,OAAO,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC;AACzB,CAAC"}
|
package/src/vd-regions.js
CHANGED
|
@@ -27,4 +27,4 @@ export class VdRegion {
|
|
|
27
27
|
this.positionEndName = positionEndName;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
//# sourceMappingURL=
|
|
30
|
+
//# sourceMappingURL=vd-regions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vd-regions.js","sourceRoot":"","sources":["vd-regions.ts"],"names":[],"mappings":"AAIA,qDAAqD;AAErD,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,gCAAgB,CAAA;IAChB,2BAAW,CAAA;AACb,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAED;;GAEG;AACH,MAAM,OAAO,QAAQ;IAQnB;;;;;;;;OAQG;IACH,YAAY,IAAkB,EAAE,IAAY,EAAE,KAAa,EAAE,KAAa,EACxE,iBAAyB,EAAE,eAAuB;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=molstar-viewer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"molstar-viewer.js","sourceRoot":"","sources":["molstar-viewer.ts"],"names":[],"mappings":""}
|
|
@@ -23,4 +23,4 @@ export function getNglGlService() {
|
|
|
23
23
|
return svc;
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=
|
|
26
|
+
//# sourceMappingURL=ngl-gl-viewer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngl-gl-viewer.js","sourceRoot":"","sources":["ngl-gl-viewer.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AA+BtC,MAAM,OAAgB,gBAAgB;;AACtB,2BAAU,GAAgC;IACtD,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAC;CACrD,CAAC;AAkBJ,MAAM,UAAgB,eAAe;;QACnC,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,iBAAiB,EAAC,CAAC,CAAC;QACxF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QAExF,MAAM,GAAG,GAAqB,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,mBAAmB,EAAsB,CAAC;QAC7G,OAAO,GAAG,CAAC;IACb,CAAC;CAAA"}
|
|
@@ -34,4 +34,4 @@ export function getPhylocanvasGlService() {
|
|
|
34
34
|
return svc;
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=phylocanvas-gl-viewer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phylocanvas-gl-viewer.js","sourceRoot":"","sources":["phylocanvas-gl-viewer.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAWtC,MAAM,CAAN,IAAY,cAQX;AARD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,sDAAsD;IACtD,6CAA2B,CAAA;IAC3B,iCAAe,CAAA;IACf,uCAAqB,CAAA;IACrB,wDAAwD;IACxD,2CAAyB,CAAA;AAC3B,CAAC,EARW,cAAc,KAAd,cAAc,QAQzB;AA0BD,MAAM,OAAgB,wBAAwB;;AAC9B,mCAAU,GAAgC;IACtD,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAC;CACrD,CAAC;AAkBJ,MAAM,UAAgB,uBAAuB;;QAC3C,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,yBAAyB,EAAC,CAAC,CAAC;QAC7F,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;QAE9F,MAAM,GAAG,GAA6B,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;aACvE,mBAAmB,EAA8B,CAAC;QACrD,OAAO,GAAG,CAAC;IACb,CAAC;CAAA"}
|
package/src/viewers/viewer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=viewer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewer.js","sourceRoot":"","sources":["viewer.ts"],"names":[],"mappings":""}
|
package/src/viewers/web-logo.js
CHANGED
|
@@ -3,4 +3,4 @@ export var PositionHeight;
|
|
|
3
3
|
PositionHeight["Entropy"] = "Entropy";
|
|
4
4
|
PositionHeight["full"] = "100%";
|
|
5
5
|
})(PositionHeight || (PositionHeight = {}));
|
|
6
|
-
//# sourceMappingURL=
|
|
6
|
+
//# sourceMappingURL=web-logo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-logo.js","sourceRoot":"","sources":["web-logo.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,+BAAa,CAAA;AACf,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB"}
|
package/tsconfig.json
CHANGED
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
// "allowJs": true, /* Allow javascript files to be compiled. */
|
|
11
11
|
// "checkJs": true, /* Report errors in .js files. */
|
|
12
12
|
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
"declaration": true, /* Generates corresponding '.d.ts' file. */
|
|
14
|
+
"declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
|
|
15
|
+
"sourceMap": true, /* Generates corresponding '.map' file. */
|
|
16
16
|
// "outFile": "./", /* Concatenate and emit output to single file. */
|
|
17
17
|
// "outDir": "./", /* Redirect output structure to the directory. */
|
|
18
18
|
// "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
|
|
@@ -55,17 +55,17 @@
|
|
|
55
55
|
// "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
|
|
56
56
|
|
|
57
57
|
/* Source Map Options */
|
|
58
|
-
"sourceRoot": "",
|
|
59
|
-
"mapRoot": "",
|
|
60
|
-
"inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
|
|
61
|
-
"inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
|
|
58
|
+
"sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
|
59
|
+
"mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
|
|
60
|
+
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
|
|
61
|
+
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
|
|
62
62
|
|
|
63
63
|
/* Experimental Options */
|
|
64
64
|
// "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
|
|
65
65
|
// "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
|
|
66
66
|
|
|
67
67
|
/* Advanced Options */
|
|
68
|
-
"skipLibCheck": true,
|
|
68
|
+
"skipLibCheck": true, /* Skip type checking of declaration files. */
|
|
69
69
|
"forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */
|
|
70
70
|
}
|
|
71
71
|
}
|