{"version":3,"file":"glycans.esm.min.js","sources":["../lib/sugars.js","../node_modules/openchemlib-utils/lib/util/applyFragmentLabels.js","../node_modules/atom-sorter/lib/src/index.js","../node_modules/papaparse/papaparse.min.js","../lib/parseIupacCondensed/labelUnitAtoms.js","../lib/parseIupacCondensed/furanosePentose.js","../lib/parseIupacCondensed/furanoseHexose.js","../lib/parseIupacCondensed/pyranoseHexose.js","../lib/parseIupacCondensed/parseIupacCondensed.js","../lib/parseIupacCondensed/getMoleculeFromIupacCondensed.js"],"sourcesContent":["export const sugars = [\n    {\n        abbreviation: '4eLeg',\n        shortName: '4-epi-Legionaminic acid',\n        iupacCondensed: 'b-4eLeg-onic',\n        smiles: 'C[C@H]([C@H]([C@H]1[C@@H]([C@@H](C[C@](O1)(C(=O)O)O)O)N)N)O',\n        idCode: 'fhqPp@CV@`eM^rJZQYQIRpTfjjjjjYa\\\\PeJJSd@',\n    },\n    {\n        abbreviation: '6dAlt',\n        shortName: '6-Deoxy-L-altrose',\n        iupacCondensed: '6-deoxy-Alt',\n        smiles: 'C[C@H]1[C@@H]([C@@H]([C@H](C(O1)O)O)O)O',\n        idCode: 'dmtJ@@siWIEEMDZFjjjbQDj`h@',\n    },\n    {\n        abbreviation: '6dAltNAc',\n        shortName: 'N-Acetyl-6-deoxy-L-altrosamine',\n        iupacCondensed: '6-deoxy-AltNAc',\n        smiles: 'C[C@H]1[C@@H]([C@@H]([C@H](C(O1)O)NC(=O)C)O)O',\n        idCode: 'dg^J@DCad|bbtTTQRzuUUUQEFbkT@',\n    },\n    {\n        abbreviation: '6dGul',\n        shortName: '6-Deoxy-D-gulose',\n        iupacCondensed: '6-deoxy-Gul',\n        smiles: 'C[C@@H]1[C@@H]([C@H]([C@H](C(O1)O)O)O)O',\n        idCode: 'dmtJ@@siWIEEMDZFjjjbRDj`p@',\n    },\n    {\n        abbreviation: '6dTal',\n        shortName: '6-Deoxy-D-talose',\n        iupacCondensed: '6-deoxy-Tal',\n        smiles: 'C[C@@H]1[C@@H]([C@@H]([C@@H](C(O1)O)O)O)O',\n        idCode: 'dmtJ@@siWIEEMDZFjjjbREJ`h@',\n    },\n    {\n        abbreviation: '6dTalNAc',\n        shortName: 'N-Acetyl-6-deoxy-D-talosamine',\n        iupacCondensed: '6-deoxy-TalNAc',\n        smiles: 'C[C@@H]1[C@@H]([C@@H]([C@@H](C(O1)O)NC(=O)C)O)O',\n        idCode: 'dg^J@DCad|bbtTTQRzuUUUQDfbkX@',\n    },\n    {\n        abbreviation: '8eAci',\n        shortName: '8-epi-Acinetaminic acid',\n        iupacCondensed: '3,9-deoxy-D-gro-a-L-altNon2ulo5N7N-onic',\n        smiles: 'C[C@H]([C@@H]([C@H]1[C@@H]([C@H](C[C@](O1)(C(=O)O)O)O)N)N)O',\n        idCode: 'fhqPp@CV@`eM^rJZQYQIRpTfjjjjjYa\\\\PiJJcd@',\n    },\n    {\n        abbreviation: '8eLeg',\n        shortName: '8-epi-Legionaminic acid',\n        iupacCondensed: '3,9-deoxy-L-gro-b-D-galNon2ulo5N7N-onic',\n        smiles: 'C[C@@H]([C@H]([C@H]1[C@@H]([C@H](C[C@](O1)(C(=O)O)O)O)N)N)O',\n        idCode: 'fhqPp@CV@`eM^rJZQYQIRpTfjjjjjYa\\\\PiJJSh@',\n    },\n    {\n        abbreviation: 'Abe',\n        shortName: 'Abequose',\n        iupacCondensed: 'Abe',\n        smiles: 'C[C@@H]1[C@@H](C[C@H](C(O1)O)O)O',\n        idCode: 'deTB@@siRf[fajjjlRDj`@',\n    },\n    {\n        abbreviation: 'Aci',\n        shortName: 'Acinetaminic acid',\n        iupacCondensed: 'a-Aci-onic',\n        smiles: 'C[C@@H]([C@@H]([C@H]1[C@@H]([C@H](C[C@](O1)(C(=O)O)O)O)N)N)O',\n        idCode: 'fhqPp@CV@`eM^rJZQYQIRpTfjjjjjYa\\\\PiJJch@',\n    },\n    {\n        abbreviation: 'All',\n        shortName: 'D-Allose',\n        iupacCondensed: 'All',\n        smiles: 'C([C@@H]1[C@H]([C@H]([C@H](C(O1)O)O)O)O)O',\n        idCode: 'dcLF@@siWTify^ajjjjIHRiC@@',\n    },\n    {\n        abbreviation: 'AllA',\n        shortName: 'D-Alluronic acid',\n        iupacCondensed: 'AllA',\n        smiles: '[C@H]1([C@@H]([C@H](OC([C@@H]1O)O)C(=O)O)O)O',\n        idCode: 'dklN@@PngSR[ef|UZjjjbrUARp@',\n    },\n    {\n        abbreviation: 'AllN',\n        shortName: 'D-Allosamine',\n        iupacCondensed: 'AllN',\n        smiles: 'C([C@@H]1[C@H]([C@H]([C@H](C(O1)O)N)O)O)O',\n        idCode: 'dcNJ@NCIWTify^ajjjjIHRiC@@',\n    },\n    {\n        abbreviation: 'AllNAc',\n        shortName: 'N-Acetyl-D-allosamine',\n        iupacCondensed: 'AllNAc',\n        smiles: 'CC(=O)N[C@@H]1[C@@H]([C@@H]([C@H](OC1O)CO)O)O',\n        idCode: 'do~F@DCadwrJKQQQEY]ZjjjjHhrV[@@',\n    },\n    {\n        abbreviation: 'Alt',\n        shortName: 'L-Altrose',\n        iupacCondensed: 'Alt',\n        smiles: 'C([C@H]1[C@@H]([C@@H]([C@H](C(O1)O)O)O)O)O',\n        idCode: 'dcLF@@siWTify^ajjjjIDRjB`@',\n    },\n    {\n        abbreviation: 'AltA',\n        shortName: 'L-Altruronic acid',\n        iupacCondensed: 'AltA',\n        smiles: '[C@@H]1([C@H]([C@@H](OC([C@@H]1O)O)C(=O)O)O)O',\n        idCode: 'dklN@@PngSR[ef|UZjjjbqTabp@',\n    },\n    {\n        abbreviation: 'AltN',\n        shortName: 'L-Altrosamine',\n        iupacCondensed: 'AltN',\n        smiles: 'C([C@H]1[C@@H]([C@@H]([C@H](C(O1)O)N)O)O)O',\n        idCode: 'dcNJ@NCIWTify^ajjjjIDRjB`@',\n    },\n    {\n        abbreviation: 'AltNAc',\n        shortName: 'N-Acetyl-L-altrosamine',\n        iupacCondensed: 'AltNAc',\n        smiles: 'CC(=O)N[C@@H]1[C@H]([C@H]([C@@H](OC1O)CO)O)O',\n        idCode: 'do~F@DCadwrJKQQQEY]ZjjjjHhtUZ`@',\n    },\n    {\n        abbreviation: 'Api',\n        shortName: 'L-Apiose',\n        iupacCondensed: '(3R,4R)-4-(hydroxymethyl)oxolane-2,3,4-triol',\n        smiles: 'C1[C@@]([C@H](C(O1)O)O)(CO)O',\n        idCode: 'deTJ@@qngIEEeBUUUUREJP@',\n    },\n    {\n        abbreviation: 'Ara',\n        shortName: 'L-Arabinose',\n        iupacCondensed: 'Ara',\n        smiles: 'C1[C@@H]([C@@H]([C@H](C(O1)O)O)O)O',\n        idCode: 'deTJ@@qaeJYyzzjjjpeTy@@',\n    },\n    {\n        abbreviation: 'Bac',\n        shortName: 'Bacillosamine',\n        iupacCondensed: 'Bac',\n        smiles: 'C[C@@H]1[C@H]([C@@H]([C@H](C(O1)O)N)O)N',\n        idCode: 'dmuL@NdLWIEEMDZFjjjbRDjPh@',\n    },\n    {\n        abbreviation: 'Col',\n        shortName: 'Colitose',\n        iupacCondensed: 'Col',\n        smiles: 'C[C@H]1[C@H](C[C@@H](C(O1)O)O)O',\n        idCode: 'deTB@@siRf[fajjjlQEJP@',\n    },\n    {\n        abbreviation: 'DDmanHep',\n        shortName: 'D-glycero-D-manno-Heptose',\n        iupacCondensed: 'DDManHep',\n        smiles: 'C([C@H]([C@@H]1[C@H]([C@@H]([C@@H](C(O1)O)O)O)O)O)O',\n        idCode: String.raw `dg\\N@@siT{rQQSQJXtMUUUUTdJTfPh@`,\n    },\n    {\n        abbreviation: 'Dha',\n        shortName: '3-Deoxy-D-lyxo-heptulosaric acid',\n        iupacCondensed: '(4R,5R,6S)-2,4,5-trihydroxyoxane-2,6-dicarboxylic acid',\n        smiles: 'C1[C@H]([C@H]([C@H](OC1(C(=O)O)O)C(=O)O)O)O',\n        idCode: 'do|A@@Pjt{]IngYYEVjjjZlyBe`@',\n    },\n    {\n        abbreviation: 'Dig',\n        shortName: 'D-Digitoxose',\n        iupacCondensed: 'Dig',\n        smiles: 'C[C@@H]1[C@H]([C@H](CC(O1)O)O)O',\n        idCode: 'deTB@@pYRf[^njjjlRTn`@',\n    },\n    {\n        abbreviation: 'Fru',\n        shortName: 'D-Fructose',\n        iupacCondensed: 'Fru',\n        smiles: 'C1[C@H]([C@H]([C@@H](C(O1)(CO)O)O)O)O',\n        idCode: 'dcLF@@siWTiiy]ajjjjphrF@@',\n    },\n    {\n        abbreviation: 'Fuc',\n        shortName: 'L-Fucose',\n        iupacCondensed: 'Fuc',\n        smiles: 'C[C@H]1[C@H]([C@H]([C@@H](C(O1)O)O)O)O',\n        idCode: 'dmtJ@@siWIEEMDZFjjjbQEJPp@',\n    },\n    {\n        abbreviation: 'FucNAc',\n        shortName: 'N-Acetyl-L-fucosamine',\n        iupacCondensed: 'FucNAc',\n        smiles: 'C[C@H]1[C@H]([C@H]([C@@H](C(O1)O)NC(=O)C)O)O',\n        idCode: 'dg^J@DCad|bbtTTQRzuUUUQDfRsT@',\n    },\n    {\n        abbreviation: 'Gal',\n        shortName: 'D-Galactose',\n        iupacCondensed: 'Gal',\n        smiles: 'C([C@@H]1[C@@H]([C@@H]([C@H](C(O1)O)O)O)O)O',\n        idCode: 'dcLF@@siWTify^ajjjjIHRjB`@',\n    },\n    {\n        abbreviation: 'GalA',\n        shortName: 'D-Galacturonic acid',\n        iupacCondensed: 'GalA',\n        smiles: '[C@@H]1([C@H]([C@H](OC([C@@H]1O)O)C(=O)O)O)O',\n        idCode: 'dklN@@PngSR[ef|UZjjjbrTabp@',\n    },\n    {\n        abbreviation: 'GalN',\n        shortName: 'D-Galactosamine',\n        iupacCondensed: 'GalN',\n        smiles: 'C([C@@H]1[C@@H]([C@@H]([C@H](C(O1)O)N)O)O)O',\n        idCode: 'dcNJ@NCIWTify^ajjjjIHRjB`@',\n    },\n    {\n        abbreviation: 'GalNAc',\n        shortName: 'N-Acetyl-D-galactosamine',\n        iupacCondensed: 'GalNAc',\n        smiles: 'CC(=O)N[C@@H]1[C@H]([C@H]([C@H](OC1O)CO)O)O',\n        idCode: 'do~F@DCadwrJKQQQEY]ZjjjjHhtU[@@',\n    },\n    {\n        abbreviation: 'Glc',\n        shortName: 'D-Glucose',\n        iupacCondensed: 'Glc',\n        smiles: 'C([C@@H]1[C@H]([C@@H]([C@H](C(O1)O)O)O)O)O',\n        idCode: 'dcLF@@siWTify^ajjjjIHRiB`@',\n    },\n    {\n        abbreviation: 'GlcA',\n        shortName: 'D-Glucuronic acid',\n        iupacCondensed: 'GlcA',\n        smiles: '[C@@H]1([C@@H]([C@H](OC([C@@H]1O)O)C(=O)O)O)O',\n        idCode: 'dklN@@PngSR[ef|UZjjjbrUAbp@',\n    },\n    {\n        abbreviation: 'GlcN',\n        shortName: 'D-Glucosamine',\n        iupacCondensed: 'GlcN',\n        smiles: 'C([C@@H]1[C@H]([C@@H]([C@H](C(O1)O)N)O)O)O',\n        idCode: 'dcNJ@NCIWTify^ajjjjIHRiB`@',\n    },\n    {\n        abbreviation: 'GlcNAc',\n        shortName: 'N-Acetyl-D-glucosamine',\n        iupacCondensed: 'GlcNAc',\n        smiles: 'CC(=O)N[C@@H]1[C@H]([C@@H]([C@H](OC1O)CO)O)O',\n        idCode: 'do~F@DCadwrJKQQQEY]ZjjjjHhtV[@@',\n    },\n    {\n        abbreviation: 'Gul',\n        shortName: 'D-Gulose',\n        iupacCondensed: 'Gul',\n        smiles: 'C([C@@H]1[C@@H]([C@H]([C@H](C(O1)O)O)O)O)O',\n        idCode: 'dcLF@@siWTify^ajjjjIHRjC@@',\n    },\n    {\n        abbreviation: 'GulA',\n        shortName: 'D-Guluronic acid',\n        iupacCondensed: 'GulA',\n        smiles: '[C@H]1([C@H]([C@H](OC([C@@H]1O)O)C(=O)O)O)O',\n        idCode: 'dklN@@PngSR[ef|UZjjjbrTaRp@',\n    },\n    {\n        abbreviation: 'GulN',\n        shortName: 'D-Gulosamine',\n        iupacCondensed: 'GulN',\n        smiles: 'C([C@@H]1[C@@H]([C@H]([C@H](C(O1)O)N)O)O)O',\n        idCode: 'dcNJ@NCIWTify^ajjjjIHRjC@@',\n    },\n    {\n        abbreviation: 'GulNAc',\n        shortName: 'N-Acetyl-D-gulosamine',\n        iupacCondensed: 'GulNAc',\n        smiles: 'CC(=O)N[C@@H]1[C@@H]([C@H]([C@H](OC1O)CO)O)O',\n        idCode: 'do~F@DCadwrJKQQQEY]ZjjjjHhrU[@@',\n    },\n    {\n        abbreviation: 'Ido',\n        shortName: 'L-Idose',\n        iupacCondensed: 'Ido',\n        smiles: 'C([C@H]1[C@H]([C@@H]([C@H](C(O1)O)O)O)O)O',\n        idCode: 'dcLF@@siWTify^ajjjjIDRiB`@',\n    },\n    {\n        abbreviation: 'IdoA',\n        shortName: 'L-Iduronic acid',\n        iupacCondensed: 'IdoA',\n        smiles: '[C@@H]1([C@@H]([C@@H](OC([C@@H]1O)O)C(=O)O)O)O',\n        idCode: 'dklN@@PngSR[ef|UZjjjbqUAbp@',\n    },\n    {\n        abbreviation: 'IdoN',\n        shortName: 'L-Idosamine',\n        iupacCondensed: 'IdoN',\n        smiles: 'C([C@H]1[C@H]([C@@H]([C@H](C(O1)O)N)O)O)O',\n        idCode: 'dcNJ@NCIWTify^ajjjjIDRiB`@',\n    },\n    {\n        abbreviation: 'IdoNAc',\n        shortName: 'N-Acetyl-L-idosamine',\n        iupacCondensed: 'IdoNAc',\n        smiles: 'CC(=O)N[C@@H]1[C@H]([C@@H]([C@@H](OC1O)CO)O)O',\n        idCode: 'do~F@DCadwrJKQQQEY]ZjjjjHhtVZ`@',\n    },\n    {\n        abbreviation: 'Kdn',\n        shortName: '2-Keto-3-deoxy-nononic acid',\n        iupacCondensed: 'Kdn',\n        smiles: 'C1[C@@H]([C@H]([C@@H](OC1(C(=O)O)O)[C@@H]([C@@H](CO)O)O)O)O',\n        idCode: 'fdiAH@@HISQk^cdTtbrbRefEIjjjjjjgDJRbdy@@',\n    },\n    {\n        abbreviation: 'Kdo',\n        shortName: '3-Deoxy-D-manno-octulosonic acid',\n        iupacCondensed: 'Kdo',\n        smiles: 'C1[C@H]([C@H]([C@H](OC1(C(=O)O)O)[C@@H](CO)O)O)O',\n        idCode: 'f`a@H@@HISQk^rJZQYQIRbduUUUUDyAJTT`@',\n    },\n    {\n        abbreviation: 'Leg',\n        shortName: 'Legionaminic acid',\n        iupacCondensed: 'b-Leg-onic',\n        smiles: 'C[C@H]([C@H]([C@H]1[C@@H]([C@H](C[C@](O1)(C(=O)O)O)O)N)N)O',\n        idCode: 'fhqPp@CV@`eM^rJZQYQIRpTfjjjjjYa\\\\PiJJSd@',\n    },\n    {\n        abbreviation: 'LDmanHep',\n        shortName: 'L-glycero-D-manno-Heptose',\n        iupacCondensed: 'LDManHep',\n        smiles: 'C([C@@H]([C@@H]1[C@H]([C@@H]([C@@H](C(O1)O)O)O)O)O)O',\n        idCode: 'dg\\\\N@@siT{rQQSQJXtMUUUUTdJTf`h@',\n    },\n    {\n        abbreviation: 'Lyx',\n        shortName: 'D-Lyxose',\n        iupacCondensed: 'Lyx',\n        smiles: 'C1[C@H]([C@@H]([C@@H](C(O1)O)O)O)O',\n        idCode: 'deTJ@@qaeJYyzzjjjpiRy@@',\n    },\n    {\n        abbreviation: 'Man',\n        shortName: 'D-Mannose',\n        iupacCondensed: 'Man',\n        smiles: 'C([C@@H]1[C@H]([C@@H]([C@@H](C(O1)O)O)O)O)O',\n        idCode: 'dcLF@@siWTify^ajjjjIHTiB`@',\n    },\n    {\n        abbreviation: 'ManA',\n        shortName: 'D-Mannuronic acid',\n        iupacCondensed: 'ManA',\n        smiles: '[C@@H]1([C@@H]([C@H](OC([C@H]1O)O)C(=O)O)O)O',\n        idCode: 'dklN@@PngSR[ef|UZjjjbrUAbh@',\n    },\n    {\n        abbreviation: 'ManN',\n        shortName: 'D-Mannosamine',\n        iupacCondensed: 'ManN',\n        smiles: 'C([C@@H]1[C@H]([C@@H]([C@@H](C(O1)O)N)O)O)O',\n        idCode: 'dcNJ@NCIWTify^ajjjjIHTiB`@',\n    },\n    {\n        abbreviation: 'ManNAc',\n        shortName: 'N-Acetyl-D-mannosamine',\n        iupacCondensed: 'ManNAc',\n        smiles: 'CC(=O)N[C@H]1[C@H]([C@@H]([C@H](OC1O)CO)O)O',\n        idCode: 'do~F@DCadwrJKQQQEY]ZjjjjHdtV[@@',\n    },\n    {\n        abbreviation: 'Mur',\n        shortName: 'Muramic acid',\n        iupacCondensed: 'Mur',\n        smiles: 'C[C@H](C(=O)O)O[C@H]1[C@@H]([C@H](OC([C@@H]1N)O)CO)O',\n        idCode: 'fhqap@M@PRUoAR[gf[oMYjjjjjjXSIqBbd@',\n    },\n    {\n        abbreviation: 'MurNAc',\n        shortName: 'N-Acetylmuramic acid',\n        iupacCondensed: 'MurNAc',\n        smiles: 'C[C@H](C(=O)O)O[C@H]1[C@@H]([C@H](OC([C@@H]1NC(=O)C)O)CO)O',\n        idCode: 'fbe`H@M@PRU`qRdwOLwKlZsUUUUUMTpfSbEEH@',\n    },\n    {\n        abbreviation: 'MurNGc',\n        shortName: 'N-Glycolylmuramic acid',\n        iupacCondensed: 'MurNGc',\n        smiles: 'C[C@H](C(=O)O)O[C@H]1[C@@H]([C@H](OC([C@@H]1NC(=O)CO)O)CO)O',\n        idCode: 'fjuaH@M@PRU`qRWHihmEEMDliSVZjjjjijiaLgDJJP@',\n    },\n    {\n        abbreviation: 'Neu',\n        shortName: 'Neuraminic acid',\n        iupacCondensed: 'Neu',\n        smiles: 'C1[C@@H]([C@H]([C@@H](OC1(C(=O)O)O)[C@@H]([C@@H](CO)O)O)N)O',\n        idCode: 'fdi`H@C@PRfk^cdTtbrbRefEIjjjjjjgDJRbdy@@',\n    },\n    {\n        abbreviation: 'Neu5Ac',\n        shortName: 'N-Acetylneuraminic acid',\n        iupacCondensed: 'NeuAc',\n        smiles: 'CC(=O)N[C@@H]1[C@H](CC(O[C@H]1[C@@H]([C@@H](CO)O)O)(C(=O)O)O)O',\n        idCode: 'fjuaH@C@PRfkARUIngYV~[EIjjjjjfjgDJRbdy@@',\n    },\n    {\n        abbreviation: 'Neu5Gc',\n        shortName: 'N-Glycolylneuraminic acid',\n        iupacCondensed: 'NeuGc',\n        smiles: 'C1[C@@H]([C@H]([C@@H](OC1(C(=O)O)O)[C@@H]([C@@H](CO)O)O)NC(=O)CO)O',\n        idCode: 'ffm`h@C@PRfkARVjS]Nrm|wbduUUUUSUTxaRTTgH@',\n    },\n    {\n        abbreviation: 'Oli',\n        shortName: 'Olivose',\n        iupacCondensed: 'Oli',\n        smiles: 'C[C@@H]1[C@H]([C@@H](CC(O1)O)O)O',\n        idCode: 'deTB@@pYRf[^njjjlRTnP@',\n    },\n    {\n        abbreviation: 'Par',\n        shortName: 'Paratose',\n        iupacCondensed: 'Par',\n        smiles: 'C[C@@H]1[C@H](C[C@H](C(O1)O)O)O',\n        idCode: 'deTB@@siRf[fajjjlRDjP@',\n    },\n    {\n        abbreviation: 'Pse',\n        shortName: 'Pseudaminic acid',\n        iupacCondensed: 'a-Pse-onic',\n        smiles: 'C[C@@H]([C@@H]([C@H]1[C@H]([C@H](C[C@](O1)(C(=O)O)O)O)N)N)O',\n        idCode: 'fhqPp@CV@`eM^rJZQYQIRpTfjjjjjYa\\\\PiIJch@',\n    },\n    {\n        abbreviation: 'Psi',\n        shortName: 'D-Psicose',\n        iupacCondensed: 'Psi',\n        smiles: 'C1[C@H]([C@H]([C@H](C(O1)(CO)O)O)O)O',\n        idCode: 'dcLF@@siWTiiy]ajjjjpdrF@@',\n    },\n    {\n        abbreviation: 'Qui',\n        shortName: 'D-Quinovose',\n        iupacCondensed: 'Qui',\n        smiles: 'C[C@@H]1[C@H]([C@@H]([C@H](C(O1)O)O)O)O',\n        idCode: 'dmtJ@@siWIEEMDZFjjjbRDjPh@',\n    },\n    {\n        abbreviation: 'QuiNAc',\n        shortName: 'N-Acetyl-D-quinovosamine',\n        iupacCondensed: 'QuiNAc',\n        smiles: 'C[C@@H]1[C@H]([C@@H]([C@H](C(O1)O)NC(=O)C)O)O',\n        idCode: 'dg^J@DCad|bbtTTQRzuUUUQEFbsX@',\n    },\n    {\n        abbreviation: 'Rha',\n        shortName: 'L-Rhamnose',\n        iupacCondensed: 'Rha',\n        smiles: 'C[C@H]1[C@@H]([C@H]([C@H](C(O1)O)O)O)O',\n        idCode: 'dmtJ@@siWIEEMDZFjjjbQDj`p@',\n    },\n    {\n        abbreviation: 'RhaNAc',\n        shortName: 'N-Acetyl-L-rhamnosamine',\n        iupacCondensed: 'RhaNAc',\n        smiles: 'C[C@H]1[C@@H]([C@H]([C@H](C(O1)O)NC(=O)C)O)O',\n        idCode: 'dg^J@DCad|bbtTTQRzuUUUQEFRkT@',\n    },\n    {\n        abbreviation: 'Rib',\n        shortName: 'D-Ribose',\n        iupacCondensed: 'Rib',\n        smiles: 'C1[C@H]([C@H]([C@H](C(O1)O)O)O)O',\n        idCode: 'deTJ@@qaeJYyzzjjjpeRz@@',\n    },\n    {\n        abbreviation: 'Sor',\n        shortName: 'L-Sorbose',\n        iupacCondensed: 'Sor',\n        smiles: 'C1[C@@H]([C@H]([C@@H](C(O1)(CO)O)O)O)O',\n        idCode: 'dcLF@@siWTiiy]ajjjjphtF@@',\n    },\n    {\n        abbreviation: 'Tag',\n        shortName: 'D-Tagatose',\n        iupacCondensed: 'Tag',\n        smiles: 'C1[C@H]([C@@H]([C@@H](C(O1)(CO)O)O)O)O',\n        idCode: 'dcLF@@siWTiiy]ajjjjphrE@@',\n    },\n    {\n        abbreviation: 'Tal',\n        shortName: 'D-Talose',\n        iupacCondensed: 'Tal',\n        smiles: 'C([C@@H]1[C@@H]([C@@H]([C@@H](C(O1)O)O)O)O)O',\n        idCode: 'dcLF@@siWTify^ajjjjIHTjB`@',\n    },\n    {\n        abbreviation: 'TalA',\n        shortName: 'D-Taluronic acid',\n        iupacCondensed: 'TalA',\n        smiles: '[C@@H]1([C@H]([C@H](OC([C@H]1O)O)C(=O)O)O)O',\n        idCode: 'dklN@@PngSR[ef|UZjjjbrTabh@',\n    },\n    {\n        abbreviation: 'TalN',\n        shortName: 'D-Talosamine',\n        iupacCondensed: 'TalN',\n        smiles: 'C([C@@H]1[C@@H]([C@@H]([C@@H](C(O1)O)N)O)O)O',\n        idCode: 'dcNJ@NCIWTify^ajjjjIHTjB`@',\n    },\n    {\n        abbreviation: 'TalNAc',\n        shortName: 'N-Acetyl-D-talosamine',\n        iupacCondensed: 'TalNAc',\n        smiles: 'CC(=O)N[C@H]1[C@H]([C@H]([C@H](OC1O)CO)O)O',\n        idCode: 'do~F@DCadwrJKQQQEY]ZjjjjHdtU[@@',\n    },\n    {\n        abbreviation: 'Tyv',\n        shortName: 'Tyvelose',\n        iupacCondensed: 'Tyv',\n        smiles: 'C[C@@H]1[C@H](C[C@@H](C(O1)O)O)O',\n        idCode: 'deTB@@siRf[fajjjlREJP@',\n    },\n    {\n        abbreviation: 'Xyl',\n        shortName: 'D-Xylose',\n        iupacCondensed: 'Xyl',\n        smiles: 'C1[C@H]([C@@H]([C@H](C(O1)O)O)O)O',\n        idCode: 'deTJ@@qaeJYyzzjjjpeRy@@',\n    },\n];\nexport const iupacCondensedObject = {};\nfor (const sugar of sugars) {\n    iupacCondensedObject[sugar.iupacCondensed] = sugar;\n}\n//# sourceMappingURL=sugars.js.map","/**\n * Applies fragment labels from a fragment molecule to a target molecule. This method is in\n * place and modifies the target molecule directly.\n *\n * The OpenChemLib library is recovered from the molecule itself via\n * `molecule.getOCL()`, so this package never imports `openchemlib` at\n * runtime (avoids version conflicts and keeps it out of consumer bundles).\n * @param molecule - The target molecule to which fragment labels will be applied.\n * @param fragment - The fragment molecule containing the labels to apply.\n * @param options\n * @returns The number of matches found\n */\nexport function applyFragmentLabels(molecule, fragment, options = {}) {\n    const { algorithm = 'overlapping', prefix = '', suffix = '' } = options;\n    const OCL = molecule.getOCL();\n    const sssearcher = new OCL.SSSearcher();\n    sssearcher.setMolecule(molecule);\n    sssearcher.setFragment(fragment);\n    const found = sssearcher.findFragmentInMolecule({ countMode: algorithm });\n    const matches = sssearcher.getMatchList();\n    for (const match of matches) {\n        for (let fragmentAtomIndex = 0; fragmentAtomIndex < match.length; fragmentAtomIndex++) {\n            const moleculeAtomIndex = match[fragmentAtomIndex];\n            const label = fragment.getAtomCustomLabel(fragmentAtomIndex);\n            if (label) {\n                molecule.setAtomCustomLabel(moleculeAtomIndex, prefix + label + suffix);\n            }\n        }\n    }\n    return found;\n}\n//# sourceMappingURL=applyFragmentLabels.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.atomSorter = atomSorter;\n/**\n * Implementation of the Hill system for sorting atoms\n * https://en.wikipedia.org/wiki/Chemical_formula#Hill_system\n * @param a - first atom to compare\n * @param b - second atom to compare\n * @returns A value suitable for use in Array.prototype.sort.\n */\nfunction atomSorter(a, b) {\n    if (a === b)\n        return 0;\n    if (a === 'C')\n        return -1;\n    if (b === 'C')\n        return 1;\n    if (a === 'H')\n        return -1;\n    if (b === 'H')\n        return 1;\n    if (a < b)\n        return -1;\n    return 1;\n}\n//# sourceMappingURL=index.js.map","/* @license\nPapa Parse\nv5.5.3\nhttps://github.com/mholt/PapaParse\nLicense: MIT\n*/\n((e,t)=>{\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof module&&\"undefined\"!=typeof exports?module.exports=t():e.Papa=t()})(this,function r(){var n=\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:void 0!==n?n:{};var d,s=!n.document&&!!n.postMessage,a=n.IS_PAPA_WORKER||!1,o={},h=0,v={};function u(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine=\"\",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},function(e){var t=b(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null);this._handle=new i(t),(this._handle.streamer=this)._config=t}.call(this,e),this.parseChunk=function(t,e){var i=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0<i){let e=this._config.newline;e||(r=this._config.quoteChar||'\"',e=this._handle.guessLineEndings(t,r)),t=[...t.split(e).slice(i)].join(e)}this.isFirstChunk&&U(this._config.beforeFirstChunk)&&void 0!==(r=this._config.beforeFirstChunk(t))&&(t=r),this.isFirstChunk=!1,this._halted=!1;var i=this._partialLine+t,r=(this._partialLine=\"\",this._handle.parse(i,this._baseIndex,!this._finished));if(!this._handle.paused()&&!this._handle.aborted()){t=r.meta.cursor,i=(this._finished||(this._partialLine=i.substring(t-this._baseIndex),this._baseIndex=t),r&&r.data&&(this._rowCount+=r.data.length),this._finished||this._config.preview&&this._rowCount>=this._config.preview);if(a)n.postMessage({results:r,workerId:v.WORKER_ID,finished:i});else if(U(this._config.chunk)&&!e){if(this._config.chunk(r,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=r=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(r.data),this._completeResults.errors=this._completeResults.errors.concat(r.errors),this._completeResults.meta=r.meta),this._completed||!i||!U(this._config.complete)||r&&r.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),i||r&&r.meta.paused||this._nextChunk(),r}this._halted=!0},this._sendError=function(e){U(this._config.error)?this._config.error(e):a&&this._config.error&&n.postMessage({workerId:v.WORKER_ID,error:e,finished:!1})}}function f(e){var r;(e=e||{}).chunkSize||(e.chunkSize=v.RemoteChunkSize),u.call(this,e),this._nextChunk=s?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(r=new XMLHttpRequest,this._config.withCredentials&&(r.withCredentials=this._config.withCredentials),s||(r.onload=y(this._chunkLoaded,this),r.onerror=y(this._chunkError,this)),r.open(this._config.downloadRequestBody?\"POST\":\"GET\",this._input,!s),this._config.downloadRequestHeaders){var e,t=this._config.downloadRequestHeaders;for(e in t)r.setRequestHeader(e,t[e])}var i;this._config.chunkSize&&(i=this._start+this._config.chunkSize-1,r.setRequestHeader(\"Range\",\"bytes=\"+this._start+\"-\"+i));try{r.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}s&&0===r.status&&this._chunkError()}},this._chunkLoaded=function(){4===r.readyState&&(r.status<200||400<=r.status?this._chunkError():(this._start+=this._config.chunkSize||r.responseText.length,this._finished=!this._config.chunkSize||this._start>=(e=>null!==(e=e.getResponseHeader(\"Content-Range\"))?parseInt(e.substring(e.lastIndexOf(\"/\")+1)):-1)(r),this.parseChunk(r.responseText)))},this._chunkError=function(e){e=r.statusText||e;this._sendError(new Error(e))}}function l(e){(e=e||{}).chunkSize||(e.chunkSize=v.LocalChunkSize),u.call(this,e);var i,r,n=\"undefined\"!=typeof FileReader;this.stream=function(e){this._input=e,r=e.slice||e.webkitSlice||e.mozSlice,n?((i=new FileReader).onload=y(this._chunkLoaded,this),i.onerror=y(this._chunkError,this)):i=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount<this._config.preview)||this._readChunk()},this._readChunk=function(){var e=this._input,t=(this._config.chunkSize&&(t=Math.min(this._start+this._config.chunkSize,this._input.size),e=r.call(e,this._start,t)),i.readAsText(e,this._config.encoding));n||this._chunkLoaded({target:{result:t}})},this._chunkLoaded=function(e){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(i.error)}}function c(e){var i;u.call(this,e=e||{}),this.stream=function(e){return i=e,this._nextChunk()},this._nextChunk=function(){var e,t;if(!this._finished)return e=this._config.chunkSize,i=e?(t=i.substring(0,e),i.substring(e)):(t=i,\"\"),this._finished=!i,this.parseChunk(t)}}function p(e){u.call(this,e=e||{});var t=[],i=!0,r=!1;this.pause=function(){u.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){u.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on(\"data\",this._streamData),this._input.on(\"end\",this._streamEnd),this._input.on(\"error\",this._streamError)},this._checkIsFinished=function(){r&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):i=!0},this._streamData=y(function(e){try{t.push(\"string\"==typeof e?e:e.toString(this._config.encoding)),i&&(i=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}},this),this._streamError=y(function(e){this._streamCleanUp(),this._sendError(e)},this),this._streamEnd=y(function(){this._streamCleanUp(),r=!0,this._streamData(\"\")},this),this._streamCleanUp=y(function(){this._input.removeListener(\"data\",this._streamData),this._input.removeListener(\"end\",this._streamEnd),this._input.removeListener(\"error\",this._streamError)},this)}function i(m){var n,s,a,t,o=Math.pow(2,53),h=-o,u=/^\\s*-?(\\d+\\.?|\\.\\d+|\\d+\\.\\d+)([eE][-+]?\\d+)?\\s*$/,d=/^((\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)))$/,i=this,r=0,f=0,l=!1,e=!1,c=[],p={data:[],errors:[],meta:{}};function y(e){return\"greedy\"===m.skipEmptyLines?\"\"===e.join(\"\").trim():1===e.length&&0===e[0].length}function g(){if(p&&a&&(k(\"Delimiter\",\"UndetectableDelimiter\",\"Unable to auto-detect delimiting character; defaulted to '\"+v.DefaultDelimiter+\"'\"),a=!1),m.skipEmptyLines&&(p.data=p.data.filter(function(e){return!y(e)})),_()){if(p)if(Array.isArray(p.data[0])){for(var e=0;_()&&e<p.data.length;e++)p.data[e].forEach(t);p.data.splice(0,1)}else p.data.forEach(t);function t(e,t){U(m.transformHeader)&&(e=m.transformHeader(e,t)),c.push(e)}}function i(e,t){for(var i=m.header?{}:[],r=0;r<e.length;r++){var n=r,s=e[r],s=((e,t)=>(e=>(m.dynamicTypingFunction&&void 0===m.dynamicTyping[e]&&(m.dynamicTyping[e]=m.dynamicTypingFunction(e)),!0===(m.dynamicTyping[e]||m.dynamicTyping)))(e)?\"true\"===t||\"TRUE\"===t||\"false\"!==t&&\"FALSE\"!==t&&((e=>{if(u.test(e)){e=parseFloat(e);if(h<e&&e<o)return 1}})(t)?parseFloat(t):d.test(t)?new Date(t):\"\"===t?null:t):t)(n=m.header?r>=c.length?\"__parsed_extra\":c[r]:n,s=m.transform?m.transform(s,n):s);\"__parsed_extra\"===n?(i[n]=i[n]||[],i[n].push(s)):i[n]=s}return m.header&&(r>c.length?k(\"FieldMismatch\",\"TooManyFields\",\"Too many fields: expected \"+c.length+\" fields but parsed \"+r,f+t):r<c.length&&k(\"FieldMismatch\",\"TooFewFields\",\"Too few fields: expected \"+c.length+\" fields but parsed \"+r,f+t)),i}var r;p&&(m.header||m.dynamicTyping||m.transform)&&(r=1,!p.data.length||Array.isArray(p.data[0])?(p.data=p.data.map(i),r=p.data.length):p.data=i(p.data,0),m.header&&p.meta&&(p.meta.fields=c),f+=r)}function _(){return m.header&&0===c.length}function k(e,t,i,r){e={type:e,code:t,message:i};void 0!==r&&(e.row=r),p.errors.push(e)}U(m.step)&&(t=m.step,m.step=function(e){p=e,_()?g():(g(),0!==p.data.length&&(r+=e.data.length,m.preview&&r>m.preview?s.abort():(p.data=p.data[0],t(p,i))))}),this.parse=function(e,t,i){var r=m.quoteChar||'\"',r=(m.newline||(m.newline=this.guessLineEndings(e,r)),a=!1,m.delimiter?U(m.delimiter)&&(m.delimiter=m.delimiter(e),p.meta.delimiter=m.delimiter):((r=((e,t,i,r,n)=>{var s,a,o,h;n=n||[\",\",\"\\t\",\"|\",\";\",v.RECORD_SEP,v.UNIT_SEP];for(var u=0;u<n.length;u++){for(var d,f=n[u],l=0,c=0,p=0,g=(o=void 0,new E({comments:r,delimiter:f,newline:t,preview:10}).parse(e)),_=0;_<g.data.length;_++)i&&y(g.data[_])?p++:(d=g.data[_].length,c+=d,void 0===o?o=d:0<d&&(l+=Math.abs(d-o),o=d));0<g.data.length&&(c/=g.data.length-p),(void 0===a||l<=a)&&(void 0===h||h<c)&&1.99<c&&(a=l,s=f,h=c)}return{successful:!!(m.delimiter=s),bestDelimiter:s}})(e,m.newline,m.skipEmptyLines,m.comments,m.delimitersToGuess)).successful?m.delimiter=r.bestDelimiter:(a=!0,m.delimiter=v.DefaultDelimiter),p.meta.delimiter=m.delimiter),b(m));return m.preview&&m.header&&r.preview++,n=e,s=new E(r),p=s.parse(n,t,i),g(),l?{meta:{paused:!0}}:p||{meta:{paused:!1}}},this.paused=function(){return l},this.pause=function(){l=!0,s.abort(),n=U(m.chunk)?\"\":n.substring(s.getCharIndex())},this.resume=function(){i.streamer._halted?(l=!1,i.streamer.parseChunk(n,!0)):setTimeout(i.resume,3)},this.aborted=function(){return e},this.abort=function(){e=!0,s.abort(),p.meta.aborted=!0,U(m.complete)&&m.complete(p),n=\"\"},this.guessLineEndings=function(e,t){e=e.substring(0,1048576);var t=new RegExp(P(t)+\"([^]*?)\"+P(t),\"gm\"),i=(e=e.replace(t,\"\")).split(\"\\r\"),t=e.split(\"\\n\"),e=1<t.length&&t[0].length<i[0].length;if(1===i.length||e)return\"\\n\";for(var r=0,n=0;n<i.length;n++)\"\\n\"===i[n][0]&&r++;return r>=i.length/2?\"\\r\\n\":\"\\r\"}}function P(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\")}function E(C){var S=(C=C||{}).delimiter,O=C.newline,x=C.comments,I=C.step,A=C.preview,T=C.fastMode,D=null,L=!1,F=null==C.quoteChar?'\"':C.quoteChar,j=F;if(void 0!==C.escapeChar&&(j=C.escapeChar),(\"string\"!=typeof S||-1<v.BAD_DELIMITERS.indexOf(S))&&(S=\",\"),x===S)throw new Error(\"Comment character same as delimiter\");!0===x?x=\"#\":(\"string\"!=typeof x||-1<v.BAD_DELIMITERS.indexOf(x))&&(x=!1),\"\\n\"!==O&&\"\\r\"!==O&&\"\\r\\n\"!==O&&(O=\"\\n\");var z=0,M=!1;this.parse=function(i,t,r){if(\"string\"!=typeof i)throw new Error(\"Input must be a string\");var n=i.length,e=S.length,s=O.length,a=x.length,o=U(I),h=[],u=[],d=[],f=z=0;if(!i)return w();if(T||!1!==T&&-1===i.indexOf(F)){for(var l=i.split(O),c=0;c<l.length;c++){if(d=l[c],z+=d.length,c!==l.length-1)z+=O.length;else if(r)return w();if(!x||d.substring(0,a)!==x){if(o){if(h=[],k(d.split(S)),R(),M)return w()}else k(d.split(S));if(A&&A<=c)return h=h.slice(0,A),w(!0)}}return w()}for(var p=i.indexOf(S,z),g=i.indexOf(O,z),_=new RegExp(P(j)+P(F),\"g\"),m=i.indexOf(F,z);;)if(i[z]===F)for(m=z,z++;;){if(-1===(m=i.indexOf(F,m+1)))return r||u.push({type:\"Quotes\",code:\"MissingQuotes\",message:\"Quoted field unterminated\",row:h.length,index:z}),E();if(m===n-1)return E(i.substring(z,m).replace(_,F));if(F===j&&i[m+1]===j)m++;else if(F===j||0===m||i[m-1]!==j){-1!==p&&p<m+1&&(p=i.indexOf(S,m+1));var y=v(-1===(g=-1!==g&&g<m+1?i.indexOf(O,m+1):g)?p:Math.min(p,g));if(i.substr(m+1+y,e)===S){d.push(i.substring(z,m).replace(_,F)),i[z=m+1+y+e]!==F&&(m=i.indexOf(F,z)),p=i.indexOf(S,z),g=i.indexOf(O,z);break}y=v(g);if(i.substring(m+1+y,m+1+y+s)===O){if(d.push(i.substring(z,m).replace(_,F)),b(m+1+y+s),p=i.indexOf(S,z),m=i.indexOf(F,z),o&&(R(),M))return w();if(A&&h.length>=A)return w(!0);break}u.push({type:\"Quotes\",code:\"InvalidQuotes\",message:\"Trailing quote on quoted field is malformed\",row:h.length,index:z}),m++}}else if(x&&0===d.length&&i.substring(z,z+a)===x){if(-1===g)return w();z=g+s,g=i.indexOf(O,z),p=i.indexOf(S,z)}else if(-1!==p&&(p<g||-1===g))d.push(i.substring(z,p)),z=p+e,p=i.indexOf(S,z);else{if(-1===g)break;if(d.push(i.substring(z,g)),b(g+s),o&&(R(),M))return w();if(A&&h.length>=A)return w(!0)}return E();function k(e){h.push(e),f=z}function v(e){var t=0;return t=-1!==e&&(e=i.substring(m+1,e))&&\"\"===e.trim()?e.length:t}function E(e){return r||(void 0===e&&(e=i.substring(z)),d.push(e),z=n,k(d),o&&R()),w()}function b(e){z=e,k(d),d=[],g=i.indexOf(O,z)}function w(e){if(C.header&&!t&&h.length&&!L){var s=h[0],a=Object.create(null),o=new Set(s);let n=!1;for(let r=0;r<s.length;r++){let i=s[r];if(a[i=U(C.transformHeader)?C.transformHeader(i,r):i]){let e,t=a[i];for(;e=i+\"_\"+t,t++,o.has(e););o.add(e),s[r]=e,a[i]++,n=!0,(D=null===D?{}:D)[e]=i}else a[i]=1,s[r]=i;o.add(i)}n&&console.warn(\"Duplicate headers found and renamed.\"),L=!0}return{data:h,errors:u,meta:{delimiter:S,linebreak:O,aborted:M,truncated:!!e,cursor:f+(t||0),renamedHeaders:D}}}function R(){I(w()),h=[],u=[]}},this.abort=function(){M=!0},this.getCharIndex=function(){return z}}function g(e){var t=e.data,i=o[t.workerId],r=!1;if(t.error)i.userError(t.error,t.file);else if(t.results&&t.results.data){var n={abort:function(){r=!0,_(t.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:m,resume:m};if(U(i.userStep)){for(var s=0;s<t.results.data.length&&(i.userStep({data:t.results.data[s],errors:t.results.errors,meta:t.results.meta},n),!r);s++);delete t.results}else U(i.userChunk)&&(i.userChunk(t.results,n,t.file),delete t.results)}t.finished&&!r&&_(t.workerId,t.results)}function _(e,t){var i=o[e];U(i.userComplete)&&i.userComplete(t),i.terminate(),delete o[e]}function m(){throw new Error(\"Not implemented.\")}function b(e){if(\"object\"!=typeof e||null===e)return e;var t,i=Array.isArray(e)?[]:{};for(t in e)i[t]=b(e[t]);return i}function y(e,t){return function(){e.apply(t,arguments)}}function U(e){return\"function\"==typeof e}return v.parse=function(e,t){var i=(t=t||{}).dynamicTyping||!1;U(i)&&(t.dynamicTypingFunction=i,i={});if(t.dynamicTyping=i,t.transform=!!U(t.transform)&&t.transform,!t.worker||!v.WORKERS_SUPPORTED)return i=null,v.NODE_STREAM_INPUT,\"string\"==typeof e?(e=(e=>65279!==e.charCodeAt(0)?e:e.slice(1))(e),i=new(t.download?f:c)(t)):!0===e.readable&&U(e.read)&&U(e.on)?i=new p(t):(n.File&&e instanceof File||e instanceof Object)&&(i=new l(t)),i.stream(e);(i=(()=>{var e;return!!v.WORKERS_SUPPORTED&&(e=(()=>{var e=n.URL||n.webkitURL||null,t=r.toString();return v.BLOB_URL||(v.BLOB_URL=e.createObjectURL(new Blob([\"var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; \",\"(\",t,\")();\"],{type:\"text/javascript\"})))})(),(e=new n.Worker(e)).onmessage=g,e.id=h++,o[e.id]=e)})()).userStep=t.step,i.userChunk=t.chunk,i.userComplete=t.complete,i.userError=t.error,t.step=U(t.step),t.chunk=U(t.chunk),t.complete=U(t.complete),t.error=U(t.error),delete t.worker,i.postMessage({input:e,config:t,workerId:i.id})},v.unparse=function(e,t){var n=!1,_=!0,m=\",\",y=\"\\r\\n\",s='\"',a=s+s,i=!1,r=null,o=!1,h=((()=>{if(\"object\"==typeof t){if(\"string\"!=typeof t.delimiter||v.BAD_DELIMITERS.filter(function(e){return-1!==t.delimiter.indexOf(e)}).length||(m=t.delimiter),\"boolean\"!=typeof t.quotes&&\"function\"!=typeof t.quotes&&!Array.isArray(t.quotes)||(n=t.quotes),\"boolean\"!=typeof t.skipEmptyLines&&\"string\"!=typeof t.skipEmptyLines||(i=t.skipEmptyLines),\"string\"==typeof t.newline&&(y=t.newline),\"string\"==typeof t.quoteChar&&(s=t.quoteChar),\"boolean\"==typeof t.header&&(_=t.header),Array.isArray(t.columns)){if(0===t.columns.length)throw new Error(\"Option columns is empty\");r=t.columns}void 0!==t.escapeChar&&(a=t.escapeChar+s),t.escapeFormulae instanceof RegExp?o=t.escapeFormulae:\"boolean\"==typeof t.escapeFormulae&&t.escapeFormulae&&(o=/^[=+\\-@\\t\\r].*$/)}})(),new RegExp(P(s),\"g\"));\"string\"==typeof e&&(e=JSON.parse(e));if(Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return u(null,e,i);if(\"object\"==typeof e[0])return u(r||Object.keys(e[0]),e,i)}else if(\"object\"==typeof e)return\"string\"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||r),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:\"object\"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||\"object\"==typeof e.data[0]||(e.data=[e.data])),u(e.fields||[],e.data||[],i);throw new Error(\"Unable to serialize unrecognized input\");function u(e,t,i){var r=\"\",n=(\"string\"==typeof e&&(e=JSON.parse(e)),\"string\"==typeof t&&(t=JSON.parse(t)),Array.isArray(e)&&0<e.length),s=!Array.isArray(t[0]);if(n&&_){for(var a=0;a<e.length;a++)0<a&&(r+=m),r+=k(e[a],a);0<t.length&&(r+=y)}for(var o=0;o<t.length;o++){var h=(n?e:t[o]).length,u=!1,d=n?0===Object.keys(t[o]).length:0===t[o].length;if(i&&!n&&(u=\"greedy\"===i?\"\"===t[o].join(\"\").trim():1===t[o].length&&0===t[o][0].length),\"greedy\"===i&&n){for(var f=[],l=0;l<h;l++){var c=s?e[l]:l;f.push(t[o][c])}u=\"\"===f.join(\"\").trim()}if(!u){for(var p=0;p<h;p++){0<p&&!d&&(r+=m);var g=n&&s?e[p]:p;r+=k(t[o][g],p)}o<t.length-1&&(!i||0<h&&!d)&&(r+=y)}}return r}function k(e,t){var i,r;return null==e?\"\":e.constructor===Date?JSON.stringify(e).slice(1,25):(r=!1,o&&\"string\"==typeof e&&o.test(e)&&(e=\"'\"+e,r=!0),i=e.toString().replace(h,a),(r=r||!0===n||\"function\"==typeof n&&n(e,t)||Array.isArray(n)&&n[t]||((e,t)=>{for(var i=0;i<t.length;i++)if(-1<e.indexOf(t[i]))return!0;return!1})(i,v.BAD_DELIMITERS)||-1<i.indexOf(m)||\" \"===i.charAt(0)||\" \"===i.charAt(i.length-1))?s+i+s:i)}},v.RECORD_SEP=String.fromCharCode(30),v.UNIT_SEP=String.fromCharCode(31),v.BYTE_ORDER_MARK=\"\\ufeff\",v.BAD_DELIMITERS=[\"\\r\",\"\\n\",'\"',v.BYTE_ORDER_MARK],v.WORKERS_SUPPORTED=!s&&!!n.Worker,v.NODE_STREAM_INPUT=1,v.LocalChunkSize=10485760,v.RemoteChunkSize=5242880,v.DefaultDelimiter=\",\",v.Parser=E,v.ParserHandle=i,v.NetworkStreamer=f,v.FileStreamer=l,v.StringStreamer=c,v.ReadableStreamStreamer=p,n.jQuery&&((d=n.jQuery).fn.parse=function(o){var i=o.config||{},h=[];return this.each(function(e){if(!(\"INPUT\"===d(this).prop(\"tagName\").toUpperCase()&&\"file\"===d(this).attr(\"type\").toLowerCase()&&n.FileReader)||!this.files||0===this.files.length)return!0;for(var t=0;t<this.files.length;t++)h.push({file:this.files[t],inputElem:this,instanceConfig:d.extend({},i)})}),e(),this;function e(){if(0===h.length)U(o.complete)&&o.complete();else{var e,t,i,r,n=h[0];if(U(o.before)){var s=o.before(n.file,n.inputElem);if(\"object\"==typeof s){if(\"abort\"===s.action)return e=\"AbortError\",t=n.file,i=n.inputElem,r=s.reason,void(U(o.error)&&o.error({name:e},t,i,r));if(\"skip\"===s.action)return void u();\"object\"==typeof s.config&&(n.instanceConfig=d.extend(n.instanceConfig,s.config))}else if(\"skip\"===s)return void u()}var a=n.instanceConfig.complete;n.instanceConfig.complete=function(e){U(a)&&a(e,n.file,n.inputElem),u()},v.parse(n.file,n.instanceConfig)}}function u(){h.splice(0,1),e()}}),a&&(n.onmessage=function(e){e=e.data;void 0===v.WORKER_ID&&e&&(v.WORKER_ID=e.workerId);\"string\"==typeof e.input?n.postMessage({workerId:v.WORKER_ID,results:v.parse(e.input,e.config),finished:!0}):(n.File&&e.input instanceof File||e.input instanceof Object)&&(e=v.parse(e.input,e.config))&&n.postMessage({workerId:v.WORKER_ID,results:e,finished:!0})}),(f.prototype=Object.create(u.prototype)).constructor=f,(l.prototype=Object.create(u.prototype)).constructor=l,(c.prototype=Object.create(c.prototype)).constructor=c,(p.prototype=Object.create(u.prototype)).constructor=p,v});","import { applyFragmentLabels } from 'openchemlib-utils';\nimport { furanoseHexose } from \"./furanoseHexose.js\";\nimport { furanosePentose } from \"./furanosePentose.js\";\nimport { pyranoseHexose } from \"./pyranoseHexose.js\";\n/**\n * Label the atoms of a single sugar unit with `<index>_<position>` custom\n * labels (e.g. `0_1`, `0_2`, ..., `0_6`) by matching the molecule against the\n * known pyranose-hexose, furanose-hexose, and furanose-pentose templates in\n * order. Mutates `molecule` in place.\n *\n * The OpenChemLib library is recovered from the molecule itself via\n * `molecule.getOCL()`, so this package never imports `openchemlib` at\n * runtime.\n * @param molecule - Sugar unit whose atoms should be labeled.\n * @param index - Zero-based index of the unit in the parent glycan, used as\n *   the label prefix so atoms across different units stay distinguishable.\n * @returns Ring size of the matched template (5 or 6) and the label of the\n *   atom whose chirality is used as reference for α/β glycosidic bonds.\n * @throws {Error} If no pentose or hexose template matches.\n */\nexport function labelUnitAtoms(molecule, index) {\n    const OCL = molecule.getOCL();\n    const furanosePentoseFragment = OCL.Molecule.fromMolfile(furanosePentose);\n    furanosePentoseFragment.setFragment(true);\n    const furanoseHexoseFragment = OCL.Molecule.fromMolfile(furanoseHexose);\n    furanoseHexoseFragment.setFragment(true);\n    const pyranoseHexoseFragment = OCL.Molecule.fromMolfile(pyranoseHexose);\n    pyranoseHexoseFragment.setFragment(true);\n    const nbPyranoseHexose = applyFragmentLabels(molecule, pyranoseHexoseFragment, {\n        prefix: `${index}_`,\n    });\n    if (nbPyranoseHexose > 0) {\n        return { ringSize: 6, relativeStereoAtom: `${index}_5` };\n    }\n    const nbFurnanoseHexose = applyFragmentLabels(molecule, furanoseHexoseFragment, {\n        prefix: `${index}_`,\n    });\n    if (nbFurnanoseHexose > 0) {\n        return { ringSize: 6, relativeStereoAtom: `${index}_5` };\n    }\n    const nbFuranosePentose = applyFragmentLabels(molecule, furanosePentoseFragment, {\n        prefix: `${index}_`,\n    });\n    if (nbFuranosePentose > 0) {\n        return { ringSize: 5, relativeStereoAtom: `${index}_4` };\n    }\n    throw new Error(`No pentose or hexose fragment found in unit ${index} (${molecule.toIsomericSmiles()})`);\n}\n//# sourceMappingURL=labelUnitAtoms.js.map","export const furanosePentose = `\nActelion Java MolfileCreator 1.0\n\n  7  7  0  0  0  0  0  0  0  0999 V2000\n   17.6752  -13.3126    0.0000 C   0  0  0  0  0  0  0  0  0  1  0  0\n   17.6752  -14.8126    0.0000 C   0  0  0  0  0  0  0  0  0  2  0  0\n   19.1017  -15.2761    0.0000 C   0  0  0  0  0  0  0  0  0  3  0  0\n   19.9834  -14.0626    0.0000 C   0  0  0  0  0  0  0  0  0  4  0  0\n   19.1017  -12.8490    0.0000 O   0  0  0  0  0  0  0  0  0  5  0  0\n   21.4834  -14.0626    0.0000 O   0  0  0  0  0  0  0  0  0  6  0  0\n   16.4616  -12.4309    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0\n  1  2  1  0  0  0  0\n  2  3  1  0  0  0  0\n  3  4  1  0  0  0  0\n  4  5  1  0  0  0  0\n  5  1  1  0  0  0  0\n  4  6  1  0  0  0  0\n  1  7  1  0  0  0  0\nM  STY  1   1 DAT\nM  SLB  1   1   1\nM  SAL   1  1   1\nM  SDT   1 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   1    17.6752   13.3126    DA    ALL  1       5\nM  SED   1 4\nM  STY  1   2 DAT\nM  SLB  1   2   2\nM  SAL   2  1   2\nM  SDT   2 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   2    17.6752   14.8126    DA    ALL  1       5\nM  SED   2 3\nM  STY  1   3 DAT\nM  SLB  1   3   3\nM  SAL   3  1   3\nM  SDT   3 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   3    19.1017   15.2761    DA    ALL  1       5\nM  SED   3 2\nM  STY  1   4 DAT\nM  SLB  1   4   4\nM  SAL   4  1   4\nM  SDT   4 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   4    19.9834   14.0626    DA    ALL  1       5\nM  SED   4 1\nM  STY  1   5 DAT\nM  SLB  1   5   5\nM  SAL   5  1   7\nM  SDT   5 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   5    16.4616   12.4309    DA    ALL  1       5\nM  SED   5 5\nM  END\n`;\n//# sourceMappingURL=furanosePentose.js.map","export const furanoseHexose = `\nActelion Java MolfileCreator 1.0\n\n  8  8  0  0  0  0  0  0  0  0999 V2000\n   18.2772  -13.5216    0.0000 C   0  0  0  0  0  0  0  0  0  1  0  0\n   18.2772  -15.0216    0.0000 C   0  0  0  0  0  0  0  0  0  2  0  0\n   19.7037  -15.4851    0.0000 C   0  0  0  0  0  0  0  0  0  3  0  0\n   20.5854  -14.2716    0.0000 C   0  0  0  0  0  0  0  0  0  4  0  0\n   19.7037  -13.0580    0.0000 O   0  0  0  0  0  0  0  0  0  5  0  0\n   22.0855  -14.2716    0.0000 O   0  0  0  0  0  0  0  0  0  6  0  0\n   17.0636  -12.6399    0.0000 C   0  0  0  0  0  0  0  0  0  7  0  0\n   21.2664  -15.6081    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0\n  1  2  1  0  0  0  0\n  2  3  1  0  0  0  0\n  3  4  1  0  0  0  0\n  4  5  1  0  0  0  0\n  5  1  1  0  0  0  0\n  4  6  1  0  0  0  0\n  1  7  1  0  0  0  0\n  4  8  1  0  0  0  0\nM  STY  1   1 DAT\nM  SLB  1   1   1\nM  SAL   1  1   1\nM  SDT   1 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   1    18.2772   13.5216    DA    ALL  1       5\nM  SED   1 5\nM  STY  1   2 DAT\nM  SLB  1   2   2\nM  SAL   2  1   2\nM  SDT   2 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   2    18.2772   15.0216    DA    ALL  1       5\nM  SED   2 4\nM  STY  1   3 DAT\nM  SLB  1   3   3\nM  SAL   3  1   3\nM  SDT   3 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   3    19.7037   15.4851    DA    ALL  1       5\nM  SED   3 3\nM  STY  1   4 DAT\nM  SLB  1   4   4\nM  SAL   4  1   4\nM  SDT   4 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   4    20.5854   14.2716    DA    ALL  1       5\nM  SED   4 2\nM  STY  1   5 DAT\nM  SLB  1   5   5\nM  SAL   5  1   7\nM  SDT   5 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   5    17.0636   12.6399    DA    ALL  1       5\nM  SED   5 6\nM  STY  1   6 DAT\nM  SLB  1   6   6\nM  SAL   6  1   8\nM  SDT   6 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   6    21.2664   15.6081    DA    ALL  1       5\nM  SED   6 1\nM  END\n`;\n//# sourceMappingURL=furanoseHexose.js.map","export const pyranoseHexose = `\nActelion Java MolfileCreator 1.0\n\n  8  8  0  0  0  0  0  0  0  0999 V2000\n   17.1992  -13.3125    0.0000 C   0  0  0  0  0  0  0  0  0  1  0  0\n   17.1992  -14.8125    0.0000 C   0  0  0  0  0  0  0  0  0  2  0  0\n   18.4982  -15.5625    0.0000 C   0  0  0  0  0  0  0  0  0  3  0  0\n   19.7972  -14.8125    0.0000 C   0  0  0  0  0  0  0  0  0  4  0  0\n   19.7972  -13.3125    0.0000 C   0  0  0  0  0  0  0  0  0  5  0  0\n   18.4982  -12.5624    0.0000 O   0  0  0  0  0  0  0  0  0  6  0  0\n   21.0962  -12.5624    0.0000 O   0  0  0  0  0  0  0  0  0  7  0  0\n   15.9001  -12.5625    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0\n  1  2  1  0  0  0  0\n  2  3  1  0  0  0  0\n  3  4  1  0  0  0  0\n  4  5  1  0  0  0  0\n  5  6  1  0  0  0  0\n  6  1  1  0  0  0  0\n  5  7  1  0  0  0  0\n  1  8  1  0  0  0  0\nM  STY  1   1 DAT\nM  SLB  1   1   1\nM  SAL   1  1   1\nM  SDT   1 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   1    17.1992   13.3125    DA    ALL  1       5\nM  SED   1 5\nM  STY  1   2 DAT\nM  SLB  1   2   2\nM  SAL   2  1   2\nM  SDT   2 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   2    17.1992   14.8125    DA    ALL  1       5\nM  SED   2 4\nM  STY  1   3 DAT\nM  SLB  1   3   3\nM  SAL   3  1   3\nM  SDT   3 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   3    18.4982   15.5625    DA    ALL  1       5\nM  SED   3 3\nM  STY  1   4 DAT\nM  SLB  1   4   4\nM  SAL   4  1   4\nM  SDT   4 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   4    19.7972   14.8125    DA    ALL  1       5\nM  SED   4 2\nM  STY  1   5 DAT\nM  SLB  1   5   5\nM  SAL   5  1   5\nM  SDT   5 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   5    19.7972   13.3125    DA    ALL  1       5\nM  SED   5 1\nM  STY  1   6 DAT\nM  SLB  1   6   6\nM  SAL   6  1   8\nM  SDT   6 NOSEARCH_OCL_CUSTOM_LABEL\nM  SDD   6    15.9001   12.5625    DA    ALL  1       5\nM  SED   6 6\nM  END\n`;\n//# sourceMappingURL=pyranoseHexose.js.map","import { iupacCondensedObject as sugarByIupacCondensed } from \"../sugars.js\";\nimport { labelUnitAtoms } from \"./labelUnitAtoms.js\";\n// Sort by length descending so longer names like \"GlcNAc\" match before \"Glc\".\nconst regex = new RegExp(`(${Object.keys(sugarByIupacCondensed)\n    .toSorted((a, b) => b.length - a.length)\n    .join('|')})`, 'g');\n/**\n * Parse an IUPAC condensed glycan string into its sugar units and the\n * glycosidic links between them. Each unit is loaded from its reference\n * SMILES and labeled by `labelUnitAtoms`; each link captures the donor and\n * acceptor unit indices, the link part as written (e.g. `(α1-3)`), and the\n * relative-stereo reference atom from the donor unit.\n * @param OCL - The OpenChemLib library, passed in by the caller so this\n *   package never imports `openchemlib` at runtime (avoids version\n *   duplication).\n * @param iupac - IUPAC condensed glycan, e.g. `Glc(α1-3)Glc(β1-4)Glc`.\n * @returns The parsed units and links, ready to be assembled into a single\n *   molecule.\n * @throws {Error} If a substring is not a known sugar unit.\n */\nexport function parseIupacCondensed(OCL, iupac) {\n    const parts = iupac.split(regex).filter(Boolean);\n    const units = [];\n    const links = [];\n    let index = 0;\n    for (const part of parts) {\n        if (part.match(/\\d-\\d/)) {\n            links.push({\n                relativeStereoFrom: units[index - 1]?.relativeStereoAtom,\n                from: index - 1,\n                to: index,\n                type: part.replace(/^\\(/, '').replace(/\\)$/, ''),\n                part,\n            });\n            continue;\n        }\n        const sugar = getSugar(part);\n        const molecule = OCL.Molecule.fromSmiles(sugar.smiles);\n        const result = {\n            id: index,\n            ...labelUnitAtoms(molecule, index),\n            ...sugar,\n            molecule,\n        };\n        index++;\n        units.push(result);\n    }\n    return { units, links };\n}\nfunction getSugar(part) {\n    const sugar = sugarByIupacCondensed[part];\n    if (!sugar) {\n        throw new Error(`Unknown sugar unit: ${part}`);\n    }\n    return sugar;\n}\n//# sourceMappingURL=parseIupacCondensed.js.map","import { parseIupacCondensed } from \"./parseIupacCondensed.js\";\n/**\n * Build an OpenChemLib `Molecule` from an IUPAC condensed glycan string.\n *\n * Each sugar unit is loaded from its SMILES, atoms are labeled with their\n * ring position, and units are then connected via α/β glycosidic bonds at\n * the positions encoded in the link parts (e.g. `(α1-3)`). The displaced\n * anomeric oxygen is removed at every junction.\n * @param OCL - The OpenChemLib library, passed in by the caller so this\n *   package never imports `openchemlib` at runtime (avoids version\n *   duplication).\n * @param iupac - IUPAC condensed glycan, e.g. `Glc(α1-3)Glc(β1-4)Glc`.\n * @returns The assembled molecule.\n */\nexport function getMoleculeFromIupacCondensed(OCL, iupac) {\n    const parsed = parseIupacCondensed(OCL, iupac);\n    const molecule = new OCL.Molecule(0, 0);\n    for (const unit of parsed.units) {\n        if (unit.molecule)\n            molecule.addMolecule(unit.molecule);\n    }\n    molecule.inventCoordinates();\n    for (const link of parsed.links) {\n        addBond(molecule, link, OCL);\n    }\n    molecule.ensureHelperArrays(OCL.Molecule.cHelperAll);\n    molecule.inventCoordinates();\n    return molecule;\n}\nfunction addBond(molecule, link, OCL) {\n    const parts = link.type.match(/([^\\d]+)([0-9]+-[0-9]+)$/)?.slice(1);\n    if (!parts)\n        throw new Error(`Invalid link type: ${link.type}`);\n    const [rawType, positions] = parts;\n    if (!positions) {\n        throw new Error(`Invalid link type format: ${link.type}`);\n    }\n    const [fromPos, toPos] = positions.split('-');\n    const from = `${String(link.from)}_${fromPos ?? ''}`;\n    const to = `${String(link.to)}_${toPos ?? ''}`;\n    const type = ['alpha', '⍺', 'α'].includes(rawType ?? '') ? 'alpha' : 'beta';\n    const atom1 = findAtomByLabel(molecule, from);\n    const linkedOxygen1 = getLinkedOxygenAtom(molecule, atom1);\n    const atom2 = findAtomByLabel(molecule, to);\n    const linkedOxygen2 = getLinkedOxygenAtom(molecule, atom2);\n    if (!link.relativeStereoFrom)\n        throw new Error('Missing relativeStereoFrom');\n    const relativeStereoFromAtom = findAtomByLabel(molecule, link.relativeStereoFrom);\n    const relativeChirality = getChiralBondKind(molecule, relativeStereoFromAtom, OCL);\n    const bond = molecule.addBond(atom1, linkedOxygen2);\n    if (type === 'alpha') {\n        molecule.setBondType(bond, OCL.Molecule.cBondTypeSingle |\n            (relativeChirality === OCL.Molecule.cBondTypeUp\n                ? OCL.Molecule.cBondTypeDown\n                : OCL.Molecule.cBondTypeUp));\n    }\n    else {\n        molecule.setBondType(bond, OCL.Molecule.cBondTypeSingle | relativeChirality);\n    }\n    molecule.deleteAtom(linkedOxygen1);\n}\nfunction getChiralBondKind(molecule, atom, OCL) {\n    const nbConnected = molecule.getAllConnAtoms(atom);\n    for (let i = 0; i < nbConnected; i++) {\n        const connectedAtom = molecule.getConnAtom(atom, i);\n        const bond = molecule.getBond(atom, connectedAtom);\n        const bondType = molecule.getBondType(bond);\n        if ((bondType & OCL.Molecule.cBondTypeUp) === OCL.Molecule.cBondTypeUp) {\n            return bondType & OCL.Molecule.cBondTypeUp;\n        }\n        if ((bondType & OCL.Molecule.cBondTypeDown) ===\n            OCL.Molecule.cBondTypeDown) {\n            return bondType & OCL.Molecule.cBondTypeDown;\n        }\n    }\n    throw new Error(`No chiral bond found for atom ${atom}`);\n}\nfunction getLinkedOxygenAtom(molecule, atom) {\n    const nbConnected = molecule.getAllConnAtoms(atom);\n    for (let i = 0; i < nbConnected; i++) {\n        const connectedAtom = molecule.getConnAtom(atom, i);\n        if (molecule.getAtomicNo(connectedAtom) === 8 &&\n            molecule.getAllHydrogens(connectedAtom) === 1) {\n            return connectedAtom;\n        }\n    }\n    throw new Error(`No oxygen atom linked to atom ${atom}`);\n}\nfunction findAtomByLabel(molecule, label) {\n    const nbAtoms = molecule.getAllAtoms();\n    for (let i = 0; i < nbAtoms; i++) {\n        const atomLabel = molecule.getAtomCustomLabel(i);\n        if (atomLabel === label) {\n            return i;\n        }\n    }\n    throw new Error(`Atom with label ${label} not found`);\n}\n//# sourceMappingURL=getMoleculeFromIupacCondensed.js.map"],"names":["sugars","abbreviation","shortName","iupacCondensed","smiles","idCode","String","raw","iupacCondensedObject","sugar","applyFragmentLabels","molecule","fragment","options","algorithm","prefix","suffix","sssearcher","getOCL","SSSearcher","setMolecule","setFragment","found","findFragmentInMolecule","countMode","matches","getMatchList","match","fragmentAtomIndex","length","moleculeAtomIndex","label","getAtomCustomLabel","setAtomCustomLabel","a","b","exports","r","d","n","self","window","s","document","postMessage","IS_PAPA_WORKER","o","h","v","u","e","this","_handle","_finished","_completed","_halted","_input","_baseIndex","_partialLine","_rowCount","_start","_nextChunk","isFirstChunk","_completeResults","data","errors","meta","t","chunkSize","parseInt","step","chunk","i","streamer","_config","call","parseChunk","skipFirstNLines","newline","quoteChar","guessLineEndings","split","slice","join","U","beforeFirstChunk","parse","paused","aborted","cursor","substring","preview","results","workerId","WORKER_ID","finished","concat","complete","_sendError","error","f","RemoteChunkSize","_readChunk","_chunkLoaded","stream","XMLHttpRequest","withCredentials","onload","y","onerror","_chunkError","open","downloadRequestBody","downloadRequestHeaders","setRequestHeader","send","message","status","readyState","responseText","getResponseHeader","lastIndexOf","statusText","Error","l","LocalChunkSize","FileReader","webkitSlice","mozSlice","FileReaderSync","Math","min","size","readAsText","encoding","target","result","c","p","pause","prototype","apply","arguments","resume","on","_streamData","_streamEnd","_streamError","_checkIsFinished","shift","push","toString","_streamCleanUp","removeListener","m","pow","skipEmptyLines","trim","g","k","DefaultDelimiter","filter","_","Array","isArray","forEach","splice","transformHeader","header","dynamicTypingFunction","dynamicTyping","test","parseFloat","Date","transform","map","fields","type","code","row","abort","delimiter","RECORD_SEP","UNIT_SEP","E","comments","abs","successful","bestDelimiter","delimitersToGuess","getCharIndex","setTimeout","RegExp","P","replace","C","S","O","x","I","A","T","fastMode","D","L","F","j","escapeChar","BAD_DELIMITERS","indexOf","z","M","w","R","index","substr","Object","create","Set","has","add","console","warn","linebreak","truncated","renamedHeaders","userError","file","userStep","userChunk","userComplete","terminate","worker","WORKERS_SUPPORTED","NODE_STREAM_INPUT","charCodeAt","download","readable","read","File","URL","webkitURL","BLOB_URL","createObjectURL","Blob","Worker","onmessage","id","input","config","unparse","quotes","columns","escapeFormulae","JSON","keys","constructor","stringify","charAt","fromCharCode","BYTE_ORDER_MARK","Parser","ParserHandle","NetworkStreamer","FileStreamer","StringStreamer","ReadableStreamStreamer","jQuery","fn","each","prop","toUpperCase","attr","toLowerCase","files","inputElem","instanceConfig","extend","before","action","reason","name","labelUnitAtoms","OCL","furanosePentoseFragment","Molecule","fromMolfile","furanoseHexoseFragment","pyranoseHexoseFragment","ringSize","relativeStereoAtom","toIsomericSmiles","regex","sugarByIupacCondensed","toSorted","parseIupacCondensed","iupac","parts","Boolean","units","links","part","relativeStereoFrom","from","to","getSugar","fromSmiles","getMoleculeFromIupacCondensed","parsed","unit","addMolecule","inventCoordinates","link","addBond","ensureHelperArrays","cHelperAll","rawType","positions","fromPos","toPos","includes","atom1","findAtomByLabel","linkedOxygen1","getLinkedOxygenAtom","linkedOxygen2","relativeChirality","atom","nbConnected","getAllConnAtoms","connectedAtom","getConnAtom","bond","getBond","bondType","getBondType","cBondTypeUp","cBondTypeDown","getChiralBondKind","setBondType","cBondTypeSingle","deleteAtom","getAtomicNo","getAllHydrogens","nbAtoms","getAllAtoms"],"mappings":"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","x_google_ignoreList":[1,2,3]}