From 95fa75b124df167f78104dc1472a6dfe6bb5036c Mon Sep 17 00:00:00 2001 From: PavelZubkov Date: Sat, 10 Feb 2024 07:14:19 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20PavelZub?= =?UTF-8?q?kov/visavis@b9e61e4942a39112d5c225f4bef14134ba8a1cb5=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- node.js | 2 +- node.js.map | 2 +- node.mjs | 2 +- node.test.js | 2 +- node.test.js.map | 2 +- web.js | 2 +- web.js.map | 2 +- web.mjs | 2 +- web.test.js.map | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/node.js b/node.js index 276cf17..450d3cc 100644 --- a/node.js +++ b/node.js @@ -2619,7 +2619,7 @@ var $; "use strict"; var $; (function ($) { - $mol_style_attach("mol/theme/theme.css", ":root {\n\t--mol_theme_hue: 210deg;\n\t--mol_theme_hue_spread: 90deg;\n}\n\n:where([mol_theme]) {\n\tcolor: var(--mol_theme_text);\n\tfill: var(--mol_theme_text);\n\tbackground-color: var(--mol_theme_back);\n}\n\t\n:root, [mol_theme=\"$mol_theme_dark\"], :where([mol_theme=\"$mol_theme_dark\"]) [mol_theme] {\n\n\t--mol_theme_luma: -1;\n\t--mol_theme_image: invert(1) hue-rotate( 180deg );\n\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 10% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 20%, .25 );\n\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 8%, .25 );\n\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\n\t\n\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 80% );\n\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 60%, 1 );\n\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\n\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 65% );\n\t\n\t--mol_theme_control: hsl( var(--mol_theme_hue), 60%, 65% );\n\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 60%, 65% );\n\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 60%, 65% );\n\n\t/* --mol_theme_back: oklch( 20% .03 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 35% .05 var(--mol_theme_hue) / .25 );\n\t--mol_theme_field: oklch( 0% 0 var(--mol_theme_hue) / .25 );\n\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\n\t\n\t--mol_theme_text: oklch( 80% 0 var(--mol_theme_hue) );\n\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\n\t--mol_theme_line: oklch( 50% 0 var(--mol_theme_hue) / .2 );\n\t--mol_theme_focus: oklch( 80% .2 calc( var(--mol_theme_hue) + 120deg ) );\n\t\n\t--mol_theme_control: oklch( 70% .1 var(--mol_theme_hue) );\n\t--mol_theme_current: oklch( 80% .2 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_special: oklch( 80% .3 calc( var(--mol_theme_hue) + 60deg ) ); */\n\n}\n\n[mol_theme=\"$mol_theme_light\"], :where([mol_theme=\"$mol_theme_light\"]) [mol_theme] {\n\t\n\t--mol_theme_luma: 1;\n\t--mol_theme_image: none;\n\t\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 99% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 90%, .25 );\n\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 100%, .5 );\n\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\n\t\n\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 0% );\n\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 40%, 1 );\n\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\n\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 40% );\n\t\n\t--mol_theme_control: hsl( var(--mol_theme_hue), 80%, 30% );\n\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 30% );\n\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 30% );\n\t\n\t/* --mol_theme_back: oklch( 93% .01 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 100% .02 var(--mol_theme_hue) / .25 );\n\t--mol_theme_field: oklch( 100% 0 var(--mol_theme_hue) / .5 );\n\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\n\t\n\t--mol_theme_text: oklch( 20% 0 var(--mol_theme_hue) );\n\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\n\t--mol_theme_line: oklch( 70% 0 var(--mol_theme_hue) / .2 );\n\t--mol_theme_focus: oklch( 20% .8 calc( var(--mol_theme_hue) + 120deg ) );\n\t\n\t--mol_theme_control: oklch( 45% .25 var(--mol_theme_hue) );\n\t--mol_theme_current: oklch( 45% .5 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_special: oklch( 45% .5 calc( var(--mol_theme_hue) + 60deg ) ); */\n\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_base\"] {\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 30% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 40%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 25% .05 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 35% .1 var(--mol_theme_hue) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_base\"] {\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 80% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 80%, 95%, .25 );\n\t/* --mol_theme_back: oklch( 95% .02 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 80% .05 var(--mol_theme_hue) / .25 ); */\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_accent\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 30% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 40% .2 calc( var(--mol_theme_hue) + 120deg ) );\n\t--mol_theme_card: oklch( 50% .3 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_accent\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 75% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 90%, .25 );\n\t/* --mol_theme_back: oklch( 90% .03 calc( var(--mol_theme_hue) + 120deg ) );\n\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_current\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 30% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_current\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 80% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 95%, .25 );\n\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_special\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 30% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) + 60deg ) );\n\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_special\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 80% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 95%, .25 );\n\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) + 60deg ) );\n\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\n}\n"); + $mol_style_attach("mol/theme/theme.css", ":root {\n\t--mol_theme_hue: 210deg;\n\t--mol_theme_hue_spread: 90deg;\n}\n\n:where([mol_theme]) {\n\tcolor: var(--mol_theme_text);\n\tfill: var(--mol_theme_text);\n\tbackground-color: var(--mol_theme_back);\n}\n\t\n:root, [mol_theme=\"$mol_theme_dark\"], :where([mol_theme=\"$mol_theme_dark\"]) [mol_theme] {\n\n\t--mol_theme_luma: -1;\n\t--mol_theme_image: invert(1) hue-rotate( 180deg );\n\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 10% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 20%, .25 );\n\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 8%, .25 );\n\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\n\t\n\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 80% );\n\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 60%, 1 );\n\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\n\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 65% );\n\t\n\t--mol_theme_control: hsl( var(--mol_theme_hue), 60%, 65% );\n\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 60%, 65% );\n\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 60%, 65% );\n\n\t/* --mol_theme_back: oklch( 20% .03 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 35% .05 var(--mol_theme_hue) / .25 );\n\t--mol_theme_field: oklch( 0% 0 var(--mol_theme_hue) / .25 );\n\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\n\t\n\t--mol_theme_text: oklch( 80% 0 var(--mol_theme_hue) );\n\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\n\t--mol_theme_line: oklch( 50% 0 var(--mol_theme_hue) / .2 );\n\t--mol_theme_focus: oklch( 80% .2 calc( var(--mol_theme_hue) + 120deg ) );\n\t\n\t--mol_theme_control: oklch( 70% .1 var(--mol_theme_hue) );\n\t--mol_theme_current: oklch( 80% .2 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_special: oklch( 80% .3 calc( var(--mol_theme_hue) + 60deg ) ); */\n\n}\n\n[mol_theme=\"$mol_theme_light\"], :where([mol_theme=\"$mol_theme_light\"]) [mol_theme] {\n\t\n\t--mol_theme_luma: 1;\n\t--mol_theme_image: none;\n\t\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 85% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 100%, .25 );\n\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 100%, .25 );\n\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\n\t\n\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 0% );\n\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 40%, 1 );\n\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\n\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 40% );\n\t\n\t--mol_theme_control: hsl( var(--mol_theme_hue), 80%, 30% );\n\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 30% );\n\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 30% );\n\t\n\t/* --mol_theme_back: oklch( 93% .01 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 100% .02 var(--mol_theme_hue) / .25 );\n\t--mol_theme_field: oklch( 100% 0 var(--mol_theme_hue) / .5 );\n\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\n\t\n\t--mol_theme_text: oklch( 20% 0 var(--mol_theme_hue) );\n\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\n\t--mol_theme_line: oklch( 70% 0 var(--mol_theme_hue) / .2 );\n\t--mol_theme_focus: oklch( 20% .8 calc( var(--mol_theme_hue) + 120deg ) );\n\t\n\t--mol_theme_control: oklch( 45% .25 var(--mol_theme_hue) );\n\t--mol_theme_current: oklch( 45% .5 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_special: oklch( 45% .5 calc( var(--mol_theme_hue) + 60deg ) ); */\n\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_base\"] {\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 30% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 40%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 25% .05 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 35% .1 var(--mol_theme_hue) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_base\"] {\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 80% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 80%, 95%, .25 );\n\t/* --mol_theme_back: oklch( 95% .02 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 80% .05 var(--mol_theme_hue) / .25 ); */\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_accent\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 30% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 40% .2 calc( var(--mol_theme_hue) + 120deg ) );\n\t--mol_theme_card: oklch( 50% .3 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_accent\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 75% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 90%, .25 );\n\t/* --mol_theme_back: oklch( 90% .03 calc( var(--mol_theme_hue) + 120deg ) );\n\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_current\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 30% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_current\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 80% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 95%, .25 );\n\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_special\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 30% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) + 60deg ) );\n\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_special\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 80% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 95%, .25 );\n\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) + 60deg ) );\n\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\n}\n"); })($ || ($ = {})); //mol/theme/-css/theme.css.ts ; diff --git a/node.js.map b/node.js.map index f0a1db1..d43ebd0 100644 --- a/node.js.map +++ b/node.js.map @@ -1 +1 @@ -{"version":3,"sources":["-","../../../mam.ts","../../../mol/ambient/ambient.ts","../../../mol/delegate/delegate.ts","../../../mol/owning/owning.ts","../../../mol/fail/fail.ts","../../../mol/fail/hidden/hidden.ts","../../../mol/func/name/name.ts","../../../mol/object2/object2.ts","../../../mol/object/object.ts","../../../mol/window/window.node.ts","../../../mol/wire/cursor/cursor.ts","../../../mol/wire/pub/pub.ts","../../../mol/wire/wire.ts","../../../mol/dev/format/format.ts","../../../mol/wire/pub/sub/sub.ts","../../../mol/after/timeout/timeout.ts","../../../mol/after/frame/frame.node.ts","../../../mol/promise/like/like.ts","../../../mol/wire/fiber/fiber.ts","../../../mol/guid/guid.ts","../../../mol/key/key.ts","../../../mol/compare/deep/deep.ts","../../../mol/log3/log3.ts","../../../mol/span/span.ts","../../../mol/tree2/to/string/string.ts","../../../mol/tree2/tree2.ts","../../../mol/error/syntax/syntax.ts","../../../mol/tree2/from/string/string.ts","../../../mol/tree2/from/json/json.ts","../../../mol/term/color/color.ts","../../../mol/log3/log3.node.ts","../../../mol/wire/task/task.ts","../../../mol/wire/method/method.ts","../../../mol/fail/catch/catch.ts","../../../mol/fail/log/log.ts","../../../mol/wire/atom/atom.ts","../../../mol/wire/solo/solo.ts","../../../mol/wire/plex/plex.ts","../../../mol/mem/mem.ts","../../../mol/dom/context/context.ts","../../../node/node.node.ts","../../../mol/env/env.ts","../../../mol/env/env.node.ts","../../../mol/exec/exec.node.ts","../../../mol/dom/context/context.node.ts","../../../mol/after/tick/tick.ts","../../../mol/view/selection/selection.ts","../../../mol/wrapper/wrapper.ts","../../../mol/memo/memo.ts","../../../mol/dom/qname/qname.ts","../../../mol/wire/probe/probe.ts","../../../mol/wire/watch/watch.ts","../../../mol/const/const.ts","../../../mol/wire/solid/solid.ts","../../../mol/dom/render/attributes/attributes.ts","../../../mol/dom/render/events/events.ts","../../../mol/dom/render/styles/styles.ts","../../../mol/dom/render/children/children.ts","../../../mol/dom/render/fields/fields.ts","../../../mol/wire/async/async.ts","../../../mol/style/attach/attach.ts","../../../mol/decor/decor.ts","../../../mol/style/unit/unit.ts","../../../mol/style/func/func.ts","../../../mol/style/prop/prop.ts","../../../mol/theme/theme.ts","../../../mol/theme/-css/theme.css.ts","../../../mol/gap/gap.ts","../../../mol/gap/-css/gap.css.ts","../../../mol/view/view/view.ts","../../../mol/view/view/-css/view.css.ts","../../../mol/plugin/plugin.ts","../../../mol/scroll/-view.tree/scroll.view.tree.ts","../../../mol/dom/listener/listener.ts","../../../mol/print/print.ts","../../../mol/style/sheet/sheet.ts","../../../mol/style/define/define.ts","../../../mol/scroll/scroll.view.ts","../../../mol/scroll/scroll.view.css.ts","../../../mol/book2/-view.tree/book2.view.tree.ts","../../../mol/mem/cached/cached.ts","../../../mol/book2/book2.view.ts","../../../mol/book2/-css/book2.view.css.ts","../../../mol/speck/-view.tree/speck.view.tree.ts","../../../mol/layer/layer.ts","../../../mol/layer/-css/layer.css.ts","../../../mol/speck/-css/speck.view.css.ts","../../../mol/button/-view.tree/button.view.tree.ts","../../../mol/keyboard/code/code.ts","../../../mol/button/button.view.ts","../../../mol/button/-css/button.view.css.ts","../../../mol/button/typed/-view.tree/typed.view.tree.ts","../../../mol/button/typed/-css/typed.view.css.ts","../../../mol/button/minor/-view.tree/minor.view.tree.ts","../../../mol/button/minor/-css/minor.view.css.ts","../../../mol/svg/-view.tree/svg.view.tree.ts","../../../mol/state/time/time.ts","../../../mol/svg/svg.view.ts","../../../mol/svg/root/-view.tree/root.view.tree.ts","../../../mol/svg/root/-css/root.view.css.ts","../../../mol/svg/path/-view.tree/path.view.tree.ts","../../../mol/icon/-view.tree/icon.view.tree.ts","../../../mol/icon/-css/icon.view.css.ts","../../../mol/icon/upload/-view.tree/upload.view.tree.ts","../../../mol/button/open/-view.tree/open.view.tree.ts","../../../mol/button/open/open.view.ts","../../../mol/button/open/-css/open.view.css.ts","../../../mol/mem/persist/persist.ts","../../../mol/wire/sync/sync.ts","../../../mol/storage/storage.ts","../../../mol/state/local/local.ts","../../../mol/charset/decode/decode.ts","../../../mol/charset/encode/encode.ts","../../../mol/file/file.ts","../../../mol/compare/array/array.ts","../../../mol/file/file.node.ts","../../../mol/locale/locale.ts","../../../mol/link/-view.tree/link.view.tree.ts","../../../mol/action/action.ts","../../../mol/state/arg/arg.node.ts","../../../mol/link/link.view.ts","../../../mol/link/link.view.css.ts","../../../mol/icon/delete/-view.tree/delete.view.tree.ts","../../../mol/list/-view.tree/list.view.tree.ts","../../../mol/support/css/css.ts","../../../mol/list/list.view.ts","../../../mol/list/-css/list.view.css.ts","../../../mol/check/-view.tree/check.view.tree.ts","../../../mol/maybe/maybe.ts","../../../mol/check/-css/check.css.ts","../../../mol/check/check.view.ts","../../../mol/check/list/-view.tree/list.view.tree.ts","../../../mol/check/list/list.view.ts","../../../mol/check/list/-css/list.view.css.ts","../../../mol/switch/-view.tree/switch.view.tree.ts","../../../mol/state/session/session.ts","../../../mol/switch/switch.view.ts","../../../mol/deck/-view.tree/deck.view.tree.ts","../../../mol/deck/deck.view.ts","../../../mol/icon/script/-view.tree/script.view.tree.ts","../../../mol/icon/script/text/-view.tree/text.view.tree.ts","../../../mol/link/source/-view.tree/source.view.tree.ts","../../../mol/page/-view.tree/page.view.tree.ts","../../../mol/page/page.view.css.ts","../../../mol/store/store.ts","../../../visavis/plot/plot.ts","../../../mol/icon/tick/-view.tree/tick.view.tree.ts","../../../mol/check/box/-view.tree/box.view.tree.ts","../../../mol/check/box/-css/box.view.css.ts","../../../mol/labeler/-view.tree/labeler.view.tree.ts","../../../mol/labeler/-css/labeler.view.css.ts","../../../visavis/matrix/-view.tree/matrix.view.tree.ts","../../../mol/data/setup/setup.ts","../../../mol/data/record/record.ts","../../../mol/error/mix/mix.ts","../../../mol/data/error/error.ts","../../../mol/data/string/string.ts","../../../mol/data/number/number.ts","../../../mol/data/optional/optional.ts","../../../mol/data/array/array.ts","../../../mol/import/import.ts","../../../visavis/lib/lib.ts","../../../visavis/nonformer/nonformer.ts","../../../mol/coord/coord.ts","../../../visavis/matrix/matrix.view.ts","../../../visavis/matrix/-css/matrix.view.css.ts","../../../visavis/matrix/matrix.view.css.ts","../../../mol/pop/-view.tree/pop.view.tree.ts","../../../mol/pop/pop.view.ts","../../../mol/pop/-css/pop.view.css.ts","../../../mol/pick/-view.tree/pick.view.tree.ts","../../../mol/pick/pick.view.ts","../../../mol/pick/-css/pick.view.css.ts","../../../mol/hotkey/-view.tree/hotkey.view.tree.ts","../../../mol/hotkey/hotkey.view.ts","../../../mol/nav/-view.tree/nav.view.tree.ts","../../../mol/nav/nav.view.ts","../../../mol/string/-view.tree/string.view.tree.ts","../../../mol/string/string.view.ts","../../../mol/string/-css/string.view.css.ts","../../../mol/icon/cross/-view.tree/cross.view.tree.ts","../../../mol/paragraph/-view.tree/paragraph.view.tree.ts","../../../mol/paragraph/paragraph.view.ts","../../../mol/paragraph/-css/paragraph.view.css.ts","../../../mol/dimmer/-view.tree/dimmer.view.tree.ts","../../../mol/regexp/regexp.ts","../../../mol/dimmer/dimmer.view.ts","../../../mol/dimmer/-css/dimmer.view.css.ts","../../../mol/search/-view.tree/search.view.tree.ts","../../../mol/search/search.view.ts","../../../mol/search/-css/search.view.css.ts","../../../mol/icon/dots/vertical/-view.tree/vertical.view.tree.ts","../../../mol/select/-view.tree/select.view.tree.ts","../../../mol/match/text.ts","../../../mol/select/select.view.ts","../../../mol/select/-css/select.view.css.ts","../../../visavis/cube/-view.tree/cube.view.tree.ts","../../../mol/data/boolean/boolean.ts","../../../mol/data/nullable/nullable.ts","../../../lib/d3/d3.ts","../../../visavis/element/element.ts","../../../lib/plotly/plotly.ts","../../../visavis/cube/cube.view.ts","../../../visavis/cube/cube.view.css.ts","../../../visavis/phase/-view.tree/phase.view.tree.ts","../../../mol/data/const/const.ts","../../../mol/data/dict/dict.ts","../../../visavis/phase/phase.view.ts","../../../visavis/phase/-css/phase.view.css.ts","../../../visavis/phase/phase.view.css.ts","../../../visavis/plot/plotly/-view.tree/plotly.view.tree.ts","../../../visavis/plot/plotly/plotly.view.ts","../../../visavis/plot/plotly/plotly.view.css.ts","../../../visavis/bar/-view.tree/bar.view.tree.ts","../../../visavis/bar/bar.view.ts","../../../visavis/bar/bar.view.css.ts","../../../visavis/discovery/-view.tree/discovery.view.tree.ts","../../../visavis/discovery/discovery.view.ts","../../../visavis/discovery/discovery.view.css.ts","../../../visavis/eigen/-view.tree/eigen.view.tree.ts","../../../mol/data/variant/variant.ts","../../../visavis/eigen/eigen.view.ts","../../../visavis/pie/-view.tree/pie.view.tree.ts","../../../mol/data/enum/enum.ts","../../../visavis/pie/pie.view.ts","../../../visavis/scatter/-view.tree/scatter.view.tree.ts","../../../visavis/scatter/scatter.view.ts","../../../visavis/customscatter/-view.tree/customscatter.view.tree.ts","../../../visavis/customscatter/customscatter.view.ts","../../../visavis/heatmap/-view.tree/heatmap.view.tree.ts","../../../visavis/heatmap/heatmap.view.ts","../../../visavis/graph/-view.tree/graph.view.tree.ts","../../../visavis/graph/graph.view.ts","../../../visavis/graph/-css/graph.view.css.ts","../../../visavis/graph/graph.view.css.ts","../../../visavis/app/-view.tree/app.view.tree.ts","../../../mol/blob/blob.ts","../../../mol/blob/text/text.ts","../../../mol/blob/json/json.ts","../../../visavis/app/app.view.ts","../../../visavis/app/app.view.css.ts"],"names":[],"sourceRoot":"../../../","mappings":"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AE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAIz3O,2BAAyB,GAAG;QACzC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QACt9a,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAC7qb,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QACzpb,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC;KAC74vC,CAAA;AACF,CAAC,EAdS,CAAC,KAAD,CAAC,QAcV;;;;AClBD,IAAU,CAAC,CAkBV;AAlBD,WAAU,CAAC;IAIV,MAAM,IAAI,GAAG,mBAAmB,CAAA;IAEhC,SAAgB,eAAe,CAAE,IAAY,EAAE,GAAW;QACzD,OAAO,CAAE,IAAI,IAAI,EAAE,KAAK,CAAC,CAAE,GAAG,CAAE,GAAG,GAAG,IAAI,CAAE,CAAA;IAC7C,CAAC;IAFe,iBAAe,kBAE9B,CAAA;IAED,SAAgB,eAAe,CAAE,IAAY;QAC5C,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAA;IACvB,CAAC;IAFe,iBAAe,kBAE9B,CAAA;IAED,SAAgB,cAAc,CAAE,IAAY;QAC3C,OAAO,CAAE,IAAI,IAAI,EAAE,CAAE,IAAI,EAAE,CAAA;IAC5B,CAAC;IAFe,gBAAc,iBAE7B,CAAA;AAEF,CAAC,EAlBS,CAAC,KAAD,CAAC,QAkBV;;;;AClBD,IAAU,CAAC,CA6RV;AA7RD,WAAU,CAAC;IAAC,IAAA,EAAE,CA6Rb;IA7RW,WAAA,EAAE;QAEb,MAAM,yBAAyB,GAAG,gBAAgB,CAAC;YAClD,IAAI,EAAE,gBAAgB;YACtB,GAAG,EAAE,gBAAgB;YACrB,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,gBAAgB;YACtB,GAAG,EAAE,gBAAgB;YACrB,GAAG,EAAE,gBAAgB;YACrB,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,kBAAkB,CAAE,gBAAgB,CAAE;SAC7C,CAAC,CAAA;QAEF,MAAM,yBAAyB,GAAG,gBAAgB,CAAC;YAClD,MAAM,EAAE,gBAAgB;YACxB,MAAM,EAAE,gBAAgB;YACxB,KAAK,EAAE,gBAAgB;YACvB,GAAG,EAAE,gBAAgB;YACrB,GAAG,EAAE,kBAAkB,CAAE,gBAAgB,CAAE;SAC3C,CAAC,CAAA;QAEF,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;YAC7C,OAAO,EAAE,gBAAgB,CAAC;gBACzB,KAAK,EAAE,eAAe,CAAE,yBAAyB,CAAE;gBACnD,KAAK,EAAE,eAAe,CAAE,yBAAyB,CAAE;aACnD,CAAC;SACF,CAAC,CAAA;QAWF,MAAa,eAAgB,SAAQ,CAAC,CAAC,eAAe;YAGrD,IAAI;gBACH,OAAO,oBAAoB,CAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAS,CAAE,CAAA;YACzD,CAAC;YAED,KAAK;gBACJ,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,CAAA;YACjC,CAAC;YAGD,KAAK;gBACJ,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAE,CAAA;YAC7E,CAAC;YAED,eAAe;gBACd,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;YAC7B,CAAC;YAED,eAAe;gBACd,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;YACvC,CAAC;YAGD,OAAO;gBACN,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;oBAC7C,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK;wBAAE,OAAO,IAAI,CAAA;yBAC7D,IAAI,IAAI,CAAC,GAAG;wBAAE,OAAO,KAAK,CAAA;oBAC/B,OAAO,OAAO,CAAA;gBACf,CAAC,EAAE,KAAK,CAAE,CAAA;YACX,CAAC;YAED,UAAU;gBACT,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAA;YACxB,CAAC;YAED,SAAS;gBACR,OAAO;oBACN,IAAI,CAAC,IAAI,EAAE;oBACX,GAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,UAAU,EAAE,CAAE,CAAC,CAAC,CAAC,EAAE;iBAC/C,CAAA;YACF,CAAC;YAGD,KAAK;gBACJ,OAAO,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAE,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAE,IAAI,CAAC,KAAK,EAAU,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,aAAa,EAAE,CAAE,GAAI,IAAI,CAAC,KAAK,EAAU,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,aAAa,EAAE,CAAE,CAAE,CAAA;YACnK,CAAC;YAGD,MAAM;gBACL,MAAM,MAAM,GAAoB,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAE,CAAE,CAAA;gBAEzK,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;oBACjC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC;oBACjD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC;oBACjD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;oBAChD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;oBAChD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;oBACrD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;gBACtD,CAAC;gBAED,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;oBACvB,KAAK,MAAM,IAAI,IAAI,yBAAyB,EAAE,CAAC;wBAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;wBAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;wBAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;wBAC1C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;oBAC3C,CAAC;gBACF,CAAC;gBAED,OAAO,MAAM,CAAA;YACd,CAAC;YAGD,IAAI;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,CAAA;gBAC3C,IAAI,CAAC,IAAI;oBAAE,OAAO,GAAG,CAAA;gBACrB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;YACnF,CAAC;YAGD,aAAa;gBAEZ,OAAO,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC7H,CAAC;YAED,OAAO,CAAC,KAAa;gBACpB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAA;YACxD,CAAC;YAGD,aAAa;gBAEZ,OAAO,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAS,CAAC,CAAA;YAC5J,CAAC;YAED,aAAa,CAAE,KAAa;gBAC3B,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAA;YACpC,CAAC;YAED,kBAAkB;gBACjB,OAAO;oBACN,IAAI,CAAC,WAAW,EAAE;oBAClB,GAAI,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAE;oBACxE,IAAI,CAAC,WAAW,EAAE;iBAClB,CAAA;YACF,CAAC;YAGD,mBAAmB;gBAElB,OAAO,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC/G,CAAC;YAED,KAAK,CAAC,KAAa,EAAE,GAAW;gBAC/B,IAAI,IAAI,CAAC,OAAO,EAAE;oBAAE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAE,IAAI,CAAC,mBAAmB,EAAE,CAAE,KAAK,CAAE,CAAE,CAAA;gBACjH,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAA;YACtC,CAAC;YAGD,KAAK;gBAEJ,OAAO,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;YAC3F,CAAC;YAED,cAAc,CAAC,IAAiB;gBAC/B,IAAI,CAAC,IAAI,CAAC,GAAG;oBAAE,OAAO,EAAE,CAAA;gBAExB,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,EAAE,CAAA;gBACrC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE;oBAC5B,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE;oBACjD,CAAC,CAAC,IAAI,CAAA;gBAEP,OAAO,KAAK,CAAA;YACb,CAAC;YAED,YAAY,CAAC,IAAyB;gBACrC,YAAY,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAM,EAAE,KAAa,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,CAAA;gBACxG,YAAY,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAM,EAAE,KAAa,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,CAAA;YAC5G,CAAC;YAGD,aAAa,CAAC,EAAU,EAAE,IAAc;gBACvC,eAAe,EAAE,CAAA;gBACjB,OAAO,IAAI,IAAI,KAAK,CAAA;YACrB,CAAC;YAGD,UAAU,CAAC,IAAiB;gBAC3B,MAAM,MAAM,GAAG,CAAE,eAAe,CAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,eAAe,CAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,CAAE,CAAA;gBACvF,MAAM,CAAC,OAAO,CAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAE,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAE,CAAE,CAAA;gBAClF,YAAY,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAE,eAAe,CAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,CAAE,CAAC,CAAA;YAIhI,CAAC;YAGD,UAAU,CAAC,IAAgB,EAAE,GAAkB;gBAC9C,YAAY,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;qBAC5B,SAAS,CAAC,OAAO,CAAC;qBAClB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBAEjC,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;qBACtB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC;qBAClE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;qBACxG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAQ,CAAC;qBAG/C,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,CAAC;qBACvC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,CAAC;qBACxC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACpD,KAAK,CAAC,MAAM,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAE;qBAClD,EAAE,CAAC,WAAW,EAAE,CAAC,KAAiB,EAAE,IAAa,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAmB,CAAC,CAAC;qBAC7F,EAAE,CAAC,UAAU,EAAE,CAAC,KAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;qBAC9D,EAAE,CAAC,OAAO,EAAE,CAAC,KAAmB,EAAE,IAAa,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAmB,CAAC,CAAE;qBAC1F,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;YACrE,CAAC;YAGD,IAAI;gBACH,IAAI,MAAM,CAAC,KAAK,CAAE,IAAI,CAAC,IAAI,EAAE,CAAE;oBAAE,OAAM;gBAEvC,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC;qBAC3D,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;qBAC9C,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;qBAE/C,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,CAAC;qBAC5C,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;gBAEhC,MAAM,KAAK,GAAG,GAAG,CACd,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC;qBACrD,IAAI,CAAC,WAAW,EAAE,aAAa,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;gBAE3E,KAAK,CAAC,IAAI,CAAC,qLAAqL,CAAC,CAAA;gBAEjM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;qBAClB,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC;qBACzB,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;qBAC1B,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAE9B,MAAM,UAAU,GAAG,CAAC,IAAS,EAAE,GAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;gBAEhF,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;qBACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;qBAEnB,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;qBACnB,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;qBACpB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAM,EAAE,CAAS,EAAE,EAAE,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAQ,CAAC,GAAG,GAAG,CAAE;qBACxF,IAAI,CAAC,UAAqB,GAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;gBAEhE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;qBAChB,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAE1B,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;qBAChB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;qBAEb,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;qBACvC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;qBACnB,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC;qBAC1B,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;gBAE/C,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;qBACvC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;qBAEnB,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;qBACnB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;qBACvB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAM,EAAE,CAAM,EAAC,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;gBAExF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;qBACnB,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAE3B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;qBACnB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;qBAEZ,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;qBACvC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;qBACnB,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC;qBAC5B,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;SAED;QA/OA;YADE,QAAQ;mDAGT;QAOD;YADE,QAAQ;oDAGT;QAWD;YADE,QAAQ;sDAOT;QAcD;YADE,QAAQ;oDAGT;QAGD;YADE,QAAQ;qDAuBT;QAGD;YADE,QAAQ;mDAKT;QAGD;YADE,QAAQ;4DAIT;QAOD;YADE,QAAQ;4DAIT;QAeD;YADE,QAAQ;kEAIT;QAQD;YADE,QAAQ;oDAIT;QAmBD;YADE,YAAY;4DAIb;QAGD;YADE,WAAW;yDAQZ;QAGD;YADE,YAAY;yDAoBb;QAGD;YADE,QAAQ;mDA4DT;QAhPW,kBAAe,kBAkP3B,CAAA;IAEF,CAAC,EA7RW,EAAE,GAAF,IAAE,KAAF,IAAE,QA6Rb;AAAD,CAAC,EA7RS,CAAC,KAAD,CAAC,QA6RV;;;;AC7RD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,gCAAgC,EAChE,kdAAkd,CACld,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CA4DV;AA5DD,WAAU,CAAC;IAAC,IAAA,EAAE,CA4Db;IA5DW,WAAA,EAAE;QAEb,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,eAAe,CAAA;QAExC,iBAAiB,CAAE,CAAC,CAAC,eAAe,EAAE;YAErC,IAAI,EAAE;gBACL,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBACd,MAAM,EAAE,CAAC;aACT;YAED,UAAU,EAAE;gBACX,QAAQ,EAAE,UAAU;gBACpB,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBACZ,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,SAAS,EAAE,kBAAkB;aAC7B;YAED,aAAa,EAAE;gBACd,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;gBACb,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;gBACd,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;aACb;YAED,cAAc,EAAE;gBACf,UAAU,EAAE,UAAU;gBACtB,IAAI,EAAE;oBACL,SAAS,EAAE,gBAAgB;iBAC3B;aACD;YAED,IAAI,EAAE;gBACL,MAAM,EAAE,MAAM;aACd;YAED,YAAY,EAAE;gBACb,IAAI,EAAE;oBACL,MAAM,EAAE,CAAC;iBACT;aACD;YAED,IAAI,EAAE;gBACL,IAAI,EAAE;oBACL,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,CAAC;iBACT;aACD;YAED,KAAK,EAAE;gBACN,IAAI,EAAE;oBACL,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;oBACd,MAAM,EAAE,CAAC;iBACT;gBACD,IAAI,EAAE;oBACL,OAAO,EAAE,QAAQ,CAAC,KAAK;iBACvB;aACD;SAED,CAAE,CAAA;IAEJ,CAAC,EA5DW,EAAE,GAAF,IAAE,KAAF,IAAE,QA4Db;AAAD,CAAC,EA5DS,CAAC,KAAD,CAAC,QA4DV;;;;AC5DD,IAAU,CAAC,CAiMV;AAjMD,WAAU,CAAC;IACV,MAAa,QAAS,SAAQ,SAAS;QAQtC,MAAM,CAAC,IAAU;YAChB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,UAAU;YACT,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,SAAS;YACR,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,MAAM;YACL,OAAO,MAAM,CAAA;QACd,CAAC;QAOD,GAAG;YACF,OAAO;gBACN,IAAI,CAAC,MAAM,EAAE;aACK,CAAA;QACpB,CAAC;QASD,WAAW;YACV,OAAO;gBACN,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,MAAM,EAAE;aACK,CAAA;QACpB,CAAC;QAOD,MAAM;YACL,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,KAAK;YACJ,OAAO,eAAe,CAAA;QACvB,CAAC;QAOD,cAAc;YACb,OAAO,EAC0B,CAAA;QAClC,CAAC;QAOD,UAAU;YACT,OAAO,IAAI,CAAA;QACZ,CAAC;QAWD,MAAM;YACL,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,CAAA;YAExC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;YAC9B,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;YACzC,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YAExC,OAAO,GAAG,CAAA;QACX,CAAC;KACD;IAhHA;QADE,QAAQ;0CAIT;IAoGD;QADE,QAAQ;0CAST;IAvHW,UAAQ,WAwHpB,CAAA;IAED,MAAa,eAAgB,SAAQ,SAAS;QAO7C,GAAG;YACF,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;QACtB,CAAC;QASD,KAAK;YACJ,OAAO;gBACN,GAAG,KAAK,CAAC,KAAK,EAAE;gBAChB,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE;aACH,CAAA;QAC3B,CAAC;QAUD,IAAI;YACH,OAAO;gBACN,GAAG,KAAK,CAAC,IAAI,EAAE;gBACf,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE;gBAC3B,QAAQ,EAAE,CAAC;aACc,CAAA;QAC3B,CAAC;QAOD,OAAO;YACN,OAAO,EAC0B,CAAA;QAClC,CAAC;QAOD,UAAU;YACT,OAAO,IAAI,CAAA;QACZ,CAAC;QAOD,KAAK;YACJ,OAAO,EAAE,CAAA;QACV,CAAC;KACD;IApEY,iBAAe,kBAoE3B,CAAA;AAEF,CAAC,EAjMS,CAAC,KAAD,CAAC,QAiMV;;;;ACjMD,IAAU,CAAC,CAmFV;AAnFD,WAAU,CAAC;IAAC,IAAA,EAAE,CAmFb;IAnFW,WAAA,EAAE;QAMb,MAAa,QAAS,SAAQ,CAAC,CAAC,QAAQ;YAGvC,MAAM,CAAE,IAAI,GAAG,KAAK;gBACnB,IAAI,CAAC,OAAO,EAAE,CAAA;gBACd,OAAO,IAAI,CAAA;YACZ,CAAC;YAGD,WAAW;gBACV,OAAO;oBACN,IAAI,CAAC,MAAM,EAAE;oBACb,GAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,MAAM,EAAE,CAAE,CAAC,CAAC,CAAC,EAAE;iBAC1C,CAAA;YACF,CAAC;YAGD,UAAU;gBAET,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;gBAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAG,CAAA;gBACrC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;gBAE/B,IAAI,KAAK,KAAK,QAAQ;oBAAG,OAAO,CAAE,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAE,GAAG,GAAG,CAAA;gBAC9E,IAAI,KAAK,KAAK,KAAK;oBAAG,OAAO,WAAW,CAAC,GAAG,GAAG,GAAG,CAAA;gBAElD,OAAO,CAAC,CAAA;YACT,CAAC;YAGD,KAAK;gBACJ,QAAQ,IAAI,CAAC,MAAM,EAAE,EAAG,CAAC;oBACxB,KAAK,KAAK,CAAC,CAAC,OAAO,GAAI,IAAI,CAAC,SAAS,EAAG,IAAK,IAAI,CAAC,UAAU,EAAG,EAAE,CAAA;oBACjE,KAAK,MAAM,CAAC,CAAC,OAAO,GAAI,IAAI,CAAC,UAAU,EAAG,IAAK,IAAI,CAAC,SAAS,EAAG,EAAE,CAAA;oBAClE,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;gBAC9B,CAAC;YACF,CAAC;YAGD,UAAU;gBACT,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;gBAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;gBACjC,IAAI,CAAC,QAAQ;oBAAG,OAAO,UAAU,CAAA;gBAEjC,OAAO,QAAQ,CAAC,GAAG,GAAG,CAAE,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAA;YAChF,CAAC;YAGD,SAAS;gBACR,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;gBAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;gBACjC,IAAI,CAAC,QAAQ;oBAAG,OAAO,UAAU,CAAA;gBAEjC,OAAO,QAAQ,CAAC,IAAI,GAAG,CAAE,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;YACjF,CAAC;YAGD,SAAS;gBACR,MAAM,IAAI,GAAG,IAAI,SAAS,CAAA;gBAC1B,IAAI,CAAC,QAAQ,GAAG,GAAE,EAAE;oBACnB,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAiB,CAAA;oBACzC,OAAO,IAAI,GAAG,IAAI,CAAC,YAA4B,EAAG,CAAC;wBAClD,IAAI,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAE,IAAI,CAAE,CAAC,QAAQ,KAAK,SAAS;4BAAG,OAAO,IAAI,CAAA;oBAC1F,CAAC;oBACD,OAAO,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAA;gBACxD,CAAC,CAAA;gBACD,OAAO,IAAI,CAAA;YACZ,CAAC;YAGD,SAAS;gBACR,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,GAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAA;YAC1F,CAAC;SAED;QAzEA;YADE,QAAQ;8CAIT;QAGD;YADE,QAAQ;mDAMT;QAGD;YADE,QAAQ;kDAWT;QAGD;YADE,QAAQ;6CAOT;QAGD;YADE,QAAQ;kDAQT;QAGD;YADE,QAAQ;iDAQT;QAGD;YADE,QAAQ;iDAWT;QAGD;YADE,QAAQ;iDAGT;QA1EW,WAAQ,WA4EpB,CAAA;IACF,CAAC,EAnFW,EAAE,GAAF,IAAE,KAAF,IAAE,QAmFb;AAAD,CAAC,EAnFS,CAAC,KAAD,CAAC,QAmFV;;;;ACnFD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,sBAAsB,EACtD,06DAA06D,CAC16D,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAyGV;AAzGD,WAAU,CAAC;IACV,MAAa,SAAU,SAAQ,QAAQ;QAStC,KAAK;YACJ,OAAO;gBACN,GAAG,KAAK,CAAC,KAAK,EAAE;gBAChB,OAAO,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;aACpB,CAAA;QAC3B,CAAC;QAOD,MAAM;YACL,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;QACtB,CAAC;QAQD,OAAO,CAAC,KAAW;YAClB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,eAAe;YACd,OAAO,IAAI,CAAA;QACZ,CAAC;QAQD,MAAM,CAAC,IAAU;YAChB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,eAAe;YACd,OAAO;gBACN,IAAI,CAAC,KAAK,EAAE;aACoB,CAAA;QAClC,CAAC;QAOD,IAAI;YACH,OAAO,EAAE,CAAA;QACV,CAAC;QAeD,OAAO;YACN,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;YAEnC,GAAG,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;YAC5B,GAAG,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;YAC7B,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAA;YAC1C,GAAG,CAAC,OAAO,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC/C,GAAG,CAAC,MAAM,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC9C,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAA;YACtC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YAE5B,OAAO,GAAG,CAAA;QACX,CAAC;KACD;IAvEA;QADE,QAAQ;4CAIT;IAiBD;QADE,QAAQ;2CAIT;IAmCD;QADE,QAAQ;4CAaT;IArGW,WAAS,YAsGrB,CAAA;AAEF,CAAC,EAzGS,CAAC,KAAD,CAAC,QAyGV;;;;ACzGD,IAAU,CAAC,CAwBV;AAxBD,WAAU,CAAC;IAAC,IAAA,EAAE,CAwBb;IAxBW,WAAA,EAAE;QAOb,MAAa,SAAU,SAAQ,CAAC,CAAC,SAAS;YAEzC,OAAO,CAAE,KAAqB;gBAE7B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;oBAAG,OAAM;gBAEpC,IAAI,KAAK,CAAC,gBAAgB;oBAAG,OAAM;gBAEnC,IAAI,KAAK,CAAC,OAAO,KAAK,kBAAkB,CAAC,MAAM,EAAG,CAAC;oBAClD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;wBAAG,OAAM;oBAC3B,KAAK,CAAC,cAAc,EAAE,CAAA;oBACtB,IAAI,CAAC,MAAM,CAAE,KAAK,CAAE,CAAA;gBACrB,CAAC;YAEF,CAAC;SAED;QAhBY,YAAS,YAgBrB,CAAA;IACF,CAAC,EAxBW,EAAE,GAAF,IAAE,KAAF,IAAE,QAwBb;AAAD,CAAC,EAxBS,CAAC,KAAD,CAAC,QAwBV;;;;ACxBD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,wBAAwB,EACxD,oEAAoE,CACpE,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAkEV;AAlED,WAAU,CAAC;IACV,MAAa,WAAY,SAAQ,WAAW;QAS3C,KAAK;YACJ,OAAO;gBACN,GAAG,KAAK,CAAC,KAAK,EAAE;gBAChB,OAAO,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;aACpB,CAAA;QAC3B,CAAC;QAOD,GAAG;YACF,OAAO,EACmB,CAAA;QAC3B,CAAC;QAOD,QAAQ;YACP,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,OAAO;YACN,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,SAAS;YACR,OAAO,KAAK,CAAA;QACb,CAAC;QAQD,OAAO,CAAC,KAAW;YAClB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;KACD;IAJA;QADE,QAAQ;8CAIT;IA9DW,aAAW,cA+DvB,CAAA;AAEF,CAAC,EAlES,CAAC,KAAD,CAAC,QAkEV;;;;AClED,IAAU,CAAC,CA8BV;AA9BD,WAAU,CAAC;IAAC,IAAA,EAAE,CA8Bb;IA9BW,WAAA,EAAE;QAKb,MAAa,WAAY,SAAQ,CAAC,CAAC,WAAW;YAE7C,GAAG;gBACF,OAAO,KAAK,CAAC,GAAG,EAEf,CAAA;YACF,CAAC;YAED,OAAO,CAAE,KAAsB;gBAE9B,IAAI,CAAC,KAAK;oBAAG,OAAM;gBACnB,IAAI,KAAK,CAAC,gBAAgB;oBAAG,OAAM;gBAEnC,IAAI,IAAI,GAAG,kBAAkB,CAAE,KAAK,CAAC,OAAO,CAAqC,CAAA;gBAEjF,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAE;oBAAG,OAAM;gBACnE,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,MAAM;oBAAG,OAAM;gBAC5C,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,KAAK,CAAC,QAAQ;oBAAG,OAAM;gBAEhD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAE,IAAI,CAAE,CAAA;gBACjC,IAAI,MAAM;oBAAG,MAAM,CAAE,KAAK,CAAE,CAAA;YAE7B,CAAC;SAED;QAxBY,cAAW,cAwBvB,CAAA;IACF,CAAC,EA9BW,EAAE,GAAF,IAAE,KAAF,IAAE,QA8Bb;AAAD,CAAC,EA9BS,CAAC,KAAD,CAAC,QA8BV;;;;AC9BD,IAAU,CAAC,CA6JV;AA7JD,WAAU,CAAC;IACV,MAAa,QAAS,SAAQ,WAAW;QAQxC,KAAK,CAAC,IAAU;YACf,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,QAAQ;YACP,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,SAAS;YACR,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,OAAO;YACN,OAAO,KAAK,CAAA;QACb,CAAC;QAQD,MAAM,CAAC,IAAU;YAChB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,EACY,CAAA;QACpB,CAAC;QAQD,MAAM,CAAC,IAAU;YAChB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,EACY,CAAA;QACpB,CAAC;QAQD,SAAS,CAAC,IAAU;YACnB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,IAAW,CAAA;QACnB,CAAC;QAQD,SAAS,CAAC,IAAU;YACnB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,IAAW,CAAA;QACnB,CAAC;QAQD,QAAQ,CAAC,KAAW;YACnB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAQD,UAAU,CAAC,KAAW;YACrB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAQD,UAAU,CAAC,KAAW;YACrB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAQD,WAAW,CAAC,KAAW;YACtB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QASD,KAAK;YACJ,OAAO;gBACN,GAAG,KAAK,CAAC,KAAK,EAAE;gBAChB,OAAO,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;aACtB,CAAA;QAC3B,CAAC;QAQD,SAAS,CAAC,KAAW;YACpB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;KACD;IAlJA;QADE,QAAQ;yCAIT;IAmCD;QADE,QAAQ;0CAKT;IAQD;QADE,QAAQ;0CAKT;IAQD;QADE,QAAQ;6CAIT;IAQD;QADE,QAAQ;6CAIT;IAQD;QADE,QAAQ;4CAIT;IAQD;QADE,QAAQ;8CAIT;IAQD;QADE,QAAQ;8CAIT;IAQD;QADE,QAAQ;+CAIT;IAsBD;QADE,QAAQ;6CAIT;IAzJW,UAAQ,WA0JpB,CAAA;AAEF,CAAC,EA7JS,CAAC,KAAD,CAAC,QA6JV;;;;AC7JD,IAAU,CAAC,CAiHV;AAjHD,WAAU,CAAC;IAAC,IAAA,EAAE,CAiHb;IAjHW,WAAA,EAAE;QAMb,MAAa,QAAS,SAAQ,CAAC,CAAC,QAAQ;YAEvC,SAAS,CAAE,KAAsB;gBAChC,IAAI,CAAC,KAAK;oBAAG,OAAO,KAAK,CAAA;gBACzB,IAAI,KAAK,CAAC,gBAAgB;oBAAG,OAAM;gBAEnC,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;oBAAG,OAAM;gBAC9C,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;oBAAG,OAAM;gBAChD,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;oBAAG,OAAM;gBAE5C,QAAQ,KAAK,CAAC,OAAO,EAAG,CAAC;oBACxB,KAAK,kBAAkB,CAAC,EAAG,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAE,KAAK,CAAE,CAAA;oBAC1D,KAAK,kBAAkB,CAAC,IAAK,CAAC,CAAC,OAAO,IAAI,CAAC,UAAU,CAAE,KAAK,CAAE,CAAA;oBAC9D,KAAK,kBAAkB,CAAC,IAAK,CAAC,CAAC,OAAO,IAAI,CAAC,UAAU,CAAE,KAAK,CAAE,CAAA;oBAC9D,KAAK,kBAAkB,CAAC,KAAM,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,CAAE,KAAK,CAAE,CAAA;oBAChE,KAAK,kBAAkB,CAAC,MAAO,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAE,KAAK,CAAE,CAAA;oBAC9D,KAAK,kBAAkB,CAAC,QAAS,CAAC,CAAC,OAAO,IAAI,CAAC,UAAU,CAAE,KAAK,CAAE,CAAA;gBACnE,CAAC;YACF,CAAC;YAED,QAAQ,CAAE,KAAsB;gBAC/B,IAAI,CAAC,KAAK;oBAAG,OAAO,KAAK,CAAA;gBAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;gBAC1B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBAAG,OAAM;gBAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAE/B,MAAM,SAAS,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;gBAChD,MAAM,SAAS,GAAG,CAAE,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,GAAG,IAAI,CAAC,MAAM,CAAA;gBAE/D,KAAK,CAAC,cAAc,EAAE,CAAA;gBAEtB,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBAAG,OAAM;gBAE7C,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,MAAM,EAAE,CAAE,SAAS,CAAE,CAAE,CAAA;YAC7C,CAAC;YAED,UAAU,CAAE,KAAsB;gBACjC,IAAI,CAAC,KAAK;oBAAG,OAAO,KAAK,CAAA;gBAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;gBAC1B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBAAG,OAAM;gBAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAE/B,MAAM,SAAS,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC/D,MAAM,SAAS,GAAG,CAAE,SAAS,GAAG,CAAC,CAAE,GAAG,IAAI,CAAC,MAAM,CAAA;gBAEjD,KAAK,CAAC,cAAc,EAAE,CAAA;gBAEtB,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBAAG,OAAM;gBAE7C,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,MAAM,EAAE,CAAE,SAAS,CAAE,CAAE,CAAA;YAC7C,CAAC;YAED,UAAU,CAAE,KAAsB;gBACjC,IAAI,CAAC,KAAK;oBAAG,OAAO,KAAK,CAAA;gBAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;gBAC1B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBAAG,OAAM;gBAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAE/B,MAAM,SAAS,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;gBAChD,MAAM,SAAS,GAAG,CAAE,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,GAAG,IAAI,CAAC,MAAM,CAAA;gBAE/D,KAAK,CAAC,cAAc,EAAE,CAAA;gBAEtB,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBAAG,OAAM;gBAE7C,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,MAAM,EAAE,CAAE,SAAS,CAAE,CAAE,CAAA;YAC7C,CAAC;YAED,WAAW,CAAE,KAAsB;gBAClC,IAAI,CAAC,KAAK;oBAAG,OAAO,KAAK,CAAA;gBAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;gBAC1B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBAAG,OAAM;gBAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAE/B,MAAM,SAAS,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;gBAC9D,MAAM,SAAS,GAAG,CAAE,SAAS,GAAG,CAAC,CAAE,GAAG,IAAI,CAAC,MAAM,CAAA;gBAEjD,KAAK,CAAC,cAAc,EAAE,CAAA;gBAEtB,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBAAG,OAAM;gBAE7C,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,MAAM,EAAE,CAAE,SAAS,CAAE,CAAE,CAAA;YAC7C,CAAC;YAED,OAAO;gBACN,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAE,IAAI,CAAC,SAAS,EAAE,CAAE,CAAA;gBACrD,IAAI,KAAK,GAAG,CAAC;oBAAG,OAAO,IAAI,CAAA;gBAE3B,OAAO,KAAK,CAAA;YACb,CAAC;YAED,OAAO;gBACN,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAE,IAAI,CAAC,SAAS,EAAE,CAAE,CAAA;gBACrD,IAAI,KAAK,GAAG,CAAC;oBAAG,OAAO,IAAI,CAAA;gBAE3B,OAAO,KAAK,CAAA;YACb,CAAC;SAED;QA1GY,WAAQ,WA0GpB,CAAA;IACF,CAAC,EAjHW,EAAE,GAAF,IAAE,KAAF,IAAE,QAiHb;AAAD,CAAC,EAjHS,CAAC,KAAD,CAAC,QAiHV;;;;ACjHD,IAAU,CAAC,CA0UV;AA1UD,WAAU,CAAC;IACV,MAAa,WAAY,SAAQ,SAAS;QAOzC,QAAQ;YACP,OAAO,OAAO,CAAA;QACf,CAAC;QAOD,OAAO;YACN,OAAO,IAAI,CAAA;QACZ,CAAC;QAOD,cAAc;YACb,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,YAAY;YACX,OAAO,KAAK,CAAA;QACb,CAAC;QAUD,SAAS,CAAC,IAAU;YACnB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO;gBACN,CAAC;gBACD,CAAC;aACoB,CAAA;QACvB,CAAC;QASD,IAAI;YACH,OAAO;gBACN,IAAI,CAAC,iBAAiB,EAAE;gBACxB,IAAI,CAAC,YAAY,EAAE;aACD,CAAA;QACpB,CAAC;QAiBD,KAAK;YACJ,OAAO;gBACN,GAAG,KAAK,CAAC,KAAK,EAAE;gBAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;gBACzB,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE;gBAC3B,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE;gBAChC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;gBAC7B,YAAY,EAAE,IAAI,CAAC,mBAAmB,EAAE;gBACxC,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE;gBAClC,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE;gBACtC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE;gBAC1B,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE;aACD,CAAA;QAC3B,CAAC;QAUD,IAAI;YACH,OAAO;gBACN,GAAG,KAAK,CAAC,IAAI,EAAE;gBACf,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE;gBAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;aACQ,CAAA;QAC3B,CAAC;QASD,KAAK;YACJ,OAAO;gBACN,GAAG,KAAK,CAAC,KAAK,EAAE;gBAChB,KAAK,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;aACvB,CAAA;QAC3B,CAAC;QAOD,OAAO;YACN,OAAO;gBACN,IAAI,CAAC,MAAM,EAAE;aACK,CAAA;QACpB,CAAC;QAOD,iBAAiB;YAChB,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,YAAY;YACX,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,QAAQ;YACP,OAAO,KAAK,CAAA;QACb,CAAC;QAQD,KAAK,CAAC,IAAU;YACf,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,aAAa,CAAC,IAAU;YACvB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC;QAOD,IAAI;YACH,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,YAAY;YACX,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC;QAOD,UAAU;YACT,OAAO,IAAI,CAAA;QACZ,CAAC;QAOD,mBAAmB;YAClB,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,aAAa;YACZ,OAAO,CAAC,CAAA;QACT,CAAC;QAOD,eAAe;YACd,OAAO,CAAC,CAAA;QACT,CAAC;QAOD,QAAQ;YACP,OAAO,MAAM,CAAA;QACd,CAAC;QAOD,KAAK;YACJ,OAAO,IAAI,CAAA;QACZ,CAAC;QAOD,UAAU;YACT,OAAO,CAAC,QAAQ,CAAA;QACjB,CAAC;QAQD,IAAI,CAAC,IAAU;YACd,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,MAAM,CAAA;QACd,CAAC;QAQD,YAAY,CAAC,KAAW;YACvB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,gBAAgB;YACf,OAAO,KAAK,CAAA;QACb,CAAC;QAQD,MAAM,CAAC,KAAW;YACjB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAUD,MAAM;YACL,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAA;YAC5C,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;gBAChB,KAAK,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;aAChB,CAAA,CAAA;YAE3B,OAAO,GAAG,CAAA;QACX,CAAC;KACD;IAzRA;QADE,QAAQ;gDAOT;IAwHD;QADE,QAAQ;4CAIT;IAkGD;QADE,QAAQ;2CAIT;IAQD;QADE,QAAQ;mDAIT;IAiBD;QADE,QAAQ;6CAIT;IAUD;QADE,QAAQ;6CAUT;IAtUW,aAAW,cAuUvB,CAAA;AAEF,CAAC,EA1US,CAAC,KAAD,CAAC,QA0UV;;;;AC1UD,IAAU,CAAC,CA+FV;AA/FD,WAAU,CAAC;IAAC,IAAA,EAAE,CA+Fb;IA/FW,WAAA,EAAE;QAKb,MAAa,WAAY,SAAQ,CAAC,CAAC,WAAW;YAG7C,YAAY,CAAE,IAAa;gBAC1B,IAAI,CAAC,IAAI;oBAAG,OAAM;gBAClB,MAAM,EAAE,GAAG,IAAI,CAAC,MAA0B,CAAA;gBAC1C,MAAM,IAAI,GAAG,EAAE,CAAC,cAAc,CAAA;gBAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAA;gBAC1B,IAAI,CAAC;oBACJ,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAE,EAAE,CAAC,KAAK,CAAE,CAAA;gBAC1C,CAAC;gBAAC,OAAO,KAAK,EAAG,CAAC;oBACjB,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAsB,CAAA;oBAC9C,IAAI,KAAK,YAAY,KAAK,EAAG,CAAC;wBAC7B,EAAE,CAAC,iBAAiB,CAAE,KAAK,CAAC,OAAO,CAAE,CAAA;wBACrC,EAAE,CAAC,cAAc,EAAE,CAAA;oBACpB,CAAC;oBACD,gBAAgB,CAAE,KAAK,CAAE,CAAA;gBAC1B,CAAC;gBACD,IAAI,EAAE,KAAK,IAAI;oBAAG,OAAM;gBACxB,EAAE,CAAC,YAAY,GAAG,EAAE,CAAA;gBACpB,EAAE,CAAC,cAAc,GAAG,IAAI,CAAA;gBACxB,IAAI,CAAC,gBAAgB,CAAE,IAAI,CAAE,CAAA;YAC9B,CAAC;YAGD,YAAY;gBACX,IAAI,CAAC;oBACJ,IAAI,IAAI,CAAC,OAAO,EAAE;wBAAG,IAAI,CAAC,KAAK,EAAE,CAAA;gBAClC,CAAC;gBAAC,OAAO,KAAK,EAAG,CAAC;oBACjB,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAsB,CAAA;oBAC9C,IAAI,KAAK,YAAY,KAAK,EAAG,CAAC;wBAC7B,EAAE,CAAC,iBAAiB,CAAE,KAAK,CAAC,OAAO,CAAE,CAAA;wBACrC,EAAE,CAAC,cAAc,EAAE,CAAA;oBACpB,CAAC;gBACF,CAAC;YACF,CAAC;YAED,YAAY;gBACX,OAAO,CAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAE,IAAI,GAAG,CAAA;YACpD,CAAC;YAED,QAAQ;gBACP,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;YACvB,CAAC;YAED,mBAAmB;gBAClB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;YAC1C,CAAC;YAGD,iBAAiB;gBAChB,OAAO,IAAI,iBAAiB,CAC3B,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAChC,iBAAiB,EACjB,eAAe,CAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAE,KAAK,CAAE,CAAE,CAC1D,CAAA;YACF,CAAC;YAED,gBAAgB,CAAE,KAAY;gBAE7B,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAsB,CAAA;gBAC9C,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa;oBAAG,OAAM;gBAElE,MAAM,CAAE,IAAI,EAAE,EAAE,CAAE,GAAG,IAAI,CAAC,SAAS,CAAC;oBACnC,EAAE,CAAC,cAAe;oBAClB,EAAE,CAAC,YAAa;iBAChB,CAAC,CAAA;gBAEF,EAAE,CAAC,YAAY,GAAG,EAAE,CAAA;gBACpB,EAAE,CAAC,cAAc,GAAG,IAAI,CAAA;gBAExB,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,YAAY,KAAK,EAAE,CAAC,cAAc,EAAG,CAAC;oBAC3D,EAAE,CAAC,YAAY,GAAG,EAAE,CAAA;gBACrB,CAAC;YAEF,CAAC;YAED,eAAe;gBACd,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAsB,CAAA;gBAC9C,IAAI,EAAE,CAAC,cAAc,KAAK,IAAI;oBAAG,OAAO,SAA0B,CAAA;gBAClE,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;YAC3B,CAAC;YAED,aAAa;gBACZ,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAsB,CAAA;gBAC9C,IAAI,EAAE,CAAC,YAAY,KAAK,IAAI;oBAAG,OAAO,SAA0B,CAAA;gBAChE,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;YAC3B,CAAC;SAED;QAtFA;YADE,WAAW;uDAoBZ;QAGD;YADE,QAAQ;uDAWT;QAeD;YADE,QAAQ;4DAOT;QAxDW,cAAW,cAyFvB,CAAA;IACF,CAAC,EA/FW,EAAE,GAAF,IAAE,KAAF,IAAE,QA+Fb;AAAD,CAAC,EA/FS,CAAC,KAAD,CAAC,QA+FV;;;;AC/FD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,4BAA4B,EAC5D,yiCAAyiC,CACziC,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAaV;AAbD,WAAU,CAAC;IACV,MAAa,eAAgB,SAAQ,SAAS;QAO7C,IAAI;YACH,OAAO,+GAA+G,CAAA;QACvH,CAAC;KACD;IAVY,iBAAe,kBAU3B,CAAA;AAEF,CAAC,EAbS,CAAC,KAAD,CAAC,QAaV;;;;ACbD,IAAU,CAAC,CAmDV;AAnDD,WAAU,CAAC;IACV,MAAa,cAAe,SAAQ,SAAS;QAO5C,WAAW;YACV,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,YAAY;YACX,OAAO,CAAC,CAAA;QACT,CAAC;QAOD,WAAW;YACV,OAAO,CAAC,QAAQ,CAAA;QACjB,CAAC;QAOD,SAAS;YACR,OAAO,CAAC,CAAA;QACT,CAAC;QAOD,GAAG;YACF,OAAO;gBACN,IAAI,CAAC,KAAK,EAAE;aACM,CAAA;QACpB,CAAC;KACD;IAhDY,gBAAc,iBAgD1B,CAAA;AAEF,CAAC,EAnDS,CAAC,KAAD,CAAC,QAmDV;;;;ACnDD,IAAU,CAAC,CA8CV;AA9CD,WAAU,CAAC;IAAC,IAAA,EAAE,CA8Cb;IA9CW,WAAA,EAAE;QAEb,MAAa,cAAe,SAAQ,CAAC,CAAC,cAAc;YAGnD,aAAa;gBAEZ,IAAI,KAAK,GAAG,CAAC,CAAA;gBACb,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;gBAElC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,EAAG,CAAC;oBAE/B,IAAI,CAAC,GAAG;wBAAG,SAAQ;oBAEnB,IAAI,GAAG,YAAY,SAAS,EAAG,CAAC;wBAC/B,KAAK,IAAI,GAAG,CAAC,aAAa,EAAE,CAAA;oBAC7B,CAAC;yBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAG,CAAC;wBACrC,KAAK,IAAI,MAAM,CAAE,GAAG,CAAE,CAAC,MAAM,GAAG,MAAM,CAAA;oBACvC,CAAC;gBAEF,CAAC;gBAED,OAAO,KAAK,CAAA;YAEb,CAAC;YAED,WAAW;gBACV,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;YACvC,CAAC;YAED,aAAa;gBACZ,OAAO,IAAI,CAAC,YAAY,EAAE,CAAA;YAC3B,CAAC;YAGD,SAAS;gBACR,OAAO,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,WAAW,EAAE,EAAG,IAAI,CAAC,aAAa,EAAE,CAAE,EAAG,IAAI,CAAC,YAAY,EAAE,CAAE,CAAA;YAC/F,CAAC;YAGD,cAAc;gBACb,OAAO,IAAI,CAAC,GAAG,CAAE,CAAC,EAAG,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAE,CAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;YACjG,CAAC;SAED;QAvCA;YADE,QAAQ;2DAoBT;QAWD;YADE,QAAQ;uDAGT;QAGD;YADE,QAAQ;4DAGT;QAxCW,iBAAc,iBA0C1B,CAAA;IAEF,CAAC,EA9CW,EAAE,GAAF,IAAE,KAAF,IAAE,QA8Cb;AAAD,CAAC,EA9CS,CAAC,KAAD,CAAC,QA8CV;;;;AC9CD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,kCAAkC,EAClE,kEAAkE,CAClE,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAkFV;AAlFD,WAAU,CAAC;IACV,MAAa,WAAY,SAAQ,cAAc;QAO9C,QAAQ;YACP,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,MAAM;YACL,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,GAAG;YACF,OAAO,IAAI,CAAC,KAAK,EAAE,CAAA;QACpB,CAAC;QAQD,GAAG,CAAC,EAAO;YACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAA;YAEvC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;aACG,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,IAAI,CAAC,EAAO;YACX,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAA;YAEvC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;aACG,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,KAAK;YACJ,OAAO,EAC0B,CAAA;QAClC,CAAC;QAOD,MAAM,CAAC,EAAO;YACb,OAAO,EAAE,CAAA;QACV,CAAC;KACD;IA5CA;QADE,YAAY;0CASb;IAQD;QADE,YAAY;2CASb;IA3DW,aAAW,cA+EvB,CAAA;AAEF,CAAC,EAlFS,CAAC,KAAD,CAAC,QAkFV;;;;;;;;;;ACtED,IAAU,CAAC,CA6dV;AA7dD,WAAU,CAAC;IAqDV,MAAa,WAAwD,SAAQ,MAAM;QAGjB;QAAjE,YAAa,MAAe,EAAG,QAAiB,KAAK,EAAY,SAAkD,EAAE;YACpH,KAAK,CAAE,MAAM,EAAG,KAAK,CAAE,CAAA;YADyC,WAAM,GAAN,MAAM,CAA8C;QAErH,CAAC;QAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAE,GAAU;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAA;YAC5B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;YAClB,IAAI,CAAC;gBACJ,OAAQ,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,EAAG,CAAC;oBACtC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC5B,IAAI,CAAC,KAAK;wBAAG,MAAK;oBAClB,MAAM,KAAK,CAAA;gBACZ,CAAC;YACF,CAAC;oBAAS,CAAC;gBACV,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;YACvB,CAAC;QACF,CAAC;QAGD,CAAE,MAAM,CAAC,KAAK,CAAE,CAAE,GAAY;YAC7B,MAAM,GAAG,GAAG,CAAE,GAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAE,GAAG,CAAE,CAAE,CAAC,MAAM,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAA;YACzF,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAG,OAAO,IAAI,CAAA;YAC7B,OAAO,GAAuB,CAAA;QAC/B,CAAC;QAGD,CAAE,MAAM,CAAC,KAAK,CAAE,CAAE,GAAY;YAE7B,MAAM,GAAG,GAAG,EAAc,CAAA;YAC1B,IAAI,UAAU,GAAG,IAAI,CAAA;YAErB,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAE,GAAG,CAAE,EAAG,CAAC;gBACjD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAE;oBAAG,GAAG,CAAC,IAAI,CAAE,EAAE,CAAE,CAAA;gBAC9E,GAAG,CAAC,IAAI,CAAE,KAAK,CAAC,CAAC,CAAC,CAAE,CAAA;gBACpB,UAAU,GAAG,KAAK,CAAA;YACnB,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAG,GAAG,CAAC,IAAI,CAAE,EAAE,CAAE,CAAA;YAEhC,OAAO,GAAG,CAAA;QACX,CAAC;QAED,IAAI,CAAE,GAAY;YACjB,OAAO,OAAO,CAAE,GAAG,CAAC,KAAK,CAAE,IAAI,CAAC,CAAE,CAAA;QACnC,CAAC;QAED,IAAI,CAAE,GAAY;YAEjB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAA;YAC3B,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM;gBAAG,OAAO,IAAI,CAAA;YAEpC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;YAC7B,IAAI,GAAG,KAAK,IAAI,EAAG,CAAC;gBACnB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,CAAA;gBAC3B,IAAI,CAAC,GAAG;oBAAG,OAAO,IAAI,CAAA;gBACtB,OAAO,MAAM,CAAC,MAAM,CAAE,CAAE,GAAG,CAAC,KAAK,CAAE,IAAI,CAAE,CAAE,EAAE;oBAC5C,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,GAAG;iBACV,CAAS,CAAA;YACX,CAAC;YAED,IAAI,IAAI,KAAK,IAAI,CAAC,SAAS,EAAG,CAAC;gBAC9B,SAAS,CAAE,IAAI,KAAK,CAAE,0BAA0B,CAAE,CAAE,CAAA;YACrD,CAAC;YAGD,MAAM,MAAM,GAAG,EAAW,CAAA;YAE1B,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAE,IAAI,EAAG,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAE,CAAA;YAClE,IAAI,OAAO,EAAG,CAAC;gBACd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;gBAC/C,OAAO,MAAM,CAAC,MAAM,CAAE,CAAE,OAAO,CAAE,EAAE;oBAClC,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,GAAG,CAAC,KAAK;iBAChB,CAAS,CAAA;YACX,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAG,EAAE,CAAC,EAAG,CAAC;gBAChD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAE,CAAC,CAAE,CAAA;gBAC9B,MAAM,CAAE,KAAK,CAAE,GAAG,MAAM,CAAE,KAAK,CAAE,IAAI,GAAG,CAAE,CAAC,GAAG,CAAC,CAAE,IAAI,EAAS,CAAA;YAC/D,CAAC;YAED,OAAO,MAAM,CAAC,MAAM,CAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAE,CAAA;QACxC,CAAC;QAED,QAAQ,CACP,MAAkC;YAElC,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,IAAI,MAAM;YACT,OAAO,IAAI,MAAM,CAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAE,CAAA;QAC7C,CAAC;QAGD,MAAM,CAAC,MAAM,CAGZ,MAAe,EACf,GAAG,GAAG,CAAC,EACP,GAAG,GAAG,MAAM,CAAC,iBAAiB;YAG9B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;YACzC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAE,GAAG,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;YAE/C,MAAM,GAAG,GAAG,MAAO,MAAM,CAAC,MAAO,KAAM,GAAI,IAAK,KAAM,IAAI,CAAA;YAC1D,MAAM,OAAO,GAAI,IAAI,WAAW,CAAE,GAAG,EAAG,MAAM,CAAC,KAAK,EAAG,MAAM,CAAC,MAAM,CAAE,CAAA;YAEtE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE;gBAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAE,MAAM,CAAE,CAAA;gBACrC,IAAI,GAAG;oBAAG,OAAO,GAAG,CAAA;gBACpB,IAAI,GAAG,GAAG,CAAC;oBAAG,OAAO,GAAG,CAAA;gBACxB,OAAO,EAAE,CAAA;YACV,CAAC,CAAA;YAED,OAAO,OAAO,CAAA;QAEf,CAAC;QAGD,MAAM,CAAC,aAAa,CAGnB,MAAe,EACf,GAAG,GAAG,CAAC,EACP,GAAG,GAAG,MAAM,CAAC,iBAAiB;YAG9B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;YACzC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAE,GAAG,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;YAE/C,MAAM,GAAG,GAAG,MAAO,MAAM,CAAC,MAAO,KAAM,GAAI,IAAK,KAAM,GAAG,CAAA;YACzD,MAAM,OAAO,GAAI,IAAI,WAAW,CAAE,GAAG,EAAG,MAAM,CAAC,KAAK,EAAG,MAAM,CAAC,MAAM,CAAE,CAAA;YAEtE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE;gBAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAE,MAAM,CAAE,CAAA;gBACrC,IAAI,GAAG;oBAAG,OAAO,GAAG,CAAA;gBACpB,IAAI,GAAG,GAAG,CAAC;oBAAG,OAAO,GAAG,CAAA;gBACxB,OAAO,EAAE,CAAA;YACV,CAAC,CAAA;YAED,OAAO,OAAO,CAAA;QACf,CAAC;QAGD,MAAM,CAAC,IAAI,CAGV,OAAiB;YAGjB,MAAM,MAAM,GAAG,EAAc,CAAA;YAE7B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAE,MAAM,CAAC,EAAE;gBAEpC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;gBACzC,MAAM,CAAC,IAAI,CAAE,GAAI,MAAM,CAAC,MAAM,CAAE,CAAA;gBAEhC,OAAO,MAAM,CAAC,MAAM,CAAA;YAErB,CAAC,CAAsE,CAAA;YAEvE,OAAO,IAAI,WAAW,CACrB,MAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAE,GAAG,EAC3B,EAAE,EACF,MAAe,CACf,CAAA;QAEF,CAAC;QAGD,MAAM,CAAC,QAAQ,CAEZ,MAAe;YACjB,OAAO,WAAW,CAAC,aAAa,CAAE,MAAM,EAAG,CAAC,EAAG,CAAC,CAAE,CAAA;QACnD,CAAC;QAGD,MAAM,CAAC,WAAW,CAAE,MAA2B;YAE9C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;YAEzC,OAAO,IAAI,WAAW,CACrB,MAAO,MAAM,CAAC,MAAO,GAAG,EACxB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,MAAM,CACb,CAAA;QAEF,CAAC;QAGD,MAAM,CAAC,YAAY,CAAE,MAA2B;YAE/C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;YAEzC,OAAO,IAAI,WAAW,CACrB,MAAO,MAAM,CAAC,MAAO,GAAG,EACxB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,MAAM,CACb,CAAA;QAEF,CAAC;QAGD,MAAM,CAAC,IAAI,CAGV,MAAe,EACf,EAAE,UAAU,EAAG,SAAS,KAA8D;YACrF,UAAU,EAAG,KAAK;YAClB,SAAS,EAAG,KAAK;SACjB;YAGD,IAAI,KAAK,GAAG,KAAK,CAAA;YACjB,IAAI,SAAS;gBAAG,KAAK,IAAI,GAAG,CAAA;YAC5B,IAAI,UAAU;gBAAG,KAAK,IAAI,GAAG,CAAA;YAE7B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAG,CAAC;gBAEjC,MAAM,GAAG,GAAG,OAAQ,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAE,GAAG,CAAA;gBAC3C,MAAM,MAAM,GAAG,IAAI,WAAW,CAAkC,GAAG,EAAG,KAAK,CAAE,CAAA;gBAC7E,MAAM,CAAC,QAAQ,GAAG,GAAE,EAAE,CAAC,GAAG,CAAA;gBAC1B,OAAO,MAAM,CAAA;YAEd,CAAC;YAAC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAG,CAAC;gBAEnC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAE,qBAAqB,EAAG,MAAM,CAAE,CAAA;gBAC5D,MAAM,MAAM,GAAG,IAAI,WAAW,CAAkC,GAAG,EAAG,KAAK,CAAE,CAAA;gBAC7E,MAAM,CAAC,QAAQ,GAAG,GAAE,EAAE,CAAC,MAAM,CAAA;gBAC7B,OAAO,MAAM,CAAA;YAEd,CAAC;iBAAM,IAAI,MAAM,YAAY,WAAW,EAAG,CAAC;gBAE3C,MAAM,MAAM,GAAI,IAAI,WAAW,CAAO,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAE,CAAA;gBAC3E,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAE,MAAM,CAAE,CAAA;gBACrD,OAAO,MAAM,CAAA;YAEd,CAAC;YAAC,IAAI,MAAM,YAAY,MAAM,EAAG,CAAC;gBAGjC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAE,GAAG,GAAG,MAAM,CAAC,MAAM,CAAE,CAAA;gBAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACxB,EAAE,MAAM,EAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC,MAAM,GAAG,CAAC,EAAE,EACtC,CAAE,CAAC,EAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAE,CAAC,GAAG,CAAC,CAAE,CAC3B,CAAA;gBAED,MAAM,MAAM,GAAG,IAAI,WAAW,CAC7B,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,KAAK,EACZ,MAAa,CACb,CAAA;gBAED,MAAM,CAAC,QAAQ,GAAG,GAAE,EAAE,CAAC,EAAE,CAAA;gBAEzB,OAAO,MAAM,CAAA;YAEd,CAAC;YAAC,IAAI,KAAK,CAAC,OAAO,CAAE,MAAM,CAAE,EAAG,CAAC;gBAEhC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAE,GAAG,CAAE;oBACvD,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAE,GAAU,CAAE;oBACpC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,GAAG,CAAE,CACzB,CAAA;gBAED,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAE,CAAA;gBAExD,MAAM,MAAM,GAAG,EAAkE,CAAA;gBAEjF,IAAI,KAAK,GAAG,CAAC,CAAA;gBAEb,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAG,CAAC;oBAEjC,KAAK,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM,EAAG,CAAC;wBACnC,IAAI,MAAM,CAAE,KAAK,CAAE,IAAI,CAAC,EAAG,CAAC;4BAC3B,MAAM,CAAC,IAAI,CAAE,MAAM,CAAE,KAAK,EAAG,CAAS,CAAE,CAAA;wBACzC,CAAC;6BAAM,CAAC;4BACP,MAAM,CAAC,IAAI,CAAE,KAAK,CAAE,CAAA;wBACrB,CAAC;oBACF,CAAC;gBAEF,CAAC;gBAED,MAAM,MAAM,GAAG,IAAI,WAAW,CAAE,MAAM,CAAC,IAAI,CAAE,EAAE,CAAE,EAAG,KAAK,EAAG,MAAM,CAAE,CAAA;gBAEpE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE;oBAC1B,IAAI,GAAG,GAAG,EAAE,CAAA;oBACZ,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAG,CAAC;wBACjC,IAAI,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAE,MAAM,CAAE,CAAA;wBACpC,IAAI,GAAG,KAAK,IAAI;4BAAG,OAAO,EAAE,CAAA;wBAC5B,GAAG,IAAI,GAAG,CAAA;oBACX,CAAC;oBACD,OAAO,GAAG,CAAA;gBACX,CAAC,CAAA;gBAED,OAAO,MAAM,CAAA;YAEd,CAAC;iBAAM,CAAC;gBAEP,MAAM,MAAM,GAAG,EAAc,CAAA;gBAE7B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAE,MAAM,CAAE,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE;oBAEhD,MAAM,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;oBAEnB,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAG,MAAc,CAAE,IAAI,CAAE,CAAE,CAAA;oBAC1D,MAAM,CAAC,IAAI,CAAE,GAAI,MAAM,CAAC,MAAM,CAAE,CAAA;oBAEhC,OAAO,IAAI,MAAM,CAAC,MAAM,GAAG,CAAA;gBAE5B,CAAC,CAAsE,CAAA;gBAEvE,MAAM,MAAM,GAAG,IAAI,WAAW,CAC7B,MAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAE,GAAG,EAC3B,KAAK,EACL,MAAe,CACf,CAAA;gBAED,MAAM,SAAS,GAAG,IAAI,MAAM,CAAE,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,KAAK,CAAE,CAAA;gBAChE,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAW,EAAE,EAAE;oBAEjC,KAAK,IAAI,MAAM,IAAI,MAAM,EAAG,CAAC;wBAE5B,IAAI,MAAM,IAAI,MAAM,EAAG,CAAC;4BAEvB,IAAI,OAAO,MAAM,CAAE,MAAM,CAAE,KAAK,SAAS,EAAG,CAAC;gCAE5C,IAAI,CAAC,MAAM,CAAE,MAAa,CAAE;oCAAG,SAAQ;4BAExC,CAAC;iCAAM,CAAC;gCAEP,MAAM,GAAG,GAAG,MAAM,CAAE,MAAM,CAAE,MAAM,CAAE,CAAE,CAAA;gCACtC,IAAI,GAAG,CAAC,KAAK,CAAE,SAAS,CAAE;oCAAG,OAAO,GAAG,CAAA;gCAEvC,SAAS,CAAE,IAAI,KAAK,CAAE,gBAAgB,MAAM,IAAI,GAAG,EAAE,CAAE,CAAE,CAAA;4BAC1D,CAAC;wBAEF,CAAC;6BAAM,CAAC;4BACP,IAAI,OAAQ,MAAc,CAAE,MAAM,CAAE,KAAK,QAAQ;gCAAG,SAAQ;wBAC7D,CAAC;wBAED,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAG,MAAc,CAAE,MAAM,CAAG,CAAE,CAAC,QAAQ,CAAE,MAAM,CAAE,CAAA;wBAC7E,IAAI,GAAG;4BAAG,OAAO,GAAG,CAAA;oBAErB,CAAC;oBAED,OAAO,IAAI,CAAA;gBACZ,CAAC,CAAA;gBAED,OAAO,MAAM,CAAA;YAEd,CAAC;QAEF,CAAC;QAGD,MAAM,CAAC,YAAY,CAAE,GAAI,QAA+B;YACvD,OAAO,IAAI,WAAW,CACrB,OAAQ,QAAQ,CAAC,IAAI,CAAE,GAAG,CAAG,GAAG,CAChC,CAAA;QACF,CAAC;QAGD,MAAM,CAAC,cAAc,CAAE,GAAI,QAA+B;YACzD,OAAO,IAAI,WAAW,CACrB,OAAQ,QAAQ,CAAC,IAAI,CAAE,GAAG,CAAG,GAAG,CAChC,CAAA;QACF,CAAC;QAED,MAAM,CAAC,UAAU,CAChB,IAAY,EACZ,EAAU;YAEV,OAAO,IAAI,WAAW,CACrB,GAAI,WAAW,CAAC,IAAI,CAAE,IAAI,CAAE,CAAC,MAAO,IAAK,WAAW,CAAC,IAAI,CAAE,EAAE,CAAE,CAAC,MAAO,EAAE,CACzE,CAAA;QACF,CAAC;QAED,MAAM,CAAC,SAAS,CACf,GAAI,OAAkE;YAEtE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAE,CAAC,CAAE,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACxE,OAAO,IAAI,WAAW,CAAE,IAAK,MAAO,GAAG,CAAE,CAAA;QAC1C,CAAC;QAED,MAAM,CAAC,WAAW,CACjB,GAAI,SAAoE;YAExE,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAE,CAAC,CAAE,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC1E,OAAO,IAAI,WAAW,CAAE,KAAM,MAAO,GAAG,CAAE,CAAA;QAC3C,CAAC;QAED,MAAM,CAAC,YAAY,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QACjD,MAAM,CAAC,cAAc,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QAEnD,MAAM,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QAC/C,MAAM,CAAC,YAAY,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QAEjD,MAAM,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QAC/C,MAAM,CAAC,YAAY,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QAEjD,MAAM,CAAC,eAAe,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QACpD,MAAM,CAAC,iBAAiB,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QAEtD,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QACxC,MAAM,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QAC/C,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QAExC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;QAC5C,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;QACzC,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;QACvC,MAAM,CAAC,EAAE,GAAG,WAAW,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;QAEtC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC;YAClC,OAAO,EAAE,CAAE,CAAE,IAAI,CAAE,EAAE,IAAI,CAAE;YAC3B,OAAO,EAAE,IAAI;SACb,CAAC,CAAA;;IApaU,aAAW,cAsavB,CAAA;AAEF,CAAC,EA7dS,CAAC,KAAD,CAAC,QA6dV;;;;ACzeD,IAAU,CAAC,CAoDV;AApDD,WAAU,CAAC;IAAC,IAAA,EAAE,CAoDb;IApDW,WAAA,EAAE;QAMb,MAAa,WAAY,SAAQ,CAAC,CAAC,WAAW;YAE7C,KAAK;gBACJ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;gBAC5B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;oBAAG,OAAO,CAAE,IAAI,CAAC,QAAQ,EAAE,CAAE,CAAA;gBAElD,IAAI,MAAM,GAAW,EAAE,CAAA;gBACvB,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;gBAE5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAG,KAAK,GAAG,OAAO,CAAC,MAAM,EAAG,KAAK,EAAE,EAAG,CAAC;oBACxD,IAAI,OAAO,CAAE,KAAK,CAAE,KAAK,EAAE;wBAAG,SAAQ;oBAEtC,MAAM,CAAC,IAAI,CAAE,CAAE,KAAK,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAE,KAAK,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAE,KAAK,CAAE,CAAE,CAAA;gBACtE,CAAC;gBAED,OAAO,MAAM,CAAA;YACd,CAAC;YAGD,OAAO;gBAEN,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAE,MAAM,CAAE,CAAC,MAAM,CAAE,OAAO,CAAE,CAAA;gBAC/D,IAAI,CAAC,OAAO,CAAC,MAAM;oBAAG,OAAO,CAAE,IAAI,CAAC,QAAQ,EAAE,CAAE,CAAA;gBAEhD,MAAM,QAAQ,GAAG,EAAE,GAAI,OAAO,EAA8B,CAAA;gBAC5D,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAE,CAAA;gBAE9E,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAE,MAAM,CAAE,CAAA;YACvC,CAAC;YAED,MAAM,CAAE,KAAa;gBACpB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAE,KAAK,CAAE,CAAA;YAC/B,CAAC;YAED,CAAC,SAAS,CACT,KAAoD,EACpD,OAAO,EAAiB;gBAGxB,IAAI,KAAK,CAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAE,EAAG,CAAC;oBACrC,MAAM,CAAE,GAAI,IAAI,EAAE,IAAI,CAAE,CAAA;gBACzB,CAAC;YAEF,CAAC;SAED;QA1BA;YADE,QAAQ;kDAUT;QA5BW,cAAW,cA6CvB,CAAA;IACF,CAAC,EApDW,EAAE,GAAF,IAAE,KAAF,IAAE,QAoDb;AAAD,CAAC,EApDS,CAAC,KAAD,CAAC,QAoDV;;;;ACpDD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,4BAA4B,EAC5D,+NAA+N,CAC/N,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CA0XV;AA1XD,WAAU,CAAC;IACV,MAAa,WAAY,SAAQ,QAAQ;QAQxC,KAAK,CAAC,IAAU;YACf,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,QAAQ;YACP,OAAO,EACe,CAAA;QACvB,CAAC;QAUD,OAAO;YACN,OAAO;gBACN,GAAG,KAAK,CAAC,OAAO,EAAE;gBAClB,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,GAAG,EAAE;aACgB,CAAA;QAC5B,CAAC;QAOD,MAAM,CAAC,IAAU;YAChB,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC;QAOD,SAAS;YACR,OAAO,OAAO,CAAA;QACf,CAAC;QAQD,MAAM;YACL,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;YAErC,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,cAAc;YACb,OAAO;gBACN,IAAI,CAAC,IAAI,EAAE;aACqB,CAAA;QAClC,CAAC;QAUD,OAAO,CAAC,EAAO;YACd,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAA;YAE1C,GAAG,CAAC,KAAK,GAAG,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YAC3D,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;YAExC,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,KAAK,CAAC,IAAU;YACf,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,IAAW,CAAA;QACnB,CAAC;QAQD,MAAM;YACL,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;gBAChB,MAAM,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;aACd,CAAA,CAAA;YAE3B,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,cAAc;YACb,OAAO,EACkB,CAAA;QAC1B,CAAC;QAQD,WAAW,CAAC,SAAe;YAC1B,IAAK,SAAS,KAAK,SAAS;gBAAG,OAAO,SAAkB,CAAA;YACxD,OAAO,IAAW,CAAA;QACnB,CAAC;QAUD,GAAG;YACF,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;YAEjC,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;YACxC,GAAG,CAAC,SAAS,GAAG,CAAC,SAAe,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;YAEhE,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,eAAe,CAAC,IAAU;YACzB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,IAAI;YACH,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,kBAAkB,CAAE,CAAA;QACrD,CAAC;QAQD,MAAM,CAAC,KAAW;YACjB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,OAAO;YACN,OAAO,IAAI,CAAA;QACZ,CAAC;QAOD,QAAQ;YACP,OAAO,QAAQ,CAAA;QAChB,CAAC;QAOD,KAAK;YACJ,OAAO,QAAQ,CAAA;QAChB,CAAC;QAOD,KAAK;YACJ,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAA;QAC5B,CAAC;QAeD,KAAK;YACJ,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC5C,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YAC5B,GAAG,CAAC,MAAM,GAAG,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAChD,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;YAClC,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;YACpC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;YAE9B,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,UAAU;YACT,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,CAAA;YAExC,OAAO,GAAG,CAAA;QACX,CAAC;QAWD,KAAK;YACJ,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAA;YAE1C,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,wBAAwB,CAAE,CAAA;YACpE,GAAG,CAAC,KAAK,GAAG,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC9C,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,EAAE;aACC,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;QASD,cAAc;YACb,OAAO;gBACN,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,CAAC,KAAK,EAAE;aACM,CAAA;QACpB,CAAC;QAOD,UAAU;YACT,OAAO,EACkB,CAAA;QAC1B,CAAC;QAQD,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YAElC,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,cAAc,CAAC,EAAO,EAAE,KAAW;YAClC,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,aAAa,CAAC,EAAO;YACpB,OAAO,EAAE,CAAA;QACV,CAAC;QAUD,aAAa,CAAC,EAAO;YACpB,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;YAC3C,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;YAE/B,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,eAAe,CAAC,EAAO;YACtB,OAAO;gBACN,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;aACU,CAAA;QAClC,CAAC;KACD;IA/WA;QADE,QAAQ;4CAIT;IAoDD;QADE,QAAQ;6CAOT;IAqBD;QADE,YAAY;8CAQb;IAQD;QADE,QAAQ;4CAIT;IAQD;QADE,QAAQ;6CAST;IAkBD;QADE,QAAQ;kDAIT;IAUD;QADE,QAAQ;0CAQT;IAQD;QADE,QAAQ;sDAIT;IAiBD;QADE,QAAQ;6CAIT;IAmDD;QADE,QAAQ;4CAYT;IAQD;QADE,QAAQ;iDAKT;IAWD;QADE,QAAQ;4CAWT;IAgCD;QADE,QAAQ;2CAOT;IAQD;QADE,YAAY;qDAIb;IAmBD;QADE,YAAY;oDAQb;IA3WW,aAAW,cAuXvB,CAAA;AAEF,CAAC,EA1XS,CAAC,KAAD,CAAC,QA0XV;;;;AC1XD,IAAU,CAAC,CAqFV;AArFD,WAAU,CAAC;IAAC,IAAA,EAAE,CAqFb;IArFW,WAAA,EAAE;QAMb,MAAa,WAAY,SAAQ,CAAC,CAAC,WAAW;YAG7C,cAAc;gBACb,OAAO;oBACN,IAAI,CAAC,KAAK,EAAE;oBACZ,GAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,EAAE,CAAE,CAAC,CAAC,CAAC,EAAE;iBACxC,CAAA;YACF,CAAC;YAGD,eAAe,CAAE,IAAI,GAAG,IAAI;gBAE3B,IAAI,CAAC,KAAK,EAAE,CAAA;gBAEZ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBAAG,OAAO,KAAK,CAAA;gBAElC,OAAO,IAAI,CAAA;YACZ,CAAC;YAED,gBAAgB,CAAE,IAAc;gBAE/B,IAAI,IAAI,KAAK,SAAS;oBAAG,OAAM;gBAE/B,IAAI,CAAC,KAAK,CAAE,IAAI,CAAE,CAAA;gBAClB,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAE,IAAI,CAAE,CAAA;YAE7B,CAAC;YAED,cAAc;gBACb,OAAO;oBACN,IAAI,CAAC,KAAK,EAAE;oBACZ,GAAI,IAAI,CAAC,UAAU,EAAE;iBACrB,CAAA;YACF,CAAC;YAGD,WAAW,CAAE,SAAsB;gBAElC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBAAG,OAAO,IAAI,CAAA;gBAEjC,IAAI,SAAS,IAAI,IAAI,EAAG,CAAC;oBAExB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,EAAG,CAAC;wBACzC,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;4BAAG,OAAO,IAAI,CAAA;oBACzC,CAAC;oBAED,OAAO,IAAI,CAAA;gBACZ,CAAC;gBAED,IAAI,IAAI,CAAC,eAAe,EAAE,EAAG,CAAC;oBAC7B,IAAI,CAAC,cAAc,CAAE,SAAS,EAAE,QAAQ,CAAE,CAAA;oBAC1C,SAAS,CAAC,OAAO,CAAE,IAAI,CAAE,CAAA;gBAC1B,CAAC;gBAED,OAAO,SAAS,CAAA;YACjB,CAAC;YAED,aAAa,CAAE,GAAW;gBACzB,OAAO,GAAG,CAAA;YACX,CAAC;YAGD,UAAU;gBACT,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAE,CAAE,OAAgB,EAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAE,OAAO,CAAE,CAAE,CAAA;YAC9E,CAAC;YAED,cAAc,CAAE,EAAW,EAAG,KAAmB;gBAChD,IAAI,CAAC,KAAK,CAAE,EAAE,CAAE,CAAA;gBAChB,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAE,CAAC,CAAA;gBAChD,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAE,IAAI,CAAE,CAAA;YAC7B,CAAC;YAED,KAAK,CAAE,KAAc;gBACpB,IAAI,CAAC,KAAK,CAAE,EAAE,CAAE,CAAA;YACjB,CAAC;SAED;QA1EA;YADE,QAAQ;yDAMT;QAGD;YADE,QAAQ;0DAQT;QAmBD;YADE,QAAQ;sDAoBT;QAOD;YADE,QAAQ;qDAGT;QAjEW,cAAW,cA6EvB,CAAA;IAEF,CAAC,EArFW,EAAE,GAAF,IAAE,KAAF,IAAE,QAqFb;AAAD,CAAC,EArFS,CAAC,KAAD,CAAC,QAqFV;;;;ACrFD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,4BAA4B,EAC5D,+WAA+W,CAC/W,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAaV;AAbD,WAAU,CAAC;IACV,MAAa,uBAAwB,SAAQ,SAAS;QAOrD,IAAI;YACH,OAAO,gRAAgR,CAAA;QACxR,CAAC;KACD;IAVY,yBAAuB,0BAUnC,CAAA;AAEF,CAAC,EAbS,CAAC,KAAD,CAAC,QAaV;;;;ACbD,IAAU,CAAC,CAiVV;AAjVD,WAAU,CAAC;IACV,MAAa,WAAY,SAAQ,SAAS;QAQzC,UAAU,CAAC,IAAU;YACpB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,EACmB,CAAA;QAC3B,CAAC;QAOD,OAAO;YACN,OAAO,EACe,CAAA;QACvB,CAAC;QAQD,KAAK,CAAC,IAAU;YACf,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,oBAAoB;YACnB,OAAO,EAAE,CAAA;QACV,CAAC;QAUD,UAAU,CAAC,EAAO;YACjB,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAA;YAE1C,GAAG,CAAC,WAAW,GAAG,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YAC/D,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;YAEvC,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,UAAU;YACT,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,kBAAkB,EAAE;aACP,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;QASD,OAAO;YACN,OAAO;gBACN,GAAG,KAAK,CAAC,OAAO,EAAE;gBAClB,IAAI,CAAC,GAAG,EAAE;aACQ,CAAA;QACpB,CAAC;QAOD,IAAI;YACH,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,kBAAkB,CAAE,CAAA;QACrD,CAAC;QASD,cAAc;YACb,OAAO;gBACN,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,WAAW,EAAE;aACA,CAAA;QACpB,CAAC;QAYD,MAAM;YACL,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;YACrD,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;YACnC,GAAG,CAAC,MAAM,GAAG,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAChD,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;YAElC,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,YAAY;YACX,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAA;YAEhD,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,YAAY,CAAC,EAAO,EAAE,KAAW;YAChC,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,YAAY,CAAC,EAAO;YACnB,OAAO,EAAE,CAAA;QACV,CAAC;QAQD,cAAc,CAAC,IAAU;YACxB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,EAAE,CAAA;QACV,CAAC;QAUD,YAAY,CAAC,EAAO;YACnB,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;YAC1C,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;YAExC,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,cAAc,CAAC,EAAO;YACrB,OAAO;gBACN,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;aACH,CAAA;QACpB,CAAC;QAOD,kBAAkB;YACjB,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,gCAAgC,CAAE,CAAA;QACnE,CAAC;QAOD,cAAc;YACb,OAAO,EACkB,CAAA;QAC1B,CAAC;QAQD,cAAc,CAAC,SAAe;YAC7B,IAAK,SAAS,KAAK,SAAS;gBAAG,OAAO,SAAkB,CAAA;YACxD,OAAO,IAAW,CAAA;QACnB,CAAC;QAQD,SAAS,CAAC,IAAU;YACnB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,IAAI,CAAA;QACZ,CAAC;QAWD,GAAG;YACF,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;YAEjC,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;YACxC,GAAG,CAAC,SAAS,GAAG,CAAC,SAAe,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;YACnE,GAAG,CAAC,KAAK,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAEhD,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,YAAY;YACX,OAAO,EACkB,CAAA;QAC1B,CAAC;QAQD,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAA;YAEpC,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,WAAW;YACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,EAAE;aACO,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,WAAW;YACV,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,yBAAyB,CAAE,CAAA;QAC5D,CAAC;QAQD,MAAM,CAAC,KAAW;YACjB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,OAAO;YACN,OAAO,IAAI,CAAA;QACZ,CAAC;KACD;IAtUA;QADE,QAAQ;iDAKT;IAkBD;QADE,QAAQ;4CAIT;IAmBD;QADE,YAAY;iDAQb;IAQD;QADE,QAAQ;iDAST;IAiDD;QADE,QAAQ;6CAUT;IAQD;QADE,QAAQ;mDAKT;IAQD;QADE,YAAY;mDAIb;IAiBD;QADE,QAAQ;qDAIT;IAUD;QADE,YAAY;mDAQb;IAsCD;QADE,QAAQ;qDAIT;IAQD;QADE,QAAQ;gDAIT;IAWD;QADE,QAAQ;0CAST;IAkBD;QADE,QAAQ;2CAOT;IAQD;QADE,QAAQ;kDAST;IAiBD;QADE,QAAQ;6CAIT;IApUW,aAAW,cA8UvB,CAAA;AAEF,CAAC,EAjVS,CAAC,KAAD,CAAC,QAiVV;;;;ACjVD,IAAU,CAAC,CAaV;AAbD,WAAU,CAAC;IAEV,SAAgB,eAAe,CAAa,KAAc,EAAG,MAAyC;QACrG,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAE,KAAK,CAAE,CAAC,MAAM,CAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAE,CAAA;QAE3E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAG,OAAO,GAAE,EAAE,CAAC,IAAI,CAAA;QAExC,OAAO,CAAE,OAAiB,EAAE,EAAE;YAC7B,MAAM,IAAI,GAAG,MAAM,CAAE,OAAO,CAAE,CAAA;YAC9B,OAAO,IAAI,CAAC,KAAK,CAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAE,GAAG,CAAE,IAAI,CAAC,CAAE,CAAE,CAAA;QACtF,CAAC,CAAA;IACF,CAAC;IATe,iBAAe,kBAS9B,CAAA;AAEF,CAAC,EAbS,CAAC,KAAD,CAAC,QAaV;;;;ACbD,IAAU,CAAC,CA0FV;AA1FD,WAAU,CAAC;IAAC,IAAA,EAAE,CA0Fb;IA1FW,WAAA,EAAE;QAMb,MAAa,WAAY,SAAQ,CAAC,CAAC,WAAW;YAG7C,cAAc,CAAE,IAAc;gBAC7B,IAAI,CAAC,OAAO,EAAE,CAAA;gBAEd,OAAO,IAAI,IAAI,EAAE,CAAA;YAClB,CAAC;YAED,IAAI;gBACH,IAAI,CAAC,MAAM,CAAE,IAAI,CAAE,CAAA;YACpB,CAAC;YAGD,OAAO;gBACN,OAAO,MAAM,CAAC,IAAI,CAAE,IAAI,CAAC,UAAU,EAAE,CAAuB,CAAA;YAC7D,CAAC;YAGD,gBAAgB;gBACf,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;gBAC5B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAE,eAAe,CAAE,IAAI,CAAC,cAAc,EAAE,EAAG,CAAE,EAAW,EAAE,EAAE,CAAC,CAAE,IAAI,CAAC,YAAY,CAAE,EAAE,CAAE,CAAE,CAAE,CAAE,CAAA;gBAEpH,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAE,IAAI,CAAC,KAAK,EAAE,CAAE,CAAA;gBAC7C,IAAI,KAAK,IAAI,CAAC;oBAAG,OAAO,GAAG,CAAE,GAAI,OAAO,CAAC,KAAK,CAAE,CAAC,EAAG,KAAK,CAAE,EAAG,GAAI,OAAO,CAAC,KAAK,CAAE,KAAK,GAAG,CAAC,CAAE,CAAE,CAAA;gBAE9F,OAAO,OAAO,CAAA;YACf,CAAC;YAED,YAAY,CAAE,EAAW;gBACxB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAE,EAAE,CAAE,CAAA;gBACrC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAA;YACnE,CAAC;YAED,WAAW;gBACV,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAE,CAAE,MAAe,EAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAE,MAAM,CAAE,CAAE,CAAA;YACvF,CAAC;YAGD,cAAc,CAAE,SAAsB;gBACrC,IAAI,SAAS,IAAI,IAAI,EAAG,CAAC;oBACxB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,EAAG,CAAC;wBACzC,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;4BAAG,OAAO,IAAI,CAAA;oBACzC,CAAC;oBAED,OAAO,IAAI,CAAA;gBACZ,CAAC;gBAED,IAAI,IAAI,CAAC,MAAM,EAAE,EAAG,CAAC;oBACpB,SAAS,CAAC,OAAO,CAAE,IAAI,CAAE,CAAA;gBAC1B,CAAC;gBAED,OAAO,SAAS,CAAA;YACjB,CAAC;YAED,YAAY,CAAE,EAAW,EAAG,KAAmB;gBAC9C,IAAI,CAAC,KAAK,CAAE,EAAE,CAAE,CAAA;gBAChB,IAAI,CAAC,MAAM,CAAE,KAAK,CAAE,CAAA;gBACpB,KAAK,EAAE,cAAc,EAAE,CAAA;YACxB,CAAC;YAED,cAAc;gBACb,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAG,CAAC;oBACjD,OAAO,CAAE,IAAI,CAAC,MAAM,EAAE,EAAG,GAAI,IAAI,CAAC,WAAW,EAAE,CAAE,CAAA;gBAClD,CAAC;qBAAM,CAAC;oBACP,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;gBAC1B,CAAC;YACF,CAAC;YAED,eAAe;gBACd,OAAO;oBACN,GAAI,IAAI,CAAC,cAAc,CAAE,IAAI,CAAC,KAAK,EAAE,CAAE;oBACvC,IAAI,CAAC,YAAY,EAAE;iBACa,CAAA;YAClC,CAAC;YAED,YAAY;gBACX,OAAO;oBACN,GAAI,IAAI,CAAC,WAAW,EAAE;oBACtB,GAAI,CAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,KAAK,CAAC,CAAE,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,UAAU,EAAE,CAAE,CAAC,CAAC,CAAC,EAAE;iBACzE,CAAA;YACF,CAAC;SAED;QAhFA;YADE,QAAQ;yDAKT;QAOD;YADE,QAAQ;kDAGT;QAGD;YADE,QAAQ;2DAST;QAYD;YADE,QAAQ;yDAeT;QArDW,cAAW,cAmFvB,CAAA;IACF,CAAC,EA1FW,EAAE,GAAF,IAAE,KAAF,IAAE,QA0Fb;AAAD,CAAC,EA1FS,CAAC,KAAD,CAAC,QA0FV;;;;AC1FD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,4BAA4B,EAC5D,igCAAigC,CACjgC,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAyjBV;AAzjBD,WAAU,CAAC;IACV,MAAa,aAAc,SAAQ,UAAU;QAQ5C,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;YAEtC,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,OAAO,CAAC,IAAU;YACjB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,KAAK,CAAC,EAAO;YACZ,OAAO,EACe,CAAA;QACvB,CAAC;QAQD,aAAa,CAAC,IAAU;YACvB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,MAAM,CAAA;QACd,CAAC;QAOD,IAAI;YACH,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,IAAI;YACH,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,IAAI;YACH,OAAO,KAAK,CAAA;QACb,CAAC;QAQD,MAAM,CAAC,IAAU;YAChB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,MAAM,CAAA;QACd,CAAC;QAQD,MAAM,CAAC,IAAU;YAChB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,MAAM,CAAA;QACd,CAAC;QAQD,MAAM,CAAC,IAAU;YAChB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,MAAM,CAAA;QACd,CAAC;QAiBD,QAAQ;YACP,OAAO;gBACN,SAAS;gBACT,MAAM;gBACN,SAAS;gBACT,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,MAAM;aACY,CAAA;QACpB,CAAC;QAgBD,cAAc;YACb,OAAO;gBACN,eAAe;gBACf,cAAc;gBACd,eAAe;gBACf,gBAAgB;gBAChB,iBAAiB;gBACjB,gBAAgB;gBAChB,gBAAgB;gBAChB,gBAAgB;gBAChB,cAAc;aACI,CAAA;QACpB,CAAC;QASD,KAAK;YACJ,OAAO;gBACN,IAAI,CAAC,IAAI,EAAE;gBACX,IAAI,CAAC,KAAK,EAAE;aACM,CAAA;QACpB,CAAC;QAOD,UAAU;YACT,OAAO,EAAE,CAAA;QACV,CAAC;QAQD,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,SAAS;YACR,OAAO,CAAC,CAAA;QACT,CAAC;QAQD,WAAW;YACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,SAAS,EAAE;aACE,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,aAAa,CAAC,EAAO;YACpB,OAAO,EAAE,CAAA;QACV,CAAC;QAQD,aAAa,CAAC,EAAO;YACpB,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC;gBAClB,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;aACR,CAAA,CAAA;YAE3B,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,SAAS;YACR,OAAO,CAAC,CAAA;QACT,CAAC;QAQD,WAAW;YACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,SAAS,EAAE;aACE,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;QAUD,kBAAkB;YACjB,OAAO;gBACN,IAAI,CAAC,WAAW,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBACvB,IAAI,CAAC,WAAW,EAAE;aACA,CAAA;QACpB,CAAC;QAQD,cAAc;YACb,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAA;YAE1C,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,UAAU;YACT,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,cAAc,EAAE;aACH,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;QASD,SAAS;YACR,OAAO;gBACN,IAAI,CAAC,IAAI,EAAE;gBACX,IAAI,CAAC,UAAU,EAAE;aACC,CAAA;QACpB,CAAC;QAOD,IAAI;YACH,OAAO,IAAW,CAAA;QACnB,CAAC;QAWD,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YACnC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;YACjC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YAE5B,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,UAAU,CAAC,IAAU;YACpB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,KAAK,CAAA;QACb,CAAC;QAWD,UAAU;YACT,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAA;YAEvC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,+BAA+B,CAAE,CAAA;YAC3E,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,gCAAgC,CAAE,CAAA;YAC7E,GAAG,CAAC,OAAO,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YAEnD,OAAO,GAAG,CAAA;QACX,CAAC;QAUD,gBAAgB;YACf,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;YAErC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,sCAAsC,CAAE,CAAA;YACnF,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YAErC,OAAO,GAAG,CAAA;QACX,CAAC;QAiBD,UAAU;YACT,OAAO;gBACN,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,+BAA+B,CAAE;gBAChE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,8BAA8B,CAAE;gBAC9D,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,+BAA+B,CAAE;gBAChE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,8BAA8B,CAAE;gBAC9D,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,8BAA8B,CAAE;gBAC9D,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,+BAA+B,CAAE;gBAChE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,+BAA+B,CAAE;gBAChE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,+BAA+B,CAAE;gBAChE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,gCAAgC,CAAE;gBAClE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,+BAA+B,CAAE;aACvC,CAAA;QAC3B,CAAC;QAUD,cAAc;YACb,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC7C,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YAExC,OAAO,GAAG,CAAA;QACX,CAAC;QAUD,aAAa;YACZ,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;YAErC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,mCAAmC,CAAE,CAAA;YAChF,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;YAEzC,OAAO,GAAG,CAAA;QACX,CAAC;QAUD,cAAc;YACb,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC7C,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YAExC,OAAO,GAAG,CAAA;QACX,CAAC;QAUD,aAAa;YACZ,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;YAErC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,mCAAmC,CAAE,CAAA;YAChF,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;YAEzC,OAAO,GAAG,CAAA;QACX,CAAC;QAUD,cAAc;YACb,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC7C,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YAExC,OAAO,GAAG,CAAA;QACX,CAAC;QAUD,aAAa;YACZ,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;YAErC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,mCAAmC,CAAE,CAAA;YAChF,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;YAEzC,OAAO,GAAG,CAAA;QACX,CAAC;QAcD,KAAK;YACJ,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,2BAA2B,CAAE,CAAA;YACxE,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,gBAAgB,EAAE;gBACvB,IAAI,CAAC,aAAa,EAAE;gBACpB,IAAI,CAAC,aAAa,EAAE;gBACpB,IAAI,CAAC,aAAa,EAAE;aACF,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;KACD;IA9iBA;QADE,QAAQ;6CAKT;IAQD;QADE,QAAQ;gDAIT;IAkBD;QADE,QAAQ;sDAIT;IAmCD;QADE,QAAQ;+CAIT;IAQD;QADE,QAAQ;+CAIT;IAQD;QADE,QAAQ;+CAIT;IAyFD;QADE,QAAQ;6CAKT;IAiBD;QADE,QAAQ;oDAST;IAiBD;QADE,YAAY;sDASb;IAiBD;QADE,QAAQ;oDAST;IAwBD;QADE,QAAQ;uDAOT;IAQD;QADE,QAAQ;mDAST;IAkCD;QADE,QAAQ;6CAST;IAQD;QADE,QAAQ;mDAIT;IAWD;QADE,QAAQ;mDAST;IAUD;QADE,QAAQ;yDAQT;IAwCD;QADE,QAAQ;uDAQT;IAUD;QADE,QAAQ;sDAQT;IAUD;QADE,QAAQ;uDAQT;IAUD;QADE,QAAQ;sDAQT;IAUD;QADE,QAAQ;uDAQT;IAUD;QADE,QAAQ;sDAQT;IAcD;QADE,QAAQ;8CAaT;IArjBW,eAAa,gBAsjBzB,CAAA;AAEF,CAAC,EAzjBS,CAAC,KAAD,CAAC,QAyjBV;;;;ACzjBD,IAAU,CAAC,CAaV;AAbD,WAAU,CAAC;IAMC,mBAAiB,GAAG,CAAE,GAAa,EAAE,EAAE;QAEjD,IAAI,OAAO,GAAG,KAAK,SAAS;YAAG,OAAO,GAAG,CAAA;QAEzC,OAAO,SAAS,CAAE,IAAI,eAAe,CAAE,GAAI,GAAI,mBAAmB,CAAE,CAAE,CAAA;IACvE,CAAC,CAAA;AAEF,CAAC,EAbS,CAAC,KAAD,CAAC,QAaV;;;;ACbD,IAAU,CAAC,CAkBV;AAlBD,WAAU,CAAC;IAMV,SAAgB,kBAAkB,CAAiC,GAAS;QAE3E,OAAO,eAAe,CAAE,CAAE,GAA+B,EAAG,EAAE;YAE7D,IAAI,GAAG,KAAK,IAAI;gBAAG,OAAO,IAAI,CAAA;YAE9B,OAAO,GAAG,CAAE,GAAG,CAAqB,CAAA;QAErC,CAAC,EAAG,GAAG,CAAE,CAAA;IAEV,CAAC;IAVe,oBAAkB,qBAUjC,CAAA;AAEF,CAAC,EAlBS,CAAC,KAAD,CAAC,QAkBV;;;;AClBD,IAAU,CAAC,CAUV;AAVD,WAAU,CAAC;IAEV,MAAa,OAAQ,SAAQ,YAAY;QAGjC,AAAP,MAAM,CAAC,GAAG;YACT,OAAO,WAAW,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,EAAS,CAAA;QACzE,CAAC;KAED;IAJO;QADL,QAAQ;4BAGT;IALW,SAAO,UAOnB,CAAA;AACF,CAAC,EAVS,CAAC,KAAD,CAAC,QAUV;;;;ACVD,IAAU,CAAC,CA8BV;AA9BD,WAAU,CAAC;IAAC,IAAA,EAAE,CA8Bb;IA9BW,WAAA,EAAE;QAEA,wBAAqB,GAAG;YACpC,KAAK,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC;YAC7R,MAAM,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC;YAC9S,MAAM,EAAC,CAAC,CAAC,EAAC,WAAW,EAAC,UAAU,EAAC,UAAU,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,GAAG,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,CAAC;YAC9mC,KAAK,EAAC,CAAC,CAAC,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,SAAS,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,CAAC;YAClnC,KAAK,EAAC,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,CAAC,EAAC,IAAI,EAAC,KAAK,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;YAC5Z,MAAM,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,CAAC;YACpc,MAAM,EAAC,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;YACxe,MAAM,EAAC,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,GAAG,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,CAAC;YAC1f,OAAO,EAAC,CAAC,CAAC,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,GAAG,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,IAAI,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,CAAC;YACzmC,MAAM,EAAC,CAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,I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","sourcesContent":[null,"Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\n\texport const $mol_ambient_ref : unique symbol = Symbol( '$mol_ambient_ref' )\n\n\t/** @deprecated use $ instead */\n\texport type $mol_ambient_context = $\n\n\texport function $mol_ambient( this : $ | void , overrides : Partial< $ > ) : $ {\n\t\treturn Object.setPrototypeOf( overrides , this || $ )\n\t}\n\n}\n","namespace $ {\n\n\tconst instances = new WeakSet< any >()\n\n\t/**\n\t * Proxy that delegates all to lazy returned target.\n\t * \n\t * \t$mol_delegate( Array.prototype , ()=> fetch_array() )\n\t */\n export function $mol_delegate< Value extends object >(\n\t\tproto : Value ,\n\t\ttarget : ()=> Value ,\n\t) {\n\n\t\tconst proxy = new Proxy( proto , {\n\n\t\t\tget: ( _ , field )=> {\n\t\t\t\tconst obj = target()\n\t\t\t\tlet val = Reflect.get( obj , field )\n\t\t\t\tif( typeof val === 'function' ) {\n\t\t\t\t\tval = val.bind( obj )\n\t\t\t\t} \n\t\t\t\treturn val\n\t\t\t},\n\t\t\thas: ( _ , field )=> Reflect.has( target(), field ),\n\t\t\tset: ( _ , field , value )=> Reflect.set( target() , field , value ),\n\t\t\t\n\t\t\tgetOwnPropertyDescriptor: ( _ , field )=> Reflect.getOwnPropertyDescriptor( target() , field ),\n\t\t\townKeys: ()=> Reflect.ownKeys( target() ),\n\t\t\t\n\t\t\tgetPrototypeOf: ()=> Reflect.getPrototypeOf( target() ),\n\t\t\tsetPrototypeOf: ( _ , donor )=> Reflect.setPrototypeOf( target() , donor ),\n\t\t\t\n\t\t\tisExtensible: ()=> Reflect.isExtensible( target() ),\n\t\t\tpreventExtensions: ()=> Reflect.preventExtensions( target() ),\n\t\t\t\n\t\t\tapply: ( _ , self , args )=> Reflect.apply( target() as Function , self , args ),\n\t\t\tconstruct: ( _ , args , retarget )=> Reflect.construct( target() as Function , args , retarget ),\n\t\t\t\n\t\t\tdefineProperty: ( _ , field , descr )=> Reflect.defineProperty( target() , field , descr ),\n\t\t\tdeleteProperty: ( _ , field )=> Reflect.deleteProperty( target() , field ),\n\n\t\t} )\n\n\t\tinstances.add( proxy )\n\n\t\treturn proxy\n\n\t}\n\n\tReflect.defineProperty(\n\t\t$mol_delegate ,\n\t\tSymbol.hasInstance ,\n\t\t{\n\t\t\tvalue : ( obj : object )=> instances.has( obj ),\n\t\t},\n\t)\n\n}\n","namespace $ {\n\n\texport const $mol_owning_map = new WeakMap< any , any >()\n\n\texport function $mol_owning_allow< Having >(\n\t\thaving : Having ,\n\t) : having is Having & {\n\t\tdestructor() : void\n\t} {\n\t\ttry {\n\t\t\tif( !having ) return false\n\t\t\tif( typeof having !== 'object' && typeof having !== 'function' ) return false\n\t\t\tif( having instanceof $mol_delegate ) return false\n\t\t\tif( typeof (having as any)['destructor'] !== 'function' ) return false\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n\texport function $mol_owning_get< Having , Owner extends object >( having : Having , Owner? : { new() : Owner } ) : Owner | null {\n\t\n\t\tif( !$mol_owning_allow( having ) ) return null\n\n\t\twhile( true ) {\n\n\t\t\tconst owner = $mol_owning_map.get( having )\n\t\t\tif( !owner ) return owner\n\t\t\tif( !Owner ) return owner\n\t\t\t\n\t\t\tif( owner instanceof Owner ) return owner\n\n\t\t\thaving = owner\n\t\t}\n\n\t}\n\t\n\texport function $mol_owning_check< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) : having is Having & { destructor() : void } {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) !== owner ) return false\n\t\treturn true\n\t}\n\t\n\texport function $mol_owning_catch< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) ) return false\n\n\t\t$mol_owning_map.set( having , owner )\n\t\treturn true\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail_hidden( error : any ) : never {\n\t\tthrow error /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script\n\t}\n\n}\n","namespace $ {\n\t\n\tconst named = new WeakSet< Function >()\n\t\n\texport function $mol_func_name( this : $ , func : Function ) : string {\n\t\t\n\t\tlet name = func.name\n\t\tif( name?.length > 1 ) return name\n\t\tif( named.has( func ) ) return name\n\n\t\tfor( let key in this ) {\n\t\t\ttry {\n\t\t\t\tif( (this as any)[ key ] !== func ) continue\n\t\t\t\tname = key\n\t\t\t\tObject.defineProperty( func , 'name' , { value : name } )\n\t\t\t\tbreak\n\t\t\t} catch {}\n\t\t}\n\n\t\tnamed.add( func )\n\t\treturn name\n\t\t\n\t}\n\n\texport function $mol_func_name_from< Target extends Function >( target : Target , source : Function ) {\n\t\tObject.defineProperty( target , 'name' , { value : source.name } )\n\t\treturn target\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_object2 {\n\t\t\n\t\tstatic $ = $ as any as $\n\t\t\n\t\t[Symbol.toStringTag]!: string\n\n\t\t[ $mol_ambient_ref ] = null as any as $\n\t\tget $() {\n\t\t\tif( this[ $mol_ambient_ref ] ) return this[ $mol_ambient_ref ]\n\t\t\tconst owner = $mol_owning_get( this ) as any\n\t\t\treturn this[ $mol_ambient_ref ] = owner?.$ || $mol_object2.$ as $\n\t\t}\n\t\tset $( next : $ ) {\n\t\t\tif( this[ $mol_ambient_ref ] ) $mol_fail_hidden( new Error( 'Context already defined' ) )\n\t\t\tthis[ $mol_ambient_ref ] = next\n\t\t}\n\n\t\tpublic static create< Instance >(\n\t\t\tthis : new( init? : ( instance : any )=> void )=> Instance ,\n\t\t\tinit? : ( instance : $mol_type_writable )=> void\n\t\t) : Instance {\n\t\t\tconst obj = new this\n\t\t\tif( init ) init( obj )\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn ( this as any )[ Symbol.toStringTag ] || this.$.$mol_func_name( this )\n\t\t}\n\t\t\n\t\tstatic toJSON() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tdestructor() { }\n\t\tstatic destructor() { }\n\t\t\n\t\t//[ Symbol.toPrimitive ]( hint: string ) {\n\t\t//\treturn hint === 'number' ? this.valueOf() : this.toString()\n\t\t//}\n\t\t\n\t\ttoString(): string {\n\t\t\treturn this[ Symbol.toStringTag ] || this.constructor.name + '<>'\n\t\t}\n\t\t\n\t\t// toJSON(): any {\n\t\t// \treturn this.toString()\n\t\t// }\n\n\t}\n}\n","namespace $ {\n\n\texport namespace $$ { let $ }\n\n\texport const $mol_object_field = Symbol( '$mol_object_field' )\n\t\n\texport class $mol_object extends $mol_object2 {\n\t\t\n\t\tpublic static make< This extends typeof $mol_object >(\n\t\t\tthis: This,\n\t\t\tconfig: Partial< InstanceType< This > >,\n\t\t) {\n\t\t\treturn super.create( obj => {\n\t\t\t\tfor( let key in config ) ( obj as any )[ key ] = config[ key ]!\n\t\t\t} ) as InstanceType< This >\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\texport class $mol_window extends $mol_object {\n\t\t\n\t\tstatic size() {\n\t\t\treturn {\n\t\t\t\twidth: 1024,\n\t\t\t\theight: 768,\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** Special status statuses. */\n\texport enum $mol_wire_cursor {\n\t\t\n\t\t/** Update required. */\n\t\tstale = -1,\n\t\t\n\t\t/** Some of (transitive) pub update required. */\n\t\tdoubt = -2,\n\t\t\n\t\t/** Actual state but may be dropped. */\n\t\tfresh = -3,\n\t\t\n\t\t/** State will never be changed. */\n\t\tfinal = -4,\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Collects subscribers in compact array. 28B\n\t */\n\texport class $mol_wire_pub extends Object {\n\t\t\n\t\tdata = [] as unknown[]\n\t\t\n\t\t// Derived objects should be Arrays.\n\t\tstatic get [ Symbol.species ]() {\n\t\t\treturn Array\n\t\t}\n\t\t\n\t\t/**\n\t\t * Index of first subscriber.\n\t\t */\n\t\tprotected sub_from = 0 // 4B\n\t\t\n\t\t/**\n\t\t * All current subscribers.\n\t\t */\n\t\tget sub_list() {\n\t\t\tconst res = [] as $mol_wire_sub[]\n\t\t\tfor( let i = this.sub_from; i < this.data.length; i += 2 ) {\n\t\t\t\tres.push( this.data[i] as $mol_wire_sub )\n\t\t\t}\n\t\t\treturn res as readonly $mol_wire_sub[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * Has any subscribers or not.\n\t\t */\n\t\tget sub_empty() {\n\t\t\treturn this.sub_from === this.data.length\n\t\t}\n\t\t\n\t\t/**\n\t\t * Subscribe subscriber to this publisher events and return position of subscriber that required to unsubscribe.\n\t\t */\n\t\tsub_on( sub: $mol_wire_pub, pub_pos: number ) {\n\t\t\tconst pos = this.data.length\n\t\t\tthis.data.push( sub, pub_pos )\n\t\t\treturn pos\n\t\t}\n\t\t\n\t\t/**\n\t\t * Unsubscribe subscriber from this publisher events by subscriber position provided by `on(pub)`.\n\t\t */\n\t\tsub_off( sub_pos: number ) {\n\t\t\t\n\t\t\tif(!( sub_pos < this.data.length )) {\n\t\t\t\t$mol_fail( new Error( `Wrong pos ${ sub_pos }` ) )\n\t\t\t}\n\t\t\t\n\t\t\tconst end = this.data.length - 2\n\t\t\tif( sub_pos !== end ) {\n\t\t\t\tthis.peer_move( end, sub_pos )\n\t\t\t}\n\t\t\t\n\t\t\tthis.data.pop()\n\t\t\tthis.data.pop()\n\t\t\t\n\t\t\tif( this.data.length === this.sub_from ) this.reap()\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Called when last sub was unsubscribed.\n\t\t **/\n\t\treap() { }\n\t\t\n\t\t/**\n\t\t * Autowire this publisher with current subscriber.\n\t\t **/\n\t\tpromote() {\n\t\t\t$mol_wire_auto()?.track_next( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Enforce actualization. Should not throw errors.\n\t\t */\n\t\tfresh() {}\n\t\t\n\t\t/**\n\t\t * Allow to put data to caches in the subtree.\n\t\t */\n\t\tcomplete() {}\n\t\t\n\t\tget incompleted() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * Notify subscribers about self changes.\n\t\t */\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tfor( let i = this.sub_from; i < this.data.length; i += 2 ) {\n\t\t\t\t;( this.data[i] as $mol_wire_sub ).absorb( quant )\n\t\t\t}\n\t\t}\n\t\t\n\t\t/**\n\t\t * Moves peer from one position to another. Doesn't clear data at old position!\n\t\t */\n\t\tpeer_move( from_pos: number, to_pos: number ) {\n\t\t\t\n\t\t\tconst peer = this.data[ from_pos ] as $mol_wire_pub\n\t\t\tconst self_pos = this.data[ from_pos + 1 ] as number\n\t\t\t\n\t\t\tthis.data[ to_pos ] = peer\n\t\t\tthis.data[ to_pos + 1 ] = self_pos\n\t\t\t\n\t\t\tpeer.peer_repos( self_pos, to_pos )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Updates self position in the peer.\n\t\t */\n\t\tpeer_repos( peer_pos: number, self_pos: number ) {\n\t\t\tthis.data[ peer_pos + 1 ] = self_pos\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport let $mol_wire_auto_sub: $mol_wire_sub | null = null\n\t\n\t/**\n\t * When fulfilled, all publishers are promoted to this subscriber on access to its.\n\t */\n\texport function $mol_wire_auto( next = $mol_wire_auto_sub ) {\n\t\treturn $mol_wire_auto_sub = next\n\t}\n\t\n\t/**\n\t * Affection queue. Used to prevent accidental stack overflow on emit.\n\t */\n\texport const $mol_wire_affected = [] as ( $mol_wire_sub | number )[]\n\t\n}\n","namespace $ {\n\n\t// https://docs.google.com/document/d/1FTascZXT9cxfetuPRT2eXPQKXui4nWFivUnS_335T3U/preview#\n\t($ as any)['devtoolsFormatters'] ||= []\n\n\texport function $mol_dev_format_register( config : {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> false\n\t} | {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> boolean\n\t\tbody : ( val : any , config : any )=> any\n\t} ) {\n\t\t($ as any)['devtoolsFormatters'].push( config )\n\t}\n\n\texport let $mol_dev_format_head = Symbol( '$mol_dev_format_head' )\n\texport let $mol_dev_format_body = Symbol( '$mol_dev_format_body' )\n\n\t$mol_dev_format_register({\n\n\t\theader : ( val : any , config = false ) => {\n\t\t\t\n\t\t\tif( config ) return null\n\n\t\t\tif( !val ) return null\n\t\t\t\n\t\t\tif( $mol_dev_format_head in val ) {\n\t\t\t\ttry {\n\t\t\t\t\treturn val[ $mol_dev_format_head ]()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\treturn $mol_dev_format_accent( $mol_dev_format_native( val ), '💨', $mol_dev_format_native( error ), '' )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( typeof val === 'function' ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\tif( Symbol.toStringTag in val ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t\t\n\t\t} ,\n\t\t\n\t\thasBody : val => val[ $mol_dev_format_body ] ,\n\n\t\tbody : val => val[ $mol_dev_format_body ]() ,\n\n\t})\n\n\texport function $mol_dev_format_native( obj : any ) {\n\t\t\n\t\tif( typeof obj === 'undefined' ) return $mol_dev_format_shade( 'undefined' )\n\t\t\n\t\t// if( ![ 'object', 'function', 'symbol' ].includes( typeof obj ) ) return obj\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : true ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_auto( obj : any ) {\n\t\t\n\t\tif( obj == null ) return $mol_dev_format_shade( String( obj ) )\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : false ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_element( element : string , style : object , ...content : any[] ) {\n\t\t\t\n\t\tconst styles = [] as string[]\n\t\t\n\t\tfor( let key in style ) styles.push( `${ key } : ${ (style as any)[key] }` )\n\t\t\n\t\treturn [\n\t\t\telement ,\n\t\t\t{\n\t\t\t\tstyle : styles.join( ' ; ' ) ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_span( style : object , ...content : any[] ) {\n\t\treturn $mol_dev_format_element(\n\t\t\t'span' ,\n\t\t\t{\n\t\t\t\t// 'vertical-align' : '8%',\n\t\t\t\t... style ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t)\n\t}\n\n\texport let $mol_dev_format_div = $mol_dev_format_element.bind( null , 'div' )\n\texport let $mol_dev_format_ol = $mol_dev_format_element.bind( null , 'ol' )\n\texport let $mol_dev_format_li = $mol_dev_format_element.bind( null , 'li' )\n\texport let $mol_dev_format_table = $mol_dev_format_element.bind( null , 'table' )\n\texport let $mol_dev_format_tr = $mol_dev_format_element.bind( null , 'tr' )\n\texport let $mol_dev_format_td = $mol_dev_format_element.bind( null , 'td' )\n\n\texport let $mol_dev_format_accent = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'magenta' ,\n\t} )\n\n\texport let $mol_dev_format_strong = $mol_dev_format_span.bind( null , {\n\t\t'font-weight' : 'bold' ,\n\t} )\n\n\texport let $mol_dev_format_string = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'green',\n\t} )\n\n\texport let $mol_dev_format_shade = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'gray',\n\t} )\n\n\texport let $mol_dev_format_indent = $mol_dev_format_div.bind( null , {\n\t\t'margin-left': '13px'\n\t} )\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Publisher that can auto collect other publishers. 32B\n\t * \n\t * \tP1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^\n\t * \tpubs_from subs_from\n\t */\n\texport class $mol_wire_pub_sub extends $mol_wire_pub implements $mol_wire_sub {\n\t\t\n\t\tprotected pub_from = 0 // 4B\n\t\tprotected cursor = $mol_wire_cursor.stale // 4B\n\t\t\n\t\tget temp() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\tget pub_list() {\n\t\t\tconst res = [] as $mol_wire_pub[]\n\t\t\tconst max = this.cursor >=0 ? this.cursor : this.sub_from\n\t\t\tfor( let i = this.pub_from; i < max; i += 2 ) {\n\t\t\t\tif( this.data[i] ) res.push( this.data[i] as $mol_wire_pub )\n\t\t\t}\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttrack_on() {\n\t\t\tthis.cursor = this.pub_from\n\t\t\tconst sub = $mol_wire_auto()\n\t\t\t$mol_wire_auto( this )\n\t\t\treturn sub\n\t\t}\n\t\t\n\t\tpromote() {\n\t\t\t\n\t\t\tif( this.cursor >= this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Circular subscription' ) )\n\t\t\t}\n\t\t\t\n\t\t\tsuper.promote()\n\t\t}\n\t\t\n\t\ttrack_next( pub?: $mol_wire_pub ): $mol_wire_pub | null {\n\t\t\t\n\t\t\tif( this.cursor < 0 ) $mol_fail( new Error( 'Promo to non begun sub' ) )\n\t\t\t\n\t\t\tif( this.cursor < this.sub_from ) {\n\t\t\t\n \t\t\t\tconst next = this.data[ this.cursor ] as $mol_wire_pub | undefined\n\t\t\t\tif( pub === undefined ) return next ?? null\n\t\t\t\t\n\t\t\t\tif( next === pub ) {\n\t\t\t\t\tthis.cursor += 2\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( next ) {\n\t\t\t\t\t\n\t\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\t\tthis.peer_move( this.sub_from, this.data.length )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.peer_move( this.cursor, this.sub_from )\n\t\t\t\t\tthis.sub_from += 2\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tif( pub === undefined ) return null\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.sub_from, this.data.length )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.sub_from += 2\n\t\t\t\t\n\t\t\t}\t\t\t\n\t\t\t\n\t\t\tthis.data[ this.cursor ] = pub\n\t\t\tthis.data[ this.cursor + 1 ] = pub.sub_on( this, this.cursor )\n\t\t\t\n\t\t\tthis.cursor += 2\n\t\t\t\n\t\t\treturn pub\n\t\t}\n\t\t\n\t\ttrack_off( sub: $mol_wire_sub | null ) {\n\t\t\t\n\t\t\t$mol_wire_auto( sub )\n\t\t\t\n\t\t\tif( this.cursor < 0 ) {\n\t\t\t\t$mol_fail( new Error( 'End of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < this.cursor;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tpub.fresh()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t}\n\t\t\n\t\tpub_off( sub_pos: number ) {\n\t\t\tthis.data[ sub_pos ] = undefined as any\n\t\t\tthis.data[ sub_pos + 1 ] = undefined as any \n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.data.length - 2;\n\t\t\t\tcursor >= this.sub_from;\n\t\t\t\tcursor -= 2\n\t\t\t) {\n\t\t\t\tconst sub = this.data[ cursor ] as $mol_wire_sub\n\t\t\t\tconst pos = this.data[ cursor + 1 ] as number\n\t\t\t\tsub.pub_off( pos )\n\t\t\t\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = this.pub_from\n\t\t\tthis.track_cut()\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t\t\n\t\t}\n\t\t\n\t\ttrack_cut() {\n\t\t\t\n\t\t\tif( this.cursor < this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Cut of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tlet tail = 0\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.cursor;\n\t\t\t\tcursor < this.sub_from;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\t\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub | undefined\n\t\t\t\tpub?.sub_off( this.data[ cursor + 1 ] as number )\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.data.length - 2, cursor )\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t} else {\n\t\t\t\t\t++ tail\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor(; tail; -- tail ) {\n\t\t\t\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\n\t\t\t\n\t\t\tthis.sub_from = this.cursor\n\t\t\t\n\t\t}\n\t\t\n\t\tcomplete() { }\n\t\t\n\t\tcomplete_pubs() {\n\t\t\t\n\t\t\tconst limit = this.cursor < 0 ? this.sub_from : this.cursor \n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < limit;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tif( pub?.incompleted ) return \n\t\t\t}\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < limit;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tpub?.complete()\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tabsorb( quant = $mol_wire_cursor.stale ) {\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\tif( this.cursor >= quant ) return\n\t\t\t\n\t\t\tthis.cursor = quant\n\t\t\tthis.emit( $mol_wire_cursor.doubt )\n\t\t\t\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_native( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Is subscribed to any publisher or not.\n\t\t */\n\t\tget pub_empty() {\n\t\t\treturn this.sub_from === this.pub_from\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_timeout extends $mol_object2 {\n\n\t\tid : any\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = setTimeout( task , delay )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tclearTimeout( this.id )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_frame extends $mol_after_timeout {\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper( 16 , task )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_promise_like( val: any ): val is Promise {\n\t\treturn val && typeof val === 'object' && 'then' in val && typeof val.then === 'function'\n\t}\n\n}\n","namespace $ {\n\t\n\tconst handled = new WeakSet< Promise< unknown > >()\n\t\n\t/**\n\t * Suspendable task with support both sync/async api.\n\t * \n\t * \tA1 A2 A3 A4 P1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^ ^\n\t * \targs_from pubs_from subs_from\n\t **/\n\texport abstract class $mol_wire_fiber<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_pub_sub {\n\t\n\t\tstatic warm = true\n\t\t\n\t\tstatic planning = new Set< $mol_wire_fiber< any, any, any > >()\n\t\tstatic reaping = new Set< $mol_wire_fiber< any, any, any > >()\n\t\t\n\t\tstatic plan_task: $mol_after_frame | null = null\n\t\tstatic plan() {\n\t\t\t\n\t\t\tif( this.plan_task ) return\n\t\t\t\n\t\t\tthis.plan_task = new $mol_after_frame( ()=> {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tthis.sync()\n\t\t\t\t} finally {\n\t\t\t\t\t$mol_wire_fiber.plan_task = null\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic sync() {\n\t\t\t\n\t\t\t// Sync whole fiber graph\n\t\t\twhile( this.planning.size ) {\n\t\t\t\tfor( const fiber of this.planning ) {\n\t\t\t\t\tthis.planning.delete( fiber )\n\t\t\t\t\tif( fiber.cursor >= 0 ) continue\n\t\t\t\t\tif( fiber.cursor === $mol_wire_cursor.final ) continue\n\t\t\t\t\tfiber.fresh()\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// Collect garbage\n\t\t\twhile( this.reaping.size ) {\n\t\t\t\t\n\t\t\t\tconst fibers = this.reaping\n\t\t\t\tthis.reaping = new Set\n\t\t\t\t\n\t\t\t\tfor( const fiber of fibers ) {\n\t\t\t\t\tif( !fiber.sub_empty ) continue\n\t\t\t\t\tfiber.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t[Symbol.toStringTag]!: string\n\n\t\tpublic cache: Result | Error | Promise< Result | Error > = undefined as any\n\t\t\n\t\tget args() {\n\t\t\treturn this.data.slice( 0 , this.pub_from ) as any as Args\n\t\t}\n\t\t\n\t\tresult() {\n\t\t\tif( $mol_promise_like( this.cache ) ) return\n\t\t\tif( this.cache instanceof Error ) return\n\t\t\treturn this.cache\n\t\t}\n\t\t\n\t\tget incompleted() {\n\t\t\treturn $mol_promise_like( this.cache )\n\t\t}\n\t\t\n\t\tfield() {\n\t\t\treturn this.task.name + '<>'\n\t\t}\n\t\t\n\t\tconstructor(\n\t\t\tid: string,\n\t\t\treadonly task: ( this : Host , ... args : Args )=> Result,\n\t\t\treadonly host?: Host,\n\t\t\targs?: Args\n\t\t) {\n\t\t\t\n\t\t\tsuper()\n\t\t\tif( args ) this.data.push( ... args )\n\t\t\tthis.pub_from = this.sub_from = args?.length ?? 0\n\t\t\tthis[ Symbol.toStringTag ] = id\n\t\t\t\n\t\t}\n\t\t\n\t\tplan() {\n\t\t\t$mol_wire_fiber.planning.add( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t}\n\t\t\n\t\treap() {\n\t\t\t$mol_wire_fiber.reaping.add( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t}\n\t\t\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\t[ $mol_dev_format_head ]() {\n\t\t\t\n\t\t\tconst cursor = {\n\t\t\t\t[ $mol_wire_cursor.stale ]: '🔴',\n\t\t\t\t[ $mol_wire_cursor.doubt ]: '🟡',\n\t\t\t\t[ $mol_wire_cursor.fresh ]: '🟢',\n\t\t\t\t[ $mol_wire_cursor.final ]: '🔵',\n\t\t\t}[ this.cursor ] ?? this.cursor.toString()\n\t\t\t\n\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t$mol_owning_check( this, this.cache )\n\t\t\t\t\t? $mol_dev_format_auto({\n\t\t\t\t\t\t[ $mol_dev_format_head ]: ()=> $mol_dev_format_shade( cursor ),\n\t\t\t\t\t\t[ $mol_dev_format_body ]: ()=> $mol_dev_format_native( this ),\n\t\t\t\t\t})\n\t\t\t\t\t: $mol_dev_format_shade( $mol_dev_format_native( this ), cursor ),\n\t\t\t\t$mol_dev_format_auto( this.cache ),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tget $() {\n\t\t\treturn ( this.host ?? this.task as any )['$']\n\t\t}\n\t\t\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tif( this.sub_empty ) this.plan()\n\t\t\telse super.emit( quant )\n\t\t}\n\t\t\n\t\tfresh() {\n\n\t\t\ttype Result = typeof this.cache\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.fresh ) return\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\t\n\t\t\tcheck: if( this.cursor === $mol_wire_cursor.doubt ) {\n\t\t\t\t\n\t\t\t\tfor( let i = this.pub_from ; i < this.sub_from; i += 2 ) {\n\t\t\t\t\t;( this.data[i] as $mol_wire_pub )?.fresh()\n\t\t\t\t\tif( this.cursor !== $mol_wire_cursor.doubt ) break check\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\treturn\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst bu = this.track_on()\n\t\t\tlet result: typeof this.cache\n\n\t\t\ttry {\n\n\t\t\t\tswitch( this.pub_from ) {\n\t\t\t\t\tcase 0: result = (this.task as any).call( this.host! ); break\n\t\t\t\t\tcase 1: result = (this.task as any).call( this.host!, this.data[0] ); break\n\t\t\t\t\tdefault: result = (this.task as any).call( this.host!, ... this.args ); break\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst put = ( res: Result )=> {\n\t\t\t\t\t\tif( this.cache === result ) this.put( res )\n\t\t\t\t\t\treturn res\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tresult = Object.assign( result.then( put, put ), {\n\t\t\t\t\t\tdestructor: (result as any)['destructor'] ?? (()=> {})\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t\thandled.add( result )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tif( error instanceof Error || $mol_promise_like( error ) ) {\n\t\t\t\t\tresult = error\n\t\t\t\t} else {\n\t\t\t\t\tresult = new Error( String( error ), { cause: error } )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( result ) && !handled.has( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tresult = Object.assign( result.finally( ()=> {\n\t\t\t\t\t\tif( this.cache === result ) this.absorb()\n\t\t\t\t\t} ), {\n\t\t\t\t\t\tdestructor: (result as any)['destructor'] ?? (()=> {})\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t\thandled.add( result )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( ! $mol_promise_like( result ) ) {\n\t\t\t\tthis.track_cut()\n\t\t\t}\n\t\t\t\n\t\t\tthis.track_off( bu )\n\t\t\tthis.put( result )\n\n\t\t}\n\t\t\n\t\trefresh() {\n\t\t\tthis.cursor = $mol_wire_cursor.stale\n\t\t\tthis.fresh()\n\t\t}\n\t\t\n\t\tabstract put( next: Result | Error | Promise< Result | Error > ): Result | Error | Promise< Result | Error >\n\t\t\n\t\t/**\n\t\t * Synchronous execution. Throws Promise when waits async task (SuspenseAPI provider).\n\t\t * Should be called inside SuspenseAPI consumer (ie fiber).\n\t\t */\n\t\tsync() {\n\t\t\t\n\t\t\tif( !$mol_wire_fiber.warm ) {\n\t\t\t\treturn this.result() as Awaited< Result >\n\t\t\t}\n\t\t\t\n\t\t\tthis.promote()\n\t\t\tthis.fresh()\n\t\t\t\n\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\tif( $mol_promise_like( this.cache ) ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.cache as Awaited< Result >\n\t\t}\n\n\t\t/**\n\t\t * Asynchronous execution.\n\t\t * It's SuspenseAPI consumer. So SuspenseAPI providers can be called inside.\n\t\t */\n\t\tasync async() {\n\t\t\t\n\t\t\twhile( true ) {\n\t\t\t\t\n\t\t\t\tthis.fresh()\n\t\t\t\t\n\t\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\t\t$mol_fail_hidden( this.cache )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( ! $mol_promise_like( this.cache ) ) return this.cache\n\t\t\t\t\t\n\t\t\t\tawait Promise.race([ this.cache, this.step() ])\n\t\t\t\tif( ! $mol_promise_like( this.cache ) ) return this.cache\n\t\t\t\t\t\n\t\t\t\tif( this.cursor === $mol_wire_cursor.final ) {\n\t\t\t\t\t// never ends on destructed fiber\n\t\t\t\t\tawait new Promise( ()=> {} )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tstep() {\n\t\t\treturn new Promise< null >( done => {\n\t\t\t\tconst sub = new $mol_wire_pub_sub\n\t\t\t\tconst prev = sub.track_on()\n\t\t\t\tsub.track_next( this )\n\t\t\t\tsub.track_off( prev )\n\t\t\t\tsub.absorb = ()=> {\n\t\t\t\t\tdone( null )\n\t\t\t\t\tsub.destructor()\n\t\t\t\t}\n\t\t\t} )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Generates unique identifier. */\n\texport function $mol_guid(\n\t\tlength = 8,\n\t\texists: ( id: string )=> boolean = ()=> false,\n\t) {\n\n\t\tfor(;;) {\n\n\t\t\tlet id = Math.random().toString( 36 ).substring( 2, length + 2 ).toUpperCase()\n\t\t\tif( exists( id ) ) continue\n\t\t\t\n\t\t\treturn id\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport const $mol_key_store = new WeakMap< object, string >()\n\n\t/** Returns string key for any value. */\n\texport function $mol_key< Value >( value : Value ) : string {\n\t\t\n\t\tif( typeof value === 'bigint' ) return value.toString() + 'n'\n\t\tif( typeof value === 'symbol' ) return value.description!\n\t\tif( !value ) return JSON.stringify( value )\n\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return JSON.stringify( value )\n\t\t\n\t\treturn JSON.stringify( value, ( field, value )=> {\n\t\t\t\n\t\t\tif( typeof value === 'bigint' ) return value.toString() + 'n'\n\t\t\tif( typeof value === 'symbol' ) return value.description\n\t\t\tif( !value ) return value\n\t\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return value\n\t\t\tif( Array.isArray( value ) ) return value\n\t\t\t\n\t\t\tconst proto = Reflect.getPrototypeOf( value )\n\t\t\tif( !proto ) return value\n\t\t\tif( Reflect.getPrototypeOf( proto ) === null ) return value\n\t\t\t\n\t\t\tif( 'toJSON' in value ) return value\n\t\t\tif( value instanceof RegExp ) return value.toString()\n\t\t\tif( value instanceof Uint8Array ) return [ ... value ]\n\t\t\t\n\t\t\tlet key = $mol_key_store.get( value )\n\t\t\tif( key ) return key\n\t\t\t\n\t\t\tkey = $mol_guid()\n\t\t\t$mol_key_store.set( value, key )\n\t\t\t\n\t\t\treturn key\n\t\t} )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport let $mol_compare_deep_cache = new WeakMap< any , WeakMap< any , boolean > >()\n\t\n\t/**\n\t * Deeply compares two values. Returns true if equal.\n\t * Define `Symbol.toPrimitive` to customize.\n\t */\n\texport function $mol_compare_deep< Value >( left: Value, right: Value ): boolean {\n\n\t\tif( Object.is( left , right ) ) return true\n\n\t\tif( left === null ) return false\n\t\tif( right === null ) return false\n\n\t\tif( typeof left !== 'object' ) return false\n\t\tif( typeof right !== 'object' ) return false\n\n\t\tconst left_proto = Reflect.getPrototypeOf( left as any )\n\t\tconst right_proto = Reflect.getPrototypeOf( right as any )\n\t\t\n\t\tif( left_proto !== right_proto ) return false\n\n\t\tif( left instanceof Boolean ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Number ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof String ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Date ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof RegExp ) return left.source === (right as any).source && left.flags === (right as any).flags\n\t\tif( left instanceof Error ) return left.message === (right as any).message && left.stack === (right as any).stack\n\n\t\tlet left_cache = $mol_compare_deep_cache.get( left )\n\t\tif( left_cache ) {\n\n\t\t\tconst right_cache = left_cache.get( right )\n\t\t\tif( typeof right_cache === 'boolean' ) return right_cache\n\n\t\t} else {\n\t\t\t\n\t\t\tleft_cache = new WeakMap< any , boolean >([[ right, true ]])\n\t\t\t$mol_compare_deep_cache.set( left , left_cache )\n\n\t\t}\n\n\t\tlet result!: boolean\n\n\t\ttry {\n\t\t\t\n\t\t\tif( !left_proto ) result = compare_pojo( left, right as any )\n\t\t\telse if( !Reflect.getPrototypeOf( left_proto ) ) result = compare_pojo( left, right as any )\n\t\t\telse if( Symbol.toPrimitive in left ) result = compare_primitive( left, right )\n\t\t\telse if( Array.isArray( left ) ) result = compare_array( left, right as any )\n\t\t\telse if( left instanceof Set ) result = compare_set( left, right as any )\n\t\t\telse if( left instanceof Map ) result = compare_map( left, right as any )\n\t\t\telse if( ArrayBuffer.isView( left ) ) result = compare_buffer( left, right as any )\n\t\t\telse if( Symbol.iterator in left ) result = compare_iterator( ( left as any )[ Symbol.iterator ](), ( right as any )[ Symbol.iterator ]() )\n\t\t\telse result = false\n\n\t\t} finally {\n\t\t\tleft_cache.set( right , result )\n\t\t}\n\t\t\n\t\treturn result\n\t}\n\n\tfunction compare_array< Value extends any[] >( left: Value, right: Value ): boolean {\n\t\t\n\t\tconst len = left.length\n\t\tif( len !== right.length ) return false\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( !$mol_compare_deep( left[i] , right[i] ) ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_buffer( left: ArrayBufferView, right: ArrayBufferView ): boolean {\n\t\t\n\t\tconst len = left.byteLength\n\t\tif( len !== right.byteLength ) return false\n\t\t\n\t\tif( left instanceof DataView ) return compare_buffer(\n\t\t\tnew Uint8Array( left.buffer, left.byteOffset, left.byteLength ),\n\t\t\tnew Uint8Array( right.buffer, left.byteOffset, left.byteLength ),\n\t\t)\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( (left as any)[i] !== (right as any)[i] ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_iterator< Value extends IterableIterator >(\n\t\tleft: Value,\n\t\tright: Value,\n\t): boolean {\n\t\t\n\t\twhile( true ) {\n\n\t\t\tconst left_next = left.next()\n\t\t\tconst right_next = right.next()\n\n\t\t\tif( left_next.done !== right_next.done ) return false\n\t\t\tif( left_next.done ) break\n\n\t\t\tif( !$mol_compare_deep( left_next.value , right_next.value ) ) return false\n\n\t\t}\n\n\t\treturn true\n\n\t}\n\t\n\tfunction compare_set< Value extends Set >( left: Value, right: Value ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_map< Key, Value >( left: Map< Key, Value > , right: Map< Key, Value > ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.keys(), right.keys() )\n\t\t\t&& compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_pojo( left: {}, right: {} ): boolean {\n\t\t\n\t\tconst left_keys = Object.getOwnPropertyNames( left )\n\t\tconst right_keys = Object.getOwnPropertyNames( right )\n\t\t\n\t\tif( !compare_array( left_keys, right_keys ) ) return false\n\n\t\tfor( let key of left_keys ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\tconst left_syms = Object.getOwnPropertySymbols( left )\n\t\tconst right_syms = Object.getOwnPropertySymbols( right )\n\t\t\n\t\tif( !compare_array( left_syms, right_syms ) ) return false\n\n\t\tfor( let key of left_syms ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\treturn true\n\t}\n\t\n\tfunction compare_primitive( left: {}, right: {} ): boolean {\n\t\treturn Object.is(\n\t\t\t(left as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t\t(right as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t)\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Logger event data */\n\texport type $mol_log3_event< Fields > = {\n\t\t[ key in string ] : unknown\n\t} & {\n\t\t\n\t\t/** Time of event creation */\n\t\ttime? : string\n\n\t\t/** Place of event creation */\n\t\tplace : unknown\n\n\t\t/** Short description of event */\n\t\tmessage : string\n\n\t} & Fields\n\n\t/** Logger function */\n\texport type $mol_log3_logger< Fields , Res = void > = (\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event< Fields > ,\n\t)=> Res\n\n\t/** Log begin of some task */\n\texport declare let $mol_log3_come : $mol_log3_logger<{}>\n\t\n\t/** Log end of some task */\n\texport declare let $mol_log3_done : $mol_log3_logger<{}>\n\t\n\t/** Log error */\n\texport declare let $mol_log3_fail : $mol_log3_logger<{}>\n\t\n\t/** Log warning message */\n\texport declare let $mol_log3_warn : $mol_log3_logger<{ hint : string }>\n\t\n\t/** Log some generic event */\n\texport declare let $mol_log3_rise : $mol_log3_logger<{}>\n\n\t/** Log begin of log group, returns func to close group */\n\texport declare let $mol_log3_area : $mol_log3_logger< {} , ()=> void >\n\n\t/** Log begin of collapsed group only when some logged inside, returns func to close group */\n\texport function $mol_log3_area_lazy(\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event<{}> ,\n\t) {\n\n\t\tconst self = this\n\t\tconst stack = self.$mol_log3_stack\n\n\t\tconst deep = stack.length\n\t\tlet logged = false\n\n\t\tstack.push( ()=> {\n\t\t\tlogged = true\n\t\t\tself.$mol_log3_area.call( self , event )\n\t\t} )\n\n\t\treturn ()=> {\n\t\t\tif( logged ) self.console.groupEnd()\n\t\t\tif( stack.length > deep ) stack.length = deep\n\t\t}\n\n\t}\n\n\texport let $mol_log3_stack = [] as ( ()=> void )[]\n\n}\n","namespace $ {\n\n\t/** Position in any resource. */\n\texport class $mol_span extends $mol_object2 {\n\n\t\tconstructor(\n\t\t\treadonly uri: string ,\n\t\t\treadonly source: string ,\n\t\t\treadonly row: number ,\n\t\t\treadonly col: number ,\n\t\t\treadonly length: number ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis[ Symbol.toStringTag ] = `${ this.uri }#${ this.row }:${ this.col }/${ this.length }`\n\t\t}\n\n\t\t/** Span for begin of unknown resource */\n\t\tstatic unknown = $mol_span.begin('?')\n\n\t\t/** Makes new span for begin of resource. */\n\t\tstatic begin( uri: string, source = '' ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for end of resource. */\n\t\tstatic end( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , source.length + 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for entire resource. */\n\t\tstatic entire( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , source.length )\n\t\t}\n\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn {\n\t\t\t\turi: this.uri,\n\t\t\t\trow: this.row,\n\t\t\t\tcol: this.col,\n\t\t\t\tlength: this.length\n\t\t\t}\n\t\t}\n\n\t\t/** Makes new error for this span. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn new Class( `${message} (${this})` )\n\t\t}\n\n\t\t/** Makes new span for same uri. */\n\t\tspan( row : number , col : number , length : number ) {\n\t\t\treturn new $mol_span( this.uri , this.source, row , col , length )\n\t\t}\n\n\t\t/** Makes new span after end of this. */\n\t\tafter( length = 0 ) {\n\t\t\treturn new $mol_span( this.uri , this.source, this.row , this.col + this.length , length )\n\t\t}\n\n\t\t/** Makes new span between begin and end. */\n\t\tslice( begin: number, end = -1 ) {\n\t\t\tlet len = this.length\n\t\t\t\n\t\t\tif( begin < 0 ) begin += len\n\t\t\tif( end < 0 ) end += len\n\n\t\t\tif (begin < 0 || begin > len) this.$.$mol_fail( this.error( `Begin value '${begin}' out of range`, RangeError ) )\n\t\t\tif (end < 0 || end > len) this.$.$mol_fail( this.error( `End value '${end}' out of range`, RangeError ) )\n\t\t\tif (end < begin) this.$.$mol_fail( this.error( `End value '${end}' can't be less than begin value`, RangeError ) )\n\n\t\t\treturn this.span( this.row , this.col + begin , end - begin )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Serializes tree to string in tree format. */\n\texport function $mol_tree2_to_string(\n\t\tthis: $,\n\t\ttree: $mol_tree2,\n\t) : string {\n\n\t\tlet output = [] as string[]\n\t\t\n\t\tfunction dump(\n\t\t\ttree: $mol_tree2,\n\t\t\tprefix = '',\n\t\t) {\n\n\t\t\tif( tree.type.length ) {\n\t\t\t\t\n\t\t\t\tif( !prefix.length ) {\n\t\t\t\t\tprefix = \"\\t\";\n\t\t\t\t}\n\n\t\t\t\toutput.push( tree.type )\n\n\t\t\t\tif( tree.kids.length == 1 ) {\n\t\t\t\t\toutput.push( ' ' )\n\t\t\t\t\tdump( tree.kids[ 0 ], prefix )\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\toutput.push( \"\\n\" )\n\n\t\t\t} else if( tree.value.length || prefix.length ) {\n\n\t\t\t\toutput.push( \"\\\\\" + tree.value + \"\\n\" )\n\n\t\t\t}\n\n\t\t\tfor( const kid of tree.kids ) {\n\t\t\t\toutput.push( prefix )\n\t\t\t\tdump( kid, prefix + \"\\t\" )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tdump( tree )\n\n\t\treturn output.join('')\n\t}\n\t\t\n}\n","namespace $ {\n\n\t/** Path by types in tree. */\n\texport type $mol_tree2_path =\n\t\tArray< string | number | null >\n\t\n\t/** Hask tool for processing node. */\n\texport type $mol_tree2_hack< Context > =\n\t\t(\n\t\t\tinput : $mol_tree2 ,\n\t\t\tbelt : $mol_tree2_belt< Context > ,\n\t\t\tcontext : Context ,\n\t\t)=> readonly $mol_tree2[]\n\n\t/** Collection of hask tools for processing tree. */\n\texport type $mol_tree2_belt< Context > =\n\t\tRecord< string , $mol_tree2_hack< Context > >\n\n\t/**\n\t * Abstract Syntax Tree with human readable serialization.\n\t * Avoid direct instantiation. Use static factories instead.\n\t * @see https://github.com/nin-jin/tree.d\n\t */\n\texport class $mol_tree2 extends Object {\n\t\t\n\t\tconstructor(\n\n\t\t\t/** Type of structural node, `value` should be empty */\n\t\t\treadonly type : string,\n\t\t\t\n\t\t\t/** Content of data node, `type` should be empty */\n\t\t\treadonly value : string,\n\n\t\t\t/** Child nodes */\n\t\t\treadonly kids : readonly $mol_tree2[],\n\t\t\t\n\t\t\t/** Position in most far source resource */\n\t\t\treadonly span : $mol_span,\n\n\t\t) {\n\t\t\tsuper()\n\t\t\t;(this as any)[ Symbol.toStringTag ] = type || '\\\\' + value\n\t\t}\n\n\t\t/** Makes collection node. */\n\t\tstatic list(\n\t\t\tkids : readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\t\t\treturn new $mol_tree2( '' , '' , kids , span )\n\t\t}\n\t\t\n\t\t/** Makes new derived collection node. */\n\t\tlist(\n\t\t\tkids : readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.list( kids , this.span )\n\t\t}\n\n\t\t/** Makes data node for any string. */\n\t\tstatic data(\n\t\t\tvalue : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\n\t\t\tconst chunks = value.split( '\\n' )\n\n\t\t\tif( chunks.length > 1 ) {\n\t\t\t\n\t\t\t\tlet kid_span = span.span( span.row , span.col , 0 )\n\n\t\t\t\tconst data = chunks.map( chunk => {\n\t\t\t\t\tkid_span = kid_span.after( chunk.length )\n\t\t\t\t\treturn new $mol_tree2( '' , chunk , [] , kid_span )\n\t\t\t\t} )\n\n\t\t\t\tkids = [ ... data , ... kids ]\n\n\t\t\t\tvalue = ''\n\n\t\t\t}\n\n\t\t\treturn new $mol_tree2( '' , value , kids , span )\n\n\t\t}\n\t\t\n\t\t/** Makes new derived data node. */\n\t\tdata(\n\t\t\tvalue : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.data( value , kids , this.span )\n\t\t}\n\t\t\n\t\t/** Makes struct node. */\n\t\tstatic struct(\n\t\t\ttype : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\n\t\t\tif( /[ \\n\\t\\\\]/.test( type ) ) {\n\t\t\t\t$$.$mol_fail( span.error( `Wrong type ${ JSON.stringify( type ) }` ) )\n\t\t\t}\n\n\t\t\treturn new $mol_tree2( type , '' , kids , span )\n\n\t\t}\n\t\t\n\t\t/** Makes new derived structural node. */\n\t\tstruct(\n\t\t\ttype : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.struct( type , kids , this.span )\n\t\t}\n\n\t\t/** Makes new derived node with different kids id defined. */\n\t\tclone( kids : readonly $mol_tree2[], span = this.span ) {\n\t\t\treturn new $mol_tree2( this.type , this.value , kids , span )\n\t\t}\n\n\t\t/** Returns multiline text content. */\n\t\ttext() {\n\n\t\t\tvar values : string[] = []\n\t\t\t\n\t\t\tfor( var kid of this.kids ) {\n\t\t\t\tif( kid.type ) continue\n\t\t\t\tvalues.push( kid.value )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.value + values.join( '\\n' )\n\n\t\t}\n\t\t\n\t\t/** Parses tree format. */\n\t\t/** @deprecated Use $mol_tree2_from_string */\n\t\tstatic fromString( str : string , uri = 'unknown' ) {\n\t\t\treturn $$.$mol_tree2_from_string( str, uri )\n\t\t}\n\n\t\t/** Serializes to tree format. */\n\t\ttoString() : string {\n\t\t\treturn $$.$mol_tree2_to_string( this )\n\t\t}\n\t\t\n\t\t/** Makes new tree with node overrided by path. */\n\t\tinsert( value : $mol_tree2 | null , ...path : $mol_tree2_path ) : $mol_tree2 {\n\n\t\t\tif( path.length === 0 ) return value!\n\t\t\t\n\t\t\tconst type = path[0]\n\t\t\tif( typeof type === 'string' ) {\n\n\t\t\t\tlet replaced = false\n\t\t\t\tconst sub = this.kids.map( ( item , index )=> {\n\t\t\t\t\tif( item.type !== type ) return item\n\t\t\t\t\treplaced = true\n\t\t\t\t\treturn item.insert( value , ... path.slice( 1 ) )\n\t\t\t\t} ).filter( Boolean )\n\t\t\t\t\n\t\t\t\tif( !replaced && value ) {\n\t\t\t\t\tsub.push( this.struct( type , [] ).insert( value , ... path.slice( 1 ) ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn this.clone( sub )\n\n\t\t\t} else if( typeof type === 'number' ) {\n\t\t\t\t\n\t\t\t\tconst sub = this.kids.slice()\n\t\t\t\tsub[ type ] = ( sub[ type ] || this.list([]) )\n\t\t\t\t\t.insert( value , ... path.slice( 1 ) )\n\t\t\t\t\n\t\t\t\treturn this.clone( sub.filter( Boolean ) )\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst kids = ( ( this.kids.length === 0 ) ? [ this.list([]) ] : this.kids )\n\t\t\t\t.map( item => item.insert( value , ... path.slice( 1 ) ) )\n\t\t\t\t.filter( Boolean )\n\n\t\t\t\treturn this.clone( kids )\n\n\t\t\t}\n\n\t\t}\n\n\t\t/** Query nodes by path. */\n\t\tselect( ...path : $mol_tree2_path ) {\n\n\t\t\tlet next = [ this as $mol_tree2 ]\n\n\t\t\tfor( const type of path ) {\n\n\t\t\t\tif( !next.length ) break\n\t\t\t\t\n\t\t\t\tconst prev = next\n\t\t\t\tnext = []\n\n\t\t\t\tfor( var item of prev ) {\n\n\t\t\t\t\tswitch( typeof( type ) ) {\n\n\t\t\t\t\t\tcase 'string' :\n\n\t\t\t\t\t\t\tfor( var child of item.kids ) {\n\t\t\t\t\t\t\t\tif( child.type == type ) {\n\t\t\t\t\t\t\t\t\tnext.push( child )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase 'number' :\n\n\t\t\t\t\t\t\tif( type < item.kids.length ) next.push( item.kids[ type ] )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\n\t\t\t\t\t\tdefault : next.push( ... item.kids )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.list( next )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Filter kids by path or value. */\n\t\tfilter( path : string[] , value? : string ) {\n\n\t\t\tconst sub = this.kids.filter( item => {\n\t\t\t\t\t\n\t\t\t\tvar found = item.select( ...path )\n\t\t\t\t\n\t\t\t\tif( value === undefined ) {\n\t\t\t\t\treturn Boolean( found.kids.length )\n\t\t\t\t} else {\n\t\t\t\t\treturn found.kids.some( child => child.value == value )\n\t\t\t\t}\n\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t\treturn this.clone( sub )\n\n\t\t}\n\n\t\t/** Transform tree through context with transformers */\n\t\thack< Context extends { span?: $mol_span; [ key: string ]: unknown } = {} >(\n\t\t\tbelt: $mol_tree2_belt< Context >,\n\t\t\tcontext = {} as Context,\n\t\t) {\n\t\t\t\n\t\t\treturn ( [] as readonly $mol_tree2[] ).concat( ... this.kids.map( child => {\n\n\t\t\t\tlet handle = belt[ child.type ] || belt[ '' ]\n\t\t\t\t\n\t\t\t\tif( !handle || handle === Object.prototype[ child.type as keyof Object ] ) {\n\t\t\t\t\thandle = ( input, belt, context )=> [\n\t\t\t\t\t\tinput.clone( input.hack( belt, context ), context.span )\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\treturn handle( child , belt , context! )\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\terror.message += `\\n${ child.clone([]) }${ child.span }`\n\t\t\t\t\t$mol_fail_hidden( error )\n\t\t\t\t}\n\n\t\t\t} ) )\n\n\t\t}\n\n\t\t/** Makes Error with node coordinates. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn this.span.error( `${ message }\\n${ this.clone([]) }` , Class )\n\t\t}\n\n\t}\n\n\texport class $mol_tree2_empty extends $mol_tree2 {\n\t\tconstructor() {\n\t\t\tsuper( '' , '' , [] , $mol_span.unknown )\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Syntax error with cordinates and source line snippet. */\n\texport class $mol_error_syntax extends SyntaxError {\n\t\tconstructor (\n\t\t\tpublic reason: string,\n\t\t\tpublic line: string,\n\t\t\tpublic span: $mol_span,\n\t\t) {\n\t\t\tsuper(`${ reason }\\n${ span }\\n${ line.substring( 0 , span.col - 1 ).replace( /\\S/g, ' ' ) }${ ''.padEnd( span.length, '!' ) }\\n${ line }`)\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Parses tree format from string. */\n\texport function $mol_tree2_from_string(\n\t\tthis: $,\n\t\tstr: string,\n\t\turi = '?',\n\t) : $mol_tree2 {\n\n\t\tconst span = $mol_span.entire( uri, str )\n\n\t\tvar root = $mol_tree2.list( [], span )\n\t\tvar stack = [ root ]\n\n\t\tvar pos = 0, row = 0, min_indent = 0\n\t\t\n\t\twhile( str.length > pos ) {\n\n\t\t\tvar indent = 0\n\t\t\tvar line_start = pos\n\n\t\t\trow++\n\n\t\t\t// read indent\n\t\t\twhile( str.length > pos && str[ pos ] == '\\t' ) {\n\t\t\t\tindent++\n\t\t\t\tpos++\n\t\t\t}\n\n\t\t\tif( ! root.kids.length ) {\n\t\t\t\tmin_indent = indent\n\t\t\t}\n\n\t\t\tindent -= min_indent\n\n\t\t\t// invalid tab size\n\t\t\tif( indent < 0 || indent >= stack.length ) {\n\n\t\t\t\tconst sp = span.span( row, 1, pos - line_start )\n\n\t\t\t\t// skip error line\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( indent < 0 ) {\n\t\t\t\t\tif( str.length > pos ) {\n\t\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t\t`Too few tabs`,\n\t\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\t\tsp,\n\t\t\t\t\t\t) )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Too many tabs`,\n\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tstack.length = indent + 1\n\t\t\tvar parent = stack[ indent ]\n\n\t\t\t// parse types\n\t\t\twhile( str.length > pos && str[ pos ] != '\\\\' && str[ pos ] != '\\n' ) {\n\n\t\t\t\t// type can not contain space and tab\n\t\t\t\tvar error_start = pos\n\t\t\t\twhile( str.length > pos && ( str[ pos ] == ' ' || str[ pos ] == '\\t' ) ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( pos > error_start ) {\n\t\t\t\t\tlet line_end = str.indexOf( '\\n' , pos )\n\t\t\t\t\tif( line_end === -1 ) line_end = str.length\n\t\t\t\t\tconst sp = span.span( row, error_start - line_start + 1, pos - error_start )\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Wrong nodes separator`,\n\t\t\t\t\t\tstr.substring( line_start, line_end ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t\t// read type\n\t\t\t\tvar type_start = pos\n\t\t\t\twhile( \n\t\t\t\t\tstr.length > pos && \n\t\t\t\t\tstr[ pos ] != '\\\\' && \n\t\t\t\t\tstr[ pos ] != ' ' && \n\t\t\t\t\tstr[ pos ] != '\\t' && \n\t\t\t\t\tstr[ pos ] != '\\n'\n\t\t\t\t) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tif( pos > type_start ) {\n\t\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t\tstr.slice( type_start , pos ),\n\t\t\t\t\t\t'',\n\t\t\t\t\t\t[],\n\t\t\t\t\t\tspan.span( row, type_start - line_start + 1, pos - type_start ),\n\t\t\t\t\t)\n\t\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\t\tparent_kids.push( next )\n\t\t\t\t\tparent = next\n\t\t\t\t}\n\n\t\t\t\t// read one space if exists\n\t\t\t\tif( str.length > pos && str[ pos ] == ' ' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// read data\n\t\t\tif( str.length > pos && str[ pos ] == '\\\\' ) {\n\t\t\t\tvar data_start = pos\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t'',\n\t\t\t\t\tstr.slice( data_start + 1 , pos ),\n\t\t\t\t\t[],\n\t\t\t\t\tspan.span( row, data_start - line_start + 2, pos - data_start - 1 ),\n\t\t\t\t)\n\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\tparent_kids.push( next )\n\t\t\t\tparent = next\n\t\t\t}\n\n\t\t\t// now must be end of text\n\t\t\tif( str.length === pos && stack.length > 0 ) {\n\t\t\t\tconst sp = span.span( row, pos - line_start + 1, 1 )\n\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t`Unexpected EOF, LF required`,\n\t\t\t\t\tstr.substring( line_start, str.length ),\n\t\t\t\t\tsp,\n\t\t\t\t) )\n\t\t\t}\n\n\t\t\tstack.push( parent )\n\t\t\tpos++\n\t\t}\n\n\t\treturn root\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_tree2_from_json( json: any, span = $mol_span.unknown ): $mol_tree2 {\n\n\t\tif( typeof json === 'boolean' || typeof json === 'number' || json === null ) {\n\t\t\treturn new $mol_tree2( String( json ) , '' , [] , span )\n\t\t}\n\t\t\n\t\tif( typeof json === 'string' ) {\n\t\t\treturn $mol_tree2.data( json , [], span )\n\t\t}\n\n\t\tif( Array.isArray( json ) ) {\n\t\t\tconst sub = json.map( json => $mol_tree2_from_json( json , span ) )\n\t\t\treturn new $mol_tree2( '/' , '', sub, span )\n\t\t}\n\t\t\n\t\tif( ArrayBuffer.isView( json ) ) {\n\t\t\tconst buf = new Uint8Array( json.buffer, json.byteOffset, json.byteLength )\n\t\t\treturn $mol_tree2.data( String.fromCharCode( ... buf ) , [], span )\n\t\t}\n\t\t\t\n\t\tif( json instanceof Date ) {\n\t\t\treturn new $mol_tree2( '', json.toISOString() , [] , span )\n\t\t}\n\n\t\tif( typeof json.toJSON === 'function' ) {\n\t\t\treturn $mol_tree2_from_json( json.toJSON() )\n\t\t}\n\n\t\tif( json.toString !== Object.prototype.toString ) {\n\t\t\treturn $mol_tree2.data( json.toString() , [], span )\n\t\t}\n\n\t\tif( json instanceof Error ) {\n\t\t\tconst { name , message , stack } = json\n\t\t\tjson = { ... json, name, message, stack }\n\t\t}\n\n\t\tconst sub = [] as $mol_tree2[]\n\t\t\n\t\tfor( var key in json ) {\n\n\t\t\tconst val = json[ key ]\n\n\t\t\tif( val === undefined ) continue\n\n\t\t\tconst subsub = $mol_tree2_from_json( val, span )\n\t\t\t\n\t\t\tif( /^[^\\n\\t\\\\ ]+$/.test( key ) ) {\n\t\t\t\tsub.push( new $mol_tree2( key, '', [ subsub ], span ) )\n\t\t\t} else {\n\t\t\t\tsub.push( $mol_tree2.data( key, [ subsub ], span ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn new $mol_tree2( '*' , '', sub , span )\n\t\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Module for working with terminal. Text coloring when output in terminal */\n\texport class $mol_term_color {\n\t\t\n\t\tstatic reset = this.ansi( 0, 0 )\n\t\tstatic bold = this.ansi( 1, 22 )\n\t\tstatic italic = this.ansi( 3, 23 )\n\t\tstatic underline = this.ansi( 4, 24 )\n\t\tstatic inverse = this.ansi( 7, 27 )\n\t\tstatic hidden = this.ansi( 8, 28 )\n\t\tstatic strike = this.ansi( 9, 29 )\n\t\t\n\t\tstatic gray = this.ansi( 90, 39 )\n\t\tstatic red = this.ansi( 91, 39 )\n\t\tstatic green = this.ansi( 92, 39 )\n\t\tstatic yellow = this.ansi( 93, 39 )\n\t\tstatic blue = this.ansi( 94, 39 )\n\t\tstatic magenta = this.ansi( 95, 39 )\n\t\tstatic cyan = this.ansi( 96, 39 )\n\t\t\n\t\tstatic Gray = ( str: string )=> this.inverse( this.gray( str ) )\n\t\tstatic Red = ( str: string )=> this.inverse( this.red( str ) )\n\t\tstatic Green = ( str: string )=> this.inverse( this.green( str ) )\n\t\tstatic Yellow = ( str: string )=> this.inverse( this.yellow( str ) )\n\t\tstatic Blue = ( str: string )=> this.inverse( this.blue( str ) )\n\t\tstatic Magenta = ( str: string )=> this.inverse( this.magenta( str ) )\n\t\tstatic Cyan = ( str: string )=> this.inverse( this.cyan( str ) )\n\t\t\n\t\tstatic ansi( open: number, close: number ) {\n\t\n\t\t\tif( typeof process === 'undefined' ) return String\n\t\t\tif( !process.stdout.isTTY ) return String\n\t\t\n\t\t\tconst prefix = `\\x1b[${open}m`\n\t\t\tconst postfix = `\\x1b[${close}m`\n\t\t\t\n\t\t\tconst suffix_regexp = new RegExp( postfix.replace( '[', '\\\\[' ), 'g' )\n\t\t\n\t\t\treturn function colorer( str: string ) {\n\t\t\n\t\t\t\tstr = String( str )\n\t\t\t\tif( str === '' ) return str\n\t\t\n\t\t\t\tconst suffix = str.replace( suffix_regexp, prefix )\n\t\t\t\treturn prefix + suffix + postfix\n\t\t\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_log3_node_make(\n\t\tlevel : keyof Console ,\n\t\toutput : 'stdout' | 'stderr',\n\t\ttype : string ,\n\t\tcolor: ( str: string )=> string ,\n\t) {\n\n\t\treturn function $mol_log3_logger(\n\t\t\tthis : $ ,\n\t\t\tevent : $mol_log3_event<{}> ,\n\t\t) {\n\n\t\t\tif( !event.time ) event = { time : new Date().toISOString() , ... event }\n\n\t\t\tlet tree = this.$mol_tree2_from_json( event )\n\t\t\ttree = tree.struct( type, tree.kids )\n\t\t\t\n\t\t\tlet str = color( tree.toString() )\n\t\t\t;( this.console[ level ] as any )( str )\n\t\n\t\t\tconst self = this\n\t\t\treturn ()=> self.console.groupEnd()\n\n\t\t}\n\n\t}\n\n\t$.$mol_log3_come = $mol_log3_node_make( 'info' , 'stdout' , 'come' , $mol_term_color.blue )\n\t$.$mol_log3_done = $mol_log3_node_make( 'info' , 'stdout' , 'done' , $mol_term_color.green )\n\t$.$mol_log3_fail = $mol_log3_node_make( 'error' , 'stderr' , 'fail' , $mol_term_color.red )\n\t$.$mol_log3_warn = $mol_log3_node_make( 'warn' , 'stderr' , 'warn' , $mol_term_color.yellow )\n\t$.$mol_log3_rise = $mol_log3_node_make( 'log' , 'stdout' , 'rise' , $mol_term_color.magenta )\n\t$.$mol_log3_area = $mol_log3_node_make( 'log' , 'stdout' , 'area' , $mol_term_color.cyan )\n\n}\n","namespace $ {\n\t\n\t/** One-shot fiber */\n\texport class $mol_wire_task<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_fiber< Host, Args, Result > {\n\t\t\n\t\tstatic getter<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\ttask: ( this : Host , ... args : Args )=> Result,\n\t\t): ( host: Host, args: Args )=> $mol_wire_task< Host, Args, Result > {\n\t\t\t\n\t\t\treturn function $mol_wire_task_get( host: Host, args: Args ) {\n\t\t\t\t\n\t\t\t\tconst sub = $mol_wire_auto()\n\t\t\t\tconst existen = sub?.track_next() as $mol_wire_task< Host, Args, Result > | undefined\n\t\t\t\t\n\t\t\t\treuse: if( existen ) {\n\t\t\t\t\t\n\t\t\t\t\tif( !existen.temp ) break reuse\n\t\t\t\t\t\n\t\t\t\t\tif( existen.host !== host ) break reuse\n\t\t\t\t\tif( existen.task !== task ) break reuse\n\t\t\t\t\tif( !$mol_compare_deep( existen.args, args ) ) break reuse\n\t\t\t\t\t\n\t\t\t\t\treturn existen\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst next = new $mol_wire_task( `${ (host as any)?.[ Symbol.toStringTag ] ?? host }.${ task.name }<#>`, task, host, args )\n\t\t\t\t\n\t\t\t\t// Disabled because non-idempotency is required for try-catch\n\t\t\t\tif( existen?.temp ) {\n\t\t\t\t\t$$.$mol_log3_warn({\n\t\t\t\t\t\tplace: '$mol_wire_task',\n\t\t\t\t\t\tmessage: `Non idempotency`,\n\t\t\t\t\t\texisten,\n\t\t\t\t\t\tnext,\n\t\t\t\t\t\thint: 'Ignore it',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tget temp() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\tcomplete() {\n\t\t\tif( $mol_promise_like( this.cache ) ) return\n\t\t\tthis.destructor()\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\tthis.cache = next\n\t\t\t\n\t\t\tif( $mol_promise_like( next ) ) {\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\tif( next !== prev ) this.emit()\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t\t\n\t\t\tif( this.sub_empty ) this.destructor()\n\t\t\telse if( next !== prev ) this.emit()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Decorates method to fiber to ensure it is executed only once inside other fiber.\n\t */\n\texport function $mol_wire_method<\n\t\tHost extends object,\n\t\tArgs extends readonly any[],\n\t>(\n\t\thost : Host,\n\t\tfield : PropertyKey,\n\t\tdescr? : TypedPropertyDescriptor< ( ... args: Args )=> any >,\n\t) {\n\t\t\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field ) as any\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\t\n\t\tif( typeof (sup as any)[ field ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : (sup as any)[ field ].name } )\n\t\t}\n\t\t\n\t\tconst temp = $mol_wire_task.getter( orig )\n\t\tconst value = function( this: Host, ... args: Args ) {\n\t\t\tconst fiber = temp( this ?? null as any, args )\n\t\t\treturn fiber.sync()\n\t\t}\n\t\t\n\t\tObject.defineProperty( value , 'name' , { value : orig.name + ' ' } )\n\t\t\n\t\tObject.assign( value, { orig } )\n\t\tconst descr2 = { ... descr, value }\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst catched = new WeakMap< any , boolean >()\n\n\texport function $mol_fail_catch( error: unknown ) {\n\t\t\n\t\tif( typeof error !== 'object' ) return false\n\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\tif( catched.get( error ) ) return false\n\t\t\n\t\tcatched.set( error , true )\n\t\treturn true\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_fail_log( error: unknown ) {\n\t\t\n\t\tif( $mol_promise_like( error ) ) return false\n\t\tif( !$mol_fail_catch( error ) ) return false\n\t\t\n\t\tconsole.error( error )\n\t\t\n\t\treturn true\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\t/** Long-living fiber. */\n\texport class $mol_wire_atom<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_fiber< Host, Args, Result > {\n\n\t\tstatic solo<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\thost: Host,\n\t\t\ttask: ( this: Host, ... args: Args )=> Result,\n\t\t): $mol_wire_atom< Host, Args, Result > {\n\t\t\t\n\t\t\tconst field = task.name + '<>'\n\t\t\t\n\t\t\tconst existen = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\tif( existen ) return existen\n\t\t\t\n\t\t\tconst prefix = (host as any)?.[ Symbol.toStringTag ] ?? ( host instanceof Function ? $$.$mol_func_name( host ) : host )\n\t\t\tconst key = `${ prefix }.${ field }`\n\t\t\t\n\t\t\tconst fiber = new $mol_wire_atom( key, task, host, [] as any as Args )\n\t\t\t;( host as any ?? task )[ field ] = fiber\n\t\t\t\n\t\t\treturn fiber\n\t\t}\n\t\t\n\t\tstatic plex<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\thost: Host,\n\t\t\ttask: ( this: Host , ... args: Args )=> Result,\n\t\t\tkey: Args[0],\n\t\t): $mol_wire_atom< Host, Args, Result > {\n\t\t\t\n\t\t\tconst field = task.name + '<>'\n\t\t\tlet dict = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\tconst prefix = (host as any)?.[ Symbol.toStringTag ] ?? ( host instanceof Function ? $$.$mol_func_name( host ) : host )\n\t\t\tconst key_str = $mol_key( key )\n\t\t\t\n\t\t\tif( dict ) {\n\t\t\t\tconst existen = dict.get( key_str )\n\t\t\t\tif( existen ) return existen\n\t\t\t} else {\n\t\t\t\tdict = ( host as any ?? task )[ field ] = new Map()\n\t\t\t}\n\t\t\t\n\t\t\tconst id = `${ prefix }.${ task.name }<${ key_str.replace( /^\"|\"$/g, \"'\" ) }>`\n\t\t\tconst fiber = new $mol_wire_atom( id, task, host, [ key ] as any as Args )\n\t\t\tdict.set( key_str, fiber )\n\t\t\t\n\t\t\treturn fiber\n\t\t}\n\t\t\n\t\tstatic watching = new Set< $mol_wire_atom< any, any, any > >()\n\t\tstatic watcher = null as $mol_after_frame | null\n\t\t\n\t\tstatic watch() {\n\t\t\n\t\t\t$mol_wire_atom.watcher = new $mol_after_frame( $mol_wire_atom.watch )\n\t\t\t\n\t\t\tfor( const atom of $mol_wire_atom.watching ) {\n\t\t\t\t\n\t\t\t\tif( atom.cursor === $mol_wire_cursor.final ) {\n\t\t\t\t\t$mol_wire_atom.watching.delete( atom )\n\t\t\t\t} else {\n\t\t\t\t\tatom.cursor = $mol_wire_cursor.stale\n\t\t\t\t\tatom.fresh()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twatch() {\n\t\t\t\n\t\t\tif( !$mol_wire_atom.watcher ) {\n\t\t\t\t$mol_wire_atom.watcher = new $mol_after_frame( $mol_wire_atom.watch )\n\t\t\t}\n\t\t\t\n\t\t\t$mol_wire_atom.watching.add( this )\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Update fiber value through another temp fiber.\n\t\t */\n\t\t@ $mol_wire_method\n\t\tresync( args: Args ) {\n\t\t\treturn this.put( this.task.call( this.host!, ... args ) )\n\t\t}\n\t\t\n\t\t@ $mol_wire_method\n\t\tonce() {\n\t\t\treturn this.sync()\n\t\t}\n\t\t\n\t\tchannel() {\n\t\t\treturn Object.assign( ( next?: $mol_type_foot< Args > )=> {\n\t\t\t\t\t\n\t\t\t\tif( next !== undefined ) return this.resync( [ ... this.args, next ] as any ) as never\n\t\t\t\tif( !$mol_wire_fiber.warm ) return this.result() as never\n\t\t\t\t\n\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\treturn this.once()\n\t\t\t\t} else {\n\t\t\t\t\treturn this.sync()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}, { atom: this as $mol_wire_atom< Host, Args, Result > } )\n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tsuper.destructor()\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\tprev.destructor()\n\t\t\t}\n\t\t\t\n\t\t\tif( this.pub_from === 0 ) {\n\t\t\t\t;( this.host as any ?? this.task )[ this.field() ] = null\n\t\t\t} else {\n\t\t\t\t;( this.host as any ?? this.task )[ this.field() ].delete( $mol_key( this.args[0] ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\t\n\t\t\tupdate: if( next !== prev ) {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tif( $mol_compare_deep( prev, next ) ) break update\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\t\tprev.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_owning_catch( this, next ) ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t(next as any)[ Symbol.toStringTag ] = (this as any)[ Symbol.toStringTag ]\n\t\t\t\t\t} catch { // Promises throw in strict mode\n\t\t\t\t\t\tObject.defineProperty( next, Symbol.toStringTag, { value: (this as any)[ Symbol.toStringTag ] } )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( !this.sub_empty ) this.emit()\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.cache = next\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t\tif( $mol_promise_like( next ) ) return next\n\t\t\t\n\t\t\tthis.complete_pubs()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\t/** Decorates solo object channel to [mol_wire_atom](../atom/atom.ts). */\n\texport function $mol_wire_solo< Args extends any[] >(\n\t\thost: object,\n\t\tfield: string,\n\t\tdescr?: TypedPropertyDescriptor< ( ... args: Args )=> any >\n\t) {\n\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\n\t\tif( typeof (sup as any)[ field ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : (sup as any)[ field ].name } )\n\t\t}\n\t\t\n\t\tconst descr2 = {\n\t\t\t... descr,\n\t\t\tvalue: function( this: typeof host, ... args: Args ){\n\t\t\t\n\t\t\t\tlet atom = $mol_wire_atom.solo( this, orig )\n\t\t\t\t\n\t\t\t\tif(( args.length === 0 )||( args[0] === undefined )) {\n\t\t\t\t\t\n\t\t\t\t\tif( !$mol_wire_fiber.warm ) return atom.result()\n\t\t\t\t\t\n\t\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\t\treturn atom.once()\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn atom.sync()\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn atom.resync( args )\t\n\t\t\t}\n\t\t}\n\t\t\n\t\tReflect.defineProperty( descr2.value , 'name' , { value : orig.name + ' ' } )\n\t\tReflect.defineProperty( descr2.value , 'length' , { value : orig.length } )\n\t\tObject.assign( descr2.value, { orig } )\n\t\t\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2 as any as TypedPropertyDescriptor< ( ... args: First_optional< Args > )=> any >\n\t}\n\n\ttype First_optional< Args extends any[] > = Args extends []\n\t\t? []\n\t\t: [ Args[0] | undefined, ... $mol_type_tail< Args > ]\n\n}\n","namespace $ {\n\t\n\t/** Reactive memoizing multiplexed property decorator. */\n\texport function $mol_wire_plex< Args extends [ any, ... any[] ] >(\n\t\thost: object,\n\t\tfield: string,\n\t\tdescr?: TypedPropertyDescriptor< ( ... args: Args )=> any >\n\t) {\n\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\n\t\tif( typeof (sup as any)[ field ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : (sup as any)[ field ].name } )\n\t\t}\n\t\t\n\t\tconst descr2 = {\n\t\t\t... descr,\n\t\t\tvalue: function( this: typeof host, ... args: Args ) {\n\t\t\t\n\t\t\t\tlet atom = $mol_wire_atom.plex( this, orig, args[0] )\n\t\t\t\t\n\t\t\t\tif(( args.length === 1 )||( args[1] === undefined )) {\n\t\t\t\t\t\n\t\t\t\t\tif( !$mol_wire_fiber.warm ) return atom.result()\n\t\t\t\t\t\n\t\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\t\treturn atom.once()\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn atom.sync()\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn atom.resync( args )\t\n\t\t\t}\n\t\t}\n\t\t\n\t\tReflect.defineProperty( descr2.value , 'name' , { value : orig.name + ' ' } )\n\t\tReflect.defineProperty( descr2.value , 'length' , { value : orig.length } )\n\t\tObject.assign( descr2.value, { orig } )\n\t\t\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Reactive memoizing solo property decorator from [mol_wire](../wire/README.md)\n\t * @example\n\t * '@' $mol_mem\n\t * name(next?: string) {\n\t * \treturn next ?? 'default'\n\t * }\n\t * @see https://mol.hyoo.ru/#!section=docs/=qxmh6t_sinbmb\n\t */\n\texport let $mol_mem = $mol_wire_solo\n\n\t/**\n\t * Reactive memoizing multiplexed property decorator [mol_wire](../wire/README.md)\n\t * @example\n\t * '@' $mol_mem_key\n\t * name(id: number, next?: string) {\n\t * return next ?? 'default'\n\t * }\n\t * @see https://mol.hyoo.ru/#!section=docs/=qxmh6t_sinbmb\n\t */\n\texport let $mol_mem_key = $mol_wire_plex\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","interface $node {\n\t[key:string]: any\n}\n\nvar $node = new Proxy( { require } as any , {\n\t\n\tget( target , name : string , wrapper ) {\n\n\t\tif( target[ name ] ) return target[ name ]\n\n\t\tconst mod = target.require( 'module' ) as typeof import( 'module' )\n\t\t\n\t\tif( mod.builtinModules.indexOf( name ) >= 0 ) return target.require( name )\n\t\tif( name[0] === '.' ) return target.require( name )\n\t\t\n\t\tconst path = target.require( 'path' ) as typeof import( 'path' )\n\t\tconst fs = target.require( 'fs' ) as typeof import( 'fs' )\n\n\t\tlet dir = path.resolve( '.' )\n\t\tconst suffix = `./node_modules/${ name }`\n\n\t\tconst $$ = ( $ as any )\n\t\t\n\t\twhile( !fs.existsSync( path.join( dir , suffix ) ) ) {\n\n\t\t\tconst parent = path.resolve( dir , '..' )\n\n\t\t\tif( parent === dir ) {\n\n\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', name )\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', '@types/' + name )\n\t\t\t\t} catch {}\n\n\t\t\t\tbreak\n\n\t\t\t} else {\n\n\t\t\t\tdir = parent\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\ttry {\n\t\t\treturn target.require( name )\n\t\t} catch( error ) {\n\t\t\t$.$mol_fail_log( error )\n\t\t\treturn null\n\t\t}\n\n\t},\n\n\tset( target , name : string , value ) {\n\t\ttarget[ name ] = value\n\t\treturn true\n\t},\n\n} ) as $node\n\nrequire = ( req =>\n\tObject.assign( function require( name : string ) {\n\t\treturn $node[ name ]\n\t} , req )\n)( require )\n\n","namespace $ {\n\texport function $mol_env() {\n\t\treturn {} as Record< string, string | undefined >\n\t}\n}\n","namespace $ {\n\t$.$mol_env = function $mol_env() {\n\t\treturn this.process.env\n\t}\n}\n","namespace $ {\n\texport function $mol_exec(\n\t\tthis : $ ,\n\t\tdir : string ,\n\t\tcommand : string ,\n\t\t...args : string[]\n\t) {\n\n\t\tlet [ app , ... args0 ] = command.split( ' ' )\n\t\targs = [ ... args0 , ... args ]\n\n\t\tthis.$mol_log3_come({\n\t\t\tplace: '$mol_exec' ,\n\t\t\tdir: $node.path.relative( '' , dir ) ,\n\t\t\tmessage: 'Run',\n\t\t\tcommand: `${app} ${ args.join(' ') }` ,\n\t\t})\n\n\t\tvar res = $node['child_process'].spawnSync(\n\t\t\tapp ,\n\t\t\targs,\n\t\t\t{\n\t\t\t\tcwd : $node.path.resolve( dir ) ,\n\t\t\t\tshell : true ,\n\t\t\t\tenv: this.$mol_env(),\n\t\t\t}\n\t\t)\n\t\t\n\t\tif( res.status || res.error ) return $mol_fail( res.error || new Error( res.stderr.toString() ) )\n\t\tif( !res.stdout ) res.stdout = Buffer.from([])\n\n\t\treturn res\n\t}\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = new $node.jsdom.JSDOM( '' , { url : 'https://localhost/' } ).window as any\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_tick extends $mol_object2 {\n\n\t\tpromise : any\n\t\tcancelled = false\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.promise = Promise.resolve().then( ()=> {\n\t\t\t\tif( this.cancelled ) return\n\t\t\t\ttask()\n\t\t\t} )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tthis.cancelled = true\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_view_selection extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic focused( next? : Element[], notify?: 'notify' ) : Element[] {\n\t\t\t\n\t\t\tconst parents : Element[] = []\n\t\t\tlet element = next?.[0] ?? $mol_dom_context.document.activeElement\n\t\t\t\n\t\t\twhile( element ) {\n\t\t\t\tparents.push( element )\n\t\t\t\telement = element.parentNode as HTMLElement\n\t\t\t}\n\t\t\t\n\t\t\tif( !next || notify ) return parents\n\t\t\t\n\t\t\tnew $mol_after_tick( ()=> {\n\t\t\t\t\n\t\t\t\tconst element = this.focused()![0] as HTMLElement\n\t\t\t\t\n\t\t\t\tif( element ) element.focus()\n\t\t\t\telse $mol_dom_context.blur()\n\t\t\t\t\n\t\t\t} )\n\n\t\t\treturn parents\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_wrapper extends $mol_object2 {\n\n\t\tstatic wrap : ( task : ( ... ags : any[] )=> any )=> ( ... ags : any[] )=> any\n\t\t\n\t\tstatic run< Result >( task : ()=> Result ) : Result {\n\t\t\treturn this.func( task )()\n\t\t}\n\t\n\t\tstatic func< Args extends any[] , Result , Host = void >(\n\t\t\tfunc : ( this : Host , ... args : Args )=> Result\n\t\t) : ( this : Host , ... args : Args )=> Result {\n\t\t\treturn this.wrap( func )\n\t\t}\n\n\t\tstatic get class() {\n\n\t\t\treturn < Class extends new ( ... args : any[] )=> any >(\n\t\t\t\tClass : Class\n\t\t\t) => {\n\n\t\t\t\ttype Args = ConstructorParameters< Class >\n\t\t\t\ttype Result = InstanceType< Class >\n\n\t\t\t\tconst construct = ( target : Class , args : Args )=> new Class( ... args )\n\n\t\t\t\tconst handler: ProxyHandler = {\n\t\t\t\t\tconstruct : this.func( construct )\n\t\t\t\t} \n\n\t\t\t\t;(handler as any)[ Symbol.toStringTag ] = Class.name + '#'\n\n\t\t\t\treturn new Proxy( Class , handler )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tstatic get method() {\n\t\t\t\n\t\t\treturn (\n\t\t\t\tobj : object,\n\t\t\t\tname : PropertyKey,\n\t\t\t\tdescr : PropertyDescriptor,\n\t\t\t) => {\n\t\t\t\tdescr.value = this.func( descr.value! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tstatic get field() {\n\t\t\t\n\t\t\treturn <\n\t\t\t\tHost ,\n\t\t\t\tField extends keyof Host ,\n\t\t\t\tArgs extends any[] ,\n\t\t\t\tResult ,\n\t\t\t>(\n\t\t\t\tobj : Host ,\n\t\t\t\tname : Field ,\n\t\t\t\tdescr : TypedPropertyDescriptor< Result >\n\t\t\t) => {\n\t\t\t\tdescr.get = descr.set = this.func( descr.get! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_memo extends $mol_wrapper {\n\t\t\n\t\tstatic wrap< This extends object , Value >( task : ( this : This , next? : Value )=> Value ) {\n\n\t\t\tconst store = new WeakMap< This , Value >()\n\n\t\t\treturn function( this : This , next? : Value ) {\n\n\t\t\t\tif( next === undefined && store.has( this ) ) return store.get( this )\n\t\t\t\t\n\t\t\t\tconst val = task.call( this , next ) ?? next\n\t\t\t\t\n\t\t\t\tstore.set( this , val! )\n\t\t\t\t\n\t\t\t\treturn val\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_dom_qname( name : string ) {\n\t\treturn name.replace( /\\W/g , '' ).replace( /^(?=\\d+)/ , '_' )\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Run code without state changes */\n\texport function $mol_wire_probe< Value >(\n\t\ttask : ()=> Value, def?: Value\n\t) : Value | undefined {\n\t\t\n\t\tconst warm = $mol_wire_fiber.warm\n\t\t\n\t\ttry {\n\t\t\t$mol_wire_fiber.warm = false\n\t\t\tconst res = task()\n\t\t\tif( res === undefined ) return def\n\t\t\treturn res\n\t\t} finally {\n\t\t\t$mol_wire_fiber.warm = warm\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Real-time refresh current atom.\n\t * Don't use if possible. May reduce performance.\n\t */\n\texport function $mol_wire_watch() {\n\t\tconst atom = $mol_wire_auto()\n\t\tif( atom instanceof $mol_wire_atom ) {\n\t\t\tatom.watch()\n\t\t} else {\n\t\t\t$mol_fail( new Error( 'Atom is required for watching' ) )\n\t\t}\n\t}\n\t\n}\n","namespace $ { \n\t/**\n\t * Returns closure that returns constant value.\n\t * @example\n\t * const rnd = $mol_const( Math.random() )\n\t */\n\texport function $mol_const< Value >( value : Value ) {\n\t\tconst getter = <{ () : Value , '()' : Value }> ( () => value )\n\t\tgetter['()'] = value\n\t\t;(getter as any)[ Symbol.toStringTag ] = value\n\t\t;(getter as any )[ $mol_dev_format_head ] = ()=> $mol_dev_format_span( {} , '()=> ', $mol_dev_format_auto( value ) )\n\t\treturn getter\n\t}\n}\n","namespace $ {\n\t\n\t/**\n\t * Disable reaping of current subscriber\n\t */\n\texport function $mol_wire_solid() {\n\t\tlet current = $mol_wire_auto() as $mol_wire_fiber< any, any, any >\n\t\tif( current!.temp ) current = current!.host\n\t\tif( current!.reap !== nothing ) {\n\t\t\tcurrent?.sub_on( sub, sub.data.length )\n\t\t}\n\t\tcurrent!.reap = nothing\n\t}\n\t\n\tconst nothing = ()=> {}\n\tconst sub = new $mol_wire_pub_sub\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_attributes (\n\t\tel : Element ,\n\t\tattrs : { [ key : string ] : string|number|boolean|null }\n\t) {\n\n\t\tfor( let name in attrs ) {\n\n\t\t\tlet val = attrs[ name ] as any\n\n\t\t\tif( val === undefined ) {\n\t\t\t\t\n\t\t\t\tcontinue\n\t\t\t\t\n\t\t\t} if( val === null || val === false ) {\n\n\t\t\t\tif( !el.hasAttribute( name ) ) continue\n\t\t\t\t\n\t\t\t\tel.removeAttribute( name )\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst str = String( val )\n\t\t\t\tif( el.getAttribute( name ) === str ) continue\n\t\t\t\t\n\t\t\t\tel.setAttribute( name , str )\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_events (\n\t\tel : Element ,\n\t\tevents : { [ key : string ] : ( event : Event )=> any },\n\t\tpassive = false\n\t) {\n\t\tfor( let name in events ) {\n\t\t\tel.addEventListener( name , events[ name ] , { passive } )\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_styles (\n\t\tel : Element ,\n\t\tstyles : { [ key : string ] : string|number }\n\t) {\n\t\tfor( let name in styles ) {\n\t\t\tlet val = styles[ name ]\n\t\t\t\n\t\t\tconst style = ( el as HTMLElement ).style as any\n\t\t\tconst kebab = ( name : string )=> name.replace( /[A-Z]/g , letter => '-' + letter.toLowerCase() )\n\t\t\t\n\t\t\tif( typeof val === 'number' ) {\n\t\t\t\tstyle.setProperty(kebab(name), `${ val }px`);\n\t\t\t} else {\n\t\t\t\tstyle.setProperty(kebab(name), val);\n\t\t\t}\n\t\t\t\n\t\t}\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_dom_render_children (\n\t\tel : Element | DocumentFragment ,\n\t\tchildNodes : NodeList | Array< Node | string | null >\n\t) {\n\t\tconst node_set = new Set< Node | string | null >( childNodes )\n\t\t\n\t\tlet nextNode : Node | null = el.firstChild\n\t\tfor( let view of childNodes ) {\n\n\t\t\tif( view == null ) continue\n\n\t\t\tif( view instanceof $mol_dom_context.Node ) {\n\t\t\t\t\n\t\t\t\twhile( true ) {\n\t\t\t\t\tif( !nextNode ) {\n\t\t\t\t\t\tel.appendChild( view )\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tif( nextNode == view ) {\n\t\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif( node_set.has( nextNode ) ) {\n\t\t\t\t\t\t\tel.insertBefore( view , nextNode )\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst nn = nextNode.nextSibling\n\t\t\t\t\t\t\tel.removeChild( nextNode )\n\t\t\t\t\t\t\tnextNode = nn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tif( nextNode && nextNode.nodeName === '#text' ) {\n\t\t\t\t\tconst str = String( view )\n\t\t\t\t\tif( nextNode.nodeValue !== str ) nextNode.nodeValue = str\n\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t} else {\n\t\t\t\t\tconst textNode = $mol_dom_context.document.createTextNode( String( view ) )\n\t\t\t\t\tel.insertBefore( textNode , nextNode )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twhile( nextNode ) {\n\t\t\tconst currNode = nextNode\n\t\t\tnextNode = currNode.nextSibling\n\t\t\tel.removeChild( currNode )\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_fields (\n\t\tel : Element ,\n\t\tfields : { [ key : string ] : any }\n\t) {\n\t\tfor( let key in fields ) {\n\t\t\t\n\t\t\tconst val : any = fields[ key ]\n\t\t\t\n\t\t\tif( val === undefined ) continue\n\t\t\t\n\t\t\t(el as any)[ key ] = val\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Convert a pseudo-synchronous (Suspense API) API to an explicit asynchronous one (for integrating with external systems). */\n\texport function $mol_wire_async< Host extends object >( obj: Host ) {\n\t\t\n\t\tlet fiber: $mol_wire_fiber< any, any, any >\n\t\tconst temp = $mol_wire_task.getter( obj as ( ... args: any[] )=> any )\n\t\t\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tconst val = (obj as any)[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\t\n\t\t\t\tlet fiber: $mol_wire_fiber< any, any, any >\n\t\t\t\tconst temp = $mol_wire_task.getter( val ) \n\t\t\t\t\n\t\t\t\treturn function $mol_wire_async( this: Host, ... args: any[] ) {\n\t\t\t\t\tfiber?.destructor()\n\t\t\t\t\tfiber = temp( obj, args )\n\t\t\t\t\treturn fiber.async()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t},\n\t\t\t\n\t\t\tapply( obj, self, args ) {\n\t\t\t\tfiber?.destructor()\n\t\t\t\tfiber = temp( self, args )\n\t\t\t\treturn fiber.async()\n\t\t\t},\n\t\t\t\n\t\t} ) as unknown as ObjectOrFunctionResultPromisify\n\t\t\n\t}\n\n\ttype FunctionResultPromisify = Some extends (...args: infer Args) => infer Res\n\t\t? Res extends PromiseLike ? Some : (...args: Args) => Promise\n\t\t: Some\n\n\ttype MethodsResultPromisify = {\n\t\t[K in keyof Host]: FunctionResultPromisify\n\t}\n\n\ttype ObjectOrFunctionResultPromisify = (\n\t\tSome extends (...args: any) => unknown ? FunctionResultPromisify : {}\n\t) & ( Some extends Object ? MethodsResultPromisify : Some )\n\n}\n","namespace $ {\n\n\tlet all = [] as string[]\n\tlet el : HTMLStyleElement | null = null\n\tlet timer : $mol_after_tick | null = null\n\n\texport function $mol_style_attach_force() {\n\t\tif( all.length ) {\n\t\t\tel!.innerHTML += '\\n' + all.join( '\\n\\n' )\n\t\t\tall = []\n\t\t}\n\t\ttimer = null\n\t\treturn el!\n\t}\n\t\n\texport function $mol_style_attach(\n\t\tid : string ,\n\t\ttext : string ,\n\t) {\n\n\t\tall.push( `/* ${ id } */\\n\\n${ text }`)\n\n\t\tif( timer ) return el!\n\t\t\n\t\tconst doc = $mol_dom_context.document\n\t\tif( !doc ) return null\n\n\t\tel = doc.createElement('style')\n\t\tel.id = `$mol_style_attach`\n\t\tdoc.head.appendChild( el )\n\n\t\ttimer = new $mol_after_tick( $mol_style_attach_force )\n\n\t\treturn el\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_decor< Value > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly value : Value\n\t\t) {}\n\n\t\tprefix() { return '' }\n\t\tvalueOf() { return this.value }\n\t\tpostfix() { return '' }\n\n\t\ttoString(){\n\t\t\treturn `${ this.prefix() }${ this.valueOf() }${ this.postfix() }`\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport type $mol_style_unit_length =\n\t| '%'\n\t| 'px' | 'cm' | 'mm' | 'Q' | 'in' | 'pc' | 'pt'\n\t| 'cap' | 'ch' | 'em' | 'rem' | 'ex' | 'ic' | 'lh' | 'rlh'\n\t| 'vh' | 'vw' | 'vi' | 'vb' | 'vmin' | 'vmax'\n\t\n\texport type $mol_style_unit_angle = 'deg' | 'rad' | 'grad' | 'turn'\n\t\n\texport type $mol_style_unit_time = 's' | 'ms'\n\n\texport type $mol_style_unit_any = $mol_style_unit_length | $mol_style_unit_angle | $mol_style_unit_time\n\texport type $mol_style_unit_str< Quanity extends $mol_style_unit_any > = `${number}${Quanity}`\n\t\n\t/**\n\t * CSS Units\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport class $mol_style_unit<\n\t\tLiteral extends $mol_style_unit_any\n\t> extends $mol_decor< number > {\n\n\t\tconstructor(\n\t\t\tvalue : number,\n\t\t\treadonly literal : Literal,\n\t\t) {\n\t\t\tsuper( value )\n\t\t}\n\n\t\tpostfix() {\n\t\t\treturn this.literal\n\t\t}\n\n\t\tstatic per( value : number ) { return `${value}%` as const }\n\t\tstatic px( value : number ) { return `${ value }px` as const }\n\t\tstatic mm( value : number ) { return `${value}mm` as const }\n\t\tstatic cm( value : number ) { return `${value}cm` as const }\n\t\tstatic Q( value : number ) { return `${value}Q` as const }\n\t\tstatic in( value : number ) { return `${value}in` as const }\n\t\tstatic pc( value : number ) { return `${value}pc` as const }\n\t\tstatic pt( value : number ) { return `${value}pt` as const }\n\t\tstatic cap( value : number ) { return `${value}cap` as const }\n\t\tstatic ch( value : number ) { return `${value}ch` as const }\n\t\tstatic em( value : number ) { return `${value}em` as const }\n\t\tstatic rem( value : number ) { return `${value}rem` as const }\n\t\tstatic ex( value : number ) { return `${value}ex` as const }\n\t\tstatic ic( value : number ) { return `${value}ic` as const }\n\t\tstatic lh( value : number ) { return `${value}lh` as const }\n\t\tstatic rlh( value : number ) { return `${value}rlh` as const }\n\t\tstatic vh( value : number ) { return `${value}vh` as const }\n\t\tstatic vw( value : number ) { return `${value}vw` as const }\n\t\tstatic vi( value : number ) { return `${value}vi` as const }\n\t\tstatic vb( value : number ) { return `${value}vb` as const }\n\t\tstatic vmin( value : number ) { return `${value}vmin` as const }\n\t\tstatic vmax( value : number ) { return `${value}vmax` as const }\n\t\t\n\t\tstatic deg( value : number ) { return `${value}deg` as const }\n\t\tstatic rad( value : number ) { return `${value}rad` as const }\n\t\tstatic grad( value : number ) { return `${value}grad` as const }\n\t\tstatic turn( value : number ) { return `${value}turn` as const }\n\n\t\tstatic s( value : number ) { return `${value}s` as const }\n\t\tstatic ms( value : number ) { return `${value}ms` as const }\n\t\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_style_func_name =\n\t| 'calc'\n\t| 'hsla'\n\t| 'rgba'\n\t| 'var'\n\t| 'clamp'\n\t| 'scale'\n\t| 'cubic-bezier'\n\t| 'linear'\n\t| 'steps'\n\t| $mol_style_func_image\n\t| $mol_style_func_filter\n\t\n\texport type $mol_style_func_image =\n\t| 'url'\n\t| 'linear-gradient'\n\t| 'radial-gradient'\n\t| 'conic-gradient'\n\t\n\texport type $mol_style_func_filter =\n\t| 'blur'\n\t| 'brightness'\n\t| 'contrast'\n\t| 'drop-shadow'\n\t| 'grayscale'\n\t| 'hue-rotate'\n\t| 'invert'\n\t| 'opacity'\n\t| 'sepia'\n\t| 'saturate'\n\n\tconst { per } = $mol_style_unit\n\t\n\t/**\n\t * CSS Functions\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport class $mol_style_func<\n\t\tName extends $mol_style_func_name ,\n\t\tValue = unknown,\n\t> extends $mol_decor< Value > {\n\n\t\tconstructor(\n\t\t\treadonly name : Name,\n\t\t\tvalue : Value,\n\t\t) {\n\t\t\tsuper( value )\n\t\t}\n\n\t\tprefix() { return this.name + '(' }\n\t\tpostfix() { return ')' }\n\n\t\tstatic linear_gradient< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'linear-gradient' , value )\n\t\t}\n\n\t\tstatic calc< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'calc' , value )\n\t\t}\n\n\t\tstatic vary< Name extends string, Value extends string >( name : Name, defaultValue? : Value ) {\n\t\t\treturn new $mol_style_func( 'var' , defaultValue ? [name, defaultValue] : name )\n\t\t}\n\n\t\tstatic url< Href extends string >( href : Href ) {\n\t\t\treturn new $mol_style_func( 'url' , JSON.stringify( href ) )\n\t\t}\n\n\t\tstatic hsla(\n\t\t\thue: number,\n\t\t\tsaturation: number,\n\t\t\tlightness: number,\n\t\t\talpha: number,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'hsla',\n\t\t\t\t[ hue , per( saturation ) , per( lightness ) , alpha ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic clamp(\n\t\t\tmin: $mol_style_unit_str< any >,\n\t\t\tmid: $mol_style_unit_str< any >,\n\t\t\tmax: $mol_style_unit_str< any >,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'clamp',\n\t\t\t\t[ min, mid, max ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic rgba(\n\t\t\tred: number,\n\t\t\tgreen: number,\n\t\t\tblue: number,\n\t\t\talpha: number,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'rgba',\n\t\t\t\t[ red , green , blue , alpha ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic scale(\n\t\t\tzoom: number,\n\t\t) {\n\t\t\treturn new $mol_style_func( 'scale', [ zoom ] )\n\t\t}\n\t\t\n\t\tstatic linear(\n\t\t\t...breakpoints : Array]>\n\t\t){\n\t\t\treturn new $mol_style_func(\n\t\t\t\t\"linear\",\n\t\t\t\tbreakpoints.map((e) =>\n\t\t\t\t\tArray.isArray(e)\n\t\t\t\t\t\t? String(e[0]) +\n\t\t\t\t\t\t \" \" +\n\t\t\t\t\t\t (typeof e[1] === \"number\" ? e[1] + \"%\" : e[1].toString())\n\t\t\t\t\t\t: String(e)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\t\n\t\tstatic cubic_bezier(\n\t\t\tx1: number,\n\t\t\ty1: number,\n\t\t\tx2: number,\n\t\t\ty2: number\n\t\t){\n\t\t\treturn new $mol_style_func( 'cubic-bezier', [ x1, y1, x2, y2 ]);\n\t\t}\n\t\t\n\t\tstatic steps(value: number, step_position: 'jump-start' | 'jump-end' | 'jump-none' | 'jump-both' | 'start' | 'end'){\n\t\t\treturn new $mol_style_func( 'steps', [ value, step_position ] )\n\t\t}\n\t\t\n\t\tstatic blur(value?: $mol_style_unit_str<$mol_style_unit_length>){\n\t\t\treturn new $mol_style_func( 'blur', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic brightness(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'brightness', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic contrast(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'contrast', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic drop_shadow(\n\t\t\tcolor: $mol_style_properties_color,\n\t\t\tx_offset: $mol_style_unit_str<$mol_style_unit_length>,\n\t\t\ty_offset: $mol_style_unit_str<$mol_style_unit_length>,\n\t\t\tblur_radius?: $mol_style_unit_str<$mol_style_unit_length>\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t\"drop-shadow\",\n\t\t\t\tblur_radius\n\t\t\t\t\t? [color, x_offset, y_offset, blur_radius]\n\t\t\t\t\t: [color, x_offset, y_offset]\n\t\t\t);\n\t\t}\n\t\t\n\t\tstatic grayscale(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'grayscale', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic hue_rotate(value?: 0 | $mol_style_unit_str<$mol_style_unit_angle>){\n\t\t\treturn new $mol_style_func( 'hue-rotate', value ?? \"\")\n\t\t}\n\t\t\n\t\tstatic invert(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'invert', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic opacity(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'opacity', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic sepia(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'sepia', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic saturate(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'saturate', value ?? \"\" );\n\t\t}\n\t\n\t}\n\n}\n","namespace $ {\n\t\n\texport type $mol_style_prop_result =\n\t\tRecord<\n\t\t\tstring ,\n\t\t\t$mol_style_func< 'var' >\n\t\t>\n\t\n\t/** Create record of CSS variables. */\n\texport function $mol_style_prop(\n\t\tprefix : string ,\n\t\tpostfixes : Array< string >\n\t) {\n\t\t\n\t\tconst record = postfixes.reduce( ( record_obj , postfix )=> {\n\t\t\t\n\t\t\trecord_obj[ postfix ] = $mol_style_func.vary( `--${ prefix }_${ postfix }` )\n\t\t\treturn record_obj\n\t\t\t\n\t\t}, {} as $mol_style_prop_result )\n\t\t\n\t\treturn record\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Theme css variables\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_textarea_demo\n\t */\t\n\texport const $mol_theme = $mol_style_prop(\n\t\t'mol_theme',\n\t\t[\n\t\t\t'back',\n\t\t\t'hover',\n\t\t\t'card',\n\t\t\t'current',\n\t\t\t'special',\n\t\t\t'text',\n\t\t\t'control',\n\t\t\t'shade',\n\t\t\t'line',\n\t\t\t'focus',\n\t\t\t'field',\n\t\t\t'image',\n\t\t]\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/theme/theme.css\",\n \":root {\\n\\t--mol_theme_hue: 210deg;\\n\\t--mol_theme_hue_spread: 90deg;\\n}\\n\\n:where([mol_theme]) {\\n\\tcolor: var(--mol_theme_text);\\n\\tfill: var(--mol_theme_text);\\n\\tbackground-color: var(--mol_theme_back);\\n}\\n\\t\\n:root, [mol_theme=\\\"$mol_theme_dark\\\"], :where([mol_theme=\\\"$mol_theme_dark\\\"]) [mol_theme] {\\n\\n\\t--mol_theme_luma: -1;\\n\\t--mol_theme_image: invert(1) hue-rotate( 180deg );\\n\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 10% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 20%, .25 );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 8%, .25 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 80% );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 60%, 1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 65% );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 60%, 65% );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 60%, 65% );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 60%, 65% );\\n\\n\\t/* --mol_theme_back: oklch( 20% .03 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 35% .05 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_field: oklch( 0% 0 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\\n\\t\\n\\t--mol_theme_text: oklch( 80% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_line: oklch( 50% 0 var(--mol_theme_hue) / .2 );\\n\\t--mol_theme_focus: oklch( 80% .2 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t\\n\\t--mol_theme_control: oklch( 70% .1 var(--mol_theme_hue) );\\n\\t--mol_theme_current: oklch( 80% .2 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_special: oklch( 80% .3 calc( var(--mol_theme_hue) + 60deg ) ); */\\n\\n}\\n\\n[mol_theme=\\\"$mol_theme_light\\\"], :where([mol_theme=\\\"$mol_theme_light\\\"]) [mol_theme] {\\n\\t\\n\\t--mol_theme_luma: 1;\\n\\t--mol_theme_image: none;\\n\\t\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 99% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 90%, .25 );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 100%, .5 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 0% );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 40%, 1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 40% );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 80%, 30% );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 30% );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 30% );\\n\\t\\n\\t/* --mol_theme_back: oklch( 93% .01 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 100% .02 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_field: oklch( 100% 0 var(--mol_theme_hue) / .5 );\\n\\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\\n\\t\\n\\t--mol_theme_text: oklch( 20% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_line: oklch( 70% 0 var(--mol_theme_hue) / .2 );\\n\\t--mol_theme_focus: oklch( 20% .8 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t\\n\\t--mol_theme_control: oklch( 45% .25 var(--mol_theme_hue) );\\n\\t--mol_theme_current: oklch( 45% .5 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_special: oklch( 45% .5 calc( var(--mol_theme_hue) + 60deg ) ); */\\n\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 30% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 40%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 25% .05 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 35% .1 var(--mol_theme_hue) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 80% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 80%, 95%, .25 );\\n\\t/* --mol_theme_back: oklch( 95% .02 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 80% .05 var(--mol_theme_hue) / .25 ); */\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 30% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 40% .2 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t--mol_theme_card: oklch( 50% .3 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 75% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 90%, .25 );\\n\\t/* --mol_theme_back: oklch( 90% .03 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_current\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 30% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_current\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 80% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 95%, .25 );\\n\\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 30% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) + 60deg ) );\\n\\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 80% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 95%, .25 );\\n\\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) + 60deg ) );\\n\\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\\n}\\n\"\n) }","namespace $ {\n\n\t/**\n\t * Gap in CSS\n\t * @see https://page.hyoo.ru/#!=msdb74_bm7nsq\n\t */\n\texport let $mol_gap = $mol_style_prop(\n\t\t'mol_gap',\n\t\t[\n\t\t\t'block',\n\t\t\t'text',\n\t\t\t'round',\n\t\t\t'space',\n\t\t\t'blur',\n\t\t]\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/gap/gap.css\",\n \":root {\\n\\t--mol_gap_block: .75rem;\\n\\t--mol_gap_text: .5rem .75rem;\\n\\t--mol_gap_round: .25rem;\\n\\t--mol_gap_space: .25rem;\\n\\t--mol_gap_blur: .5rem;\\n}\\n\"\n) }","namespace $ {\n\n\texport type $mol_view_content = $mol_view|Node|string|number|boolean\n\t\n\texport function $mol_view_visible_width() {\n\t\treturn $mol_window.size().width\n\t}\n\t\n\texport function $mol_view_visible_height() {\n\t\treturn $mol_window.size().height\n\t}\n\t\n\texport function $mol_view_state_key( suffix : string ) {\n\t\treturn suffix\n\t}\n\t\n\tconst error_showed = new WeakMap< Error, $mol_view >()\n\n\t/**\n\t * The base class for all visual components. It provides the infrastructure for reactive lazy rendering, handling exceptions.\n\t * @see https://mol.hyoo.ru/#!section=docs/=vv2nig_s5zr0f\n\t */\n\t/// Reactive statefull lazy ViewModel\n\texport class $mol_view extends $mol_object {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic Root< This extends typeof $mol_view >( this : This , id: number ) {\n\t\t\treturn new this as InstanceType< This >\n\t\t}\n\n\t\t@ $mol_mem\n\t\tautorun() {\n\t\t\ttry {\n\t\t\t\tthis.dom_tree()\n\t\t\t\tdocument.title = this.title()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic autobind() {\n\t\t\t\n\t\t\tconst nodes = $mol_dom_context.document.querySelectorAll( '[mol_view_root]:not([mol_view_root=\"\"])' )\n\t\t\t\n\t\t\tfor( let i = nodes.length - 1 ; i >= 0 ; --i ) {\n\n\t\t\t\tconst name = nodes.item( i ).getAttribute( 'mol_view_root' )!\n\t\t\t\t\n\t\t\t\tconst View = ($ as any)[ name ] as typeof $mol_view\n\t\t\t\tif( !View ) {\n\t\t\t\t\tconsole.error( `Can not attach view. Class not found: ${ name }` )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst view = View.Root( i )\n\t\t\t\tview.dom_node( nodes.item( i ) )\n\t\t\t\tview.autorun()\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle() {\n\t\t\treturn this.toString().match( /.*\\.(\\w+)/ )?.[1] ?? this.toString()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tfocused( next?: boolean ) {\n\t\t\tlet node = this.dom_node()\n\t\t\tconst value = $mol_view_selection.focused( next === undefined ? undefined : ( next ? [ node ] : [] ) )\n\t\t\treturn value.indexOf( node ) !== -1\n\t\t}\n\t\t\n\t\tstate_key( suffix = '' ) {\n\t\t\treturn this.$.$mol_view_state_key( suffix )\n\t\t}\n\t\t\n\t\t/// Name of element that created when element not found in DOM\n\t\t@ $mol_memo.method\n\t\tdom_name() {\n\t\t\treturn $mol_dom_qname( this.constructor.toString() ) || 'div'\n\t\t}\n\t\t\n\t\t/// NameSpace of element that created when element not found in DOM\n\t\tdom_name_space() { return 'http://www.w3.org/1999/xhtml' }\n\t\t\n\t\t/// Raw child views\n\t\tsub() {\n\t\t\treturn [] as readonly ($mol_view|Node|string|number|boolean)[]\n\t\t}\n\t\t\n\t\t/// Visible sub views with defined ambient context\n\t\t/// Render all by default\n\t\tsub_visible() {\n\t\t\treturn this.sub()\n\t\t}\n\t\t\n\t\t/// Minimal width that used for lazy rendering\n\t\t@ $mol_mem\n\t\tminimal_width() {\n\t\t\t\n\t\t\tlet min = 0\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst sub = this.sub()\n\t\t\t\tif( !sub ) return 0\n\t\t\t\t\n\t\t\t\tsub.forEach( view => {\n\t\t\t\t\tif( view instanceof $mol_view ) {\n\t\t\t\t\t\tmin = Math.max( min , view.minimal_width() )\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 24\n\t\t\t}\n\t\t\n\t\t\treturn min\n\t\t}\n\t\t\n\t\tmaximal_width() {\n\t\t\treturn this.minimal_width()\n\t\t}\n\t\t\n\t\t/// Minimal height that used for lazy rendering\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\t\n\t\t\tlet min = 0\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tfor( const view of this.sub() ?? [] ) {\n\n\t\t\t\t\tif( view instanceof $mol_view ) {\n\t\t\t\t\t\tmin = Math.max( min , view.minimal_height() )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t \n\t\t\t} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 24\n\t\t\t}\n\n\t\t\treturn min\n\t\t}\n\n\t\tstatic watchers = new Set< $mol_view >()\n\n\t\t@ $mol_mem\n\t\tview_rect() {\n\t\t\tif( $mol_wire_probe( ()=> this.view_rect() ) === undefined ) {\n\t\t\t\t$mol_wire_watch()\n\t\t\t\treturn null // don't touch DOM to prevent instant reflow\n\t\t\t} else {\n\t\t\t\tconst { width, height, left, right, top, bottom } = this.dom_node().getBoundingClientRect()\n\t\t\t\treturn { width, height, left, right, top, bottom } // pick to optimize compare\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tdom_id() {\n\t\t\treturn this.toString().replace( //g, ')' )\n\t\t}\n\t\n\t\tdom_node_external( next?: Element) {\n\t\t\tconst node = next ?? $mol_dom_context.document.createElementNS( this.dom_name_space() , this.dom_name() )\n\n\t\t\tconst id = this.dom_id()\n\t\t\tnode.setAttribute( 'id' , id )\n\t\t\tnode.toString = $mol_const( '<#' + id + '>' )\n\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_node( next? : Element ) {\n\t\t\t$mol_wire_solid()\n\t\t\tconst node = this.dom_node_external( next )\n\t\t\t$mol_dom_render_attributes( node , this.attr_static() )\n\t\t\t\n\t\t\tconst events = this.event_async()\n\t\t\t$mol_dom_render_events(node, events)\n\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_final() {\n\t\t\t\n\t\t\tthis.render()\n\t\t\t\n\t\t\tconst sub = this.sub_visible()\n\t\t\tif( !sub ) return\n\t\t\t\n\t\t\tfor( const el of sub ) {\n\t\t\t\tif( el && typeof el === 'object' && 'dom_final' in el ) {\n\t\t\t\t\tel['dom_final']()\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn this.dom_node()\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdom_tree( next? : Element ) : Element {\n\t\t\tconst node = this.dom_node( next )\n\t\t\t\n\t\t\trender: try {\n\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error : null } )\n\n\t\t\t\ttry {\n\t\t\t\t\n\t\t\t\t\tthis.render()\n\t\t\t\t\t\n\t\t\t\t} finally {\n\t\t\t\t\t\n\t\t\t\t\tfor( let plugin of this.plugins() ) {\n\t\t\t\t\t\tif( plugin instanceof $mol_plugin ) {\n\t\t\t\t\t\t\tplugin.dom_tree()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\tconst mol_view_error = $mol_promise_like(error) ? 'Promise' : error.name || error.constructor.name\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error } )\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( error ) ) break render\n\t\t\t\tif( ( error_showed.get( error ) ?? this ) !== this ) break render\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tconst message = error.message || error\n\t\t\t\t\t;( node as HTMLElement ).innerText = message.replace( /^|$/mg, '\\xA0\\xA0' )\n\t\t\t\t} catch {}\n\t\t\t\t\n\t\t\t\terror_showed.set( error, this )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.auto()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\t\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_node_actual() {\n\t\t\tconst node = this.dom_node()\n\n\t\t\t$mol_dom_render_styles( node, this.style_size() )\n\n\t\t\tconst attr = this.attr()\n\t\t\tconst style = this.style()\n\n\t\t\t$mol_dom_render_attributes( node , attr )\n\t\t\t$mol_dom_render_styles( node , style )\n\n\t\t\treturn node\n\t\t}\n\t\t\n\t\tauto() {\n\t\t\treturn null as any\n\t\t}\n\n\t\t@ $mol_mem\n\t\trender() {\n\n\t\t\tconst node = this.dom_node_actual()\n\n\t\t\tconst sub = this.sub_visible()\n\t\t\tif( !sub ) return\n\t\t\t\n\t\t\tconst nodes = sub.map( child => {\n\t\t\t\tif( child == null ) return null\n\t\t\t\treturn ( child instanceof $mol_view )\n\t\t\t\t\t? child.dom_node()\n\t\t\t\t\t: child instanceof $mol_dom_context.Node\n\t\t\t\t\t? child\n\t\t\t\t\t: String( child )\n\t\t\t})\n\t\t\t\n\t\t\t$mol_dom_render_children( node , nodes )\n\n\t\t\tfor( const el of sub ) if( el && typeof el === 'object' && 'dom_tree' in el ) el['dom_tree']()\n\n\t\t\t$mol_dom_render_fields( node , this.field() )\n\t\t\t\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tstatic view_classes() {\n\t\t\tconst proto = this.prototype\n\t\t\t\n\t\t\tlet current = proto\n\t\t\tconst classes = [] as ( typeof $mol_view )[]\n\t\t\t\n\t\t\twhile( current ) {\n\t\t\t\tif( current.constructor.name !== classes.at(-1)?.name ) {\n\t\t\t\t\tclasses.push( current.constructor as typeof $mol_view )\n\t\t\t\t}\n\t\t\t\tif(!( current instanceof $mol_view )) break\n\t\t\t\tcurrent = Object.getPrototypeOf( current )\n\t\t\t}\n\t\t\t\n\t\t\treturn classes\n\t\t}\n\t\t\n\t\tstatic _view_names?: Map< string, string[] >\n\t\tstatic view_names( suffix: string ) {\n\t\t\t\n\t\t\tlet cache = Reflect.getOwnPropertyDescriptor( this, '_view_names' )?.value\n\t\t\tif( !cache ) cache = this._view_names = new Map\n\t\t\t\n\t\t\tconst cached = cache.get( suffix )\n\t\t\tif( cached ) return cached\n\t\t\t\n\t\t\tconst names = [] as string[]\n\t\t\tconst suffix2 = '_' + suffix[0].toLowerCase() + suffix.substring(1)\n\t\t\t\n\t\t\tfor( const Class of this.view_classes() ) {\n\t\t\t\tif( suffix in Class.prototype ) names.push( this.$.$mol_func_name( Class ) + suffix2 )\n\t\t\t\telse break\n\t\t\t}\n\t\t\t\n\t\t\tcache.set( suffix, names )\n\t\t\treturn names\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\tview_names_owned() {\n\t\t\tconst names = [] as string[]\n\t\t\tlet owner = $mol_owning_get( this ) as $mol_wire_fiber< any, any[], any >\n\n\t\t\tif(!( owner?.host instanceof $mol_view )) return names\n\n\t\t\tconst suffix = owner.task.name.trim()\n\t\t\tconst suffix2 = '_' + suffix[0].toLowerCase() + suffix.substring(1)\n\t\t\t\n\t\t\tnames.push( ... ( owner.host.constructor as typeof $mol_view ).view_names( suffix ) )\n\t\t\t\n\t\t\tfor( let prefix of owner.host.view_names_owned() ) {\n\t\t\t\tnames.push( prefix + suffix2 )\n\t\t\t}\n\t\t\t\n\t\t\treturn names\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tview_names() {\n\t\t\tconst names = new Set< string >()\n\t\t\t\n\t\t\tfor( let name of this.view_names_owned() ) names.add( name )\n\n\t\t\tfor( let Class of ( this.constructor as typeof $mol_view ).view_classes() ) {\n\t\t\t\tconst name = this.$.$mol_func_name( Class )\n\t\t\t\tif( name ) names.add( name )\n\t\t\t}\n\n\t\t\treturn names\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttheme( next = null as null | string ) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tattr_static() : { [ key : string ] : string|number|boolean|null } {\n\t\t\tlet attrs : any = {}\n\t\t\t\n\t\t\tfor( let name of this.view_names() ) attrs[ name.replace( /\\$/g , '' ).replace( /^(?=\\d)/ , '_' ).toLowerCase() ] = ''\n\t\t\t\n\t\t\treturn attrs\n\t\t}\n\t\t\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\tmol_theme: this.theme() ?? undefined,\n\t\t\t} as {}\n\t\t}\n\t\t\n\t\tstyle_size() {\n\t\t\treturn {\n\t\t\t\tminHeight: this.minimal_height(),\n\t\t\t\tminWidth: this.minimal_width(),\n\t\t\t} as {\n\t\t\t\t[key: string]: string | number;\n\t\t\t}\n\t\t}\n\t\t\n\t\tstyle() : { [ key : string ] : string|number } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\tfield() : { [ key : string ] : any } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\tevent() : { [ key : string ] : ( event : Event )=> void } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tevent_async() {\n\t\t\treturn { ... $mol_wire_async(this.event()) }\n\t\t}\n\n\t\tplugins() {\n\t\t\treturn [] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t// $mol_dev_format_shade( '/' ) ,\n\t\t\t\t// $mol_dev_format_auto( $mol_wire_cache( this ).sub().cache ) ,\n\t\t\t)\n\t\t}\n\n\t\t/** Deep search view by predicate. */\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this ) ) return yield [ ... path, this ]\n\t\t\t\n\t\t\ttry {\n\t\t\t\tfor( const item of this.sub() ) {\n\t\t\t\t\tif( item instanceof $mol_view ) {\n\t\t\t\t\t\tyield* item.view_find( check, [ ... path, this ] )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch( error: unknown ) {\n\t\t\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t/** Renders path of views to DOM. */\n\t\tforce_render(\n\t\t\tpath : Set< $mol_view >,\n\t\t) {\n\n\t\t\tconst kids = this.sub()\n\n\t\t\tconst index = kids.findIndex( item => {\n\t\t\t\tif( item instanceof $mol_view ) {\n\t\t\t\t\treturn path.has( item )\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif( index >= 0 ) {\n\t\t\t\t( kids[ index ] as $mol_view ).force_render( path )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t/** Renders view to DOM and scroll to it. */\n\t\tensure_visible( view: $mol_view, align: ScrollLogicalPosition = \"start\" ) {\n\t\t\t\n\t\t\tconst path = this.view_find( v => v === view ).next().value\n\t\t\tthis.force_render( new Set( path ) )\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.dom_final()\n\t\t\t} catch(err) {\n\t\t\t\t$mol_fail_log(err)\n\t\t\t}\n\n\t\t\tview.dom_node().scrollIntoView({ block: align })\n\n\t\t}\n\t\t\n\t\tbring() {\n\t\t\t\n\t\t\tconst win = this.$.$mol_dom_context\n\t\t\tif( win.parent !== win.self && !win.document.hasFocus() ) return\n\t\t\t\n\t\t\tnew this.$.$mol_after_frame( ()=> {\n\t\t\t\t\n\t\t\t\tthis.dom_node().scrollIntoView({ block: 'start', inline: 'nearest' })\n\t\t\t\tthis.focused( true )\n\t\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t}\n\n\t\toverride destructor() {\n\t\t\tconst node = $mol_wire_probe(() => this.dom_node())\n\t\t\tif (! node) return\n\n\t\t\tconst events = $mol_wire_probe(() => this.event_async())\n\t\t\tif (! events) return\n\n\t\t\tfor( let event_name in events ) {\n\t\t\t\tnode.removeEventListener(\n\t\t\t\t\tevent_name ,\n\t\t\t\t\tevents[ event_name ]\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n\n\texport type $mol_view_all = $mol_type_pick< $ , typeof $mol_view >\n\n}\n","namespace $ { $mol_style_attach( \"mol/view/view/view.css\",\n \"[mol_view] {\\n\\ttransition-property: height, width, min-height, min-width, max-width, max-height, transform;\\n\\ttransition-duration: .2s;\\n\\ttransition-timing-function: ease-out;\\n\\t-webkit-appearance: none;\\n\\tbox-sizing: border-box;\\n\\tdisplay: flex;\\n\\tflex-shrink: 0;\\n\\tcontain: style;\\n\\tscrollbar-color: var(--mol_theme_line) transparent;\\n\\tscrollbar-width: thin;\\n}\\t\\n\\n[mol_view]::selection {\\n\\tbackground: var(--mol_theme_line);\\n}\\t\\n\\n[mol_view]::-webkit-scrollbar {\\n\\twidth: .25rem;\\n\\theight: .25rem;\\n}\\n\\n[mol_view]::-webkit-scrollbar-corner {\\n\\tbackground-color: var(--mol_theme_line);\\n}\\n\\n[mol_view]::-webkit-scrollbar-track {\\n\\tbackground-color: transparent;\\n}\\n\\n[mol_view]::-webkit-scrollbar-thumb {\\n\\tbackground-color: var(--mol_theme_line);\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[mol_view] > * {\\n\\tword-break: inherit;\\n}\\n\\n[mol_view_root] {\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbox-sizing: border-box;\\n\\tfont-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\\n\\tfont-size: 1rem;\\n\\tline-height: 1.5rem;\\n\\tbackground: var(--mol_theme_back);\\n\\tcolor: var(--mol_theme_text);\\n\\tcontain: unset; /** Fixes bg ignoring when applied to body on Chrome */\\n\\ttab-size: 4;\\n\\toverscroll-behavior: contain; /** Disable navigation gestures **/\\n}\\n\\n@media print {\\n\\t[mol_view_root] {\\n\\t\\theight: auto;\\n\\t}\\n}\\n\\n[mol_view][mol_view_error]:not([mol_view_error=\\\"Promise\\\"]) {\\n\\tbackground-image: repeating-linear-gradient(\\n\\t\\t-45deg,\\n\\t\\t#f92323,\\n\\t\\t#f92323 .5rem,\\n\\t\\t#ff3d3d .5rem,\\n\\t\\t#ff3d3d 1.5rem\\n\\t);\\n\\tcolor: black;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\\n@keyframes mol_view_wait {\\n\\tfrom {\\n\\t\\topacity: .25;\\n\\t}\\n\\t20% {\\n\\t\\topacity: .75;\\n\\t}\\n\\tto {\\n\\t\\topacity: .25;\\n\\t}\\n}\\n\\n:where([mol_view][mol_view_error=\\\"Promise\\\"]) {\\n\\tbackground: var(--mol_theme_hover);\\n}\\n\\n[mol_view][mol_view_error=\\\"Promise\\\"] {\\n\\tanimation: mol_view_wait 1s steps( 20, end ) infinite;\\n}\\n\"\n) }","namespace $ {\n\t/** Plugin is component without its own DOM element, but instead uses the owner DOM element */\n\texport class $mol_plugin extends $mol_view {\n\n\t\toverride dom_node_external( next? : Element ) {\n\t\t\treturn next ?? $mol_owning_get>( this )!.host!.dom_node()\n\t\t}\n\n\t\toverride render() {\n\t\t\tthis.dom_node_actual()\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\texport class $mol_scroll extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * scroll_top? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tscroll_top(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * scroll_left? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tscroll_left(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \ttabIndex <= tabindex\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\ttabIndex: this.tabindex()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tscroll?event <=> event_scroll?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tscroll: (event?: any) => this.event_scroll(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tabindex -1\n\t\t * ```\n\t\t */\n\t\ttabindex() {\n\t\t\treturn -1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_scroll?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_scroll(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\texport class $mol_dom_listener extends $mol_object {\n\n\t\tconstructor(\n\t\t\tpublic _node : any ,\n\t\t\tpublic _event : string ,\n\t\t\tpublic _handler : ( event : any )=> any ,\n\t\t\tpublic _config : boolean|{ passive : boolean } = { passive : true }\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis._node.addEventListener( this._event , this._handler , this._config )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tthis._node.removeEventListener( this._event , this._handler , this._config )\n\t\t\tsuper.destructor()\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_print extends $mol_object {\n\n\t\t@ $mol_mem\n\t\tstatic before() {\n\t\t\treturn new $mol_dom_listener( this.$.$mol_dom_context , 'beforeprint' , ()=> {\n\t\t\t\tthis.active( true )\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic after() {\n\t\t\treturn new $mol_dom_listener( this.$.$mol_dom_context , 'afterprint' , ()=> {\n\t\t\t\tthis.active( false )\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic active( next? : boolean ) {\n\t\t\tthis.before()\n\t\t\tthis.after()\n\t\t\treturn next || false\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_style_sheet<\n\t\tComponent extends $mol_view,\n\t\tConfig extends $mol_style_guard< Component , Config >,\n\t>(\n\t\tComponent : new()=> Component,\n\t\tconfig0 : Config ,\n\t) {\n\n\t\tlet rules = [] as string[]\n\n\t\tconst block = $mol_dom_qname( $mol_ambient({}).$mol_func_name( Component ) )\n\t\tconst kebab = ( name : string )=> name.replace( /[A-Z]/g , letter => '-' + letter.toLowerCase() )\n\n\t\tconst make_class = ( prefix : string , path : string[] , config : typeof config0 )=> {\n\n\t\t\tconst props = [] as string[]\n\n\t\t\tconst selector = ( prefix : string , path : string[] )=> {\n\t\t\t\tif( path.length === 0 ) return prefix || `[${ block }]`\n\t\t\t\tlet res = `[${ block }_${ path.join('_') }]`\n\t\t\t\tif( prefix ) res = prefix + ' :where(' + res + ')'\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tfor( const key of Object.keys( config ).reverse() ) {\n\n\t\t\t\tif( /^(--)?[a-z]/.test(key) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst addProp = ( keys : string[] , val : any )=> {\n\n\t\t\t\t\t\tif( Array.isArray( val ) ) {\n\n\t\t\t\t\t\t\tif( val[0] && [ Array , Object ].includes( val[0].constructor ) ) {\n\t\t\t\t\t\t\t\tval = val.map( v => {\n\t\t\t\t\t\t\t\t\treturn Object.entries( v ).map( ([ n , a ])=> {\n\t\t\t\t\t\t\t\t\t\tif( a === true ) return kebab( n )\n\t\t\t\t\t\t\t\t\t\tif( a === false ) return null\n\t\t\t\t\t\t\t\t\t\treturn String( a )\n\t\t\t\t\t\t\t\t\t} ).filter( Boolean ).join(' ')\n\t\t\t\t\t\t\t\t}).join( ',' )\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tval = val.join(' ')\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tprops.push(`\\t${ keys.join('-') }: ${ val };\\n`)\n\n\t\t\t\t\t\t} else if( val.constructor === Object ) {\n\n\t\t\t\t\t\t\tfor( let suffix in val ) {\n\t\t\t\t\t\t\t\taddProp( [ ... keys , kebab( suffix ) ] , val[ suffix ] )\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tprops.push(`\\t${ keys.join('-') }: ${ val };\\n`)\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\taddProp( [ kebab(key) ] , (config as any)[key] )\n\n\t\t\t\t} else if( /^[A-Z]/.test(key) ) {\n\n\t\t\t\t\tmake_class( prefix , [ ... path , key.toLowerCase() ] , (config as any)[key] )\n\n\t\t\t\t} else if( key[0] === '$' ) {\n\n\t\t\t\t\tmake_class( selector( prefix , path ) + ' :where([' + $mol_dom_qname( key ) + '])' , [] , (config as any)[key] )\n\n\t\t\t\t} else if( key === '>' ) {\n\n\t\t\t\t\tconst types = config[key] as any\n\n\t\t\t\t\tfor( let type in types ) {\n\t\t\t\t\t\tmake_class( selector( prefix , path ) + ' > :where([' + $mol_dom_qname( type ) + '])' , [] , types[type] )\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@' ) {\n\n\t\t\t\t\tconst attrs = config[key] as any\n\n\t\t\t\t\tfor( let name in attrs ) {\n\t\t\t\t\t\tfor( let val in attrs[name] ) {\n\t\t\t\t\t\t\tmake_class( selector( prefix , path ) + ':where([' + name + '=' + JSON.stringify( val ) + '])' , [] , attrs[name][val] )\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@media' ) {\n\n\t\t\t\t\tconst media = (config as any)[key] as any\n\n\t\t\t\t\tfor( let query in media ) {\n\n\t\t\t\t\t\trules.push('}\\n')\n\t\t\t\t\t\t\n\t\t\t\t\t\tmake_class( prefix , path , media[query] )\n\t\t\t\t\t\t\n\t\t\t\t\t\trules.push( `${ key } ${ query } {\\n` )\n\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key[0] === '[' && key[key.length-1] === ']' ) {\n\n\t\t\t\t\tconst attr = key.slice( 1, -1 )\n\t\t\t\t\tconst vals = config[ key as any ] as any as Record< string, any >\n\t\t\t\t\t\n\t\t\t\t\tfor( let val in vals ) {\n\t\t\t\t\t\tmake_class( selector( prefix , path ) + ':where([' + attr + '=' + JSON.stringify( val ) + '])' , [] , vals[val] )\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t} else {\n\n\t\t\t\t\tmake_class( selector( prefix , path ) + key , [] , (config as any)[key] )\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tif( props.length ) {\n\t\t\t\trules.push( `${ selector( prefix , path ) } {\\n${ props.reverse().join('') }}\\n` )\n\t\t\t}\n\n\t\t}\n\n\t\tmake_class( '' , [] , config0 )\n\n\t\treturn rules.reverse().join('')\n\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * CSS in TS.\n\t * Statically typed CSS style sheets. Following samples show which CSS code are generated from TS code.\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport function $mol_style_define<\n\t\tComponent extends $mol_view,\n\t\tConfig extends $mol_style_guard< Component , Config >,\n\t>(\n\t\tComponent : new()=> Component,\n\t\tconfig : Config ,\n\t) {\n\n\t\treturn $mol_style_attach(\n\t\t\tComponent.name,\n\t\t\t$mol_style_sheet( Component , config ),\n\t\t)\n\n\t}\n\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Scrolling pane.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_scroll_demo\n\t */\n\texport class $mol_scroll extends $.$mol_scroll {\n\n\t\t@ $mol_mem\n\t\tscroll_top( next? : number, cache?: 'cache' ): number {\n\t\t\t\n\t\t\tconst el = this.dom_node()\n\t\t\tif( next !== undefined && !cache ) el.scrollTop = next\n\t\t\t\n\t\t\treturn el.scrollTop\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tscroll_left( next? : number, cache?: 'cache' ): number {\n\t\t\t\n\t\t\tconst el = this.dom_node()\n\t\t\tif( next !== undefined && !cache ) el.scrollLeft = next\n\t\t\t\n\t\t\treturn el.scrollLeft\n\t\t}\n\t\t\n\t\tevent_scroll( next? : Event ) {\n\t\t\t\n\t\t\tconst el = this.dom_node() as HTMLElement\n\t\t\t\n\t\t\tthis.scroll_left( el.scrollLeft, 'cache' )\n\t\t\tthis.scroll_top( el.scrollTop, 'cache' )\n\t\t\t\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn this.$.$mol_print.active() ? null! : 0\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.$.$mol_print.active() ? null! : 0\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $.$$ {\n\n\tconst { per , rem , px } = $mol_style_unit\n\n\t$mol_style_define( $mol_scroll , {\n\n\t\tdisplay: 'grid',\n\t\toverflow: 'auto',\n\t\tflex: {\n\t\t\tdirection: 'column',\n\t\t\tgrow: 1,\n\t\t\tshrink: 1,\n\t\t\t// basis: 0,\n\t\t},\n\t\toutline: 'none',\n\t\talignSelf: 'stretch',\n\t\tboxSizing: 'border-box',\n\t\twillChange: 'scroll-position',\n\t\tscroll: {\n\t\t\tpadding: [ rem(.75), 0 ],\n\t\t},\n\t\tmaxHeight: per(100),\n\t\tmaxWidth: per(100),\n\t\twebkitOverflowScrolling: 'touch',\n\t\tcontain: 'content',\n\n\t\t'>': {\n\t\t\t$mol_view: {\n\t\t\t\ttransform: 'translateZ(0)', // enforce gpu scroll in all agents\n\t\t\t\tgridArea: '1/1',\n\t\t\t},\n\t\t},\n\n\t\t'::before': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t'::after': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t\n\t\t'::-webkit-scrollbar': {\n\t\t\twidth: rem(.25),\n\t\t\theight: rem(.25),\n\t\t},\n\t\t\n\t\t'@media' : {\n\t\t\t'print' : {\n\t\t\t\toverflow: 'visible',\n\t\t\t\tcontain: 'none',\n\t\t\t\tmaxHeight: 'unset',\n\t\t\t},\n\t\t},\n\n\t})\n\n}\n","namespace $ {\n\texport class $mol_book2 extends $mol_scroll {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * menu_title \\\n\t\t * ```\n\t\t */\n\t\tmenu_title() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= pages\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.pages()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 0\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Placeholder $mol_view\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPlaceholder() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Gap* $mol_view title \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tGap(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.title = () => \"\"\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages /$mol_view\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport let $mol_mem_cached = $mol_wire_probe\n}\n","namespace $.$$ {\n\n\t/**\n\t * Root component for adaptivity to various screen sizes. Implements booklet UX.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_book2_demo\n\t */\n\texport class $mol_book2 extends $.$mol_book2 {\n\t\t\n\t\ttitle() {\n\t\t\treturn this.pages().map( page => {\n\t\t\t\ttry {\n\t\t\t\t\treturn page?.title()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t}\n\t\t\t} ).reverse().filter( Boolean ).join( ' | ' )\n\t\t}\n\t\t\n\t\tmenu_title() {\n\t\t\treturn this.pages()[0]?.title() || this.title()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\t\n\t\t\tconst next = [ ... this.pages(), this.Placeholder() ]\n\t\t\t\n\t\t\tconst prev = $mol_mem_cached( ()=> this.sub() ) ?? []\n\t\t\t\n\t\t\tfor( let i = 1 ; i++ ; ) {\n\t\t\t\t\n\t\t\t\tconst p = prev[ prev.length - i ]\n\t\t\t\tconst n = next[ next.length - i ]\n\t\t\t\t\n\t\t\t\tif( !n ) break\n\n\t\t\t\tif( p === n ) continue\n\n\t\t\t\tn.bring()\n\t\t\t\t\n\t\t\t\tbreak\n\n\t\t\t}\n\n\t\t\treturn next as readonly $mol_view[]\n\t\t}\n\t\t\n\t\tbring() {\n\t\t\t\n\t\t\tconst pages = this.pages()\n\t\t\t\n\t\t\tif( pages.length ) pages[ pages.length - 1 ].bring()\n\t\t\telse super.bring()\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/book2/book2.view.css\",\n \"[mol_book2] {\\n\\tdisplay: flex;\\n\\tflex-flow: row nowrap;\\n\\talign-items: stretch;\\n\\tflex: 1 1 auto;\\n\\talign-self: stretch;\\n\\tmargin: 0;\\n\\t/* box-shadow: 0 0 0 1px var(--mol_theme_line); */\\n\\t/* transform: translateZ(0); */\\n\\ttransition: none;\\n\\toverflow: overlay;\\n\\tscroll-snap-type: x mandatory;\\n\\tpadding: 0 1px;\\n\\tscroll-padding: 0 1px;\\n\\tgap: 1px;\\n}\\n\\n[mol_book2] > * {\\n/* \\tflex: none; */\\n\\tscroll-snap-stop: always;\\n\\tscroll-snap-align: end;\\n\\tposition: relative;\\n\\tmin-height: 100%;\\n\\tmax-height: 100%;\\n\\tmax-width: 100%;\\n\\tflex-shrink: 0;\\n}\\n\\n[mol_book2] > *:not(:first-of-type):before,\\n[mol_book2] > *:not(:last-of-type)::after {\\n\\tcontent: '';\\n\\tposition: absolute;\\n\\ttop: 1.5rem;\\n\\twidth: 3px;\\n\\theight: 1rem;\\n\\tbackground: linear-gradient(\\n\\t\\tto bottom,\\n\\t\\tvar(--mol_theme_focus) 0%,\\n\\t\\tvar(--mol_theme_focus) 15%,\\n\\t\\ttransparent 15%,\\n\\t\\ttransparent 42%,\\n\\t\\tvar(--mol_theme_focus) 42%,\\n\\t\\tvar(--mol_theme_focus) 58%,\\n\\t\\ttransparent 58%,\\n\\t\\ttransparent 85%,\\n\\t\\tvar(--mol_theme_focus) 85%,\\n\\t\\tvar(--mol_theme_focus) 100%\\n\\t);\\n\\topacity: .5;\\n}\\n[mol_book2] > *:not(:first-of-type):before {\\n\\tleft: -2px;\\n}\\n[mol_book2] > *:not(:last-of-type)::after {\\n\\tright: -2px;\\n}\\n\\n:where([mol_book2]) > * {\\n\\tbackground-color: var(--mol_theme_card);\\n\\t/* box-shadow: 0 0 0 1px var(--mol_theme_back); */\\n}\\n\\n[mol_book2] > [mol_book2] {\\n\\tdisplay: contents;\\n}\\n\\n[mol_book2] > *:first-child {\\n\\tscroll-snap-align: start;\\n}\\n\\n[mol_book2] > [mol_view] {\\n\\ttransform: none; /* prevent content clipping */\\n}\\n\\n[mol_book2_placeholder] {\\n\\tflex: 1 1 0;\\n\\tbackground: none;\\n}\\n\\n[mol_book2_gap] {\\n\\tbackground: none;\\n\\tflex-grow: 1;\\n\\tscroll-snap-align: none;\\n\\tmargin-right: -1px;\\n\\tbox-shadow: none;\\n}\\n\\n[mol_book2_gap]::before,\\n[mol_book2_gap]::after {\\n\\tdisplay: none;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_speck extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_theme <= theme\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_theme: this.theme()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style *\n\t\t * \t^\n\t\t * \tminHeight \\1em\n\t\t * ```\n\t\t */\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t...super.style(),\n\t\t\t\tminHeight: \"1em\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= value\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.value()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * theme \\$mol_theme_accent\n\t\t * ```\n\t\t */\n\t\ttheme() {\n\t\t\treturn \"$mol_theme_accent\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value null\n\t\t * ```\n\t\t */\n\t\tvalue() {\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\t/**\n\t * Z-index values for layers\n\t * https://page.hyoo.ru/#!=xthcpx_wqmiba\n\t */\n\texport let $mol_layer = $mol_style_prop(\n\t\t'mol_layer',\n\t\t[\n\t\t\t'hover',\n\t\t\t'focus',\n\t\t\t'speck',\n\t\t\t'float',\n\t\t\t'popup',\n\t\t]\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/layer/layer.css\",\n \":root {\\n\\t--mol_layer_hover: 1;\\n\\t--mol_layer_focus: 2;\\n\\t--mol_layer_speck: 3;\\n\\t--mol_layer_float: 4;\\n\\t--mol_layer_popup: 5;\\n}\\n\"\n) }","namespace $ { $mol_style_attach( \"mol/speck/speck.view.css\",\n \"[mol_speck] {\\n\\tfont-size: .625rem;\\n\\tborder-radius: 1rem;\\n\\tmargin: -0.5rem -0.25rem;\\n\\talign-self: flex-start;\\n\\tmin-height: 1em;\\n\\tmin-width: .5em;\\n\\tvertical-align: sub;\\n\\tpadding: .25em .5em;\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_speck);\\n\\ttext-align: center;\\n\\tline-height: 1;\\n\\tdisplay: inline-block;\\n\\twhite-space: nowrap;\\n\\ttext-overflow: ellipsis;\\n\\tuser-select: none;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_button extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclick(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_click(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tclick?event <=> event_activate?event\n\t\t * \tdblclick?event <=> clicks?event\n\t\t * \tkeydown?event <=> event_key_press?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tclick: (event?: any) => this.event_activate(event),\n\t\t\t\tdblclick: (event?: any) => this.clicks(event),\n\t\t\t\tkeydown: (event?: any) => this.event_key_press(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tdisabled <= disabled\n\t\t * \trole \\button\n\t\t * \ttabindex <= tab_index\n\t\t * \ttitle <= hint_safe\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tdisabled: this.disabled(),\n\t\t\t\trole: \"button\",\n\t\t\t\ttabindex: this.tab_index(),\n\t\t\t\ttitle: this.hint_safe()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /$mol_view_content <= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Speck $mol_speck value <= error\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSpeck() {\n\t\t\tconst obj = new this.$.$mol_speck()\n\t\t\t\n\t\t\tobj.value = () => this.error()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_activate?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_activate(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clicks?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclicks(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_key_press?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_key_press(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * disabled false\n\t\t * ```\n\t\t */\n\t\tdisabled() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tab_index 0\n\t\t * ```\n\t\t */\n\t\ttab_index() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_safe <= hint\n\t\t * ```\n\t\t */\n\t\thint_safe() {\n\t\t\treturn this.hint()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * error \\\n\t\t * ```\n\t\t */\n\t\terror() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\t/**\n\t* Key names code for hotkey\n\t* @see [mol_hotkey](../../hotkey/hotkey.view.ts)\n\t*/\n\texport enum $mol_keyboard_code {\n\t\tbackspace = 8,\n\t\ttab = 9,\n\t\tenter = 13,\n\t\tshift = 16,\n\t\tctrl = 17,\n\t\talt = 18,\n\t\tpause = 19,\n\t\tcapsLock = 20,\n\t\tescape = 27,\n\t\tspace = 32,\n\t\tpageUp = 33,\n\t\tpageDown = 34,\n\t\tend = 35,\n\t\thome = 36,\n\t\tleft = 37,\n\t\tup = 38,\n\t\tright = 39,\n\t\tdown = 40,\n\t\tinsert = 45,\n\t\tdelete = 46,\n\t\tkey0 = 48,\n\t\tkey1 = 49,\n\t\tkey2 = 50,\n\t\tkey3 = 51,\n\t\tkey4 = 52,\n\t\tkey5 = 53,\n\t\tkey6 = 54,\n\t\tkey7 = 55,\n\t\tkey8 = 56,\n\t\tkey9 = 57,\n\t\tA = 65,\n\t\tB = 66,\n\t\tC = 67,\n\t\tD = 68,\n\t\tE = 69,\n\t\tF = 70,\n\t\tG = 71,\n\t\tH = 72,\n\t\tI = 73,\n\t\tJ = 74,\n\t\tK = 75,\n\t\tL = 76,\n\t\tM = 77,\n\t\tN = 78,\n\t\tO = 79,\n\t\tP = 80,\n\t\tQ = 81,\n\t\tR = 82,\n\t\tS = 83,\n\t\tT = 84,\n\t\tU = 85,\n\t\tV = 86,\n\t\tW = 87,\n\t\tX = 88,\n\t\tY = 89,\n\t\tZ = 90,\n\t\tmetaLeft = 91,\n\t\tmetaRight = 92,\n\t\tselect = 93,\n\t\tnumpad0 = 96,\n\t\tnumpad1 = 97,\n\t\tnumpad2 = 98,\n\t\tnumpad3 = 99,\n\t\tnumpad4 = 100,\n\t\tnumpad5 = 101,\n\t\tnumpad6 = 102,\n\t\tnumpad7 = 103,\n\t\tnumpad8 = 104,\n\t\tnumpad9 = 105,\n\t\tmultiply = 106,\n\t\tadd = 107,\n\t\tsubtract = 109,\n\t\tdecimal = 110,\n\t\tdivide = 111,\n\t\tF1 = 112,\n\t\tF2 = 113,\n\t\tF3 = 114,\n\t\tF4 = 115,\n\t\tF5 = 116,\n\t\tF6 = 117,\n\t\tF7 = 118,\n\t\tF8 = 119,\n\t\tF9 = 120,\n\t\tF10 = 121,\n\t\tF11 = 122,\n\t\tF12 = 123,\n\t\tnumLock = 144,\n\t\tscrollLock = 145,\n\t\tsemicolon = 186,\n\t\tequals = 187,\n\t\tcomma = 188,\n\t\tdash = 189,\n\t\tperiod = 190,\n\t\tforwardSlash = 191,\n\t\tgraveAccent = 192,\n\t\tbracketOpen = 219,\n\t\tslashBack = 220,\n\t\tslashBackLeft = 226,\n\t\tbracketClose = 221,\n\t\tquoteSingle = 222\n\t}\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Simple button.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button extends $.$mol_button {\n\n\t\t@ $mol_mem\n\t\tstatus( next = [ null as any ] ) { return next }\n\t\t\n\t\tdisabled() {\n\t\t\treturn !this.enabled()\n\t\t}\n\t\t\n\t\tevent_activate( next : Event ) {\n\t\t\t\n\t\t\tif( !next ) return\n\t\t\tif( !this.enabled() ) return\n\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tthis.event_click( next )\n\t\t\t\tthis.click( next )\n\t\t\t\tthis.status([ null ])\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tPromise.resolve().then( ()=> this.status([ error ]) )\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tevent_key_press ( event: KeyboardEvent ) { \n\t\t\tif( event.keyCode === $mol_keyboard_code.enter ) {\n\t\t\t\treturn this.event_activate( event )\n\t\t\t}\n\t\t} \n\t\t\n\t\ttab_index() {\n\t\t\treturn this.enabled() ? super.tab_index() : -1\n\t\t}\n\n\t\terror() {\n\n\t\t\tconst [ error ] = this.status()\n\t\t\tif( !error ) return ''\n\n\t\t\tif( error instanceof Promise ) {\n\t\t\t\treturn $mol_fail_hidden( error )\n\t\t\t}\n\t\t\t\n\t\t\treturn String( error.message ?? error )\n\n\t\t}\n\t\t\n\t\thint_safe() {\n\t\t\ttry {\n\t\t\t\treturn this.hint()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn ''\n\t\t\t}\n\t\t}\n\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\t... this.error() ? [ this.Speck() ] : [] ,\n\t\t\t\t... this.sub() ,\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/button/button.view.css\",\n \"[mol_button] {\\n\\tborder: none;\\n\\tfont: inherit;\\n\\tdisplay: inline-flex;\\n\\tflex-shrink: 0;\\n\\ttext-decoration: inherit;\\n\\tcursor: inherit;\\n\\tposition: relative;\\n\\tbox-sizing: border-box;\\n\\tword-break: normal;\\n\\tcursor: default;\\n\\tuser-select: none;\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[mol_button]:where(:not(:disabled)):hover {\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_button]:focus-visible {\\n\\toutline: none;\\n\\tz-index: var(--mol_layer_focus);\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_button_typed extends $mol_button {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 40\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 40\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 40\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 40\n\t\t}\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/button/typed/typed.view.css\",\n \"[mol_button_typed] {\\n\\talign-content: center;\\n\\talign-items: center;\\n\\tpadding: var(--mol_gap_text);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tgap: var(--mol_gap_space);\\n\\tuser-select: none;\\n\\tcursor: pointer;\\n}\\n\\n[mol_button_typed][disabled] {\\n\\tpointer-events: none;\\n}\\n\\n[mol_button_typed]:hover ,\\n[mol_button_typed]:focus-visible {\\n\\tbackground-color: var(--mol_theme_hover);\\n}\\n\\n[mol_button_typed]:active {\\n\\tcolor: var(--mol_theme_focus);\\n}\\n\\n\"\n) }","namespace $ {\n\texport class $mol_button_minor extends $mol_button_typed {\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/button/minor/minor.view.css\",\n \"[mol_button_minor] {\\n\\tcolor: var(--mol_theme_control);\\n}\\n\\n[mol_button_minor][disabled] {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_svg extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\svg\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"svg\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name_space \\http://www.w3.org/2000/svg\n\t\t * ```\n\t\t */\n\t\tdom_name_space() {\n\t\t\treturn \"http://www.w3.org/2000/svg\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * font_size 16\n\t\t * ```\n\t\t */\n\t\tfont_size() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * font_family \\\n\t\t * ```\n\t\t */\n\t\tfont_family() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style_size *\n\t\t * ```\n\t\t */\n\t\tstyle_size() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\t\n\t/** State of time moment */\n\texport class $mol_state_time extends $mol_object {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic task( precision: number, reset?: null ): $mol_after_timeout | $mol_after_frame {\n\t\t\t\n\t\t\tif( precision ) {\n\t\t\t\treturn new $mol_after_timeout( precision, ()=> this.task( precision, null ) )\n\t\t\t} else {\n\t\t\t\treturn new $mol_after_frame( ()=> this.task( precision, null ) )\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic now( precision: number ) {\n\t\t\tthis.task( precision )\n\t\t\treturn Date.now()\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\t/** Base SVG component to display SVG images or icons. */\n\texport class $mol_svg extends $.$mol_svg {\n\t\t@$mol_mem\n\t\tcomputed_style() {\n\t\t\tconst win = this.$.$mol_dom_context\n\t\t\tconst style = win.getComputedStyle(this.dom_node()) as Record\n\n\t\t\tif(!style['font-size']) $mol_state_time.now( 0 )\n\n\t\t\treturn style\n\t\t}\n\n\t\t@$mol_mem\n\t\tfont_size(): number {\n\t\t\treturn parseInt(this.computed_style()['font-size']) || 16\n\t\t}\n\n\t\t@$mol_mem\n\t\tfont_family() {\n\t\t\treturn this.computed_style()['font-family']\n\t\t}\n\n\t}\n}\n","namespace $ {\n\texport class $mol_svg_root extends $mol_svg {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\svg\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"svg\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tviewBox <= view_box\n\t\t * \tpreserveAspectRatio <= aspect\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tviewBox: this.view_box(),\n\t\t\t\tpreserveAspectRatio: this.aspect()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_box \\0 0 100 100\n\t\t * ```\n\t\t */\n\t\tview_box() {\n\t\t\treturn \"0 0 100 100\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * aspect \\xMidYMid\n\t\t * ```\n\t\t */\n\t\taspect() {\n\t\t\treturn \"xMidYMid\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/svg/root/root.view.css\",\n \"[mol_svg_root] {\\n\\toverflow: hidden;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_svg_path extends $mol_svg {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\path\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"path\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \td <= geometry\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\td: this.geometry()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * geometry \\\n\t\t * ```\n\t\t */\n\t\tgeometry() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon extends $mol_svg_root {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_box \\0 0 24 24\n\t\t * ```\n\t\t */\n\t\tview_box() {\n\t\t\treturn \"0 0 24 24\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 16\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 16\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Path\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Path()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Path $mol_svg_path geometry <= path\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPath() {\n\t\t\tconst obj = new this.$.$mol_svg_path()\n\t\t\t\n\t\t\tobj.geometry = () => this.path()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/icon/icon.view.css\",\n \"[mol_icon] {\\n\\tfill: currentColor;\\n\\tstroke: none;\\n\\twidth: 1em;\\n\\theight: 1.5em;\\n\\tflex: 0 0 auto;\\n\\tvertical-align: top;\\n\\tdisplay: inline-block;\\n\\tfilter: drop-shadow(0px 1px 1px var(--mol_theme_back));\\n\\ttransform-origin: center;\\n}\\n\\n[mol_icon_path] {\\n\\ttransform-origin: center;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_icon_upload extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_button_open extends $mol_button_minor {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Icon\n\t\t * \t<= Native\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon(),\n\t\t\t\tthis.Native()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_upload\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_upload()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * files?next /\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tfiles(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * accept \\\n\t\t * ```\n\t\t */\n\t\taccept() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * multiple true\n\t\t * ```\n\t\t */\n\t\tmultiple() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Native $mol_button_open_native\n\t\t * \tfiles?next <=> files?next\n\t\t * \taccept <= accept\n\t\t * \tmultiple <= multiple\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNative() {\n\t\t\tconst obj = new this.$.$mol_button_open_native()\n\t\t\t\n\t\t\tobj.files = (next?: any) => this.files(next)\n\t\t\tobj.accept = () => this.accept()\n\t\t\tobj.multiple = () => this.multiple()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n\texport class $mol_button_open_native extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\input\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"input\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * files?next /\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tfiles(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \ttype \\file\n\t\t * \taccept <= accept\n\t\t * \tmultiple <= multiple\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\ttype: \"file\",\n\t\t\t\taccept: this.accept(),\n\t\t\t\tmultiple: this.multiple()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event * change?next <=> picked?next\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\tchange: (next?: any) => this.picked(next)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * accept \\\n\t\t * ```\n\t\t */\n\t\taccept() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * multiple true\n\t\t * ```\n\t\t */\n\t\tmultiple() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * picked?next null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tpicked(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\t/**\n\t * File open button\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button_open_native extends $.$mol_button_open_native {\n\t\t\n\t\tdom_node() {\n\t\t\treturn super.dom_node() as HTMLInputElement\n\t\t}\n\t\t\n\t\tpicked() {\n\t\t\t\n\t\t\tconst files = this.dom_node().files\n\t\t\tif( !files || !files.length ) return\n\t\t\t\n\t\t\tthis.files([ ... files ])\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/button/open/open.view.css\",\n \"[mol_button_open_native] {\\n\\tposition: absolute;\\n\\tleft: 0;\\n\\ttop: -100%;\\n\\twidth: 100%;\\n\\theight: 200%;\\n\\tcursor: pointer;\\n\\topacity: 0;\\n}\\n\"\n) }","namespace $ {\n\texport let $mol_mem_persist = $mol_wire_solid\n}\n","namespace $ {\n\t\n\t/**\n\t * Convert asynchronous (promise-based) API to synchronous by wrapping function and method calls in a fiber.\n\t * @see https://mol.hyoo.ru/#!section=docs/=1fcpsq_1wh0h2\n\t */\n\texport function $mol_wire_sync< Host extends object >( obj: Host ) {\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tconst val = (obj as any)[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\t\n\t\t\t\tconst temp = $mol_wire_task.getter( val )\n\t\t\t\treturn function $mol_wire_sync( this: Host, ... args: any[] ) {\n\t\t\t\t\tconst fiber = temp( obj, args )\n\t\t\t\t\treturn fiber.sync()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t},\n\t\t\t\n\t\t\tapply( obj, self, args ) {\n\t\t\t\tconst temp = $mol_wire_task.getter( obj as ( ... args: any[] )=> any )\n\t\t\t\tconst fiber = temp( self, args )\n\t\t\t\treturn fiber.sync()\n\t\t\t},\n\t\t\t\n\t\t} ) as unknown as ObjectOrFunctionResultAwaited\n\t}\n\n\ttype FunctionResultAwaited = Some extends (...args: infer Args) => infer Res\n\t\t? (...args: Args) => Awaited\n\t\t: Some\n\n\ttype MethodsResultAwaited = {\n\t\t[K in keyof Host]: FunctionResultAwaited\n\t}\n\n\ttype ObjectOrFunctionResultAwaited = (\n\t\tSome extends (...args: any) => unknown ? FunctionResultAwaited : {}\n\t) & ( Some extends Object ? MethodsResultAwaited : Some )\n\n}\n","namespace $ {\n\texport class $mol_storage extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic native() {\n\t\t\treturn this.$.$mol_dom_context.navigator.storage ?? { // exists only in secure context\n\t\t\t\tpersisted: async ()=> false,\n\t\t\t\tpersist: async ()=> false,\n\t\t\t\testimate: async ()=> ({}),\n\t\t\t\tgetDirectory: async ()=> null! as FileSystemHandle,\n\t\t\t} as StorageManager\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic persisted( next?: boolean, cache?: 'cache' ): boolean {\n\t\t\t\n\t\t\t$mol_mem_persist()\n\t\t\t\n\t\t\tif( cache ) return Boolean( next )\n\t\t\t\n\t\t\tconst native = this.native()\n\t\t\tif( next && !$mol_mem_cached( ()=> this.persisted() ) ) {\n\t\t\t\tnative.persist().then( actual => {\n\t\t\t\t\t\n\t\t\t\t\tsetTimeout( ()=> this.persisted( actual, 'cache' ), 5000 )\n\t\t\t\t\t\n\t\t\t\t\tif( actual ) this.$.$mol_log3_done({ place: `$mol_storage`, message: `Persist: Yes` })\n\t\t\t\t\telse this.$.$mol_log3_fail({ place: `$mol_storage`, message: `Persist: No` })\n\t\t\t\t\t\n\t\t\t\t} )\n\t\t\t}\n\t\t\t\n\t\t\treturn next ?? $mol_wire_sync( native ).persisted()\n\t\t}\n\t\t\n\t\tstatic estimate() {\n\t\t\treturn $mol_wire_sync( this.native() ?? {} ).estimate()\n\t\t}\n\t\t\n\t\tstatic dir() {\n\t\t\treturn $mol_wire_sync( this.native() ).getDirectory()\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\texport class $mol_state_local< Value > extends $mol_object {\n\t\t\n\t\tstatic 'native()' : Pick< Storage , 'getItem'|'setItem'|'removeItem' >\n\t\tstatic native() {\n\t\t\tif( this['native()'] ) return this['native()']\n\n\t\t\tcheck : try {\n\t\t\t\tconst native = $mol_dom_context.localStorage\n\t\t\t\tif( !native ) break check\n\t\t\t\t\n\t\t\t\tnative.setItem( '' , '' )\n\t\t\t\tnative.removeItem( '' )\n\t\t\t\treturn this['native()'] = native\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.warn( error )\n\t\t\t}\n\n\t\t\treturn this['native()'] = {\n\t\t\t\tgetItem( key : string ) {\n\t\t\t\t\treturn (this as any)[ ':' + key ]\n\t\t\t\t} ,\n\t\t\t\tsetItem( key : string , value : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = value\n\t\t\t\t} ,\n\t\t\t\tremoveItem( key : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = void 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic changes( next?: StorageEvent ) { return next }\n\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >(\n\t\t\tkey : string ,\n\t\t\tnext? : Value | null ,\n\t\t) : Value | null {\n\t\t\t\n\t\t\tthis.changes()\n\t\t\t\n\t\t\tif( next === void 0 ) return JSON.parse( this.native().getItem( key ) || 'null' )\n\t\t\t\n\t\t\tif( next === null ) {\n\t\t\t\tthis.native().removeItem( key )\n\t\t\t} else {\n\t\t\t\tthis.native().setItem( key , JSON.stringify( next ) )\n\t\t\t\tthis.$.$mol_storage.persisted( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tprefix() { return '' }\n\t\t\n\t\tvalue( key : string , next? : Value ) {\n\t\t\treturn $mol_state_local.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst decoders = {} as { [ key in $mol_charset_encoding ]?: TextDecoder }\n\n\texport function $mol_charset_decode(\n\t\tbuffer: BufferSource,\n\t\tencoding: $mol_charset_encoding = 'utf8',\n\t) {\n\t\t\n\t\tlet decoder = decoders[ encoding ]\n\t\tif( !decoder ) decoder = decoders[ encoding ] = new TextDecoder( encoding )\n\t\t\n\t\treturn decoder.decode( buffer )\n\t}\n\n}\n","namespace $ {\n\tconst TextEncoder = globalThis.TextEncoder ?? $node.util.TextEncoder\n\n\tconst encoder = new TextEncoder()\n\n\texport function $mol_charset_encode(value: string) {\n\t\treturn encoder.encode(value)\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_file_type = 'file' | 'dir' | 'link'\n\n\texport interface $mol_file_stat {\n\t\ttype: $mol_file_type\n\t\tsize: number\n\t\tatime: Date\n\t\tmtime: Date\n\t\tctime: Date\n\t}\n\n\texport class $mol_file_not_found extends Error {}\n\n\texport abstract class $mol_file extends $mol_object {\n\t\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ): $mol_file {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\n\t\tstatic relative( path : string ) : $mol_file {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\t\t\n\t\tstatic base = ''\n\t\t\n\t\tpath() {\n\t\t\treturn '.'\n\t\t}\n\t\t\n\t\tparent() {\n\t\t\treturn this.resolve( '..' )\n\t\t}\n\n\t\tabstract stat( next? : $mol_file_stat | null, virt?: 'virt' ): $mol_file_stat | null\n\n\t\treset(): void {\n\t\t\ttry {\n\t\t\t\tthis.stat( null )\n\t\t\t} catch( error: any ) {\n\t\t\t\tif (error instanceof $mol_file_not_found) return\n\t\t\t\treturn $mol_fail_hidden(error)\n\t\t\t}\n\t\t}\n\t\t\n\t\tversion() {\n\t\t\treturn this.stat()?.mtime.getTime().toString( 36 ).toUpperCase() ?? ''\n\t\t}\n\n\t\tabstract ensure(): void\n\n\t\twatcher() {\n\t\t\tconsole.warn('$mol_file_web.watcher() not implemented')\n\n\t\t\treturn {\n\t\t\t\tdestructor() {}\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texists( next? : boolean ) {\n\t\t\t\n\t\t\tlet exists = Boolean( this.stat() )\n\n\t\t\tif( next === undefined ) return exists\n\t\t\tif( next === exists ) return exists\n\n\t\t\tif( next ) this.parent().exists( true )\n\t\t\tthis.ensure()\n\t\t\tthis.reset()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\ttype() {\n\t\t\treturn this.stat()?.type ?? ''\n\t\t}\n\t\t\n\t\tname() {\n\t\t\treturn this.path().replace( /^.*\\//, '' )\n\t\t}\n\t\t\n\t\text() {\n\t\t\tconst match = /((?:\\.\\w+)+)$/.exec( this.path() )\n\t\t\treturn match ? match[ 1 ].substring( 1 ) : ''\n\t\t}\n\n\t\tabstract buffer( next? : Uint8Array ): Uint8Array\n\n\t\t@ $mol_mem\n\t\ttext(next?: string, virt?: 'virt') {\n\t\t\tif( virt ) {\n\t\t\t\tconst now = new Date\n\t\t\t\tthis.stat( {\n\t\t\t\t\ttype: 'file',\n\t\t\t\t\tsize: 0,\n\t\t\t\t\tatime: now,\n\t\t\t\t\tmtime: now,\n\t\t\t\t\tctime: now,\t\t\t\n\t\t\t\t}, 'virt' )\n\t\t\t\treturn next!\n\t\t\t}\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn $mol_charset_decode( this.buffer( undefined ) )\t\n\t\t\t} else {\n\t\t\t\tconst buffer = next === undefined ? undefined : $mol_charset_encode( next )\n\t\t\t\tthis.buffer( buffer )\n\t\t\t\treturn next\n\t\t\t}\n\t\t}\n\n\t\tabstract sub(): $mol_file[]\n\n\t\tabstract resolve(path: string): $mol_file\n\n\t\tabstract relate( base?: $mol_file ): string\n\t\t\n\t\tabstract append( next : Uint8Array | string ): void\n\t\t\n\t\tfind(\n\t\t\tinclude? : RegExp ,\n\t\t\texclude? : RegExp\n\t\t) {\n\t\t\tconst found = [] as $mol_file[]\n\t\t\tconst sub = this.sub()\n\n\t\t\tfor (const child of sub) {\n\t\t\t\tconst child_path = child.path()\n\n\t\t\t\tif( exclude && child_path.match( exclude ) ) continue\n\n\t\t\t\tif( !include || child_path.match( include ) ) found.push( child )\n\n\t\t\t\tif( child.type() === 'dir' ) {\n\t\t\t\t\tconst sub_child = child.find( include , exclude )\n\t\t\t\t\tfor (const child of sub_child) found.push(child)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn found\n\t\t}\n\n\t\tsize() {\n\t\t\tswitch( this.type() ) {\n\t\t\t\tcase 'file': return this.stat()?.size ?? 0\n\t\t\t\tdefault: return 0\n\t\t\t}\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n export function $mol_compare_array>(a: Value, b: Value): boolean {\n\t\tif (a === b) return true\n\t\tif (Object.getPrototypeOf(a) !== Object.getPrototypeOf(b)) return false\n\t\tif (a.length !== b.length) return false\n\n\t\tfor (let i = 0; i < a.length; i++)\n\t\t\tif (a[i] !== b[i]) return false\n\n\t\treturn true\n\t}\n}\n","namespace $ {\n\n\tfunction stat_convert(stat: ReturnType): null | $mol_file_stat {\n\t\t\n\t\tif( !stat ) return null\n\t\t\n\t\tlet type: $mol_file_type | undefined\n\t\tif (stat.isDirectory()) type = 'dir'\n\t\tif (stat.isFile()) type = 'file'\n\t\tif (stat.isSymbolicLink()) type = 'link'\n\n\t\tif (! type) return $mol_fail( new Error(`Unsupported file type`) )\n\n\t\treturn {\n\t\t\ttype, \n\t\t\tsize: Number(stat.size),\n\t\t\tatime: stat.atime,\n\t\t\tmtime: stat.mtime,\n\t\t\tctime: stat.ctime\n\t\t}\n\t}\n\n\tfunction buffer_normalize(buf: Buffer): Uint8Array {\n\t\treturn new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength)\n\t}\n\n\texport class $mol_file_node extends $mol_file {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ) {\n\t\t\treturn this.make({\n\t\t\t\tpath : $mol_const( path )\n\t\t\t})\n\t\t}\n\n\t\tstatic relative( path : string ) {\n\t\t\treturn this.absolute( $node.path.resolve( this.base, path ).replace( /\\\\/g , '/' ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\twatcher() {\n\n\t\t\tconst watcher = $node.chokidar.watch( this.path() , {\n\t\t\t\tpersistent : true ,\n\t\t\t\tignored : /(^\\.|___$)/ ,\n\t\t\t\tdepth : 0 ,\n\t\t\t\tignoreInitial : true ,\n\t\t\t\tawaitWriteFinish: {\n\t\t\t\t\tstabilityThreshold: 100,\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\twatcher\n\t\t\t.on( 'all' , ( type , path )=> {\n\t\t\t\t\n\t\t\t\tconst file = $mol_file.relative( path.replace( /\\\\/g , '/' ) )\n\n\t\t\t\tfile.reset()\n\t\t\t\t\n\t\t\t\tif( type === 'change' ) {\n\t\t\t\t\tthis.stat( null )\n\t\t\t\t} else {\n\t\t\t\t\tfile.parent().reset()\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t.on( 'error' , $mol_fail_log )\n\t\t\t\n\t\t\treturn {\n\t\t\t\tdestructor() {\n\t\t\t\t\twatcher.close()\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstat( next? : $mol_file_stat | null, virt?: 'virt' ) {\n\t\t\t\n\t\t\tlet stat = next\n\t\t\tconst path = this.path()\n\n\t\t\tthis.parent().watcher()\n\t\t\t\n\t\t\tif( virt ) return next!\n\t\t\t\n\t\t\ttry {\n\t\t\t\tstat = next ?? stat_convert($node.fs.statSync( path, { throwIfNoEntry: false } ))\n\t\t\t} catch( error: any ) {\n\t\t\t\tif (error.code === 'ENOENT') error = new $mol_file_not_found(`File not found`)\n\t\t\t\terror.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(error)\n\t\t\t}\n\n\t\t\treturn stat\n\t\t}\n\n\t\t@ $mol_mem\n\t\tensure() {\n\t\t\tconst path = this.path()\n\n\t\t\ttry {\n\t\t\t\t$node.fs.mkdirSync( path )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\tthis.$.$mol_fail_hidden(e)\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tbuffer( next? : Uint8Array ) {\n\n\t\t\tconst path = this.path()\n\t\t\tif( next === undefined ) {\n\n\t\t\t\tif( !this.stat() ) return new Uint8Array\n\t\t\t\t\n\t\t\t\ttry {\n\n\t\t\t\t\tconst prev = $mol_mem_cached( ()=> this.buffer() )\n\t\t\t\t\t\n\t\t\t\t\tnext = buffer_normalize( $node.fs.readFileSync( path ) )\n\n\t\t\t\t\tif( prev !== undefined && !$mol_compare_array( prev, next ) ) {\n\t\t\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\t\t\tplace: `$mol_file_node..buffer()`,\n\t\t\t\t\t\t\tmessage: 'Changed' ,\n\t\t\t\t\t\t\tpath: this.relate() ,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\treturn next\n\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\terror.message += '\\n' + path\n\t\t\t\t\treturn this.$.$mol_fail_hidden( error )\n\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.parent().exists( true )\n\t\t\t\n\t\t\tconst now = new Date\n\t\t\tthis.stat( {\n\t\t\t\ttype: 'file',\n\t\t\t\tsize: next.length,\n\t\t\t\tatime: now,\n\t\t\t\tmtime: now,\n\t\t\t\tctime: now,\n\t\t\t}, 'virt' )\n\n\t\t\ttry {\n\n\t\t\t\t$node.fs.writeFileSync( path, next )\n\n\t\t\t} catch( error: any ) {\n\n\t\t\t\terror.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden( error )\n\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\n\t\t}\n\t\t@ $mol_mem\n\t\tsub() : $mol_file[] {\n\t\t\tif (! this.exists() ) return []\n\t\t\tif ( this.type() !== 'dir') return []\n\n\t\t\tconst path = this.path()\n\t\t\tthis.stat()\n\n\t\t\ttry {\n\t\t\t\treturn $node.fs.readdirSync( path )\n\t\t\t\t\t.filter( name => !/^\\.+$/.test( name ) )\n\t\t\t\t\t.map( name => this.resolve( name ) )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(e)\n\t\t\t}\n\t\t}\n\t\t\n\t\tresolve( path : string ) {\n\t\t\treturn ( this.constructor as typeof $mol_file ).relative( $node.path.join( this.path() , path ) )\n\t\t}\n\t\t\n\t\trelate( base = ( this.constructor as typeof $mol_file ).relative( '.' )) {\n\t\t\treturn $node.path.relative( base.path() , this.path() ).replace( /\\\\/g , '/' )\n\t\t}\n\t\t\n\t\tappend( next : Uint8Array | string ) {\n\t\t\tconst path = this.path()\n\t\t\ttry {\n\t\t\t\t$node.fs.appendFileSync( path , next )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(e)\n\t\t\t}\n\t\t}\t\t\n\t}\n\n\t$.$mol_file = $mol_file_node\n}\n","namespace $ {\n\t\n\texport interface $mol_locale_dict {\n\t\t[ key : string ] : string\n\t}\n\t\n\t/**\n\t * Localisation in $mol framework\n\t * @see https://mol.hyoo.ru/#!section=docs/=s5aqnb_odub8l\n\t */\n\texport class $mol_locale extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic lang_default() {\n\t\t\treturn 'en'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic lang( next? : string ) {\n\t\t\treturn this.$.$mol_state_local.value( 'locale' , next ) || $mol_dom_context.navigator.language.replace( /-.*/ , '' ) || this.lang_default()\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic source( lang : string ) {\n\t\t\treturn JSON.parse( this.$.$mol_file.relative( `web.locale=${ lang }.json` ).text().toString() )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic texts( lang : string , next? : $mol_locale_dict ) : $mol_locale_dict {\n\t\t\tif( next ) return next\n\t\t\t\n\t\t\ttry {\n\t\t\t\treturn this.source( lang ).valueOf()\n\t\t\t} catch( error: any ) {\n\t\t\t\tif( $mol_fail_catch( error ) ) {\n\t\t\t\t\tconst def = this.lang_default()\n\t\t\t\t\tif( lang === def ) throw error\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic text( key : string ): string {\n\t\t\t\n\t\t\tconst lang = this.lang()\n\n\t\t\tconst target = this.texts( lang )[ key ]\n\t\t\tif( target ) return target\n\t\t\t\n\t\t\tthis.warn( key )\n\t\t\t\n\t\t\tconst en = this.texts( 'en' )[ key ]\n\t\t\tif( !en ) return key\n\t\t\t\n\t\t\t// try {\n\t\t\t// \treturn $mol_wire_sync( $hyoo_lingua_translate ).call( this.$, lang, en )\n\t\t\t// } catch( error ) {\n\t\t\t// \t$mol_fail_log( error )\n\t\t\t// }\n\t\t\t\n\t\t\treturn en\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic warn( key : string ) {\n\t\t\tconsole.warn( `Not translated to \"${ this.lang() }\": ${ key }` )\n\t\t\treturn null\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport class $mol_link extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\a\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"a\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_off \\\n\t\t * ```\n\t\t */\n\t\turi_off() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_native null\n\t\t * ```\n\t\t */\n\t\turi_native() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * external false\n\t\t * ```\n\t\t */\n\t\texternal() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \thref <= uri_toggle\n\t\t * \ttitle <= hint_safe\n\t\t * \ttarget <= target\n\t\t * \tdownload <= file_name\n\t\t * \tmol_link_current <= current\n\t\t * \trel <= relation\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\thref: this.uri_toggle(),\n\t\t\t\ttitle: this.hint_safe(),\n\t\t\t\ttarget: this.target(),\n\t\t\t\tdownload: this.file_name(),\n\t\t\t\tmol_link_current: this.current(),\n\t\t\t\trel: this.relation()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /$mol_view_content <= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * arg *\n\t\t * ```\n\t\t */\n\t\targ() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tclick?event <=> click?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tclick: (event?: any) => this.click(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_toggle \\\n\t\t * ```\n\t\t */\n\t\turi_toggle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_safe <= hint\n\t\t * ```\n\t\t */\n\t\thint_safe() {\n\t\t\treturn this.hint()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * target \\_self\n\t\t * ```\n\t\t */\n\t\ttarget() {\n\t\t\treturn \"_self\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * file_name \\\n\t\t * ```\n\t\t */\n\t\tfile_name() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current false\n\t\t * ```\n\t\t */\n\t\tcurrent() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * relation \\\n\t\t * ```\n\t\t */\n\t\trelation() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_click(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * click?event <=> event_click?event\n\t\t * ```\n\t\t */\n\t\tclick(event?: any) {\n\t\t\treturn this.event_click(event)\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\t/**\n\t * Decorates method to fiber to ensure it is executed only once inside other fiber from [mol_wire](../wire/README.md)\n\t * @see https://mol.hyoo.ru/#!section=docs/=1fcpsq_1wh0h2\n\t */\n\texport let $mol_action = $mol_wire_method\n}\n","namespace $ {\n\n\t/** State of arguments like `foo=bar xxx` */\n\texport class $mol_state_arg extends $mol_object {\n\t\t\n\t\tstatic prolog = ''\n\t\tstatic separator = ' '\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href( next? : string ) {\n\t\t\treturn next || process.argv.slice( 2 ).join( ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href_normal() {\n\t\t\treturn this.link({})\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic dict( next? : { [ key : string ] : string | null } ) {\n\t\t\tif( next !== void 0 ) this.href( this.make_link( next ) )\n\t\t\t\n\t\t\tvar href = this.href()\n\t\t\tvar chunks = href.split( ' ' )\n\t\t\t\n\t\t\tvar params : { [ key : string ] : string } = {}\n\t\t\tchunks.forEach(\n\t\t\t\tchunk => {\n\t\t\t\t\tif( !chunk ) return\n\t\t\t\t\tvar vals = chunk.split( '=' ).map( decodeURIComponent )\n\t\t\t\t\tparams[ vals.shift()! ] = vals.join('=')\n\t\t\t\t}\n\t\t\t)\n\t\t\t\n\t\t\treturn params as Readonly< typeof params >\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic value( key : string , next? : string | null ) {\n\t\t\tif( next === void 0 ) return this.dict()[ key ] ?? null\n\t\t\tthis.href( this.link( { [ key ] : next } ) )\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tstatic link( next : Record ) {\n\t\t\tconst params : Record = {}\n\t\t\t\n\t\t\tvar prev = this.dict()\n\t\t\tfor( var key in prev ) {\n\t\t\t\tparams[ key ] = prev[ key ]\n\t\t\t}\n\t\t\t\n\t\t\tfor( var key in next ) {\n\t\t\t\tparams[ key ] = next[ key ]\n\t\t\t}\n\t\t\t\n\t\t\treturn this.make_link( params )\n\t\t}\n\t\t\n\t\tstatic make_link( next : Record) {\n\t\t\tconst chunks : string[] = []\n\t\t\tfor( const key in next ) {\n\t\t\t\tif( next[ key ] !== null ) {\n\t\t\t\t\tchunks.push([key, next[key]!].map(encodeURIComponent).join('='))\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn chunks.join( ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tstatic go( next : { [ key : string ] : string | null } ) {\n\t\t\tthis.href( this.make_link( next ) )\n\t\t}\n\t\t\n\t\tconstructor( public prefix = '' ) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\tvalue( key : string , next? : string ) {\n\t\t\treturn ( this.constructor as typeof $mol_state_arg ).value( this.prefix + key , next )\n\t\t}\n\t\t\n\t\tsub( postfix : string ) {\n\t\t\treturn new ( this.constructor as typeof $mol_state_arg )( this.prefix + postfix + '.' )\n\t\t}\n\t\t\n\t\tlink( next : Record ) {\n\t\t\tconst prefix = this.prefix\n\t\t\tconst dict : Record = {}\n\t\t\tfor( var key in next ) {\n\t\t\t\tdict[ prefix + key ] = next[ key ]\n\t\t\t}\n\t\t\treturn ( this.constructor as typeof $mol_state_arg ).link( dict )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Dynamic hyperlink. It can add, change or remove parameters. A link that leads to the current page has [mol_link_current] attribute set to true.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_link_demo\n\t */\n\texport class $mol_link extends $.$mol_link {\n\t\t\n\t\t@ $mol_mem\n\t\turi_toggle() {\n\t\t\treturn this.current() ? this.uri_off() : this.uri()\n\t\t}\n\n\t\t@ $mol_mem\n\t\turi() {\n\t\t\treturn new this.$.$mol_state_arg( this.state_key() ).link( this.arg() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\turi_off() {\n\t\t\tconst arg2: Record = {}\n\t\t\tfor( let i in this.arg() ) arg2[i] = null\n\t\t\t\n\t\t\treturn new this.$.$mol_state_arg( this.state_key() ).link( arg2 )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_native() {\n\t\t\tconst base = this.$.$mol_state_arg.href()\n\t\t\treturn new URL( this.uri() , base )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcurrent() {\n\n\t\t\tconst base = this.$.$mol_state_arg.href_normal()\n\t\t\tconst target = this.uri_native().toString()\n\n\t\t\tif( base === target ) return true\n\t\t\t\n\t\t\tconst args = this.arg() as Record\n\t\t\t\n\t\t\tconst keys = Object.keys( args ).filter( key => args[ key ] != null )\n\t\t\tif( keys.length === 0 ) return false\n\n\t\t\tfor( const key of keys ) {\n\t\t\t\tif( this.$.$mol_state_arg.value( key ) != args[ key ] ) return false\n\t\t\t}\n\n\t\t\treturn true\n\t\t}\n\n\t\tfile_name() {\n\t\t\treturn null as unknown as string\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn Math.max( super.minimal_height(), 24 )\n\t\t}\n\t\t\n\t\texternal() {\n\t\t\treturn this.uri_native().origin !== $mol_dom_context.location.origin\n\t\t}\n\t\t\n\t\ttarget(): '_self' | '_blank' | '_top' | '_parent' | string {\n\t\t\treturn this.external() ? '_blank' : '_self'\n\t\t}\n\n\t\thint_safe() {\n\t\t\ttry {\n\t\t\t\treturn this.hint()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn ''\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst { rem } = $mol_style_unit\n\n\t$mol_style_define( $mol_link , {\n\t\t\n\t\ttextDecoration: 'none',\n\t\tcolor: $mol_theme.control,\n\t\tstroke: 'currentcolor',\n\t\tcursor: 'pointer',\n\t\tpadding: $mol_gap.text,\n\t\tboxSizing: 'border-box',\n\t\tposition: 'relative',\n\t\tminWidth: rem(2.5),\n\t\tgap: $mol_gap.space,\n\t\t\n\t\tborder: {\n\t\t\tradius: $mol_gap.round,\n\t\t},\n\n\t\t':hover': {\n\t\t\t\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.hover,\n\t\t\t},\n\t\t\t\n\t\t},\n\n\t\t':focus-visible': {\n\t\t\t\n\t\t\toutline: 'none',\n\t\t\t\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.hover,\n\t\t\t},\n\t\t\t\n\t\t},\n\n\t\t// ':has(:focus-visible)': {\n\t\t// \toutline: 'none',\n\t\t// \tbackground: {\n\t\t// \t\tcolor: $mol_theme.hover,\n\t\t// \t}\n\t\t// },\n\t\t\n\t\t':active': {\n\t\t\tcolor: $mol_theme.focus,\n\t\t},\n\n\t\t'@': {\n\t\t\tmol_link_current: {\n\t\t\t\t'true': {\n\t\t\t\t\tcolor: $mol_theme.current,\n\t\t\t\t\ttextShadow: '0 0',\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\n\t} )\n\n}\n","namespace $ {\n\texport class $mol_icon_delete extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19C6,20.1 6.9,21 8,21H16C17.1,21 18,20.1 18,19V7H6V19Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19C6,20.1 6.9,21 8,21H16C17.1,21 18,20.1 18,19V7H6V19Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_list extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * render_visible_only true\n\t\t * ```\n\t\t */\n\t\trender_visible_only() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * render_over 0\n\t\t * ```\n\t\t */\n\t\trender_over() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= rows\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.rows()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Empty $mol_view\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tEmpty() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Gap_before $mol_view style * paddingTop <= gap_before\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tGap_before() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.style = () => ({\n\t\t\t\tpaddingTop: this.gap_before()\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Gap_after $mol_view style * paddingTop <= gap_after\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tGap_after() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.style = () => ({\n\t\t\t\tpaddingTop: this.gap_after()\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_window /\n\t\t * \t0\n\t\t * \t0\n\t\t * ```\n\t\t */\n\t\tview_window() {\n\t\t\treturn [\n\t\t\t\t0,\n\t\t\t\t0\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rows /$mol_view\n\t\t * ```\n\t\t */\n\t\trows() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * gap_before 0\n\t\t * ```\n\t\t */\n\t\tgap_before() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * gap_after 0\n\t\t * ```\n\t\t */\n\t\tgap_after() {\n\t\t\treturn 0\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\tlet cache = null as null | boolean\n\texport function $mol_support_css_overflow_anchor( this: $ ) {\n\t\treturn cache ?? (\n\t\t\tcache = (\n\t\t\t\t!/Gecko\\//.test( navigator.userAgent ) // FF doesn't anchow while scroll animates\n\t\t\t\t&& this.$mol_dom_context.CSS?.supports( 'overflow-anchor:auto' )\n\t\t\t) ?? false\n\t\t)\n\t}\n\n}\n","namespace $.$$ {\n\n\t/**\n\t * The list of rows with lazy/virtual rendering support based on `minimal_height` of rows.\n\t * `mol_list` should contain only components that inherits `mol_view`. You should not place raw strings or numbers in list.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_list_demo\n\t */\n\texport class $mol_list extends $.$mol_list {\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\tconst rows = this.rows()\n\t\t\treturn ( rows.length === 0 ) ? [ this.Empty() ] : rows\n\t\t}\n\n\t\trender_visible_only() {\n\t\t\treturn this.$.$mol_support_css_overflow_anchor()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tview_window( next?: [ number , number ] ) : [ number , number ] {\n\t\t\t\n\t\t\tconst kids = this.sub()\n\t\t\t\n\t\t\tif( kids.length < 3 ) return [ 0 , kids.length ]\n\t\t\tif( this.$.$mol_print.active() ) return [ 0 , kids.length ]\n\t\t\t\n\t\t\tconst rect = this.view_rect()\n\t\t\tif( next ) return next\n\t\t\t\n\t\t\tlet [ min , max ] = $mol_mem_cached( ()=> this.view_window() ) ?? [ 0 , 0 ]\n\n\t\t\tlet max2 = max = Math.min( max , kids.length )\n\t\t\tlet min2 = min = Math.max( 0 , Math.min( min , max - 1 ) )\n\t\t\t\n\t\t\tconst anchoring = this.render_visible_only()\n\t\t\tconst window_height = this.$.$mol_window.size().height + 40\n\t\t\tconst over = Math.ceil( window_height * this.render_over() )\n\t\t\tconst limit_top = -over\n\t\t\tconst limit_bottom = window_height + over\n\n\t\t\tconst gap_before = $mol_mem_cached( ()=> this.gap_before() ) ?? 0\n\t\t\tconst gap_after = $mol_mem_cached( ()=> this.gap_after() ) ?? 0\n\n\t\t\tlet top = Math.ceil( rect?.top ?? 0 ) + gap_before\n\t\t\tlet bottom = Math.ceil( rect?.bottom ?? 0 ) - gap_after\n\n\t\t\t// change nothing when already covers all limits\n\t\t\tif( top <= limit_top && bottom >= limit_bottom ) {\n\t\t\t\treturn [ min2 , max2 ]\n\t\t\t}\n\n\t\t\t// jumps when fully over limits\n\t\t\tif( anchoring && (( bottom < limit_top )||( top > limit_bottom )) ) {\n\n\t\t\t\tmin = 0\n\t\t\t\ttop = Math.ceil( rect?.top ?? 0 )\n\t\t\t\t\n\t\t\t\twhile( min < ( kids.length - 1 ) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst height = kids[ min ].minimal_height()\n\t\t\t\t\tif( top + height >= limit_top ) break\n\t\t\t\t\t\n\t\t\t\t\ttop += height\n\t\t\t\t\t++ min\n\n\t\t\t\t}\n\n\t\t\t\tmin2 = min\n\t\t\t\tmax2 = max = min\n\t\t\t\tbottom = top\n\n\t\t\t}\n\n\t\t\tlet top2 = top\n\t\t\tlet bottom2 = bottom\n\n\t\t\t// force recalc min when overlapse top limit\n\t\t\tif( anchoring && ( top <= limit_top ) && ( bottom2 < limit_bottom ) ) {\n\t\t\t\tmin2 = Math.max( 0, max - 1 )\n\t\t\t\ttop2 = bottom\n\t\t\t}\n\n\t\t\t// force recalc max when overlapse bottom limit\n\t\t\tif( ( bottom >= limit_bottom ) && ( top2 >= limit_top ) ) {\n\t\t\t\tmax2 = Math.min( min + 1, kids.length )\n\t\t\t\tbottom2 = top\n\t\t\t}\n\n\t\t\t// extend max to cover bottom limit\n\t\t\twhile( bottom2 < limit_bottom && max2 < kids.length ) {\n\t\t\t\tbottom2 += kids[ max2 ].minimal_height()\n\t\t\t\t++ max2\n\t\t\t}\n\n\t\t\t// extend min to cover top limit\n\t\t\twhile( anchoring && (( top2 >= limit_top )&&( min2 > 0 )) ) {\n\t\t\t\t-- min2\n\t\t\t\ttop2 -= kids[ min2 ].minimal_height()\n\t\t\t}\n\n\t\t\treturn [ min2 , max2 ]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_before() {\n\t\t\tconst skipped = this.sub().slice( 0 , this.view_window()[0] )\n\t\t\treturn Math.max( 0 , skipped.reduce( ( sum , view )=> sum + view.minimal_height() , 0 ) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_after() {\n\t\t\tconst skipped = this.sub().slice( this.view_window()[1] )\n\t\t\treturn Math.max( 0 , skipped.reduce( ( sum , view )=> sum + view.minimal_height() , 0 ) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\t... this.gap_before() ? [ this.Gap_before() ] : [],\n\t\t\t\t... this.sub().slice( ... this.view_window() ),\n\t\t\t\t... this.gap_after() ? [ this.Gap_after() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\n\t\t\treturn this.sub().reduce( ( sum , view )=> {\n\n\t\t\t\ttry {\n\t\t\t\t\treturn sum + view.minimal_height() \n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t\treturn sum\n\t\t\t\t}\n\n\t\t\t} , 0 )\n\n\t\t}\n\n\t\tforce_render(\n\t\t\tpath : Set< $mol_view >,\n\t\t) {\n\n\t\t\tconst kids = this.rows()\n\n\t\t\tconst index = kids.findIndex( item => path.has( item ) )\n\n\t\t\tif( index >= 0 ) {\n\t\t\t\tconst win = this.view_window()\n\t\t\t\tif( index < win[0] || index >= win[1] ) {\n\t\t\t\t\tthis.view_window([ this.render_visible_only() ? index : 0, index + 1 ])\n\t\t\t\t}\n\t\t\t\t( kids[ index ] as $mol_view ).force_render( path )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/list/list.view.css\",\n \"[mol_list] {\\n\\twill-change: contents;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tflex-shrink: 0;\\n\\tmax-width: 100%;\\n\\t/* display: flex;\\n\\talign-items: stretch;\\n\\talign-content: stretch; */\\n\\ttransition: none;\\n\\tmin-height: 1.5rem;\\n}\\n\\n[mol_list_gap_before] ,\\n[mol_list_gap_after] {\\n\\tdisplay: block !important;\\n\\tflex: none;\\n\\ttransition: none;\\n\\toverflow-anchor: none;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_check extends $mol_button_minor {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_check_checked <= checked?\n\t\t * \taria-checked <= aria_checked\n\t\t * \trole <= aria_role\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_check_checked: this.checked(),\n\t\t\t\t\"aria-checked\": this.aria_checked(),\n\t\t\t\trole: this.aria_role()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /$mol_view_content\n\t\t * \t<= Icon\n\t\t * \t<= label\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon(),\n\t\t\t\tthis.label()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * checked? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tchecked(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * aria_checked \\false\n\t\t * ```\n\t\t */\n\t\taria_checked() {\n\t\t\treturn \"false\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * aria_role \\checkbox\n\t\t * ```\n\t\t */\n\t\taria_role() {\n\t\t\treturn \"checkbox\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon null\n\t\t * ```\n\t\t */\n\t\tIcon() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Title $mol_view sub / <= title\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTitle() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * label / <= Title\n\t\t * ```\n\t\t */\n\t\tlabel() {\n\t\t\treturn [\n\t\t\t\tthis.Title()\n\t\t\t] as readonly any[]\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\t\n\texport function $mol_maybe< Value >( value : Value | null | undefined ) : Value[] {\n\t\treturn ( value == null ) ? [] : [ value ]\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/check/check.css\",\n \"[mol_check] {\\n\\tflex: 0 0 auto;\\n\\tjustify-content: flex-start;\\n\\talign-content: center;\\n\\t/* align-items: flex-start; */\\n\\tborder: none;\\n\\tfont-weight: inherit;\\n\\tbox-shadow: none;\\n\\ttext-align: left;\\n\\tdisplay: inline-flex;\\n\\tflex-wrap: nowrap;\\n}\\n\\n[mol_check_title] {\\n\\tflex-shrink: 1;\\n}\\n\"\n) }","namespace $.$$ {\n\n\t/**\n\t * Checkbox UI component. See Variants for more concrete implementations.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_check_box_demo\n\t */\n\texport class $mol_check extends $.$mol_check {\n\n\t\tclick( next? : Event ) {\n\t\t\tif( next?.defaultPrevented ) return\n\t\t\tthis.checked( !this.checked() )\n\t\t\tif( next ) next.preventDefault()\n\t\t}\n\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\t... $mol_maybe( this.Icon() ) ,\n\t\t\t\t... this.label() ,\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\n\t\tlabel() {\n\t\t\treturn this.title() ? super.label() : []\n\t\t}\n\t\t\n\t\taria_checked() {\n\t\t\treturn String( this.checked() )\n\t\t}\n\n\t}\n}\n","namespace $ {\n\texport class $mol_check_list extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dictionary *\n\t\t * ```\n\t\t */\n\t\tdictionary() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Option* $mol_check\n\t\t * \tchecked? <=> option_checked*?\n\t\t * \tlabel <= option_label*\n\t\t * \tenabled <= option_enabled*\n\t\t * \thint <= option_hint*\n\t\t * \tminimal_height 24\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tOption(id: any) {\n\t\t\tconst obj = new this.$.$mol_check()\n\t\t\t\n\t\t\tobj.checked = (next?: any) => this.option_checked(id, next)\n\t\t\tobj.label = () => this.option_label(id)\n\t\t\tobj.enabled = () => this.option_enabled(id)\n\t\t\tobj.hint = () => this.option_hint(id)\n\t\t\tobj.minimal_height = () => 24\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * options *\n\t\t * ```\n\t\t */\n\t\toptions() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keys /string\n\t\t * ```\n\t\t */\n\t\tkeys() {\n\t\t\treturn [\n\t\t\t] as readonly string[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= items\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.items()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_checked*? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\toption_checked(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_title* \\\n\t\t * ```\n\t\t */\n\t\toption_title(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_label* / <= option_title*\n\t\t * ```\n\t\t */\n\t\toption_label(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.option_title(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_enabled* <= enabled\n\t\t * ```\n\t\t */\n\t\toption_enabled(id: any) {\n\t\t\treturn this.enabled()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_hint* \\\n\t\t * ```\n\t\t */\n\t\toption_hint(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * items /$mol_check\n\t\t * ```\n\t\t */\n\t\titems() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_check[]\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\t\n\t/**\n\t * List of checkboxes\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_check_list_demo\n\t */\n\texport class $mol_check_list extends $.$mol_check_list {\n\n\t\toptions() : { [ key : string ] : string } {\n\t\t\treturn {}\n\t\t}\n\n\t\toverride dictionary(next?: Record) {\n\t\t\treturn next ?? {}\n\t\t}\n\n\t\toverride option_checked(id: string, next?: boolean | null) {\n\t\t\tconst prev = this.dictionary()\n\t\t\tif (next === undefined) return prev[id] ?? null\n\n\t\t\tconst next_rec = { ... prev, [id]: next } as Record\n\t\t\tif (next === null) delete next_rec[id]\n\n\t\t\treturn this.dictionary(next_rec)[id] ?? null\n\t\t}\n\n\t\t@ $mol_mem\n\t\tkeys(): readonly string[] {\n\t\t\treturn Object.keys( this.options() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\titems() {\n\t\t\treturn this.keys().map( key => this.Option( key ) )\n\t\t}\n\t\t\n\t\toption_title( key : string ) {\n\t\t\treturn this.options()[key] || key\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/check/list/list.view.css\",\n \"[mol_check_list] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tflex: 1 1 auto;\\n\\tborder-radius: var(--mol_gap_round);\\n\\tgap: 1px;\\n}\\n\\n[mol_check_list_option] {\\n\\tflex: 0 1 auto;\\n}\\n\\n[mol_check_list_option]:where([mol_check_checked=\\\"true\\\"]) {\\n\\ttext-shadow: 0 0;\\n\\tcolor: var(--mol_theme_current);\\n}\\n\\n[mol_check_list_option]:where([mol_check_checked=\\\"true\\\"][disabled]) {\\n\\tcolor: var(--mol_theme_text);\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_switch extends $mol_check_list {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tvalue(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\t\n\texport class $mol_state_session< Value > extends $mol_object {\n\t\t\n\t\tstatic 'native()' : Pick< Storage , 'getItem'|'setItem'|'removeItem' >\n\t\tstatic native() {\n\t\t\tif( this['native()'] ) return this['native()']\n\n\t\t\tcheck : try {\n\t\t\t\tconst native = $mol_dom_context.sessionStorage\n\t\t\t\tif( !native ) break check\n\n\t\t\t\tnative.setItem( '' , '' )\n\t\t\t\tnative.removeItem( '' )\n\t\t\t\treturn this['native()'] = native\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.warn( error )\n\t\t\t}\n\n\t\t\treturn this['native()'] = {\n\t\t\t\tgetItem( key : string ) {\n\t\t\t\t\treturn (this as any)[ ':' + key ]\n\t\t\t\t} ,\n\t\t\t\tsetItem( key : string , value : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = value\n\t\t\t\t} ,\n\t\t\t\tremoveItem( key : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = void 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >( key : string , next? : Value ) : Value {\n\t\t\tif( next === void 0 ) return JSON.parse( this.native().getItem( key ) || 'null' )\n\t\t\t\n\t\t\tif( next === null ) this.native().removeItem( key )\n\t\t\telse this.native().setItem( key , JSON.stringify( next ) )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tprefix() { return '' }\n\t\t\n\t\tvalue( key : string , next? : Value ) {\n\t\t\treturn $mol_state_session.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Buttons which switching the state\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_switch_demo\n\t */\n\texport class $mol_switch extends $.$mol_switch {\n\n\t\tvalue( next? : any ) {\n\t\t\treturn $mol_state_session.value( `${ this }.value()` , next ) ?? ''\n\t\t}\n\t\t\n\t\toption_checked( key : string , next? : boolean ) {\n\t\t\tif( next === undefined ) return this.value() == key\n\t\t\tthis.value( next ? key : '' )\n\t\t\treturn next\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\texport class $mol_deck extends $mol_list {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * items /$mol_view\n\t\t * ```\n\t\t */\n\t\titems() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rows /$mol_view\n\t\t * \t<= Switch\n\t\t * \t<= Content\n\t\t * ```\n\t\t */\n\t\trows() {\n\t\t\treturn [\n\t\t\t\tthis.Switch(),\n\t\t\t\tthis.Content()\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current? \\0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"0\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * switch_options *\n\t\t * ```\n\t\t */\n\t\tswitch_options() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Switch $mol_switch\n\t\t * \tvalue? <=> current?\n\t\t * \toptions <= switch_options\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSwitch() {\n\t\t\tconst obj = new this.$.$mol_switch()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.current(next)\n\t\t\tobj.options = () => this.switch_options()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Content $mol_view\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tContent() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\t\n\t/**\n\t * The component which arrange content in multiple tabs.\n\t * @seehttps://mol.hyoo.ru/#!section=demos/demo=mol_deck_demo\n\t */\n\texport class $mol_deck extends $.$mol_deck {\n\t\t\n\t\tcurrent( next? : string ) {\n\t\t\treturn $mol_state_session.value( `${ this }.current()` , next ) || '0'\n\t\t}\n\t\t\n\t\tswitch_options() {\n\t\t\tlet options : Record< string , string > = {}\n\t\t\tthis.items().forEach( ( item , index ) => {\n\t\t\t\toptions[ String( index ) ] = item.title()\n\t\t\t} )\n\t\t\treturn options\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tContent() {\n\t\t\treturn this.items()[ Number( this.current() ) ]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\texport class $mol_icon_script extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2H8C6.3,2 5,3.3 5,5V16H16V17C16,17.6 16.4,18 17,18H18V5C18,4.4 18.4,4 19,4C19.6,4 20,4.4 20,5V6H22V5C22,3.3 20.7,2 19,2Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2H8C6.3,2 5,3.3 5,5V16H16V17C16,17.6 16.4,18 17,18H18V5C18,4.4 18.4,4 19,4C19.6,4 20,4.4 20,5V6H22V5C22,3.3 20.7,2 19,2Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_script_text extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2C20.7,2 22,3.3 22,5V6H20V5C20,4.4 19.6,4 19,4C18.4,4 18,4.4 18,5V18H17C16.4,18 16,17.6 16,17V16H5V5C5,3.3 6.3,2 8,2H19M8,6V8H15V6H8M8,10V12H14V10H8Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2C20.7,2 22,3.3 22,5V6H20V5C20,4.4 19.6,4 19,4C18.4,4 18,4.4 18,5V18H17C16.4,18 16,17.6 16,17V16H5V5C5,3.3 6.3,2 8,2H19M8,6V8H15V6H8M8,10V12H14V10H8Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_link_source extends $mol_link {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint @ \\Source code\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_link_source_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Icon\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_script_text\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_script_text()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_page extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\article\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"article\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \ttabIndex <= tabindex\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\ttabIndex: this.tabindex()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Head\n\t\t * \t<= Body\n\t\t * \t<= Foot\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Head(),\n\t\t\t\tthis.Body(),\n\t\t\t\tthis.Foot()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tabindex -1\n\t\t * ```\n\t\t */\n\t\ttabindex() {\n\t\t\treturn -1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Logo null\n\t\t * ```\n\t\t */\n\t\tLogo() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title_content /\n\t\t * \t<= Logo\n\t\t * \t<= title\n\t\t * ```\n\t\t */\n\t\ttitle_content() {\n\t\t\treturn [\n\t\t\t\tthis.Logo(),\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Title $mol_view\n\t\t * \tdom_name \\h1\n\t\t * \tsub <= title_content\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTitle() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.dom_name = () => \"h1\"\n\t\t\tobj.sub = () => this.title_content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tools /$mol_view_content\n\t\t * ```\n\t\t */\n\t\ttools() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Tools $mol_view sub <= tools\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTools() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => this.tools()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * head /\n\t\t * \t<= Title\n\t\t * \t<= Tools\n\t\t * ```\n\t\t */\n\t\thead() {\n\t\t\treturn [\n\t\t\t\tthis.Title(),\n\t\t\t\tthis.Tools()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Head $mol_view\n\t\t * \tminimal_height 64\n\t\t * \tdom_name \\header\n\t\t * \tsub <= head\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHead() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.minimal_height = () => 64\n\t\t\tobj.dom_name = () => \"header\"\n\t\t\tobj.sub = () => this.head()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * body /$mol_view\n\t\t * ```\n\t\t */\n\t\tbody() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Body_content $mol_view sub <= body\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tBody_content() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => this.body()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * body_content / <= Body_content\n\t\t * ```\n\t\t */\n\t\tbody_content() {\n\t\t\treturn [\n\t\t\t\tthis.Body_content()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * body_scroll_top?\n\t\t * ```\n\t\t */\n\t\tbody_scroll_top(next?: any) {\n\t\t\treturn this.Body().scroll_top(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Body $mol_scroll\n\t\t * \tscroll_top? => body_scroll_top?\n\t\t * \tsub <= body_content\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tBody() {\n\t\t\tconst obj = new this.$.$mol_scroll()\n\t\t\t\n\t\t\tobj.sub = () => this.body_content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * foot /$mol_view\n\t\t * ```\n\t\t */\n\t\tfoot() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Foot $mol_view\n\t\t * \tdom_name \\footer\n\t\t * \tsub <= foot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFoot() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.dom_name = () => \"footer\"\n\t\t\tobj.sub = () => this.foot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\tconst { per , rem } = $mol_style_unit\n\tconst { calc } = $mol_style_func\n\n\t$mol_style_define( $mol_page , {\n\n\t\tdisplay: 'flex' ,\n\t\tflex: {\n\t\t\tbasis: 'auto' ,\n\t\t\tdirection: 'column' ,\n\t\t},\n\t\tposition: 'relative' ,\n\t\talignSelf: 'stretch' ,\n\t\tmaxWidth: per(100) ,\n\t\tmaxHeight: per(100) ,\n\t\tboxSizing: 'border-box' ,\n\t\tcolor: $mol_theme.text ,\n\t\t// zIndex: 0 ,\n\t\t\n\t\t':focus': {\n\t\t\toutline: 'none',\n\t\t} ,\n\n\t\tHead: {\n\t\t\tdisplay: 'flex' ,\n\t\t\tflexWrap: 'wrap' ,\n\t\t\tjustifyContent: 'flex-end' ,\n\t\t\tflex: 'none',\n\t\t\tposition: 'relative' ,\n\t\t\tmargin: 0 ,\n\t\t\tminHeight: rem(4),\n\t\t\tpadding: $mol_gap.block ,\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card ,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tboxShadow: `0 0.5rem 0.5rem -0.5rem hsla(0,0%,0%,.25)` ,\n\t\t\tzIndex: 2,\n\t\t},\n\n\t\tTitle: {\n\n\t\t\tminHeight: rem(2),\n\t\t\tmargin: 0,\n\t\t\tpadding: $mol_gap.text,\n\t\t\tgap: $mol_gap.text,\n\t\t\twordBreak: 'normal',\n\t\t\ttextShadow: '0 0',\n\n\t\t\tfont: {\n\t\t\t\tsize: 'inherit',\n\t\t\t\tweight: 'normal',\n\t\t\t},\n\t\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 1,\n\t\t\t\tbasis: 'auto',\n\t\t\t},\n\n\t\t},\n\n\t\tTools: {\n\t\t\t\n\t\t\tflex: {\n\t\t\t\tbasis: 'auto',\n\t\t\t\tgrow: 1000,\n\t\t\t\tshrink: 1,\n\t\t\t},\n\t\t\tdisplay: 'flex',\n\t\t\tjustifyContent: 'flex-end',\n\t\t\talignItems: 'flex-start',\n\t\t\tflexWrap: 'wrap',\n\n\t\t},\n\n\t\tBody: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1000,\n\t\t\t\tshrink: 1,\n\t\t\t\tbasis: per(100),\n\t\t\t},\n\t\t},\n\t\t\n\t\tBody_content: {\n\t\t\tpadding: $mol_gap.block ,\n\t\t\tflex: {\n\t\t\t\tdirection: 'column',\n\t\t\t\tshrink: 1,\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tjustify: {\n\t\t\t\tself: 'stretch',\n\t\t\t},\n\t\t},\n\t\t\n\t\tFoot: {\n\t\t\tdisplay: 'flex',\n\t\t\tjustifyContent: 'space-between',\n\t\t\tflex: 'none',\n\t\t\tmargin: 0,\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card ,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tboxShadow: `0 -0.5rem 0.5rem -0.5rem hsla(0,0%,0%,.25)` ,\n\t\t\tzIndex: 1,\n\t\t\tpadding: $mol_gap.block ,\n\t\t\t':empty': {\n\t\t\t\tdisplay: 'none',\n\t\t\t},\n\t\t},\t\n\n\t} )\n\t\n}\n","namespace $ {\n\n\texport class $mol_store< Data > extends $mol_object2 {\n\n\t\tconstructor(\n\t\t\tpublic data_default? : Data\n\t\t) {\n\t\t\tsuper()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata( next? : Data ) {\n\t\t\treturn next === undefined ? this.data_default! : next\n\t\t}\n\n\t\tsnapshot( next? : string ) {\n\t\t\treturn JSON.stringify( this.data( next === undefined ? next : JSON.parse( next ) ) )\n\t\t}\n\n\t\tvalue< Key extends keyof Data >( key : Key , next? : Data[ Key ] ) {\n\t\t\t\n\t\t\tconst data = this.data()\n\t\t\tif( next === undefined ) return data && data[ key ]!\n\n\t\t\tconst Constr = Reflect.getPrototypeOf( data as any )!.constructor as new ()=> {}\n\t\t\t\n\t\t\tthis.data( Object.assign( new Constr , data , { [ key ] : next } ) )\n\n\t\t\treturn next!\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tselection<\n\t\t\tKey extends keyof Data\n\t\t>( key: Key, next = [ 0, 0 ] ) {\n\t\t\treturn next\n\t\t}\n\t\t\t\n\t\tsub<\n\t\t\tKey extends keyof Data ,\n\t\t\tLens extends $mol_store< Data[ Key ] > = $mol_store< NonNullable >\n\t\t>( key : Key , lens? : Lens ) {\n\n\t\t\tif( !lens ) lens = new $mol_store< Data[ Key ] >() as any\n\n\t\t\tconst data = lens!.data\n\t\t\tlens!.data = next => {\n\t\t\t\tif( next == undefined ) {\n\t\t\t\t\treturn this.value( key ) ?? lens!.data_default!\n\t\t\t\t}\n\t\t\t\treturn this.value( key , next )\n\t\t\t}\n\n\t\t\treturn lens!\n\n\t\t}\n\n\t\treset() {\n\t\t\tthis.data( this.data_default! )\n\t\t}\n\n\t\tactive() {\n\t\t\treturn true\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\tinterface Plot {\n\t\tid: string\n\t\ttype: 'matrix' | 'plot3d' | 'pd' | string\n\t\tjson: unknown\n\t}\n\n\texport class $visavis_plot extends $mol_store {\n\n\t\tid(next?: string) {\n\t\t\treturn this.value('id', next)\n\t\t}\n\n\t\ttype() {\n\t\t\treturn this.value('type')\n\t\t}\n\n\t\tjson() {\n\t\t\treturn this.value('json')\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\texport class $mol_icon_tick extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_check_box extends $mol_check {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_tick\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_tick()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/check/box/box.view.css\",\n \"[mol_check_box_icon] {\\n\\tborder-radius: var(--mol_gap_round);\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_line);\\n\\tcolor: var(--mol_theme_shade);\\n\\theight: 1rem;\\n\\talign-self: center;\\n}\\n\\n[mol_check]:not([mol_check_checked]) > [mol_check_box_icon] {\\n\\tfill: transparent;\\n}\\n\\n[mol_check]:not([disabled]) > [mol_check_box_icon] {\\n\\tbackground: var(--mol_theme_field);\\n\\tcolor: var(--mol_theme_text);\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_labeler extends $mol_list {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rows /\n\t\t * \t<= Label\n\t\t * \t<= Content\n\t\t * ```\n\t\t */\n\t\trows() {\n\t\t\treturn [\n\t\t\t\tthis.Label(),\n\t\t\t\tthis.Content()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * label /$mol_view_content <= title\n\t\t * ```\n\t\t */\n\t\tlabel() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Label $mol_view\n\t\t * \tminimal_height 32\n\t\t * \tsub <= label\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tLabel() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.minimal_height = () => 32\n\t\t\tobj.sub = () => this.label()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * content /\n\t\t * ```\n\t\t */\n\t\tcontent() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Content $mol_view\n\t\t * \tminimal_height 24\n\t\t * \tsub <= content\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tContent() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.minimal_height = () => 24\n\t\t\tobj.sub = () => this.content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/labeler/labeler.view.css\",\n \"[mol_labeler] {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-items: stretch;\\n\\tcursor: inherit;\\n}\\n\\n[mol_labeler_label] {\\n\\tmin-height: 2rem;\\n\\tcolor: var(--mol_theme_shade);\\n\\tpadding: .5rem .75rem 0;\\n\\tgap: 0 var(--mol_gap_block);\\n\\tflex-wrap: wrap;\\n}\\n\\n[mol_labeler_content] {\\n\\tdisplay: flex;\\n\\tpadding: var(--mol_gap_text);\\n}\\n\"\n) }","namespace $ {\n\texport class $visavis_matrix extends $mol_book2 {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot $visavis_plot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tplot() {\n\t\t\tconst obj = new this.$.$visavis_plot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * size 0\n\t\t * ```\n\t\t */\n\t\tsize() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * links_value_min? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tlinks_value_min(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * links_value_max? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tlinks_value_max(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\theatmap(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * matrix /\n\t\t * ```\n\t\t */\n\t\tmatrix() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap_colors /\n\t\t * \t\\rgb(150,0,90)\n\t\t * \t\\rgb(0,0,200)\n\t\t * \t\\rgb(0,25,255)\n\t\t * \t\\rgb(0,152,255)\n\t\t * \t\\rgb(44,255,150)\n\t\t * \t\\rgb(151,255,0)\n\t\t * \t\\rgb(255,234,0)\n\t\t * \t\\rgb(255,111,0)\n\t\t * \t\\rgb(255,0,0)\n\t\t * ```\n\t\t */\n\t\theatmap_colors() {\n\t\t\treturn [\n\t\t\t\t\"rgb(150,0,90)\",\n\t\t\t\t\"rgb(0,0,200)\",\n\t\t\t\t\"rgb(0,25,255)\",\n\t\t\t\t\"rgb(0,152,255)\",\n\t\t\t\t\"rgb(44,255,150)\",\n\t\t\t\t\"rgb(151,255,0)\",\n\t\t\t\t\"rgb(255,234,0)\",\n\t\t\t\t\"rgb(255,111,0)\",\n\t\t\t\t\"rgb(255,0,0)\"\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * colorset /\n\t\t * \t\\#3e3f95\n\t\t * \t\\#c00\n\t\t * \t\\#FE9A2E\n\t\t * \t\\#090\n\t\t * \t\\#f0f\n\t\t * \t\\#09f\n\t\t * \t\\#666\n\t\t * \t\\#0f3\n\t\t * \t\\#0ff\n\t\t * \t\\#90c\n\t\t * ```\n\t\t */\n\t\tcolorset() {\n\t\t\treturn [\n\t\t\t\t\"#3e3f95\",\n\t\t\t\t\"#c00\",\n\t\t\t\t\"#FE9A2E\",\n\t\t\t\t\"#090\",\n\t\t\t\t\"#f0f\",\n\t\t\t\t\"#09f\",\n\t\t\t\t\"#666\",\n\t\t\t\t\"#0f3\",\n\t\t\t\t\"#0ff\",\n\t\t\t\t\"#90c\"\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * order /number\n\t\t * ```\n\t\t */\n\t\torder() {\n\t\t\treturn [\n\t\t\t] as readonly number[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * order_current? \\nump\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\torder_current(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"nump\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_padding 32\n\t\t * ```\n\t\t */\n\t\tplot_padding() {\n\t\t\treturn 32\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * axis_width 24\n\t\t * ```\n\t\t */\n\t\taxis_width() {\n\t\t\treturn 24\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages /\n\t\t * \t<= Plot\n\t\t * \t<= Setup\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Plot(),\n\t\t\t\tthis.Setup()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_title \\\n\t\t * ```\n\t\t */\n\t\tplot_title() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Root $mol_svg\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tRoot() {\n\t\t\tconst obj = new this.$.$mol_svg()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_min $mol_view sub / <= links_value_min\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHeatmap_min() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.links_value_min()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap_color* \\\n\t\t * ```\n\t\t */\n\t\theatmap_color(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_color*0 $mol_view style * background <= heatmap_color*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tHeatmap_color(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.style = () => ({\n\t\t\t\tbackground: this.heatmap_color(id)\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_max $mol_view sub / <= links_value_max\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHeatmap_max() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.links_value_max()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap_color_list /\n\t\t * \t<= Heatmap_min\n\t\t * \t<= Heatmap_color*0\n\t\t * \t<= Heatmap_max\n\t\t * ```\n\t\t */\n\t\theatmap_color_list() {\n\t\t\treturn [\n\t\t\t\tthis.Heatmap_min(),\n\t\t\t\tthis.Heatmap_color(\"0\"),\n\t\t\t\tthis.Heatmap_max()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_legend $mol_list rows <= heatmap_color_list\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHeatmap_legend() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.rows = () => this.heatmap_color_list()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Side_right $mol_scroll sub / <= Heatmap_legend\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSide_right() {\n\t\t\tconst obj = new this.$.$mol_scroll()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Heatmap_legend()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_body /\n\t\t * \t<= Root\n\t\t * \t<= Side_right\n\t\t * ```\n\t\t */\n\t\tplot_body() {\n\t\t\treturn [\n\t\t\t\tthis.Root(),\n\t\t\t\tthis.Side_right()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * draw null\n\t\t * ```\n\t\t */\n\t\tdraw() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot $mol_page\n\t\t * \ttitle <= plot_title\n\t\t * \tbody <= plot_body\n\t\t * \tauto <= draw\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPlot() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.plot_title()\n\t\t\tobj.body = () => this.plot_body()\n\t\t\tobj.auto = () => this.draw()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * nonformers? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tnonformers(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nonformers $mol_check_box\n\t\t * \thint @ \\Continuous solid solutions and complete insolubility systems\n\t\t * \ttitle @ \\Show\n\t\t * \tchecked? <=> nonformers?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNonformers() {\n\t\t\tconst obj = new this.$.$mol_check_box()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$visavis_matrix_Nonformers_hint' )\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_matrix_Nonformers_title' )\n\t\t\tobj.checked = (next?: any) => this.nonformers(next)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nonformers_label $mol_labeler\n\t\t * \ttitle @ \\Non-formers\n\t\t * \tContent <= Nonformers\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNonformers_label() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_matrix_Nonformers_label_title' )\n\t\t\tobj.Content = () => this.Nonformers()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * order_dict *\n\t\t * \tnump @ \\Periodic number\n\t\t * \tnum @ \\Atomic number\n\t\t * \tsize @ \\Atomic size\n\t\t * \trea @ \\Atomic reactivity\n\t\t * \trpp @ \\Pseudopotential radii\n\t\t * \trion @ \\Ionic radii\n\t\t * \trcov @ \\Covalent radii\n\t\t * \trmet @ \\Metallic radii\n\t\t * \ttmelt @ \\Melting temperature\n\t\t * \teneg @ \\Electronegativity\n\t\t * ```\n\t\t */\n\t\torder_dict() {\n\t\t\treturn {\n\t\t\t\tnump: this.$.$mol_locale.text( '$visavis_matrix_order_dict_nump' ),\n\t\t\t\tnum: this.$.$mol_locale.text( '$visavis_matrix_order_dict_num' ),\n\t\t\t\tsize: this.$.$mol_locale.text( '$visavis_matrix_order_dict_size' ),\n\t\t\t\trea: this.$.$mol_locale.text( '$visavis_matrix_order_dict_rea' ),\n\t\t\t\trpp: this.$.$mol_locale.text( '$visavis_matrix_order_dict_rpp' ),\n\t\t\t\trion: this.$.$mol_locale.text( '$visavis_matrix_order_dict_rion' ),\n\t\t\t\trcov: this.$.$mol_locale.text( '$visavis_matrix_order_dict_rcov' ),\n\t\t\t\trmet: this.$.$mol_locale.text( '$visavis_matrix_order_dict_rmet' ),\n\t\t\t\ttmelt: this.$.$mol_locale.text( '$visavis_matrix_order_dict_tmelt' ),\n\t\t\t\teneg: this.$.$mol_locale.text( '$visavis_matrix_order_dict_eneg' )\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Order_switch $mol_switch\n\t\t * \tvalue? <=> order_current?\n\t\t * \toptions <= order_dict\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tOrder_switch() {\n\t\t\tconst obj = new this.$.$mol_switch()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.order_current(next)\n\t\t\tobj.options = () => this.order_dict()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Order_label $mol_labeler\n\t\t * \ttitle @ \\Sort by\n\t\t * \tContent <= Order_switch\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tOrder_label() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_matrix_Order_label_title' )\n\t\t\tobj.Content = () => this.Order_switch()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Setup $mol_page\n\t\t * \ttitle @ \\Setup\n\t\t * \tbody /\n\t\t * \t\t<= Nonformers_label\n\t\t * \t\t<= Order_label\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSetup() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_matrix_Setup_title' )\n\t\t\tobj.body = () => [\n\t\t\t\tthis.Nonformers_label(),\n\t\t\t\tthis.Order_label()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\texport function $mol_data_setup<\n\t\tValue extends $mol_data_value ,\n\t\tConfig = never\n\t>(\n\t\tvalue : Value ,\n\t\tconfig : Config ,\n\t) {\n\t\t\n\t\treturn Object.assign( value , {\n\t\t\tconfig ,\n\t\t\tValue : null as any as ReturnType< Value >\n\t\t} )\n\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * Checks for record of given fields with by its runtypes and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_record_demo\n\t */\n\texport function $mol_data_record<\n\t\tSub extends Record< string , $mol_data_value >\n\t>( sub : Sub ) {\n\n\t\ttype Input = $mol_type_partial_undefined<{\n\t\t\t[ key in keyof Sub ] : Parameters< Sub[key] >[0]\n\t\t}>\n\n\t\ttype Output = $mol_type_partial_undefined<{\n\t\t\t[ key in keyof Sub ] : ReturnType< Sub[key] >\n\t\t}>\n\n\t\treturn $mol_data_setup( ( val : Input ) => {\n\n\t\t\tlet res = {} as Output\n\t\t\t\n\t\t\tfor( const field in sub ) {\n\n\t\t\t\ttry {\n\t\t\t\t\tres[field as any as keyof Output ] =\n\t\t\t\t\t\tsub[field]( ( val as Input )[ field as any as keyof Input ] )\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\tif( error instanceof Promise ) return $mol_fail_hidden( error )\n\t\t\t\t\t\n\t\t\t\t\terror.message = `[${ JSON.stringify( field ) }] ${ error.message }`\n\t\t\t\t\treturn $mol_fail( error )\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn res as Readonly< Output >\n\t\t\t\n\t\t} , sub )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_error_mix extends AggregateError {\n\n\t\tname = '$mol_error_mix'\n\t\tconstructor( message: string, ... errors: Error[] ) {\n\t\t\tsuper(\n\t\t\t\terrors,\n\t\t\t\t[ message, ... errors.map( e => ' ' + e.message ) ].join( '\\n' ),\n\t\t\t)\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this.message\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_data_error extends $mol_error_mix {\n\t\tname = '$mol_data_error'\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * Checks for string and returns string type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_string_demo\n\t */\n\texport let $mol_data_string = ( val : string )=> {\n\t\t\n\t\tif( typeof val === 'string' ) return val\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a string` ) )\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for number and returns number type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_number_demo\n\t */\n\texport let $mol_data_number = ( val : number )=> {\n\t\t\n\t\tif( typeof val === 'number' ) return val\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a number` ) )\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for undefined or passing given runtype.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_optional_demo\n\t */\n\texport function $mol_data_optional<\n\t\tSub extends $mol_data_value,\n\t\tFallback extends undefined | ( ()=> ReturnType< Sub > )\n\t>( \n\t\tsub: Sub,\n\t\tfallback?: Fallback\n\t) {\n\n\t\treturn $mol_data_setup( ( val : Parameters[0] | undefined ) => {\n\t\t\t\n\t\t\tif( val === undefined ) {\n\t\t\t\ttype Res = Fallback extends undefined ? undefined : ReturnType< Extract< Fallback, ()=> any > >\n\t\t\t\treturn fallback?.() as Res\n\t\t\t}\n\t\t\t\n\t\t\treturn sub( val ) as ReturnType\n\t\t\t\n\t\t} , { sub, fallback } )\n\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for array of given runtype and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_array_demo\n\t */\n\texport function $mol_data_array< Sub extends $mol_data_value >( sub : Sub ) {\n\n\t\treturn $mol_data_setup( ( val : readonly Parameters< Sub >[0][] ) => {\n\t\t\t\n\t\t\tif( !Array.isArray( val ) ) return $mol_fail( new $mol_data_error( `${ val } is not an array` ) )\n\t\t\t\n\t\t\treturn val.map( ( item , index )=> {\n\n\t\t\t\ttry {\n\t\t\t\t\treturn sub( item )\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\tif( error instanceof Promise ) return $mol_fail_hidden( error )\n\t\t\t\t\t\n\t\t\t\t\terror.message = `[${ index }] ${ error.message }`\n\t\t\t\t\treturn $mol_fail( error )\n\n\t\t\t\t}\n\n\t\t\t} ) as readonly ReturnType< Sub >[]\n\t\t\t\n\t\t} , sub )\n\n\t}\n\t\t\t\n}\n","namespace $ {\n\n\t/** Dynamic sources import. */\n\texport class $mol_import extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic module( uri: string ): any {\n\t\t\t$mol_wire_solid()\n\t\t\treturn $mol_wire_sync( this ).module_async( uri )\n\t\t}\n\t\tstatic module_async( uri: string ) {\n\t\t\treturn import( uri )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tstatic script( uri: string ): any {\n\t\t\t$mol_wire_solid()\n\t\t\treturn $mol_wire_sync( this ).script_async( uri )\n\t\t}\n\n\t\tstatic script_async( uri: string ) {\n\t\t\t\n\t\t\tconst doc = $mol_dom_context.document\n\t\t\t\n\t\t\tconst script = doc.createElement( 'script' )\n\t\t\tscript.src = uri\n\t\t\tdoc.head.appendChild( script )\n\t\t\t\n\t\t\treturn new Promise< any >( ( done , fail ) => {\n\t\t\t\tscript.onload = ()=> done( $mol_dom_context )\n\t\t\t\tscript.onerror = ()=> fail( new Error( `Can not import ${ uri }` ) )\n\t\t\t} )\n\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tstatic style( uri: string ): any {\n\t\t\treturn $mol_wire_sync( this ).style_async( uri )\n\t\t}\n\n\t\tstatic style_async( uri: string ): any {\n\t\t\t\n\t\t\tconst doc = $mol_dom_context.document\n\t\t\t\n\t\t\tconst style = doc.createElement( 'link' )\n\t\t\tstyle.rel = 'stylesheet'\n\t\t\tstyle.href = uri\n\t\t\tdoc.head.appendChild( style )\n\t\t\t\n\t\t\treturn new Promise< CSSStyleSheet >( ( done , fail ) => {\n\t\t\t\tstyle.onload = ()=> done( style.sheet! )\n\t\t\t\tstyle.onerror = ()=> fail( new Error( `Can not import ${ uri }` ) )\n\t\t\t} )\n\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $visavis_lib extends $mol_object2 {\n\n\t\t@ $mol_mem\n\t\tstatic plotly() {\n\t\t\treturn $mol_import.script('/visavis/lib/bundle/plotly.custom.min.js').Plotly as any\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic pca() {\n\t\t\treturn $mol_import.script('/visavis/lib/bundle/pca.js').mlPca as any\n\t\t}\n\n\t\tstatic d3() {\n\t\t\treturn this.plotly().d3\n\t\t}\n\n\t}\n}\n","/**\n * Non-former compounds enumeration\n * based on a manually prepared by PV listing\n */\nnamespace $ {\n\n\t// 759 non-formers and ordered phases, 02/2023 by PV\n\n\texport const $visavis_nonformer_pd_bin = [[88, 23], [88, 41], [46, 78], [46, 82], [46, 5], [46, 26], [46, 23], [46, 28], [46, 25], [46, 31], [46, 76], [46, 24], [46, 41], [46, 27], [46, 75], [46, 81], [46, 74], [46, 44], [46, 43], [46, 13], [46, 80], [46, 91], [46, 22], [12, 3], [12, 82], [12, 47], [12, 54], [12, 30], [12, 31], [12, 79], [12, 48], [12, 18], [12, 10], [12, 81], [12, 13], [12, 49], [12, 80], [12, 29], [94, 23], [94, 41], [94, 92], [94, 93], [94, 91], [17, 6], [32, 78], [32, 82], [32, 81], [32, 80], [78, 5], [78, 26], [78, 25], [78, 31], [78, 41], [78, 27], [78, 14], [78, 77], [78, 44], [78, 43], [78, 13], [78, 73], [55, 19], [55, 62], [55, 25], [55, 63], [55, 56], [55, 24], [55, 41], [55, 59], [55, 27], [55, 60], [55, 58], [55, 20], [55, 61], [55, 37], [55, 21], [55, 22], [55, 38], [55, 69], [4, 82], [4, 47], [4, 28], [3, 82], [3, 30], [3, 31], [3, 48], [3, 2], [3, 10], [3, 13], [3, 49], [3, 29], [4, 30], [4, 31], [4, 79], [82, 47], [82, 26], [82, 23], [82, 28], [82, 25], [82, 30], [82, 31], [82, 79], [82, 41], [82, 40], [82, 75], [82, 14], [82, 74], [82, 50], [82, 13], [82, 49], [82, 72], [82, 22], [82, 29], [4, 81], [4, 50], [4, 49], [4, 51], [4, 80], [4, 29], [19, 57], [19, 26], [19, 62], [19, 25], [19, 56], [19, 70], [19, 24], [19, 41], [19, 10], [19, 59], [19, 60], [19, 93], [19, 20], [19, 37], [19, 64], [19, 21], [19, 68], [19, 22], [19, 38], [19, 69], [47, 23], [47, 25], [47, 30], [47, 31], [47, 24], [47, 41], [47, 81], [47, 13], [47, 80], [47, 29], [57, 23], [57, 62], [57, 71], [57, 56], [57, 2], [57, 24], [57, 41], [57, 40], [57, 59], [57, 60], [57, 58], [57, 93], [57, 20], [57, 61], [57, 72], [57, 89], [57, 21], [57, 91], [57, 22], [57, 73], [57, 39], [5, 25], [5, 26], [5, 28], [5, 31], [5, 76], [5, 27], [5, 7], [5, 43], [26, 28], [26, 25], [26, 79], [26, 24], [26, 27], [26, 75], [26, 81], [26, 45], [26, 77], [26, 74], [26, 44], [26, 43], [5, 45], [5, 77], [23, 54], [23, 28], [23, 65], [23, 67], [23, 62], [23, 63], [5, 44], [23, 79], [23, 66], [23, 18], [23, 56], [23, 2], [23, 70], [23, 11], [23, 41], [23, 10], [23, 59], [23, 92], [23, 81], [23, 60], [23, 58], [23, 93], [23, 36], [23, 20], [23, 61], [23, 64], [23, 89], [23, 68], [23, 91], [23, 22], [23, 73], [23, 38], [23, 69], [54, 71], [54, 2], [54, 11], [54, 41], [54, 40], [54, 58], [54, 36], [54, 72], [54, 21], [54, 22], [54, 39], [5, 42], [28, 25], [28, 76], [28, 2], [28, 41], [28, 10], [28, 40], [28, 27], [28, 75], [28, 81], [28, 74], [28, 44], [28, 43], [28, 72], [28, 42], [28, 80], [28, 22], [28, 73], [65, 67], [65, 63], [65, 66], [65, 70], [65, 41], [65, 93], [65, 61], [65, 72], [65, 64], [65, 89], [65, 21], [65, 68], [65, 22], [65, 73], [65, 38], [65, 69], [65, 39], [67, 63], [67, 71], [67, 66], [67, 2], [67, 70], [67, 41], [67, 40], [67, 93], [67, 20], [67, 61], [67, 72], [67, 64], [67, 89], [67, 21], [67, 68], [67, 22], [67, 73], [67, 38], [67, 69], [67, 39], [62, 71], [62, 56], [62, 24], [62, 41], [62, 40], [62, 93], [62, 20], [62, 72], [62, 89], [62, 91], [62, 22], [62, 73], [62, 38], [62, 69], [62, 39], [25, 0], [25, 48], [25, 18], [25, 56], [25, 2], [25, 11], [25, 10], [25, 75], [25, 81], [25, 43], [25, 37], [86, 41], [30, 31], [30, 79], [30, 48], [30, 81], [30, 74], [30, 13], [30, 49], [30, 80], [30, 29], [63, 66], [63, 2], [63, 70], [63, 41], [63, 93], [63, 20], [63, 61], [63, 72], [63, 64], [63, 89], [63, 21], [63, 68], [63, 22], [63, 73], [63, 38], [63, 69], [63, 39], [31, 79], [31, 48], [31, 81], [31, 13], [31, 49], [31, 80], [31, 29], [71, 18], [71, 2], [71, 11], [71, 10], [71, 40], [71, 58], [71, 36], [71, 20], [71, 72], [71, 89], [71, 21], [71, 91], [71, 38], [71, 69], [71, 39], [0, 41], [79, 76], [79, 41], [79, 40], [79, 75], [79, 81], [79, 74], [79, 43], [79, 50], [79, 22], [66, 2], [66, 70], [66, 41], [66, 93], [66, 20], [66, 61], [66, 72], [66, 64], [66, 89], [66, 68], [66, 22], [66, 73], [66, 38], [66, 69], [66, 39], [0, 29], [48, 41], [48, 13], [48, 72], [48, 22], [48, 29], [76, 75], [76, 45], [76, 77], [76, 74], [76, 44], [76, 43], [76, 42], [52, 15], [52, 33], [18, 2], [18, 11], [18, 41], [18, 40], [18, 36], [18, 72], [18, 21], [18, 22], [18, 39], [56, 2], [56, 70], [56, 24], [56, 41], [56, 40], [56, 59], [56, 60], [56, 58], [56, 93], [56, 74], [56, 20], [56, 61], [56, 72], [56, 89], [56, 21], [56, 91], [56, 22], [56, 73], [56, 69], [56, 39], [2, 70], [2, 11], [2, 24], [2, 41], [2, 10], [2, 40], [2, 59], [2, 27], [2, 60], [2, 58], [2, 93], [2, 36], [2, 20], [2, 61], [2, 72], [2, 64], [2, 21], [2, 68], [2, 22], [2, 38], [2, 39], [70, 41], [70, 40], [70, 59], [70, 93], [70, 61], [70, 72], [70, 64], [70, 89], [70, 21], [70, 68], [70, 22], [70, 73], [70, 38], [70, 69], [70, 39], [11, 24], [11, 41], [11, 10], [11, 40], [11, 36], [11, 21], [11, 91], [11, 22], [11, 39], [24, 81], [24, 43], [24, 37], [24, 80], [24, 69], [41, 10], [41, 40], [41, 59], [41, 92], [41, 90], [41, 81], [41, 60], [41, 58], [41, 93], [41, 87], [41, 36], [41, 20], [41, 61], [41, 37], [41, 72], [41, 64], [41, 42], [41, 89], [41, 21], [41, 80], [41, 68], [41, 22], [41, 73], [41, 38], [41, 69], [10, 40], [10, 36], [10, 37], [10, 72], [10, 21], [10, 22], [10, 39], [40, 93], [40, 36], [40, 20], [40, 61], [40, 72], [40, 89], [40, 21], [40, 80], [40, 91], [40, 22], [40, 73], [40, 38], [40, 69], [40, 39], [59, 60], [59, 58], [59, 93], [59, 20], [59, 61], [59, 37], [59, 72], [59, 89], [59, 21], [59, 91], [59, 22], [59, 73], [59, 69], [59, 39], [92, 93], [27, 75], [27, 81], [27, 45], [27, 74], [27, 44], [27, 43], [27, 42], [27, 80], [75, 45], [75, 77], [75, 74], [75, 44], [75, 43], [81, 50], [81, 13], [81, 49], [81, 80], [81, 73], [81, 29], [45, 77], [45, 74], [45, 44], [45, 43], [45, 42], [45, 73], [60, 58], [60, 93], [60, 61], [60, 89], [60, 22], [58, 93], [58, 61], [58, 72], [58, 89], [58, 21], [58, 91], [58, 22], [58, 73], [58, 69], [14, 50], [77, 43], [77, 42], [93, 61], [93, 72], [93, 64], [93, 21], [93, 68], [93, 22], [93, 73], [93, 38], [93, 69], [36, 72], [36, 21], [36, 22], [36, 39], [74, 44], [74, 43], [74, 50], [74, 49], [74, 42], [44, 43], [44, 42], [50, 13], [50, 73], [20, 37], [20, 72], [20, 64], [20, 89], [20, 21], [20, 91], [20, 22], [20, 73], [20, 38], [20, 69], [20, 39], [33, 51], [13, 49], [13, 80], [13, 29], [61, 72], [61, 64], [61, 89], [61, 68], [61, 91], [61, 22], [61, 73], [61, 38], [49, 29], [37, 21], [37, 22], [37, 38], [15, 51], [72, 64], [72, 89], [72, 21], [72, 80], [72, 68], [72, 91], [72, 38], [72, 69], [72, 39], [64, 89], [64, 21], [64, 68], [64, 22], [64, 73], [64, 38], [64, 69], [64, 39], [89, 21], [89, 68], [89, 91], [89, 22], [89, 73], [89, 38], [89, 69], [89, 39], [21, 68], [21, 22], [21, 73], [21, 38], [21, 69], [21, 39], [80, 22], [80, 29], [68, 22], [68, 73], [68, 38], [68, 69], [91, 22], [91, 73], [91, 38], [91, 69], [22, 73], [22, 38], [22, 69], [73, 38], [73, 69], [38, 69], [38, 39], [69, 39], [46, 45], [78, 23], [78, 28], [78, 24], [78, 45], [47, 11], [57, 67], [57, 63], [57, 66], [57, 70], [57, 64], [57, 68], [57, 38], [26, 25], [26, 76], [26, 77], [23, 25], [23, 27], [23, 21], [54, 18], [28, 24], [28, 45], [28, 77], [65, 56], [65, 59], [65, 60], [65, 58], [67, 56], [67, 59], [67, 60], [67, 58], [25, 76], [25, 24], [25, 27], [25, 45], [25, 44], [25, 22], [63, 56], [63, 59], [63, 60], [63, 58], [66, 56], [66, 59], [66, 60], [66, 58], [48, 80], [76, 27], [56, 64], [56, 68], [56, 38], [70, 60], [70, 58], [24, 27], [24, 22], [59, 64], [59, 68], [59, 38], [27, 77], [45, 22], [60, 64], [60, 68], [60, 38], [58, 64], [58, 68], [58, 38], [77, 74], [77, 44], [77, 73], [93, 39], [43, 22], [72, 22], [72, 73], [21, 91]];\n\n\t// 3511 non-formers derived from above\n\n\texport const $visavis_nonformer_pd_tri = {\n\t'x': [61, 70, 24, 94, 61, 69, 60, 13, 63, 28, 58, 29, 57, 57, 64, 3, 57, 56, 19, 39, 3, 21, 67, 69, 57, 77, 64, 20, 37, 57, 60, 70, 57, 56, 55, 56, 70, 55, 30, 65, 64, 58, 26, 41, 63, 4, 59, 3, 94, 37, 12, 59, 59, 46, 68, 58, 3, 60, 26, 55, 44, 20, 55, 71, 60, 31, 19, 58, 70, 56, 39, 59, 57, 68, 55, 3, 59, 26, 58, 66, 29, 14, 59, 19, 57, 3, 62, 55, 59, 65, 39, 11, 19, 3, 58, 66, 58, 25, 37, 57, 38, 65, 58, 39, 37, 60, 13, 20, 57, 62, 39, 11, 19, 55, 30, 57, 25, 64, 62, 92, 57, 75, 64, 66, 57, 58, 58, 58, 61, 58, 59, 20, 70, 62, 64, 3, 13, 11, 70, 60, 57, 77, 69, 69, 57, 29, 65, 56, 90, 25, 29, 65, 60, 3, 57, 57, 61, 58, 29, 60, 20, 26, 3, 25, 3, 57, 64, 58, 68, 62, 24, 60, 27, 60, 57, 21, 40, 59, 55, 58, 70, 3, 39, 57, 65, 65, 51, 56, 66, 65, 65, 64, 70, 69, 46, 63, 56, 57, 92, 56, 62, 64, 58, 71, 66, 57, 39, 61, 65, 70, 3, 12, 58, 94, 81, 21, 94, 25, 63, 65, 65, 20, 56, 20, 94, 20, 90, 14, 65, 11, 39, 39, 28, 39, 27, 3, 65, 59, 57, 20, 66, 60, 65, 64, 20, 81, 70, 26, 57, 41, 57, 3, 65, 63, 70, 70, 57, 66, 57, 59, 63, 66, 57, 58, 65, 59, 57, 3, 3, 65, 66, 13, 60, 59, 56, 59, 37, 65, 64, 39, 64, 56, 94, 68, 27, 67, 61, 62, 70, 29, 61, 75, 68, 57, 29, 66, 66, 75, 61, 90, 39, 26, 27, 37, 64, 65, 58, 56, 60, 20, 3, 65, 81, 59, 68, 68, 19, 70, 57, 55, 31, 75, 59, 75, 65, 65, 60, 65, 65, 57, 63, 3, 11, 29, 48, 62, 13, 13, 58, 57, 3, 59, 57, 64, 3, 13, 81, 75, 63, 69, 63, 4, 3, 11, 26, 81, 60, 39, 64, 3, 4, 25, 59, 67, 11, 75, 57, 24, 59, 47, 20, 12, 25, 29, 3, 28, 26, 3, 62, 66, 11, 65, 37, 64, 59, 59, 64, 40, 24, 70, 20, 27, 64, 21, 31, 3, 56, 3, 11, 64, 70, 67, 60, 20, 61, 57, 20, 59, 69, 37, 64, 70, 58, 60, 68, 66, 57, 70, 57, 27, 57, 39, 19, 59, 63, 31, 29, 58, 81, 64, 22, 31, 57, 69, 61, 4, 66, 70, 11, 3, 11, 56, 62, 57, 19, 39, 58, 62, 68, 27, 62, 38, 61, 70, 57, 65, 55, 20, 59, 61, 57, 40, 24, 29, 62, 58, 58, 57, 62, 58, 58, 20, 58, 58, 75, 29, 27, 57, 56, 64, 3, 57, 58, 39, 69, 57, 59, 20, 57, 59, 60, 94, 3, 3, 81, 13, 68, 19, 3, 11, 56, 65, 59, 65, 62, 65, 47, 60, 70, 66, 64, 60, 65, 3, 39, 63, 22, 75, 61, 20, 73, 65, 3, 81, 65, 68, 26, 57, 27, 3, 23, 30, 58, 57, 20, 67, 70, 63, 28, 39, 59, 67, 59, 59, 59, 65, 58, 3, 25, 56, 90, 3, 25, 67, 19, 57, 29, 58, 67, 58, 27, 58, 70, 81, 65, 37, 27, 27, 64, 64, 25, 29, 65, 3, 70, 3, 3, 62, 56, 57, 30, 20, 92, 59, 14, 3, 29, 56, 57, 30, 49, 66, 24, 70, 63, 25, 70, 41, 70, 70, 19, 58, 66, 23, 70, 57, 28, 57, 57, 63, 60, 72, 65, 65, 68, 75, 56, 71, 60, 37, 62, 92, 58, 46, 65, 63, 39, 3, 70, 48, 90, 56, 68, 19, 48, 13, 59, 60, 58, 57, 32, 20, 70, 11, 39, 56, 65, 57, 39, 58, 23, 3, 70, 70, 39, 61, 63, 57, 56, 27, 71, 39, 56, 19, 23, 65, 57, 77, 20, 65, 3, 68, 57, 57, 58, 27, 69, 11, 58, 55, 64, 75, 70, 12, 26, 19, 56, 37, 57, 39, 55, 65, 61, 57, 65, 58, 61, 72, 39, 4, 70, 60, 58, 55, 47, 62, 67, 70, 65, 70, 20, 65, 30, 61, 70, 72, 3, 3, 11, 59, 23, 68, 61, 65, 60, 38, 69, 64, 3, 47, 57, 90, 27, 58, 29, 70, 3, 29, 63, 37, 27, 65, 58, 65, 64, 30, 58, 39, 61, 3, 68, 3, 3, 70, 94, 57, 3, 29, 70, 57, 26, 12, 26, 60, 57, 24, 65, 3, 39, 71, 50, 3, 75, 70, 65, 55, 28, 20, 63, 40, 70, 19, 70, 39, 58, 58, 41, 23, 39, 26, 75, 94, 75, 20, 60, 11, 67, 58, 58, 61, 57, 66, 73, 60, 39, 38, 57, 24, 61, 57, 62, 39, 56, 73, 31, 57, 60, 3, 20, 59, 71, 66, 58, 11, 57, 65, 63, 20, 59, 61, 60, 57, 27, 59, 3, 71, 63, 3, 68, 70, 57, 64, 55, 57, 37, 57, 60, 90, 11, 58, 63, 11, 70, 64, 61, 55, 61, 64, 55, 65, 19, 57, 37, 3, 57, 58, 56, 56, 29, 60, 48, 60, 65, 59, 92, 60, 26, 11, 56, 62, 20, 20, 25, 60, 43, 55, 20, 3, 28, 26, 94, 70, 63, 75, 61, 29, 71, 69, 58, 20, 58, 75, 47, 12, 56, 20, 28, 81, 12, 56, 26, 59, 60, 67, 58, 58, 63, 65, 58, 21, 62, 61, 68, 57, 57, 56, 65, 47, 56, 70, 57, 3, 57, 81, 65, 57, 44, 62, 69, 58, 24, 70, 57, 59, 3, 29, 28, 70, 3, 55, 39, 26, 72, 57, 68, 77, 66, 56, 47, 19, 59, 60, 3, 56, 65, 57, 62, 23, 65, 67, 56, 57, 3, 65, 11, 59, 58, 68, 64, 65, 60, 3, 24, 71, 41, 65, 57, 26, 62, 90, 65, 65, 59, 68, 90, 39, 57, 31, 92, 58, 67, 61, 3, 24, 37, 58, 3, 70, 57, 61, 80, 58, 19, 20, 39, 60, 47, 28, 3, 55, 11, 64, 27, 5, 59, 57, 65, 75, 70, 61, 57, 4, 24, 58, 58, 3, 65, 65, 61, 21, 3, 57, 57, 58, 37, 57, 58, 40, 71, 62, 60, 60, 61, 11, 59, 57, 13, 57, 62, 64, 60, 65, 13, 23, 61, 58, 19, 59, 3, 57, 66, 71, 60, 59, 57, 81, 70, 76, 62, 94, 41, 59, 60, 67, 40, 61, 23, 59, 30, 3, 57, 24, 57, 57, 70, 70, 11, 27, 61, 4, 38, 70, 23, 75, 58, 3, 4, 39, 31, 56, 57, 3, 70, 14, 58, 64, 90, 47, 29, 58, 56, 77, 24, 57, 3, 20, 26, 58, 55, 41, 26, 65, 57, 62, 70, 13, 70, 55, 59, 26, 65, 71, 39, 3, 62, 28, 21, 30, 39, 58, 70, 65, 70, 65, 73, 80, 62, 27, 27, 57, 72, 26, 41, 64, 46, 61, 27, 64, 69, 60, 66, 65, 60, 62, 3, 90, 65, 64, 59, 72, 20, 22, 27, 56, 56, 70, 3, 58, 27, 70, 75, 28, 67, 24, 65, 58, 3, 60, 3, 60, 57, 57, 57, 47, 78, 29, 59, 26, 3, 39, 4, 3, 90, 67, 61, 90, 64, 70, 69, 55, 57, 3, 27, 56, 59, 58, 65, 38, 60, 3, 39, 24, 26, 61, 29, 60, 61, 58, 26, 92, 60, 66, 58, 57, 69, 57, 56, 69, 63, 70, 57, 72, 60, 11, 26, 3, 59, 65, 62, 27, 75, 44, 25, 59, 57, 66, 73, 4, 39, 48, 70, 11, 56, 20, 3, 27, 27, 70, 19, 65, 65, 21, 26, 26, 72, 65, 80, 19, 3, 68, 19, 58, 64, 3, 26, 29, 65, 59, 3, 66, 11, 70, 3, 55, 27, 37, 13, 23, 61, 3, 58, 58, 47, 58, 83, 67, 57, 65, 61, 65, 30, 58, 62, 90, 65, 59, 57, 67, 47, 3, 38, 27, 39, 58, 61, 62, 46, 80, 21, 70, 13, 67, 37, 69, 59, 64, 25, 24, 65, 23, 57, 57, 3, 39, 3, 93, 47, 27, 25, 63, 29, 65, 59, 65, 47, 81, 3, 60, 75, 70, 57, 25, 66, 59, 62, 63, 39, 58, 50, 60, 72, 81, 69, 26, 67, 70, 60, 55, 71, 30, 59, 57, 70, 70, 81, 65, 64, 57, 27, 70, 13, 81, 19, 39, 61, 58, 57, 58, 11, 65, 62, 55, 59, 66, 20, 71, 13, 59, 11, 77, 26, 67, 71, 94, 71, 20, 57, 58, 3, 25, 28, 3, 55, 3, 55, 72, 62, 59, 70, 65, 57, 25, 70, 57, 58, 57, 58, 20, 65, 66, 28, 28, 72, 20, 13, 60, 3, 61, 20, 27, 3, 68, 38, 59, 11, 11, 11, 46, 3, 3, 37, 27, 66, 57, 13, 11, 68, 38, 37, 39, 65, 37, 48, 20, 50, 70, 39, 70, 58, 56, 24, 57, 56, 64, 65, 56, 29, 71, 59, 68, 57, 25, 70, 3, 57, 57, 50, 57, 70, 58, 37, 81, 64, 39, 65, 26, 80, 56, 60, 58, 56, 57, 37, 56, 57, 71, 13, 3, 19, 80, 60, 55, 29, 70, 66, 80, 29, 39, 62, 66, 65, 73, 69, 3, 60, 11, 3, 65, 71, 90, 48, 90, 70, 60, 13, 65, 47, 70, 58, 27, 56, 60, 65, 65, 75, 39, 70, 21, 58, 59, 60, 66, 20, 58, 29, 14, 29, 31, 57, 65, 70, 19, 19, 71, 61, 59, 13, 62, 28, 29, 81, 56, 70, 26, 70, 55, 20, 3, 65, 20, 64, 64, 60, 65, 57, 61, 56, 57, 92, 20, 67, 39, 64, 70, 57, 37, 3, 61, 3, 38, 61, 68, 20, 3, 56, 65, 62, 58, 60, 26, 64, 55, 67, 39, 3, 3, 58, 3, 70, 19, 68, 29, 28, 28, 24, 39, 65, 66, 37, 3, 62, 77, 61, 56, 39, 60, 90, 19, 28, 29, 64, 27, 3, 69, 61, 68, 62, 70, 19, 66, 57, 70, 39, 70, 58, 27, 58, 47, 20, 81, 65, 4, 39, 60, 60, 4, 57, 49, 3, 28, 64, 64, 68, 29, 61, 72, 21, 24, 92, 65, 27, 30, 61, 56, 68, 28, 3, 12, 64, 27, 70, 70, 29, 60, 92, 62, 25, 61, 68, 60, 21, 66, 63, 39, 63, 60, 55, 57, 60, 30, 12, 75, 38, 26, 23, 62, 58, 11, 3, 70, 57, 3, 69, 73, 65, 28, 61, 94, 63, 90, 19, 62, 12, 65, 58, 57, 44, 57, 61, 70, 58, 27, 14, 68, 76, 72, 42, 62, 20, 67, 26, 57, 4, 68, 50, 60, 63, 57, 61, 66, 61, 81, 39, 56, 58, 23, 58, 70, 57, 3, 39, 62, 58, 47, 62, 11, 65, 59, 66, 68, 11, 61, 57, 66, 20, 60, 70, 3, 20, 55, 39, 62, 67, 66, 94, 58, 62, 57, 70, 59, 67, 71, 70, 37, 64, 67, 43, 58, 29, 57, 62, 57, 13, 55, 61, 76, 68, 64, 65, 58, 4, 29, 60, 20, 4, 29, 71, 59, 37, 70, 58, 72, 65, 27, 3, 70, 70, 70, 21, 57, 20, 58, 57, 94, 70, 68, 92, 66, 14, 65, 59, 58, 81, 67, 3, 39, 21, 29, 81, 60, 28, 62, 3, 70, 58, 59, 77, 68, 65, 66, 41, 57, 47, 72, 75, 57, 61, 39, 59, 11, 81, 64, 3, 59, 58, 25, 39, 56, 58, 64, 58, 25, 65, 60, 41, 3, 3, 13, 65, 65, 60, 38, 68, 12, 66, 64, 11, 62, 57, 58, 58, 68, 71, 26, 3, 61, 90, 81, 69, 43, 57, 3, 38, 58, 57, 3, 56, 57, 58, 55, 62, 3, 57, 57, 39, 90, 67, 58, 65, 57, 57, 55, 83, 25, 12, 68, 90, 24, 68, 65, 3, 58, 43, 59, 3, 57, 26, 27, 41, 27, 58, 75, 71, 63, 58, 77, 80, 39, 57, 81, 27, 61, 58, 65, 70, 61, 27, 65, 64, 66, 57, 57, 92, 57, 55, 65, 60, 3, 62, 57, 64, 58, 65, 58, 59, 57, 66, 3, 58, 66, 68, 57, 20, 63, 57, 3, 57, 71, 64, 3, 24, 57, 37, 65, 63, 27, 57, 37, 29, 37, 64, 68, 23, 66, 21, 65, 3, 68, 23, 57, 73, 73, 60, 23, 70, 57, 46, 21, 25, 70, 62, 58, 47, 60, 3, 57, 13, 57, 49, 23, 13, 56, 90, 55, 20, 13, 3, 70, 25, 26, 65, 60, 56, 57, 62, 39, 43, 55, 64, 66, 57, 70, 58, 77, 58, 65, 61, 59, 65, 80, 65, 59, 29, 26, 59, 30, 70, 48, 57, 31, 62, 27, 58, 65, 38, 24, 70, 63, 30, 20, 60, 58, 11, 81, 60, 3, 59, 59, 27, 65, 3, 61, 57, 59, 59, 70, 64, 67, 70, 3, 70, 71, 20, 65, 66, 38, 65, 59, 70, 48, 65, 57, 62, 3, 56, 64, 63, 57, 61, 58, 92, 55, 70, 57, 65, 63, 55, 61, 38, 29, 57, 57, 59, 68, 67, 70, 39, 24, 62, 3, 64, 21, 37, 90, 19, 67, 56, 37, 58, 59, 56, 3, 75, 63, 60, 55, 65, 55, 11, 57, 57, 65, 90, 3, 71, 65, 41, 48, 62, 4, 38, 46, 61, 57, 58, 57, 57, 19, 67, 60, 58, 60, 65, 68, 62, 61, 21, 55, 70, 59, 30, 70, 68, 61, 25, 56, 57, 70, 59, 68, 27, 27, 57, 62, 61, 70, 72, 59, 61, 61, 19, 23, 70, 3, 39, 90, 56, 58, 59, 56, 32, 58, 37, 70, 14, 3, 56, 68, 58, 39, 11, 70, 65, 62, 59, 56, 47, 41, 65, 61, 30, 65, 20, 69, 43, 63, 57, 70, 70, 58, 65, 29, 56, 57, 31, 65, 68, 59, 66, 71, 59, 57, 65, 71, 55, 26, 19, 65, 26, 66, 39, 65, 21, 64, 3, 25, 70, 62, 57, 31, 56, 60, 64, 63, 68, 4, 19, 81, 27, 23, 26, 57, 59, 73, 3, 30, 65, 20, 57, 70, 57, 3, 70, 3, 67, 59, 65, 70, 60, 31, 61, 56, 28, 39, 20, 13, 90, 26, 65, 3, 61, 26, 64, 66, 57, 70, 65, 65, 43, 58, 70, 11, 60, 67, 56, 26, 61, 64, 65, 57, 38, 57, 66, 81, 41, 94, 77, 70, 3, 59, 60, 58, 4, 66, 13, 57, 65, 63, 75, 60, 62, 55, 65, 12, 29, 3, 3, 39, 70, 3, 66, 20, 59, 57, 63, 65, 70, 22, 12, 73, 3, 81, 65, 64, 29, 3, 64, 29, 3, 70, 64, 59, 23, 57, 73, 65, 24, 65, 20, 64, 24, 24, 58, 38, 47, 39, 68, 62, 24, 57, 20, 90, 56, 58, 39, 55, 65, 19, 20, 65, 58, 70, 39, 64, 70, 58, 66, 39, 72, 29, 67, 11, 29, 14, 56, 61, 25, 20, 59, 60, 75, 64, 58, 57, 70, 13, 13, 65, 61, 58, 59, 66, 30, 37, 81, 20, 90, 64, 57, 60, 58, 65, 64, 70, 70, 37, 66, 4, 39, 56, 70, 65, 67, 61, 3, 58, 4, 30, 59, 65, 3, 66, 56, 67, 68, 20, 76, 59, 24, 57, 25, 70, 57, 58, 75, 81, 62, 27, 61, 58, 58, 57, 70, 29, 37, 70, 60, 81, 65, 62, 65, 3, 59, 12, 57, 90, 60, 63, 58, 64, 68, 20, 27, 70, 62, 39, 39, 23, 58, 55, 60, 3, 14, 70, 81, 65, 58, 70, 60, 59, 3, 70, 65, 57, 60, 61, 3, 64, 3, 94, 11, 39, 58, 72, 57, 67, 20, 60, 57, 70, 43, 3, 3, 4, 20, 19, 61, 57, 20, 60, 61, 70, 58, 66, 70, 29, 57, 69, 65, 57, 62, 3, 58, 21, 73, 60, 60, 57, 57, 20, 75, 65, 57, 57, 29, 3, 14, 64, 62, 11, 57, 90, 39, 57, 66, 57, 20, 59, 58, 71, 39, 3, 57, 60, 57, 3, 66, 30, 39, 3, 61, 59, 56, 26, 59, 81, 3, 60, 59, 59, 58, 65, 23, 26, 55, 68, 65, 19, 64, 57, 70, 67, 59, 12, 73, 3, 60, 69, 19, 55, 59, 56, 62, 70, 59, 57, 3, 70, 3, 73, 26, 61, 26, 66, 41, 68, 38, 66, 65, 60, 4, 63, 70, 58, 64, 81, 62, 57, 55, 29, 70, 58, 3, 64, 70, 75, 20, 70, 57, 77, 13, 57, 60, 13, 3, 67, 3, 31, 70, 3, 92, 70, 58, 26, 64, 65, 20, 58, 70, 73, 90, 20, 68, 62, 58, 59, 73, 3, 56, 3, 80, 64, 65, 58, 67, 39, 77, 57, 3, 69, 65, 59, 75, 27, 60, 57, 20, 56, 11, 55, 64, 57, 29, 3, 58, 20, 58, 30, 60, 23, 65, 72, 21, 57, 13, 4, 76, 47, 61, 3, 55, 58, 59, 3, 57, 60, 90, 68, 64, 71, 71, 58, 58, 3, 58, 3, 70, 3, 58, 55, 65, 58, 67, 39, 64, 64, 3, 27, 64, 27, 64, 3, 4, 64, 59, 70, 57, 81, 24, 65, 60, 63, 31, 3, 3, 56, 3, 59, 58, 66, 20, 28, 68, 56, 59, 58, 11, 29, 57, 57, 43, 22, 65, 72, 71, 73, 27, 11, 70, 25, 58, 59, 20, 60, 70, 13, 23, 58, 67, 65, 20, 60, 94, 23, 65, 23, 26, 71, 26, 20, 20, 37, 60, 27, 64, 63, 94, 61, 57, 31, 56, 27, 57, 55, 57, 58, 27, 12, 21, 62, 58, 3, 65, 55, 55, 58, 12, 19, 37, 56, 20, 59, 14, 39, 30, 3, 70, 57, 57, 72, 19, 71, 3, 48, 48, 64, 29, 70, 68, 65, 68, 43, 66, 29, 39, 57, 71, 24, 39, 3, 65, 65, 58, 64, 20, 73, 59, 3, 57, 69, 58, 56, 11, 68, 68, 48, 56, 75, 59, 71, 26, 3, 60, 57, 12, 58, 46, 64, 60, 59, 21, 27, 63, 39, 65, 57, 90, 3, 61, 81, 59, 20, 27, 3, 29, 65, 28, 3, 11, 57, 20, 38, 57, 57, 65, 42, 65, 13, 23, 60, 81, 65, 55, 60, 63, 57, 12, 3, 11, 57, 90, 58, 66, 60, 70, 31, 59, 63, 72, 94, 3, 29, 62, 64, 67, 29, 43, 39, 28, 66, 26, 73, 63, 27, 75, 57, 60, 65, 70, 19, 75, 55, 59, 70, 39, 70, 60, 62, 39, 58, 75, 58, 3, 39, 13, 3, 59, 63, 59, 61, 11, 13, 56, 39, 60, 27, 70, 80, 67, 59, 65, 77, 58, 69, 61, 70, 57, 62, 72, 73, 4, 61, 70, 67, 65, 58, 13, 20, 70, 55, 11, 65, 38, 43, 39, 22, 59, 27, 57, 75, 70, 60, 26, 59, 70, 58, 89, 30, 57, 56, 25, 66, 68, 57, 43, 59, 70, 25, 20, 46, 58, 57, 65, 56, 73, 60, 81, 3, 3, 13, 58, 28, 68, 59, 57, 28, 57, 57, 61, 58, 63, 61, 58, 3, 62, 65, 60, 37, 59, 39, 48, 3, 23, 61, 70, 65, 20, 65, 39, 37, 80, 57, 46, 19, 3, 59, 70, 57, 62, 58, 60, 47, 61, 70, 92, 20, 65, 58, 38, 27, 37, 22, 90, 70, 73, 57, 59, 37, 58, 58, 63, 57, 48, 63, 60, 11, 65, 90, 71, 65, 65, 66, 37, 3, 75, 61, 57, 57, 12, 60, 66, 65, 46, 55, 20, 57, 62, 80, 27, 58, 29, 57, 56, 57, 3, 90, 3, 30, 21, 62, 3, 3, 39, 22, 62, 3, 58, 69, 70, 20, 58, 60, 72, 27, 27, 20, 94, 23, 39, 66, 58, 28, 75, 58, 68, 24, 3, 63, 70, 31, 63, 3, 70, 62, 57, 58, 3, 39, 59, 59, 75, 60, 81, 70, 65, 25, 58, 19, 58, 28, 19, 65, 94, 57, 61, 57, 65, 29, 3, 65, 38, 61, 19, 64, 39, 58, 70, 68, 59, 63, 64, 3, 11, 62, 57, 31, 3, 27, 57, 70, 68, 81, 70, 27, 3, 37, 19, 66, 94, 3, 65, 57, 65, 65, 56, 64, 73, 57, 57, 32, 3, 29, 57, 65, 63, 58, 59, 57, 61, 62, 25, 58, 37, 57, 20, 62, 3, 39, 60, 61, 12, 57, 64, 63, 65, 55, 65, 48, 29, 64, 59, 57, 39, 28, 19, 60, 59, 57, 70, 66, 57, 58, 58, 39, 81, 60, 19, 3, 25, 67, 61, 58, 28, 24, 68, 58, 30, 62, 63, 26, 27, 62, 26, 69, 73, 67, 3, 70, 26, 60, 57, 12, 57, 39, 29, 37, 3, 26, 63, 60, 61, 62, 30, 81, 57, 69, 38, 39, 65, 57, 66, 55, 56, 59, 60, 69, 3, 64, 22, 21, 57, 58, 39, 62, 65, 3, 67, 62, 60, 11, 19, 25, 80, 68, 94, 20, 63, 76, 57, 23, 56, 60, 59, 39, 65, 58, 78, 68, 56, 59, 62, 31, 67, 13, 66, 11, 48, 65, 56, 20, 29, 27, 61, 30, 57, 38, 66, 63, 20, 63, 29, 4, 57, 60, 20, 70, 20, 3, 13, 3, 3, 59, 70, 3, 61, 66, 20, 55, 58, 65, 58],\n\t'y': [66, 64, 28, 23, 68, 71, 94, 30, 92, 44, 61, 43, 62, 70, 71, 72, 66, 70, 40, 40, 58, 92, 68, 23, 94, 46, 67, 39, 72, 70, 94, 39, 23, 57, 3, 38, 39, 59, 83, 61, 73, 63, 76, 23, 72, 13, 23, 68, 22, 11, 23, 60, 62, 44, 94, 40, 69, 64, 45, 23, 78, 71, 19, 73, 92, 14, 12, 90, 66, 60, 94, 64, 39, 41, 40, 39, 90, 29, 62, 39, 77, 51, 67, 3, 65, 60, 90, 40, 39, 70, 72, 24, 12, 68, 72, 67, 25, 26, 72, 65, 60, 62, 21, 67, 3, 90, 14, 57, 21, 64, 21, 38, 3, 37, 31, 61, 26, 69, 64, 22, 58, 80, 66, 67, 60, 73, 71, 60, 69, 69, 62, 57, 71, 71, 69, 59, 31, 22, 60, 64, 65, 46, 94, 90, 68, 28, 21, 38, 21, 27, 28, 58, 71, 61, 69, 94, 59, 67, 43, 66, 61, 29, 62, 47, 68, 65, 22, 64, 21, 68, 28, 92, 79, 94, 70, 24, 21, 69, 72, 67, 64, 58, 23, 21, 21, 59, 82, 70, 94, 64, 71, 68, 22, 23, 78, 94, 62, 62, 23, 61, 67, 90, 59, 22, 71, 21, 92, 60, 64, 68, 59, 25, 61, 22, 48, 23, 23, 26, 40, 39, 59, 60, 60, 65, 73, 70, 42, 50, 21, 24, 68, 67, 46, 22, 46, 64, 39, 39, 70, 70, 68, 62, 39, 68, 61, 30, 21, 27, 62, 23, 62, 59, 64, 90, 92, 68, 67, 39, 58, 71, 39, 68, 70, 61, 61, 66, 94, 58, 59, 61, 68, 49, 68, 60, 61, 66, 11, 61, 68, 90, 39, 61, 41, 90, 28, 90, 59, 71, 59, 47, 67, 77, 71, 63, 47, 23, 90, 83, 59, 21, 23, 47, 76, 3, 66, 68, 22, 22, 66, 69, 72, 21, 30, 69, 22, 21, 3, 21, 58, 12, 5, 77, 64, 28, 60, 73, 39, 66, 59, 40, 90, 65, 23, 75, 32, 64, 49, 48, 63, 65, 65, 23, 61, 68, 57, 31, 33, 46, 39, 73, 23, 30, 61, 12, 47, 30, 62, 73, 71, 65, 31, 29, 24, 24, 3, 44, 65, 82, 68, 46, 60, 24, 28, 5, 68, 76, 47, 68, 39, 69, 41, 40, 11, 39, 68, 62, 69, 73, 80, 68, 61, 29, 67, 22, 14, 71, 38, 61, 3, 21, 68, 71, 21, 58, 64, 39, 70, 90, 24, 3, 39, 59, 72, 39, 22, 90, 59, 67, 70, 45, 63, 24, 40, 62, 21, 50, 47, 64, 31, 68, 41, 50, 63, 71, 69, 13, 71, 69, 73, 64, 38, 57, 42, 69, 24, 73, 61, 69, 90, 76, 66, 20, 68, 23, 64, 73, 12, 60, 73, 62, 62, 22, 29, 28, 94, 59, 71, 23, 39, 68, 39, 61, 59, 71, 44, 76, 28, 73, 23, 90, 68, 70, 39, 71, 90, 63, 66, 70, 92, 92, 71, 23, 60, 58, 29, 30, 21, 12, 58, 41, 57, 90, 67, 70, 39, 66, 32, 68, 39, 67, 73, 62, 62, 71, 72, 21, 24, 47, 68, 65, 42, 68, 57, 47, 39, 40, 28, 68, 75, 24, 47, 50, 60, 24, 63, 68, 40, 23, 77, 69, 94, 90, 69, 68, 94, 58, 42, 65, 81, 57, 24, 57, 26, 69, 37, 64, 47, 39, 40, 69, 44, 22, 72, 14, 70, 3, 28, 77, 71, 66, 29, 42, 59, 12, 59, 62, 65, 41, 57, 66, 14, 39, 73, 71, 83, 58, 75, 20, 71, 48, 31, 68, 80, 66, 39, 27, 68, 23, 60, 90, 37, 64, 71, 26, 40, 58, 46, 59, 58, 90, 67, 22, 70, 59, 94, 80, 70, 40, 39, 11, 66, 41, 71, 45, 58, 24, 22, 58, 64, 5, 22, 57, 71, 37, 26, 81, 60, 67, 67, 94, 79, 39, 64, 23, 67, 38, 66, 64, 68, 62, 46, 65, 59, 64, 67, 24, 90, 68, 39, 80, 94, 69, 20, 3, 80, 64, 61, 44, 39, 70, 21, 72, 73, 66, 60, 78, 71, 12, 63, 3, 94, 46, 60, 92, 46, 37, 20, 12, 62, 24, 22, 90, 64, 68, 64, 61, 62, 21, 94, 30, 92, 39, 72, 19, 46, 69, 24, 92, 71, 90, 65, 66, 48, 94, 41, 92, 62, 40, 73, 68, 49, 90, 66, 64, 40, 20, 90, 21, 64, 76, 92, 73, 46, 67, 75, 21, 57, 47, 21, 11, 45, 67, 64, 58, 66, 49, 41, 67, 59, 59, 71, 64, 64, 71, 41, 65, 57, 28, 59, 21, 47, 25, 47, 24, 59, 29, 68, 71, 71, 22, 5, 59, 80, 66, 61, 19, 77, 21, 39, 21, 94, 3, 59, 94, 90, 39, 23, 29, 92, 29, 78, 22, 77, 70, 62, 38, 94, 67, 40, 90, 64, 71, 22, 66, 67, 39, 59, 29, 71, 61, 68, 94, 38, 23, 80, 94, 94, 21, 63, 39, 94, 22, 39, 40, 71, 60, 21, 58, 71, 67, 73, 71, 46, 62, 12, 24, 72, 64, 94, 60, 63, 67, 3, 67, 40, 59, 64, 92, 12, 21, 92, 4, 71, 66, 62, 23, 94, 39, 19, 70, 73, 70, 3, 64, 40, 92, 64, 39, 28, 22, 14, 69, 68, 67, 24, 92, 46, 3, 20, 68, 57, 57, 27, 62, 46, 73, 63, 57, 77, 28, 41, 39, 39, 28, 62, 75, 41, 71, 23, 58, 62, 43, 44, 24, 20, 70, 76, 48, 40, 21, 44, 72, 39, 69, 94, 39, 92, 62, 59, 22, 66, 66, 71, 64, 25, 22, 58, 44, 59, 66, 59, 73, 67, 23, 67, 39, 78, 39, 71, 68, 74, 92, 63, 60, 41, 78, 47, 72, 61, 41, 22, 47, 73, 62, 72, 76, 67, 60, 46, 37, 62, 66, 61, 70, 61, 61, 66, 24, 61, 94, 70, 62, 65, 68, 12, 42, 69, 73, 67, 67, 64, 59, 47, 94, 80, 64, 70, 77, 69, 21, 64, 61, 39, 24, 21, 69, 71, 80, 22, 59, 90, 64, 67, 26, 73, 59, 59, 73, 71, 23, 83, 41, 23, 63, 21, 39, 77, 44, 60, 37, 3, 23, 47, 51, 39, 40, 94, 28, 41, 68, 39, 14, 42, 71, 71, 39, 67, 62, 60, 92, 60, 60, 70, 68, 22, 24, 60, 73, 23, 66, 92, 66, 67, 22, 68, 22, 31, 61, 71, 68, 62, 61, 80, 80, 59, 90, 72, 66, 39, 68, 39, 94, 69, 71, 61, 48, 39, 46, 66, 93, 23, 66, 69, 21, 21, 69, 47, 66, 48, 62, 65, 28, 92, 58, 71, 69, 20, 80, 59, 14, 39, 64, 46, 77, 64, 67, 30, 92, 80, 59, 69, 65, 63, 47, 24, 42, 21, 77, 75, 61, 26, 76, 29, 58, 57, 70, 46, 63, 59, 29, 29, 68, 90, 68, 22, 30, 67, 19, 72, 27, 61, 90, 67, 58, 39, 46, 73, 49, 71, 63, 64, 69, 90, 23, 81, 42, 68, 75, 47, 69, 40, 28, 42, 90, 78, 66, 28, 66, 94, 66, 68, 68, 69, 68, 57, 41, 58, 67, 66, 40, 94, 41, 77, 38, 70, 90, 60, 68, 75, 68, 46, 46, 21, 26, 62, 64, 58, 39, 60, 39, 67, 58, 22, 76, 74, 83, 60, 27, 41, 21, 14, 72, 23, 42, 39, 40, 67, 94, 22, 12, 64, 60, 47, 23, 64, 92, 66, 20, 21, 39, 90, 29, 76, 62, 82, 67, 60, 60, 28, 23, 73, 94, 94, 58, 71, 67, 57, 22, 39, 39, 70, 90, 62, 72, 47, 94, 62, 68, 64, 29, 47, 45, 81, 68, 24, 94, 49, 49, 71, 83, 66, 72, 60, 25, 60, 76, 44, 94, 73, 70, 70, 22, 27, 29, 90, 39, 32, 41, 57, 90, 40, 39, 71, 65, 29, 76, 69, 69, 39, 67, 29, 63, 22, 72, 29, 22, 31, 24, 64, 57, 67, 72, 45, 94, 5, 68, 73, 66, 71, 69, 48, 41, 69, 92, 60, 62, 59, 21, 83, 65, 39, 75, 69, 23, 69, 66, 44, 83, 92, 59, 81, 94, 40, 22, 62, 69, 23, 48, 73, 47, 67, 66, 64, 68, 21, 24, 42, 80, 81, 39, 77, 64, 72, 58, 77, 30, 62, 62, 28, 40, 66, 44, 69, 60, 67, 41, 68, 92, 32, 22, 21, 31, 73, 44, 68, 90, 68, 37, 40, 31, 94, 63, 92, 64, 32, 58, 71, 66, 75, 21, 30, 28, 37, 90, 39, 62, 67, 39, 73, 58, 64, 3, 94, 40, 26, 73, 31, 90, 3, 44, 44, 23, 90, 73, 90, 69, 66, 21, 57, 23, 47, 65, 73, 67, 59, 40, 90, 68, 66, 64, 70, 81, 59, 39, 59, 60, 39, 71, 59, 68, 78, 45, 12, 69, 80, 67, 62, 67, 70, 29, 69, 21, 25, 64, 3, 23, 40, 74, 64, 71, 3, 80, 39, 60, 50, 40, 69, 20, 22, 41, 60, 11, 31, 65, 32, 64, 67, 39, 64, 62, 48, 39, 25, 94, 90, 25, 28, 22, 64, 22, 60, 27, 63, 61, 62, 63, 32, 68, 59, 71, 41, 47, 71, 68, 71, 77, 76, 70, 39, 62, 59, 59, 23, 20, 69, 90, 32, 39, 12, 77, 90, 73, 46, 66, 90, 32, 28, 22, 67, 39, 60, 22, 71, 69, 64, 24, 24, 61, 42, 73, 32, 22, 42, 71, 48, 60, 76, 24, 40, 80, 38, 39, 69, 68, 28, 92, 64, 22, 62, 64, 39, 39, 57, 71, 44, 50, 75, 32, 63, 58, 59, 22, 23, 94, 68, 62, 14, 64, 77, 75, 32, 61, 68, 83, 71, 59, 65, 67, 68, 57, 40, 67, 71, 70, 92, 90, 20, 58, 41, 58, 68, 68, 69, 69, 63, 72, 68, 68, 72, 23, 69, 90, 71, 39, 20, 61, 92, 63, 39, 27, 39, 12, 90, 90, 57, 73, 90, 22, 67, 37, 72, 43, 45, 47, 26, 21, 60, 68, 72, 65, 64, 46, 60, 61, 72, 64, 92, 12, 78, 46, 23, 47, 58, 90, 66, 21, 90, 25, 23, 69, 65, 60, 67, 94, 59, 75, 94, 42, 23, 29, 71, 50, 68, 66, 67, 30, 59, 31, 26, 44, 21, 24, 69, 42, 67, 90, 42, 48, 73, 90, 29, 50, 71, 63, 71, 77, 25, 92, 22, 28, 68, 67, 77, 68, 22, 71, 47, 90, 71, 69, 73, 68, 94, 90, 42, 64, 22, 60, 23, 14, 48, 47, 23, 47, 29, 92, 94, 26, 62, 67, 70, 94, 23, 29, 61, 47, 39, 40, 94, 40, 37, 71, 48, 59, 63, 60, 78, 71, 69, 90, 61, 28, 50, 90, 46, 12, 74, 64, 65, 71, 27, 62, 13, 69, 83, 73, 90, 60, 60, 90, 68, 30, 94, 61, 59, 24, 90, 66, 68, 12, 71, 39, 63, 32, 67, 3, 70, 64, 39, 94, 3, 60, 58, 39, 60, 62, 60, 41, 58, 3, 40, 66, 69, 39, 24, 21, 92, 62, 60, 66, 68, 90, 60, 73, 68, 21, 46, 69, 78, 67, 67, 64, 30, 59, 59, 78, 42, 66, 68, 60, 13, 43, 94, 57, 30, 45, 94, 60, 11, 59, 59, 12, 90, 47, 65, 69, 39, 73, 73, 71, 58, 67, 92, 73, 39, 40, 24, 69, 47, 39, 64, 68, 29, 21, 12, 71, 23, 83, 30, 67, 78, 68, 71, 39, 90, 71, 76, 24, 62, 22, 81, 71, 46, 21, 76, 90, 39, 72, 39, 72, 23, 39, 94, 62, 64, 26, 90, 63, 67, 40, 39, 28, 59, 71, 29, 67, 62, 32, 94, 73, 21, 21, 94, 41, 94, 69, 3, 73, 59, 22, 68, 71, 94, 77, 39, 59, 21, 49, 94, 28, 70, 59, 60, 21, 90, 58, 57, 39, 59, 19, 64, 73, 70, 66, 94, 40, 69, 71, 42, 94, 59, 22, 51, 29, 22, 90, 22, 29, 41, 69, 57, 92, 28, 67, 24, 62, 29, 29, 81, 78, 68, 77, 94, 41, 21, 46, 77, 21, 90, 23, 29, 39, 59, 59, 90, 66, 44, 70, 39, 67, 73, 69, 22, 61, 19, 60, 90, 71, 23, 60, 40, 60, 70, 90, 92, 68, 39, 59, 68, 39, 21, 41, 58, 92, 21, 58, 66, 73, 39, 58, 48, 69, 12, 64, 21, 47, 65, 12, 77, 72, 73, 94, 29, 94, 22, 64, 65, 73, 24, 39, 29, 41, 62, 26, 63, 41, 79, 24, 27, 60, 68, 59, 77, 22, 39, 58, 14, 63, 14, 24, 50, 25, 22, 3, 94, 14, 12, 92, 81, 77, 60, 68, 38, 63, 67, 67, 77, 72, 22, 69, 61, 94, 92, 76, 62, 39, 39, 90, 58, 83, 58, 39, 28, 27, 69, 50, 63, 26, 64, 83, 64, 78, 68, 58, 22, 26, 72, 72, 32, 21, 62, 69, 20, 48, 71, 21, 66, 90, 29, 94, 22, 39, 39, 62, 67, 64, 68, 23, 66, 12, 68, 22, 60, 58, 73, 20, 22, 39, 59, 31, 90, 58, 94, 62, 70, 67, 94, 68, 71, 59, 23, 3, 39, 90, 21, 73, 37, 64, 22, 44, 62, 92, 64, 23, 71, 68, 71, 47, 23, 39, 67, 92, 12, 73, 72, 71, 60, 11, 62, 24, 59, 60, 76, 24, 68, 37, 61, 19, 38, 58, 64, 71, 92, 40, 90, 60, 83, 14, 67, 49, 20, 78, 59, 23, 64, 58, 90, 3, 68, 64, 62, 66, 71, 94, 24, 62, 92, 24, 72, 90, 31, 60, 40, 62, 48, 57, 65, 60, 39, 73, 75, 28, 58, 39, 62, 39, 12, 67, 59, 62, 12, 49, 73, 65, 90, 24, 63, 62, 71, 20, 83, 90, 40, 59, 32, 68, 57, 40, 59, 73, 73, 69, 61, 94, 69, 21, 83, 29, 67, 62, 32, 59, 58, 22, 28, 94, 65, 71, 23, 39, 60, 77, 57, 64, 50, 67, 90, 39, 40, 23, 64, 22, 94, 41, 37, 27, 22, 70, 79, 67, 94, 59, 73, 67, 39, 23, 22, 39, 60, 14, 39, 39, 71, 73, 69, 31, 3, 23, 76, 80, 27, 65, 66, 41, 94, 49, 58, 70, 39, 67, 71, 67, 59, 59, 90, 62, 71, 63, 23, 80, 60, 64, 44, 68, 71, 30, 23, 28, 62, 94, 66, 27, 90, 22, 58, 90, 67, 39, 77, 60, 39, 23, 71, 94, 20, 76, 67, 90, 66, 21, 25, 42, 71, 30, 81, 93, 78, 66, 94, 69, 66, 69, 13, 90, 48, 68, 60, 72, 76, 69, 69, 73, 94, 25, 46, 68, 71, 71, 67, 62, 22, 22, 72, 70, 25, 22, 60, 24, 40, 22, 60, 47, 64, 94, 46, 40, 24, 44, 68, 21, 68, 71, 26, 64, 23, 24, 42, 58, 57, 39, 26, 83, 59, 21, 32, 73, 23, 92, 80, 59, 58, 23, 60, 63, 73, 3, 60, 37, 69, 66, 94, 72, 21, 66, 94, 59, 68, 68, 90, 42, 94, 12, 75, 47, 57, 71, 23, 57, 92, 68, 28, 39, 72, 60, 67, 48, 81, 62, 62, 22, 64, 24, 50, 12, 49, 23, 73, 68, 68, 90, 61, 39, 90, 59, 72, 73, 94, 31, 67, 70, 39, 60, 40, 64, 25, 63, 13, 32, 67, 39, 62, 94, 20, 90, 72, 94, 46, 94, 47, 58, 29, 21, 60, 67, 47, 42, 23, 77, 64, 68, 62, 65, 64, 28, 23, 40, 21, 48, 62, 64, 70, 68, 68, 92, 58, 21, 64, 72, 21, 94, 22, 61, 29, 63, 71, 92, 90, 42, 69, 22, 66, 67, 47, 21, 48, 90, 24, 59, 90, 60, 21, 67, 67, 94, 66, 60, 65, 73, 57, 22, 20, 41, 39, 21, 69, 71, 21, 21, 65, 64, 46, 23, 62, 32, 65, 41, 64, 62, 70, 64, 94, 90, 72, 69, 73, 46, 65, 94, 67, 21, 73, 25, 64, 41, 23, 62, 67, 68, 39, 60, 80, 66, 65, 40, 43, 69, 32, 39, 73, 12, 58, 41, 41, 73, 69, 59, 57, 66, 60, 40, 94, 58, 63, 62, 65, 58, 39, 31, 40, 61, 60, 22, 57, 27, 60, 49, 61, 71, 60, 90, 39, 58, 24, 45, 19, 69, 39, 24, 22, 90, 73, 90, 67, 23, 41, 12, 71, 90, 72, 12, 73, 64, 68, 63, 22, 61, 60, 66, 64, 41, 29, 59, 29, 90, 80, 23, 39, 90, 70, 39, 30, 39, 39, 64, 90, 14, 66, 67, 3, 83, 39, 92, 23, 68, 66, 28, 60, 94, 65, 45, 81, 22, 64, 48, 67, 23, 64, 75, 71, 59, 73, 69, 67, 77, 94, 64, 57, 60, 63, 23, 41, 69, 21, 24, 61, 62, 81, 65, 61, 64, 5, 69, 59, 64, 69, 92, 78, 65, 22, 71, 59, 73, 83, 29, 67, 61, 63, 21, 41, 3, 66, 58, 75, 12, 94, 57, 39, 48, 23, 26, 66, 90, 23, 39, 49, 31, 44, 32, 39, 57, 40, 21, 60, 69, 67, 69, 73, 69, 39, 73, 90, 68, 22, 58, 90, 72, 67, 61, 64, 19, 22, 69, 71, 68, 66, 94, 24, 83, 94, 44, 71, 57, 13, 39, 66, 24, 64, 29, 47, 69, 39, 90, 32, 61, 60, 59, 23, 39, 23, 68, 63, 46, 71, 39, 60, 60, 12, 47, 58, 68, 28, 41, 58, 92, 23, 23, 77, 22, 72, 29, 60, 64, 61, 64, 63, 80, 24, 60, 68, 60, 65, 67, 73, 29, 24, 29, 28, 90, 28, 39, 58, 22, 62, 75, 71, 94, 40, 62, 58, 50, 38, 75, 71, 41, 39, 62, 28, 24, 41, 92, 73, 39, 66, 37, 37, 64, 22, 73, 11, 64, 65, 68, 32, 68, 14, 61, 71, 66, 61, 40, 72, 22, 94, 31, 31, 39, 74, 60, 69, 64, 71, 78, 73, 46, 23, 70, 41, 29, 21, 57, 62, 39, 68, 66, 58, 81, 60, 59, 59, 24, 67, 70, 22, 90, 22, 32, 63, 47, 22, 73, 27, 25, 67, 61, 41, 61, 44, 21, 94, 64, 92, 29, 23, 69, 71, 60, 22, 60, 64, 29, 92, 65, 46, 61, 76, 94, 47, 64, 72, 62, 57, 20, 25, 90, 58, 82, 39, 31, 26, 24, 14, 58, 59, 92, 73, 66, 22, 26, 3, 65, 40, 64, 71, 21, 41, 14, 71, 39, 92, 22, 60, 47, 41, 66, 73, 47, 28, 71, 76, 71, 29, 81, 39, 46, 80, 70, 68, 70, 90, 3, 43, 19, 22, 63, 90, 22, 64, 66, 42, 68, 43, 60, 67, 69, 81, 57, 67, 90, 60, 64, 73, 30, 62, 22, 90, 77, 64, 32, 69, 69, 66, 44, 61, 94, 60, 64, 22, 94, 90, 22, 50, 67, 63, 71, 66, 39, 30, 57, 63, 72, 20, 94, 21, 77, 72, 42, 64, 29, 39, 50, 22, 42, 28, 60, 71, 94, 24, 5, 70, 60, 27, 24, 69, 39, 77, 68, 67, 26, 39, 44, 72, 61, 23, 63, 83, 66, 5, 72, 57, 50, 61, 79, 73, 68, 60, 47, 58, 70, 60, 90, 92, 67, 71, 29, 39, 60, 68, 41, 39, 68, 42, 68, 29, 60, 68, 21, 22, 69, 71, 3, 51, 66, 45, 73, 57, 66, 59, 60, 41, 63, 21, 77, 39, 66, 73, 65, 70, 61, 60, 28, 12, 23, 92, 94, 29, 70, 67, 11, 73, 73, 39, 67, 31, 94, 64, 3, 69, 21, 24, 22, 62, 73, 3, 73, 43, 64, 64, 66, 22, 90, 39, 40, 78, 37, 60, 61, 67, 83, 47, 61, 75, 90, 59, 70, 39, 92, 69, 14, 41, 90, 57, 39, 72, 23, 71, 29, 39, 90, 69, 70, 63, 68, 73, 47, 77, 25, 73, 83, 72, 42, 62, 77, 76, 60, 72, 26, 60, 21, 69, 32, 21, 59, 59, 94, 60, 67, 61, 21, 62, 92, 43, 40, 49, 23, 59, 26, 40, 22, 62, 47, 12, 60, 24, 64, 60, 66, 90, 43, 65, 62, 60, 23, 37, 21, 68, 63, 60, 72, 39, 40, 21, 58, 72, 64, 59, 75, 57, 28, 65, 71, 94, 31, 21, 47, 40, 73, 3, 23, 42, 57, 40, 59, 71, 67, 20, 90, 41, 39, 69, 5, 59, 78, 94, 59, 73, 69, 69, 64, 59, 69, 28, 39, 24, 41, 39, 71, 23, 68, 66, 59, 92, 70, 23, 40, 67, 37, 59, 83, 77, 67, 23, 60, 69, 47, 72, 67, 60, 64, 68, 23, 60, 59, 60, 90, 28, 64, 3, 58, 28, 94, 66, 62, 76, 42, 73, 60, 31, 39, 41, 46, 75, 39, 29, 94, 41, 73, 71, 68, 28, 73, 59, 23, 59, 40, 28, 3, 67, 47, 39, 90, 59, 39, 31, 31, 65, 73, 60, 69, 70, 67, 67, 72, 62, 39, 68, 42, 73, 69, 23, 73, 62, 68, 67, 90, 62, 65, 71, 94, 69, 3, 22, 81, 5, 71, 40, 57, 72, 44, 21, 47, 59, 90, 73, 69, 39, 60, 45, 41, 57, 94, 39, 75, 68, 81, 71, 38, 14, 59, 64, 65, 47, 29, 66, 48, 23, 20, 67, 90, 61, 90, 76, 49, 90, 94, 58, 39, 57, 69, 81, 58, 21, 60, 60, 58, 66, 71, 25, 12, 63, 23, 73],\n\t'z': [39, 23, 82, 42, 23, 74, 23, 49, 73, 79, 60, 46, 67, 73, 40, 22, 67, 21, 41, 41, 69, 24, 42, 42, 40, 45, 40, 69, 40, 21, 40, 71, 42, 39, 73, 26, 74, 22, 5, 39, 23, 40, 45, 42, 40, 49, 74, 71, 24, 23, 42, 67, 24, 6, 42, 22, 73, 21, 79, 24, 79, 94, 73, 22, 74, 32, 23, 73, 40, 22, 23, 71, 40, 23, 73, 42, 42, 46, 39, 67, 45, 82, 94, 24, 66, 42, 24, 41, 94, 69, 41, 42, 41, 69, 90, 71, 23, 82, 12, 23, 21, 24, 92, 23, 23, 21, 32, 69, 41, 42, 22, 26, 41, 72, 83, 42, 27, 24, 67, 74, 41, 51, 94, 23, 92, 42, 22, 73, 24, 94, 90, 71, 41, 23, 42, 94, 80, 23, 64, 42, 61, 6, 42, 23, 40, 77, 74, 42, 23, 28, 44, 67, 42, 68, 71, 42, 71, 94, 78, 69, 42, 79, 64, 82, 73, 22, 24, 90, 24, 73, 79, 22, 6, 74, 90, 42, 41, 22, 22, 90, 69, 73, 74, 22, 22, 73, 74, 64, 24, 69, 74, 23, 74, 74, 45, 41, 39, 39, 24, 62, 42, 73, 24, 42, 90, 42, 24, 62, 42, 90, 71, 48, 64, 41, 42, 42, 24, 28, 41, 74, 39, 21, 39, 21, 22, 63, 74, 83, 42, 29, 74, 42, 45, 41, 6, 22, 68, 24, 23, 42, 22, 64, 22, 69, 69, 32, 73, 79, 41, 29, 23, 42, 67, 73, 41, 72, 40, 68, 69, 42, 42, 24, 22, 42, 94, 39, 22, 62, 69, 67, 71, 31, 73, 39, 23, 23, 22, 64, 42, 42, 42, 42, 23, 42, 82, 40, 64, 42, 23, 82, 23, 46, 41, 92, 42, 24, 22, 51, 39, 73, 24, 77, 46, 40, 23, 94, 24, 23, 42, 22, 12, 23, 82, 24, 24, 23, 73, 92, 94, 40, 82, 44, 68, 78, 69, 23, 21, 39, 24, 73, 92, 73, 26, 78, 83, 73, 32, 31, 39, 69, 40, 24, 67, 90, 23, 50, 82, 44, 74, 23, 74, 32, 64, 40, 45, 48, 67, 42, 73, 64, 14, 44, 74, 74, 12, 78, 58, 74, 71, 44, 71, 48, 47, 82, 23, 45, 46, 94, 92, 24, 42, 73, 73, 68, 69, 67, 23, 41, 83, 21, 94, 28, 71, 24, 83, 42, 25, 62, 40, 23, 42, 40, 24, 22, 67, 24, 39, 92, 42, 73, 69, 92, 73, 67, 42, 42, 74, 71, 41, 6, 73, 74, 22, 92, 24, 5, 45, 40, 5, 40, 42, 82, 25, 42, 94, 50, 22, 24, 41, 39, 42, 22, 74, 90, 26, 41, 39, 71, 41, 45, 71, 39, 90, 74, 74, 22, 24, 39, 42, 90, 90, 41, 74, 82, 24, 68, 94, 26, 67, 94, 72, 60, 67, 74, 45, 78, 77, 22, 26, 74, 41, 68, 73, 22, 42, 40, 42, 25, 73, 74, 22, 74, 64, 72, 42, 83, 22, 22, 94, 23, 61, 73, 71, 22, 74, 40, 79, 24, 40, 24, 74, 42, 73, 24, 40, 92, 74, 83, 42, 69, 74, 24, 65, 42, 42, 21, 47, 69, 77, 28, 46, 82, 74, 74, 21, 24, 41, 42, 6, 24, 24, 73, 71, 22, 73, 61, 74, 94, 47, 21, 74, 24, 29, 94, 23, 69, 44, 21, 21, 71, 6, 23, 21, 82, 60, 24, 6, 44, 94, 40, 28, 79, 69, 23, 39, 42, 39, 42, 70, 74, 50, 94, 22, 23, 51, 23, 83, 21, 41, 5, 14, 90, 82, 39, 41, 79, 23, 74, 23, 22, 12, 21, 74, 29, 21, 39, 44, 64, 59, 42, 21, 41, 90, 22, 41, 44, 25, 41, 40, 3, 68, 74, 40, 6, 62, 42, 42, 71, 94, 82, 42, 60, 23, 24, 83, 48, 64, 71, 69, 41, 6, 71, 39, 42, 90, 39, 71, 66, 42, 94, 44, 68, 73, 68, 24, 42, 21, 73, 42, 77, 22, 71, 60, 42, 83, 73, 71, 6, 22, 24, 42, 22, 74, 22, 21, 6, 73, 23, 24, 12, 42, 45, 69, 23, 44, 72, 23, 23, 24, 42, 23, 22, 68, 90, 21, 71, 94, 22, 24, 49, 73, 73, 40, 42, 6, 42, 42, 24, 90, 42, 58, 42, 14, 23, 42, 73, 68, 22, 29, 90, 42, 74, 90, 24, 21, 22, 24, 24, 71, 45, 23, 23, 78, 21, 45, 22, 41, 79, 41, 72, 79, 23, 68, 22, 68, 32, 42, 21, 68, 72, 24, 24, 42, 90, 74, 71, 69, 47, 90, 74, 6, 26, 44, 42, 22, 42, 21, 41, 23, 23, 82, 68, 77, 69, 23, 12, 78, 42, 90, 22, 74, 40, 64, 41, 74, 68, 83, 83, 41, 45, 45, 42, 78, 94, 23, 20, 73, 24, 41, 23, 71, 40, 74, 67, 73, 42, 90, 83, 42, 23, 94, 42, 22, 29, 5, 24, 73, 73, 25, 68, 74, 24, 69, 41, 90, 68, 42, 21, 74, 94, 22, 23, 79, 69, 25, 74, 90, 94, 73, 39, 42, 94, 41, 90, 41, 42, 73, 41, 24, 41, 23, 13, 24, 90, 42, 42, 24, 90, 23, 23, 42, 25, 72, 68, 22, 22, 39, 22, 6, 23, 82, 94, 40, 68, 74, 24, 6, 26, 70, 69, 63, 21, 82, 69, 78, 22, 42, 68, 44, 45, 42, 41, 72, 46, 66, 28, 23, 24, 74, 71, 64, 28, 79, 26, 57, 69, 78, 32, 22, 23, 45, 73, 68, 24, 23, 67, 24, 66, 73, 74, 39, 42, 22, 90, 23, 42, 59, 45, 39, 23, 62, 29, 68, 49, 69, 74, 45, 71, 23, 41, 79, 22, 23, 92, 29, 74, 76, 40, 59, 23, 74, 76, 22, 68, 40, 45, 68, 23, 79, 41, 71, 90, 69, 60, 68, 94, 90, 26, 59, 42, 63, 42, 24, 22, 41, 74, 73, 41, 90, 42, 67, 62, 79, 24, 42, 68, 94, 44, 94, 74, 71, 62, 22, 74, 22, 73, 73, 32, 23, 90, 74, 39, 68, 28, 42, 69, 67, 22, 40, 24, 51, 23, 24, 39, 23, 23, 6, 45, 94, 3, 23, 24, 77, 82, 69, 41, 23, 77, 74, 94, 69, 50, 74, 73, 90, 22, 71, 90, 67, 23, 67, 74, 59, 73, 41, 26, 23, 22, 74, 67, 23, 73, 71, 42, 23, 24, 82, 66, 94, 73, 39, 60, 83, 44, 94, 41, 73, 73, 24, 22, 23, 73, 23, 73, 64, 5, 73, 44, 23, 42, 80, 68, 90, 24, 73, 71, 42, 71, 82, 94, 59, 47, 74, 60, 22, 71, 22, 82, 23, 32, 22, 21, 74, 76, 71, 94, 31, 74, 83, 64, 74, 58, 72, 82, 74, 74, 42, 76, 43, 90, 28, 46, 82, 61, 39, 22, 45, 74, 24, 74, 83, 42, 41, 71, 41, 14, 40, 3, 22, 83, 24, 22, 74, 59, 23, 6, 22, 14, 90, 42, 24, 24, 73, 74, 29, 82, 90, 45, 45, 24, 21, 44, 74, 21, 6, 68, 47, 69, 23, 71, 40, 23, 73, 42, 40, 74, 21, 21, 24, 41, 42, 74, 6, 60, 42, 41, 73, 23, 47, 71, 78, 79, 73, 79, 68, 94, 61, 22, 39, 69, 94, 40, 74, 44, 79, 76, 22, 76, 23, 24, 83, 73, 24, 74, 24, 22, 23, 23, 74, 22, 42, 21, 46, 42, 74, 23, 67, 21, 92, 73, 24, 47, 46, 24, 74, 90, 23, 71, 82, 74, 23, 40, 41, 73, 90, 24, 26, 24, 94, 72, 42, 41, 94, 12, 79, 41, 94, 71, 68, 79, 76, 79, 28, 73, 42, 73, 42, 32, 24, 42, 42, 22, 64, 27, 40, 78, 78, 73, 41, 73, 59, 42, 77, 47, 22, 21, 82, 23, 73, 40, 73, 92, 42, 69, 28, 46, 90, 23, 41, 90, 42, 24, 24, 73, 78, 42, 83, 74, 71, 94, 68, 41, 79, 42, 51, 40, 23, 69, 23, 42, 83, 74, 23, 74, 23, 39, 71, 23, 76, 60, 21, 28, 23, 42, 90, 42, 45, 76, 41, 94, 49, 23, 22, 42, 64, 73, 47, 83, 74, 83, 71, 68, 69, 23, 22, 42, 82, 83, 23, 40, 76, 22, 90, 24, 45, 49, 24, 71, 45, 22, 23, 79, 90, 23, 90, 42, 73, 74, 5, 42, 92, 32, 42, 79, 21, 74, 42, 73, 22, 32, 42, 94, 74, 90, 82, 69, 74, 42, 78, 24, 32, 82, 22, 92, 68, 74, 23, 74, 42, 68, 23, 24, 22, 73, 27, 74, 14, 73, 72, 45, 6, 42, 42, 23, 24, 23, 24, 24, 62, 29, 6, 62, 42, 42, 72, 22, 92, 42, 73, 66, 92, 29, 67, 67, 22, 90, 41, 23, 23, 94, 45, 6, 92, 94, 32, 42, 73, 69, 21, 82, 71, 42, 23, 24, 24, 29, 22, 79, 73, 40, 12, 44, 73, 69, 82, 73, 22, 60, 23, 23, 21, 40, 14, 70, 82, 40, 71, 24, 67, 64, 26, 42, 28, 24, 74, 23, 78, 24, 94, 41, 23, 44, 94, 67, 71, 41, 83, 23, 24, 23, 42, 32, 90, 71, 23, 76, 44, 39, 42, 69, 23, 66, 42, 61, 94, 41, 83, 71, 40, 44, 42, 41, 74, 24, 24, 83, 46, 23, 23, 74, 67, 42, 22, 23, 69, 26, 42, 42, 74, 22, 5, 41, 74, 74, 82, 90, 46, 74, 21, 76, 23, 24, 73, 90, 44, 22, 71, 41, 90, 22, 71, 24, 94, 41, 45, 82, 47, 83, 90, 60, 71, 41, 26, 42, 24, 23, 82, 90, 76, 77, 5, 64, 94, 76, 74, 23, 60, 71, 73, 42, 22, 69, 94, 40, 24, 24, 63, 23, 23, 61, 71, 90, 94, 73, 74, 22, 22, 71, 21, 26, 42, 24, 22, 69, 22, 66, 24, 73, 90, 44, 67, 41, 23, 22, 71, 22, 21, 41, 69, 3, 90, 42, 79, 46, 83, 73, 71, 69, 73, 71, 39, 44, 94, 39, 22, 40, 22, 26, 6, 44, 42, 83, 24, 73, 23, 73, 41, 23, 42, 71, 74, 90, 40, 41, 62, 46, 24, 79, 42, 47, 24, 32, 69, 94, 68, 14, 24, 32, 28, 6, 74, 42, 73, 74, 42, 73, 74, 42, 41, 24, 47, 5, 24, 42, 94, 45, 29, 22, 74, 46, 40, 42, 6, 90, 41, 73, 79, 42, 40, 71, 74, 73, 23, 41, 74, 66, 41, 68, 24, 82, 26, 46, 42, 83, 44, 73, 22, 29, 67, 23, 40, 23, 24, 74, 71, 45, 94, 73, 40, 41, 40, 24, 42, 67, 92, 94, 6, 94, 23, 92, 67, 79, 32, 22, 45, 40, 79, 71, 71, 74, 45, 66, 83, 94, 5, 42, 24, 62, 24, 40, 69, 31, 74, 60, 39, 42, 24, 68, 21, 24, 42, 41, 72, 6, 24, 29, 21, 67, 42, 24, 41, 68, 62, 22, 42, 68, 68, 42, 42, 59, 73, 24, 90, 69, 42, 23, 23, 64, 92, 67, 23, 40, 21, 41, 71, 42, 45, 90, 45, 69, 68, 24, 48, 73, 60, 45, 74, 67, 69, 62, 31, 28, 42, 65, 83, 79, 41, 90, 42, 60, 23, 41, 42, 76, 22, 22, 90, 23, 23, 22, 94, 73, 22, 42, 69, 22, 47, 23, 83, 23, 69, 90, 5, 74, 41, 74, 24, 5, 5, 23, 79, 24, 94, 42, 40, 24, 44, 42, 23, 74, 42, 42, 45, 73, 78, 74, 90, 73, 73, 40, 29, 94, 24, 66, 22, 47, 74, 23, 40, 21, 40, 82, 68, 24, 83, 23, 69, 82, 22, 42, 73, 23, 22, 42, 23, 22, 4, 23, 39, 41, 71, 74, 23, 6, 23, 67, 24, 32, 73, 45, 39, 22, 22, 74, 23, 40, 23, 71, 72, 72, 94, 23, 71, 40, 73, 73, 71, 24, 74, 73, 69, 42, 15, 79, 24, 73, 24, 28, 74, 71, 59, 73, 77, 74, 26, 74, 77, 6, 23, 45, 40, 45, 40, 23, 73, 78, 76, 42, 40, 42, 76, 42, 94, 42, 23, 67, 79, 39, 21, 40, 41, 73, 24, 39, 41, 40, 73, 23, 42, 42, 73, 69, 64, 23, 22, 24, 94, 39, 42, 90, 41, 42, 69, 41, 92, 68, 69, 42, 40, 25, 82, 22, 24, 94, 23, 79, 73, 22, 78, 41, 22, 74, 46, 74, 23, 40, 23, 42, 80, 22, 42, 83, 73, 47, 41, 23, 6, 74, 29, 42, 23, 92, 46, 24, 40, 92, 50, 24, 32, 29, 32, 26, 23, 42, 22, 83, 26, 23, 48, 45, 94, 40, 20, 39, 71, 69, 46, 41, 42, 42, 90, 40, 41, 78, 67, 73, 23, 24, 74, 5, 23, 67, 45, 82, 94, 32, 39, 82, 21, 5, 69, 79, 72, 39, 42, 29, 92, 73, 5, 23, 24, 22, 42, 14, 23, 23, 90, 74, 46, 74, 42, 71, 90, 68, 42, 73, 94, 74, 90, 22, 69, 41, 69, 90, 42, 42, 42, 23, 22, 82, 40, 71, 42, 23, 59, 73, 24, 94, 94, 74, 47, 23, 67, 24, 24, 74, 40, 42, 23, 79, 94, 41, 90, 42, 24, 73, 40, 83, 74, 68, 24, 22, 41, 74, 40, 73, 62, 41, 41, 42, 42, 69, 44, 74, 22, 42, 69, 22, 23, 63, 94, 94, 23, 73, 74, 62, 42, 83, 69, 14, 26, 79, 42, 24, 69, 25, 92, 72, 69, 71, 24, 24, 40, 40, 42, 69, 73, 42, 73, 23, 82, 73, 41, 71, 26, 64, 64, 67, 74, 22, 76, 76, 22, 68, 23, 94, 22, 90, 66, 64, 42, 26, 41, 21, 23, 42, 39, 23, 90, 26, 5, 22, 73, 72, 79, 21, 62, 73, 64, 22, 22, 23, 90, 74, 90, 42, 42, 42, 40, 67, 83, 74, 25, 23, 6, 74, 62, 73, 42, 90, 22, 46, 42, 68, 32, 73, 23, 72, 22, 24, 23, 42, 40, 42, 12, 28, 42, 42, 6, 94, 40, 90, 42, 42, 72, 44, 42, 94, 71, 50, 21, 92, 24, 42, 90, 83, 26, 47, 44, 42, 6, 90, 94, 74, 22, 31, 40, 71, 68, 68, 24, 24, 69, 24, 21, 74, 42, 25, 42, 82, 39, 42, 78, 21, 42, 50, 42, 46, 42, 73, 69, 29, 23, 23, 64, 21, 21, 40, 45, 22, 92, 24, 90, 40, 39, 44, 90, 24, 22, 23, 26, 74, 73, 14, 29, 24, 6, 22, 42, 42, 68, 23, 14, 23, 14, 41, 73, 41, 46, 24, 90, 23, 42, 23, 78, 72, 73, 94, 94, 39, 42, 23, 92, 64, 23, 24, 24, 42, 41, 41, 62, 82, 23, 74, 45, 21, 74, 78, 24, 42, 24, 94, 83, 73, 83, 42, 79, 71, 26, 24, 82, 42, 42, 22, 83, 23, 24, 41, 42, 94, 23, 74, 21, 21, 74, 72, 64, 42, 71, 90, 73, 41, 74, 24, 42, 60, 42, 40, 21, 82, 24, 42, 44, 32, 63, 90, 26, 61, 23, 69, 76, 22, 21, 22, 21, 83, 14, 71, 68, 74, 39, 74, 83, 42, 42, 26, 41, 22, 74, 92, 23, 94, 42, 42, 22, 22, 22, 50, 94, 23, 21, 39, 73, 69, 23, 25, 30, 82, 73, 67, 71, 42, 25, 24, 41, 23, 78, 74, 82, 21, 82, 41, 73, 74, 45, 82, 24, 45, 94, 22, 73, 24, 22, 76, 24, 73, 23, 82, 64, 66, 66, 42, 24, 24, 67, 41, 39, 21, 22, 23, 74, 71, 44, 40, 74, 73, 21, 74, 42, 24, 22, 21, 79, 74, 31, 21, 42, 68, 40, 62, 24, 90, 24, 74, 39, 69, 59, 42, 22, 74, 23, 74, 42, 41, 23, 23, 22, 74, 21, 66, 6, 24, 41, 83, 23, 42, 24, 92, 23, 90, 42, 24, 22, 22, 74, 79, 67, 24, 90, 73, 41, 26, 74, 74, 74, 66, 94, 42, 73, 23, 76, 23, 60, 21, 45, 24, 82, 73, 42, 26, 74, 23, 42, 42, 94, 23, 22, 74, 24, 73, 22, 42, 21, 92, 40, 41, 71, 5, 21, 39, 64, 74, 59, 46, 73, 31, 23, 73, 69, 22, 24, 73, 47, 6, 40, 24, 71, 42, 23, 73, 42, 42, 24, 26, 23, 42, 40, 22, 12, 42, 74, 22, 41, 42, 24, 62, 22, 94, 40, 81, 44, 62, 82, 73, 83, 74, 23, 74, 67, 74, 50, 73, 22, 42, 40, 32, 94, 74, 22, 42, 68, 24, 29, 21, 67, 47, 22, 22, 42, 6, 31, 41, 94, 32, 73, 24, 21, 83, 40, 23, 74, 94, 71, 46, 22, 90, 23, 94, 92, 42, 42, 42, 74, 74, 24, 73, 49, 61, 59, 67, 51, 71, 66, 24, 42, 23, 45, 70, 23, 94, 60, 23, 76, 83, 24, 69, 23, 22, 29, 40, 71, 24, 76, 40, 40, 70, 94, 31, 74, 44, 68, 92, 74, 94, 14, 32, 78, 82, 69, 67, 22, 42, 42, 22, 21, 42, 42, 42, 74, 23, 73, 24, 42, 64, 92, 41, 73, 24, 23, 24, 74, 24, 94, 22, 22, 40, 29, 76, 73, 45, 22, 58, 32, 71, 69, 42, 40, 82, 42, 22, 94, 23, 82, 71, 71, 22, 42, 42, 24, 23, 94, 78, 73, 23, 71, 39, 22, 77, 42, 71, 46, 23, 64, 22, 42, 49, 78, 41, 90, 47, 92, 73, 23, 24, 23, 82, 83, 67, 90, 42, 61, 73, 74, 42, 74, 47, 76, 23, 6, 21, 63, 24, 90, 83, 23, 73, 22, 39, 68, 83, 21, 80, 74, 42, 23, 68, 44, 42, 42, 74, 22, 94, 94, 24, 23, 73, 42, 23, 12, 23, 42, 72, 83, 72, 83, 42, 94, 71, 68, 73, 41, 74, 40, 32, 5, 23, 79, 71, 23, 39, 42, 45, 22, 6, 42, 66, 74, 79, 41, 60, 94, 69, 21, 42, 60, 42, 68, 60, 73, 74, 23, 22, 24, 21, 23, 82, 25, 77, 23, 41, 47, 28, 40, 24, 23, 69, 78, 42, 22, 42, 74, 45, 24, 90, 22, 39, 74, 24, 90, 28, 24, 39, 45, 60, 45, 24, 44, 23, 73, 73, 60, 25, 26, 21, 42, 74, 24, 32, 46, 74, 47, 94, 42, 73, 41, 90, 23, 29, 22, 94, 21, 39, 24, 22, 23, 82, 22, 24, 41, 23, 68, 83, 23, 39, 42, 46, 78, 41, 44, 94, 76, 23, 92, 44, 83, 67, 71, 68, 40, 22, 45, 13, 42, 21, 73, 23, 23, 69, 74, 74, 46, 40, 69, 74, 30, 42, 69, 41, 24, 66, 23, 31, 42, 24, 24, 46, 67, 5, 23, 73, 24, 78, 94, 74, 90, 42, 23, 41, 40, 23, 83, 24, 90, 42, 73, 22, 82, 25, 73, 40, 26, 73, 42, 6, 21, 74, 66, 75, 92, 83, 24, 74, 77, 74, 23, 74, 42, 82, 69, 42, 47, 42, 71, 41, 78, 74, 24, 79, 23, 79, 92, 59, 42, 21, 42, 23, 82, 40, 26, 83, 68, 6, 74, 94, 21, 77, 90, 60, 66, 42, 74, 68, 42, 42, 90, 66, 94, 23, 92, 94, 82, 40, 74, 42, 22, 73, 42, 94, 73, 22, 82, 94, 79, 22, 21, 22, 74, 67, 74, 94, 42, 44, 67, 71, 23, 22, 71, 62, 23, 78, 40, 24, 24, 24, 83, 24, 23, 24, 23, 74, 21, 73, 83, 42, 68, 42, 23, 92, 42, 23, 67, 23, 41, 42, 78, 23, 39, 73, 41, 74, 40, 22, 74, 22, 94, 60, 94, 42, 82, 59, 46, 42, 60, 74, 21, 73, 42, 32, 23, 23, 61, 67, 92, 74, 90, 28, 71, 74, 42, 60, 23, 21, 41, 6, 76, 23, 41, 42, 90, 74, 71, 46, 45, 42, 21, 47, 23, 73, 90, 5, 74, 64, 66, 23, 24, 42, 94, 92, 42, 73, 77, 73, 14, 24, 62, 44, 73, 24, 42, 82, 24, 24, 74, 67, 71, 39, 23, 77, 67, 69, 39, 42, 73, 22, 24, 90, 66, 73, 90, 21, 73, 22, 41, 24, 60, 80, 64, 45, 68, 42, 23, 82, 23, 44, 41, 23, 12, 74, 74, 25, 21, 68, 73, 94, 42, 22, 42, 21, 42, 82, 73, 79, 23, 64, 23, 74, 74, 22, 90, 24, 79, 23, 42, 74, 42, 41, 26, 41, 40, 69, 41, 63, 74, 73, 68, 41, 71, 5, 44, 68, 42, 64, 22, 79, 22, 69, 94, 23, 24, 42, 66, 71, 64, 40, 47, 22, 23, 39, 44, 74, 71, 92, 46, 82, 23, 68, 14, 73, 74, 79, 44, 69, 6, 22, 29, 23, 22, 41, 79, 74, 67, 24, 92, 22, 79, 42, 40, 82, 23, 22, 24, 42, 50, 14, 39, 22, 42, 42, 94, 42, 42, 12, 23, 71, 23, 74, 41, 90, 42, 41, 69, 69, 68, 42, 39, 42, 90, 73, 22, 73, 23, 82, 82, 90, 41, 58, 92, 45, 24, 44, 62, 23, 22, 94, 90, 90, 79, 42, 25, 23, 24, 50, 94, 32, 42, 22, 32, 94, 21, 94, 76, 77, 94, 32, 74, 23, 69, 74, 39, 40, 44, 31, 22, 24, 39, 23, 39, 94, 82, 67, 41, 66, 94, 60, 24, 23, 26, 23, 41, 24, 41],\n\t'labels': ['Pm-Dy-Y', 'Yb-Gd-V', 'Cr-Ni-Pb', 'Pu-V-Mo', 'Pm-Er-V', 'Tm-Lu-W', 'Nd-Pu-V', 'Al-Zn-In', 'Eu-U-Ta', 'Ni-Ru-Au', 'Ce-Pm-Nd', 'Cu-Tc-Pd', 'La-Sm-Ho', 'La-Yb-Ta', 'Gd-Lu-Zr', 'Li-Hf-Ti', 'La-Dy-Ho', 'Ba-Yb-Sc', 'K-Zr-Nb', 'Y-Zr-Nb', 'Li-Ce-Tm', 'Sc-U-Cr', 'Ho-Er-Mo', 'Tm-V-Mo', 'La-Pu-Zr', 'Ir-Pd-Rh', 'Gd-Ho-Zr', 'Ca-Y-Tm', 'Rb-Hf-Zr', 'La-Yb-Sc', 'Nd-Pu-Zr', 'Yb-Y-Lu', 'La-V-Mo', 'Ba-La-Y', 'Cs-Li-Ta', 'Ba-Sr-Fe', 'Yb-Y-W', 'Cs-Pr-Ti', 'Zn-Bi-B', 'Tb-Pm-Y', 'Gd-Ta-V', 'Ce-Eu-Zr', 'Fe-Os-Rh', 'Nb-V-Mo', 'Eu-Hf-Zr', 'Be-Al-In', 'Pr-V-W', 'Li-Er-Lu', 'Pu-Ti-Cr', 'Rb-Na-V', 'Mg-V-Mo', 'Pr-Nd-Ho', 'Pr-Sm-Cr', 'Pd-Ru-C', 'Er-Pu-Mo', 'Ce-Zr-Ti', 'Li-Tm-Ta', 'Nd-Gd-Sc', 'Fe-Rh-Au', 'Cs-V-Cr', 'Ru-Pt-Au', 'Ca-Lu-Pu', 'Cs-K-Ta', 'Lu-Ta-Ti', 'Nd-U-W', 'Ga-Si-Ge', 'K-Mg-V', 'Ce-Th-Ta', 'Yb-Dy-Zr', 'Ba-Nd-Ti', 'Y-Pu-V', 'Pr-Gd-Lu', 'La-Y-Zr', 'Er-Nb-V', 'Cs-Zr-Ta', 'Li-Y-Mo', 'Pr-Th-Mo', 'Fe-Cu-Pd', 'Ce-Sm-Y', 'Dy-Y-Ho', 'Cu-Ir-Rh', 'Si-Sb-Pb', 'Pr-Ho-Pu', 'K-Li-Cr', 'La-Tb-Dy', 'Li-Nd-Mo', 'Sm-Th-Cr', 'Cs-Zr-Nb', 'Pr-Y-Pu', 'Tb-Yb-Tm', 'Y-Hf-Nb', 'Na-Cr-Mo', 'K-Mg-Nb', 'Li-Er-Tm', 'Ce-Hf-Th', 'Dy-Ho-Lu', 'Ce-Mn-V', 'Mn-Fe-Pb', 'Rb-Hf-Mg', 'La-Tb-V', 'Sr-Nd-Sc', 'Tb-Sm-Cr', 'Ce-Sc-U', 'Y-Ho-V', 'Rb-Li-V', 'Nd-Th-Sc', 'Al-Si-Ge', 'Ca-La-Tm', 'La-Sc-Nb', 'Sm-Gd-Mo', 'Y-Sc-Ti', 'Na-Sr-Fe', 'K-Li-Nb', 'Cs-Rb-Hf', 'Zn-Ga-Bi', 'La-Pm-Mo', 'Mn-Fe-Co', 'Gd-Tm-Cr', 'Sm-Gd-Ho', 'U-Ti-W', 'La-Ce-Nb', 'Re-Hg-Sb', 'Gd-Dy-Pu', 'Dy-Ho-V', 'La-Nd-U', 'Ce-Ta-Mo', 'Ce-Lu-Ti', 'Ce-Nd-Ta', 'Pm-Tm-Cr', 'Ce-Tm-Pu', 'Pr-Sm-Th', 'Ca-La-Lu', 'Yb-Lu-Nb', 'Sm-Lu-V', 'Gd-Tm-Mo', 'Li-Pr-Pu', 'Al-Ga-Hg', 'Na-Ti-V', 'Yb-Nd-Gd', 'Nd-Gd-Mo', 'La-Tb-Pm', 'Ir-Pd-C', 'Tm-Pu-Mo', 'Tm-Th-V', 'La-Er-Zr', 'Cu-Ni-Ir', 'Tb-Sc-W', 'Ba-Sr-Mo', 'Th-Sc-V', 'Mn-Co-Ni', 'Cu-Ni-Ru', 'Tb-Ce-Ho', 'Nd-Lu-Mo', 'Li-Pm-Er', 'La-Tm-Lu', 'La-Pu-Mo', 'Pm-Pr-Lu', 'Ce-Ho-Pu', 'Cu-Tc-Pt', 'Nd-Dy-Tm', 'Ca-Pm-Mo', 'Fe-Cu-Au', 'Li-Sm-Gd', 'Mn-Ag-Pb', 'Li-Er-Ta', 'La-Tb-Ti', 'Gd-Ti-Cr', 'Ce-Gd-Th', 'Er-Sc-Cr', 'Sm-Er-Ta', 'Cr-Ni-Au', 'Nd-U-Ti', 'Co-Au-C', 'Nd-Pu-W', 'La-Yb-Th', 'Sc-Cr-Mo', 'Zr-Sc-Nb', 'Pr-Tm-Ti', 'Cs-Hf-Ti', 'Ce-Ho-Th', 'Yb-Gd-Tm', 'Li-Ce-Ta', 'Y-V-W', 'La-Sc-Ti', 'Tb-Sc-Ti', 'Tb-Pr-Ta', 'Sb-Pb-W', 'Ba-Yb-Gd', 'Dy-Pu-Cr', 'Tb-Gd-Tm', 'Tb-Lu-W', 'Gd-Er-V', 'Yb-Ti-W', 'Tm-V-W', 'Pd-Pt-Rh', 'Eu-Pu-Nb', 'Ba-Sm-Y', 'La-Sm-Y', 'U-V-Cr', 'Ba-Pm-Sm', 'Sm-Ho-Mo', 'Gd-Th-Ta', 'Ce-Pr-Cr', 'Lu-Ti-Mo', 'Dy-Lu-Th', 'La-Sc-Mo', 'Y-U-Cr', 'Pm-Nd-Sm', 'Tb-Gd-Mo', 'Yb-Er-Th', 'Li-Pr-Lu', 'Mg-Mn-Cd', 'Ce-Pm-Gd', 'Pu-Ti-Nb', 'Tl-Cd-Mo', 'Sc-V-Mo', 'Pu-V-Cr', 'Mn-Fe-Ni', 'Eu-Zr-Nb', 'Tb-Y-W', 'Tb-Pr-Y', 'Ca-Nd-Sc', 'Ba-Nd-Y', 'Ca-Tb-Sc', 'Pu-Ta-Ti', 'Ca-Yb-Eu', 'Th-Mo-W', 'Si-Sn-Bi', 'Tb-Sc-Mo', 'Na-Cr-Cu', 'Y-Er-W', 'Y-Ho-Mo', 'Ni-Pd-Rh', 'Y-Ti-Nb', 'Co-Pd-C', 'Li-Gd-Ti', 'Tb-Y-Er', 'Pr-Y-Cr', 'La-Yb-V', 'Ca-Yb-Mo', 'Dy-Er-Ti', 'Nd-Sm-Gd', 'Tb-Y-Ti', 'Gd-Er-Tm', 'Ca-Pm-Tm', 'Tl-Zn-Ge', 'Yb-Sc-Ta', 'Fe-Co-Au', 'La-Sm-Nb', 'Nb-V-Cu', 'La-Sm-V', 'Li-Pr-Mo', 'Tb-Gd-Ho', 'Eu-Th-Ta', 'Yb-U-Nb', 'Yb-Er-Hf', 'La-Ho-Zr', 'Dy-Y-Er', 'La-Ce-Tm', 'Pr-Lu-Mo', 'Eu-Y-Mo', 'Dy-Er-Cr', 'La-Yb-Ti', 'Ce-Pm-Mo', 'Tb-Pm-Pu', 'Pr-Dy-Y', 'La-Pu-Ti', 'Li-Ce-Sm', 'Li-Pr-Tm', 'Tb-Pm-Ho', 'Dy-Er-Lu', 'Al-In-Ga', 'Nd-Er-Ta', 'Pr-Nd-Y', 'Ba-Pm-V', 'Pr-Dy-V', 'Rb-Na-Ti', 'Tb-Pm-Gd', 'Gd-Er-Mo', 'Y-Th-Mo', 'Gd-Y-Mo', 'Ba-Pm-Mo', 'Pu-Nb-V', 'Er-Th-Mo', 'Co-Ni-Pb', 'Ho-Th-Zr', 'Pm-Pr-Gd', 'Sm-Lu-Mo', 'Yb-Pr-V', 'Cu-Ag-Pb', 'Pm-Ho-V', 'Re-Ir-Pd', 'Er-Lu-Nb', 'La-Eu-U', 'Cu-Ag-Mo', 'Dy-V-Cr', 'Dy-Th-Ti', 'Re-Bi-Sb', 'Pm-Pr-Y', 'Th-Sc-Ta', 'Y-V-Cr', 'Fe-Ag-Ir', 'Co-Os-Pd', 'Rb-Li-Zr', 'Gd-Dy-V', 'Tb-Er-Pu', 'Ce-Ti-Cr', 'Ba-Ti-V', 'Nd-Dy-Mo', 'Ca-Tm-Ti', 'Li-Hf-Mg', 'Tb-Sc-V', 'Tl-Zn-Pb', 'Pr-Tm-Cr', 'Er-Ti-Cr', 'Er-Sc-V', 'K-Li-Ta', 'Yb-Sc-U', 'La-Ce-Pu', 'Cs-Mg-Zr', 'Ga-B-Pb', 'Re-Ir-Ru', 'Pr-Gd-Er', 'Re-Ni-Pt', 'Tb-Nd-Tm', 'Tb-Ta-V', 'Nd-Y-Sc', 'Tb-Dy-Y', 'Tb-Pr-Cr', 'La-Zr-Ta', 'Eu-Th-U', 'Li-Tb-Ta', 'Na-V-Fe', 'Cu-Re-Pt', 'Cd-Ge-Bi', 'Sm-Gd-Ta', 'Al-In-Ge', 'Al-Cd-Ga', 'Ce-Eu-Y', 'La-Tb-Tm', 'Li-Tb-Zr', 'Pr-V-Cr', 'La-Pm-Ho', 'Gd-Er-Th', 'Li-La-V', 'Al-Ga-Sn', 'Tl-As-Pb', 'Re-Pd-Ru', 'Eu-Y-W', 'Tm-Ta-V', 'Eu-V-W', 'Be-Zn-Ge', 'Li-Pm-Gd', 'Na-Mg-Zr', 'Fe-Ag-Rh', 'Tl-Zn-Cd', 'Nd-Sm-Ho', 'Y-Ta-Mo', 'Gd-Lu-Ta', 'Li-Tb-Gd', 'Be-Ga-Si', 'Mn-Cu-Ru', 'Pr-Cr-W', 'Ho-Cr-W', 'Na-Li-Mg', 'Re-Ru-Pt', 'La-Tb-Ce', 'Cr-Pb-W', 'Pr-Er-Lu', 'Ag-Pd-Ru', 'Ca-Nd-Lu', 'Mg-Cr-Cd', 'Mn-Ni-Ag', 'Cu-B-Pb', 'Li-Er-V', 'Ni-Os-Rh', 'Fe-Ag-Pd', 'Li-Er-Pu', 'Sm-Y-U', 'Dy-Tm-Cr', 'Na-Nb-Mo', 'Tb-Zr-Ta', 'Rb-Na-Ta', 'Gd-Y-Er', 'Pr-Er-Tm', 'Pr-Sm-Ho', 'Gd-Tm-V', 'Zr-Ta-Nb', 'Cr-Hg-Bi', 'Yb-Er-Sc', 'Ca-Pm-Pu', 'Co-Cu-Ni', 'Gd-Ho-Lu', 'Sc-Ti-Cr', 'Ga-Si-Bi', 'Li-Lu-Mo', 'Ba-Sr-Mn', 'Li-Pm-Sm', 'Na-Li-Zr', 'Gd-Sc-V', 'Yb-Er-Mo', 'Ho-Lu-Zr', 'Nd-Sc-Cr', 'Ca-Ce-Ti', 'Pm-Gd-Ho', 'La-Y-Cr', 'Ca-Yb-Y', 'Pr-Th-U', 'Tm-Cr-Mo', 'Rb-Li-Ta', 'Gd-Y-Tm', 'Yb-Pr-U', 'Ce-Hf-Ta', 'Nd-Y-Ho', 'Er-Ti-Mo', 'Dy-Th-Mo', 'La-Pr-W', 'Yb-Ho-Lu', 'La-Yb-Nb', 'Co-Rh-C', 'La-Eu-Ta', 'Y-Cr-W', 'K-Zr-Ti', 'Pr-Sm-U', 'Eu-Sc-Cr', 'Ga-Sn-B', 'Cu-Ag-Rh', 'Ce-Gd-Zr', 'Tl-Ga-B', 'Gd-Er-Zr', 'Ti-Nb-Mo', 'Ga-Sn-Pb', 'La-Eu-Mn', 'Tm-Lu-Mo', 'Pm-Tm-Pu', 'Be-Al-Sn', 'Dy-Lu-Ti', 'Yb-Tm-Cr', 'Na-Ta-Nb', 'Li-Gd-Y', 'Na-Sr-Mo', 'Ba-La-Ti', 'Sm-Mo-W', 'La-Tm-Th', 'K-Cr-Fe', 'Y-Ta-Nb', 'Ce-Pm-Y', 'Sm-Tm-Lu', 'Er-Th-Nb', 'Co-Os-Rh', 'Sm-Dy-Lu', 'Sr-Ca-Y', 'Pm-Er-Th', 'Yb-V-W', 'La-Gd-W', 'Tb-Ta-Ti', 'Cs-Mg-Cr', 'Ca-Nd-Y', 'Pr-Ta-Mo', 'Pm-Sm-Th', 'La-Sm-Th', 'Zr-Ti-Nb', 'Cr-Cu-W', 'Cu-Ni-Pb', 'Sm-Pu-Cr', 'Ce-Pr-Er', 'Ce-Lu-Pu', 'La-V-Fe', 'Sm-Y-Ho', 'Ce-Er-Pu', 'Ce-Y-Hf', 'Ca-Pm-Nd', 'Ce-Pr-Ho', 'Ce-Lu-W', 'Re-Ru-Rh', 'Cu-Os-Pt', 'Co-Ni-Ir', 'La-Ta-Ti', 'Ba-V-Fe', 'Gd-Th-W', 'Li-Er-Nb', 'La-Yb-Er', 'Ce-Y-Ta', 'Y-Lu-Ti', 'Tm-Th-Mo', 'La-Eu-Zr', 'Pr-Dy-Mo', 'Ca-Yb-Mn', 'La-U-Ta', 'Pr-U-W', 'Nd-Lu-Ti', 'Pu-V-W', 'Li-Nd-Gd', 'Li-Ce-Hf', 'Tl-Cu-Mo', 'Al-Zn-Bi', 'Er-Sc-Ti', 'K-Mg-Ti', 'Li-Ce-Pu', 'Na-Nb-V', 'Ba-La-Pm', 'Tb-Th-Ta', 'Pr-Ho-Lu', 'Tb-Yb-Ti', 'Sm-Y-W', 'Tb-Dy-Zr', 'Ag-Ge-Au', 'Nd-Er-Cr', 'Yb-Y-Zr', 'Dy-Ho-Cr', 'Gd-Ta-W', 'Nd-Sm-Mo', 'Tb-Sm-Ta', 'Li-Lu-Cr', 'Y-Hf-Zr', 'Eu-Sc-U', 'Ti-Cr-W', 'Re-Ag-Bi', 'Pm-Er-Mo', 'Ca-Tb-Tm', 'Ta-Mo-W', 'Tb-Er-Cr', 'Li-La-Tb', 'Tl-Ag-Mo', 'Tb-Y-Mo', 'Er-Zr-Sc', 'Fe-Ni-Ag', 'La-Er-Tm', 'Co-Re-Ir', 'Li-Cr-Ni', 'V-Ag-Pd', 'Zn-Sn-Pb', 'Ce-Nd-W', 'La-Cr-W', 'Ca-Eu-Sc', 'Ho-Er-Cr', 'Yb-Zr-Nb', 'Eu-V-Mo', 'Ni-Ir-C', 'Y-Tm-Cr', 'Pr-Pu-Cr', 'Ho-Th-Ta', 'Pr-Tm-Lu', 'Pr-Er-Ti', 'Pr-Pu-Ta', 'Tb-Ce-Pm', 'Ce-Mo-W', 'Li-Tb-Pu', 'Mn-Tl-Ag', 'Ba-La-Sc', 'Th-Cr-W', 'Li-La-Cr', 'Mn-Fe-Cu', 'Ho-Tm-Pu', 'K-Rb-V', 'La-Gd-Tm', 'Cu-Ag-Ru', 'Ce-Y-Sc', 'Ho-Zr-Sc', 'Ce-Tm-Lu', 'Co-Ru-C', 'Ce-Ti-V', 'Yb-Hf-Sc', 'Tl-Si-Pb', 'Tb-Yb-Nd', 'Rb-Li-Cr', 'Co-Ni-C', 'Co-Ir-Ru', 'Gd-Lu-Pu', 'Gd-Dy-Zr', 'Mn-Cu-Ni', 'Cu-Mo-Au', 'Tb-Pr-Tm', 'Li-Mg-V', 'Yb-Pr-Y', 'Li-Sm-Mo', 'Li-Tb-Y', 'Sm-Nb-Mo', 'Ba-La-Yb', 'La-Dy-W', 'Zn-Si-Sn', 'Ca-Y-Pu', 'U-Ta-Ti', 'Pr-Lu-V', 'Si-Bi-Sb', 'Li-Ce-V', 'Cu-Re-Bi', 'Ba-Ca-Sc', 'La-Lu-Nb', 'Zn-Cd-B', 'In-Ga-Si', 'Dy-Er-Th', 'Cr-Hg-Pb', 'Yb-Dy-Y', 'Eu-Y-Nb', 'Mn-Co-Au', 'Yb-Er-V', 'Nb-V-W', 'Yb-Nd-V', 'Yb-Th-Ti', 'K-Rb-Mg', 'Ce-Gd-Sc', 'Dy-Lu-W', 'V-Fe-Cu', 'Yb-Zr-Sc', 'La-Ce-Y', 'Ni-Pd-Ru', 'La-Pr-Gd', 'La-Ce-Pr', 'Eu-Th-Mo', 'Nd-Ho-Sc', 'Hf-Ti-Nb', 'Tb-Yb-Th', 'Tb-Pr-Ti', 'Er-Pu-Nb', 'Re-Hg-Ru', 'Ba-Yb-Mn', 'Lu-Zr-Nb', 'Nd-Y-Zr', 'Rb-Na-Li', 'Sm-Dy-Er', 'U-Nb-W', 'Ce-Lu-Zr', 'Pd-Rh-C', 'Tb-Ce-Sm', 'Eu-Cr-Mo', 'Y-Ti-Mo', 'Li-Ce-Lu', 'Yb-Gd-Pu', 'Cd-B-Pb', 'Th-Ti-Mo', 'Ba-La-Nd', 'Er-Lu-V', 'K-Rb-Cr', 'Cd-Fe-Bi', 'Al-Tl-Cd', 'Pr-Nd-Gd', 'Nd-Ho-Lu', 'Ce-Ho-Tm', 'La-Pu-Nb', 'Ge-Au-C', 'Ca-Y-Lu', 'Yb-Gd-Y', 'Na-V-Mo', 'Y-Ho-Th', 'Ba-Sr-Y', 'Tb-Dy-Lu', 'La-Gd-Dy', 'Y-Er-Mo', 'Ce-Sm-Pu', 'V-Pd-Ru', 'Li-Tb-Er', 'Yb-Pr-Ta', 'Yb-Gd-Er', 'Y-Ho-Cr', 'Pm-Cr-Mo', 'Eu-Th-Sc', 'La-Er-Ta', 'Ba-Y-Mo', 'Co-Hg-Ir', 'Lu-Pu-Ti', 'Y-Tm-Lu', 'Ba-Ca-Nd', 'K-Li-Mo', 'V-Hg-Bi', 'Tb-Gd-Ta', 'La-Pm-Lu', 'Ir-Ru-C', 'Ca-Y-Ti', 'Tb-Yb-Cr', 'Li-Sc-Mo', 'Er-Hf-Ti', 'La-Ta-W', 'La-Dy-Ti', 'Ce-Nd-Sc', 'Co-Pt-C', 'Tm-Lu-Ta', 'Na-Mg-V', 'Ce-Eu-Cr', 'Cs-Li-Mg', 'Gd-Pu-Mo', 'Re-Pd-Rh', 'Yb-Nd-Tm', 'Mg-U-V', 'Fe-Pd-Ru', 'K-Rb-Hf', 'Ba-Ca-V', 'Rb-Mg-V', 'La-Sm-Cr', 'Y-Cr-Mo', 'Cs-Ti-V', 'Tb-Th-Ti', 'Pm-Gd-Er', 'La-Er-Th', 'Tb-Gd-Sc', 'Ce-Pm-Lu', 'Pm-Sm-Pu', 'Hf-Sc-Ti', 'Y-Pu-Cr', 'Be-Zn-In', 'Yb-U-Ta', 'Nd-Y-Ta', 'Ce-Hf-Zr', 'Cs-K-Mo', 'Ag-Pd-C', 'Sm-Tm-Mo', 'Ho-Cr-Mo', 'Yb-U-Cr', 'Tb-Lu-Th', 'Yb-Th-Mo', 'Ca-Tb-Ce', 'Tb-Dy-Mo', 'Zn-Cd-Si', 'Pm-Pu-V', 'Yb-Nb-Mo', 'Hf-U-Ta', 'Li-Sm-Er', 'Li-Zr-Ti', 'Na-Ta-Cu', 'Pr-Er-Th', 'V-In-Mo', 'Er-Th-W', 'Pm-Dy-Th', 'Tb-Gd-Cr', 'Nd-Zr-Sc', 'Sr-Ca-Ti', 'Tm-Th-Cr', 'Gd-Sc-Cr', 'Li-Gd-Lu', 'Ag-Os-Rh', 'La-U-V', 'Th-Ta-V', 'Co-Pd-Pt', 'Ce-Ho-Sc', 'Cu-Re-Rh', 'Yb-Sc-Ti', 'Li-La-Nb', 'Cu-Ag-Au', 'Eu-Sc-Nb', 'Rb-Na-Hf', 'Co-Rh-Au', 'Tb-Ho-V', 'Ce-Gd-Er', 'Tb-Ce-Ti', 'Gd-Dy-Er', 'Zn-In-Ge', 'Ce-Nb-Mo', 'Y-Ho-Sc', 'Pm-Pr-Er', 'Li-Pr-Hf', 'Er-Lu-Cr', 'Li-Gd-Cr', 'Li-Gd-Mo', 'Yb-Lu-Th', 'Pu-Nb-W', 'La-Tb-Lu', 'Li-La-Tm', 'Cu-Ni-Ag', 'Yb-Pr-Th', 'La-Sc-W', 'Fe-Ag-C', 'Mg-Mn-Fe', 'Fe-Ag-Ru', 'Nd-Cr-Mo', 'La-Pr-Ti', 'Cr-Cu-Mo', 'Tb-Er-Sc', 'Li-Lu-Nb', 'Y-Lu-V', 'Lu-Ti-V', 'Sn-B-Pb', 'Li-Pr-Er', 'Re-Hg-Ir', 'Yb-Dy-Tm', 'Tb-Pm-V', 'Cs-K-Mg', 'Ni-Ir-Pt', 'Ca-Sc-Mo', 'Eu-Y-Th', 'Zr-Sc-Ti', 'Yb-Pu-W', 'K-Li-Zr', 'Yb-Pr-Gd', 'Y-Pu-Nb', 'Ce-Th-W', 'Ce-Y-Er', 'Nb-V-Bi', 'V-Cu-Bi', 'Y-U-Nb', 'Fe-Cu-Rh', 'Re-Pt-Rh', 'Pu-Ti-Mo', 'Re-Ir-Pt', 'Ca-Yb-Pu', 'Nd-Sm-V', 'Na-Sr-Ca', 'Ho-Pu-Ta', 'Ce-Ho-Cr', 'Ce-Zr-Nb', 'Pm-Th-V', 'La-Gd-Lu', 'Dy-Lu-Zr', 'Ta-Ti-W', 'Nd-Dy-Ho', 'Y-Ho-Ta', 'Sr-Y-Mo', 'La-Pr-Th', 'Cr-Cu-Bi', 'Pm-Lu-Mo', 'La-Pm-V', 'Sm-Er-Pu', 'Y-Pu-Mo', 'Ba-Sr-Ti', 'Ta-V-Cu', 'Ga-Hg-B', 'La-Pu-Cr', 'Nd-Pu-Ta', 'Li-Sc-Ta', 'Ca-Eu-Mn', 'Pr-Y-Er', 'Lu-Pu-W', 'Dy-Ti-Cr', 'Ce-Y-Tm', 'Na-Zr-Nb', 'La-Lu-Th', 'Tb-Nd-Er', 'Eu-Sc-Mo', 'Ca-Ce-Sc', 'Pr-Lu-W', 'Pm-Ho-Pu', 'Nd-Ta-Ti', 'La-Lu-V', 'Co-Pd-Au', 'Pr-Sm-Tm', 'Li-Mg-Mn', 'Lu-Cr-W', 'Eu-Hf-Th', 'Li-Gd-Pu', 'Er-Pu-Ta', 'Yb-Nd-Y', 'La-Eu-Mo', 'Gd-Ho-Pu', 'Cs-Li-Nb', 'La-Ho-Th', 'Rb-Zr-Nb', 'La-Pr-Mo', 'Nd-Gd-Ta', 'Th-U-Nb', 'Na-Mg-Cr', 'Ce-Sc-Nb', 'Eu-U-V', 'Na-Be-Al', 'Yb-Lu-Cr', 'Gd-Dy-Th', 'Pm-Sm-Mo', 'Cs-V-Mo', 'Pm-Pu-Cr', 'Gd-Y-Th', 'Cs-K-V', 'Tb-Yb-V', 'K-Ta-Mo', 'La-Yb-Mn', 'Rb-Li-Hf', 'Li-Gd-Er', 'La-Zr-Ti', 'Ce-U-Ti', 'Ba-Gd-Y', 'Ba-Y-Ti', 'Cu-Ni-C', 'Nd-Ti-V', 'Cd-Si-Pb', 'Nd-Tm-Pu', 'Tb-Er-Zr', 'Pr-Ho-Er', 'U-Cr-W', 'Nd-U-Cr', 'Fe-Pd-C', 'Na-Li-Fe', 'Ba-Ca-Yb', 'Sm-Er-Tm', 'Ca-La-Eu', 'Ca-La-Sc', 'Mn-Co-Pb', 'Nd-Sm-Tm', 'Tc-Pd-Pt', 'Cs-Ta-Ti', 'Ca-Eu-Mo', 'Li-La-Er', 'Ni-Ir-Ru', 'Fe-Ni-Rh', 'Pu-Nb-Mo', 'Yb-Y-Nb', 'Eu-Y-Hf', 'Re-Ni-Pd', 'Pm-Sm-Dy', 'Cu-Re-Ni', 'Lu-Nb-V', 'Tm-Lu-Cr', 'Ce-V-W', 'Ca-Ce-Lu', 'Ce-Sm-Gd', 'Re-Tc-Ni', 'Ag-Ru-Au', 'Mg-Cr-Fe', 'Ba-Ca-La', 'Ca-Yb-Tm', 'Ni-Os-Pt', 'Tl-Cd-Ge', 'Mg-Zr-Ti', 'Ba-Sc-V', 'Fe-Ru-Rh', 'Pr-Hf-Ta', 'Nd-Y-Er', 'Ho-Tm-Cr', 'Ce-Pu-V', 'Ce-Y-Ho', 'Eu-U-Cr', 'Tb-Sm-Dy', 'Ce-Pr-Ta', 'Sc-Ti-W', 'Sm-Dy-Y', 'Pm-Dy-Mo', 'Er-Lu-Ti', 'La-Gd-Th', 'La-Mn-V', 'Ba-Ti-Mo', 'Tb-Ce-Pr', 'Ag-Ru-Rh', 'Ba-Pr-Y', 'Yb-Dy-V', 'La-Pr-Sm', 'Li-Ta-Cu', 'La-Ho-Er', 'Tl-V-In', 'Tb-Ho-Tm', 'La-Y-W', 'Ru-Pt-Rh', 'Sm-Y-Lu', 'Tm-Lu-V', 'Ce-Er-Nb', 'Cr-W-Au', 'Yb-U-Ti', 'La-Eu-V', 'Pr-Nd-U', 'Li-Nb-Cu', 'Cu-Pt-W', 'Ni-Ag-Os', 'Yb-Hf-Zr', 'Li-Pm-Pr', 'Cs-Nb-V', 'Y-Ti-W', 'Fe-Ag-Os', 'Hf-Ta-Ti', 'La-Sm-Er', 'Er-Hf-Zr', 'Ir-Os-Rh', 'Dy-Ho-Er', 'Ba-Nd-V', 'Ag-Pd-Au', 'K-Rb-Nb', 'Pr-Sm-Lu', 'Nd-Dy-Th', 'Li-Pm-Tm', 'Ba-Yb-Nd', 'Tb-Pm-Er', 'La-Pm-Pu', 'Sm-Dy-Th', 'V-Cr-Fe', 'Tb-Pm-Pr', 'Ho-Pu-Mo', 'Ba-Yb-Eu', 'La-Sm-Mo', 'Li-Tb-Cr', 'Tb-Er-Ti', 'Na-Mg-Nb', 'Pr-Mo-W', 'Ce-Tm-Ta', 'Er-Ta-Nb', 'Gd-Ho-Th', 'Tb-Ho-Mo', 'Nd-Gd-Ho', 'Li-Pr-Sm', 'Cr-Ag-Au', 'Lu-Pu-Cr', 'Nb-Hg-Mo', 'Tb-Gd-Er', 'La-Yb-Pu', 'Fe-Ir-Ru', 'Sm-Tm-Pu', 'Th-Sc-W', 'Tb-Gd-Lu', 'Tb-Pm-Sm', 'Pr-Y-Ti', 'Er-Cr-W', 'Th-Sc-Ti', 'Y-Tm-Ta', 'La-Lu-Ta', 'Ga-Hg-Ge', 'U-Ti-V', 'Ce-Pr-Th', 'Ho-Th-W', 'Pm-Gd-Y', 'Li-Ho-Er', 'Cr-Fe-Ni', 'Rb-Ta-Mo', 'Ce-Pr-Tm', 'Li-Pr-Ho', 'Yb-Ta-Ti', 'La-Lu-Zr', 'Pm-V-Cr', 'Hg-Bi-Sb', 'Ce-Nb-V', 'K-V-Cr', 'Ca-Eu-Y', 'Y-Sc-V', 'Nd-Y-V', 'Ag-Ir-C', 'Ni-Ru-Rh', 'Li-Nd-Pu', 'Cs-Rb-Li', 'Na-Li-V', 'Gd-V-Cr', 'Co-Ag-Ir', 'B-Sb-Pb', 'Pr-Y-Tm', 'La-Zr-Nb', 'Tb-Pu-V', 'Re-Ni-Ir', 'Yb-Nb-W', 'Pm-Er-Pu', 'La-Y-Tm', 'Be-Si-Sn', 'Cr-Mo-W', 'Ce-Lu-Ta', 'Ce-Lu-Th', 'Li-Y-Ti', 'Tb-Ho-Lu', 'Tb-Sm-Th', 'Pm-Nd-Ho', 'Sc-U-V', 'Li-Nd-Ho', 'La-Nd-W', 'La-Yb-Pr', 'Ce-Er-Ta', 'Rb-Ti-Nb', 'La-Cr-Fe', 'Ce-Nd-V', 'Zr-Ta-Ti', 'Lu-V-W', 'Sm-Dy-Ho', 'Nd-U-V', 'Nd-Dy-Ta', 'Pm-Ho-Lu', 'Na-Ti-Mo', 'Pr-Er-V', 'La-Ti-Cr', 'Al-Ga-Pb', 'La-Pm-Dy', 'Sm-Lu-Pu', 'Gd-Er-Ta', 'Nd-Sm-Y', 'Tb-Pm-Nd', 'Al-Hg-Bi', 'V-Hg-Ru', 'Pm-Pr-Pu', 'Ce-Th-Nb', 'K-Hf-Ta', 'Pr-Dy-Ta', 'Li-Y-Cr', 'La-Er-Ti', 'Dy-Y-V', 'Lu-Pu-Ta', 'Nd-Tm-V', 'Pr-Lu-Ta', 'La-Pm-Gd', 'Tl-Cd-B', 'Yb-Y-Ta', 'Os-Pd-Ru', 'Sm-Dy-V', 'Pu-Np-Mo', 'Nb-V-Hg', 'Pr-Dy-Er', 'Nd-Tm-Th', 'Ho-Sc-Cr', 'Zr-Sc-Ta', 'Pm-Tm-Lu', 'V-Ag-Mo', 'Pr-Dy-Lu', 'Zn-Cd-Pb', 'Li-Sm-Pu', 'La-Tb-Pr', 'Cr-Ni-Ag', 'La-U-W', 'La-Ce-Nd', 'Yb-Lu-Ti', 'Yb-Tm-Lu', 'Na-Ca-Ti', 'Co-Hg-Pb', 'Pm-Pr-V', 'Be-Si-Ge', 'Sr-Y-Ti', 'Yb-Gd-Sc', 'V-Pd-W', 'Re-Ir-Os', 'Ce-Gd-Lu', 'Li-Ho-Pu', 'Be-Zn-Ga', 'Y-U-W', 'Ga-Hg-Bi', 'Ba-Pr-Gd', 'La-Tm-W', 'Li-Tb-Ce', 'Yb-Eu-Hf', 'Si-Ag-Pb', 'Ce-Cr-W', 'Gd-Mo-W', 'Th-Sc-Mo', 'Ag-Ir-Os', 'Cu-Re-Tc', 'Ce-Pm-Th', 'Ba-Fe-Ni', 'Ir-Os-Pd', 'Cr-Cu-Pb', 'La-Ce-Pm', 'Li-La-Y', 'Ca-Yb-Ti', 'Fe-Pd-Rh', 'Ce-Eu-W', 'Cs-Pr-Cr', 'Nb-Cu-W', 'Fe-Cu-Bi', 'Tb-Er-Mo', 'La-Th-Nb', 'Sm-Er-Lu', 'Yb-Ti-Nb', 'Al-Zn-Si', 'Yb-Ho-Zr', 'Cs-K-Li', 'Pr-Hf-Ti', 'Fe-Co-Bi', 'Tb-Pm-Cr', 'Lu-Th-Ti', 'Y-Ho-W', 'Li-Ce-Pr', 'Sm-Y-V', 'Ni-Pd-C', 'Sc-Ta-Ti', 'Zn-In-Si', 'Y-Lu-Th', 'Ce-Eu-Mo', 'Yb-Gd-Cr', 'Tb-Tm-Cr', 'Yb-Th-Ta', 'Tb-V-W', 'Ta-Tl-Cu', 'Hg-Mo-Pb', 'Sm-Er-Th', 'Co-Re-Rh', 'Co-Ag-Rh', 'La-Tm-Cr', 'Hf-Zr-Sc', 'Fe-Ni-Ru', 'Nb-Mo-W', 'Gd-Th-Sc', 'Pd-Pt-C', 'Pm-Dy-Er', 'Co-Ni-Ag', 'Gd-Dy-Tm', 'Tm-Pu-V', 'Nd-Dy-Lu', 'Dy-Er-Zr', 'Tb-Er-V', 'Nd-Tm-Ta', 'Sm-Er-Mo', 'Li-La-Zr', 'Th-Nb-W', 'Tb-Ce-Sc', 'Gd-Ho-Sc', 'Pr-Dy-Cr', 'Hf-Zr-Nb', 'Ca-Pu-Mo', 'Ti-Nb-W', 'Co-Ir-C', 'Ba-Sr-Nd', 'Ba-Yb-Mo', 'Yb-Th-Nb', 'Li-Nd-Ta', 'Ce-Er-V', 'Co-Re-Ag', 'Yb-Er-Lu', 'Re-Pd-Pt', 'Ni-Pd-Au', 'Ho-Sc-Ta', 'Cr-Fe-Au', 'Tb-Sm-Er', 'Ce-Gd-Pu', 'Li-Ce-Pm', 'Nd-Y-Ti', 'Li-Nd-Y', 'Nd-Y-Tm', 'La-Ho-Pu', 'La-Ce-Zr', 'La-Ti-W', 'Ag-Os-Ru', 'Pt-W-Au', 'Cu-Bi-Os', 'Pr-Nd-Ti', 'Fe-Co-Os', 'Li-Nb-V', 'Y-Sc-Cr', 'Be-Si-Bi', 'Li-Hf-Ta', 'Th-V-Cr', 'Ho-Mo-W', 'Pm-Y-Cr', 'Th-Zr-Ti', 'Gd-Ho-V', 'Yb-Pu-V', 'Tm-Ti-W', 'Cs-Mg-Ti', 'La-Gd-Mo', 'Li-Nd-Sc', 'Co-Ag-Pd', 'Ba-V-Mo', 'Pr-Gd-W', 'Ce-U-V', 'Tb-Dy-Ho', 'Sr-Ca-Sc', 'Nd-Sc-U', 'Li-Y-Ta', 'Y-Th-Cr', 'Cr-Cu-Ag', 'Fe-Os-Pd', 'Pm-Sm-Cr', 'Cu-Pb-W', 'Nd-Ho-Th', 'Pm-Nd-V', 'Ce-Nd-Lu', 'Fe-Ni-Pb', 'U-V-W', 'Nd-Ta-V', 'Dy-Pu-Zr', 'Ce-Pu-Nb', 'La-Ce-Ta', 'Tm-Lu-Th', 'La-Ho-Cr', 'Ba-La-Fe', 'Tm-Ti-Cr', 'Eu-Y-Pu', 'Yb-Y-Hf', 'La-Yb-Mo', 'Hf-Th-Nb', 'Nd-Sm-Pu', 'Na-Hf-Mg', 'Fe-Ag-Au', 'Li-Pu-Nb', 'Pr-Sm-Pu', 'Tb-Er-Lu', 'Sm-Gd-Er', 'Co-Cu-Au', 'Re-Ag-Os', 'Ru-Rh-Au', 'Mn-Tl-Ni', 'Pr-Er-Ta', 'La-Cr-Mo', 'Dy-Pu-Ta', 'Ta-In-Mo', 'Be-In-Ge', 'Y-Lu-Cr', 'Cd-Bi-Mo', 'Yb-Dy-Mo', 'Na-Hf-Ti', 'Ba-Nd-Gd', 'Ca-Mn-Co', 'Li-Nd-Zr', 'Co-Os-Pt', 'Co-Ru-Pt', 'Yb-Pu-Ta', 'K-Ta-Nb', 'Tb-Yb-Ta', 'Tb-Yb-Pr', 'Sc-Ti-Mo', 'Fe-Co-Ir', 'Fe-Cu-Ag', 'Hf-Th-Ti', 'Tb-Y-Sc', 'Hg-Ge-Pb', 'K-Nb-V', 'Li-La-Ta', 'Er-Th-Zr', 'K-Zr-Ta', 'Ce-Y-U', 'Gd-Lu-Mo', 'Li-Tb-Tm', 'Fe-Cu-Ni', 'Cu-Os-Pd', 'Tb-Tm-Th', 'Pr-Tm-V', 'Li-Y-Nb', 'Dy-Ho-Th', 'Na-Cu-Mo', 'Yb-Eu-Cr', 'Li-Ti-Cr', 'Cs-Hf-Ta', 'Co-Cu-Pt', 'Rb-Ti-Mo', 'Al-Ga-Bi', 'V-Cr-W', 'Pm-Gd-Lu', 'Li-La-Pu', 'Ce-Ho-Er', 'Ce-Hf-Nb', 'Ag-Rh-Au', 'Ce-Pu-Mo', 'Bi-B-Sb', 'Ho-Er-Zr', 'La-Ta-V', 'Tb-Dy-Tm', 'Pm-Lu-V', 'Tb-Tm-Mo', 'Zn-Cd-Bi', 'Ce-Nb-W', 'Sm-Tm-V', 'Th-U-W', 'Tb-Nd-V', 'Pr-Sm-Y', 'La-Pr-Lu', 'Ho-Sc-V', 'Ag-Bi-Os', 'Li-Tb-Nd', 'Sr-Y-Sc', 'Co-Re-Ni', 'Y-Tm-V', 'Ce-V-Mo', 'Pm-Tm-Th', 'Sm-Dy-Mo', 'Pd-Ru-Rh', 'Hg-Bi-Os', 'Sc-U-Nb', 'Yb-Pr-Pu', 'Al-Tl-In', 'Ho-Pu-V', 'Rb-Zr-Ti', 'Tm-Ti-Mo', 'Pr-Sm-Gd', 'Gd-Tm-Ta', 'Mn-V-Ag', 'Cr-Cd-Bi', 'Tb-Ta-W', 'V-Ag-Bi', 'La-Ho-Lu', 'La-Dy-Er', 'Li-Gd-Tm', 'Y-Er-V', 'Li-Sc-Ti', 'Np-Cr-Mo', 'Ag-Mo-Pb', 'Co-Hg-Bi', 'Mn-Tl-V', 'Eu-Y-Zr', 'Cu-Ir-Os', 'Tb-Gd-Ti', 'Pr-Hf-Th', 'Tb-Ce-Cr', 'Ag-Ir-Rh', 'Tl-Zn-In', 'Li-Sm-Cr', 'Nd-Sm-Lu', 'Re-Ni-Rh', 'Yb-Zr-Ti', 'La-Dy-V', 'Mn-Ru-Au', 'Dy-Tm-Th', 'Pr-Nd-V', 'Sm-Ho-Th', 'Eu-Nb-Mo', 'Y-Er-Ta', 'Ce-U-W', 'Sn-Ge-B', 'Nd-Ti-Mo', 'Hf-Sc-U', 'Tl-Ga-Ge', 'Tm-Ta-Mo', 'Fe-Ru-Au', 'Ho-Er-Sc', 'Yb-Th-W', 'Nd-Er-Mo', 'Cs-Rb-Ta', 'Lu-Zr-Ti', 'Zn-Ga-Ge', 'Pr-Pu-Mo', 'La-Eu-Pu', 'Yb-U-W', 'Yb-Gd-Th', 'Tl-Ge-Pb', 'Tb-Ce-Tm', 'Gd-Lu-W', 'La-Dy-Mo', 'Co-Re-Pt', 'Yb-Sc-Cr', 'Al-Zn-Ge', 'Tl-Ni-Pb', 'K-Rb-Ti', 'Y-Th-U', 'Pm-Y-Er', 'Ce-Sm-W', 'La-Ho-V', 'Ce-Y-W', 'Na-Ta-Mo', 'Tb-Ce-Er', 'Sm-Gd-V', 'Cs-Li-Cr', 'Pr-Pu-Ti', 'Dy-Zr-Ta', 'Ca-Fe-Co', 'Lu-Ta-W', 'Al-Ga-Si', 'Pr-Th-Ta', 'Na-Li-Hf', 'Ir-Ru-Rh', 'Fe-Ru-C', 'Ho-V-Mo', 'Lu-Th-Mo', 'Pu-Ta-V', 'Lu-Th-Cr', 'Ca-Tm-V', 'La-Dy-Cr', 'Ce-Sc-Cr', 'Li-La-Sm', 'Mn-V-Cu', 'Ni-Ag-C', 'Li-Tb-Sm', 'Cs-Ta-Mo', 'Li-Ho-Mo', 'Cs-Pr-Hf', 'Hf-Zr-Ti', 'Sm-Th-U', 'Pr-Er-Mo', 'Yb-Dy-Ta', 'Tb-Gd-Dy', 'La-Yb-U', 'Mn-Tl-Cu', 'Yb-Pr-Ho', 'La-Y-Ho', 'Ce-Pr-Ti', 'La-Nd-Th', 'Ce-Y-Nb', 'Ca-Lu-V', 'Tb-Pr-V', 'Dy-Er-Pu', 'Ni-Pt-Rh', 'Ni-Rh-C', 'Hf-Mg-U', 'Ca-Tm-Pu', 'Al-Hg-Ge', 'Nd-Ho-Mo', 'Li-Sm-Ta', 'Pm-Ho-Tm', 'Ca-Yb-Sc', 'Co-Cu-Pb', 'Li-Tm-Lu', 'Er-Sc-Mo', 'Sr-Mn-V', 'Pr-Gd-Cr', 'Na-Li-Cr', 'Na-V-Cu', 'Na-Zr-Ti', 'Pd-W-Au', 'Li-Gd-Ta', 'Li-Lu-Zr', 'Rb-Li-Mg', 'Co-Hg-Ru', 'Dy-Y-Ta', 'La-Nd-Tm', 'Al-Sn-Pb', 'Na-Zr-Ta', 'Er-Tm-Ti', 'Sr-Ca-Nd', 'Rb-Ti-V', 'Y-Nb-V', 'Tb-Nd-Sc', 'Rb-Na-Zr', 'Cd-Ga-Si', 'Ca-Tb-Yb', 'Sn-Ge-Pb', 'Yb-Gd-Zr', 'Y-Ho-Lu', 'Yb-Y-Cr', 'Ce-Gd-Ho', 'Ba-Sm-Gd', 'Cr-Cd-Fe', 'La-Y-Mo', 'Ba-Mn-Ni', 'Gd-Pu-Cr', 'Tb-Th-W', 'Ba-Mn-V', 'Cu-Ni-Pt', 'Lu-Ti-Cr', 'Pr-Gd-Pu', 'Er-Ti-Nb', 'La-Nd-V', 'Mn-Co-Ru', 'Yb-Eu-Pu', 'Li-Pm-Ho', 'La-Sm-Lu', 'La-Eu-Nb', 'Sn-Ge-Bi', 'La-Er-V', 'Yb-Pr-Cr', 'Ce-Lu-V', 'Rb-Nb-Mo', 'Tl-Ag-Ge', 'Gd-Lu-Th', 'Y-Er-Lu', 'Tb-Lu-V', 'Fe-Ir-Os', 'Hg-Os-Ru', 'Ba-Yb-Y', 'Nd-Y-Mo', 'Ce-Sm-Tm', 'Ba-Pr-V', 'La-Pr-Dy', 'Rb-V-Mo', 'Ba-Ca-Pm', 'La-Tm-Pu', 'Lu-Th-Nb', 'Al-Ge-Bi', 'Li-Y-Lu', 'K-Mg-Zr', 'Hg-Ir-Ru', 'Nd-Th-Mo', 'Cs-Ta-Nb', 'Cu-Pd-W', 'Yb-Dy-Cr', 'Dy-Th-Cr', 'Hg-Ge-Bi', 'Cu-Ni-Pd', 'Y-Ti-V', 'Sm-Ho-V', 'Dy-Y-W', 'Tb-Nd-Ho', 'Ta-Ti-Mo', 'Tm-Lu-Ti', 'Li-Tm-V', 'Nd-Gd-Tm', 'Na-Cr-Fe', 'Li-Cr-Mo', 'Tb-Pm-Mo', 'Lu-Mo-W', 'Th-Ta-Ti', 'Cd-Ge-B', 'Th-Ti-Nb', 'Yb-Mo-W', 'Nd-Lu-W', 'Al-Cd-Pb', 'Tb-Nd-Th', 'Ag-Os-Pd', 'Yb-Cr-W', 'Ce-Zr-Sc', 'Co-Hg-Os', 'Ba-Sr-V', 'Nd-Y-Cr', 'Tb-Tm-Ta', 'Tb-Er-Th', 'Re-Ni-Ru', 'Y-U-Ti', 'Yb-Gd-Lu', 'Sc-Ti-Nb', 'Ce-Sm-Th', 'Pr-Gd-Ti', 'Nd-Y-Lu', 'Dy-Y-Cr', 'Ca-La-Pu', 'Ce-Lu-Nb', 'Cu-Ru-Rh', 'Si-Sn-Pb', 'Cu-Re-Ag', 'Ga-Ge-Bi', 'La-Eu-Th', 'Tb-Ce-Nd', 'Yb-Pr-Lu', 'K-Ti-Nb', 'K-V-Fe', 'Lu-Pu-Mo', 'Pm-Er-Cr', 'Pr-Sm-V', 'Al-Si-Pb', 'Sm-Gd-Th', 'Ni-Ir-Os', 'Cu-Re-Ir', 'Tl-Ge-B', 'Ba-Pm-Gd', 'Yb-Er-Pu', 'Fe-Bi-Os', 'Yb-Lu-W', 'Cs-Pr-V', 'Ca-Tb-Nd', 'Li-Ho-Lu', 'Tb-Er-Ta', 'Ca-La-Mo', 'Gd-Zr-Ti', 'Gd-Ho-Tm', 'Nd-Lu-Pu', 'Tb-Yb-Zr', 'La-U-Cr', 'Pm-Th-Cr', 'Ba-Ca-Eu', 'La-Ce-V', 'U-Nb-V', 'Ca-Ce-Pm', 'Ho-Er-Lu', 'Y-Er-Th', 'Gd-Tm-Pu', 'Yb-Tm-Ta', 'La-Eu-W', 'Rb-Hf-Ti', 'Li-Er-Ti', 'Pm-Er-Lu', 'Li-Hf-Sc', 'Sr-V-Fe', 'Pm-Tm-Mo', 'Er-Th-Cr', 'Ca-Lu-Ti', 'Li-Y-Tm', 'Ba-Ca-Ti', 'Tb-Pm-Dy', 'Sm-U-Cr', 'Ce-Eu-Ta', 'Nd-Y-Th', 'Fe-Co-Ru', 'Gd-Y-Ho', 'Cs-Mg-Nb', 'Ho-Th-V', 'Y-Th-Ti', 'Li-La-Lu', 'Li-Ta-Ti', 'Ce-Th-Sc', 'Li-Ti-Nb', 'Yb-Ho-Tm', 'K-Rb-Li', 'Er-Hf-Th', 'Cu-Tc-Mo', 'Ni-Rh-Au', 'Ni-Ag-Pd', 'Cr-Fe-Bi', 'Y-Sc-Ta', 'Tb-Nd-Lu', 'Dy-Er-Tm', 'Rb-Hf-Ta', 'Li-Tb-Lu', 'Sm-Gd-Y', 'Ir-Pd-Ru', 'Pm-Nd-Pu', 'Ba-Pm-Y', 'Y-Hf-Ti', 'Nd-Gd-Zr', 'Th-U-Ti', 'K-Mg-Fe', 'Ni-Pt-C', 'Cu-Pd-Ru', 'Gd-V-Mo', 'Co-Ag-Bi', 'Li-Ce-Cr', 'Tm-Th-Ta', 'Pm-Dy-V', 'Er-Sc-Ta', 'Sm-Th-Nb', 'Yb-Mn-V', 'K-V-Mo', 'Dy-Tm-Lu', 'La-Tb-W', 'Yb-Nd-Th', 'Y-Ho-Zr', 'Yb-Pu-Nb', 'Ce-Pr-Sm', 'Co-Re-Pd', 'Ce-Pu-Cr', 'Ag-Mo-Au', 'Ca-V-Mo', 'Tl-Cu-Ag', 'Tb-Lu-Cr', 'Be-Sn-Ge', 'Y-Er-Tm', 'Nd-Dy-Pu', 'Nd-Ho-Er', 'Be-Zn-Si', 'La-Pr-Cr', 'In-Ga-Ge', 'Li-Fe-Ni', 'Ni-Ru-C', 'Gd-Sc-W', 'Gd-Cr-Mo', 'Er-Tm-Ta', 'Cu-Mo-W', 'Pm-Ho-Mo', 'Hf-Th-Ta', 'Sc-Mo-W', 'Cr-Cd-Mo', 'U-Ta-Nb', 'Tb-Th-Cr', 'Co-Cu-Ag', 'Zn-Sn-B', 'Pm-Lu-Cr', 'Ba-Eu-Mo', 'Er-Lu-Pu', 'Ni-Ir-Rh', 'Li-Mn-Cu', 'Mg-U-Ti', 'Gd-Ti-W', 'Co-Ni-Pd', 'Yb-Er-Zr', 'Yb-Ho-Mo', 'Cu-Ir-C', 'Nd-Er-Th', 'U-Ti-Nb', 'Sm-Lu-Ta', 'Mn-Ag-Au', 'Pm-Th-Mo', 'Er-Lu-Zr', 'Nd-Tm-Lu', 'Sc-Ta-W', 'Dy-Er-Ta', 'Eu-Pu-V', 'Y-Th-Nb', 'Eu-Mo-W', 'Nd-Gd-Dy', 'Cs-Ti-Nb', 'La-Nd-Er', 'Nd-V-Cr', 'Zn-Si-Pb', 'Mg-Cd-Fe', 'Re-Ag-Pd', 'Sr-V-Mo', 'Fe-Ag-Bi', 'V-Cu-Ru', 'Sm-U-Ta', 'Ce-Pu-Ti', 'Na-Fe-Cu', 'Li-Sm-Ho', 'Yb-Ho-V', 'La-Yb-Zr', 'Li-Pu-V', 'Tm-V-Cr', 'Ta-Cu-W', 'Tb-Pm-Lu', 'Ni-Ag-Rh', 'Pm-Y-Pu', 'Pu-Zr-Ta', 'Eu-Pu-Zr', 'Th-Zr-Nb', 'K-Rb-Zr', 'Sm-Lu-Cr', 'Mg-Cd-Mo', 'Tb-Pr-Ho', 'Ce-Eu-U', 'La-Nd-Pu', 'Ru-Pt-C', 'La-Lu-Pu', 'Pm-Tm-V', 'Yb-Th-U', 'Ce-Pm-Ho', 'Co-Ni-Au', 'Si-Sn-Ge', 'Er-Th-Ti', 'Os-Pd-Rh', 'Hf-Mg-Zr', 'Mo-W-Au', 'Sm-Gd-Lu', 'Ca-Tb-Lu', 'Ho-Lu-W', 'Fe-Co-Rh', 'La-Sm-Dy', 'Be-Al-Bi', 'Er-Tm-Pu', 'Sn-Bi-B', 'Nd-Ta-Mo', 'Eu-Th-Cr', 'La-Nd-Sm', 'Pm-Nd-Cr', 'Dy-Th-Zr', 'Pm-Er-Tm', 'Tl-Zn-Ga', 'Y-Pu-W', 'Ba-Pm-Nd', 'Ce-Pr-Y', 'V-Cr-Mo', 'Ce-Th-Cr', 'Yb-Dy-Er', 'La-Er-Sc', 'Li-Mg-Cr', 'Y-Lu-Mo', 'Sm-Y-Nb', 'Ce-Eu-Hf', 'Ag-Ge-C', 'Sm-Ho-Cr', 'Na-Li-Cu', 'Tb-Yb-Sc', 'Pr-Gd-Ho', 'Dy-Y-Mo', 'Er-Pu-Cr', 'Na-Li-Nb', 'Pm-Nd-Er', 'La-Ce-Sm', 'Dy-Y-Ti', 'Ca-Nd-Mo', 'Nd-Sm-Er', 'Yb-Nd-Er', 'Li-Nb-Mo', 'Ca-Ce-Mo', 'Cs-Li-Pr', 'Y-Zr-Ta', 'Sm-Dy-Cr', 'Ho-Tm-Th', 'Dy-Y-Tm', 'Pu-Cr-Mo', 'Ce-Sc-V', 'Sm-U-V', 'La-Sm-Gd', 'Yb-Nd-U', 'Pr-Dy-Ho', 'Ho-Er-V', 'Lu-Th-Zr', 'Yb-Nd-Sc', 'Rb-Ta-Nb', 'Gd-Er-Lu', 'Ho-Sc-Mo', 'Tc-Pd-Rh', 'Ce-Tm-Th', 'Cu-Pt-Rh', 'La-Ho-Tm', 'Sm-Ho-Er', 'La-Gd-Cr', 'Al-Zn-Cd', 'Cs-Pr-Ta', 'Pm-Pr-Nd', 'Os-Pt-Rh', 'Er-Mo-W', 'Gd-Dy-Ho', 'Tb-Er-Tm', 'Ce-Nd-Sm', 'Be-Al-Ga', 'Cu-Tc-Ni', 'Nd-Pu-Mo', 'Ca-La-Tb', 'Be-Zn-Bi', 'Cu-Rh-Au', 'Lu-Pu-Nb', 'Pr-Nd-Th', 'Rb-Na-Mo', 'Yb-Pr-Nd', 'Ce-Pr-V', 'Hf-Mg-Nb', 'Tb-Th-Mo', 'Co-Ag-Os', 'Li-Tb-Ti', 'Yb-Tm-Ti', 'Yb-Y-Th', 'Yb-Ta-V', 'Sc-Ta-V', 'La-Lu-Ti', 'Ca-Ce-Pu', 'Ce-Ho-Ta', 'La-U-Ti', 'Pu-Ta-Mo', 'Yb-Y-Tm', 'Er-Zr-Ti', 'U-Cr-Ag', 'Dy-Tm-V', 'Si-Ag-Bi', 'Tb-Y-V', 'Pr-Gd-Tm', 'Ce-Er-Th', 'Tl-Cu-B', 'Ho-Sc-W', 'Li-Mg-Nb', 'Y-Lu-W', 'Sc-V-Cr', 'Cu-Bi-B', 'Tl-Zn-B', 'Nd-Ho-V', 'Ni-Pt-Au', 'Sm-Er-Cr', 'Li-Lu-Pu', 'Yb-Y-Mo', 'Ce-Th-Zr', 'Pr-Lu-Cr', 'Ir-Os-Ru', 'Er-Cr-Mo', 'Tb-Sm-V', 'Dy-Ti-W', 'Nb-Tl-Mo', 'La-Lu-Mo', 'Ag-Pd-Rh', 'Hf-Sc-Ta', 'Re-Os-Pt', 'La-Th-W', 'Pm-Y-Th', 'Y-Hf-Ta', 'Pr-Y-Ta', 'Na-Hf-Zr', 'Tl-V-Cu', 'Gd-Y-Pu', 'Li-Pu-Cr', 'Pr-Sm-Dy', 'Ce-Gd-Ti', 'Mn-Fe-Ag', 'Y-Th-W', 'Ba-Eu-V', 'Ce-Ho-Zr', 'Gd-Zr-Sc', 'Ce-Y-Zr', 'Mn-Ni-Pb', 'Tb-Pr-Er', 'Nd-Lu-Cr', 'Nb-Cu-Bi', 'Li-Ho-V', 'Li-Sm-Tm', 'Al-Ge-Pb', 'Tb-Pu-Ti', 'Tb-Ta-Mo', 'Nd-Sc-Ta', 'Sr-Sc-V', 'Er-Pu-Ti', 'Mg-Nb-Mo', 'Dy-Pu-V', 'Gd-Tm-Ti', 'Na-Li-Be', 'Sm-Ta-V', 'La-Pr-Y', 'Ce-Ti-Nb', 'Ce-Er-Lu', 'Er-Lu-W', 'Lu-Pu-V', 'Fe-Ir-C', 'Li-Y-V', 'Pm-Pr-Ho', 'Th-Sc-Cr', 'Tl-In-Ge', 'Tm-Pu-Ta', 'Tc-Ni-Rh', 'La-Yb-Y', 'Li-Pr-Ti', 'Sr-Nd-Ti', 'Ce-Sc-W', 'La-Th-V', 'Li-Ce-Zr', 'Ba-La-V', 'La-Y-Lu', 'Ce-Pr-Hf', 'Cs-K-Hf', 'Sm-Gd-Pu', 'Li-Ta-V', 'La-Yb-Lu', 'La-Dy-Zr', 'Y-Pu-Ta', 'Th-Zr-Ta', 'Ho-Tm-Lu', 'Ce-Lu-Cr', 'Tb-Mo-W', 'La-Pu-Ta', 'La-Pr-Tm', 'Cs-Ti-Mo', 'Bi-Sb-P', 'Mn-Cu-Au', 'Mg-Ti-Cr', 'Er-Th-Ta', 'Th-Ti-Cr', 'Cr-Cu-Ni', 'Er-Nb-W', 'Tb-Tm-Lu', 'Li-La-Pr', 'Ce-U-Ta', 'Tc-Ni-Ir', 'Pr-Ho-W', 'Li-Cr-Fe', 'La-Sm-W', 'Fe-Cu-Ir', 'Co-Cu-C', 'Nb-Tl-V', 'Co-Pt-Rh', 'Ce-Er-Zr', 'Re-Ir-Rh', 'Lu-Pu-Zr', 'Eu-Nb-V', 'Ce-Sc-Ta', 'Ir-Pd-Pt', 'Hg-Ir-Os', 'Y-Sc-Mo', 'La-Th-Zr', 'Tl-V-Mo', 'Co-Cu-Os', 'Pm-Y-Mo', 'Ce-Pr-Pu', 'Tb-Pr-Mo', 'Yb-Th-V', 'Pm-Dy-Ho', 'Co-Ru-Au', 'Tb-Yb-Y', 'Gd-Y-Sc', 'Dy-Ho-Zr', 'La-Ta-Nb', 'La-Tm-Ta', 'U-Ti-Cr', 'La-Pm-Y', 'Cs-K-Nb', 'Tb-Nd-Zr', 'Nd-Th-Ta', 'Li-Lu-V', 'Sm-V-Mo', 'La-Nd-Mo', 'Gd-Zr-Ta', 'Ce-Nd-Tm', 'Tb-Yb-Gd', 'Ce-Th-V', 'Pr-U-Ti', 'La-Er-Cr', 'Dy-Y-Pu', 'Li-Pr-Y', 'Ce-Er-Mo', 'Dy-Y-Th', 'Er-Sc-Nb', 'La-Nb-Mo', 'Ca-Ce-Tm', 'Eu-U-Nb', 'La-Sc-U', 'Li-Ce-Er', 'La-Dy-Tm', 'Lu-Ta-Mo', 'Gd-Y-Zr', 'Li-Ce-Mn', 'Cr-Cd-Pb', 'La-Tm-Ti', 'Rb-Mg-Cr', 'Tb-Gd-Pu', 'Eu-Sc-V', 'Co-Ag-Au', 'La-Tb-Ta', 'Rb-Mg-Ti', 'Cu-Ir-Pt', 'Rb-Hf-Nb', 'Gd-Ta-Ti', 'Er-Pu-W', 'V-Cu-Pd', 'Dy-Pu-W', 'Sc-Ti-V', 'Tb-Gd-Zr', 'Li-Tb-V', 'Er-Ta-Mo', 'V-Cr-Hg', 'La-Y-Ti', 'Ta-Cu-Mo', 'Ta-Nb-Bi', 'Nd-Sm-Ta', 'V-Fe-Ag', 'Yb-Eu-Nb', 'La-Nb-V', 'Pd-Au-C', 'Sc-Cr-W', 'Mn-Co-Cu', 'Yb-Nd-Mo', 'Sm-Er-V', 'Ce-Pr-U', 'Ag-Ir-Pd', 'Nd-Ti-Cr', 'Li-Y-Zr', 'La-Ce-U', 'Al-Si-Sn', 'La-Eu-Cr', 'In-Si-Ge', 'V-Cr-Cu', 'Al-Sn-Ge', 'Ba-Mn-Fe', 'Th-Ti-V', 'Cs-Li-Mo', 'Ca-Pu-Ti', 'Al-Si-Bi', 'Li-Mg-Fe', 'Yb-U-V', 'Mn-Tl-Cd', 'Fe-Ir-Rh', 'Tb-Nd-Pu', 'Nd-Er-Zr', 'Ba-Sr-Ca', 'La-Eu-Y', 'Sm-Ho-Lu', 'Y-Ho-Tm', 'Tc-Ir-Pd', 'Cs-Hf-Nb', 'Gd-Ti-Mo', 'Dy-Tm-Mo', 'La-Pm-Th', 'Yb-Pu-Zr', 'Ce-U-Nb', 'Ir-Os-Pt', 'Ce-Sm-Ho', 'Tb-Y-Ta', 'Pm-Y-V', 'Pr-Th-Cr', 'Tb-Ce-W', 'Hg-Bi-B', 'Tb-Ce-V', 'Pr-Y-Ho', 'Cu-Ni-Rh', 'Fe-Co-Pb', 'Pr-Tm-Pu', 'Zn-Sn-Ge', 'Yb-Eu-Y', 'Cd-Fe-Pb', 'La-Gd-Sc', 'Ga-Bi-B', 'Sm-Gd-Tm', 'Co-Pt-Au', 'Ce-Er-Hf', 'Tb-Ce-Y', 'Sr-Ti-Mo', 'Cr-Fe-Cu', 'Yb-Hf-U', 'Eu-Hf-Ta', 'Zn-Ge-B', 'Ca-Sc-V', 'Nd-Sm-Cr', 'Ce-Tm-Ti', 'Na-Ca-Mo', 'Tl-Cd-Si', 'Nd-Lu-V', 'Li-Sc-V', 'Pr-Dy-Th', 'Pr-Th-W', 'Co-Cu-Pd', 'Tb-Pu-W', 'Li-Ti-Mo', 'Pm-Y-Lu', 'La-Y-Th', 'Pr-Sm-Er', 'Pr-Ho-Mo', 'Yb-Gd-Ta', 'Gd-Er-Pu', 'Ho-V-W', 'Yb-Dy-Th', 'Li-Mg-Ti', 'Yb-Er-Tm', 'Lu-Ti-Nb', 'Ca-Nd-Tm', 'Tb-Ce-Th', 'Dy-Ta-Mo', 'Sr-Ca-Mo', 'Tb-Ti-Mo', 'Pr-Y-V', 'Yb-Pr-Ti', 'Cd-Ga-Pb', 'Tb-Th-Zr', 'La-Ce-Lu', 'Sm-Pu-Mo', 'Li-Sm-V', 'Ba-Yb-Pr', 'Gd-Ho-Ta', 'Eu-Pu-Cr', 'La-Er-Pu', 'Pm-Lu-Pu', 'Ce-Pr-W', 'U-V-Ag', 'Cs-Li-V', 'Yb-Y-Ho', 'La-Th-Cr', 'Tb-Sc-Cr', 'Eu-Ta-W', 'Cs-Rb-Zr', 'Pm-Gd-Mo', 'Sr-Ti-V', 'Cu-Ru-Au', 'La-Sm-Pu', 'La-U-Nb', 'Pr-Gd-Th', 'Er-V-Mo', 'Ho-Lu-Cr', 'Yb-Er-Ta', 'Y-Lu-Zr', 'Cr-Ag-Bi', 'Sm-V-W', 'Li-Y-Er', 'Gd-Ho-Cr', 'Sc-U-Ti', 'Rb-Mg-Nb', 'Th-Ta-W', 'K-Hf-Zr', 'Ho-Lu-Ta', 'Ba-Nd-Sm', 'Rb-Na-Nb', 'Ce-Sm-Nb', 'Pr-Cr-Mo', 'Ba-Pr-Mo', 'Li-Nd-Tm', 'Re-Os-Ru', 'Eu-Cr-W', 'Nd-Er-Ti', 'Cs-Rb-Mo', 'Tb-Pm-Tm', 'Cs-K-Ti', 'Na-Sr-V', 'La-Ce-Eu', 'La-Gd-Pu', 'Tb-Lu-Pu', 'Th-U-V', 'Li-Zr-Ta', 'Lu-Th-W', 'Tb-Nd-Sm', 'Nb-Bi-Mo', 'Cd-Si-Bi', 'Sm-Ho-Tm', 'Be-In-Si', 'Sr-Ca-Fe', 'Pd-Pt-Au', 'Pm-Pr-Mo', 'La-V-Cr', 'Ce-Gd-Tm', 'La-Ce-Mn', 'La-Th-U', 'K-Li-Hf', 'Ho-Er-Tm', 'Nd-Gd-Lu', 'Ce-Sm-Cr', 'Nd-Dy-Cr', 'Tb-Lu-Zr', 'Er-Pu-Zr', 'Sm-Cr-Mo', 'Pm-Sm-Tm', 'Sc-U-Ta', 'Cs-Cr-Mo', 'Yb-Hf-Ta', 'Pr-Th-V', 'Zn-Ga-Pb', 'Yb-Nd-Ta', 'Er-Zr-Nb', 'Pm-Sm-Lu', 'Mn-Cd-Fe', 'Ba-La-Gd', 'La-Tb-Gd', 'Yb-Nd-Ho', 'Pr-Y-W', 'Er-Ta-Ti', 'Co-Re-Os', 'Co-Ni-Os', 'La-Ce-Ti', 'Sm-Y-Er', 'Pm-Sm-V', 'Yb-Y-Pu', 'Hf-Mg-Ti', 'Pr-Ho-Th', 'Pm-Pr-Dy', 'Pm-Sm-Gd', 'K-Mg-Mo', 'V-In-Fe', 'Yb-Ta-Nb', 'Li-Tb-Sc', 'Y-Th-V', 'Th-Cr-Mo', 'Ba-Eu-Y', 'Ce-Sm-V', 'Pr-Lu-Th', 'Ba-Ca-Fe', 'Ge-Bi-B', 'Ce-Th-Ti', 'Rb-Zr-Ta', 'Yb-Pr-Hf', 'Si-Ge-Au', 'Li-Er-Sc', 'Ba-La-Sm', 'Er-Zr-Ta', 'Ce-Pr-Gd', 'Y-Ta-Ti', 'Na-Ta-Ti', 'Yb-Tm-V', 'Tb-Pm-Th', 'Sm-Pu-W', 'Pr-Tm-Th', 'Ba-Sc-Mo', 'Ag-Bi-Mo', 'Nb-Cu-Mo', 'Tb-Ho-Zr', 'Pm-Sm-Ho', 'Zn-Ge-Bi', 'Tb-Pr-W', 'Ca-Ce-Mn', 'Tm-Ti-V', 'Tc-Ni-C', 'Eu-Pu-W', 'La-Tb-Sm', 'Yb-Lu-Ta', 'Yb-V-Mo', 'Ce-Y-Th', 'Tb-Nd-Ti', 'Cu-Ir-Pd', 'Ba-La-Mo', 'La-Gd-Er', 'Ga-Sn-Ge', 'Tb-Ho-Ta', 'Er-Th-V', 'Pr-Y-Hf', 'Dy-Zr-Ti', 'Lu-V-Cr', 'Pr-Gd-V', 'La-Ti-Mo', 'Tb-Pu-Zr', 'Lu-Nb-Mo', 'Cs-Rb-Mg', 'Fe-Co-Ni', 'K-Ti-Mo', 'Tb-Yb-Mo', 'Fe-Au-C', 'Dy-Ho-Pu', 'Y-Pu-Zr', 'Tb-Pr-Th', 'Sc-Ta-Mo', 'Gd-Ho-Mo', 'Li-Y-Hf', 'Mn-V-Ru', 'Yb-Ti-Mo', 'Sm-Y-Pu', 'La-Nd-Lu', 'Ga-Si-Sn', 'Ba-Y-Sc', 'Nd-Y-U', 'Gd-Lu-Cr', 'Eu-Ta-Mo', 'Er-Tm-Th', 'Be-Ga-Bi', 'K-Li-Fe', 'Tl-V-Ag', 'Co-Os-Ru', 'V-Hg-Mo', 'Fe-Co-C', 'La-Tb-Th', 'Pr-Dy-Pu', 'Ta-Nb-W', 'Li-Pu-Ti', 'Zn-In-Ga', 'Tb-Ce-Zr', 'Ca-Yb-Lu', 'La-Y-Er', 'Yb-Ho-Er', 'La-Lu-Cr', 'Li-Ho-Cr', 'Yb-Pr-Tm', 'Li-Pr-Cr', 'Ho-Th-Sc', 'Pr-Sm-W', 'Tb-Lu-Mo', 'Yb-Eu-Mn', 'Nd-V-Mo', 'Ga-Hg-Pb', 'Pm-Nd-Y', 'Ba-Gd-Mo', 'Ni-Ru-Pt', 'Y-Er-Sc', 'Ca-Lu-Mo', 'Al-Zn-Sn', 'Th-V-Mo', 'Fe-Ni-Pd', 'Tb-Sm-Mo', 'Li-Pu-Ta', 'Pm-Dy-Tm', 'Fe-Co-Cu', 'Gd-Th-V', 'Dy-Ti-V', 'La-Ce-Gd', 'Yb-Th-Sc', 'Tb-Ho-Sc', 'Tb-Y-Zr', 'Tc-Ir-Rh', 'Ce-Nd-Ti', 'Yb-Y-U', 'Na-V-Cr', 'Nd-Lu-Th', 'Ho-Pu-Zr', 'Ba-Ca-Y', 'Fe-Os-Ru', 'Pm-Ho-Th', 'Gd-Th-Cr', 'Tb-Dy-Ti', 'La-Sc-V', 'Sr-Mn-Fe', 'La-Mo-W', 'Dy-Lu-Ta', 'Tl-Zn-Si', 'Nb-Tl-Cu', 'Pu-Np-Cr', 'Ir-Pt-C', 'Yb-Dy-Ti', 'Li-Pu-Mo', 'Pr-Tm-Mo', 'Nd-Dy-Er', 'Ce-Tm-V', 'Be-Al-Si', 'Dy-Th-V', 'Al-Cd-Si', 'La-Er-Nb', 'Tb-Nd-Ta', 'Eu-Hf-Nb', 'Re-Os-Pd', 'Nd-Tm-Cr', 'Sm-Tm-Th', 'Cs-Ta-V', 'Tb-Pu-Mo', 'Mg-Mn-V', 'Cu-Pd-Pt', 'Li-Er-Hf', 'Li-Lu-Ta', 'Y-Lu-Pu', 'Yb-Ho-Pu', 'Li-Sm-Y', 'Dy-Ti-Mo', 'Ca-Ti-V', 'Pr-Hf-U', 'La-Yb-Gd', 'Eu-Mn-V', 'Tb-Ti-Cr', 'Yb-Nd-Cr', 'Ti-Cr-Mo', 'Mg-Zr-Nb', 'Ta-Ti-Nb', 'Li-Nd-Sm', 'Tl-Ag-Pb', 'Tb-Gd-V', 'Gd-Pu-W', 'Cu-Pd-Rh', 'Li-Zr-Sc', 'Gd-Cr-W', 'Cu-Ru-Pt', 'Li-Er-Cr', 'Yb-Sc-Mo', 'Gd-Er-Cr', 'Pr-Lu-Pu', 'V-Fe-Bi', 'La-Gd-Ta', 'Ta-V-Bi', 'Tb-Cr-Mo', 'Cr-Mo-Au', 'Tb-Ce-Lu', 'Ca-La-Fe', 'Gd-Y-Cr', 'Cr-Fe-Pb', 'Cr-Bi-Mo', 'Ce-Pr-Mo', 'Sr-Sc-Ti', 'Ag-Ge-Bi', 'Y-Ta-V', 'Er-V-Cr', 'Sm-U-Nb', 'Cr-Hg-Mo', 'La-Pr-Pu', 'Ca-Ce-V', 'Th-V-W', 'Ba-Nd-Sc', 'Ce-Eu-Sc', 'Y-Ta-W', 'Cs-Li-Hf', 'Tb-Nd-Gd', 'K-Rb-Mo', 'Ca-Tm-Lu', 'Tb-Dy-Th', 'Ce-Pu-Ta', 'Yb-Hf-Nb', 'Y-Sc-W', 'Gd-Dy-Cr', 'Yb-Pu-Mo', 'Ce-Pr-Nd', 'Dy-Er-Mo', 'Y-Er-Zr', 'Hf-Th-Sc', 'Cu-Mo-Pb', 'Ho-Pu-Cr', 'Na-Mg-Mo', 'Cu-Re-Ru', 'Si-Ag-Ge', 'Ba-La-Eu', 'Pm-Lu-Th', 'Mn-V-Fe', 'Ca-La-Pm', 'Pr-U-V', 'Nd-Er-Tm', 'Re-Ni-Os', 'Gd-Y-Ti', 'Ce-Hf-Sc', 'La-Nd-Ti', 'Yb-Ho-Sc', 'Al-Cd-Bi', 'Al-Tl-Si', 'Tb-Sm-Lu', 'Pm-Sm-Er', 'Ce-Ti-W', 'Pr-Gd-Y', 'Dy-Cr-W', 'Zn-Sn-Bi', 'Rb-Mg-Mo', 'Tl-In-Mo', 'Ca-V-Fe', 'Th-Ta-Nb', 'Gd-Er-Ti', 'La-Er-W', 'Nd-Th-U', 'Ce-Pm-V', 'Tb-Y-Pu', 'Gd-Th-Mo', 'Yb-Pr-Mo', 'Yb-Hf-Ti', 'Rb-Ta-Ti', 'Dy-Pu-Ti', 'Be-Ga-Sn', 'Y-Ho-Pu', 'Ba-Yb-V', 'Yb-Y-Sc', 'Tb-Nd-Y', 'Ho-Zr-Ta', 'Pm-Gd-Tm', 'Li-Mn-V', 'Ce-Eu-Mn', 'Be-Al-Zn', 'Zn-Ge-Pb', 'Pr-Ho-Ta', 'Tb-Y-Ho', 'Li-Sm-Lu', 'Dy-Pu-Mo', 'Ba-Ca-Mn', 'Ho-Th-Cr', 'Er-Hf-Nb', 'Ca-Pu-V', 'Os-Pd-Pt', 'Pr-Pu-W', 'Cr-Ag-Pb', 'La-Ce-Sc', 'Mn-Cu-Pb', 'Yb-Sc-Nb', 'La-Nd-Ta', 'Ce-Ho-W', 'Re-Ag-Rh', 'Tl-Mo-Pb', 'Sm-V-Cr', 'Co-Ir-Rh', 'Pm-Gd-Pu', 'Ce-Er-Ti', 'Ce-Sm-Ta', 'La-Tb-Cr', 'Yb-Gd-Ti', 'Cu-Ni-Os', 'Rb-V-Cr', 'Yb-Zr-Ta', 'Nd-Sc-V', 'Tl-Cd-Pb', 'Tb-Sm-Gd', 'Sm-Gd-Dy', 'Tb-Yb-Dy', 'Li-Er-Mo', 'Pr-Er-Cr', 'Mg-U-Cr', 'La-Ce-Ho', 'Th-Sc-Nb', 'Nd-Gd-Y', 'Eu-Hf-Sc', 'Ce-Sc-Ti', 'Gd-Pu-V', 'Er-Ti-W', 'Ca-Pm-Lu', 'Co-Cu-Ru', 'Yb-Eu-Zr', 'Sm-Lu-W', 'Y-U-Ta', 'Y-Th-Sc', 'V-Mo-W', 'Ce-Tm-Mo', 'Cs-Ti-Cr', 'Nd-Dy-Ti', 'Li-Ho-Sc', 'Si-Ag-Au', 'Yb-Sc-W', 'Tl-Cd-Ga', 'Tb-Th-Sc', 'Ce-Cr-Mo', 'Yb-Pr-Er', 'Nd-Th-Zr', 'Pr-Nd-Sm', 'Li-Sc-Cr', 'Yb-Ho-Th', 'Tb-Ho-Cr', 'La-Pu-W', 'Nd-Dy-Y', 'Pm-Nd-Tm', 'Li-Tb-Pr', 'Gd-Ta-Mo', 'Li-La-Ti', 'Pu-Ti-W', 'Na-Ca-V', 'Y-Nb-W', 'Ce-Y-Mo', 'Hf-Sc-Nb', 'La-Tm-V', 'Ho-Lu-V', 'Ca-Sc-Ti', 'Nd-Sc-W', 'La-Tb-Sc', 'Yb-Gd-Dy', 'Tc-Pd-C', 'Li-V-Cr', 'Li-Sm-Nb', 'Be-Ge-Bi', 'Ca-Tb-V', 'K-Nb-Mo', 'Pm-Gd-Cr', 'La-Sm-U', 'Ca-Yb-V', 'Nd-Gd-Th', 'Pm-Pu-Mo', 'Yb-Th-Cr', 'Ce-Hf-Ti', 'Dy-Tm-Ti', 'Yb-Ta-W', 'Cu-Pd-Au', 'La-Tb-Ho', 'Tm-Pu-Cr', 'Tb-Ho-Th', 'La-Sc-Ta', 'Sm-Ta-Nb', 'Li-Mn-Fe', 'Ce-Gd-W', 'Sc-Nb-W', 'Ta-V-W', 'Nd-Sm-Dy', 'Nd-Ho-Pu', 'La-Er-Mo', 'La-Y-Ta', 'Ca-Nd-V', 'Re-Hg-Os', 'Tb-Dy-V', 'La-Tb-Nd', 'La-Zr-Sc', 'Cu-Tc-Rh', 'Li-Tm-Cr', 'Si-Ge-Pb', 'Gd-Y-Ta', 'Sm-Ta-Mo', 'Na-Mg-Fe', 'La-Ce-W', 'Th-Nb-V', 'Y-Nb-Mo', 'La-Ta-Mo', 'Dy-Tm-Pu', 'La-Pr-V', 'Ca-La-Ti', 'Pr-Dy-W', 'Ce-Nd-Cr', 'Lu-Zr-Ta', 'Y-Pu-Ti', 'Li-Ce-Mo', 'La-Eu-Sc', 'Nd-Sm-U', 'La-Tb-Zr', 'Li-Ce-Nb', 'Dy-Y-Lu', 'Zn-Ga-B', 'Y-Zr-Sc', 'Li-Pm-Y', 'Pm-Nd-Gd', 'Pr-Ti-W', 'Ba-La-Pr', 'Fe-Co-Pd', 'Pr-Nd-Ta', 'Tl-In-Ga', 'Li-Pm-V', 'Nd-Lu-Ta', 'Pr-Nd-Tm', 'Pr-Th-Ti', 'Ce-Y-Cr', 'Tb-Ce-Ta', 'V-Cr-Ag', 'Fe-Rh-C', 'Cs-K-Zr', 'Er-Tm-Cr', 'Tb-Y-Lu', 'K-Cr-Mo', 'Gd-Ti-V', 'La-Th-Ta', 'Yb-Ta-Mo', 'Ho-Th-Mo', 'Pr-Ho-Cr', 'Mg-V-Fe', 'Ta-Nb-V', 'Li-Mg-Mo', 'Nd-Lu-Zr', 'Tm-Th-Ti', 'K-Hf-Mg', 'Cs-Mg-Mo', 'Pr-Ta-W', 'Ba-Gd-Ti', 'Sm-Er-Nb', 'Yb-Eu-Mo', 'Pr-Ti-Cr', 'La-Pm-Sm', 'Li-Nd-Ti', 'Yb-Dy-Pu', 'Li-Gd-Zr', 'Ta-Nb-Tl', 'Fe-Cu-Ru', 'Pm-Pr-Sm', 'Fe-Cu-Pb', 'Dy-Th-Ta', 'Nb-Hg-Bi', 'Er-V-W', 'Sr-Y-V', 'Dy-Th-W', 'Tb-Yb-Ho', 'Nd-Y-W', 'Be-Zn-Sn', 'Eu-Y-Ta', 'Yb-Y-Ti', 'Ce-Gd-Mo', 'Gd-Th-Zr', 'Tl-Si-Ge', 'Sm-Dy-Pu', 'La-Ho-W', 'Cs-Li-Ti', 'Cu-Bi-Mo', 'Yb-Y-Er', 'Ce-U-Cr', 'Li-V-Cu', 'Gd-Er-Sc', 'Yb-Dy-Ho', 'Re-Ni-Ag', 'Ca-Nd-Ti', 'Yb-Pu-Ti', 'La-Tb-Mo', 'Ir-Rh-C', 'Al-Tl-Ga', 'La-Ti-Nb', 'Nd-Gd-Pu', 'Al-Cd-Ge', 'Li-Ho-Ta', 'Ho-V-Cr', 'Li-Gd-Sc', 'Ga-Re-Bi', 'Yb-Lu-Zr', 'Li-Pr-V', 'U-Ta-W', 'Yb-Tm-Pu', 'Ce-Ho-Lu', 'Fe-Ir-Pd', 'Gd-Pu-Ti', 'Tb-Gd-Th', 'Ca-La-V', 'Ce-Nd-Pu', 'Yb-Eu-U', 'Ta-V-Mo', 'Th-Nb-Mo', 'Ca-Tm-Mo', 'Er-Sc-W', 'Sm-Cr-W', 'Ce-Pm-Cr', 'Pr-Sm-Ta', 'Ta-Tl-In', 'Li-Tb-Pm', 'Ba-Pm-Pr', 'Li-Gd-Ho', 'Hg-B-Sb', 'Gd-Tm-Lu', 'Tb-Pr-Dy', 'Ce-Gd-Cr', 'Ho-Tm-Mo', 'Y-U-V', 'Ir-Pt-Rh', 'La-Tb-Yb', 'Li-Ti-V', 'Tm-Lu-Pu', 'Tb-Pr-Nd', 'Pr-Ta-V', 'Re-Bi-Os', 'Co-Cu-Bi', 'Nd-Ho-Cr', 'La-Pm-Tm', 'Ca-Eu-V', 'Ba-Sc-Ti', 'Na-Nb-Cu', 'Cs-Li-Zr', 'Gd-Dy-Lu', 'La-Ce-Cr', 'Cu-Re-Os', 'Li-Mg-Zr', 'Ce-Pu-Zr', 'Ca-La-Yb', 'Ce-Y-Pu', 'Zn-Cd-Ga', 'Nd-V-W', 'V-Fe-Ru', 'Tb-Dy-Er', 'Hf-Th-U', 'Sc-V-W', 'La-Y-Pu', 'Al-In-Si', 'Be-Ga-Ge', 'Os-Ru-Pt', 'Ag-Ge-Pb', 'Pm-Y-Tm', 'Li-La-Ho', 'Cs-Zr-Ti', 'Ce-Sc-Mo', 'Pr-Nd-Mo', 'Li-Tm-Ti', 'La-Ho-Sc', 'Nd-Tm-Mo', 'Th-Ta-Mo', 'Er-Tm-Mo', 'Gd-Y-W', 'Lu-Ta-V', 'Lu-Th-Ta', 'Ce-Er-Cr', 'Ce-Ti-Mo', 'Li-Ce-Gd', 'Ce-Th-U', 'Li-Hf-Nb', 'Yb-Ho-Ta', 'Li-Pm-Cr', 'Ce-Gd-V', 'Cs-K-Cr', 'Tb-Ti-W', 'Ce-Tm-Cr', 'Ho-Lu-Pu', 'Y-Er-Ti', 'Gd-Dy-Ti', 'Gd-Pu-Zr', 'Li-Cr-Cu', 'Co-Bi-Os', 'Gd-Pu-Ta', 'Co-Ru-Rh', 'Gd-Lu-Ti', 'Li-La-Ce', 'Be-Al-Ge', 'Gd-Y-Lu', 'Pr-Dy-Tm', 'Yb-Cr-Mo', 'La-Gd-Zr', 'Tl-Cu-Pb', 'Cr-Ag-Mo', 'Tb-Tm-Ti', 'Nd-Y-Pu', 'Eu-Th-V', 'Ga-Ge-Pb', 'Li-Pm-Lu', 'Li-Nd-Lu', 'Ba-Pr-Ti', 'Li-V-Mo', 'Pr-Y-Mo', 'Ce-V-Cr', 'Dy-Er-V', 'Ca-Eu-Pu', 'Ni-Pd-Pt', 'Er-Lu-Ta', 'Ba-Y-V', 'Pr-Nd-Lu', 'Ce-Nd-Y', 'Na-Mg-Ti', 'Cu-Ag-Ir', 'La-Ce-Mo', 'La-Er-Lu', 'Tc-Ni-Pd', 'Ti-Nb-V', 'Tb-Ce-Gd', 'Hf-U-Ti', 'Lu-V-Mo', 'Ta-V-In', 'Co-Ir-Pt', 'Na-Ti-Nb', 'Yb-Hf-Th', 'Mn-Cu-Ag', 'Ce-Nd-U', 'Pr-Gd-Ta', 'Ca-Pm-V', 'Nd-Gd-Cr', 'Yb-Eu-V', 'Al-Hg-Pb', 'V-Cr-Bi', 'Ce-Nd-Ho', 'Ho-Er-Th', 'Tb-Nd-Mo', 'Ca-Tb-Pm', 'Nd-Ho-Ta', 'Pu-Ta-W', 'V-Cu-Mo', 'Tb-Cr-W', 'V-Cu-Ag', 'Fe-Ni-Os', 'Lu-Th-V', 'Fe-Ni-C', 'Ca-Y-Sc', 'Ca-Ce-Eu', 'Rb-Ti-Cr', 'Nd-Sm-Th', 'Co-Re-Bi', 'Gd-Lu-V', 'Eu-Pu-Ta', 'Pu-Zr-Ti', 'Pm-Sm-Y', 'La-Ce-Er', 'Ga-Sn-Bi', 'Ba-Sr-Sc', 'Co-Re-Hg', 'La-Lu-W', 'Cs-Nb-Mo', 'La-Y-V', 'Ce-Sm-Er', 'Co-Ni-Ru', 'Mg-Cr-Mo', 'Sc-Nb-Mo', 'Sm-U-W', 'Ce-Ta-Ti', 'Li-Y-Pu', 'Tb-Dy-Pu', 'Cs-Rb-Cr', 'Cs-Rb-V', 'Ce-Gd-Ta', 'Mg-Ti-Mo', 'K-Ta-V', 'Rb-Na-Mg', 'Ba-Gd-V', 'Ca-Tb-Mo', 'Pr-Er-Hf', 'Si-Ge-Bi', 'Y-Er-Hf', 'Zn-Si-Bi', 'Li-Pm-Mo', 'Yb-Lu-Pu', 'La-Dy-Lu', 'La-Pm-Er', 'Hf-Zr-Ta', 'K-Hf-Nb', 'Lu-Ti-W', 'Li-Pu-Zr', 'Cd-Ga-Ge', 'Cd-Ga-B', 'Gd-Y-V', 'Cu-W-Au', 'Yb-Nd-Lu', 'Er-Tm-V', 'Tb-Gd-Y', 'Er-Lu-Mo', 'Tc-Pt-Rh', 'Dy-Ta-Ti', 'Cu-Pd-C', 'Y-V-Mo', 'La-Yb-Dy', 'Lu-Nb-W', 'Cr-Cu-Au', 'Y-Sc-Nb', 'Li-La-Nd', 'Tb-Sm-Pu', 'Tb-Y-Tm', 'Ce-Er-Sc', 'Gd-Dy-Mo', 'Ca-Ce-Nd', 'Ta-Tl-Mo', 'Pr-Nd-Er', 'Li-Pr-Nd', 'La-Pr-Ta', 'Tm-Cr-W', 'Ce-Ho-V', 'Ba-Yb-Ti', 'Na-Ti-Cr', 'Er-Th-Sc', 'Er-Ti-V', 'Cd-Ge-Pb', 'Ba-Eu-Mn', 'Re-Ag-Ir', 'Pr-Ti-V', 'Lu-Ta-Nb', 'Fe-Co-Ag', 'Li-Mn-Ni', 'Nd-Ho-Zr', 'La-Pm-Cr', 'Mg-Nb-V', 'Ce-Pm-Tm', 'Pd-Ru-Pt', 'Gd-Sc-Mo', 'Nd-Pu-Ti', 'Pr-Gd-Mo', 'Sc-U-W', 'Co-Cu-Rh', 'Eu-V-Cr', 'Y-Tm-Th', 'Tb-Lu-Ti', 'La-Nd-Y', 'Th-Ti-W', 'Li-Nd-Cr', 'Pm-Gd-Th', 'Tl-Cu-Ni', 'Pr-U-Cr', 'Ca-Tb-Y', 'Co-Pd-Rh', 'Li-Pm-Nd', 'Cu-Os-Rh', 'Tb-Pu-Cr', 'Ni-Ag-Ru', 'Li-Gd-V', 'Na-Hf-Ta', 'La-Sm-Ta', 'Ca-La-Nd', 'Sr-Ca-Mn', 'La-Mn-Fe', 'La-Th-Sc', 'Tb-Ce-Mo', 'Mo-Pb-W', 'Tb-Y-Cr', 'Al-Ga-Ge', 'V-Fe-Pd', 'Nd-Cr-W', 'Tl-Si-Ag', 'Tb-Ce-Pu', 'Cs-Pr-Mo', 'Nd-U-Ta', 'Eu-Ta-Nb', 'La-Dy-Th', 'Mg-Ti-V', 'Li-Fe-Cu', 'Na-Li-Ti', 'La-Tb-Pu', 'Th-Zr-Sc', 'Ce-Gd-Y', 'Dy-Lu-Cr', 'Nd-Sc-Ti', 'Yb-Nb-V', 'Ga-Si-Pb', 'Pr-Lu-Ti', 'Eu-Y-Cr', 'Hf-U-Nb', 'Pu-Ti-V', 'Li-Nd-Er', 'Cu-Ag-Bi', 'Sm-Nb-V', 'Gd-Dy-Y', 'Ho-Ta-Mo', 'Cu-Ag-Pd', 'Tc-Ni-Pt', 'Y-Lu-Nb', 'Ni-Os-Ru', 'Dy-Lu-Pu', 'Fe-Cu-Os', 'Ta-Tl-V', 'Eu-Y-U', 'Co-Pd-Ru', 'Re-Hg-Bi', 'La-Yb-Ho', 'Nd-Er-Lu', 'Tb-Yb-Er', 'Yb-Th-Zr', 'K-Li-Ti', 'Re-Tc-Rh', 'Cs-K-Al', 'Pr-Ti-Mo', 'Yb-Eu-Sc', 'Y-Th-Ta', 'Yb-Ti-V', 'Nd-Gd-V', 'Sm-Dy-Tm', 'Y-Mo-W', 'Ce-Er-W', 'Re-Tc-Pd', 'Ce-Nd-Zr', 'Li-Ho-Tm', 'Y-Tm-W', 'Al-Tl-Zn', 'Li-La-Mo', 'Pr-Ho-Tm', 'Eu-Th-Nb', 'Pr-Nd-Cr', 'Pm-Gd-Dy', 'Na-Ta-V', 'Al-Zn-Ga', 'Ba-Sm-Mo', 'Y-Ti-Cr', 'Nd-Th-Cr', 'Co-Ir-Pd', 'Yb-Gd-Ho', 'Hg-Ge-B', 'Ho-Tm-V', 'Pr-Tm-Ta', 'Tb-Dy-Cr', 'Ir-Ru-Pt', 'Ce-Pm-Pu', 'Tm-Pu-W', 'Pm-Nd-Th', 'Yb-Gd-Mo', 'La-Ti-V', 'Sm-Pu-Nb', 'Hf-Th-Zr', 'Ta-Ti-V', 'Be-Sn-Bi', 'Pm-Ho-Cr', 'Yb-Eu-Th', 'Ho-Lu-Mo', 'Tb-Dy-Ta', 'Ce-Y-Ti', 'Al-Zn-Pb', 'Ca-La-Mn', 'Yb-Eu-Ta', 'Cs-Hf-Zr', 'Na-Ca-Fe', 'Tb-Pu-Ta', 'Sr-Sc-Mo', 'Tc-Ir-C', 'Y-Hf-Sc', 'Ti-Mo-W', 'Pr-Gd-Dy', 'Co-Cu-Re', 'La-Y-U', 'Re-Sn-Bi', 'Yb-Ti-Cr', 'Nd-Mo-W', 'Fe-Ni-Ir', 'Pr-Nd-W', 'Yb-Lu-V', 'Ce-Pu-W', 'Ac-Cr-Mo', 'Zn-B-Pb', 'La-Yb-Tm', 'Ba-Nd-Mo', 'Mn-Co-Ag', 'Dy-Cr-Mo', 'Er-Tm-Lu', 'La-Y-Nb', 'Tc-Ir-Pt', 'Pr-Er-W', 'Yb-Ho-Cr', 'Mn-Fe-Au', 'Ca-Y-V', 'Pd-Ru-Au', 'Ce-Hf-U', 'La-Pm-Pr', 'Tb-V-Mo', 'Ba-Eu-Sc', 'Ta-Bi-Mo', 'Nd-Dy-V', 'Tl-B-Pb', 'Li-Hf-Zr', 'Li-La-Fe', 'Al-Sn-Bi', 'Ce-Pm-Er', 'Ni-Au-C', 'Er-Ta-W', 'Pr-Er-Pu', 'La-Nd-Sc', 'Ni-Ag-Ir', 'La-Ce-Th', 'La-Yb-Nd', 'Pm-Nd-Dy', 'Ce-Th-Mo', 'Eu-U-W', 'Pm-Ho-Er', 'Ce-Lu-Mo', 'Li-Cu-Mo', 'Sm-Y-Th', 'Tb-Nd-Dy', 'Nd-Er-Pu', 'Rb-Nb-V', 'Pr-Y-U', 'Y-Er-Pu', 'Cd-Mo-Pb', 'Li-Er-Zr', 'V-Cu-W', 'Pm-Nd-Mo', 'Yb-Er-Ti', 'Tb-Sc-Ta', 'Ca-Ti-Mo', 'Tb-Tm-Pu', 'Y-Lu-Ta', 'Rb-Li-Ti', 'Hg-Sb-Pb', 'La-Dy-Pu', 'Pd-Rh-Au', 'K-Ta-Ti', 'Li-La-Sc', 'Pr-Dy-Ti', 'Yb-Pr-W', 'La-Nd-Ho', 'Sm-Nb-W', 'Ce-Eu-Pu', 'Nd-Sc-Mo', 'Ag-Ir-Ru', 'Pm-Y-Ho', 'Yb-Dy-Lu', 'U-Ta-V', 'Ca-Tb-Ti', 'Tb-Yb-Lu', 'Ce-Pm-Sm', 'Sr-Nd-V', 'Co-Ni-Pt', 'Rb-Mg-Zr', 'Ti-V-Cr', 'Th-U-Cr', 'Yb-Pu-Cr', 'Ta-Cu-Bi', 'La-Yb-Cr', 'Pr-Ho-V', 'Rb-Na-Cr', 'Ce-Ta-V', 'Ce-Ta-W', 'Eu-Y-Sc', 'La-Ho-Ta', 'Cd-Ga-Bi', 'Eu-Pu-Mo', 'Nd-Gd-Er', 'Na-Li-Mo', 'Tb-Tm-V', 'Th-Sc-U', 'Lu-Cr-Mo', 'Tb-Ti-V', 'Tb-Sm-Ho', 'Dy-Ta-V', 'Rb-Li-Nb', 'Li-Ta-Mo', 'Re-Tc-Pt', 'Pm-Gd-V', 'La-Gd-Y', 'La-Dy-Ta', 'Mg-Ti-Nb', 'Nd-Th-W', 'Dy-Y-Zr', 'Tb-Zr-Ti', 'Pd-Pt-W', 'Cs-Rb-Ti', 'Ca-Nd-Pu', 'La-Pm-Nd', 'Sm-Ho-Pu', 'Hg-Bi-Mo', 'Co-Ag-Pb', 'Ce-Pm-Pr', 'Cu-Re-Pd', 'La-Th-Mo', 'Ba-Pr-Nd', 'La-Yb-W', 'Li-Y-Sc', 'Th-U-Ta', 'Li-Tm-Mo', 'Zn-Si-Ge', 'Sc-Nb-V', 'Sm-Th-V', 'Li-La-Pm', 'Li-Y-Ho', 'Y-Hf-U', 'Ti-V-W', 'Sm-Lu-Th', 'Li-Cu-Ni', 'Ce-Y-Lu', 'Tm-Th-W', 'Yb-Tm-Mo', 'Ca-Yb-Nd', 'Ce-Eu-V', 'Nd-Er-Sc', 'Hf-Ta-Nb', 'Co-Ag-C', 'Co-Ir-Os', 'Ca-Mn-V', 'Pu-Ta-Nb', 'V-Bi-Mo', 'Y-Hf-Th', 'Dy-Mo-W', 'Ce-Sm-Lu', 'Ni-Ir-Pd', 'Re-Os-Rh', 'Ce-Nd-Mo', 'Er-Hf-Sc', 'Cr-Fe-Ag', 'Li-Nd-V', 'Eu-Sc-Ta', 'Yb-Tm-Th', 'Ga-Ge-B', 'Eu-Sc-W', 'Li-Pr-Gd', 'Yb-Pr-Dy', 'Sm-Pu-V', 'La-Nd-Cr', 'Ce-Ho-Mo', 'Li-Pm-Pu', 'Y-Sc-U', 'Pr-Sm-Mo', 'Pr-U-Ta', 'Re-Tc-Ir', 'Nd-Zr-Ta', 'Tl-In-Si', 'Yb-V-Cr', 'Tb-Pr-Sm', 'Mn-Fe-Ru', 'Ce-Zr-Ta', 'K-Ti-Cr', 'Ce-Sm-Mo', 'Ni-Ag-Pb', 'K-Mg-Cr', 'Tb-Nd-Cr', 'Pu-Cr-W', 'La-Gd-Ho', 'Pm-Nd-Lu', 'La-Dy-Y', 'Tb-Th-V', 'Cu-Tc-Ir', 'Li-Tb-Ho', 'Tb-Sm-Tm', 'Sr-Nd-Y', 'Pm-V-Mo', 'K-Rb-Ta', 'Gd-Sc-Ti', 'Y-Er-Cr', 'Ce-Eu-Th', 'Yb-Nd-Dy', 'Er-Hf-Ta', 'Pr-Y-Th', 'Eu-Zr-Sc', 'Gd-Sc-Ta', 'Li-Ce-Ti', 'Na-Hf-Nb', 'Sm-Gd-Cr', 'La-Pr-Nd', 'Ga-Re-Hg', 'Li-La-Gd', 'Co-Ni-Rh', 'La-Tb-Er', 'Yb-Lu-Mo', 'Er-Pu-V', 'Tl-Ga-Pb', 'Yb-Sc-V', 'Co-Ag-Ru', 'Li-Zr-Nb', 'Rb-Ta-V', 'K-Li-Mg', 'Dy-V-W', 'Pu-Mo-W', 'Li-La-Mn', 'Tb-Zr-Sc', 'La-Pr-Er', 'Tb-Lu-Ta', 'Tb-Ho-Pu', 'Ba-Ca-Mo', 'Gd-Th-Ti', 'Ta-Nb-Mo', 'La-Y-Sc', 'La-Tm-Mo', 'Ge-B-Pb', 'Li-Pr-Ta', 'Cu-Pt-Au', 'La-Pu-V', 'Tb-Pr-Gd', 'Eu-Ta-V', 'Ce-Tm-W', 'Pr-Tm-W', 'La-Gd-Ti', 'Pm-Pr-Th', 'Sm-Tm-Cr', 'Mn-Ni-Au', 'Ce-Y-V', 'Rb-Cr-Mo', 'La-Nb-W', 'Ca-Y-Mo', 'Sm-Lu-Nb', 'Li-V-Fe', 'Y-Er-Nb', 'Nd-Dy-Zr', 'Pm-Pr-Tm', 'Mg-U-Nb', 'La-Yb-Eu', 'Gd-V-W', 'Eu-Zr-Ta', 'Tb-Ho-Er', 'Cs-Rb-Nb', 'Tb-Pr-Lu', 'Cd-Bi-B', 'Cu-Ir-Ru', 'Gd-Ho-Er', 'Pr-V-Mo', 'La-Nd-Gd', 'Y-Tm-Ti', 'Ni-Ag-Au', 'K-Hf-Ti', 'Nd-Ho-Tm', 'Pr-Nd-Pu', 'La-Gd-V', 'Yb-Er-Cr', 'Dy-V-Mo', 'La-Nd-Dy', 'Ce-Pr-Lu', 'Ce-Nd-Gd', 'Y-Th-Zr', 'Tl-Ni-Ag', 'Nd-Gd-Ti', 'K-Li-V', 'Li-Ce-Y', 'Mn-Ni-Ru', 'Ho-Pu-W', 'Pm-Dy-Lu', 'Ce-Sm-U', 'Ni-Os-Pd', 'Cr-Mo-Pb', 'Er-Ta-V', 'Ce-Nd-Er', 'Zn-Ga-Si', 'Sm-Y-Ta', 'Eu-Nb-W', 'Fe-Pd-Au', 'Co-Re-Ru', 'Sm-Y-Tm', 'Fe-Cu-C', 'Tm-Pu-Ti', 'Ta-Nb-Cu', 'Ho-Ta-V', 'Li-Lu-Ti', 'Yb-Er-Nb', 'Fe-Ni-Au', 'Nd-Ta-W', 'La-Pr-Ho', 'Mg-V-Cr', 'La-Pr-U', 'Y-Zr-Ti', 'Cu-Ni-Au', 'Rb-Li-Mo', 'Li-Ho-Zr', 'Fe-Ag-Pb', 'Eu-Y-V', 'Nd-Th-Ti', 'Pm-Pr-Cr', 'Sm-Y-Mo', 'Zn-Ga-Sn', 'Tl-Ga-Si', 'La-Tb-Y', 'Tm-Ta-Ti', 'Sr-Nd-Mo', 'Y-Tm-Mo', 'Tb-Yb-Pu', 'La-Ho-Mo', 'Dy-Ho-Mo', 'Cs-Hf-Mg', 'Ba-Sm-V', 'Pr-Y-Lu', 'Nd-Er-V', 'Tm-Mo-W', 'Li-Ta-Nb', 'Gd-Tm-Th', 'Ti-V-Mo', 'Sc-Ta-Nb', 'La-Sm-Tm', 'Ce-Er-Tm', 'Y-Ho-Er', 'Sm-Th-Mo', 'Tb-Sm-Y', 'Li-Tb-Mo', 'Ho-Lu-Th', 'Sm-Pu-Ta', 'Nd-Tm-Ti', 'Na-Li-Ta', 'K-Ti-V', 'Mn-Tl-Pb', 'Hg-B-Pb', 'Er-Lu-Th', 'Pu-Zr-Nb', 'Ca-La-Ce', 'Eu-Hf-U', 'Os-Ru-Rh', 'La-Sc-Cr', 'V-Ag-Ru', 'Ba-Pr-Sm', 'Nd-Th-V', 'Pr-Ta-Ti', 'Y-Tm-Pu', 'Tb-Y-Th', 'Ce-Nd-Th', 'Pt-Rh-Au', 'Er-Nb-Mo', 'Ba-La-Mn', 'Pr-Pu-V', 'Sm-Y-Cr', 'Ga-Re-Sn', 'Ho-Er-Pu', 'Al-Tl-Ge', 'Dy-Lu-Mo', 'Na-Sr-Ti', 'Cd-Si-Ge', 'Tb-Pr-Pu', 'Ba-Gd-Sc', 'Ca-Tb-Pu', 'Cu-Ag-Os', 'Co-Cu-Ir', 'Pm-Dy-Pu', 'Zn-Cd-Ge', 'La-V-W', 'Sr-Ca-V', 'Dy-Ho-Tm', 'Eu-Th-W', 'Ca-Pm-Y', 'Eu-Th-Zr', 'Cu-Os-Ru', 'Be-In-Ga', 'La-Th-Ti', 'Nd-Pu-Cr', 'Ca-Ce-Y', 'Yb-Y-V', 'Ca-La-Y', 'Li-Tm-Pu', 'Al-Tl-Pb', 'Li-Ce-Ho', 'Li-Sc-Nb', 'Pr-Nd-Dy', 'Yb-Nd-Pu', 'Li-Ce-Nd', 'Pm-Dy-Cr', 'Dy-Lu-V', 'Ca-Mn-Fe', 'Cs-Mg-V', 'Ce-Eu-Nb', 'Tb-V-Cr', 'Ce-Ta-Nb']\n\t}\n}\n","namespace $ {\n\t\n\t// 00 HHHHH HHHHH HHHHH LLLLL LLLLL LLLLL\n\t\n\tconst mask = 0b11111_11111_11111\n\t\n\texport function $mol_coord_pack( high: number, low: number ) {\n\t\treturn ( high << 17 >>> 2 ) | ( low & mask )\n\t}\n\n\texport function $mol_coord_high( pack: number ) {\n\t\treturn pack << 2 >> 17\n\t}\n\n\texport function $mol_coord_low( pack: number ) {\n\t\treturn ( pack << 17 ) >> 17\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst $visavis_matrix_json_node = $mol_data_record({\n\t\tname: $mol_data_string,\n\t\tnum: $mol_data_number,\n\t\tnump: $mol_data_number,\n\t\tsize: $mol_data_number,\n\t\trea: $mol_data_number,\n\t\trpp: $mol_data_number,\n\t\trion: $mol_data_number,\n\t\trcov: $mol_data_number,\n\t\trmet: $mol_data_number,\n\t\ttmelt: $mol_data_number,\n\t\teneg: $mol_data_number,\n\t\tcount: $mol_data_optional( $mol_data_number ),\n\t})\n\n\tconst $visavis_matrix_json_link = $mol_data_record({\n\t\tsource: $mol_data_number,\n\t\ttarget: $mol_data_number,\n\t\tvalue: $mol_data_number,\n\t\tcmt: $mol_data_string,\n\t\tcmp: $mol_data_optional( $mol_data_number ),\n\t})\n\n\tconst $visavis_matrix_json = $mol_data_record({\n\t\tpayload: $mol_data_record({\n\t\t\tnodes: $mol_data_array( $visavis_matrix_json_node ),\n\t\t\tlinks: $mol_data_array( $visavis_matrix_json_link )\n\t\t}),\n\t})\n\n\ttype Matrix_cell = {\n\t\tx: number\n\t\ty: number\n\t\tz: number\n\t\tcmt: string\n\t\tcmp: number\n\t\tnonformer: boolean \n\t}\n\n\texport class $visavis_matrix extends $.$visavis_matrix {\n\n\t\t@ $mol_mem\n\t\tjson() {\n\t\t\treturn $visavis_matrix_json( this.plot().json() as any )\n\t\t}\n\t\t\n\t\tnodes() {\n\t\t\treturn this.json().payload.nodes\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlinks() {\n\t\t\treturn this.json().payload.links.slice().sort( (a, b) => a.value - b.value )\n\t\t}\n\n\t\tlinks_value_min() {\n\t\t\treturn this.links()[0].value\n\t\t}\n\n\t\tlinks_value_max() {\n\t\t\treturn this.links().slice(-1)[0].value\n\t\t}\n\n\t\t@ $mol_mem\n\t\theatmap() {\n\t\t\treturn this.links().reduce( (heatmap, link) => {\n\t\t\t\tif (!heatmap && Math.floor(link.value) !== link.value) return true\n\t\t\t\telse if (link.cmp) return false\n\t\t\t\treturn heatmap\n\t\t\t}, false )\n\t\t}\n\n\t\tplot_title() {\n\t\t\treturn this.plot().id()\n\t\t}\n\n\t\tplot_body() {\n\t\t\treturn [\n\t\t\t\tthis.Root(),\n\t\t\t\t... this.heatmap() ? [ this.Side_right() ] : [],\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\torder() {\n\t\t\treturn $visavis_lib.d3().range(95).sort( (a: any, b: any) => (this.nodes() as any)[a][ this.order_current() ] - (this.nodes() as any)[b][ this.order_current() ] )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tmatrix() {\n\t\t\tconst matrix: Matrix_cell[][] = this.nodes().map( (node, i) => $visavis_lib.d3().range(95).map( (j: any) => ({ x: j, y: i, z: 0, cmt: '', cmp: 0, nonformer: false }) ) )\n\n\t\t\tfor (const link of this.links()) {\n\t\t\t\tmatrix[link.source][link.target].z += link.value;\n\t\t\t\tmatrix[link.target][link.source].z += link.value; // NB only AB-all\n\t\t\t\tmatrix[link.source][link.target].cmt = link.cmt;\n\t\t\t\tmatrix[link.target][link.source].cmt = link.cmt; // NB only AB-all\n\t\t\t\tmatrix[link.source][link.target].cmp = link.cmp || 0;\n\t\t\t\tmatrix[link.target][link.source].cmp = link.cmp || 0;\n\t\t\t}\n\n\t\t\tif (this.nonformers()) {\n\t\t\t\tfor (const item of $visavis_nonformer_pd_bin) {\n\t\t\t\t\tmatrix[item[0]][item[1]].z = 1;\n\t\t\t\t\tmatrix[item[1]][item[0]].z = 1; // NB only AB-all\n\t\t\t\t\tmatrix[item[0]][item[1]].nonformer = true;\n\t\t\t\t\tmatrix[item[1]][item[0]].nonformer = true; // NB only AB-all\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn matrix\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsize() {\n\t\t\tconst rect = this.Plot().Body().view_rect()\n\t\t\tif (!rect) return NaN\n\t\t\treturn Math.min(rect.width, rect.height) - this.plot_padding() - this.axis_width()\n\t\t}\n\n\t\t@ $mol_mem\n\t\topacity_scale() {\n\t\t\t// return $visavis_lib.d3().scaleLinear().domain([this.links_value_min(), this.links_value_max()]).range([0.2, 1]).clamp(true) // for new d3 version\n\t\t\treturn $visavis_lib.d3().scale.linear().domain([this.links_value_min(), this.links_value_max()]).range([0.2, 1]).clamp(true)\n\t\t}\n\n\t\topacity(index: number) {\n\t\t\treturn this.heatmap() ? 1 : this.opacity_scale()(index)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcolor_heatmap() {\n\t\t\t// return $visavis_lib.d3().scaleLinear().domain($visavis_lib.d3().range(0, 1, 1.0 / (this.heatmap_colors().length - 1))).range(this.heatmap_colors() as any) // for new d3 version\n\t\t\treturn $visavis_lib.d3().scale.linear().domain($visavis_lib.d3().range(0, 1, 1.0 / (this.heatmap_colors().length - 1))).range(this.heatmap_colors() as any)\n\t\t}\n\n\t\theatmap_color( index: number ) {\n\t\t\treturn this.heatmap_colors()[index]\n\t\t}\n\n\t\theatmap_color_list() {\n\t\t\treturn [\n\t\t\t\tthis.Heatmap_min(),\n\t\t\t\t... this.heatmap_colors().map( (_, index) => this.Heatmap_color(index) ),\n\t\t\t\tthis.Heatmap_max(),\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcolor_heatmap_scale() {\n\t\t\t// return $visavis_lib.d3().scaleLinear().domain([this.links_value_min(), this.links_value_max()]).range([0, 1]) // for new d3 version\n\t\t\treturn $visavis_lib.d3().scale.linear().domain([this.links_value_min(), this.links_value_max()]).range([0, 1])\n\t\t}\n\n\t\tcolor(index: number, cmp: number) {\n\t\t\tif (this.heatmap()) return cmp ? this.colorset()[1] : this.color_heatmap()( this.color_heatmap_scale()( index ) )\n\t\t\treturn this.colorset()[cmp] || '#ccc'\n\t\t}\n\n\t\t@ $mol_mem\n\t\trange() {\n\t\t\t// return $visavis_lib.d3().scaleBand().domain(this.order()).range([0, this.size()]) // for new d3 version\n\t\t\treturn $visavis_lib.d3().scale.ordinal().rangeBands([0, this.size()]).domain(this.order())\n\t\t}\n\n\t\tsvg_title_text(cell: Matrix_cell) {\n\t\t\tif (!cell.cmt) return ''\n\n\t\t\tconst text = `${cell.cmt}: ${cell.z}`\n\t\t\tconst title = !this.heatmap()\n\t\t\t\t? `${text} ${cell.z === 1 ? 'entry' : 'entries'}`\n\t\t\t\t: text\n\n\t\t\treturn title\n\t\t}\n\n\t\tcell_hovered(cell?: Matrix_cell | null) {\n\t\t\t$visavis_lib.d3().selectAll('.row text').classed('active', (_: any, index: number) => cell?.y === index)\n\t\t\t$visavis_lib.d3().selectAll('.column text').classed('active', (_: any, index: number) => cell?.x === index)\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tcell_selected(id: number, next?: boolean) {\n\t\t\t$mol_wire_solid()\n\t\t\treturn next ?? false\n\t\t}\n\n\t\t@ $mol_action\n\t\tcell_click(cell: Matrix_cell) {\n\t\t\tconst coords = [ $mol_coord_pack( cell.x, cell.y ), $mol_coord_pack( cell.y, cell.x ) ]\n\t\t\tcoords.forEach( coord => this.cell_selected( coord, !this.cell_selected(coord) ) )\n\t\t\t$visavis_lib.d3().selectAll('.cell').classed('visited', (item: any) => this.cell_selected( $mol_coord_pack( item.x, item.y ) ))\n\t\t\t// if (visavis.mpds_embedded) {\n\t\t\t// \twindow.open(window.location.protocol + '//' + window.location.host + '#search/binary%20' + term.cmt);\n\t\t\t// }\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tdraw_cells(node: SVGElement, row: Matrix_cell[]) {\n\t\t\t$visavis_lib.d3().select(node)\n\t\t\t\t.selectAll('.cell')\n\t\t\t\t.data(row.filter((d: any) => d.z))\n\t\t\t\t// .join('rect') // for new d3 version\n\t\t\t\t.enter().append('rect')\n\t\t\t\t.attr('class', (d: any) => d.nonformer ? 'nonformer cell' : 'cell')\n\t\t\t\t.attr('id', (d: any) => 'c_' + this.nodes()[d.x].num.toString() + '_' + this.nodes()[d.y].num.toString())\n\t\t\t\t.attr('x', (d: any) => this.range()(d.x) as any)\n\t\t\t\t// .attr('width', this.range().bandwidth()) // for new d3 version\n\t\t\t\t// .attr('height', this.range().bandwidth()) // for new d3 version\n\t\t\t\t.attr('width', this.range().rangeBand())\n\t\t\t\t.attr('height', this.range().rangeBand())\n\t\t\t\t.style('fill-opacity', (d: any) => this.opacity(d.z))\n\t\t\t\t.style('fill', (d: any) => this.color(d.z, d.cmp) )\n\t\t\t\t.on('mouseover', (event: MouseEvent, cell: unknown) => this.cell_hovered(cell as Matrix_cell))\n\t\t\t\t.on('mouseout', (event: MouseEvent) => this.cell_hovered(null))\n\t\t\t\t.on('click', (event: PointerEvent, cell: unknown) => this.cell_click(cell as Matrix_cell) )\n\t\t\t\t.append('svg:title').text((cell: any) => this.svg_title_text(cell))\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdraw() {\n\t\t\tif (Number.isNaN( this.size() )) return\n\n\t\t\tconst svg = $visavis_lib.d3().select('[visavis_matrix_root]')\n\t\t\t\t.attr('width', this.size() + this.axis_width())\n\t\t\t\t.attr('height', this.size() + this.axis_width())\n\t\t\t\t// .style('font-size', this.range().bandwidth()) // for new d3 version\n\t\t\t\t.style('font-size', this.range().rangeBand())\n\t\t\t\t.style('letter-spacing', '1px')\n\t\t\t\n\t\t\tconst group = svg\n\t\t\t\t[ svg.select('g').empty() ? 'append' : 'select' ]('g')\n\t\t\t\t.attr('transform', `translate(${this.axis_width()},${this.axis_width()})`)\n\n\t\t\tgroup.html(\"\")\n\t\t\n\t\t\tgroup.append('rect')\n\t\t\t\t.attr('class', 'bgmatrix')\n\t\t\t\t.attr('width', this.size())\n\t\t\t\t.attr('height', this.size());\n\n\t\t\tconst draw_cells = (node: any, row: Matrix_cell[]) => this.draw_cells(node, row)\n\t\t\n\t\t\tconst row = group.selectAll('.row')\n\t\t\t\t.data(this.matrix())\n\t\t\t\t// .join('g') // for new d3 version\n\t\t\t\t.enter().append('g')\n\t\t\t\t.attr('class', 'row')\n\t\t\t\t.attr('transform', (d: any, i: number) => 'translate(0,' + this.range()(i as any) + ')' )\n\t\t\t\t.each(function (this: any, row: any) { draw_cells(this, row) })\n\t\t\n\t\t\trow.append('line')\n\t\t\t\t.attr('x2', this.size());\n\t\t\n\t\t\trow.append('text')\n\t\t\t\t.attr('x', -6)\n\t\t\t\t// .attr('y', this.range().bandwidth() / 2) // for new d3 version\n\t\t\t\t.attr('y', this.range().rangeBand() / 2)\n\t\t\t\t.attr('dy', '.32em')\n\t\t\t\t.attr('text-anchor', 'end')\n\t\t\t\t.text((d: any, i: any)=> this.nodes()[i].name)\n\t\t\t\t\n\t\t\tconst column = group.selectAll('.column')\n\t\t\t\t.data(this.matrix())\n\t\t\t\t// .join('g') // for new d3 version\n\t\t\t\t.enter().append('g')\n\t\t\t\t.attr('class', 'column')\n\t\t\t\t.attr('transform', (d: any, i: any)=> 'translate(' + this.range()(i) + ')rotate(-90)');\n\t\t\n\t\t\tcolumn.append('line')\n\t\t\t\t.attr('x1', -this.size());\n\t\t\n\t\t\tcolumn.append('text')\n\t\t\t\t.attr('x', 6)\n\t\t\t\t// .attr('y', this.range().bandwidth() / 2) // for new d3 version\n\t\t\t\t.attr('y', this.range().rangeBand() / 2)\n\t\t\t\t.attr('dy', '.32em')\n\t\t\t\t.attr('text-anchor', 'start')\n\t\t\t\t.text((d: any, i: any) => this.nodes()[i].name);\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"visavis/matrix/matrix.view.css\",\n \"[visavis_matrix_plot] rect.nonformer {\\n\\tfill:url(#nonformer) !important;\\n\\tfill-opacity:1.0 !important;\\n}\\n\\n[visavis_matrix_plot] rect.visited{\\n\\tfill:#0f0 !important;\\n\\tfill-opacity:1.0 !important;\\n}\\n\\n[visavis_matrix_plot] rect.bgmatrix {\\n\\tfill:#f6f6f6;\\n}\\n\\n[visavis_matrix_plot] rect.bgmatrix.hidden {\\n\\tfill:#fff;\\n}\\n\\n[visavis_matrix_plot] line {\\n\\tstroke:#fff;\\n}\\n\\n[visavis_matrix_plot] text.active {\\n\\tfill:#f00;\\n\\tfont-weight:bold;\\n}\\n\"\n) }","namespace $.$$ {\n\n\tconst { per, rem, px } = $mol_style_unit\n\n\t$mol_style_define( $.$visavis_matrix, {\n\n\t\tflex: {\n\t\t\tbasis: rem(60),\n\t\t\tshrink: 0,\n\t\t},\n\n\t\tSide_right: {\n\t\t\tposition: 'absolute',\n\t\t\ttop: per(50),\n\t\t\tright: $mol_gap.space,\n\t\t\ttransform: 'translateY(-50%)'\n\t\t},\n\n\t\tHeatmap_color: {\n\t\t\twidth: rem(1),\n\t\t\theight: rem(1),\n\t\t\tmargin: px(1),\n\t\t},\n\n\t\tHeatmap_legend: {\n\t\t\talignItems: 'flex-end',\n\t\t\tflex: {\n\t\t\t\tdirection: 'column-reverse',\n\t\t\t},\n\t\t},\n\n\t\tRoot: {\n\t\t\tmargin: 'auto',\n\t\t},\n\n\t\tOrder_switch: {\n\t\t\tflex: {\n\t\t\t\tshrink: 1,\n\t\t\t},\n\t\t},\n\n\t\tPlot: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t},\n\n\t\tSetup: {\n\t\t\tflex: {\n\t\t\t\tbasis: rem(25),\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t\tBody: {\n\t\t\t\tpadding: $mol_gap.block,\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\texport class $mol_pop extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * showed? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tshowed(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * align_vert \\\n\t\t * ```\n\t\t */\n\t\talign_vert() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * align_hor \\\n\t\t * ```\n\t\t */\n\t\talign_hor() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * prefer \\vert\n\t\t * ```\n\t\t */\n\t\tprefer() {\n\t\t\treturn \"vert\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Anchor\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Anchor()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub_visible /\n\t\t * \t<= Anchor\n\t\t * \t<= Bubble\n\t\t * ```\n\t\t */\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\tthis.Anchor(),\n\t\t\t\tthis.Bubble()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Anchor null\n\t\t * ```\n\t\t */\n\t\tAnchor() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * align \\bottom_center\n\t\t * ```\n\t\t */\n\t\talign() {\n\t\t\treturn \"bottom_center\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * bubble_content /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tbubble_content() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * height_max 9999\n\t\t * ```\n\t\t */\n\t\theight_max() {\n\t\t\treturn 9999\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Bubble $mol_pop_bubble\n\t\t * \talign <= align\n\t\t * \tcontent <= bubble_content\n\t\t * \theight_max <= height_max\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tBubble() {\n\t\t\tconst obj = new this.$.$mol_pop_bubble()\n\t\t\t\n\t\t\tobj.align = () => this.align()\n\t\t\tobj.content = () => this.bubble_content()\n\t\t\tobj.height_max = () => this.height_max()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n\texport class $mol_pop_bubble extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= content\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.content()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style *\n\t\t * \t^\n\t\t * \tmaxHeight <= height_max\n\t\t * ```\n\t\t */\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t...super.style(),\n\t\t\t\tmaxHeight: this.height_max()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_pop_align <= align\n\t\t * \ttabindex 0\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_pop_align: this.align(),\n\t\t\t\ttabindex: 0\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * content /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tcontent() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * height_max 9999\n\t\t * ```\n\t\t */\n\t\theight_max() {\n\t\t\treturn 9999\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * align \\\n\t\t * ```\n\t\t */\n\t\talign() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\t/**\n\t * `Bubble` that can be shown anchored to `Anchor` element.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_pop_demo\n\t */\n\texport class $mol_pop extends $.$mol_pop {\n\t\t\n\t\t@ $mol_mem\n\t\tshowed( next = false ) {\n\t\t\tthis.focused()\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\tthis.Anchor() ,\n\t\t\t\t... this.showed() ? [ this.Bubble() ] : [] ,\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\theight_max() {\n\t\t\t\n\t\t\tconst viewport = this.$.$mol_window.size()\n\t\t\tconst rect_bubble = this.view_rect()!\n\t\t\tconst align = this.align_vert()\n\t\t\t\n\t\t\tif( align === 'bottom' ) return ( viewport.height - rect_bubble.bottom ) * .66\n\t\t\tif( align === 'top' ) return rect_bubble.top * .66\n\t\t\t\n\t\t\treturn 0\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign() {\n\t\t\tswitch( this.prefer() ) {\n\t\t\t\tcase 'hor': return `${ this.align_hor() }_${ this.align_vert() }`\n\t\t\t\tcase 'vert': return `${ this.align_vert() }_${ this.align_hor() }`\n\t\t\t\tdefault: return this.prefer()\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign_vert() {\n\t\t\tconst viewport = this.view_port()\n\t\t\t\n\t\t\tconst rect_pop = this.view_rect()\n\t\t\tif( !rect_pop ) return 'suspense'\n\t\t\t\n\t\t\treturn rect_pop.top > ( viewport.top + viewport.height / 2 ) ? 'top' : 'bottom'\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign_hor() {\n\t\t\tconst viewport = this.view_port()\n\t\t\t\n\t\t\tconst rect_pop = this.view_rect()\n\t\t\tif( !rect_pop ) return 'suspense'\n\t\t\t\n\t\t\treturn rect_pop.left > ( viewport.left + viewport.width / 2 ) ? 'left' : 'right'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tView_port() {\n\t\t\tconst view = new $mol_view\n\t\t\tview.dom_node = ()=> {\n\t\t\t\tlet node = this.dom_node() as HTMLElement\n\t\t\t\twhile( node = node.offsetParent! as HTMLElement ) {\n\t\t\t\t\tif( this.$.$mol_dom_context.getComputedStyle( node ).overflow !== 'visible' ) return node\n\t\t\t\t}\n\t\t\t\treturn this.$.$mol_dom_context.document.documentElement\n\t\t\t}\n\t\t\treturn view\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tview_port() {\n\t\t\treturn this.View_port().view_rect() ?? { ... this.$.$mol_window.size(), left: 0, top: 0 }\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/pop/pop.view.css\",\n \"[mol_pop] {\\n\\tposition: relative;\\n\\tdisplay: inline-flex;\\n}\\n\\n[mol_pop_bubble] {\\n\\tbox-shadow: 0 0 1rem hsla(0,0%,0%,.5);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_popup);\\n\\tbackground: var(--mol_theme_back);\\n\\tmax-width: none;\\n\\tmax-height: none;\\n\\t/* overflow: hidden;\\n\\toverflow-y: scroll;\\n\\toverflow-y: overlay; */\\n\\tword-break: normal;\\n\\twidth: max-content;\\n\\theight: max-content;\\n\\tflex-direction: column;\\n\\tmax-width: 80vw;\\n\\tmax-height: 80vw;\\n\\tcontain: paint;\\n}\\n\\n:where( [mol_pop_bubble] > * ) {\\n\\tbackground: var(--mol_theme_card);\\n}\\n\\n[mol_pop_bubble][mol_scroll] {\\n\\tbackground: var(--mol_theme_back);\\n}\\n\\n[mol_pop_bubble]:focus {\\n\\toutline: none;\\n}\\n\\n[mol_pop_align=\\\"suspense_suspense\\\"] {\\n\\topacity: 0;\\n}\\n\\n[mol_pop_align=\\\"left_top\\\"] {\\n\\ttransform: translate(-100%);\\n\\tleft: 0;\\n\\tbottom: 0;\\n}\\n\\n[mol_pop_align=\\\"left_center\\\"] {\\n\\ttransform: translate(-100%, -50%);\\n\\tleft: 0;\\n\\ttop: 50%;\\n}\\n\\n[mol_pop_align=\\\"left_bottom\\\"] {\\n\\ttransform: translate(-100%);\\n\\tleft: 0;\\n\\ttop: 0;\\n}\\n\\n[mol_pop_align=\\\"right_top\\\"] {\\n\\ttransform: translate(100%);\\n\\tright: 0;\\n\\tbottom: 0;\\n}\\n\\n[mol_pop_align=\\\"right_center\\\"] {\\n\\ttransform: translate(100%, -50%);\\n\\tright: 0;\\n\\ttop: 50%;\\n}\\n\\n[mol_pop_align=\\\"right_bottom\\\"] {\\n\\ttransform: translate(100%);\\n\\tright: 0;\\n\\ttop: 0;\\n}\\n\\n[mol_pop_align=\\\"center\\\"] {\\n\\tleft: 50%;\\n\\ttop: 50%;\\n\\ttransform: translate(-50%, -50%);\\n}\\n\\n[mol_pop_align=\\\"top_left\\\"] {\\n\\tright: 0;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"top_center\\\"] {\\n\\ttransform: translate(-50%);\\n\\tleft: 50%;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"top_right\\\"] {\\n\\tleft: 0;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_left\\\"] {\\n\\tright: 0;\\n\\ttop: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_center\\\"] {\\n\\ttransform: translate(-50%);\\n\\tleft: 50%;\\n\\ttop: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_right\\\"] {\\n\\tleft: 0;\\n\\ttop: 100%;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_pick extends $mol_pop {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tkeydown?event <=> keydown?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tkeydown: (event?: any) => this.keydown(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Anchor <= Trigger\n\t\t * ```\n\t\t */\n\t\tAnchor() {\n\t\t\treturn this.Trigger()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keydown?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeydown(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * trigger_enabled true\n\t\t * ```\n\t\t */\n\t\ttrigger_enabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clicks? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclicks(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * trigger_content /$mol_view_content <= title\n\t\t * ```\n\t\t */\n\t\ttrigger_content() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Trigger $mol_check\n\t\t * \tminimal_width 40\n\t\t * \tminimal_height 40\n\t\t * \tenabled <= trigger_enabled\n\t\t * \tchecked? <=> showed?\n\t\t * \tclicks? <=> clicks?\n\t\t * \tsub <= trigger_content\n\t\t * \thint <= hint\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTrigger() {\n\t\t\tconst obj = new this.$.$mol_check()\n\t\t\t\n\t\t\tobj.minimal_width = () => 40\n\t\t\tobj.minimal_height = () => 40\n\t\t\tobj.enabled = () => this.trigger_enabled()\n\t\t\tobj.checked = (next?: any) => this.showed(next)\n\t\t\tobj.clicks = (next?: any) => this.clicks(next)\n\t\t\tobj.sub = () => this.trigger_content()\n\t\t\tobj.hint = () => this.hint()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\t/**\n\t * Pop-up display and hide by mouse click, also hide by unfocus.\n\t * Based on [mol_pop](https://mol.hyoo.ru/#!section=demos/demo=mol_pop_demo) component.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_pick_demo\n\t */\n\texport class $mol_pick extends $.$mol_pick {\n\t\t\n\t\tkeydown( event : KeyboardEvent ) {\n\t\t\t\n\t\t\tif( !this.trigger_enabled() ) return\n\n\t\t\tif( event.defaultPrevented ) return \n\t\t\t\n\t\t\tif( event.keyCode === $mol_keyboard_code.escape ) {\n\t\t\t\tif( !this.showed() ) return\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.showed( false )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/pick/pick.view.css\",\n \"[mol_pick_trigger] {\\n\\talign-items: center;\\n\\tflex-grow: 1;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_hotkey extends $mol_plugin {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tkeydown?event <=> keydown?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tkeydown: (event?: any) => this.keydown(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * key *\n\t\t * ```\n\t\t */\n\t\tkey() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_ctrl false\n\t\t * ```\n\t\t */\n\t\tmod_ctrl() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_alt false\n\t\t * ```\n\t\t */\n\t\tmod_alt() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_shift false\n\t\t * ```\n\t\t */\n\t\tmod_shift() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keydown?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeydown(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\t/**\n\t * Plugin which adds handlers for keyboard keys.\n\t * @see [mol_keyboard_code](../keyboard/code/code.ts)\n\t */\n\texport class $mol_hotkey extends $.$mol_hotkey {\n\n\t\tkey() {\n\t\t\treturn super.key() as {\n\t\t\t\t[ key in keyof typeof $mol_keyboard_code ]? : ( event : KeyboardEvent )=> void\n\t\t\t}\n\t\t}\n\t\t\n\t\tkeydown( event? : KeyboardEvent ) {\n\n\t\t\tif( !event ) return\n\t\t\tif( event.defaultPrevented ) return\n\n\t\t\tlet name = $mol_keyboard_code[ event.keyCode ] as keyof typeof $mol_keyboard_code\n\t\t\t\n\t\t\tif( this.mod_ctrl() !== ( event.ctrlKey || event.metaKey ) ) return\n\t\t\tif( this.mod_alt() !== event.altKey ) return\n\t\t\tif( this.mod_shift() !== event.shiftKey ) return\n\t\t\t\n\t\t\tconst handle = this.key()[ name ]\n\t\t\tif( handle ) handle( event )\n\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\texport class $mol_nav extends $mol_plugin {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cycle? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcycle(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_ctrl false\n\t\t * ```\n\t\t */\n\t\tmod_ctrl() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_shift false\n\t\t * ```\n\t\t */\n\t\tmod_shift() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_alt false\n\t\t * ```\n\t\t */\n\t\tmod_alt() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keys_x? /\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeys_x(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keys_y? /\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeys_y(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current_x? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent_x(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current_y? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent_y(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_up?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_up(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_down?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_down(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_left?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_left(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_right?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_right(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tkeydown?event <=> event_key?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tkeydown: (event?: any) => this.event_key(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_key?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_key(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\t\n\t/**\n\t * Plugin which can navigate in list of items\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_nav_demo\n\t */\n\texport class $mol_nav extends $.$mol_nav {\n\t\t\n\t\tevent_key( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\t\t\tif( event.defaultPrevented ) return\n\t\t\t\n\t\t\tif( this.mod_ctrl() && !event.ctrlKey ) return\n\t\t\tif( this.mod_shift() && !event.shiftKey ) return\n\t\t\tif( this.mod_alt() && !event.altKey ) return\n\t\t\t\n\t\t\tswitch( event.keyCode ) {\n\t\t\t\tcase $mol_keyboard_code.up : return this.event_up( event )\n\t\t\t\tcase $mol_keyboard_code.down : return this.event_down( event )\n\t\t\t\tcase $mol_keyboard_code.left : return this.event_left( event )\n\t\t\t\tcase $mol_keyboard_code.right : return this.event_right( event )\n\t\t\t\tcase $mol_keyboard_code.pageUp : return this.event_up( event )\n\t\t\t\tcase $mol_keyboard_code.pageDown : return this.event_down( event )\n\t\t\t}\n\t\t}\n\t\t\n\t\tevent_up( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_y()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_y = this.index_y();\n\t\t\t\n\t\t\tconst index_old = index_y === null ? 0 : index_y\n\t\t\tconst index_new = ( index_old + keys.length - 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_old === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_y( this.keys_y()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_down( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_y()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_y = this.index_y();\n\t\t\t\n\t\t\tconst index_old = index_y === null ? keys.length - 1 : index_y;\n\t\t\tconst index_new = ( index_old + 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_new === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_y( this.keys_y()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_left( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_x()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_x = this.index_x();\n\t\t\t\n\t\t\tconst index_old = index_x === null ? 0 : index_x\n\t\t\tconst index_new = ( index_old + keys.length - 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_old === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_x( this.keys_x()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_right( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_x()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_x = this.index_x();\n\t\t\t\n\t\t\tconst index_old = index_x === null ? keys.length - 1 : index_x\n\t\t\tconst index_new = ( index_old + 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_new === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_x( this.keys_x()[ index_new ] )\n\t\t}\n\t\t\n\t\tindex_y() {\n\t\t\tlet index = this.keys_y().indexOf( this.current_y() )\n\t\t\tif( index < 0 ) return null\n\t\t\t\n\t\t\treturn index\n\t\t}\n\t\t\n\t\tindex_x() {\n\t\t\tlet index = this.keys_x().indexOf( this.current_x() )\n\t\t\tif( index < 0 ) return null\n\t\t\t\n\t\t\treturn index\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\texport class $mol_string extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\input\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"input\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 40\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 40\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * autocomplete false\n\t\t * ```\n\t\t */\n\t\tautocomplete() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection? /number\n\t\t * \t0\n\t\t * \t0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tselection(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t\t0,\n\t\t\t\t0\n\t\t\t] as readonly number[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * auto /\n\t\t * \t<= selection_watcher\n\t\t * \t<= error_report\n\t\t * ```\n\t\t */\n\t\tauto() {\n\t\t\treturn [\n\t\t\t\tthis.selection_watcher(),\n\t\t\t\tthis.error_report()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \tdisabled <= disabled\n\t\t * \tvalue <= value_changed?\n\t\t * \tplaceholder <= hint_visible\n\t\t * \tspellcheck <= spellcheck\n\t\t * \tautocomplete <= autocomplete_native\n\t\t * \tselectionEnd <= selection_end\n\t\t * \tselectionStart <= selection_start\n\t\t * \tinputMode <= keyboard\n\t\t * \tenterkeyhint <= enter\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\tdisabled: this.disabled(),\n\t\t\t\tvalue: this.value_changed(),\n\t\t\t\tplaceholder: this.hint_visible(),\n\t\t\t\tspellcheck: this.spellcheck(),\n\t\t\t\tautocomplete: this.autocomplete_native(),\n\t\t\t\tselectionEnd: this.selection_end(),\n\t\t\t\tselectionStart: this.selection_start(),\n\t\t\t\tinputMode: this.keyboard(),\n\t\t\t\tenterkeyhint: this.enter()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmaxlength <= length_max\n\t\t * \ttype <= type?\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmaxlength: this.length_max(),\n\t\t\t\ttype: this.type()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tinput?event <=> event_change?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tinput: (event?: any) => this.event_change(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plugins / <= Submit\n\t\t * ```\n\t\t */\n\t\tplugins() {\n\t\t\treturn [\n\t\t\t\tthis.Submit()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection_watcher null\n\t\t * ```\n\t\t */\n\t\tselection_watcher() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * error_report null\n\t\t * ```\n\t\t */\n\t\terror_report() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * disabled false\n\t\t * ```\n\t\t */\n\t\tdisabled() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tvalue(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value_changed? <=> value?\n\t\t * ```\n\t\t */\n\t\tvalue_changed(next?: any) {\n\t\t\treturn this.value(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_visible <= hint\n\t\t * ```\n\t\t */\n\t\thint_visible() {\n\t\t\treturn this.hint()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * spellcheck true\n\t\t * ```\n\t\t */\n\t\tspellcheck() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * autocomplete_native \\\n\t\t * ```\n\t\t */\n\t\tautocomplete_native() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection_end 0\n\t\t * ```\n\t\t */\n\t\tselection_end() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection_start 0\n\t\t * ```\n\t\t */\n\t\tselection_start() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keyboard \\text\n\t\t * ```\n\t\t */\n\t\tkeyboard() {\n\t\t\treturn \"text\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enter \\go\n\t\t * ```\n\t\t */\n\t\tenter() {\n\t\t\treturn \"go\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * length_max +Infinity\n\t\t * ```\n\t\t */\n\t\tlength_max() {\n\t\t\treturn +Infinity\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type? \\text\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\ttype(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"text\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_change?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_change(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit_with_ctrl false\n\t\t * ```\n\t\t */\n\t\tsubmit_with_ctrl() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsubmit(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Submit $mol_hotkey\n\t\t * \tmod_ctrl <= submit_with_ctrl\n\t\t * \tkey * enter?event <=> submit?event\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSubmit() {\n\t\t\tconst obj = new this.$.$mol_hotkey()\n\t\t\t\n\t\t\tobj.mod_ctrl = () => this.submit_with_ctrl()\n\t\t\tobj.key = () => ({\n\t\t\t\tenter: (event?: any) => this.submit(event)\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\t/**\n\t * An input field for entering single line text.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_string_demo\n\t */\n\texport class $mol_string extends $.$mol_string {\n\t\t\n\t\t@ $mol_action\n\t\tevent_change( next? : Event ) {\n\t\t\tif( !next ) return\n\t\t\tconst el = next.target as HTMLInputElement\n\t\t\tconst from = el.selectionStart\n\t\t\tconst to = el.selectionEnd\n\t\t\ttry {\n\t\t\t\tel.value = this.value_changed( el.value )\n\t\t\t} catch( error ) {\n\t\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\t\tif( error instanceof Error ) {\n\t\t\t\t\tel.setCustomValidity( error.message )\n\t\t\t\t\tel.reportValidity()\n\t\t\t\t}\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t}\n\t\t\tif( to === null ) return \n\t\t\tel.selectionEnd = to\n\t\t\tel.selectionStart = from\n\t\t\tthis.selection_change( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\terror_report() {\n\t\t\ttry {\n\t\t\t\tif( this.focused() ) this.value()\n\t\t\t} catch( error ) {\n\t\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\t\tif( error instanceof Error ) {\n\t\t\t\t\tel.setCustomValidity( error.message )\n\t\t\t\t\tel.reportValidity()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\thint_visible() {\n\t\t\treturn ( this.enabled() ? this.hint() : '' ) || ' '\n\t\t}\n\n\t\tdisabled() {\n\t\t\treturn !this.enabled()\n\t\t}\n\n\t\tautocomplete_native() {\n\t\t\treturn this.autocomplete() ? 'on' : 'off'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tselection_watcher() {\n\t\t\treturn new $mol_dom_listener(\n\t\t\t\tthis.$.$mol_dom_context.document,\n\t\t\t\t'selectionchange',\n\t\t\t\t$mol_wire_async( event => this.selection_change( event ) ),\n\t\t\t)\n\t\t}\n\t\t\n\t\tselection_change( event: Event ) {\n\t\t\t\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el !== this.$.$mol_dom_context.document.activeElement ) return\n\t\t\t\n\t\t\tconst [ from, to ] = this.selection([\n\t\t\t\tel.selectionStart!,\n\t\t\t\tel.selectionEnd!,\n\t\t\t])\n\t\t\t\n\t\t\tel.selectionEnd = to\n\t\t\tel.selectionStart = from\n\n\t\t\tif( to !== from && el.selectionEnd === el.selectionStart ) {\n\t\t\t\tel.selectionEnd = to\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tselection_start() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el.selectionStart === null ) return undefined as any as number\n\t\t\treturn this.selection()[0]\n\t\t}\n\n\t\tselection_end() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el.selectionEnd === null ) return undefined as any as number\n\t\t\treturn this.selection()[1]\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/string/string.view.css\",\n \"[mol_string] {\\n\\tbox-sizing: border-box;\\n\\toutline-offset: 0;\\n\\tborder: none;\\n\\tborder-radius: var(--mol_gap_round);\\n\\twhite-space: pre-line;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tposition: relative;\\n\\tfont: inherit;\\n\\tflex: 1 1 auto;\\n\\tbackground: transparent;\\n\\tmin-width: 0;\\n\\tcolor: inherit;\\n\\tbackground: var(--mol_theme_field);\\n}\\n\\n[mol_string]:disabled:not(:placeholder-shown) {\\n\\tbackground-color: transparent;\\n\\tcolor: var(--mol_theme_text);\\n}\\n\\n[mol_string]:where(:not(:disabled)) {\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_line);\\n}\\n\\n[mol_string]:where(:not(:disabled)):hover {\\n\\tbox-shadow: inset 0 0 0 2px var(--mol_theme_line);\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_string]:focus {\\n\\toutline: none;\\n\\tz-index: var(--mol_layer_focus);\\n\\tcolor: var(--mol_theme_text);\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_focus);\\n}\\n\\n[mol_string]::placeholder {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_string]::-ms-clear {\\n\\tdisplay: none;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_icon_cross extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12L19 6.41Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12L19 6.41Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_paragraph extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * line_height 24\n\t\t * ```\n\t\t */\n\t\tline_height() {\n\t\t\treturn 24\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * letter_width 7\n\t\t * ```\n\t\t */\n\t\tletter_width() {\n\t\t\treturn 7\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * width_limit +Infinity\n\t\t * ```\n\t\t */\n\t\twidth_limit() {\n\t\t\treturn +Infinity\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_width 0\n\t\t * ```\n\t\t */\n\t\trow_width() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\texport class $mol_paragraph extends $.$mol_paragraph {\n\n\t\t@ $mol_mem\n\t\tmaximal_width() {\n\n\t\t\tlet width = 0\n\t\t\tconst letter = this.letter_width()\n\t\t\t\n\t\t\tfor( const kid of this.sub() ) {\n\t\t\t\t\n\t\t\t\tif( !kid ) continue\n\t\t\t\t\n\t\t\t\tif( kid instanceof $mol_view ) {\n\t\t\t\t\twidth += kid.maximal_width()\n\t\t\t\t} else if( typeof kid !== 'object' ) {\n\t\t\t\t\twidth += String( kid ).length * letter\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn width\n\n\t\t}\n\n\t\twidth_limit() {\n\t\t\treturn this.$.$mol_window.size().width\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.letter_width()\n\t\t}\n\n\t\t@ $mol_mem\n\t\trow_width() {\n\t\t\treturn Math.max( Math.min( this.width_limit() , this.maximal_width() ) , this.letter_width() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\treturn Math.max( 1 , Math.ceil( this.maximal_width() / this.row_width() ) ) * this.line_height()\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/paragraph/paragraph.view.css\",\n \":where([mol_paragraph]) {\\n\\tmargin: 0;\\n\\tmax-width: 100%;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_dimmer extends $mol_paragraph {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * haystack \\\n\t\t * ```\n\t\t */\n\t\thaystack() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * needle \\\n\t\t * ```\n\t\t */\n\t\tneedle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= parts\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.parts()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Low* $mol_paragraph sub / <= string*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tLow(id: any) {\n\t\t\tconst obj = new this.$.$mol_paragraph()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.string(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * High* $mol_paragraph sub / <= string*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tHigh(id: any) {\n\t\t\tconst obj = new this.$.$mol_paragraph()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.string(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * parts /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tparts() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * string* \\\n\t\t * ```\n\t\t */\n\t\tstring(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","interface String {\n\t\n\tmatch< RE extends RegExp >( regexp: RE ): ReturnType<\n\t\tRE[ typeof Symbol.match ]\n\t>\n\t\n matchAll< RE extends RegExp >( regexp: RE ): ReturnType<\n\t\tRE[ typeof Symbol.matchAll ]\n\t>\n\t\n}\n\nnamespace $ {\n\t\n\ttype Groups_to_params = {\n\t\t[P in keyof T]?: T[P] | boolean | undefined;\n\t};\t\n\n\texport type $mol_regexp_source =\n\t| number\n\t| string\n\t| RegExp\n\t| { [ key in string ] : $mol_regexp_source }\n\t| readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\n\texport type $mol_regexp_groups< Source extends $mol_regexp_source >\n\t\n\t\t= Source extends number\n\t\t? {}\n\t\t\n\t\t: Source extends string\n\t\t? {}\n\t\t\n\t\t: Source extends $mol_regexp_source[]\n\t\t? $mol_type_merge< $mol_type_intersect< {\n\t\t\t[ key in Extract< keyof Source , number > ] : $mol_regexp_groups< Source[ key ] >\n\t\t}[ Extract< keyof Source , number > ] > >\n\t\t\n\t\t: Source extends RegExp\n\t\t? Record< string, string > extends NonNullable< NonNullable< ReturnType< Source['exec'] > >[ 'groups' ] >\n\t\t\t? {}\n\t\t\t: NonNullable< NonNullable< ReturnType< Source['exec'] > >[ 'groups' ] >\n\t\t\n\t\t: Source extends { readonly [ key in string ] : $mol_regexp_source }\n\t\t? $mol_type_merge< $mol_type_intersect< {\n\t\t\t[ key in keyof Source ] :\n\t\t\t\t$mol_type_merge<\n\t\t\t\t\t& $mol_type_override<\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treadonly [ k in Extract< keyof Source , string > ]: string\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treadonly [ k in key ]:\n\t\t\t\t\t\t\t\tSource[ key ] extends string\n\t\t\t\t\t\t\t\t\t? Source[ key ]\n\t\t\t\t\t\t\t\t\t: string\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t& $mol_regexp_groups< Source[ key ] >\n\t\t\t\t>\n\t\t}[ keyof Source ] > >\n\n\t\t: never\n\t\t\n\t/** Type safe reguar expression builder */\n\texport class $mol_regexp< Groups extends Record< string , string > > extends RegExp {\n\t\t\n\t\t/** Prefer to use $mol_regexp.from */\n\t\tconstructor( source : string , flags : string = 'gsu' , readonly groups : ( Extract< keyof Groups , string > )[] = [] ) {\n\t\t\tsuper( source , flags )\n\t\t}\n\t\t\n\t\t*[Symbol.matchAll] (str:string): IterableIterator< RegExpMatchArray & $mol_type_override< RegExpMatchArray, { groups?: { [ key in keyof Groups ] : string } } > > {\n\t\t\tconst index = this.lastIndex\n\t\t\tthis.lastIndex = 0\n\t\t\ttry {\n\t\t\t\twhile ( this.lastIndex < str.length ) {\n\t\t\t\t\tconst found = this.exec(str)\n\t\t\t\t\tif( !found ) break\n\t\t\t\t\tyield found\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tthis.lastIndex = index\n\t\t\t}\n\t\t}\n\t\t\n\t\t/** Parses input and returns found capture groups or null */\n\t\t[ Symbol.match ]( str : string ): null | RegExpMatchArray {\n\t\t\tconst res = [ ... this[Symbol.matchAll]( str ) ].filter( r => r.groups ).map( r => r[0] )\n\t\t\tif( !res.length ) return null\n\t\t\treturn res as RegExpMatchArray\n\t\t}\n\t\t\n\t\t/** Splits string by regexp edges */\n\t\t[ Symbol.split ]( str : string ): string[] {\n\t\t\t\n\t\t\tconst res = [] as string[]\n\t\t\tlet token_last = null\n\t\t\t\n\t\t\tfor( let token of this[Symbol.matchAll]( str ) ) {\n\t\t\t\tif( token.groups && ( token_last ? token_last.groups : true ) ) res.push( '' )\n\t\t\t\tres.push( token[0] )\n\t\t\t\ttoken_last = token\n\t\t\t}\n\t\t\t\n\t\t\tif( !res.length ) res.push( '' )\n\t\t\t\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttest( str : string ): boolean {\n\t\t\treturn Boolean( str.match( this) )\n\t\t}\n\t\t\n\t\texec( str : string ): RegExpExecArray & $mol_type_override< RegExpExecArray , { groups?: { [ key in keyof Groups ] : string } } > | null {\n\t\t\t\n\t\t\tconst from = this.lastIndex\n\t\t\tif( from >= str.length ) return null\n\t\t\t\n\t\t\tconst res = super.exec( str )\n\t\t\tif( res === null ) {\n\t\t\t\tthis.lastIndex = str.length\n\t\t\t\tif( !str ) return null\n\t\t\t\treturn Object.assign( [ str.slice( from ) ], {\n\t\t\t\t\tindex: from,\n\t\t\t\t\tinput: str,\n\t\t\t\t} ) as any\n\t\t\t}\n\n\t\t\tif( from === this.lastIndex ) {\n\t\t\t\t$mol_fail( new Error( 'Captured empty substring' ) )\n\t\t\t}\n\n\t\t\ttype Token = { [ key in keyof Groups ] : string } & { [ key : number ] : string }\n\t\t\tconst groups = {} as Token\n\t\t\t\n\t\t\tconst skipped = str.slice( from , this.lastIndex - res[0].length )\n\t\t\tif( skipped ) {\n\t\t\t\tthis.lastIndex = this.lastIndex - res[0].length\n\t\t\t\treturn Object.assign( [ skipped ], {\n\t\t\t\t\tindex: from,\n\t\t\t\t\tinput: res.input,\n\t\t\t\t} ) as any\n\t\t\t}\n\t\t\t\n\t\t\tfor( let i = 0 ; i < this.groups.length ; ++i ) {\n\t\t\t\tconst group = this.groups[ i ]\n\t\t\t\tgroups[ group ] = groups[ group ] || res[ i + 1 ] || '' as any\n\t\t\t}\n\n\t\t\treturn Object.assign( res, { groups } )\n\t\t}\n\t\t\n\t\tgenerate(\n\t\t\tparams: Groups_to_params< Groups >\n\t\t): string | null {\n\t\t\treturn null\n\t\t}\n\t\t\n\t\tget native() {\n\t\t\treturn new RegExp( this.source, this.flags )\n\t\t}\n\n\t\t/** Makes regexp that non-greedy repeats this pattern from min to max count */\n\t\tstatic repeat<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\tmin = 0 ,\n\t\t\tmax = Number.POSITIVE_INFINITY ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\t\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\tconst upper = Number.isFinite( max ) ? max : ''\n\t\t\t\n\t\t\tconst str = `(?:${ regexp.source }){${ min },${ upper }}?`\n\t\t\tconst regexp2 = new $mol_regexp( str , regexp.flags , regexp.groups )\n\t\t\t\n\t\t\tregexp2.generate = params => {\n\t\t\t\tconst res = regexp.generate( params )\n\t\t\t\tif( res ) return res\n\t\t\t\tif( min > 0 ) return res\n\t\t\t\treturn ''\n\t\t\t}\n\t\n\t\t\treturn regexp2\n\t\n\t\t}\n\n\t\t/** Makes regexp that greedy repeats this pattern from min to max count */\n\t\tstatic repeat_greedy<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\tmin = 0 ,\n\t\t\tmax = Number.POSITIVE_INFINITY ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\t\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\tconst upper = Number.isFinite( max ) ? max : ''\n\t\t\t\n\t\t\tconst str = `(?:${ regexp.source }){${ min },${ upper }}`\n\t\t\tconst regexp2 = new $mol_regexp( str , regexp.flags , regexp.groups )\n\t\t\t\n\t\t\tregexp2.generate = params => {\n\t\t\t\tconst res = regexp.generate( params )\n\t\t\t\tif( res ) return res\n\t\t\t\tif( min > 0 ) return res\n\t\t\t\treturn ''\n\t\t\t}\n\t\n\t\t\treturn regexp2\n\t\t}\n\n\t\t/** Makes regexp that match any of options */\n\t\tstatic vary<\n\t\t\tSources extends readonly $mol_regexp_source[]\n\t\t>(\n\t\t\tsources : Sources ,\n\t\t) {\n\t\t\t\n\t\t\tconst groups = [] as string[]\n\t\t\t\n\t\t\tconst chunks = sources.map( source => {\n\n\t\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\tgroups.push( ... regexp.groups )\n\t\t\t\t\n\t\t\t\treturn regexp.source\n\n\t\t\t} ) as any as readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\t\t\t\n\t\t\treturn new $mol_regexp< $mol_regexp_groups< Sources[number] > >(\n\t\t\t\t`(?:${ chunks.join('|') })` ,\n\t\t\t\t'' ,\n\t\t\t\tgroups as any[] ,\n\t\t\t)\n\t\t\t\n\t\t}\n\n\t\t/** Makes regexp that allow absent of this pattern */\n\t\tstatic optional<\n\t\t\tSource extends $mol_regexp_source\n\t\t>( source : Source ) {\n\t\t\treturn $mol_regexp.repeat_greedy( source , 0 , 1 )\n\t\t}\n\n\t\t/** Makes regexp that look ahead for pattern */\n\t\tstatic force_after( source : $mol_regexp_source ) {\n\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`(?=${ regexp.source })` ,\n\t\t\t\tregexp.flags ,\n\t\t\t\tregexp.groups ,\n\t\t\t)\n\n\t\t}\n\n\t\t/** Makes regexp that look ahead for pattern */\n\t\tstatic forbid_after( source : $mol_regexp_source ) {\n\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`(?!${ regexp.source })` ,\n\t\t\t\tregexp.flags ,\n\t\t\t\tregexp.groups ,\n\t\t\t)\n\n\t\t}\n\n\t\t/** Converts some js values to regexp */\n\t\tstatic from<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\t{ ignoreCase , multiline } : Partial< Pick< RegExp , 'ignoreCase' | 'multiline' > > = {\n\t\t\t\tignoreCase : false ,\n\t\t\t\tmultiline : false ,\n\t\t\t} ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\n\t\t\tlet flags = 'gsu'\n\t\t\tif( multiline ) flags += 'm'\n\t\t\tif( ignoreCase ) flags += 'i'\n\n\t\t\tif( typeof source === 'number' ) {\n\n\t\t\t\tconst src = `\\\\u{${ source.toString(16) }}`\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >( src , flags )\n\t\t\t\tregexp.generate = ()=> src\n\t\t\t\treturn regexp\n\n\t\t\t} if( typeof source === 'string' ) {\n\n\t\t\t\tconst src = source.replace( /[.*+?^${}()|[\\]\\\\]/g , '\\\\$&' ) \n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >( src , flags )\n\t\t\t\tregexp.generate = ()=> source\n\t\t\t\treturn regexp\n\n\t\t\t} else if( source instanceof $mol_regexp ) {\n\t\t\t\t\n\t\t\t\tconst regexp = new $mol_regexp( source.source, flags, source.groups )\n\t\t\t\tregexp.generate = params => source.generate( params )\n\t\t\t\treturn regexp\n\t\t\t\t\n\t\t\t} if( source instanceof RegExp ) {\n\n\n\t\t\t\tconst test = new RegExp( '|' + source.source )\n\t\t\t\tconst groups = Array.from(\n\t\t\t\t\t{ length : test.exec('')!.length - 1 } ,\n\t\t\t\t\t( _ , i )=> String( i + 1 ) ,\n\t\t\t\t)\n\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >(\n\t\t\t\t\tsource.source ,\n\t\t\t\t\tsource.flags ,\n\t\t\t\t\tgroups as any ,\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tregexp.generate = ()=> ''\n\n\t\t\t\treturn regexp\n\n\t\t\t} if( Array.isArray( source ) ) {\n\n\t\t\t\tconst patterns = source.map( src => Array.isArray( src )\n\t\t\t\t\t? $mol_regexp.optional( src as any )\n\t\t\t\t\t: $mol_regexp.from( src )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tconst chunks = patterns.map( pattern => pattern.source )\n\t\t\t\t\n\t\t\t\tconst groups = [] as ( Extract< keyof $mol_regexp_groups< Source > , string > )[]\n\n\t\t\t\tlet index = 0\n\t\t\n\t\t\t\tfor( const pattern of patterns ) {\n\t\t\t\t\t\n\t\t\t\t\tfor( let group of pattern.groups ) {\n\t\t\t\t\t\tif( Number( group ) >= 0 ) {\n\t\t\t\t\t\t\tgroups.push( String( index ++ ) as any )\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tgroups.push( group )\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst regexp = new $mol_regexp( chunks.join( '' ) , flags , groups )\n\t\t\t\t\n\t\t\t\tregexp.generate = params => {\n\t\t\t\t\tlet res = ''\n\t\t\t\t\tfor( const pattern of patterns ) {\n\t\t\t\t\t\tlet sub = pattern.generate( params )\n\t\t\t\t\t\tif( sub === null ) return ''\n\t\t\t\t\t\tres += sub\n\t\t\t\t\t}\n\t\t\t\t\treturn res\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn regexp\n\t\t\n\t\t\t} else {\n\n\t\t\t\tconst groups = [] as string[]\n\n\t\t\t\tconst chunks = Object.keys( source ).map( name => {\n\n\t\t\t\t\tgroups.push( name )\n\n\t\t\t\t\tconst regexp = $mol_regexp.from( (source as any)[ name ] )\n\t\t\t\t\tgroups.push( ... regexp.groups )\n\t\t\t\t\t\n\t\t\t\t\treturn `(${regexp.source})`\n\n\t\t\t\t} ) as any as readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >(\n\t\t\t\t\t`(?:${ chunks.join('|') })` ,\n\t\t\t\t\tflags ,\n\t\t\t\t\tgroups as any[] ,\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tconst validator = new RegExp( '^' + regexp.source + '$', flags )\n\t\t\t\tregexp.generate = (params: any) => {\n\t\t\t\t\t\n\t\t\t\t\tfor( let option in source ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( option in params ) {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( typeof params[ option ] === 'boolean' ) {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif( !params[ option as any ] ) continue\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tconst str = String( params[ option ] )\n\t\t\t\t\t\t\t\tif( str.match( validator ) ) return str\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t$mol_fail( new Error( `Wrong param: ${option}=${str}` ) )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif( typeof (source as any)[ option ] !== 'object' ) continue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst res = $mol_regexp.from( (source as any)[ option ] ).generate( params )\n\t\t\t\t\t\tif( res ) return res\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn regexp\n\n\t\t\t}\n\t\n\t\t}\n\n\t\t/** Makes regexp which includes only unicode category */\n\t\tstatic unicode_only( ... category: $mol_unicode_category ) {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`\\\\p{${ category.join( '=' ) }}`\n\t\t\t)\n\t\t}\n\n\t\t/** Makes regexp which excludes unicode category */\n\t\tstatic unicode_except( ... category: $mol_unicode_category ) {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`\\\\P{${ category.join( '=' ) }}`\n\t\t\t)\n\t\t}\n\n\t\tstatic char_range(\n\t\t\tfrom: number,\n\t\t\tto: number,\n\t\t): $mol_regexp<{}> {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`${ $mol_regexp.from( from ).source }-${ $mol_regexp.from( to ).source }`\n\t\t\t)\n\t\t}\n\n\t\tstatic char_only(\n\t\t\t... allowed: readonly [ $mol_regexp_source, ... $mol_regexp_source[] ]\n\t\t): $mol_regexp<{}> {\n\t\t\tconst regexp = allowed.map( f => $mol_regexp.from( f ).source ).join('')\n\t\t\treturn new $mol_regexp( `[${ regexp }]` )\n\t\t}\n\n\t\tstatic char_except(\n\t\t\t... forbidden: readonly [ $mol_regexp_source, ... $mol_regexp_source[] ]\n\t\t): $mol_regexp<{}> {\n\t\t\tconst regexp = forbidden.map( f => $mol_regexp.from( f ).source ).join('')\n\t\t\treturn new $mol_regexp( `[^${ regexp }]` )\n\t\t}\n\t\t\n\t\tstatic decimal_only = $mol_regexp.from( /\\d/gsu )\n\t\tstatic decimal_except = $mol_regexp.from( /\\D/gsu )\n\t\t\n\t\tstatic latin_only = $mol_regexp.from( /\\w/gsu )\n\t\tstatic latin_except = $mol_regexp.from( /\\W/gsu )\n\t\t\n\t\tstatic space_only = $mol_regexp.from( /\\s/gsu )\n\t\tstatic space_except = $mol_regexp.from( /\\S/gsu )\n\t\t\n\t\tstatic word_break_only = $mol_regexp.from( /\\b/gsu )\n\t\tstatic word_break_except = $mol_regexp.from( /\\B/gsu )\n\t\t\n\t\tstatic tab = $mol_regexp.from( /\\t/gsu )\n\t\tstatic slash_back = $mol_regexp.from( /\\\\/gsu )\n\t\tstatic nul = $mol_regexp.from( /\\0/gsu )\n\t\t\n\t\tstatic char_any = $mol_regexp.from( /./gsu )\n\t\tstatic begin = $mol_regexp.from( /^/gsu )\n\t\tstatic end = $mol_regexp.from( /$/gsu )\n\t\tstatic or = $mol_regexp.from( /|/gsu )\n\t\t\n\t\tstatic line_end = $mol_regexp.from({\n\t\t\twin_end: [ [ '\\r' ], '\\n' ],\n\t\t\tmac_end: '\\r',\n\t\t})\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t/**\n\t * Output text with dimmed mismatched substrings.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_dimmer_demo\n\t */\n\texport class $mol_dimmer extends $.$mol_dimmer {\n\t\t\n\t\tparts() {\n\t\t\tconst needle = this.needle()\n\t\t\tif( needle.length < 2 ) return [ this.haystack() ]\n\t\t\t\n\t\t\tlet chunks : any[] = []\n\t\t\tlet strings = this.strings()\n\t\t\t\n\t\t\tfor( let index = 0 ; index < strings.length ; index++ ) {\n\t\t\t\tif( strings[ index ] === '' ) continue\n\t\t\t\t\n\t\t\t\tchunks.push( ( index % 2 ) ? this.High( index ) : this.Low( index ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn chunks\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstrings() {\n\t\t\t\n\t\t\tconst options = this.needle().split( /\\s+/g ).filter( Boolean )\n\t\t\tif( !options.length ) return [ this.haystack() ]\n\t\t\t\n\t\t\tconst variants = { ... options } as Record< number, string >\n\t\t\tconst regexp = $mol_regexp.from( { needle: variants } , { ignoreCase: true } )\n\t\t\t\n\t\t\treturn this.haystack().split( regexp )\n\t\t}\n\t\t\n\t\tstring( index: number ) {\n\t\t\treturn this.strings()[ index ]\n\t\t}\n\t\t\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this, this.haystack() ) ) {\n\t\t\t\tyield [ ... path, this ]\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/dimmer/dimmer.view.css\",\n \"[mol_dimmer] {\\n\\tdisplay: block;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_dimmer_low] {\\n\\tdisplay: inline;\\n\\topacity: 0.8;\\n}\\n\\n[mol_dimmer_high] {\\n\\tdisplay: inline;\\n\\tcolor: var(--mol_theme_focus);\\n\\ttext-shadow: 0 0;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_search extends $mol_pop {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * query? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tquery(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * suggests /string\n\t\t * ```\n\t\t */\n\t\tsuggests() {\n\t\t\treturn [\n\t\t\t] as readonly string[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plugins /$mol_plugin\n\t\t * \t^\n\t\t * \t<= Hotkey\n\t\t * \t<= Nav\n\t\t * ```\n\t\t */\n\t\tplugins() {\n\t\t\treturn [\n\t\t\t\t...super.plugins(),\n\t\t\t\tthis.Hotkey(),\n\t\t\t\tthis.Nav()\n\t\t\t] as readonly $mol_plugin[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * showed? <=> suggests_showed?\n\t\t * ```\n\t\t */\n\t\tshowed(next?: any) {\n\t\t\treturn this.suggests_showed(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * align_hor \\right\n\t\t * ```\n\t\t */\n\t\talign_hor() {\n\t\t\treturn \"right\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Anchor $mol_view sub <= anchor_content\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tAnchor() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => this.anchor_content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * bubble_content /$mol_view_content <= Menu\n\t\t * ```\n\t\t */\n\t\tbubble_content() {\n\t\t\treturn [\n\t\t\t\tthis.Menu()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Suggest* $mol_button_minor\n\t\t * \tclick?event <=> suggest_select*?event\n\t\t * \tsub <= suggest_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tSuggest(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.click = (event?: any) => this.suggest_select(id, event)\n\t\t\tobj.sub = () => this.suggest_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clear? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclear(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Hotkey $mol_hotkey key * escape? <=> clear?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHotkey() {\n\t\t\tconst obj = new this.$.$mol_hotkey()\n\t\t\t\n\t\t\tobj.key = () => ({\n\t\t\t\tescape: (next?: any) => this.clear(next)\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * nav_components /$mol_view\n\t\t * ```\n\t\t */\n\t\tnav_components() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * nav_focused?component null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tnav_focused(component?: any) {\n\t\t\tif ( component !== undefined ) return component as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nav $mol_nav\n\t\t * \tkeys_y <= nav_components\n\t\t * \tcurrent_y?component <=> nav_focused?component\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNav() {\n\t\t\tconst obj = new this.$.$mol_nav()\n\t\t\t\n\t\t\tobj.keys_y = () => this.nav_components()\n\t\t\tobj.current_y = (component?: any) => this.nav_focused(component)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * suggests_showed? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsuggests_showed(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint @ \\Search...\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_search_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsubmit(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keyboard \\search\n\t\t * ```\n\t\t */\n\t\tkeyboard() {\n\t\t\treturn \"search\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enter \\search\n\t\t * ```\n\t\t */\n\t\tenter() {\n\t\t\treturn \"search\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * bring\n\t\t * ```\n\t\t */\n\t\tbring() {\n\t\t\treturn this.Query().bring()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Query $mol_string\n\t\t * \tvalue? <=> query?\n\t\t * \thint <= hint\n\t\t * \tsubmit?event <=> submit?event\n\t\t * \tenabled <= enabled\n\t\t * \tkeyboard <= keyboard\n\t\t * \tenter <= enter\n\t\t * \tbring => bring\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tQuery() {\n\t\t\tconst obj = new this.$.$mol_string()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.query(next)\n\t\t\tobj.hint = () => this.hint()\n\t\t\tobj.submit = (event?: any) => this.submit(event)\n\t\t\tobj.enabled = () => this.enabled()\n\t\t\tobj.keyboard = () => this.keyboard()\n\t\t\tobj.enter = () => this.enter()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Clear_icon $mol_icon_cross\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tClear_icon() {\n\t\t\tconst obj = new this.$.$mol_icon_cross()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Clear $mol_button_minor\n\t\t * \thint @ \\Clear\n\t\t * \tclick?event <=> clear?event\n\t\t * \tsub / <= Clear_icon\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tClear() {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$mol_search_Clear_hint' )\n\t\t\tobj.click = (event?: any) => this.clear(event)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Clear_icon()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * anchor_content /\n\t\t * \t<= Query\n\t\t * \t<= Clear\n\t\t * ```\n\t\t */\n\t\tanchor_content() {\n\t\t\treturn [\n\t\t\t\tthis.Query(),\n\t\t\t\tthis.Clear()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * menu_items /$mol_view\n\t\t * ```\n\t\t */\n\t\tmenu_items() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Menu $mol_list rows <= menu_items\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tMenu() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.rows = () => this.menu_items()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * suggest_select*?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tsuggest_select(id: any, event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * suggest_label* \\\n\t\t * ```\n\t\t */\n\t\tsuggest_label(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Suggest_label* $mol_dimmer\n\t\t * \thaystack <= suggest_label*\n\t\t * \tneedle <= query?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tSuggest_label(id: any) {\n\t\t\tconst obj = new this.$.$mol_dimmer()\n\t\t\t\n\t\t\tobj.haystack = () => this.suggest_label(id)\n\t\t\tobj.needle = () => this.query()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * suggest_content* /$mol_view_content <= Suggest_label*\n\t\t * ```\n\t\t */\n\t\tsuggest_content(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Suggest_label(id)\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\t\n\t/**\n\t * Search input with suggest and clear button.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_search_demo\n\t */\n\texport class $mol_search extends $.$mol_search {\n\t\t\n\t\t@ $mol_mem\n\t\tanchor_content() {\n\t\t\treturn [\n\t\t\t\tthis.Query(),\n\t\t\t\t... this.query() ? [ this.Clear() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsuggests_showed( next = true ) {\n\t\t\t\n\t\t\tthis.query()\n\t\t\t\n\t\t\tif( !this.focused() ) return false\n\n\t\t\treturn next\n\t\t}\n\n\t\tsuggest_selected( next? : string ) {\n\t\t\t\n\t\t\tif( next === undefined ) return\n\t\t\t\n\t\t\tthis.query( next )\n\t\t\tthis.Query().focused( true )\n\t\t\t\n\t\t}\n\t\t\n\t\tnav_components() {\n\t\t\treturn [\n\t\t\t\tthis.Query(),\n\t\t\t\t... this.menu_items(),\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tnav_focused( component? : $mol_view ) {\n\t\t\t\n\t\t\tif( !this.focused() ) return null\n\t\t\t\n\t\t\tif( component == null ) {\n\t\t\t\t\n\t\t\t\tfor( let comp of this.nav_components() ) {\n\t\t\t\t\tif( comp && comp.focused() ) return comp\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn null\n\t\t\t}\n\t\t\t\n\t\t\tif( this.suggests_showed() ) {\n\t\t\t\tthis.ensure_visible( component, \"center\" )\n\t\t\t\tcomponent.focused( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn component\n\t\t}\n\t\t\n\t\tsuggest_label( key: string ) {\n\t\t\treturn key\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmenu_items() {\n\t\t\treturn this.suggests().map( ( suggest : string ) => this.Suggest( suggest ) )\n\t\t}\n\t\t\n\t\tsuggest_select( id : string , event? : MouseEvent ) {\n\t\t\tthis.query( id )\n\t\t\tthis.Query().selection([ id.length, id.length ])\n\t\t\tthis.Query().focused( true )\n\t\t}\n\t\t\n\t\tclear( event? : Event ) {\n\t\t\tthis.query( '' )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/search/search.view.css\",\n \"[mol_search] {\\n\\talign-self: flex-start;\\n\\tflex: auto;\\n}\\n\\n[mol_search_anchor] {\\n\\tflex: 1 1 auto;\\n}\\n\\n[mol_search_query] {\\n\\tflex-grow: 1;\\n}\\n\\n[mol_search_menu] {\\n\\tmin-height: .75rem;\\n\\tdisplay: flex;\\n}\\n\\n[mol_search_suggest] {\\n\\ttext-align: left;\\n}\\n\\n[mol_search_suggest_label_high] {\\n\\tcolor: var(--mol_theme_shade);\\n\\ttext-shadow: none;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_icon_dots_vertical extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M12,16C13.1,16 14,16.9 14,18C14,19.1 13.1,20 12,20C10.9,20 10,19.1 10,18C10,16.9 10.9,16 12,16M12,10C13.1,10 14,10.9 14,12C14,13.1 13.1,14 12,14C10.9,14 10,13.1 10,12C10,10.9 10.9,10 12,10M12,4C13.1,4 14,4.9 14,6C14,7.1 13.1,8 12,8C10.9,8 10,7.1 10,6C10,4.9 10.9,4 12,4Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M12,16C13.1,16 14,16.9 14,18C14,19.1 13.1,20 12,20C10.9,20 10,19.1 10,18C10,16.9 10.9,16 12,16M12,10C13.1,10 14,10.9 14,12C14,13.1 13.1,14 12,14C10.9,14 10,13.1 10,12C10,10.9 10.9,10 12,10M12,4C13.1,4 14,4.9 14,6C14,7.1 13.1,8 12,8C10.9,8 10,7.1 10,6C10,4.9 10.9,4 12,4Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_select extends $mol_pick {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dictionary? *\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tdictionary(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * options /string\n\t\t * ```\n\t\t */\n\t\toptions() {\n\t\t\treturn [\n\t\t\t] as readonly string[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tvalue(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_label_default \\\n\t\t * ```\n\t\t */\n\t\toption_label_default() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Option_row* $mol_button_minor\n\t\t * \tevent_click?event <=> event_select*?event\n\t\t * \tsub <= option_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tOption_row(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.event_click = (event?: any) => this.event_select(id, event)\n\t\t\tobj.sub = () => this.option_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * No_options $mol_view sub / <= no_options_message\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNo_options() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.no_options_message()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plugins /\n\t\t * \t^\n\t\t * \t<= Nav\n\t\t * ```\n\t\t */\n\t\tplugins() {\n\t\t\treturn [\n\t\t\t\t...super.plugins(),\n\t\t\t\tthis.Nav()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint @ \\Pick..\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_select_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * bubble_content /\n\t\t * \t<= Filter\n\t\t * \t<= Bubble_pane\n\t\t * ```\n\t\t */\n\t\tbubble_content() {\n\t\t\treturn [\n\t\t\t\tthis.Filter(),\n\t\t\t\tthis.Bubble_pane()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Filter $mol_search\n\t\t * \tquery? <=> filter_pattern?\n\t\t * \thint <= filter_hint\n\t\t * \tsubmit?event <=> submit?event\n\t\t * \tenabled <= enabled\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFilter() {\n\t\t\tconst obj = new this.$.$mol_search()\n\t\t\t\n\t\t\tobj.query = (next?: any) => this.filter_pattern(next)\n\t\t\tobj.hint = () => this.filter_hint()\n\t\t\tobj.submit = (event?: any) => this.submit(event)\n\t\t\tobj.enabled = () => this.enabled()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Trigger_icon $mol_icon_dots_vertical\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTrigger_icon() {\n\t\t\tconst obj = new this.$.$mol_icon_dots_vertical()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_select*?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tevent_select(id: any, event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_label* \\\n\t\t * ```\n\t\t */\n\t\toption_label(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * filter_pattern? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tfilter_pattern(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Option_label* $mol_dimmer\n\t\t * \thaystack <= option_label*\n\t\t * \tneedle <= filter_pattern?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tOption_label(id: any) {\n\t\t\tconst obj = new this.$.$mol_dimmer()\n\t\t\t\n\t\t\tobj.haystack = () => this.option_label(id)\n\t\t\tobj.needle = () => this.filter_pattern()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_content* / <= Option_label*\n\t\t * ```\n\t\t */\n\t\toption_content(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Option_label(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * no_options_message @ \\No options\n\t\t * ```\n\t\t */\n\t\tno_options_message() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_select_no_options_message' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * nav_components /$mol_view\n\t\t * ```\n\t\t */\n\t\tnav_components() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_focused?component null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\toption_focused(component?: any) {\n\t\t\tif ( component !== undefined ) return component as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * nav_cycle? true\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tnav_cycle(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nav $mol_nav\n\t\t * \tkeys_y <= nav_components\n\t\t * \tcurrent_y?component <=> option_focused?component\n\t\t * \tcycle? <=> nav_cycle?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNav() {\n\t\t\tconst obj = new this.$.$mol_nav()\n\t\t\t\n\t\t\tobj.keys_y = () => this.nav_components()\n\t\t\tobj.current_y = (component?: any) => this.option_focused(component)\n\t\t\tobj.cycle = (next?: any) => this.nav_cycle(next)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * menu_content /$mol_view\n\t\t * ```\n\t\t */\n\t\tmenu_content() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Menu $mol_list rows <= menu_content\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tMenu() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.rows = () => this.menu_content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Bubble_pane $mol_scroll sub / <= Menu\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tBubble_pane() {\n\t\t\tconst obj = new this.$.$mol_scroll()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Menu()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * filter_hint @ \\Filter..\n\t\t * ```\n\t\t */\n\t\tfilter_hint() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_select_filter_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsubmit(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\texport function $mol_match_text< Variant >( query : string , values : ( variant : Variant )=> string[] ) {\n\t\tconst tags = query.toLowerCase().trim().split( /\\s+/ ).filter( tag => tag )\n\n\t\tif( tags.length === 0 ) return ()=> true\n\t\t\n\t\treturn ( variant : Variant )=> {\n\t\t\tconst vals = values( variant )\n\t\t\treturn tags.every( tag => vals.some( val => val.toLowerCase().indexOf( tag ) >= 0 ) )\n\t\t}\n\t}\n\n}\n","namespace $.$$ {\n\n\t/**\n\t * Allow user to select value from various options and displays current value.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_select_demo_colors\n\t */\n\texport class $mol_select extends $.$mol_select {\n\t\t\n\t\t@ $mol_mem\n\t\tfilter_pattern( next? : string ) {\n\t\t\tthis.focused()\n\t\t\t\n\t\t\treturn next || ''\n\t\t}\n\n\t\topen() {\n\t\t\tthis.showed( true )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toptions() {\n\t\t\treturn Object.keys( this.dictionary() ) as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toptions_filtered() {\n\t\t\tlet options = this.options()\n\t\t\toptions = options.filter( $mol_match_text( this.filter_pattern() , ( id : string )=> [ this.option_label( id ) ] ) )\n\n\t\t\tconst index = options.indexOf( this.value() )\n\t\t\tif( index >= 0 ) options = [ ... options.slice( 0 , index ) , ... options.slice( index + 1 ) ]\n\t\t\t\n\t\t\treturn options\n\t\t}\n\t\t\n\t\toption_label( id : string ) {\n\t\t\tconst value = this.dictionary()[ id ]\n\t\t\treturn (value == null ? id : value) || this.option_label_default()\n\t\t}\n\t\t\n\t\toption_rows() {\n\t\t\treturn this.options_filtered().map( ( option : string ) => this.Option_row( option ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toption_focused( component? : $mol_view ) {\n\t\t\tif( component == null ) {\n\t\t\t\tfor( let comp of this.nav_components() ) {\n\t\t\t\t\tif( comp && comp.focused() ) return comp\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn null\n\t\t\t}\n\t\t\t\n\t\t\tif( this.showed() ) {\n\t\t\t\tcomponent.focused( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn component\n\t\t}\n\n\t\tevent_select( id : string , event? : MouseEvent ) {\n\t\t\tthis.value( id )\n\t\t\tthis.showed( false )\n\t\t\tevent?.preventDefault()\n\t\t}\n\t\t\n\t\tnav_components() {\n\t\t\tif( this.options().length > 1 && this.Filter() ) {\n\t\t\t\treturn [ this.Filter() , ... this.option_rows() ]\n\t\t\t} else {\n\t\t\t\treturn this.option_rows()\n\t\t\t}\n\t\t}\n\n\t\ttrigger_content() {\n\t\t\treturn [\n\t\t\t\t... this.option_content( this.value() ),\n\t\t\t\tthis.Trigger_icon(),\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\tmenu_content() {\n\t\t\treturn [\n\t\t\t\t... this.option_rows(),\n\t\t\t\t... ( this.options_filtered().length === 0 ) ? [ this.No_options() ] : []\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/select/select.view.css\",\n \"[mol_select] {\\n\\tdisplay: flex;\\n\\tword-break: normal;\\n\\talign-self: flex-start;\\n}\\n\\n[mol_select_option_row] {\\n\\tmin-width: 100%;\\n\\tpadding: 0;\\n\\tjustify-content: flex-start;\\n}\\n\\n[mol_select_bubble] {\\n\\tmin-width: 100%;\\n}\\n\\n[mol_select_filter] {\\n\\tflex: 1 0 auto;\\n\\talign-self: stretch;\\n}\\n\\n[mol_select_option_label] {\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tmin-height: 1.5em;\\n\\tdisplay: block;\\n\\twhite-space: nowrap;\\n}\\n\\n[mol_select_clear_option_content] {\\n\\tpadding: .5em 1rem .5rem 0;\\n\\ttext-align: left;\\n\\tbox-shadow: var(--mol_theme_line);\\n\\tflex: 1 0 auto;\\n}\\n\\n[mol_select_no_options] {\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tdisplay: block;\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_select_trigger] {\\n\\tpadding: 0;\\n\\tflex: 1 1 auto;\\n\\tdisplay: flex;\\n}\\n\\n[mol_select_trigger] > * {\\n\\tmargin-right: -1rem;\\n}\\n\\n[mol_select_trigger] > *:last-child {\\n\\tmargin-right: 0;\\n}\\n\\n[mol_select_menu] {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\\n\"\n) }","namespace $ {\n\texport class $visavis_cube extends $mol_book2 {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot $visavis_plot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tplot() {\n\t\t\tconst obj = new this.$.$visavis_plot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\theatmap(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * order* /number\n\t\t * ```\n\t\t */\n\t\torder(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly number[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * order_current? \\nump\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\torder_current(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"nump\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * x_op false\n\t\t * ```\n\t\t */\n\t\tx_op() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * y_op false\n\t\t * ```\n\t\t */\n\t\ty_op() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * z_op false\n\t\t * ```\n\t\t */\n\t\tz_op() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * x_sort? \\nump\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tx_sort(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"nump\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * y_sort? \\nump\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\ty_sort(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"nump\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * z_sort? \\nump\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tz_sort(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"nump\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * colorset /\n\t\t * \t\\#3e3f95\n\t\t * \t\\#c00\n\t\t * \t\\#FE9A2E\n\t\t * \t\\#090\n\t\t * \t\\#f0f\n\t\t * \t\\#09f\n\t\t * \t\\#666\n\t\t * \t\\#0f3\n\t\t * \t\\#0ff\n\t\t * \t\\#90c\n\t\t * ```\n\t\t */\n\t\tcolorset() {\n\t\t\treturn [\n\t\t\t\t\"#3e3f95\",\n\t\t\t\t\"#c00\",\n\t\t\t\t\"#FE9A2E\",\n\t\t\t\t\"#090\",\n\t\t\t\t\"#f0f\",\n\t\t\t\t\"#09f\",\n\t\t\t\t\"#666\",\n\t\t\t\t\"#0f3\",\n\t\t\t\t\"#0ff\",\n\t\t\t\t\"#90c\"\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap_colors /\n\t\t * \t\\rgb(150,0,90)\n\t\t * \t\\rgb(0,0,200)\n\t\t * \t\\rgb(0,25,255)\n\t\t * \t\\rgb(0,152,255)\n\t\t * \t\\rgb(44,255,150)\n\t\t * \t\\rgb(151,255,0)\n\t\t * \t\\rgb(255,234,0)\n\t\t * \t\\rgb(255,111,0)\n\t\t * \t\\rgb(255,0,0)\n\t\t * ```\n\t\t */\n\t\theatmap_colors() {\n\t\t\treturn [\n\t\t\t\t\"rgb(150,0,90)\",\n\t\t\t\t\"rgb(0,0,200)\",\n\t\t\t\t\"rgb(0,25,255)\",\n\t\t\t\t\"rgb(0,152,255)\",\n\t\t\t\t\"rgb(44,255,150)\",\n\t\t\t\t\"rgb(151,255,0)\",\n\t\t\t\t\"rgb(255,234,0)\",\n\t\t\t\t\"rgb(255,111,0)\",\n\t\t\t\t\"rgb(255,0,0)\"\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages /\n\t\t * \t<= Plot\n\t\t * \t<= Setup\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Plot(),\n\t\t\t\tthis.Setup()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_title \\\n\t\t * ```\n\t\t */\n\t\tplot_title() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Root $mol_view\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tRoot() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value_min 0\n\t\t * ```\n\t\t */\n\t\tvalue_min() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_min $mol_view sub / <= value_min\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHeatmap_min() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.value_min()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap_color* \\\n\t\t * ```\n\t\t */\n\t\theatmap_color(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_color*0 $mol_view style * background <= heatmap_color*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tHeatmap_color(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.style = () => ({\n\t\t\t\tbackground: this.heatmap_color(id)\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value_max 0\n\t\t * ```\n\t\t */\n\t\tvalue_max() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_max $mol_view sub / <= value_max\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHeatmap_max() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.value_max()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap_color_list /\n\t\t * \t<= Heatmap_min\n\t\t * \t<= Heatmap_color*0\n\t\t * \t<= Heatmap_max\n\t\t * ```\n\t\t */\n\t\theatmap_color_list() {\n\t\t\treturn [\n\t\t\t\tthis.Heatmap_min(),\n\t\t\t\tthis.Heatmap_color(\"0\"),\n\t\t\t\tthis.Heatmap_max()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_legend $mol_list rows <= heatmap_color_list\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHeatmap_legend() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.rows = () => this.heatmap_color_list()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Side_right $mol_scroll sub / <= Heatmap_legend\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSide_right() {\n\t\t\tconst obj = new this.$.$mol_scroll()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Heatmap_legend()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_body /\n\t\t * \t<= Root\n\t\t * \t<= Side_right\n\t\t * ```\n\t\t */\n\t\tplot_body() {\n\t\t\treturn [\n\t\t\t\tthis.Root(),\n\t\t\t\tthis.Side_right()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * draw null\n\t\t * ```\n\t\t */\n\t\tdraw() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot $mol_page\n\t\t * \ttitle <= plot_title\n\t\t * \tbody <= plot_body\n\t\t * \tauto <= draw\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPlot() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.plot_title()\n\t\t\tobj.body = () => this.plot_body()\n\t\t\tobj.auto = () => this.draw()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * nonformers? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tnonformers(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nonformers $mol_check_box\n\t\t * \thint @ \\Continuous solid solutions and complete insolubility systems\n\t\t * \ttitle @ \\Show\n\t\t * \tchecked? <=> nonformers?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNonformers() {\n\t\t\tconst obj = new this.$.$mol_check_box()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$visavis_cube_Nonformers_hint' )\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_cube_Nonformers_title' )\n\t\t\tobj.checked = (next?: any) => this.nonformers(next)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nonformers_label $mol_labeler\n\t\t * \ttitle @ \\Non-formers\n\t\t * \tContent <= Nonformers\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNonformers_label() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_cube_Nonformers_label_title' )\n\t\t\tobj.Content = () => this.Nonformers()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * order_dict *\n\t\t * \tnump @ \\Periodic number\n\t\t * \tnum @ \\Atomic number\n\t\t * \tsize @ \\Atomic size\n\t\t * \trea @ \\Atomic reactivity\n\t\t * \trpp @ \\Pseudopotential radii\n\t\t * \trion @ \\Ionic radii\n\t\t * \trcov @ \\Covalent radii\n\t\t * \trmet @ \\Metallic radii\n\t\t * \ttmelt @ \\Melting temperature\n\t\t * \teneg @ \\Electronegativity\n\t\t * ```\n\t\t */\n\t\torder_dict() {\n\t\t\treturn {\n\t\t\t\tnump: this.$.$mol_locale.text( '$visavis_cube_order_dict_nump' ),\n\t\t\t\tnum: this.$.$mol_locale.text( '$visavis_cube_order_dict_num' ),\n\t\t\t\tsize: this.$.$mol_locale.text( '$visavis_cube_order_dict_size' ),\n\t\t\t\trea: this.$.$mol_locale.text( '$visavis_cube_order_dict_rea' ),\n\t\t\t\trpp: this.$.$mol_locale.text( '$visavis_cube_order_dict_rpp' ),\n\t\t\t\trion: this.$.$mol_locale.text( '$visavis_cube_order_dict_rion' ),\n\t\t\t\trcov: this.$.$mol_locale.text( '$visavis_cube_order_dict_rcov' ),\n\t\t\t\trmet: this.$.$mol_locale.text( '$visavis_cube_order_dict_rmet' ),\n\t\t\t\ttmelt: this.$.$mol_locale.text( '$visavis_cube_order_dict_tmelt' ),\n\t\t\t\teneg: this.$.$mol_locale.text( '$visavis_cube_order_dict_eneg' )\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * X_order_select $mol_select\n\t\t * \tvalue? <=> x_sort?\n\t\t * \tdictionary <= order_dict\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tX_order_select() {\n\t\t\tconst obj = new this.$.$mol_select()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.x_sort(next)\n\t\t\tobj.dictionary = () => this.order_dict()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * X_order_label $mol_labeler\n\t\t * \ttitle @ \\X sort by\n\t\t * \tContent <= X_order_select\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tX_order_label() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_cube_X_order_label_title' )\n\t\t\tobj.Content = () => this.X_order_select()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Y_order_select $mol_select\n\t\t * \tvalue? <=> y_sort?\n\t\t * \tdictionary <= order_dict\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tY_order_select() {\n\t\t\tconst obj = new this.$.$mol_select()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.y_sort(next)\n\t\t\tobj.dictionary = () => this.order_dict()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Y_order_label $mol_labeler\n\t\t * \ttitle @ \\Y sort by\n\t\t * \tContent <= Y_order_select\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tY_order_label() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_cube_Y_order_label_title' )\n\t\t\tobj.Content = () => this.Y_order_select()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Z_order_select $mol_select\n\t\t * \tvalue? <=> z_sort?\n\t\t * \tdictionary <= order_dict\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tZ_order_select() {\n\t\t\tconst obj = new this.$.$mol_select()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.z_sort(next)\n\t\t\tobj.dictionary = () => this.order_dict()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Z_order_label $mol_labeler\n\t\t * \ttitle @ \\Z sort by\n\t\t * \tContent <= Z_order_select\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tZ_order_label() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_cube_Z_order_label_title' )\n\t\t\tobj.Content = () => this.Z_order_select()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Setup $mol_page\n\t\t * \ttitle @ \\Setup\n\t\t * \tbody /\n\t\t * \t\t<= Nonformers_label\n\t\t * \t\t<= X_order_label\n\t\t * \t\t<= Y_order_label\n\t\t * \t\t<= Z_order_label\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSetup() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_cube_Setup_title' )\n\t\t\tobj.body = () => [\n\t\t\t\tthis.Nonformers_label(),\n\t\t\t\tthis.X_order_label(),\n\t\t\t\tthis.Y_order_label(),\n\t\t\t\tthis.Z_order_label()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\t/**\n\t * Checks for boolean and returns boolean type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_boolean_demo\n\t */\n\texport let $mol_data_boolean = ( val : boolean )=> {\n\t\t\n\t\tif( typeof val === 'boolean' ) return val\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a boolean` ) )\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for null or passing given runtype.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_nullable_demo\n\t */\n\texport function $mol_data_nullable< Sub extends $mol_data_value >( sub : Sub ) {\n\n\t\treturn $mol_data_setup( ( val : Parameters[0] | null ) => {\n\t\t\t\n\t\t\tif( val === null ) return null\n\t\t\t\n\t\t\treturn sub( val ) as ReturnType\n\t\t\t\n\t\t} , sub )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $lib_d3 extends $mol_object2 {\n\n\t\t@ $mol_mem\n\t\tstatic all() {\n\t\t\treturn $mol_import.script('https://cdn.jsdelivr.net/npm/d3@7').d3 as any\n\t\t}\n\n\t}\n}\n","namespace $.$$ {\n\n\texport const $visavis_element_prop = {\n\t\t\"num\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],\n\t\t\"nump\":[0,1,112,2,8,82,88,94,100,106,113,3,9,83,89,95,101,107,114,4,10,14,46,50,54,58,62,66,70,74,78,84,90,96,102,108,115,5,11,15,47,51,55,59,63,67,71,75,79,85,91,97,103,109,116,6,12,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,48,52,56,60,64,68,72,76,80,86,92,98,104,110,117,7,13,17,19,21,23,25,27,29],\n\t\t\"size\":[0,0.040000098,0.05525814,0.32352134,0.149871021,0.15316946,0.152079019,0.147837836,0.141252647,0.130400994,0.118123987,0.578463822,0.235527361,0.222322819,0.208407341,0.19392461,0.178988166,0.160596861,0.14201091,0.692195698,0.671411055,0.64709144,0.440998616,0.425579654,0.410235863,0.394967358,0.379774576,0.364658122,0.349618659,0.334656835,0.310912262,0.287688252,0.264934676,0.242609734,0.220678182,0.195297025,0.170450145,0.832019702,0.797564264,0.762242103,0.515950935,0.494387183,0.473421463,0.452993466,0.433052136,0.413553912,0.394461351,0.375742041,0.347395886,0.319938571,0.293280312,0.267345197,0.242068451,0.213172397,0.185071259,0.910157427,0.868793456,0.828185801,0.810462652,0.793233638,0.776484764,0.760190637,0.744322073,0.728849599,0.713745039,0.698982175,0.684536953,0.670387461,0.65651381,0.642897972,0.629523601,0.616375866,0.588840308,0.562314966,0.536696361,0.51189659,0.487840384,0.464462811,0.441707474,0.419525064,0.386690726,0.355029594,0.324425963,0.294781292,0.266010922,0.233351806,0.201712905,1.0,0.952025289,0.905996701,0.885161237,0.864979518,0.845420273,0.826445343,0.808015348,0.790092251],\n\t\t\"rea\":[0,2.953092434,2.137675759,0.365119614,0.788170962,0.771198036,0.776727701,0.799010527,0.836260342,0.905851889,0.999999998,0.204202895,0.501529786,0.531317421,0.56679379,0.609123241,0.659954172,0.735531107,0.831795156,0.170651143,0.175933932,0.182546051,0.267855686,0.27756023,0.28794164,0.299072783,0.311037111,0.323930772,0.337865225,0.352970489,0.379927077,0.410597187,0.445860802,0.486888901,0.535277144,0.604842736,0.693011946,0.141972584,0.148105917,0.154969119,0.228944225,0.238930116,0.249511262,0.260763114,0.272770822,0.28563141,0.299456427,0.31437522,0.340027017,0.369208334,0.402768213,0.441840692,0.487977621,0.554124213,0.63826219,0.129784127,0.135963256,0.142629814,0.145748835,0.148914495,0.1521266,0.155387322,0.158700099,0.162069084,0.165498855,0.168994276,0.172560424,0.17620256,0.179926127,0.183736755,0.187640284,0.191642784,0.200604451,0.210067301,0.22009463,0.230757519,0.242136549,0.254323886,0.267425828,0.281565982,0.305474062,0.332715889,0.364101522,0.400717379,0.444056906,0.506205582,0.58560451,0.118123987,0.124076522,0.130380151,0.133449119,0.136562756,0.139722208,0.142930186,0.146190276,0.149506576],\n\t\t\"rpp\":[0,1.25,0,1.61,1.08,0.795,0.64,0.54,0.465,0.405,0,2.65,2.03,1.675,1.42,1.24,1.1,1.01,0,3.69,3.0,2.75,2.58,2.43,2.44,2.22,2.11,2.02,2.18,2.04,1.88,1.695,1.56,1.415,1.285,1.2,0,4.1,3.21,2.94,2.825,2.76,2.72,2.65,2.605,2.52,2.45,2.375,2.215,2.05,1.88,1.765,1.67,1.585,0,4.31,3.402,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.91,2.79,2.735,2.68,2.65,2.628,2.7,2.66,2.41,2.235,2.09,1.997,1.9,1.83,0,4.37,3.53,0,0,0,0,0,0,0],\n\t\t\"rion\":[0,0,0,0.6,0.3,0.2,0.15,0.12,0.1,0.09,0,0.96,0.63,0.5,0.42,0.36,0.32,0.28,0,1.33,0.96,0.8,0.68,0.65,0.62,0.6,0.59,0.62,0.59,0.96,0.78,0.63,0.53,0.46,0.41,0.37,0,1.49,1.11,0.93,0.8,0.77,0.75,0.72,0.69,0.75,0.85,1.12,0.93,0.76,0.65,0.57,0.51,0.46,0,1.65,1.26,1.06,1.05,1.04,1.03,1.02,1.01,1.01,1.0,0.99,0.98,0.97,0.96,0.95,0.94,0.93,0.8,0.77,0.75,0.72,0.69,0.81,0.9,1.11,0.97,0.9,0.83,0.77,0.56,0.51,0,1.74,1.34,1.14,1.11,1.08,1.05,1.04,1.03,1.02],\n\t\t\"rcov\":[0,30.0,0,123.0,89.0,88.0,77.0,70.0,66.0,58.0,0,0,136.0,125.0,117.0,110.0,104.0,99.0,0,203.0,174.0,144.0,132.0,0,0,117.0,116.0,116.0,115.0,117.0,125.0,125.0,122.0,121.0,117.0,114.0,0,217.0,192.0,162.0,145.0,134.0,129.0,0,124.0,125.0,128.0,134.0,141.0,150.0,140.0,141.0,137.0,133.0,0,235.0,198.0,169.0,165.0,165.0,164.0,0,166.0,185.0,161.0,159.0,159.0,158.0,157.0,156.0,170.0,156.0,144.0,134.0,130.0,128.0,126.0,126.0,129.0,134.0,144.0,155.0,154.0,152.0,153.0,0,0,0,0,0,0,0,0,0,0,0],\n\t\t\"rmet\":[0,0.78,0,1.562,1.128,0.98,0.916,0.88,0.89,0,0,1.911,1.602,1.432,1.319,1.28,1.27,0,0,2.376,1.974,1.941,1.462,1.346,1.36,1.304,1.274,1.252,1.246,1.278,1.394,1.411,1.369,1.39,1.4,0,0,2.546,2.151,1.801,1.602,1.468,1.4,1.36,1.339,1.345,1.376,1.445,1.568,1.663,1.623,1.59,1.6,0,0,2.731,2.243,1.877,1.715,1.828,1.821,1.81,1.802,1.799,1.802,1.782,1.773,1.766,1.757,1.746,1.74,1.734,1.58,1.467,1.408,1.375,1.353,1.357,1.387,1.442,1.573,1.716,1.75,1.7,1.76,0,0,2.8,2.26,1.878,1.798,1.63,1.56,1.555,1.58,1.81],\n\t\t\"tmelt\":[0,0.003664921,0.00026178,0.118586387,0.405759162,0.673560209,1.0,0.016492147,0.014397906,0.014136126,0.006544503,0.097120419,0.241361257,0.244240838,0.440575916,0.082984293,0.10104712,0.045026178,0.021989529,0.088219895,0.290837696,0.47434555,0.506020942,0.566230366,0.557591623,0.397382199,0.473298429,0.462827225,0.451832461,0.354973822,0.181413613,0.079319372,0.317015707,0.285340314,0.128272251,0.069633508,0.030628272,0.081675393,0.273036649,0.470157068,0.556282723,0.717539267,0.756544503,0.640052356,0.67617801,0.586125654,0.477748691,0.323036649,0.155497382,0.112565445,0.132198953,0.236649215,0.189267016,0.101308901,0.042146597,0.079057592,0.261256545,0.312303665,0.280366492,0.315183246,0.338743455,0.377225131,0.352094241,0.286649215,0.414921466,0.427486911,0.439790576,0.456282723,0.469895288,0.47591623,0.287172775,0.504973822,0.653141361,0.856806283,0.964136126,0.903926702,0.868586387,0.702356021,0.535340314,0.35,0.061256545,0.15104712,0.157329843,0.142408377,0.137958115,0.15052356,0.052879581,0.078534031,0.254712042,0.346335079,0.528795812,0.553141361,0.368062827,0.239005236,0.239267016,0.331675393],\n\t\t\"eneg\":[0,3.69,6.29,2.32,3.71,4.88,6.08,7.31,8.5,9.7,10.92,2.27,3.37,4.21,5.08,5.95,6.79,7.64,8.5,2.08,3.0,3.11,3.19,3.27,3.41,3.4,3.47,3.53,3.59,3.74,3.7,4.37,5.09,5.82,6.53,7.21,7.93,2.04,2.89,3.04,3.14,3.25,3.41,3.35,3.47,3.57,3.73,3.81,3.6,4.19,4.83,5.47,6.08,6.69,7.29,1.97,2.76,2.89,2.86,2.83,2.85,2.87,2.89,2.91,3.02,2.95,2.97,2.99,3.0,3.02,3.04,3.11,3.3,3.45,3.48,3.5,3.57,3.6,3.71,3.84,3.82,4.34,4.92,5.47,6.01,6.56,7.12,2.02,2.78,2.93,3.02,2.98,2.98,2.98,2.96,2.97]\n\t} as const\n\n\n\texport const $visavis_element_list = [null, 'H', 'He', 'Li', 'Be', 'B', 'C', 'N', 'O', 'F', 'Ne', 'Na', 'Mg', 'Al', 'Si', 'P', 'S', 'Cl', 'Ar', 'K', 'Ca', 'Sc', 'Ti', 'V', 'Cr', 'Mn', 'Fe', 'Co', 'Ni', 'Cu', 'Zn', 'Ga', 'Ge', 'As', 'Se', 'Br', 'Kr', 'Rb', 'Sr', 'Y', 'Zr', 'Nb', 'Mo', 'Tc', 'Ru', 'Rh', 'Pd', 'Ag', 'Cd', 'In', 'Sn', 'Sb', 'Te', 'I', 'Xe', 'Cs', 'Ba', 'La', 'Ce', 'Pr', 'Nd', 'Pm', 'Sm', 'Eu', 'Gd', 'Tb', 'Dy', 'Ho', 'Er', 'Tm', 'Yb', 'Lu', 'Hf', 'Ta', 'W', 'Re', 'Os', 'Ir', 'Pt', 'Au', 'Hg', 'Tl', 'Pb', 'Bi', 'Po', 'At', 'Rn', 'Fr', 'Ra', 'Ac', 'Th', 'Pa', 'U', 'Np', 'Pu', 'Am'] as const\n\n\texport const $visavis_elemental_names = {\n\t\t\"num\": \"atomic number\",\n\t\t\"nump\": \"periodic number\",\n\t\t\"size\": \"atomic size\",\n\t\t\"rea\": \"atomic reactivity\",\n\t\t\"rpp\": \"pseudopotential radii\",\n\t\t\"rion\": \"ionic radii\",\n\t\t\"rcov\": \"covalent radii\",\n\t\t\"rmet\": \"metallic radii\",\n\t\t\"tmelt\": \"melting temperature\",\n\t\t\"eneg\": \"electronegativity\"\n\t} as const\n}\n","namespace $ {\n\n\texport class $lib_plotly extends $mol_object2 {\n\n\t\t@ $mol_mem\n\t\tstatic all() {\n\t\t\treturn $mol_import.script('https://cdn.plot.ly/plotly-2.16.1.min.js').Plotly as any //typeof import('plotly.js')\n\t\t}\n\n\t}\n}\n","namespace $.$$ {\n\n\tconst $visavis_cube_json = $mol_data_record({\n\t\tpayload: $mol_data_record({\n\t\t\ttcube: $mol_data_optional( $mol_data_boolean ),\n\t\t\tpoints: $mol_data_record({\n\t\t\t\tx: $mol_data_array( $mol_data_number ),\n\t\t\t\ty: $mol_data_array( $mol_data_number ),\n\t\t\t\tz: $mol_data_array( $mol_data_number ),\n\t\t\t\tv: $mol_data_array( $mol_data_number ),\n\t\t\t\tlabels: $mol_data_array( $mol_data_string ),\n\t\t\t}),\n\t\t\tfixel: $mol_data_nullable( $mol_data_boolean ),\n\t\t\txtitle: $mol_data_optional( $mol_data_string ),\n\t\t\tytitle: $mol_data_optional( $mol_data_string ),\n\t\t\tztitle: $mol_data_optional( $mol_data_string ),\n\t\t}),\n\t})\n\n\texport class $visavis_cube extends $.$visavis_cube {\n\n\t\tplot_body() {\n\t\t\treturn [\n\t\t\t\tthis.Root(),\n\t\t\t\t... this.heatmap() ? [ this.Side_right() ] : [],\n\t\t\t]\n\t\t}\n\n\t\tplot_title() {\n\t\t\treturn this.plot().id()\n\t\t}\n\n\t\tjson() {\n\t\t\treturn $visavis_cube_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tvalue_list() {\n\t\t\treturn this.json().payload.points.v.slice().sort( (a, b) => a - b )\n\t\t}\n\n\t\tvalue_min() {\n\t\t\treturn this.value_list()[0]\n\t\t}\n\n\t\tvalue_max() {\n\t\t\treturn this.value_list().slice(-1)[0]\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\torder(order: string) {\n\t\t\treturn $lib_d3.all().range(95).sort( (a: any, b: any) => ($visavis_element_prop as any)[order][a + 1] - ($visavis_element_prop as any)[order][b + 1] ) as number[]\n\t\t}\n\n\t\t@ $mol_mem\n\t\theatmap() {\n\t\t\treturn this.json().payload.points.v.some(val => Math.floor(val) !== val)\n\t\t}\n\n\t\theatmap_color( index: number ) {\n\t\t\treturn this.heatmap_colors()[index]\n\t\t}\n\n\t\theatmap_color_list() {\n\t\t\treturn [\n\t\t\t\tthis.Heatmap_min(),\n\t\t\t\t... this.heatmap_colors().map( (_, index) => this.Heatmap_color(index) ),\n\t\t\t\tthis.Heatmap_max(),\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tmarker() {\n\t\t\treturn {\n\t\t\t\tcolor: this.heatmap() ? this.json().payload.points.v : this.colorset()[0],\n\t\t\t\t... this.heatmap() ? { colorscale: 'Rainbow' } : {},\n\t\t\t\tsize: 4,\n\t\t\t\topacity: 0.9\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata_nonformers() {\n\t\t\tconst { x, y, z, labels } = $visavis_nonformer_pd_tri\n\t\t\treturn {\n\t\t\t\ttype: \"scatter3d\",\n\t\t\t\ttext: labels,\n\t\t\t\tmode: \"markers\",\n\t\t\t\thoverinfo: \"text\",\n\t\t\t\tmarker: {color: \"#ccc\", size: 4, opacity: 0.9},\n\t\t\t\tprojection: {x: {show: true, opacity: 0.25}, y: {show: true, opacity: 0.25}, z: {show: true, opacity: 0.25}},\n\t\t\t\t...this.convert_to_axes(x, y, z, this.x_sort(), this.y_sort(), this.z_sort())\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\ttype: \"scatter3d\",\n\t\t\t\ttext: this.json().payload.points.labels,\n\t\t\t\tmode: \"markers\",\n\t\t\t\thoverinfo: \"text\",\n\t\t\t\tmarker: this.marker(),\n\t\t\t\tprojection: {x: {show: true, opacity: 0.05}, y: {show: true, opacity: 0.05}, z: {show: true, opacity: 0.05}},\n\t\t\t\t...this.convert_to_axes(this.json().payload.points.x, this.json().payload.points.y, this.json().payload.points.z, this.x_sort(), this.y_sort(), this.z_sort())\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata_shown() {\n\t\t\treturn [\n\t\t\t\t... this.nonformers() ? [this.data_nonformers()] : [],\n\t\t\t\tthis.data(),\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tscene() {\n\t\t\treturn {\n\t\t\t\taspectmode: 'cube',\n\t\t\t\txaxis: {\n\t\t\t\t\ttitle: 'x_sort',\n\t\t\t\t\trange: [1, 95],\n\t\t\t\t\ttitlefont: {color: this.x_op() ? '#000' : '#fff', size: 10},\n\t\t\t\t\tbackgroundcolor: '#fbfbfb',\n\t\t\t\t\tgridcolor: '#fff',\n\t\t\t\t\tshowbackground: true,\n\t\t\t\t\tshowticklabels: !this.x_op(),\n\t\t\t\t\tshowline: false,\n\t\t\t\t\ttickfont: {size: 11},\n\t\t\t\t\tticktext: this.order_els(this.x_sort()).slice(0, 95).filter(function(el, idx){ return idx % 2 === 0 }),\n\t\t\t\t\ttickvals: $lib_d3.all().range(1, 96, 2)\n\t\t\t\t},\n\t\t\t\tyaxis: {\n\t\t\t\t\ttitle: 'y_sort',\n\t\t\t\t\trange: [1, 95],\n\t\t\t\t\ttitlefont: {color: this.y_op() ? '#000' : '#fff', size: 10},\n\t\t\t\t\tbackgroundcolor: '#f6f6f6',\n\t\t\t\t\tgridcolor: '#fff',\n\t\t\t\t\tshowbackground: true,\n\t\t\t\t\tshowticklabels: !this.y_op(),\n\t\t\t\t\tshowline: false,\n\t\t\t\t\ttickfont: {size: 11},\n\t\t\t\t\tticktext: this.order_els(this.y_sort()).slice(0, 95).filter(function(el, idx){ return idx % 2 === 0 }),\n\t\t\t\t\ttickvals: $lib_d3.all().range(1, 96, 2)\n\t\t\t\t},\n\t\t\t\tzaxis: {\n\t\t\t\t\ttitle: 'z_sort',\n\t\t\t\t\trange: [1, 95],\n\t\t\t\t\ttitlefont: {color: this.z_op() ? '#000' : '#fff', size: 10},\n\t\t\t\t\tbackgroundcolor: '#eee',\n\t\t\t\t\tgridcolor: '#fff',\n\t\t\t\t\tshowbackground: true,\n\t\t\t\t\tshowticklabels: !this.z_op(),\n\t\t\t\t\tshowline: false,\n\t\t\t\t\ttickfont: {size: 11},\n\t\t\t\t\tticktext: this.order_els(this.z_sort()).slice(0, 95).filter(function(el, idx){ return idx % 2 === 0 }),\n\t\t\t\t\ttickvals: $lib_d3.all().range(1, 96, 2)\n\t\t\t\t},\n\t\t\t\tcamera: {projection: {type: 'perspective'}},\n\t\t\t}\t\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdraw() {\n\t\t\tthis.Root().view_rect()\n\n\t\t\treturn $lib_plotly.all().react(\n\t\t\t\tthis.Root().dom_node() as HTMLElement,\n\t\t\t\tthis.data_shown() as any, \n\t\t\t\t{\n\t\t\t\t\tfont: {family: \"Exo2\"},\n\t\t\t\t\tshowlegend: false,\n\t\t\t\t\tscene: this.scene() as any,\n\t\t\t\t\tmargin: {\n\t\t\t\t\t\tl: 0,\n\t\t\t\t\t\tr: 0,\n\t\t\t\t\t\tb: 0,\n\t\t\t\t\t\tt: 0,\n\t\t\t\t\t\tpad: 0\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{displaylogo: false, displayModeBar: false, staticPlot: false},\n\t\t\t)\n\t\t}\n\n\n\t\tter_op(op: 'sum' | 'diff' | 'product' | 'ratio' | 'max' | 'min', a: number, b: number, c: number){\n\t\t\tswitch (op){\n\t\t\t\tcase 'sum': return a + b + c;\n\t\t\t\tcase 'diff': return Math.abs(a - b) + Math.abs(a - c) + Math.abs(b - c);\n\t\t\t\tcase 'product': return (a * b) + (a * c) + (b * c);\n\t\t\t\tcase 'ratio': return (a / b) + (a / c) + (b / c);\n\t\t\t\tcase 'max': return ((a > b && a > c) ? a : ((b > a && b > c) ? b : c));\n\t\t\t\tcase 'min': return ((a < b && a < c) ? a : ((b < a && b < c) ? b : c));\n\t\t\t}\n\t\t}\n\n\t\tconvert_to_axes(x_src: readonly number[], y_src: readonly number[], z_src: readonly number[], x_sort: any, y_sort: any, z_sort: any, x_op?: any, y_op?: any, z_op?: any){\n\t\t\t//console.log(x_src, y_src, z_src, x_sort, y_sort, z_sort, x_op, y_op, z_op);\n\t\t\tvar converted = {'x': [], 'y': [], 'z': []};\n\t\t\n\t\t\tif (x_op){\n\t\t\t\tvar x_temp = [];\n\t\t\t\tfor (var i = 0; i < x_src.length; i++){\n\t\t\t\t\t//console.log('x', $visavis_elementals[x_sort][x_src[i]], $visavis_elementals[x_sort][y_src[i]], $visavis_elementals[x_sort][z_src[i]], ter_op(x_op, $visavis_elementals[x_sort][x_src[i]], $visavis_elementals[x_sort][y_src[i]], $visavis_elementals[x_sort][z_src[i]]));\n\t\t\n\t\t\t\t\tx_temp.push( this.ter_op(x_op, ($visavis_element_prop as any)[x_sort][x_src[i]], ($visavis_element_prop as any)[x_sort][y_src[i]], ($visavis_element_prop as any)[x_sort][z_src[i]]) );\n\t\t\t\t}\n\t\t\t\tvar x_renorm = $lib_d3.all().scaleQuantize().range($visavis_element_prop.num.slice(1)).domain([$lib_d3.all().min(x_temp), $lib_d3.all().max(x_temp)]);\n\t\t\t\t//console.log(x_temp);\n\t\t\t\tconverted['x'] = x_temp.map(x_renorm);\n\t\t\n\t\t\t} else {\n\t\t\t\tfor (var i = 0; i < x_src.length; i++){\n\t\t\t\t\t(converted['x'] as any).push( (x_sort == 'num') ? x_src[i] : this.order(x_sort).indexOf(x_src[i] - 1) + 1 ); // FIXME first elementals item belongs to X, i.e. 0\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (y_op){\n\t\t\t\tvar y_temp = [];\n\t\t\t\tfor (var i = 0; i < y_src.length; i++){\n\t\t\t\t\t//console.log('y', $visavis_elementals[y_sort][x_src[i]], $visavis_elementals[y_sort][y_src[i]], $visavis_elementals[y_sort][z_src[i]], ter_op(y_op, $visavis_elementals[y_sort][x_src[i]], $visavis_elementals[y_sort][y_src[i]], $visavis_elementals[y_sort][z_src[i]]));\n\t\t\n\t\t\t\t\ty_temp.push( this.ter_op(y_op, ($visavis_element_prop as any)[y_sort][x_src[i]], ($visavis_element_prop as any)[y_sort][y_src[i]], ($visavis_element_prop as any)[y_sort][z_src[i]]) );\n\t\t\t\t}\n\t\t\t\tvar y_renorm = $lib_d3.all().scaleQuantize().range($visavis_element_prop.num.slice(1)).domain([$lib_d3.all().min(y_temp), $lib_d3.all().max(y_temp)]);\n\t\t\t\t//console.log(y_temp);\n\t\t\t\tconverted['y'] = y_temp.map(y_renorm);\n\t\t\n\t\t\t} else {\n\t\t\t\tfor (var i = 0; i < y_src.length; i++){\n\t\t\t\t\t(converted['y'] as any).push( (y_sort == 'num') ? y_src[i] : this.order(y_sort).indexOf(y_src[i] - 1) + 1 ); // FIXME first elementals item belongs to X, i.e. 0\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (z_op){\n\t\t\t\tvar z_temp = [];\n\t\t\t\tfor (var i = 0; i < z_src.length; i++){\n\t\t\t\t\t//console.log('z', $visavis_elementals[z_sort][x_src[i]], $visavis_elementals[z_sort][y_src[i]], $visavis_elementals[z_sort][z_src[i]], ter_op(z_op, $visavis_elementals[z_sort][x_src[i]], $visavis_elementals[z_sort][y_src[i]], $visavis_elementals[z_sort][z_src[i]]));\n\t\t\n\t\t\t\t\tz_temp.push( this.ter_op(z_op, ($visavis_element_prop as any)[z_sort][x_src[i]], ($visavis_element_prop as any)[z_sort][y_src[i]], ($visavis_element_prop as any)[z_sort][z_src[i]]) );\n\t\t\t\t}\n\t\t\t\tvar z_renorm = $lib_d3.all().scaleQuantize().range($visavis_element_prop.num.slice(1)).domain([$lib_d3.all().min(z_temp), $lib_d3.all().max(z_temp)]);\n\t\t\t\t//console.log(z_temp);\n\t\t\t\tconverted['z'] = z_temp.map(z_renorm);\n\t\t\n\t\t\t} else {\n\t\t\t\tfor (var i = 0; i < z_src.length; i++){\n\t\t\t\t\t(converted['z'] as any).push( (z_sort == 'num') ? z_src[i] : this.order(z_sort).indexOf(z_src[i] - 1) + 1 ); // FIXME first elementals item belongs to X, i.e. 0\n\t\t\t\t}\n\t\t\t}\n\t\t\t//console.log(converted);\n\t\t\treturn converted;\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\torder_els(prop: string){\n\t\t\treturn $visavis_element_list.slice(1).sort(function(a, b){\n\t\t\t\treturn ($visavis_element_prop as any)[prop][$visavis_element_list.indexOf(a)] - ($visavis_element_prop as any)[prop][$visavis_element_list.indexOf(b)]\n\t\t\t});\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { per, rem, px } = $mol_style_unit\n\n\t$mol_style_define( $visavis_cube, {\n\n\t\tPlot: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t},\n\n\t\tSetup: {\n\t\t\tflex: {\n\t\t\t\tbasis: rem(25),\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t\tBody: {\n\t\t\t\tpadding: $mol_gap.block,\n\t\t\t},\n\t\t},\n\n\t\tRoot: {\n\t\t\twidth: $mol_style_unit.per(100),\n\t\t\theight: $mol_style_unit.per(100),\n\t\t},\n\n\t\tX_order_label: {\n\t\t\tzIndex: 3,\n\t\t},\n\n\t\tY_order_label: {\n\t\t\tzIndex: 2,\n\t\t},\n\n\t\tZ_order_label: {\n\t\t\tzIndex: 1,\n\t\t},\n\n\t\tSide_right: {\n\t\t\tposition: 'absolute',\n\t\t\ttop: per(50),\n\t\t\tright: $mol_gap.space,\n\t\t\ttransform: 'translateY(-50%)'\n\t\t},\n\n\t\tHeatmap_color: {\n\t\t\twidth: rem(1),\n\t\t\theight: rem(1),\n\t\t\tmargin: px(1),\n\t\t},\n\n\t\tHeatmap_legend: {\n\t\t\talignItems: 'flex-end',\n\t\t\tflex: {\n\t\t\t\tdirection: 'column-reverse',\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\texport class $visavis_phase extends $mol_book2 {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot $visavis_plot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tplot() {\n\t\t\tconst obj = new this.$.$visavis_plot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * colors_by_nphases *\n\t\t * \t1 \\#d1cde6\n\t\t * \talt_1 \\#9cf\n\t\t * \t3 \\#fc6\n\t\t * \t4 \\#FCD3C2\n\t\t * \t5 \\#CCE7D4\n\t\t * \tdefault \\#eee\n\t\t * ```\n\t\t */\n\t\tcolors_by_nphases() {\n\t\t\treturn {\n\t\t\t\t1: \"#d1cde6\",\n\t\t\t\talt_1: \"#9cf\",\n\t\t\t\t3: \"#fc6\",\n\t\t\t\t4: \"#FCD3C2\",\n\t\t\t\t5: \"#CCE7D4\",\n\t\t\t\tdefault: \"#eee\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * line *\n\t\t * \tphase * width 0.2\n\t\t * \tcompound *\n\t\t * \t\twidth 5\n\t\t * \t\tcolor \\#d1cde6\n\t\t * \tdefault *\n\t\t * \t\twidth 0.5\n\t\t * \t\tcolor \\#666\n\t\t * ```\n\t\t */\n\t\tline() {\n\t\t\treturn {\n\t\t\t\tphase: {\n\t\t\t\t\twidth: 0.2\n\t\t\t\t} as Record< string, any >,\n\t\t\t\tcompound: {\n\t\t\t\t\twidth: 5,\n\t\t\t\t\tcolor: \"#d1cde6\"\n\t\t\t\t} as Record< string, any >,\n\t\t\t\tdefault: {\n\t\t\t\t\twidth: 0.5,\n\t\t\t\t\tcolor: \"#666\"\n\t\t\t\t} as Record< string, any >\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * is_triangle false\n\t\t * ```\n\t\t */\n\t\tis_triangle() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * triangle *\n\t\t * \tdatamock / *\n\t\t * \t\ta /\n\t\t * \t\tb /\n\t\t * \t\tc /\n\t\t * \t\ttype \\scatterternary\n\t\t * \tlayout *\n\t\t * \t\thovermode \\closest\n\t\t * \t\tfont *\n\t\t * \t\t\tsize 20\n\t\t * \t\t\tcolor \\#333\n\t\t * \t\t\tfamily \\Exo2\n\t\t * \t\tternary *\n\t\t * \t\t\taaxis *\n\t\t * \t\t\t\ttitle <= json_title_a\n\t\t * \t\t\t\tticks \\\n\t\t * \t\t\t\tshowline true\n\t\t * \t\t\t\tshowgrid false\n\t\t * \t\t\t\tfixedrange true\n\t\t * \t\t\t\tlinewidth 1\n\t\t * \t\t\tbaxis *\n\t\t * \t\t\t\ttitle <= json_title_b\n\t\t * \t\t\t\tticks \\\n\t\t * \t\t\t\tshowline true\n\t\t * \t\t\t\tshowgrid false\n\t\t * \t\t\t\tfixedrange true\n\t\t * \t\t\t\tlinewidth 1\n\t\t * \t\t\tcaxis *\n\t\t * \t\t\t\ttitle <= json_title_c\n\t\t * \t\t\t\tticks \\\n\t\t * \t\t\t\tshowline true\n\t\t * \t\t\t\tshowgrid false\n\t\t * \t\t\t\tfixedrange true\n\t\t * \t\t\t\tlinewidth 1\n\t\t * \t\tshapes <= layout_shapes\n\t\t * \t\tannotations <= annotations\n\t\t * ```\n\t\t */\n\t\ttriangle() {\n\t\t\treturn {\n\t\t\t\tdatamock: [\n\t\t\t\t\t{\n\t\t\t\t\t\ta: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\tb: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\tc: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\ttype: \"scatterternary\"\n\t\t\t\t\t} as Record< string, any >\n\t\t\t\t] as readonly any[],\n\t\t\t\tlayout: {\n\t\t\t\t\thovermode: \"closest\",\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tsize: 20,\n\t\t\t\t\t\tcolor: \"#333\",\n\t\t\t\t\t\tfamily: \"Exo2\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\tternary: {\n\t\t\t\t\t\taaxis: {\n\t\t\t\t\t\t\ttitle: this.json_title_a(),\n\t\t\t\t\t\t\tticks: \"\",\n\t\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\t\tlinewidth: 1\n\t\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t\tbaxis: {\n\t\t\t\t\t\t\ttitle: this.json_title_b(),\n\t\t\t\t\t\t\tticks: \"\",\n\t\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\t\tlinewidth: 1\n\t\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t\tcaxis: {\n\t\t\t\t\t\t\ttitle: this.json_title_c(),\n\t\t\t\t\t\t\tticks: \"\",\n\t\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\t\tlinewidth: 1\n\t\t\t\t\t\t} as Record< string, any >\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\tshapes: this.layout_shapes(),\n\t\t\t\t\tannotations: this.annotations()\n\t\t\t\t} as Record< string, any >\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * triangle_shape_fix *\n\t\t * \ttype \\path\n\t\t * \tpath \\M 0,0 L 0.5,0.866 L 1,0\n\t\t * \tline * width 0\n\t\t * ```\n\t\t */\n\t\ttriangle_shape_fix() {\n\t\t\treturn {\n\t\t\t\ttype: \"path\",\n\t\t\t\tpath: \"M 0,0 L 0.5,0.866 L 1,0\",\n\t\t\t\tline: {\n\t\t\t\t\twidth: 0\n\t\t\t\t} as Record< string, any >\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * triangle_annotations / *\n\t\t * \ttext <= triangle_annotation_text\n\t\t * \tx: -0.25\n\t\t * \ty: 0.96\n\t\t * \tshowarrow false\n\t\t * \txref \\papper\n\t\t * \tyref \\papper\n\t\t * \tfont *\n\t\t * \t\tsize 15\n\t\t * \t\tfamily \\Exo2\n\t\t * ```\n\t\t */\n\t\ttriangle_annotations() {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttext: this.triangle_annotation_text(),\n\t\t\t\t\t\"x:\": -0.25,\n\t\t\t\t\t\"y:\": 0.96,\n\t\t\t\t\tshowarrow: false,\n\t\t\t\t\txref: \"papper\",\n\t\t\t\t\tyref: \"papper\",\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tsize: 15,\n\t\t\t\t\t\tfamily: \"Exo2\"\n\t\t\t\t\t} as Record< string, any >\n\t\t\t\t} as Record< string, any >\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rectangle *\n\t\t * \tdatamock /\n\t\t * \t\t*\n\t\t * \t\t\tx /\n\t\t * \t\t\ty /\n\t\t * \t\t\ttype \\scatter\n\t\t * \t\t\txaxis \\x\n\t\t * \t\t\tyaxis \\y\n\t\t * \t\t*\n\t\t * \t\t\tx /\n\t\t * \t\t\ty /\n\t\t * \t\t\ttype \\scatter\n\t\t * \t\t\txaxis \\x2\n\t\t * \t\t\tyaxis \\y2\n\t\t * \tlayout *\n\t\t * \t\thovermode \\closest\n\t\t * \t\tfont *\n\t\t * \t\t\tsize 16\n\t\t * \t\t\tcolor \\#333\n\t\t * \t\t\tfamily \\Exo2\n\t\t * \t\txaxis *\n\t\t * \t\t\ttitle \\at. %\n\t\t * \t\t\trange <= json_comp_range\n\t\t * \t\t\tfixedrange true\n\t\t * \t\t\tshowticks <= show_ticks\n\t\t * \t\t\tshowline true\n\t\t * \t\t\tzeroline false\n\t\t * \t\t\tshowgrid false\n\t\t * \t\t\tticklen 4\n\t\t * \t\t\ttickfont * size 12\n\t\t * \t\t\thoverformat \\.2r\n\t\t * \t\txaxis2 *\n\t\t * \t\t\trange <= json_comp_range\n\t\t * \t\t\tfixedrange true\n\t\t * \t\t\tshowticks <= show_ticks\n\t\t * \t\t\tshowline true\n\t\t * \t\t\tzeroline false\n\t\t * \t\t\tshowgrid false\n\t\t * \t\t\tticklen 4\n\t\t * \t\t\ttickfont * size 12\n\t\t * \t\t\tside \\top\n\t\t * \t\t\toverlaying \\x\n\t\t * \t\tyaxis *\n\t\t * \t\t\ttitle \\T, °C\n\t\t * \t\t\trange <= json_temp\n\t\t * \t\t\tfixedrange true\n\t\t * \t\t\tshowticks <= show_ticks\n\t\t * \t\t\tshowticklabels <= data_demo\n\t\t * \t\t\tshowline true\n\t\t * \t\t\tzeroline false\n\t\t * \t\t\tshowgrid false\n\t\t * \t\t\tticklen 4\n\t\t * \t\t\ttickfont * size 12\n\t\t * \t\t\thoverformat \\.2r\n\t\t * \t\tyaxis2 *\n\t\t * \t\t\trange <= json_temp\n\t\t * \t\t\tfixedrange true\n\t\t * \t\t\tshowticks <= show_ticks\n\t\t * \t\t\tshowticklabels <= data_demo\n\t\t * \t\t\tshowline true\n\t\t * \t\t\tzeroline false\n\t\t * \t\t\tshowgrid false\n\t\t * \t\t\tticklen 4\n\t\t * \t\t\ttickfont * size 12\n\t\t * \t\t\tside \\right\n\t\t * \t\t\toverlaying \\y\n\t\t * \t\tshapes <= layout_shapes\n\t\t * \t\tannotations <= annotations\n\t\t * ```\n\t\t */\n\t\trectangle() {\n\t\t\treturn {\n\t\t\t\tdatamock: [\n\t\t\t\t\t{\n\t\t\t\t\t\tx: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\ty: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\txaxis: \"x\",\n\t\t\t\t\t\tyaxis: \"y\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t{\n\t\t\t\t\t\tx: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\ty: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\txaxis: \"x2\",\n\t\t\t\t\t\tyaxis: \"y2\"\n\t\t\t\t\t} as Record< string, any >\n\t\t\t\t] as readonly any[],\n\t\t\t\tlayout: {\n\t\t\t\t\thovermode: \"closest\",\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tsize: 16,\n\t\t\t\t\t\tcolor: \"#333\",\n\t\t\t\t\t\tfamily: \"Exo2\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\txaxis: {\n\t\t\t\t\t\ttitle: \"at. %\",\n\t\t\t\t\t\trange: this.json_comp_range(),\n\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\tshowticks: this.show_ticks(),\n\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\tzeroline: false,\n\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\tticklen: 4,\n\t\t\t\t\t\ttickfont: {\n\t\t\t\t\t\t\tsize: 12\n\t\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t\thoverformat: \".2r\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\txaxis2: {\n\t\t\t\t\t\trange: this.json_comp_range(),\n\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\tshowticks: this.show_ticks(),\n\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\tzeroline: false,\n\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\tticklen: 4,\n\t\t\t\t\t\ttickfont: {\n\t\t\t\t\t\t\tsize: 12\n\t\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t\tside: \"top\",\n\t\t\t\t\t\toverlaying: \"x\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\tyaxis: {\n\t\t\t\t\t\ttitle: \"T, °C\",\n\t\t\t\t\t\trange: this.json_temp(),\n\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\tshowticks: this.show_ticks(),\n\t\t\t\t\t\tshowticklabels: this.data_demo(),\n\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\tzeroline: false,\n\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\tticklen: 4,\n\t\t\t\t\t\ttickfont: {\n\t\t\t\t\t\t\tsize: 12\n\t\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t\thoverformat: \".2r\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\tyaxis2: {\n\t\t\t\t\t\trange: this.json_temp(),\n\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\tshowticks: this.show_ticks(),\n\t\t\t\t\t\tshowticklabels: this.data_demo(),\n\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\tzeroline: false,\n\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\tticklen: 4,\n\t\t\t\t\t\ttickfont: {\n\t\t\t\t\t\t\tsize: 12\n\t\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t\tside: \"right\",\n\t\t\t\t\t\toverlaying: \"y\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\tshapes: this.layout_shapes(),\n\t\t\t\t\tannotations: this.annotations()\n\t\t\t\t} as Record< string, any >\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rectangle_annotations /\n\t\t * \t*\n\t\t * \t\ttext <= json_title_a\n\t\t * \t\tx -0.03\n\t\t * \t\ty -0.11\n\t\t * \t\tshowarrow false\n\t\t * \t\txref \\papper\n\t\t * \t\tyref \\papper\n\t\t * \t\tfont *\n\t\t * \t\t\tsize 20\n\t\t * \t\t\tfamily \\Exo2\n\t\t * \t*\n\t\t * \t\ttext <= json_title_b\n\t\t * \t\tx 1.03\n\t\t * \t\ty -0.11\n\t\t * \t\tshowarrow false\n\t\t * \t\txref \\papper\n\t\t * \t\tyref \\papper\n\t\t * \t\tfont *\n\t\t * \t\t\tsize 20\n\t\t * \t\t\tfamily \\Exo2\n\t\t * ```\n\t\t */\n\t\trectangle_annotations() {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttext: this.json_title_a(),\n\t\t\t\t\tx: -0.03,\n\t\t\t\t\ty: -0.11,\n\t\t\t\t\tshowarrow: false,\n\t\t\t\t\txref: \"papper\",\n\t\t\t\t\tyref: \"papper\",\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tsize: 20,\n\t\t\t\t\t\tfamily: \"Exo2\"\n\t\t\t\t\t} as Record< string, any >\n\t\t\t\t} as Record< string, any >,\n\t\t\t\t{\n\t\t\t\t\ttext: this.json_title_b(),\n\t\t\t\t\tx: 1.03,\n\t\t\t\t\ty: -0.11,\n\t\t\t\t\tshowarrow: false,\n\t\t\t\t\txref: \"papper\",\n\t\t\t\t\tyref: \"papper\",\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tsize: 20,\n\t\t\t\t\t\tfamily: \"Exo2\"\n\t\t\t\t\t} as Record< string, any >\n\t\t\t\t} as Record< string, any >\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * annotation *\n\t\t * \tshow_arrow false\n\t\t * \tfont *\n\t\t * \t\tsize 13\n\t\t * \t\tfamily \\Exo2\n\t\t * ```\n\t\t */\n\t\tannotation() {\n\t\t\treturn {\n\t\t\t\tshow_arrow: false,\n\t\t\t\tfont: {\n\t\t\t\t\tsize: 13,\n\t\t\t\t\tfamily: \"Exo2\"\n\t\t\t\t} as Record< string, any >\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * annotation_textangle* 0\n\t\t * ```\n\t\t */\n\t\tannotation_textangle(id: any) {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_options *\n\t\t * \tdisplaylogo false\n\t\t * \tdisplayModeBar false\n\t\t * \tstaticPlot false\n\t\t * ```\n\t\t */\n\t\tplot_options() {\n\t\t\treturn {\n\t\t\t\tdisplaylogo: false,\n\t\t\t\tdisplayModeBar: false,\n\t\t\t\tstaticPlot: false\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages / <= Plot\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Plot()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * json_title_a \\\n\t\t * ```\n\t\t */\n\t\tjson_title_a() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * json_title_b \\\n\t\t * ```\n\t\t */\n\t\tjson_title_b() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * json_title_c \\\n\t\t * ```\n\t\t */\n\t\tjson_title_c() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * layout_shapes /\n\t\t * ```\n\t\t */\n\t\tlayout_shapes() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * annotations /\n\t\t * ```\n\t\t */\n\t\tannotations() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * triangle_annotation_text \\\n\t\t * ```\n\t\t */\n\t\ttriangle_annotation_text() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * json_comp_range /\n\t\t * ```\n\t\t */\n\t\tjson_comp_range() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * show_ticks false\n\t\t * ```\n\t\t */\n\t\tshow_ticks() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * json_temp /\n\t\t * ```\n\t\t */\n\t\tjson_temp() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * data_demo false\n\t\t * ```\n\t\t */\n\t\tdata_demo() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_title \\\n\t\t * ```\n\t\t */\n\t\tplot_title() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * label? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tlabel(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Label $mol_view sub / <= label?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tLabel() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.label()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mousemove null\n\t\t * ```\n\t\t */\n\t\tmousemove() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Root $mol_view\n\t\t * \tdom_name \\div\n\t\t * \tevent * mousemove <= mousemove\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tRoot() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.dom_name = () => \"div\"\n\t\t\tobj.event = () => ({\n\t\t\t\tmousemove: this.mousemove()\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * draw null\n\t\t * ```\n\t\t */\n\t\tdraw() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot $mol_page\n\t\t * \ttitle <= plot_title\n\t\t * \tbody /\n\t\t * \t\t<= Label\n\t\t * \t\t<= Root\n\t\t * \tauto <= draw\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPlot() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.plot_title()\n\t\t\tobj.body = () => [\n\t\t\t\tthis.Label(),\n\t\t\t\tthis.Root()\n\t\t\t] as readonly any[]\n\t\t\tobj.auto = () => this.draw()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\t/**\n\t * Checks for equality to given value and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_const_demo\n\t */\n\texport function $mol_data_const< Val >( ref : Val ) {\n\n\t\treturn $mol_data_setup( ( val : Val ) => {\n\t\t\t\n\t\t\tif( $mol_compare_deep( val , ref ) ) return ref\n\t\t\t\n\t\t\treturn $mol_fail( new $mol_data_error( `${ JSON.stringify( val ) } is not ${ JSON.stringify( ref ) }` ) )\n\n\t\t} , ref )\n\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for dictionary which maps strings to given runtype and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_dict_demo\n\t */\n\texport function $mol_data_dict< Sub extends $mol_data_value >( sub : Sub ) {\n\n\t\treturn $mol_data_setup( ( val : Readonly< Record< string , ReturnType< Sub > > > ) => {\n\t\t\t\n\t\t\tif( Object.getPrototypeOf( val ) !== Object.prototype ) {\n\t\t\t\treturn $mol_fail( new $mol_data_error( `${ val } is not an Object` ) )\n\t\t\t}\n\n\t\t\tconst res = {} as Record< string , ReturnType< Sub > >\n\t\t\t\n\t\t\tfor( const field in val as Object ) {\n\n\t\t\t\ttry {\n\t\t\t\t\tres[ field ] = sub( ( val as any )[ field ] )\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\tif( error instanceof Promise ) return $mol_fail_hidden( error )\n\t\t\t\t\t\n\t\t\t\t\terror.message = `[${ JSON.stringify( field ) }] ${ error.message }`\n\t\t\t\t\treturn $mol_fail( error )\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn res as Readonly< Record< string , ReturnType< Sub > > >\n\t\t\t\n\t\t} , sub )\n\n\t}\n\t\t\t\n}\n","namespace $.$$ {\n\n\tconst Label_json = ( val: any ) => {\n\t\tif( !Array.isArray( val ) ) return $mol_fail( new $mol_data_error( `${ val } is not a array` ) )\n\t\tif( val.length < 2 || val.length > 3 ) return $mol_fail( new $mol_data_error( `${ val } should have 2 or 3 items` ) )\n\n\t\tconst check = { 0: val[ 0 ], 1: val[ 1 ], 2: val[ 2 ] }\n\t\tconst obj = $mol_data_record( {\n\t\t\t0: $mol_data_string,\n\t\t\t1: $mol_data_array( $mol_data_number ),\n\t\t\t2: $mol_data_nullable( $mol_data_number ),\n\t\t} )( check )\n\t\treturn Object.values( obj ) as [ string, number[], null | number ]\n\t}\n\n\t// source https://developer.mpds.io/mpds.schema.json#/definitions/phase_diagram\n\tconst $visavis_phase_rect_json = $mol_data_record( {\n\t\t// both\n\t\tnaxes: $mol_data_number,\n\t\tarity: $mol_data_number,\n\t\tdiatype: $mol_data_string,\n\t\tchemical_elements: $mol_data_array( $mol_data_string ),\n\t\ttemp: $mol_data_array( $mol_data_number ),\n\t\tlabels: $mol_data_array( Label_json ), // Array<[string, number[], null | number]>\n\t\tshapes: $mol_data_array( $mol_data_record( {\n\t\t\tkind: $mol_data_string,\n\t\t\tsvgpath: $mol_data_string,\n\t\t\tlabel: $mol_data_optional( $mol_data_string ),\n\t\t\tphase: $mol_data_optional( $mol_data_string ),\n\t\t\tnphases: $mol_data_optional( $mol_data_number ),\n\t\t\tis_solid: $mol_data_optional( $mol_data_boolean ),\n\t\t\tphase_id: $mol_data_optional( $mol_data_number ),\n\t\t\treflabel: $mol_data_optional( $mol_data_number ),\n\t\t\tchemical_elements: $mol_data_optional( $mol_data_array( $mol_data_string ) ),\n\t\t} ) ),\n\t\tentry: $mol_data_string,\n\t\tobject_type: $mol_data_string,\n\t\tuse_visavis_type: $mol_data_const( 'pd' ),\n\t\t\n\t\ttitle_a: $mol_data_optional( $mol_data_string ),\n\t\ttitle_b: $mol_data_optional( $mol_data_string ),\n\t\tobject_repr: $mol_data_optional( $mol_data_string ),\n\t\t// rect\n\t\tcomp_end: $mol_data_optional( $mol_data_dict( $mol_data_number ) ),\n\t\tcomp_range: $mol_data_optional( $mol_data_array( $mol_data_number ) ),\n\t\tcomp_start: $mol_data_optional( $mol_data_dict( $mol_data_number ) ),\n\t\t// triangle\n\t\ttitle_c: $mol_data_optional( $mol_data_string ),\n\t\tcomp_a: $mol_data_optional( $mol_data_dict( $mol_data_number ) ),\n\t\tcomp_b: $mol_data_optional( $mol_data_dict( $mol_data_number ) ),\n\t\tcomp_c: $mol_data_optional( $mol_data_dict( $mol_data_number ) ),\n\t\trange_a: $mol_data_optional( $mol_data_array( $mol_data_number ) ),\n\t\trange_b: $mol_data_optional( $mol_data_array( $mol_data_number ) ),\n\t\trange_c: $mol_data_optional( $mol_data_array( $mol_data_number ) ),\n\t} )\n\n\tfunction get_rect_pd_compound( comp: any, obj_left: any, obj_right: any ) {\n\t\tconst els = Object.keys( obj_left ).sort()\n\t\tlet formula = ''\n\t\tlet coeff = 0\n\n\t\tels.forEach( function( el ) {\n\t\t\tif( obj_right[ el ] == obj_left[ el ] )\n\t\t\t\tformula += el + ' × ' + obj_left[ el ].toFixed( 2 ) + ', '\n\n\t\t\telse if( obj_right[ el ] > obj_left[ el ] ) {\n\t\t\t\tcoeff = obj_left[ el ] + comp * ( obj_right[ el ] - obj_left[ el ] )\n\t\t\t\tcoeff = Math.round( coeff * 100 ) / 100\n\t\t\t\tif( !coeff ) return\n\t\t\t\tformula += el + ' × ' + coeff.toFixed( 2 ) + ', '\n\n\t\t\t} else {\n\t\t\t\tcoeff = obj_left[ el ] - ( comp * ( obj_left[ el ] - obj_right[ el ] ) )\n\t\t\t\tcoeff = Math.round( coeff * 100 ) / 100\n\t\t\t\tif( !coeff ) return\n\t\t\t\tformula += el + ' × ' + coeff.toFixed( 2 ) + ', '\n\t\t\t}\n\t\t} )\n\n\t\treturn formula.substr( 0, formula.length - 2 )\n\t}\n\n\tfunction get_tri_pd_compound( a: any, b: any, c: any, obj_a: any, obj_b: any, obj_c: any ) {\n\t\tconst els = Object.keys( obj_a ).sort()\n\t\tlet formula = ''\n\t\tlet coeff = 0\n\n\t\tels.forEach( function( el ) {\n\t\t\tcoeff = Math.round( ( obj_a[ el ] * a + obj_b[ el ] * b + obj_c[ el ] * c ) * 100 ) / 100\n\t\t\tif( !coeff ) return\n\t\t\tformula += el + ' × ' + coeff.toFixed( 2 ) + ', '\n\t\t} )\n\n\t\treturn formula.substr( 0, formula.length - 2 )\n\t}\n\n\texport function inside_triangle( x: number, y: number, x1: number, y1: number, x2: number, y2: number, x3: number, y3: number ) {\n\t\tfunction fAB( x: number, y: number, x1: number, y1: number, x2: number, y2: number, x3: number, y3: number ) {\n\t\t\treturn ( y - y1 ) * ( x2 - x1 ) - ( x - x1 ) * ( y2 - y1 )\n\t\t}\n\n\t\tfunction fBC( x: number, y: number, x1: number, y1: number, x2: number, y2: number, x3: number, y3: number ) {\n\t\t\treturn ( y - y2 ) * ( x3 - x2 ) - ( x - x2 ) * ( y3 - y2 )\n\t\t}\n\n\t\tfunction fCA( x: number, y: number, x1: number, y1: number, x2: number, y2: number, x3: number, y3: number ) {\n\t\t\treturn ( y - y3 ) * ( x1 - x3 ) - ( x - x3 ) * ( y1 - y3 )\n\t\t}\n\n\t\tif( fAB( x, y, x1, y1, x2, y2, x3, y3 ) * fBC( x, y, x1, y1, x2, y2, x3, y3 ) > 0 && fBC( x, y, x1, y1, x2, y2, x3, y3 ) * fCA( x, y, x1, y1, x2, y2, x3, y3 ) > 0 ) return true\n\t\telse return false\n\t}\n\n\texport function cartesian_to_ternary( x: number, y: number ) {\n\t\tconst b = y / ( Math.sqrt( 3 ) / 2 ),\n\t\t\ta = 1 - ( x + ( y / Math.sqrt( 3 ) ) ),\n\t\t\tc = 1 - a - b\n\t\treturn [ a, b, c ]\n\t}\n\n\t// TODO FIXME this should be done on the server\n\texport function fix_comp_impossible( comp_range: any, obj_left: any, obj_right: any ) {\n\t\tif( comp_range[ 1 ] - comp_range[ 0 ] == 100 ) return false\n\n\t\tconst els = Object.keys( obj_left )\n\t\tlet count = 0\n\t\tlet fixed = {} as any\n\n\t\tif( els.length > 2 )\n\t\t\treturn false\n\n\t\tfor( const el in obj_left ) {\n\t\t\tif( ( obj_right[ el ] == 0 && obj_left[ el ] == 1 ) || ( obj_left[ el ] == 0 && obj_right[ el ] == 1 ) )\n\t\t\t\tcount++\n\t\t}\n\n\t\tif( count == els.length ) {\n\t\t\tfixed = { comp_start: obj_left, comp_end: obj_right }\n\n\t\t\tif( fixed.comp_start[ els[ 0 ] ] == 0 ) {\n\t\t\t\tfixed.comp_start[ els[ 0 ] ] = comp_range[ 0 ] / 100\n\t\t\t\tfixed.comp_start[ els[ 1 ] ] = 1 - ( comp_range[ 0 ] / 100 )\n\t\t\t\tfixed.comp_end[ els[ 0 ] ] = comp_range[ 1 ] / 100\n\t\t\t\tfixed.comp_end[ els[ 1 ] ] = 1 - ( comp_range[ 1 ] / 100 )\n\t\t\t} else {\n\t\t\t\tfixed.comp_start[ els[ 0 ] ] = 1 - ( comp_range[ 0 ] / 100 )\n\t\t\t\tfixed.comp_start[ els[ 1 ] ] = comp_range[ 0 ] / 100\n\t\t\t\tfixed.comp_end[ els[ 0 ] ] = 1 - ( comp_range[ 1 ] / 100 )\n\t\t\t\tfixed.comp_end[ els[ 1 ] ] = comp_range[ 1 ] / 100\n\t\t\t}\n\t\t\treturn fixed\n\t\t}\n\t\treturn false\n\t}\n\n\texport class $visavis_phase extends $.$visavis_phase {\n\n\t\tplot_title() {\n\t\t\treturn this.plot().id()\n\t\t}\n\n\t\tjson() {\n\t\t\treturn $visavis_phase_rect_json( this.plot().json() as any )\n\t\t}\n\n\t\tjson_title_b() {\n\t\t\treturn this.json().title_b ?? ''\n\t\t}\n\n\t\tjson_title_a() {\n\t\t\treturn this.json().title_a ?? ''\n\t\t}\n\n\t\tjson_title_c() {\n\t\t\treturn this.json().title_c ?? ''\n\t\t}\n\n\t\tjson_comp_range() {\n\t\t\treturn this.json().comp_range ?? []\n\t\t}\n\n\t\tjson_temp() {\n\t\t\treturn this.json().temp\n\t\t}\n\n\t\tdata_demo() {\n\t\t\treturn !this.json().comp_a && !this.json().comp_start\n\t\t}\n\n\t\tshow_ticks() {\n\t\t\treturn this.json().labels.length > 0\n\t\t}\n\n\t\tis_triangle() {\n\t\t\treturn this.json().naxes === 3\n\t\t}\n\n\t\t@$mol_mem\n\t\tlayout_shapes() {\n\t\t\tconst list = this.json().shapes.map( obj => ( {\n\t\t\t\ttype: 'path',\n\t\t\t\tpath: obj.svgpath,\n\t\t\t\tline: this.line()[ obj.kind ] ?? this.line().default,\n\t\t\t\t...obj.kind !== 'phase' && obj.kind !== 'compound' ? { fillOpacity: 0 } : {},\n\t\t\t\t...obj.kind === 'phase' ? {\n\t\t\t\t\tfillcolor: !obj.is_solid && obj.nphases === 1 ? this.colors_by_nphases().alt_1 : this.colors_by_nphases()[ obj.nphases! ] ?? this.colors_by_nphases().default\n\t\t\t\t} : {},\n\t\t\t} ) )\n\n\t\t\treturn this.is_triangle() ? [ this.triangle_shape_fix(), ...list ] : list\n\t\t}\n\n\t\tannotation_textangle( label: ReturnType ) {\n\t\t\treturn label[ 0 ].replace( /<\\/?sub>/g, '' ).length > 10 ? -65 : 0\n\t\t}\n\n\t\t@$mol_mem\n\t\tannotations() {\n\t\t\tconst list = this.json().labels.map( label => ( {\n\t\t\t\tx: label[ 1 ][ 0 ],\n\t\t\t\ty: label[ 1 ][ 1 ],\n\t\t\t\ttext: label[ 0 ],\n\t\t\t\tshowarrow: this.annotation().show_arrow,\n\t\t\t\tfont: this.annotation().font,\n\t\t\t\ttextangle: this.annotation_textangle( label )\n\t\t\t} ) )\n\n\t\t\treturn [\n\t\t\t\t...list,\n\t\t\t\t...this.json().title_c && this.json().arity > 2 && !this.data_demo() ? this.triangle_annotations() : [],\n\t\t\t\t...this.json().naxes === 2 ? this.rectangle_annotations() : [],\n\t\t\t]\n\t\t}\n\n\t\tmouseover() {\n\t\t\tconst that = $lib_d3.all().select( this )\n\t\t\tconsole.log( that )\n\t\t\tconst idx = that.attr( 'data-index' )\n\n\t\t\t// if (json.naxes == 3){\n\t\t\t// if (idx == 0) return false;\n\t\t\t// idx--;\n\t\t\t// }\n\n\t\t\tthat.attr( 'data-state', that.style( 'fill' ) )\n\t\t\tthat.style( { 'cursor': 'pointer', 'fill': '#3e3f95' } )\n\t\t}\n\n\t\tmouseout() {}\n\n\t\tclick() {}\n\n\t\tmousemove() {}\n\n\t\t@$mol_action\n\t\tsubscribe_events() {\n\t\t\tconst d3 = $lib_d3.all()\n\t\t\tconsole.log('is trinagle', this.is_triangle())\n\n\t\t\tif ( this.is_triangle() ) this.pd_fix_triangle()\n\n\t\t\t// skip unsupported PD types\n\t\t\tif ( this.json().diatype && this.json().diatype.indexOf( 'projection' ) !== -1 ) return\n\n\t\t\tconst json = this.json()\n\t\t\tconst is_triangle = this.is_triangle()\n\n\t\t\tconst figures = d3.selectAll('[visavis_phase_root] .shapelayer path')\n\t\t\tfigures.on('mouseover', function(this: any) {\n\t\t\t\tconst that = d3.select(this)\n\t\t\t\tlet idx = that.attr('data-index')\n\n\t\t\t\tif (is_triangle){\n\t\t\t\t\tif (idx == 0) return false;\n\t\t\t\t\tidx--;\n\t\t\t\t}\n\n\t\t\t\tthat.attr('data-state', that.style('fill'));\n\t\t\t\tthat.style('cursor', 'pointer');\n\t\t\t\tthat.style('fill', '#3e3f95');\n\n\t\t\t\tconst reflabel = json.shapes[idx]?.reflabel\n\t\t\t\tif (reflabel !== undefined && json.labels[reflabel] !== undefined){\n\t\t\t\t\td3.select(`g.annotation[data-index=\"'${reflabel}'\"]`).select('text').style('fill', '#f30');\n\t\t\t\t}\n\t\t\t\t// original\n\t\t\t\t// if (visavis.pd_phases[idx] !== undefined && json.labels[visavis.pd_phases[idx]] !== undefined){\n\t\t\t\t// \tPlotly.d3.select('g.annotation[data-index=\"' + visavis.pd_phases[idx] + '\"]').select('text').style('fill', '#f30');\n\t\t\t\t// }\n\t\t\t})\n\n\t\t\tfigures.on('mouseout', function(this: any) {\n\t\t\t\tconst that = d3.select(this)\n\t\t\t\tconst state = that.attr('data-state')\n\n\t\t\t\tif (state){\n\t\t\t\t\tthat.style('fill', state)\n\t\t\t\t\tthat.style('cursor', 'default')\n\t\t\t\t\td3.selectAll('[visavis_phase_root] g.annotation').select('text').style('fill', '#000');\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tconst canvas = this.Root().dom_node() as any\n\n\t\t\t// rectangle\n\t\t\tif (!this.is_triangle()) {\n\t\t\t\tconst fixed = fix_comp_impossible(json.comp_range, json.comp_start, json.comp_end);\n\t\t\t\tconst comp_start = fixed?.comp_start ?? json.comp_start\n\t\t\t\tconst comp_end = fixed?.comp_end ?? json.comp_end\n\n\t\t\t\tconst xaxis = canvas._fullLayout.xaxis\n\t\t\t\tconst yaxis = canvas._fullLayout.yaxis\n\t\t\t\tconst margin_l = canvas._fullLayout.margin.l\n\t\t\t\tconst margin_t = canvas._fullLayout.margin.t\n\n\t\t\t\tconst self = this\n\n\t\t\t\tcanvas.addEventListener('mousemove', $mol_wire_async((evt: any) => {\n\t\t\t\t\tconst comp = xaxis.p2c(evt.layerX - margin_l)\n\t\t\t\t\tconst temp = parseInt(yaxis.p2c(evt.layerY - margin_t));\n\n\t\t\t\t\tif (comp > json.comp_range![0] && comp < json.comp_range![1] && temp > json.temp[0] && temp < json.temp[1]){\n\t\t\t\t\t\tconst label = get_rect_pd_compound((comp - json.comp_range![0]) / (json.comp_range![1] - json.comp_range![0]), comp_start, comp_end) + ' at T = ' + temp + ' °C';\n\t\t\t\t\t\tself.label(label)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.label('')\n\t\t\t\t\t}\n\t\t\t\t}))\n\t\t\t}\n\t\t}\n\n\t\t@$mol_mem\n\t\tdraw() {\n\t\t\tconst { datamock, layout } = this.is_triangle() ? this.triangle() : this.rectangle()\n\n\t\t\t// with $mol_wire_sync not working \n\t\t\tconst promise = $lib_plotly.all().react(\n\t\t\t\tthis.Root().dom_node() as HTMLElement,\n\t\t\t\tdatamock,\n\t\t\t\tlayout,\n\t\t\t\tthis.plot_options(),\n\t\t\t)\n\n\t\t\tpromise.then( () => this.subscribe_events() )\n\t\t}\n\n\t\tpd_fix_triangle() {\n\t\t\tconst d3 = $lib_d3.all()\n\n\t\t\tfunction make_absolute_context( element: SVGGraphicsElement, root: HTMLElement ) {\n\t\t\t\treturn function( x: number, y: number ) {\n\t\t\t\t\tvar offset = root.getBoundingClientRect()\n\t\t\t\t\tvar matrix = element.getScreenCTM()\n\t\t\t\t\treturn {\n\t\t\t\t\t\tx: ( matrix!.a * x ) + ( matrix!.c * y ) + matrix!.e - offset.left,\n\t\t\t\t\t\ty: ( matrix!.b * x ) + ( matrix!.d * y ) + matrix!.f - offset.top\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction get_absolute_coords( el: SVGGraphicsElement, ref: HTMLElement ) {\n\t\t\t\tconst fn = make_absolute_context( el, ref )\n\t\t\t\tconst b = el.getBBox()\n\t\t\t\treturn fn( b.x, b.y )\n\t\t\t}\n\n\t\t\tconst svgroot = d3.select( \"[visavis_phase_root] svg.main-svg\" )[ 0 ][ 0 ] // window\n\t\t\tlet graph_node = d3.select( \"[visavis_phase_root] g.toplevel.plotbg\" )[ 0 ][ 0 ] // graph frame\n\t\t\tconst graph_coords = get_absolute_coords( graph_node, svgroot )\n\t\t\tconst svg_el = d3.select( \"[visavis_phase_root] g.layer-above\" ) // actual drawing\n\t\t\tlet svg_node = svg_el[ 0 ][ 0 ]\n\n\t\t\tgraph_node = graph_node.getBoundingClientRect()\n\t\t\tsvg_node = svg_node.getBoundingClientRect()\n\n\t\t\tconst scaleX = graph_node.width / svg_node.width\n\t\t\tconst scaleY = graph_node.height / svg_node.height\n\t\t\tconst centerX = graph_coords.x + graph_node.width / 2\n\t\t\tconst centerY = graph_coords.y + graph_node.height // NB!\n\n\t\t\tconst origdims = [] as number[]\n\n\t\t\td3.selectAll( \"[visavis_phase_root] text.annotation-text\" ).each( function( this: any ) {\n\t\t\t\torigdims.push( parseInt( this.getBoundingClientRect().left ) )\n\t\t\t} )\n\n\t\t\tsvg_el.attr( \"transform\", \"translate(\" + ( -centerX * ( scaleX - 1 ) ) + \", \" + ( -centerY * ( scaleY - 1 ) ) + \") scale(\" + scaleX + \", \" + scaleY + \")\" )\n\n\t\t\td3.selectAll( \"[visavis_phase_root] g.annotation\" ).each( function( this: any, d: any, i: any ) {\n\t\t\t\td3.select( this ).attr( \"transform\", \"translate(\" + ( -centerX * ( scaleX - 1 ) ) + \", \" + ( -centerY * ( scaleY - 1 ) ) + \") scale(\" + scaleX + \", \" + scaleY + \") translate(\" + ( -origdims[ i ] / 1.25 ) + \", 0) scale(1.75, 1)\" )\n\t\t\t} )\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"visavis/phase/phase.view.css\",\n \"path{pointer-events:painted;}\\ng{pointer-events:painted;}\\n\"\n) }","namespace $.$$ {\n\n\tconst { per, rem, px } = $mol_style_unit\n\n\t$mol_style_define( $visavis_phase, {\n\n\t\tPlot: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t},\n\n\t\tRoot: {\n\t\t\twidth: $mol_style_unit.per(100),\n\t\t\theight: $mol_style_unit.per(100),\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\texport class $visavis_plot_plotly extends $mol_page {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot $visavis_plot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tplot() {\n\t\t\tconst obj = new this.$.$visavis_plot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * json *\n\t\t * ```\n\t\t */\n\t\tjson() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages / <= Plot\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Plot()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_options *\n\t\t * \tdisplaylogo false\n\t\t * \tdisplayModeBar false\n\t\t * \tstaticPlot false\n\t\t * ```\n\t\t */\n\t\tplot_options() {\n\t\t\treturn {\n\t\t\t\tdisplaylogo: false,\n\t\t\t\tdisplayModeBar: false,\n\t\t\t\tstaticPlot: false\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_title \\\n\t\t * ```\n\t\t */\n\t\tplot_title() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * draw null\n\t\t * ```\n\t\t */\n\t\tdraw() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Root $mol_view auto <= draw\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tRoot() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.auto = () => this.draw()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * error_showed? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\terror_showed(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Error $mol_view sub / <= error_showed?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tError() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.error_showed()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_body /\n\t\t * \t<= Root\n\t\t * \t<= Error\n\t\t * ```\n\t\t */\n\t\tplot_body() {\n\t\t\treturn [\n\t\t\t\tthis.Root(),\n\t\t\t\tthis.Error()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot $mol_page\n\t\t * \ttitle <= plot_title\n\t\t * \tbody <= plot_body\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPlot() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.plot_title()\n\t\t\tobj.body = () => this.plot_body()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\texport class $visavis_plot_plotly extends $.$visavis_plot_plotly {\n\n\t\tplot_title() {\n\t\t\treturn this.plot().id()\n\t\t}\n\n\t\tjson() {\n\t\t\treturn this.plot().json() as any\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\t\t\treturn {\n\t\t\t\tfont: {family: \"Exo2\", size: 13}\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\tconst json = this.json()\n\n\t\t\treturn json\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdraw() {\n\t\t\ttry {\n\n\t\t\t\t$mol_wire_sync( $lib_plotly.all() ).react(\n\t\t\t\t\tthis.Root().dom_node() as HTMLElement,\n\t\t\t\t\tthis.data(), \n\t\t\t\t\tthis.layout(),\n\t\t\t\t\tthis.plot_options(),\n\t\t\t\t)\t\n\n\t\t\t\tthis.subscribe_events() \n\t\t\t\tthis.error_showed( null )\n\n\t\t\t} catch( error: any ) {\n\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\tthis.error_showed( error )\n\n\t\t\t}\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t$mol_style_define( $visavis_plot_plotly, {\n\n\t\tPlot: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tRoot: {\n\t\t\twidth: '100%',\n\t\t\theight: '100%',\n\t\t},\n\n\t\tError: {\n\t\t\tposition: \"absolute\",\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\texport class $visavis_bar extends $visavis_plot_plotly {\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\tconst Payload = $mol_data_record({\n\t\tx: $mol_data_array( $mol_data_number ),\n\t\tdx: $mol_data_number,\n\t\ty: $mol_data_array( $mol_data_number ),\n\t\txtitle: $mol_data_optional( $mol_data_string ),\n\t\tytitle: $mol_data_optional( $mol_data_string ),\n\t})\n\n\texport const $visavis_bar_json = $mol_data_record({\n\t\tpayload: Payload,\n\t\tpayload2: $mol_data_optional( Payload ),\n\t})\n\n\texport class $visavis_bar extends $.$visavis_bar {\n\n\t\tjson() {\n\t\t\treturn $visavis_bar_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n\n\t\t\tconst d3 = $lib_d3.all()\n\n\t\t\tconst json = this.json() as any\n\n\t\t\tif (json.payload2 && json.p1ayload2.x && json.payload2.y) return\n\t\t\t\n\t\t\t// warn_demo();1\n\t\t\t// if (visavis.mpds_embedded) document.getElementById('expander').style.display = 'block';\n\t\t\tconst paths = d3.selectAll('g.point path')\n\t\t\tpaths.on('mouseover', function(this: any){\n\t\t\t\tconst selection = d3.select(this)\n\t\t\t\tselection.style('fill', '#E36868');\n\t\t\t\tselection.style('cursor', 'pointer');\n\t\t\t})\n\t\t\tpaths.on('mouseout', function(this: any){\n\t\t\t\tconst selection = d3.select(this)\n\t\t\t\tselection.style('fill', '#3e3f95');\n\t\t\t\tselection.style('cursor', 'default');\n\t\t\t})\n\t\t\t// paths.on('click', function(evt){\n\t\t\t// \tif (visavis.mpds_embedded){\n\t\t\t// \t\twindow.parent.wmgui.visavis_terminating = true;\n\t\t\t// \t\twindow.parent.location.hash = window.parent.wmgui.aug_search_cmd(\"years\", evt.x);\n\t\t\t// \t}\n\t\t\t// });\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\t\t\tconst json = this.json()\n\t\t\treturn {\n\t\t\t\tshowlegend: json.payload2 ? true : false,\n\t\t\t\tlegend: {x: 0, y: 1, font: {family: \"Exo2\", size: 17}},\n\t\t\t\txaxis: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tzeroline: false,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\tdtick: json.payload.dx || 0.05,\n\t\t\t\t\ttitle: json.payload.xtitle\n\t\t\t\t\t//rangemode: \"nonnegative\"\n\t\t\t\t},\n\t\t\t\tyaxis: {\n\t\t\t\t\tfixedrange: true,\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: true,\n\t\t\t\t\tshowline: false,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tticklen: 0,\n\t\t\t\t\ttitle: json.payload.ytitle,\n\t\t\t\t\trangemode: \"nonnegative\",\n\t\t\t\t\ttype: \"log\", tickfont: {family: \"Exo2\", size: 17}\n\t\t\t\t},\n\t\t\t\tfont: {family: \"Exo2\", size: 13}\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\n\t\t\tconst json = this.json()\n\n\t\t\tconst payload = [{type: \"bar\", x: json.payload.x, y: json.payload.y, marker: {color: \"#3e3f95\"}, name: 'bar'}]\n\t\t\t\n\t\t\tif (json.payload2 && json.payload2.x && json.payload2.y){\n\t\t\t\tpayload.push({type: \"bar\", x: json.payload2.x, y: json.payload2.y, marker: {color: \"#e36868\"}, name: 'bar'});\n\t\t\t}\n\n\t\t\treturn payload\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t$mol_style_define( $visavis_bar, {\n\n\t\tPlot: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tRoot: {\n\t\t\twidth: '100%',\n\t\t\theight: '100%',\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\texport class $visavis_discovery extends $visavis_plot_plotly {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages /\n\t\t * \t<= Plot\n\t\t * \t<= Setup\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Plot(),\n\t\t\t\tthis.Setup()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * elemental_checked*? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\telemental_checked(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * elementals_dict *\n\t\t * ```\n\t\t */\n\t\telementals_dict() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Elementals_check $mol_check_list\n\t\t * \toption_checked*? <=> elemental_checked*?\n\t\t * \toptions <= elementals_dict\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tElementals_check() {\n\t\t\tconst obj = new this.$.$mol_check_list()\n\t\t\t\n\t\t\tobj.option_checked = (id: any, next?: any) => this.elemental_checked(id, next)\n\t\t\tobj.options = () => this.elementals_dict()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Elementals $mol_labeler\n\t\t * \ttitle \\Elementals on\n\t\t * \tContent <= Elementals_check\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tElementals() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => \"Elementals on\"\n\t\t\tobj.Content = () => this.Elementals_check()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Setup $mol_page\n\t\t * \ttitle @ \\Setup\n\t\t * \tbody / <= Elementals\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSetup() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_discovery_Setup_title' )\n\t\t\tobj.body = () => [\n\t\t\t\tthis.Elementals()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\tconst Point = $mol_data_array( $mol_data_number )\n\n\tconst Payload = $mol_data_record({\n\t\tpoints: $mol_data_array( Point ),\n\t})\n\n\tconst Discover_item = $mol_data_record({\n\t\tpoints: $mol_data_array( Point ),\n\t\tname: $mol_data_string\n\t})\n\n\ttype Elementals_dict = typeof $visavis_elemental_names\n\n\texport const $visavis_discovery_json = $mol_data_record({\n\t\tpayload: Payload,\n\t\tanswerto: $mol_data_string,\n\t})\n\n\tfunction discover(\n\t\telementals_on: (keyof Elementals_dict)[], \n\t\tfirst: typeof Discover_item.Value, \n\t\tsecond?: typeof Discover_item.Value\n\t) {\n\t\tconst mlPca: any = $visavis_lib.pca()\n\t\tif (!mlPca) return $mol_fail( new $mol_data_error('Sorry, your web-browser is too old for this task') );\n\t\n\t\t// if (!first.points.length || (second && !second.points.length)) return urge('Error: not enough data for analysis');\n\t\t// ^ this will be validated in Discover_item()\n\n\t\tlet\tgiven_separation = 0;\n\t\t// given_separation = false;\n\n\t\tfunction elements_data( element_ids: readonly number[] ){\n\t\t\tconst prop_array: number[] = []\n\t\t\tconst label_parts: string[] = []\n\n\t\t\telement_ids.forEach( element_id => {\n\t\t\t\tconst props = elementals_on.map( prop_name => $visavis_element_prop[ prop_name ][ element_id ])\n\t\t\t\tconst name = $visavis_element_list[ element_id ]!\n\t\t\t\tprop_array.push( ...props )\n\t\t\t\tlabel_parts.push( name );\n\t\t\t})\n\n\t\t\tconst label = label_parts.filter( x => x ).join('-')\n\t\t\treturn { prop_array, label }\n\t\t}\n\n\t\tconst to_predict: number[][] = []\n\t\tconst labels: string[] = []\n\n\t\tfirst.points.forEach( element_ids => {\n\t\t\tconst { prop_array, label } = elements_data( element_ids )\n\n\t\t\tto_predict.push( prop_array );\n\t\t\tlabels.push( label );\n\t\t})\n\t\n\t\tif (second){\n\t\t\tgiven_separation = to_predict.length;\n\n\t\t\tsecond.points.forEach( element_ids => {\n\t\t\t\tconst { prop_array, label } = elements_data( element_ids )\n\t\n\t\t\t\t// discard points in the *second* that are already in the *first*\n\t\t\t\tif (labels.includes( label )) {\n\t\t\t\t\tto_predict.push( prop_array );\n\t\t\t\t\tlabels.push( label );\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif (to_predict.length == given_separation) {\n\t\t\t\treturn $mol_fail( new $mol_data_error('Error: a selected dataset is fully included into a reference dataset') )\n\t\t\t}\n\t\t}\n\t\n\t\tif (to_predict.length > 21000) return $mol_fail( new $mol_data_error('Error: too much data for analysis') )\n\t\n\t\tconst pca = new mlPca( to_predict )\n\t\tconst predicted = pca.predict( to_predict, {nComponents: 2} );\n\t\n\t\tif (second){\n\t\t\treturn [{\n\t\t\t\tdiscovery: predicted.slice(0, given_separation),\n\t\t\t\tlabels: labels.slice(0, given_separation),\n\t\t\t\tname: first.name\n\t\t\t}, {\n\t\t\t\tdiscovery: predicted.slice(given_separation),\n\t\t\t\tlabels: labels.slice(given_separation),\n\t\t\t\tname: second.name\n\t\t\t}];\n\t\t}\n\t\treturn [{\n\t\t\tdiscovery: predicted,\n\t\t\tlabels: labels,\n\t\t\tname: first.name\n\t\t}];\n\t}\n\n\texport class $visavis_discovery extends $.$visavis_discovery {\n\n\t\tjson() {\n\t\t\treturn $visavis_discovery_json( this.plot().json() as any )\n\t\t}\n\n\t\telementals_dict() {\n\t\t\treturn $visavis_elemental_names\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n\n\t\t\tconst d3 = $lib_d3.all()\n\n\t\t\tconst json = this.json() as any\n\n\t\t\t// if (visavis.mpds_embedded) {\n\t\t\t// \tdocument.getElementById('expander').style.display = 'block';\n\t\t\t// } else {\n\t\t\t// \treturn\n\t\t\t// }\n\n\t\t\t// Plotly.d3.select('#visavis').on('click', function(evt){\n\t\t\t// \tif (visavis.cache.type != 'discovery') return false;\n\n\t\t\t// \tevt = evt || window.event;\n\t\t\t// \tvar node = evt.target,\n\t\t\t// \t\tindex = 0;\n\t\t\t// \tif (node.tagName != 'path' || node.getAttribute('class') != 'point') return false;\n\n\t\t\t// \tvar oflag = node.style.opacity;\n\t\t\t// \tnode.style.fill = '#0f0';\n\t\t\t// \twhile ((node = node.previousElementSibling)){\n\t\t\t// \t\tindex++;\n\t\t\t// \t}\n\t\t\t// \tvar label = [],\n\t\t\t// \t\tpoint = (oflag == 1) ? visavis.cache.ref.points[index] : visavis.cache.cmp.points[index];\n\t\t\t// \tif (!point) return false;\n\n\t\t\t// \tpoint.forEach(function(i){\n\t\t\t// \t\tlabel.push(visavis.chem_els[i]);\n\t\t\t// \t});\n\t\t\t// \tlabel = label.filter(function(x){ return x }).join('-');\n\t\t\t// \twindow.open(window.location.protocol + \"//\" + window.location.host + window.parent.wmgui.aug_search_cmd(\"elements\", label));\n\t\t\t// });\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\t\t\treturn {\n\t\t\t\tshowlegend: false,\n\t\t\t\thovermode: \"closest\",\n\t\t\t\txaxis: { showgrid: false },\n\t\t\t\tyaxis: { showgrid: false },\n\t\t\t\tmargin: {\n\t\t\t\t\tl: 0,\n\t\t\t\t\tr: 0,\n\t\t\t\t\tb: 0,\n\t\t\t\t\tt: 0,\n\t\t\t\t\tpad: 0\n\t\t\t\t},\n\t\t\t\tannotations: [\n\t\t\t\t\t{ \n\t\t\t\t\t\tx: 0.63, \n\t\t\t\t\t\ty: 0.97, \n\t\t\t\t\t\txref: 'paper', \n\t\t\t\t\t\tyref: 'paper', \n\t\t\t\t\t\txanchor: 'right', \n\t\t\t\t\t\tyanchor: 'bottom', \n\t\t\t\t\t\ttext: 'Second Principal Component (a1x + b1y + c1z + ...)', \n\t\t\t\t\t\tshowarrow: false, \n\t\t\t\t\t\tbgcolor: '#fff', \n\t\t\t\t\t\tfont: { family: \"Exo2\", size: 14 } \n\t\t\t\t\t},\n\t\t\t\t\t{ \n\t\t\t\t\t\tx: 0.97, \n\t\t\t\t\t\ty: 0.67, \n\t\t\t\t\t\txref: 'paper', \n\t\t\t\t\t\tyref: 'paper', \n\t\t\t\t\t\txanchor: 'left', \n\t\t\t\t\t\tyanchor: 'top', \n\t\t\t\t\t\ttext: 'First Principal Component (a2x + b2y + c2z + ...)', \n\t\t\t\t\t\tshowarrow: false, \n\t\t\t\t\t\tbgcolor: '#fff', \n\t\t\t\t\t\ttextangle: 270, \n\t\t\t\t\t\tfont: { family: \"Exo2\", size: 14 } \n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\telementals_on() {\n\t\t\tconst elementals_on: (keyof Elementals_dict)[] = []\n\n\t\t\tObject.keys( this.elementals_dict() ).forEach( key => {\n\t\t\t\tif (this.elemental_checked(key)) {\n\t\t\t\t\telementals_on.push( key as keyof Elementals_dict )\n\t\t\t\t}\n\t\t\t} )\n\n\t\t\tif (elementals_on.length === 0) return $mol_fail( new $mol_data_error('At least one property must be enabled') )\n\n\t\t\treturn elementals_on\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\telemental_checked(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn id === 'nump' ? true : false //nump on by default\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\n\t\t\tconst json = this.json()\n\n\t\t\tconst elementals_on = this.elementals_on()\n\n\t\t\t// if (visavis.cache && visavis.cache.type == 'discovery'){\n\t\t\t// \tvar ref = {points: visavis.cache.ref.points, name: visavis.cache.ref.name},\n\t\t\t// \t\tcmp = {points: json.payload.points, name: json.answerto};\n\t\t\t// \tvisavis.cache.cmp = cmp;\n\t\t\n\t\t\t// } else {\n\t\t\t// \tvar ref = {points: json.payload.points, name: json.answerto},\n\t\t\t// \t\tcmp = false;\n\t\t\t// \tvisavis.cache = {ref: ref, type: 'discovery'};\n\t\t\t// }\n\n\t\t\tconst result = discover(elementals_on, Discover_item({points: json.payload.points, name: json.answerto}));\n\t\t\tif (!result || !result[0].discovery) return;\n\t\t\n\t\t\tconst traces = [];\n\t\t\n\t\t\tfor (let i = 0; i < result.length; i++){\n\t\t\t\tconst dscolor = (i == 0) ? '#3e3f95' : '#900'\n\t\t\t\tconst oflag = (i == 0) ? 1 : 0.9\n\t\t\t\ttraces.push({\n\t\t\t\t\tx: result[i].discovery.map((item: any) => item[0] ),\n\t\t\t\t\ty: result[i].discovery.map((item: any) => item[1] ),\n\t\t\t\t\ttext: result[i].labels,\n\t\t\t\t\tmode: 'markers',\n\t\t\t\t\ttype: 'scatter',\n\t\t\t\t\thoverinfo: 'text',\n\t\t\t\t\tmarker: {size: 6, color: dscolor, opacity: oflag, symbol: 'square'}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn traces\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t$mol_style_define( $visavis_discovery, {\n\n\t\tSetup: {\n\t\t\tflex: {\n\t\t\t\tbasis: '25rem',\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t\tBody: {\n\t\t\t\tpadding: $mol_gap.block,\n\t\t\t},\n\t\t},\n\t\t\n\t} )\n\n}\n","namespace $ {\n\texport class $visavis_eigen extends $visavis_plot_plotly {\n\t}\n\t\n}\n\n","namespace $ {\n\n\t/**\n\t * Checks for some of given runtype or throws error.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_variant_demo\n\t */\n\texport function $mol_data_variant< Sub extends $mol_data_value[] >( ... sub : Sub ) {\n\n\t\treturn $mol_data_setup( ( val : Parameters< Sub[ number ] >[0] ) => {\n\t\t\t\n\t\t\tconst errors = [] as Error[]\n\t\t\t\n\t\t\tfor( const type of sub ) {\n\n\t\t\t\tlet hidden = $.$mol_fail_hidden\n\n\t\t\t\ttry {\n\n\t\t\t\t\t$.$mol_fail = $.$mol_fail_hidden\n\n\t\t\t\t\treturn type( val ) as ReturnType< Sub[ number ] >\n\n\t\t\t\t} catch ( error ) {\n\n\t\t\t\t\t$.$mol_fail = hidden\n\n\t\t\t\t\tif( error instanceof $mol_data_error ) {\n\t\t\t\t\t\terrors.push( error )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_fail_hidden( error )\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn $mol_fail( new $mol_data_error( `${val} is not any of variants` , ... errors ) )\n\n\t\t} , sub )\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst Bands_matrix = $mol_data_record({\n\t\tbands: $mol_data_array( $mol_data_array( $mol_data_number ) ),\n\t\tkpoints: $mol_data_array( $mol_data_array( $mol_data_number ) ),\n\t})\n\ttype Bands_matrix = ReturnType\n\n\tconst Dos_matrix = $mol_data_record({\n\t\tdos: $mol_data_array( $mol_data_number ),\n\t\tlevels: $mol_data_array( $mol_data_number ),\n\t})\n\ttype Dos_matrix = ReturnType\n\n\texport const $visavis_eigen_json = $mol_data_record( {\n\t\tsample: $mol_data_record( {\n\t\t\tmaterial: $mol_data_record( {\n\t\t\t\tchemical_formula: $mol_data_string,\n\t\t\t\tchemical_elements: $mol_data_array( $mol_data_string ),\n\t\t\t\tcondition: $mol_data_array( $mol_data_record( {\n\t\t\t\t\tscalar: $mol_data_array( $mol_data_record( { value: $mol_data_number } ) ),\n\t\t\t\t\tname: $mol_data_string,\n\t\t\t\t\tunits: $mol_data_optional( $mol_data_string ),\n\t\t\t\t}) ),\n\t\t\t\tphase: $mol_data_string,\n\t\t\t\tphase_id: $mol_data_number,\n\t\t\t\tentry: $mol_data_string,\n\t\t\t\tobject_repr: $mol_data_optional( $mol_data_string),\n\t\t\t}),\n\t\t\tmeasurement: $mol_data_array( $mol_data_record( {\n\t\t\t\tdata_type: $mol_data_string, //enum: [\"peer_reviewed\", \"machine_learning\", \"ab_initio\"]\n\t\t\t\tproperty: $mol_data_record( {\n\t\t\t\t\tunits: $mol_data_string,\n\t\t\t\t\tscalar: $mol_data_optional( $mol_data_variant( $mol_data_string, $mol_data_number ) ),\n\t\t\t\t\tmatrix: $mol_data_variant(\n\t\t\t\t\t\tBands_matrix,\n\t\t\t\t\t\tDos_matrix,\n\t\t\t\t\t),\n\t\t\t\t\tname: $mol_data_string,\n\t\t\t\t\tcategory: $mol_data_string,\n\t\t\t\t\tdomain: $mol_data_string,\n\t\t\t\t}),\n\t\t\t\tcondition: $mol_data_optional( $mol_data_array( $mol_data_record( {\n\t\t\t\t\tunits: $mol_data_string,\n\t\t\t\t\tscalar: $mol_data_number,\n\t\t\t\t\t// range: {},\n\t\t\t\t\tname: $mol_data_string,\n\t\t\t\t\trefers_to: $mol_data_optional( $mol_data_string ),\n\t\t\t\t} ) ) ),\n\t\t\t\traw_data: $mol_data_optional( $mol_data_string ),\n\t\t\t}) ),\n\t\t}),\n\t\tversion: $mol_data_string,\n\t\tobject_type: $mol_data_string,\n\t\treference: $mol_data_record( {\n\t\t\tentry: $mol_data_string,\n\t\t\tphase: $mol_data_optional( $mol_data_string ),\n\t\t}),\n\t})\n\n\texport class $visavis_eigen extends $.$visavis_eigen {\n\n\t\tjson() {\n\t\t\treturn $visavis_eigen_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tbands_matrix(): Bands_matrix | null {\n\t\t\tconst matrix = this.json().sample.measurement[0].property.matrix as Bands_matrix;\n\t\t\tif (matrix.bands){\n\t\t\t\treturn matrix\n\t\t\t} else {\n\t\t\t\treturn null\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdos_matrix(): Dos_matrix | null {\n\t\t\tconst matrix = this.json().sample.measurement[0].property.matrix as Dos_matrix;\n\t\t\tif (matrix.dos){\n\t\t\t\treturn matrix\n\t\t\t} else {\n\t\t\t\treturn null\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n\t\t\t// if (visavis.mpds_embedded) document.getElementById('cross').style.display = 'block';\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\tconst dataset = [];\n\n\t\t\tconst bands_matrix = this.bands_matrix()\n\t\t\tconst dos_matrix = this.dos_matrix()\n\n\t\t\tif (bands_matrix){\n\t\t\t\tfor (let i = 0; i < bands_matrix.bands.length; i++){\n\t\t\t\t\tdataset.push({\n\t\t\t\t\t\tx: $lib_d3.all().range(bands_matrix.bands[i].length),\n\t\t\t\t\t\ty: bands_matrix.bands[i],\n\t\t\t\t\t\tmode: \"lines\",\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmarker: {color: \"#000\"}\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t} else if (dos_matrix) {\n\t\t\t\tdataset.push({\n\t\t\t\t\tx: dos_matrix.levels,\n\t\t\t\t\ty: dos_matrix.dos,\n\t\t\t\t\tmode: \"lines\",\n\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\tmarker: {color: \"#000\"}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// return notify('Cannot get plot data, please, try again');\n\t\t\t\t// ^ it will be validated id $visavis_eigen_json()\n\t\t\t}\n\n\t\t\treturn dataset\t\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\n\t\t\tconst bands_matrix = this.bands_matrix()\n\n\t\t\tlet xaxis: Object = {}\n\t\t\tlet x_title = ''\n\t\t\tlet y_title = ''\n\n\t\t\tif (bands_matrix){\n\t\t\t\tconst x_labels = [];\n\t\t\t\tfor (let i = 0; i < bands_matrix.kpoints.length; i++){\n\t\t\t\t\tx_labels.push( (bands_matrix.kpoints[i][0] == 0 && bands_matrix.kpoints[i][1] == 0 && bands_matrix.kpoints[i][2] == 0) ? 'Г' : '' );\n\t\t\t\t}\n\t\t\t\tx_title = 'k'\n\t\t\t\ty_title = 'E - EF, eV'\n\t\t\t\txaxis = {\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tzeroline: false,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\ttickmode: 'array',\n\t\t\t\t\ttickvals: $lib_d3.all().range(bands_matrix.kpoints.length),\n\t\t\t\t\tticktext: x_labels,\n\t\t\t\t\ttickfont: {size: 20}\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tx_title = 'E - EF, eV'\n\t\t\t\ty_title = 'Total density of states'\n\t\t\t\txaxis = {\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tzeroline: false,\n\t\t\t\t\tshowgrid: true,\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\ttitle: x_title\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tshowlegend: false,\n\t\t\t\txaxis: xaxis,\n\t\t\t\tyaxis: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tzeroline: true,\n\t\t\t\t\tzerolinecolor: '#6cf',\n\t\t\t\t\tzerolinewidth: 3,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\ttitle: y_title\n\t\t\t\t},\n\t\t\t\tfont: {family: \"Exo2\", size: 13}\n\t\t\t}\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\texport class $visavis_pie extends $visavis_plot_plotly {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * colorset /\n\t\t * \t\\#3e3f95\n\t\t * \t\\#c00\n\t\t * \t\\#FE9A2E\n\t\t * \t\\#090\n\t\t * \t\\#f0f\n\t\t * \t\\#09f\n\t\t * \t\\#666\n\t\t * \t\\#0f3\n\t\t * \t\\#0ff\n\t\t * \t\\#90c\n\t\t * ```\n\t\t */\n\t\tcolorset() {\n\t\t\treturn [\n\t\t\t\t\"#3e3f95\",\n\t\t\t\t\"#c00\",\n\t\t\t\t\"#FE9A2E\",\n\t\t\t\t\"#090\",\n\t\t\t\t\"#f0f\",\n\t\t\t\t\"#09f\",\n\t\t\t\t\"#666\",\n\t\t\t\t\"#0f3\",\n\t\t\t\t\"#0ff\",\n\t\t\t\t\"#90c\"\n\t\t\t] as readonly any[]\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\t/**\n\t * Checks for value of given enum and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_enum_demo\n\t */\n\texport function $mol_data_enum<\n\t\tDict extends Record< number | string , number | string >\n\t>( name : string , dict : Dict ) {\n\n\t\ttype Value = Dict[ keyof Dict ]\n\n\t\tconst index = {} as Record< Value , keyof Dict >\n\n\t\tfor( let key in dict ) {\n\t\t\tif( Number.isNaN( Number( key ) ) ) {\n\t\t\t\tindex[ dict[ key ] ] = key\n\t\t\t}\n\t\t}\n\n\t\treturn $mol_data_setup( ( value : Value ) => {\n\n\t\t\tif ( typeof index[ value ] !== 'string' ) {\n\t\t\t\treturn $mol_fail( new $mol_data_error( `${value} is not value of ${name} enum` ) )\n\t\t\t}\n\n\t\t\treturn value\n\n\t\t} , { name , dict } )\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst Facet_names = {props: 'properties', elements: 'elements', classes: 'classes', lattices: 'crystal systems'} as const\n\n\texport const $visavis_pie_json = $mol_data_record( {\n\t\tpayload: $mol_data_array( $mol_data_record( {\n\t\t\tfacet: $mol_data_enum( 'facet', {props: 'props', elements: 'elements', classes: 'classes', lattices: 'lattices'} as const ),\n\t\t\tvalue: $mol_data_string,\n\t\t\tcount: $mol_data_number,\n\t\t} ) ),\n\t\ttotal_count: $mol_data_number,\n\t})\n\n\n\t// Get pre-define coordinates for piechart labels (FIXME?)\n\tfunction locate_label(values: number[][]){\n\t\tlet x = 0\n\t\tlet y = 0\n\t\tconst left = values[0]\n\t\tconst top = values[1]\n\n\t\tif (left[0] == 0 && left[1] == 0.32) x = 0.08;\n\t\telse if (left[0] == 0.67 && left[1] == 1) x = 0.92;\n\t\telse if (left[0] == 0 && left[1] == 0.49) x = 0.17;\n\t\telse if (left[0] == 0.51 && left[1] == 1) x = 0.83;\n\t\telse x = left.reduce(function(a, b){ return a + b }, 0)/2; // avg\n\n\t\ty = top[0];\n\t\tif (y <= 0.03) y = 0;\n\t\telse if (y == 0.34) y = 0.318;\n\t\telse if (y == 0.53) y = 0.51;\n\n\t\treturn {x: x, y: y};\n\t}\n\n\texport class $visavis_pie extends $.$visavis_pie {\n\n\t\tjson() {\n\t\t\treturn $visavis_pie_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n\t\t\t// warn_demo();\n\t\t\t// if (visavis.mpds_embedded) document.getElementById('expander').style.display = 'block';\n\n\t\t\t// Plotly.d3.selectAll('g.slice').on({'click': function(evt){\n\t\t\t// var value = evt.text.split(' -1) return;\n\t\t\t// visavis.evtfuse = 0;\n\t\t\t// for (var p in visavis.facet_names){\n\t\t\t// if (visavis.facet_names[p] == name) found_fct = p;\n\t\t\t// }\n\t\t\t// if (!found_fct) return;\n\t\t\t// if (found_fct == 'elements') value = value.replace(/,\\s/g, '-'); // FIXME?\n\t\t\t// if (visavis.mpds_embedded) window.parent.location.hash = window.parent.wmgui.aug_search_cmd(found_fct, value);\n\t\t\t// } else {\n\t\t\t// if (value.indexOf('other ') > -1) return;\n\t\t\t// if (visavis.evtfuse > 1) return;\n\t\t\t// visavis.evtfuse = visavis.evtfuse ? visavis.evtfuse + 1 : 1;\n\t\t\t// visavis.evtbuff = value;\n\t\t\t// var reevt = document.createEvent('Event');\n\t\t\t// reevt.initEvent('click', false, true);\n\t\t\t// Plotly.d3.select(this.parentNode.firstChild).node().dispatchEvent(reevt);\n\t\t\t// }\n\t\t\t// }});\n\t\t}\n\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\n\t\t\tconst data = this.data()\n\t\t\tconst tot_count = this.tot_count()\n\t\t\tconst xy_domains = this.xy_domains()\n\n\t\t\tconst annotations_layout = {showarrow: false, font: {size: 13, family: \"Exo2\"}, borderpad: 0, bgcolor: '#fff'}\n\t\t\tconst annotations = data.map((pie, loc_count) => {\n\t\t\t\tlet label = pie.name + ' distribution';\n\t\t\t\tlabel = 'Fig. ' + (loc_count+1) + '. ' + label.charAt(0).toUpperCase() + label.slice(1);\n\t\t\t\treturn Object.assign({text: label}, locate_label(xy_domains[tot_count]![loc_count]), annotations_layout);\n\t\t\t})\n\n\t\t\treturn {showlegend: false, font: {family: \"Exo2\"}, annotations}\n\t\t}\n\n\t\t@ $mol_mem\n\t\txy_domains() {\n\t\t\treturn [\n\t\t\t\tnull,\n\t\t\t\t[[[0, 1], [0.03, 1]]],\n\t\t\t\t[[[0, 0.49], [0, 1]], [[0.51, 1], [0, 1]]],\n\t\t\t\t[[[0, 0.49], [0.53, 1]], [[0.51, 1], [0.53, 1]], [[0, 0.49], [0.03, 0.49]]],\n\t\t\t\t[[[0, 0.49], [0.53, 1]], [[0.51, 1], [0.53, 1]], [[0, 0.49], [0.03, 0.49]], [[0.51, 1], [0.03, 0.49]]],\n\t\t\t\t[[[0, 0.32], [0.51, 1]], [[0.33, 0.66], [0.51, 1]], [[0.67, 1], [0.51, 1]], [[0, 0.32], [0, 0.49]], [[0.33, 0.66], [0, 0.49]]],\n\t\t\t\t[[[0, 0.32], [0.51, 1]], [[0.33, 0.66], [0.51, 1]], [[0.67, 1], [0.51, 1]], [[0, 0.32], [0, 0.49]], [[0.33, 0.66], [0, 0.49]], [[0.67, 1], [0, 0.49]]],\n\t\t\t\t[[[0, 0.32], [0.68, 1]], [[0.33, 0.66], [0.68, 1]], [[0.67, 1], [0.68, 1]], [[0, 0.32], [0.34, 0.65]], [[0.33, 0.66], [0.34, 0.65]], [[0.67, 1], [0.34, 0.65]], [[0, 0.32], [0.02, 0.31]]],\n\t\t\t\t[[[0, 0.32], [0.68, 1]], [[0.33, 0.66], [0.68, 1]], [[0.67, 1], [0.68, 1]], [[0, 0.32], [0.34, 0.65]], [[0.33, 0.66], [0.34, 0.65]], [[0.67, 1], [0.34, 0.65]], [[0, 0.32], [0.02, 0.31]], [[0.33, 0.66], [0.02, 0.31]]]\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tenter_metrics() {\n\t\t\treturn this.json().total_count/150\n\t\t}\n\n\t\t@ $mol_mem\n\t\ttot_count() {\n\t\t\tlet tot_count = 0\n\n\t\t\tconst json = this.json()\n\t\t\tconst enter_metrics = this.enter_metrics()\n\t\t\tlet recent_facet: null | keyof typeof Facet_names = null;\n\n\t\t\tfor (let i = 0; i < json.payload.length; i++){\n\t\t\t\tif (json.payload[i].count < enter_metrics || json.payload[i].count > (json.total_count - enter_metrics)) continue;\n\t\t\n\t\t\t\tif (json.payload[i].facet == \"classes\") tot_count++;\n\t\t\t\telse {\n\t\t\t\t\tif (json.payload[i].facet != recent_facet) tot_count++;\n\t\t\t\t\trecent_facet = json.payload[i].facet;\n\t\t\t\t}\n\t\t\t}\n\t\t\n\t\t\tif (!tot_count) return $mol_fail( new $mol_data_error('Warning: not enough data for analysis') )\n\t\t\treturn tot_count\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\n\t\t\tconst json = this.json()\n\n\t\t\tif (!json.total_count || json.total_count == 1) {\n\t\t\t\treturn $mol_fail( new $mol_data_error('Warning: not enough data for analysis') )\n\t\t\t}\n\n\t\t\tconst data: any[] = []\n\t\t\tconst classes = []\n\t\t\tconst tot_count = this.tot_count()\n\t\t\tconst xy_domains = this.xy_domains()\n\t\t\tconst enter_metrics = this.enter_metrics()\n\t\t\n\t\t\tlet recent_facet: null | keyof typeof Facet_names = null;\n\t\t\n\t\t\tlet loc_count = 0\n\t\t\tfor (let i = 0; i < json.payload.length; i++){\n\t\t\t\tif (json.payload[i].count < enter_metrics || json.payload[i].count > (json.total_count - enter_metrics)) continue;\n\t\t\n\t\t\t\t// special case of interlacing classes\n\t\t\t\tif (json.payload[i].facet == \"classes\"){\n\t\t\t\t\tclasses.push({\n\t\t\t\t\t\ttype: \"pie\",\n\t\t\t\t\t\tname: Facet_names[json.payload[i].facet],\n\t\t\t\t\t\tvalues: [json.payload[i].count, json.total_count - json.payload[i].count],\n\t\t\t\t\t\ttext: [json.payload[i].value, \"other classes\"],\n\t\t\t\t\t\tdomain: {x: xy_domains[tot_count]![loc_count][0], y: xy_domains[tot_count]![loc_count][1]},\n\t\t\t\t\t\thoverinfo: \"text+percent+name\",\n\t\t\t\t\t\ttextinfo: \"text+percent\",\n\t\t\t\t\t\ttextposition: \"inside\",\n\t\t\t\t\t\thole: 0.3/tot_count,\n\t\t\t\t\t\tmarker: {colors: this.colorset()}\n\t\t\t\t\t});\n\t\t\t\t\tloc_count++;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\n\t\t\t\t// other facets\n\t\t\t\tif (json.payload[i].facet != recent_facet){\n\t\t\t\t\tif (recent_facet){\n\t\t\t\t\t\t// rest of data, not loaded\n\t\t\t\t\t\tconst sum = data[data.length - 1].values.reduce(function(a: number, b: number){ return a + b }, 0);\n\t\t\t\t\t\tif (sum < json.total_count){\n\t\t\t\t\t\t\tdata[data.length - 1].values.push(json.total_count - sum);\n\t\t\t\t\t\t\tdata[data.length - 1].text.push(\"other \" + Facet_names[recent_facet]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (loc_count > 8) break;\n\t\t\t\t\tdata.push({\n\t\t\t\t\t\ttype: \"pie\",\n\t\t\t\t\t\tname: Facet_names[json.payload[i].facet],\n\t\t\t\t\t\tvalues: [],\n\t\t\t\t\t\ttext: [],\n\t\t\t\t\t\tdomain: {x: xy_domains[tot_count]![loc_count][0], y: xy_domains[tot_count]![loc_count][1]},\n\t\t\t\t\t\thoverinfo: \"text+percent+name\",\n\t\t\t\t\t\ttextinfo: \"text+percent\",\n\t\t\t\t\t\ttextposition: \"inside\",\n\t\t\t\t\t\thole: 0.3/tot_count,\n\t\t\t\t\t\tmarker: {colors: this.colorset()}\n\t\t\t\t\t});\n\t\t\t\t\tloc_count++;\n\t\t\t\t}\n\t\t\n\t\t\t\trecent_facet = json.payload[i].facet;\n\t\t\t\tdata[data.length - 1].values.push(json.payload[i].count);\n\t\t\t\tdata[data.length - 1].text.push(json.payload[i].value);\n\t\t\t}\n\t\t\tif (data.length){\n\t\t\t\t// NB FIXME once again: rest of data, not loaded\n\t\t\t\tconst sum = data[data.length - 1].values.reduce(function(a: number, b: number){ return a + b }, 0);\n\t\t\t\tif (sum < json.total_count){\n\t\t\t\t\tdata[data.length - 1].values.push(json.total_count - sum);\n\t\t\t\t\tdata[data.length - 1].text.push(\"other \" + Facet_names[recent_facet!]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (classes) data.push(...classes);\n\n\t\t\treturn data\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport class $visavis_scatter extends $visavis_plot_plotly {\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\texport const $visavis_scatter_json = $mol_data_record( {\n\t\tsample: $mol_data_record( {\n\t\t\tmaterial: $mol_data_record( {\n\t\t\t\tchemical_formula: $mol_data_string,\n\t\t\t\tchemical_elements: $mol_data_array( $mol_data_string ),\n\t\t\t\tcondition: $mol_data_array( $mol_data_record( {\n\t\t\t\t\tscalar: $mol_data_array( $mol_data_record( { value: $mol_data_number } ) ),\n\t\t\t\t\tname: $mol_data_string,\n\t\t\t\t\tunits: $mol_data_optional( $mol_data_string ),\n\t\t\t\t}) ),\n\t\t\t\tphase: $mol_data_string,\n\t\t\t\tphase_id: $mol_data_number,\n\t\t\t\tentry: $mol_data_string,\n\t\t\t\tobject_repr: $mol_data_optional( $mol_data_string),\n\t\t\t}),\n\t\t\tmeasurement: $mol_data_array( $mol_data_record( {\n\t\t\t\tdata_type: $mol_data_string, //enum: [\"peer_reviewed\", \"machine_learning\", \"ab_initio\"]\n\t\t\t\tproperty: $mol_data_record( {\n\t\t\t\t\tunits: $mol_data_string,\n\t\t\t\t\tscalar: $mol_data_optional( $mol_data_variant( $mol_data_string, $mol_data_number ) ),\n\t\t\t\t\tmatrix: $mol_data_array( $mol_data_array( $mol_data_number ) ),\n\t\t\t\t\tname: $mol_data_string,\n\t\t\t\t\tcategory: $mol_data_string,\n\t\t\t\t\tdomain: $mol_data_string,\n\t\t\t\t}),\n\t\t\t\tcondition: $mol_data_optional( $mol_data_array( $mol_data_record( {\n\t\t\t\t\tunits: $mol_data_string,\n\t\t\t\t\tscalar: $mol_data_number,\n\t\t\t\t\t// range: {},\n\t\t\t\t\tname: $mol_data_string,\n\t\t\t\t\trefers_to: $mol_data_optional( $mol_data_string ),\n\t\t\t\t} ) ) ),\n\t\t\t\traw_data: $mol_data_optional( $mol_data_string ),\n\t\t\t}) ),\n\t\t}),\n\t\tversion: $mol_data_string,\n\t\tobject_type: $mol_data_string,\n\t\treference: $mol_data_record( {\n\t\t\tentry: $mol_data_string,\n\t\t\tphase: $mol_data_optional( $mol_data_string ),\n\t\t}),\n\t})\n\texport class $visavis_scatter extends $.$visavis_scatter {\n\n\t\tjson() {\n\t\t\t// notify('Cannot get plot data, please, try again');\n\t\t\treturn $visavis_scatter_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n // if (visavis.mpds_embedded) document.getElementById('cross').style.display = 'block';\n\t\t}\n\n\t\t@ $mol_mem\n\t\tp_data() {\n\t\t\treturn this.json().sample.measurement[0].property.matrix.map( item => item[0] )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tt_data() {\n\t\t\treturn this.json().sample.measurement[0].property.matrix.map( item => item[1] )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tp_data_sum() {\n\t\t\treturn this.p_data().reduce( (a, b) => a + b, 0 )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tt_data_sum() {\n\t\t\treturn this.t_data().reduce( (a, b) => a + b, 0 )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tx_data_type() {\n\t\t\tconst p_data = this.p_data()\n\t\t\tconst p_data_sum = this.p_data_sum()\n\t\t\tconst t_data = this.t_data()\n\t\t\tconst t_data_sum = this.t_data_sum()\n\t\t\tif (Math.abs(t_data[0] - t_data_sum/t_data.length) < 0.1 && Math.abs(p_data[0] - p_data_sum/p_data.length) > 0.1){\n\t\t\t\treturn 'pressure'\n\t\t\t} else if (Math.abs(t_data[0] - t_data_sum/t_data.length) > 0.1 && Math.abs(p_data[0] - p_data_sum/p_data.length) > 0.1){\n\t\t\t\treturn $mol_fail( new $mol_data_error('Sorry, plotting both temperature and pressure is not yet supported') )\n\t\t\t\t// return 'pressure and temperature'\n\t\t\t} else {\n\t\t\t\treturn 'temperature'\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tx_data() {\n\t\t\tswitch (this.x_data_type()) {\n\t\t\t\tcase 'pressure':\n\t\t\t\t\treturn this.p_data()\n\t\t\t\tcase 'temperature':\n\t\t\t\t\treturn this.t_data()\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tx_title() {\n\t\t\tconst dict = {\n\t\t\t\t'pressure': 'P, Gpa',\n\t\t\t\t'temperature': 'T, K',\n\t\t\t} as const\n\n\t\t\treturn dict[ this.x_data_type() ]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\tconst json = this.json()\n\n\t\t\tconst x_data = this.x_data()\n\t\t\n\t\t\tconst array = json.sample.measurement[0].property.matrix;\n\t\t\tif (array[0][2] == array[0][3] && array[0][3] == array[0][4]){\n\t\t\t\t// cubic\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\t\tname: \"a\",\n\t\t\t\t\t\tx: x_data,\n\t\t\t\t\t\ty: array.map(function(item){ return item[2] }),\n\t\t\t\t\t\tmarker: {color: \"#3e3f95\", symbol: \"square\", size: 8}\n\t\t\t\t\t}\n\t\t\t\t];\n\t\t\t} else if (array[0][2] == array[0][3] && array[0][3] != array[0][4]){\n\t\t\t\t// tetragonal, hexagonal, trigonal\n\t\t\t\tconst delta_a = array[0][4] - array[0][2];\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\t\tname: \"a\",\n\t\t\t\t\t\tx: x_data,\n\t\t\t\t\t\ty: array.map(function(item){ return item[2] }),\n\t\t\t\t\t\tmarker: {color: \"#3e3f95\", symbol: \"square\", size: 8}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\t\tname: \"b\",\n\t\t\t\t\t\tx: x_data,\n\t\t\t\t\t\ty: array.map(function(item){ return item[4] - delta_a }),\n\t\t\t\t\t\tmarker: {color: \"#E36868\", symbol: \"circle\", size: 7}\n\t\t\t\t\t}\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// orthorhombic, monoclinic, triclinic\n\t\t\t\tconst delta_a = array[0][4] - array[0][2]\n\t\t\t\tconst delta_b = array[0][3] - array[0][2]\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\t\tname: \"a\",\n\t\t\t\t\t\tx: x_data,\n\t\t\t\t\t\ty: array.map(function(item){ return item[2] }),\n\t\t\t\t\t\tmarker: {color: \"#3e3f95\", symbol: \"square\", size: 8}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\t\tname: \"b\",\n\t\t\t\t\t\tx: x_data,\n\t\t\t\t\t\ty: array.map(function(item){ return item[3] - delta_b }),\n\t\t\t\t\t\tmarker: {color: \"#E36868\", symbol: \"circle\", size: 7}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\t\tname: \"c\",\n\t\t\t\t\t\tx: x_data,\n\t\t\t\t\t\ty: array.map(function(item){ return item[4] - delta_a }),\n\t\t\t\t\t\tmarker: {color: \"#acc2b3\", symbol: \"diamond\", size: 7}\n\t\t\t\t\t}\n\t\t\t\t];\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\n\t\t\tconst array = this.json().sample.measurement[0].property.matrix;\n\t\t\tlet y_comment = '';\n\t\t\tif (array[0][2] == array[0][3] && array[0][3] == array[0][4]){\n\t\t\t\t// cubic\n\t\t\t} else if (array[0][2] == array[0][3] && array[0][3] != array[0][4]){\n\t\t\t\t// tetragonal, hexagonal, trigonal\n\t\t\t\ty_comment = ' (diff.)';\n\t\t\t} else {\n\t\t\t\t// orthorhombic, monoclinic, triclinic\n\t\t\t\ty_comment = ' (diff.)';\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tshowlegend: true,\n\t\t\t\tlegend: {x: 100, y: 1, font: {family: \"Exo2\", size: 14}},\n\t\t\t\txaxis: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: true,\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tzeroline: false,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\ttitle: this.x_title()\n\t\t\t\t},\n\t\t\t\tyaxis: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: true,\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tzeroline: false,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\ttitle: 'Cell parameters' + y_comment + ', A'\n\t\t\t\t},\n\t\t\t\tfont: {family: \"Exo2\", size: 13}\n\t\t\t}\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\texport class $visavis_customscatter extends $visavis_plot_plotly {\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\texport const $visavis_customscatter_json = $mol_data_record({\n\t\tplots: $mol_data_array(\n\t\t\t$mol_data_record( {\n\t\t\t\tname: $mol_data_string,\n\t\t\t\ttype: $mol_data_string,\n\t\t\t\tmode: $mol_data_string,\n\t\t\t\tinterpolation: $mol_data_string,\n\t\t\t\tx: $mol_data_array( $mol_data_number ),\n\t\t\t\ty: $mol_data_array( $mol_data_number ),\n\t\t\t} )\n\t\t),\n\t\txtitle: $mol_data_optional( $mol_data_string ),\n\t\tytitle: $mol_data_optional( $mol_data_string ),\n\t\txlog: $mol_data_nullable( $mol_data_boolean ),\n\t\tylog: $mol_data_nullable( $mol_data_boolean ),\n\t})\n\n\texport class $visavis_customscatter extends $.$visavis_customscatter {\n\n\t\tjson() {\n\t\t\treturn $visavis_customscatter_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n // // document.getElementById('visavis').on('plotly_legendclick', function(){ return false }); // requires at least v1.37\n // // yet another iframe communication API for mpds-labs via postMessage\n // // API CORRECT\n // if (window.parent) window.parent.postMessage({type: 'nplots', nplots: json.plots.length}, '*');\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\t\t\tconst json = this.json()\n\t\t\treturn {\n\t\t\t\tshowlegend: true,\n\t\t\t\tlegend: {x: 100, y: 1, font: {family: \"Exo2\", size: 14}},\n\t\t\t\txaxis: {\n\t\t\t\t\ttype: json.xlog ? 'log' : '-',\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: true,\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tzeroline: true,\n\t\t\t\t\tzerolinecolor: '#999',\n\t\t\t\t\tzerolinewidth: 0.5,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\ttitle: json.xtitle\n\t\t\t\t},\n\t\t\t\tyaxis: {\n\t\t\t\t\ttype: json.ylog ? 'log' : '-',\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: true,\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tzeroline: true,\n\t\t\t\t\tzerolinecolor: '#999',\n\t\t\t\t\tzerolinewidth: 0.5,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\ttitle: json.ytitle\n\t\t\t\t},\n\t\t\t\tfont: {family: \"Exo2\", size: 13},\n\t\t\t\tmargin: {\n\t\t\t\t\tt: 0,\n\t\t\t\t\tr: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\tconst json = this.json()\n\n\t\t\treturn json.plots\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\texport class $visavis_heatmap extends $visavis_plot_plotly {\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\t// export const $visavis_heatmap_json = \n\n\texport class $visavis_heatmap extends $.$visavis_heatmap {\n\n\t\tjson() {\n\t\t\treturn this.plot().json() as any\n\t\t\t// return $visavis_heatmap_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\t\t\treturn {\n\t\t\t\tshowlegend: false,\n\t\t\t\thovermode: \"closest\",\n\t\t\t\txaxis: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\tshowline: true, //false,\n\t\t\t\t\tzeroline: false, //true,\n\t\t\t\t\tshowticklabels: false\n\t\t\t\t},\n\t\t\t\txaxis2: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\tshowline: true, //false,\n\t\t\t\t\tzeroline: false, //true,\n\t\t\t\t\tshowticklabels: false,\n\t\t\t\t\tside: \"top\",\n\t\t\t\t\toverlaying: 'x'\n\t\t\t\t},\n\t\t\t\tyaxis: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\tshowline: true, //false,\n\t\t\t\t\tzeroline: false, //true,\n\t\t\t\t\tshowticklabels: false\n\t\t\t\t},\n\t\t\t\tyaxis2: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\tshowline: true, //false,\n\t\t\t\t\tzeroline: false, //true,\n\t\t\t\t\tshowticklabels: false,\n\t\t\t\t\tside: \"right\",\n\t\t\t\t\toverlaying: 'y'\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\n\t\t\tconst json = this.json()\n\n\t\t\tlet data_x = json.payload.x\n\t\t\tlet data_y = json.payload.y\n\t\t\tlet data_z = json.payload.z\n\n\t\t\tif (!json.odet) {\n\t\t\t\tconst dice = Math.floor(Math.random() * 100) % 3;\n\t\t\t\tif (dice === 0){\n\t\t\t\t\tdata_x = json.payload.x\n\t\t\t\t\tdata_y = json.payload.y\n\t\t\t\t\tdata_z = json.payload.z\n\t\t\t\t} else if (dice === 1){\n\t\t\t\t\tdata_x = json.payload.x\n\t\t\t\t\tdata_y = json.payload.z\n\t\t\t\t\tdata_z = json.payload.y\n\t\t\t\t} else {\n\t\t\t\t\tdata_x = json.payload.y\n\t\t\t\t\tdata_y = json.payload.z\n\t\t\t\t\tdata_z = json.payload.x\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\thoverinfo: \"text\",\n\t\t\t\t\tx: data_x,\n\t\t\t\t\ty: data_y,\n\t\t\t\t\ttext: json.payload.labels || Array(data_x.length).fill('Point'),\n\t\t\t\t\tmarker: {color: data_z, colorscale: 'Rainbow', size: 4, opacity: 0.9}\n\t\t\t\t},\n\t\t\t\t{x: [], y: [], type: 'scatter', xaxis: 'x', yaxis: 'y'},\n\t\t\t\t{x: [], y: [], type: 'scatter', xaxis: 'x2', yaxis: 'y2'}\n\t\t\t]\t\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\texport class $visavis_graph extends $mol_book2 {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot $visavis_plot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tplot() {\n\t\t\tconst obj = new this.$.$visavis_plot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages / <= Plot\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Plot()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_title \\\n\t\t * ```\n\t\t */\n\t\tplot_title() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * draw null\n\t\t * ```\n\t\t */\n\t\tdraw() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Root $mol_view auto <= draw\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tRoot() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.auto = () => this.draw()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_body / <= Root\n\t\t * ```\n\t\t */\n\t\tplot_body() {\n\t\t\treturn [\n\t\t\t\tthis.Root()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot $mol_page\n\t\t * \ttitle <= plot_title\n\t\t * \tbody <= plot_body\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPlot() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.plot_title()\n\t\t\tobj.body = () => this.plot_body()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\tconst Link = $mol_data_record({\n\t\tsource: $mol_data_string,\n\t\ttype: $mol_data_string,\n\t\ttarget: $mol_data_variant( $mol_data_string, $mol_data_number ),\n\t})\n\n\ttype Link = ReturnType\n\n\ttype Node = {\n\t\tname: string\n\t\tindex?: number\n\t\tpx?: number\n\t\tpy?: number\n\t\tweight?: number\n\t\tx?: number\n\t\ty?: number\n\t}\n\n\ttype Edge = {\n\t\tsource: Node,\n\t\ttype: string,\n\t\ttarget: Node,\n\t}\n\n\texport const $visavis_graph_json = $mol_data_record({\n\t\terror: $mol_data_nullable( $mol_data_string ),\n\t\twarning: $mol_data_nullable( $mol_data_string ),\n\t\tgraph_rel: $mol_data_string,\n\t\tpayload: $mol_data_array( Link ),\n\t})\n\n\texport class $visavis_graph extends $.$visavis_graph {\n\n\t\t@ $mol_mem\n\t\tjson() {\n\t\t\treturn $visavis_graph_json( this.plot().json() as any )\n\t\t}\n\t\t\n\t\tplot_title() {\n\t\t\treturn this.plot().id()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\tconst json = this.json()\n\n\t\t\tconst nodes: Record = {}\n\t\t\tconst edges: Edge[] = []\n\n\t\t\tconst labels: Record = {}\n\t\t\tconst radii: Record = {}\n\t\t\tconst foci: Record = {}\n\t\t\tlet counter = 0\n\t\t\n\t\t\tconst visavis_cache = {ref: json.payload, type: 'graph'};\n\t\t\tconst visavis_graph_default_rel = json.graph_rel || 'prel';\n\t\t\n\t\t\t// filter edges and compute the distinct nodes from the links\n\t\t\tvisavis_cache.ref.forEach( (link) => {\n\t\t\t\tif (link.type == visavis_graph_default_rel){\n\t\t\t\t\tfoci[link.source] = link.source.substr(0, 1); // setting default color\n\t\t\t\t\tconst sourceNode = nodes[link.source] || (nodes[link.source] = {name: link.source});\n\t\t\t\t\tconst targetNode = nodes[link.target] || (nodes[link.target] = {name: String(link.target)});\n\t\t\t\t\tconst lrep = { source: sourceNode, type: link.type, target: targetNode };\n\t\t\t\t\tedges.push(lrep);\n\t\t\t\t\tcounter++;\n\t\t\n\t\t\t\t} else if (link.type == 'label'){\n\t\t\t\t\tlabels[link.source] = String(link.target);\n\t\t\n\t\t\t\t} else if (link.type == 'radius'){\n\t\t\t\t\tconst radius = Math.min($mol_data_number(link.target as number), 36)\n\t\t\t\t\t// link.target = radius;\n\t\t\t\t\tradii[link.source] = radius + 2;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (!counter) return $mol_fail( new $mol_data_error('Warning: nothing to show') )\n\t\t\n\t\t\tconst circle_cls = visavis_graph_default_rel.substr(0, 1)\n\t\t\tconst text_cls = (counter > 25) ? \"micro\" : \"macro\"\n\t\t\t\n\t\t\tconst table: Record = {}\n\n\t\t\tObject.keys(nodes).forEach( ( p,i ) => {\n\t\t\t\ttable[p] = i++;\n\t\t\t})\n\n\t\t\treturn { nodes, edges, labels, radii, foci, table, circle_cls, text_cls }\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdraw() {\n\t\t\t// const predefined_h;\n\t\t\t// if (window.location.hash.indexOf('visavis_height=') !== -1){\n\t\t\t// \t// internal client-only URL param (to be ignored by the server)\n\t\t\t// \tpredefined_h = window.location.hash.split('visavis_height=');\n\t\t\t// \tpredefined_h = predefined_h[predefined_h.length - 1];\n\t\t\t// \tpredefined_h = parseInt(predefined_h.split('&')[0]);\n\t\t\t// }\n\t\t\t// var width = predefined_h ? document.body.clientWidth : document.body.clientWidth - 15,\n\t\t\t// \theight = predefined_h || parseInt(0.8 * width);\n\t\t\n\t\t\t// reset_canvas();\n\t\t\n\t\t\tconst { nodes, edges, labels, radii, foci, table, circle_cls, text_cls } = this.data()\n\t\t\t\n\t\t\tconst d3 = $visavis_lib.d3()\n\t\t\tconst svg = d3.select('[visavis_graph_root]').append('svg')\n\t\t\t\t// .attr(\"width\", width)\n\t\t\t\t// .attr(\"height\", height);\n\t\t\n\t\t\tconst visavis_force = d3.layout.force()\n\t\t\t\t// .size([width, height])\n\t\t\t\t.nodes(d3.values(nodes))\n\t\t\t\t.links(edges)\n\t\t\t\t.linkDistance(90)\n\t\t\t\t.gravity(0.3)\n\t\t\t\t.charge(-2500)\n\t\t\t\t.on(\"tick\", tick);\n\t\t\n\t\t\tconst drag = visavis_force.drag()\n\t\t\t\t.on(\"dragstart\", function(this: any, d: any){\n\t\t\t\t\td3.select(this).classed(\"fixed\", d.fixed = true);\n\t\t\t\t});\n\t\t\n\t\t\tconst path = svg.append(\"g\").selectAll(\"path\")\n\t\t\t\t.data(visavis_force.links())\n\t\t\t\t.enter().append(\"path\")\n\t\t\t\t.attr(\"class\", function(d: any){ return \"edge \" + d.type; });\n\t\t\n\t\t\tconst circle = svg.append(\"g\").selectAll(\"circle\")\n\t\t\t\t.data(visavis_force.nodes())\n\t\t\t\t.enter().append(\"circle\")\n\t\t\t\t.attr(\"r\", function(d: any, i: any){ return radii[d.name] || 10 })\n\t\t\t\t.attr(\"id\", function(d: any, i: any){ return \"c_\" + table[d.name] })\n\t\t\t\t.attr(\"class\", function(d: any, i: any){ return foci[d.name] || circle_cls })\n\t\t\t\t.call(drag);\n\t\t\n\t\t\tconst text = svg.append(\"g\").selectAll(\"g\")\n\t\t\t\t.data(visavis_force.nodes())\n\t\t\t\t.enter().append(\"g\");\n\t\t\n\t\t\t// a copy of the text with a thick white stroke for legibility\n\t\t\ttext.append(\"text\")\n\t\t\t\t.attr(\"x\", -20)\n\t\t\t\t.attr(\"y\", -10)\n\t\t\t\t.attr(\"class\", \"shadow \" + text_cls)\n\t\t\t\t.attr(\"id\", function(d: any, i: any){ return \"s_\" + table[d.name] })\n\t\t\t\t.html(function(d: any){ return labels[d.name] });\n\t\t\n\t\t\ttext.append(\"text\")\n\t\t\t\t.attr(\"x\", -20)\n\t\t\t\t.attr(\"y\", -10)\n\t\t\t\t.attr(\"class\", \"captions \" + text_cls)\n\t\t\t\t.attr(\"id\", function(d: any, i: any){ return \"t_\" + table[d.name] })\n\t\t\t\t.html(function(d: any){ return labels[d.name] })\n\t\t\t\t.call(drag);\n\t\t\n\t\t\t// text.on(\"click\", function(d: any){\n\t\t\t// \tif (visavis.mpds_embedded){\n\t\t\t// \t\tvar found_fct = visavis.graph_mapping[d.name.charAt(0)],\n\t\t\t// \t\t\tvalue = labels[d.name];\n\t\t\t// \t\tif (found_fct == 'codens') value = value.split(\"'\")[0]; // FIXME years lost\n\t\t\t// \t\telse if (found_fct == 'formulae') value = window.parent.WMCORE.termify_formulae(value.split(\",\")[0]);\n\t\t\t// \t\twindow.parent.location.hash = window.parent.wmgui.aug_search_cmd(found_fct, value);\n\t\t\t// \t}\n\t\t\t// });\n\t\t\n\t\t\tfunction tick(){\n\t\t\t\tpath.attr(\"d\", direct);\n\t\t\t\tcircle.attr(\"transform\", transform);\n\t\t\t\ttext.attr(\"transform\", transform);\n\t\t\t}\n\t\t\n\t\t\tfunction direct(d: Edge){\n\t\t\t\treturn \"M\" + d.source.x + \",\" + d.source.y + \" \" + d.target.x + \",\" + d.target.y;\n\t\t\t}\n\t\t\n\t\t\tfunction transform(d: Node){\n\t\t\t\treturn \"translate(\" + d.x + \",\" + d.y + \")\";\n\t\t\t}\n\t\t\n\t\t\tvisavis_force.start();\n\t\t\t// for (var i = 400; i > 0; i--) visavis_force.tick();\n\t\t\t// visavis_force.stop();\n\t\t\t// hide_preloader();\n\t\t\t// hide_messages();\n\t\t\t// warn_demo();\n\t\t\t// if (visavis.mpds_embedded) document.getElementById('expander').style.display = 'block';\n\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"visavis/graph/graph.view.css\",\n \"[visavis_graph_plot] svg {\\n\\twidth: 100%;\\n\\theight: 100%;\\n}\\n\\n[visavis_graph_plot] .edge {\\n\\tfill: none;\\n\\tstroke: #ddd;\\n\\tstroke-width: 1px;\\n}\\n\\n[visavis_graph_plot] .edge.prel {\\n\\tstroke: #FE9A2E;\\n}\\n\\n[visavis_graph_plot] .edge.hrel {\\n\\tstroke: #3e3f95;\\n}\\n\\n[visavis_graph_plot] .edge.trel {\\n\\tstroke: #3e3f95;\\n}\\n\\n[visavis_graph_plot] .edge.arel {\\n\\tstroke: #E36868;\\n}\\n\\n[visavis_graph_plot] .edge.grel {\\n\\tstroke: #acc2b3;\\n}\\n\\n[visavis_graph_plot] circle {\\n\\tcursor: move;\\n\\tfill: #ccc;\\n}\\n\\n[visavis_graph_plot] circle.f {\\n\\tfill: #acc2b3;\\n}\\n\\n[visavis_graph_plot] circle.p {\\n\\tfill: #FE9A2E;\\n}\\n\\n[visavis_graph_plot] circle.h, circle.t {\\n\\tfill: #3e3f95;\\n}\\n\\n[visavis_graph_plot] circle.a {\\n\\tfill: #E36868;\\n}\\n\\n[visavis_graph_plot] text.micro {\\n\\tfont-size: 11px;\\n\\tletter-spacing: -0.5px;\\n}\\n\\n[visavis_graph_plot] text.macro {\\n\\tfont-size: 14px;\\n\\tletter-spacing: 0.5px;\\n}\\n\\n[visavis_graph_plot] text.captions {\\n\\tcursor: pointer;\\n\\tfill: #333;\\n}\\n\\n[visavis_graph_plot] text.shadow {\\n\\tstroke: #fff;\\n\\tstroke-width: 3px;\\n\\tstroke-opacity: 0.8;\\n}\\n\"\n) }","namespace $.$$ {\n\n\t$mol_style_define( $.$visavis_graph, {\n\n\t\tRoot: {\n\t\t\twidth: '100%',\n\t\t\theight: '100%',\n\t\t},\n\n\t\tPlot: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\texport class $visavis_app extends $mol_book2 {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr * mol_theme \\$mol_theme_light\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\tmol_theme: \"$mol_theme_light\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages /\n\t\t * \t<= Menu\n\t\t * \t<= Matrix*plot\n\t\t * \t<= Cube*plot\n\t\t * \t<= Phase*plot\n\t\t * \t<= Bar*plot\n\t\t * \t<= Discovery*plot\n\t\t * \t<= Eigen*plot\n\t\t * \t<= Pie*plot\n\t\t * \t<= Scatter*plot\n\t\t * \t<= Customscatter*plot\n\t\t * \t<= Heatmap*plot\n\t\t * \t<= Graph*plot\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Menu(),\n\t\t\t\tthis.Matrix(\"plot\"),\n\t\t\t\tthis.Cube(\"plot\"),\n\t\t\t\tthis.Phase(\"plot\"),\n\t\t\t\tthis.Bar(\"plot\"),\n\t\t\t\tthis.Discovery(\"plot\"),\n\t\t\t\tthis.Eigen(\"plot\"),\n\t\t\t\tthis.Pie(\"plot\"),\n\t\t\t\tthis.Scatter(\"plot\"),\n\t\t\t\tthis.Customscatter(\"plot\"),\n\t\t\t\tthis.Heatmap(\"plot\"),\n\t\t\t\tthis.Graph(\"plot\")\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * files_read? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tfiles_read(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Upload $mol_button_open\n\t\t * \thint @ \\Upload a plot from MPDS in JSON\n\t\t * \taccept \\application/json\n\t\t * \tfiles? <=> files_read?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tUpload() {\n\t\t\tconst obj = new this.$.$mol_button_open()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$visavis_app_Upload_hint' )\n\t\t\tobj.accept = () => \"application/json\"\n\t\t\tobj.files = (next?: any) => this.files_read(next)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_id* \\\n\t\t * ```\n\t\t */\n\t\tplot_id(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot_link* $mol_link\n\t\t * \targ * file <= plot_id*\n\t\t * \ttitle <= plot_id*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPlot_link(id: any) {\n\t\t\tconst obj = new this.$.$mol_link()\n\t\t\t\n\t\t\tobj.arg = () => ({\n\t\t\t\tfile: this.plot_id(id)\n\t\t\t} as Record< string, any >)\n\t\t\tobj.title = () => this.plot_id(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * history_drop*? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\thistory_drop(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot_drop_icon* $mol_icon_delete\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPlot_drop_icon(id: any) {\n\t\t\tconst obj = new this.$.$mol_icon_delete()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot_drop* $mol_button_minor\n\t\t * \tclick? <=> history_drop*?\n\t\t * \tsub / <= Plot_drop_icon*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPlot_drop(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.click = (next?: any) => this.history_drop(id, next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Plot_drop_icon(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot*0 $mol_view sub /\n\t\t * \t<= Plot_link*\n\t\t * \t<= Plot_drop*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPlot(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Plot_link(id),\n\t\t\t\tthis.Plot_drop(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * history_rows / <= Plot*0\n\t\t * ```\n\t\t */\n\t\thistory_rows() {\n\t\t\treturn [\n\t\t\t\tthis.Plot(\"0\")\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * History $mol_list\n\t\t * \ttitle @ \\Uploads\n\t\t * \trows <= history_rows\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHistory() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_app_History_title' )\n\t\t\tobj.rows = () => this.history_rows()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * example_title* \\\n\t\t * ```\n\t\t */\n\t\texample_title(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Example*0 $mol_link\n\t\t * \targ * file <= example_title*\n\t\t * \ttitle <= example_title*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tExample(id: any) {\n\t\t\tconst obj = new this.$.$mol_link()\n\t\t\t\n\t\t\tobj.arg = () => ({\n\t\t\t\tfile: this.example_title(id)\n\t\t\t} as Record< string, any >)\n\t\t\tobj.title = () => this.example_title(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * example_rows / <= Example*0\n\t\t * ```\n\t\t */\n\t\texample_rows() {\n\t\t\treturn [\n\t\t\t\tthis.Example(\"0\")\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Examples $mol_list\n\t\t * \ttitle @ \\Examples\n\t\t * \trows <= example_rows\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tExamples() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_app_Examples_title' )\n\t\t\tobj.rows = () => this.example_rows()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Deck $mol_deck items /\n\t\t * \t<= History\n\t\t * \t<= Examples\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tDeck() {\n\t\t\tconst obj = new this.$.$mol_deck()\n\t\t\t\n\t\t\tobj.items = () => [\n\t\t\t\tthis.History(),\n\t\t\t\tthis.Examples()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Source $mol_link_source uri \\https://github.com/mpds-io/visavis\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSource() {\n\t\t\tconst obj = new this.$.$mol_link_source()\n\t\t\t\n\t\t\tobj.uri = () => \"https://github.com/mpds-io/visavis\"\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Menu $mol_page\n\t\t * \ttitle \\Vis-a-vis\n\t\t * \ttools / <= Upload\n\t\t * \tbody / <= Deck\n\t\t * \tfoot / <= Source\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tMenu() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => \"Vis-a-vis\"\n\t\t\tobj.tools = () => [\n\t\t\t\tthis.Upload()\n\t\t\t] as readonly any[]\n\t\t\tobj.body = () => [\n\t\t\t\tthis.Deck()\n\t\t\t] as readonly any[]\n\t\t\tobj.foot = () => [\n\t\t\t\tthis.Source()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot* $visavis_plot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tplot(id: any) {\n\t\t\tconst obj = new this.$.$visavis_plot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Matrix*plot $visavis_matrix plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tMatrix(id: any) {\n\t\t\tconst obj = new this.$.$visavis_matrix()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cube*plot $visavis_cube plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCube(id: any) {\n\t\t\tconst obj = new this.$.$visavis_cube()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Phase*plot $visavis_phase plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPhase(id: any) {\n\t\t\tconst obj = new this.$.$visavis_phase()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Bar*plot $visavis_bar plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tBar(id: any) {\n\t\t\tconst obj = new this.$.$visavis_bar()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Discovery*plot $visavis_discovery plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tDiscovery(id: any) {\n\t\t\tconst obj = new this.$.$visavis_discovery()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Eigen*plot $visavis_eigen plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tEigen(id: any) {\n\t\t\tconst obj = new this.$.$visavis_eigen()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Pie*plot $visavis_pie plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPie(id: any) {\n\t\t\tconst obj = new this.$.$visavis_pie()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Scatter*plot $visavis_scatter plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tScatter(id: any) {\n\t\t\tconst obj = new this.$.$visavis_scatter()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Customscatter*plot $visavis_customscatter plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCustomscatter(id: any) {\n\t\t\tconst obj = new this.$.$visavis_customscatter()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap*plot $visavis_heatmap plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tHeatmap(id: any) {\n\t\t\tconst obj = new this.$.$visavis_heatmap()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Graph*plot $visavis_graph plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tGraph(id: any) {\n\t\t\tconst obj = new this.$.$visavis_graph()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\texport type $mol_blob = Blob\n\n\texport let $mol_blob = ( $node.buffer?.Blob ?? $mol_dom_context.Blob ) as any as {\n\t\tprototype: Blob;\n\t\tnew(blobParts?: readonly BlobPart[], options?: BlobPropertyBag): Blob;\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_blob_text( blob: $mol_blob ) {\n\t\treturn new Promise< string >( ( done, fail )=> {\n\t\t\tconst reader = new FileReader\n\t\t\treader.onerror = fail\n\t\t\treader.onload = event => done( event.target!.result as string )\n\t\t\treader.readAsText( blob )\n\t\t} )\n\t}\n\n}\n","namespace $ {\n\n\texport async function $mol_blob_json( blob: $mol_blob ) {\n\t\tconst json = await $mol_blob_text( blob )\n\t\treturn JSON.parse(json)\n\t}\n\n}\n","namespace $.$$ {\n\n\texport class $visavis_app extends $.$visavis_app {\n\n\t\t@ $mol_action\n\t\tfiles_read(next: readonly File[]) {\n\t\t\tconst data = $mol_wire_sync( $mol_blob_json )( next[0] )\n\n\t\t\tconst plot = new $visavis_plot({\n\t\t\t\tid: next[0].name,\n\t\t\t\ttype: data.use_visavis_type ?? 'unknown',\n\t\t\t\tjson: data,\n\t\t\t})\n\n\t\t\tthis.history_add( plot )\n\t\t}\n\n\t\t@ $mol_action\n\t\thistory_add(plot: $visavis_plot) {\n\t\t\tconst duplicates = this.history_plots().filter( id => id.replace(/\\[\\d+?\\]/, '') === plot.id() )\n\t\t\tconst count = Math.max( ... duplicates.map( id => Number( id.match(/\\[(\\d+?)\\]$/)?.[1] ?? 0 ) ) )\n\t\t\tconst postfix = duplicates.length ? `[${ count + 1 }]` : ''\n\n\t\t\tplot.id( `${ plot.id() }${ postfix }` )\n\n\t\t\tthis.history_plot(plot.id(), plot )\n\t\t\tthis.history_plots( [ ...this.history_plots(), plot.id() ] )\n\t\t}\n\n\t\t@ $mol_action\n\t\thistory_drop(id: string) {\n\t\t\tthis.history_plot(id, null)\n\t\t\tthis.history_plots( this.history_plots().filter( plot_id => plot_id !== id ) )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\thistory_plots(next?: string[]) {\n\t\t\treturn this.$.$mol_state_local.value( `${this}.history_plots()` , next ) ?? []\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\thistory_plot(id: string, next?: $visavis_plot | null) {\n\t\t\tconst json = this.$.$mol_state_local.value( `${this}.history_plot('${id}')` , next && next.data() )\n\t\t\treturn json ? new $visavis_plot( json ) : null\n\t\t}\n\n\t\t@ $mol_mem\n\t\thistory_rows() {\n\t\t\treturn this.history_plots().map( (id)=> this.Plot(id) ).reverse()\n\t\t}\n\n\t\tplot_id(id: string) {\n\t\t\treturn id \n\t\t}\n\n\t\tplot_opened(next?: string | null) {\n\t\t\treturn this.$.$mol_state_arg.value( 'file' , next ) ?? ''\n\t\t}\n\n\t\tPlot_opened() {\n\t\t\tconst id = this.plot_opened()\n\t\t\tif (!id) return []\n\n\t\t\tconst plot = this.history_plot( id )\n\t\t\tif (!plot) return []\n\n\t\t\tswitch( plot.type() ) {\n\t\t\t\tcase 'matrix': return this.Matrix( plot ).pages()\n\t\t\t\tcase 'plot3d': return this.Cube( plot ).pages()\n\t\t\t\tcase 'pd': return this.Phase( plot ).pages()\n\t\t\t\tcase 'bar': return this.Bar( plot ).pages()\n\t\t\t\tcase 'discovery': return this.Discovery( plot ).pages()\n\t\t\t\tcase 'eigenplot': return this.Eigen( plot ).pages()\n\t\t\t\tcase 'pie': return this.Pie( plot ).pages()\n\t\t\t\tcase 'scatter': return this.Scatter( plot ).pages()\n\t\t\t\tcase 'customscatter': return this.Customscatter( plot ).pages()\n\t\t\t\tcase 'heatmap': return this.Heatmap( plot ).pages()\n\t\t\t\tcase 'graph': return this.Graph( plot ).pages()\n\t\t\t\tdefault: return []\n\t\t\t}\n\t\t}\n\n\t\tplot(plot: $visavis_plot) {\n\t\t\treturn plot\n\t\t}\n\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Menu(),\n\t\t\t\t... this.Plot_opened(),\n\t\t\t]\n\t\t}\n\n\t\tPlaceholder() {\n\t\t\treturn this.Plot_opened().length > 0 ? null as any : super.Placeholder()\n\t\t}\n\n\t}\n\n}\n","namespace $.$$ {\n\n\tconst { rem, per } = $mol_style_unit\n\tconst { calc } = $mol_style_func\n\n\t$mol_style_define( $.$visavis_app, {\n\n\t\tMenu: {\n\t\t\tflex: {\n\t\t\t\tbasis: rem(25),\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t\tBody: {\n\t\t\t\tpadding: $mol_gap.block,\n\t\t\t},\n\t\t\tFoot: {\n\t\t\t\tpadding: $mol_gap.block,\n\t\t\t},\n\t\t},\n\n\t\tPlot_link: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n"]} \ No newline at end of file +{"version":3,"sources":["-","../../../mam.ts","../../../mol/ambient/ambient.ts","../../../mol/delegate/delegate.ts","../../../mol/owning/owning.ts","../../../mol/fail/fail.ts","../../../mol/fail/hidden/hidden.ts","../../../mol/func/name/name.ts","../../../mol/object2/object2.ts","../../../mol/object/object.ts","../../../mol/window/window.node.ts","../../../mol/wire/cursor/cursor.ts","../../../mol/wire/pub/pub.ts","../../../mol/wire/wire.ts","../../../mol/dev/format/format.ts","../../../mol/wire/pub/sub/sub.ts","../../../mol/after/timeout/timeout.ts","../../../mol/after/frame/frame.node.ts","../../../mol/promise/like/like.ts","../../../mol/wire/fiber/fiber.ts","../../../mol/guid/guid.ts","../../../mol/key/key.ts","../../../mol/compare/deep/deep.ts","../../../mol/log3/log3.ts","../../../mol/span/span.ts","../../../mol/tree2/to/string/string.ts","../../../mol/tree2/tree2.ts","../../../mol/error/syntax/syntax.ts","../../../mol/tree2/from/string/string.ts","../../../mol/tree2/from/json/json.ts","../../../mol/term/color/color.ts","../../../mol/log3/log3.node.ts","../../../mol/wire/task/task.ts","../../../mol/wire/method/method.ts","../../../mol/fail/catch/catch.ts","../../../mol/fail/log/log.ts","../../../mol/wire/atom/atom.ts","../../../mol/wire/solo/solo.ts","../../../mol/wire/plex/plex.ts","../../../mol/mem/mem.ts","../../../mol/dom/context/context.ts","../../../node/node.node.ts","../../../mol/env/env.ts","../../../mol/env/env.node.ts","../../../mol/exec/exec.node.ts","../../../mol/dom/context/context.node.ts","../../../mol/after/tick/tick.ts","../../../mol/view/selection/selection.ts","../../../mol/wrapper/wrapper.ts","../../../mol/memo/memo.ts","../../../mol/dom/qname/qname.ts","../../../mol/wire/probe/probe.ts","../../../mol/wire/watch/watch.ts","../../../mol/const/const.ts","../../../mol/wire/solid/solid.ts","../../../mol/dom/render/attributes/attributes.ts","../../../mol/dom/render/events/events.ts","../../../mol/dom/render/styles/styles.ts","../../../mol/dom/render/children/children.ts","../../../mol/dom/render/fields/fields.ts","../../../mol/wire/async/async.ts","../../../mol/style/attach/attach.ts","../../../mol/decor/decor.ts","../../../mol/style/unit/unit.ts","../../../mol/style/func/func.ts","../../../mol/style/prop/prop.ts","../../../mol/theme/theme.ts","../../../mol/theme/-css/theme.css.ts","../../../mol/gap/gap.ts","../../../mol/gap/-css/gap.css.ts","../../../mol/view/view/view.ts","../../../mol/view/view/-css/view.css.ts","../../../mol/plugin/plugin.ts","../../../mol/scroll/-view.tree/scroll.view.tree.ts","../../../mol/dom/listener/listener.ts","../../../mol/print/print.ts","../../../mol/style/sheet/sheet.ts","../../../mol/style/define/define.ts","../../../mol/scroll/scroll.view.ts","../../../mol/scroll/scroll.view.css.ts","../../../mol/book2/-view.tree/book2.view.tree.ts","../../../mol/mem/cached/cached.ts","../../../mol/book2/book2.view.ts","../../../mol/book2/-css/book2.view.css.ts","../../../mol/speck/-view.tree/speck.view.tree.ts","../../../mol/layer/layer.ts","../../../mol/layer/-css/layer.css.ts","../../../mol/speck/-css/speck.view.css.ts","../../../mol/button/-view.tree/button.view.tree.ts","../../../mol/keyboard/code/code.ts","../../../mol/button/button.view.ts","../../../mol/button/-css/button.view.css.ts","../../../mol/button/typed/-view.tree/typed.view.tree.ts","../../../mol/button/typed/-css/typed.view.css.ts","../../../mol/button/minor/-view.tree/minor.view.tree.ts","../../../mol/button/minor/-css/minor.view.css.ts","../../../mol/svg/-view.tree/svg.view.tree.ts","../../../mol/state/time/time.ts","../../../mol/svg/svg.view.ts","../../../mol/svg/root/-view.tree/root.view.tree.ts","../../../mol/svg/root/-css/root.view.css.ts","../../../mol/svg/path/-view.tree/path.view.tree.ts","../../../mol/icon/-view.tree/icon.view.tree.ts","../../../mol/icon/-css/icon.view.css.ts","../../../mol/icon/upload/-view.tree/upload.view.tree.ts","../../../mol/button/open/-view.tree/open.view.tree.ts","../../../mol/button/open/open.view.ts","../../../mol/button/open/-css/open.view.css.ts","../../../mol/mem/persist/persist.ts","../../../mol/wire/sync/sync.ts","../../../mol/storage/storage.ts","../../../mol/state/local/local.ts","../../../mol/charset/decode/decode.ts","../../../mol/charset/encode/encode.ts","../../../mol/file/file.ts","../../../mol/compare/array/array.ts","../../../mol/file/file.node.ts","../../../mol/locale/locale.ts","../../../mol/link/-view.tree/link.view.tree.ts","../../../mol/action/action.ts","../../../mol/state/arg/arg.node.ts","../../../mol/link/link.view.ts","../../../mol/link/link.view.css.ts","../../../mol/icon/delete/-view.tree/delete.view.tree.ts","../../../mol/list/-view.tree/list.view.tree.ts","../../../mol/support/css/css.ts","../../../mol/list/list.view.ts","../../../mol/list/-css/list.view.css.ts","../../../mol/check/-view.tree/check.view.tree.ts","../../../mol/maybe/maybe.ts","../../../mol/check/-css/check.css.ts","../../../mol/check/check.view.ts","../../../mol/check/list/-view.tree/list.view.tree.ts","../../../mol/check/list/list.view.ts","../../../mol/check/list/-css/list.view.css.ts","../../../mol/switch/-view.tree/switch.view.tree.ts","../../../mol/state/session/session.ts","../../../mol/switch/switch.view.ts","../../../mol/deck/-view.tree/deck.view.tree.ts","../../../mol/deck/deck.view.ts","../../../mol/icon/script/-view.tree/script.view.tree.ts","../../../mol/icon/script/text/-view.tree/text.view.tree.ts","../../../mol/link/source/-view.tree/source.view.tree.ts","../../../mol/page/-view.tree/page.view.tree.ts","../../../mol/page/page.view.css.ts","../../../mol/store/store.ts","../../../visavis/plot/plot.ts","../../../mol/icon/tick/-view.tree/tick.view.tree.ts","../../../mol/check/box/-view.tree/box.view.tree.ts","../../../mol/check/box/-css/box.view.css.ts","../../../mol/labeler/-view.tree/labeler.view.tree.ts","../../../mol/labeler/-css/labeler.view.css.ts","../../../visavis/matrix/-view.tree/matrix.view.tree.ts","../../../mol/data/setup/setup.ts","../../../mol/data/record/record.ts","../../../mol/error/mix/mix.ts","../../../mol/data/error/error.ts","../../../mol/data/string/string.ts","../../../mol/data/number/number.ts","../../../mol/data/optional/optional.ts","../../../mol/data/array/array.ts","../../../mol/import/import.ts","../../../visavis/lib/lib.ts","../../../visavis/nonformer/nonformer.ts","../../../mol/coord/coord.ts","../../../visavis/matrix/matrix.view.ts","../../../visavis/matrix/-css/matrix.view.css.ts","../../../visavis/matrix/matrix.view.css.ts","../../../mol/pop/-view.tree/pop.view.tree.ts","../../../mol/pop/pop.view.ts","../../../mol/pop/-css/pop.view.css.ts","../../../mol/pick/-view.tree/pick.view.tree.ts","../../../mol/pick/pick.view.ts","../../../mol/pick/-css/pick.view.css.ts","../../../mol/hotkey/-view.tree/hotkey.view.tree.ts","../../../mol/hotkey/hotkey.view.ts","../../../mol/nav/-view.tree/nav.view.tree.ts","../../../mol/nav/nav.view.ts","../../../mol/string/-view.tree/string.view.tree.ts","../../../mol/string/string.view.ts","../../../mol/string/-css/string.view.css.ts","../../../mol/icon/cross/-view.tree/cross.view.tree.ts","../../../mol/paragraph/-view.tree/paragraph.view.tree.ts","../../../mol/paragraph/paragraph.view.ts","../../../mol/paragraph/-css/paragraph.view.css.ts","../../../mol/dimmer/-view.tree/dimmer.view.tree.ts","../../../mol/regexp/regexp.ts","../../../mol/dimmer/dimmer.view.ts","../../../mol/dimmer/-css/dimmer.view.css.ts","../../../mol/search/-view.tree/search.view.tree.ts","../../../mol/search/search.view.ts","../../../mol/search/-css/search.view.css.ts","../../../mol/icon/dots/vertical/-view.tree/vertical.view.tree.ts","../../../mol/select/-view.tree/select.view.tree.ts","../../../mol/match/text.ts","../../../mol/select/select.view.ts","../../../mol/select/-css/select.view.css.ts","../../../visavis/cube/-view.tree/cube.view.tree.ts","../../../mol/data/boolean/boolean.ts","../../../mol/data/nullable/nullable.ts","../../../lib/d3/d3.ts","../../../visavis/element/element.ts","../../../lib/plotly/plotly.ts","../../../visavis/cube/cube.view.ts","../../../visavis/cube/cube.view.css.ts","../../../visavis/phase/-view.tree/phase.view.tree.ts","../../../mol/data/const/const.ts","../../../mol/data/dict/dict.ts","../../../visavis/phase/phase.view.ts","../../../visavis/phase/-css/phase.view.css.ts","../../../visavis/phase/phase.view.css.ts","../../../visavis/plot/plotly/-view.tree/plotly.view.tree.ts","../../../visavis/plot/plotly/plotly.view.ts","../../../visavis/plot/plotly/plotly.view.css.ts","../../../visavis/bar/-view.tree/bar.view.tree.ts","../../../visavis/bar/bar.view.ts","../../../visavis/bar/bar.view.css.ts","../../../visavis/discovery/-view.tree/discovery.view.tree.ts","../../../visavis/discovery/discovery.view.ts","../../../visavis/discovery/discovery.view.css.ts","../../../visavis/eigen/-view.tree/eigen.view.tree.ts","../../../mol/data/variant/variant.ts","../../../visavis/eigen/eigen.view.ts","../../../visavis/pie/-view.tree/pie.view.tree.ts","../../../mol/data/enum/enum.ts","../../../visavis/pie/pie.view.ts","../../../visavis/scatter/-view.tree/scatter.view.tree.ts","../../../visavis/scatter/scatter.view.ts","../../../visavis/customscatter/-view.tree/customscatter.view.tree.ts","../../../visavis/customscatter/customscatter.view.ts","../../../visavis/heatmap/-view.tree/heatmap.view.tree.ts","../../../visavis/heatmap/heatmap.view.ts","../../../visavis/graph/-view.tree/graph.view.tree.ts","../../../visavis/graph/graph.view.ts","../../../visavis/graph/-css/graph.view.css.ts","../../../visavis/graph/graph.view.css.ts","../../../visavis/app/-view.tree/app.view.tree.ts","../../../mol/blob/blob.ts","../../../mol/blob/text/text.ts","../../../mol/blob/json/json.ts","../../../visavis/app/app.view.ts","../../../visavis/app/app.view.css.ts"],"names":[],"mappings":";;;AAAA;AACA;AACA;AACA;;ACHA,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;AAK3B,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;AAMX,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AAED,MAAM,CAAC,OAAO,GAAG,CAAC,CAAA;;;ADblB;AACA;AACA;;;;;;;;;;;;;;;AEFA,IAAU,CAAC,CAWV;AAXD,WAAU,CAAC;IAEG,kBAAgB,GAAmB,MAAM,CAAE,kBAAkB,CAAE,CAAA;IAK5E,SAAgB,YAAY,CAAoB,SAAwB;QACvE,OAAO,MAAM,CAAC,cAAc,CAAE,SAAS,EAAG,IAAI,IAAI,CAAC,CAAE,CAAA;IACtD,CAAC;IAFe,cAAY,eAE3B,CAAA;AAEF,CAAC,EAXS,CAAC,KAAD,CAAC,QAWV;;;;ACXD,IAAU,CAAC,CA0DV;AA1DD,WAAU,CAAC;IAEV,MAAM,SAAS,GAAG,IAAI,OAAO,EAAS,CAAA;IAOnC,SAAgB,aAAa,CAC/B,KAAa,EACb,MAAmB;QAGnB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAE,KAAK,EAAG;YAEhC,GAAG,EAAE,CAAE,CAAC,EAAG,KAAK,EAAE,EAAE;gBACnB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;gBACpB,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAE,GAAG,EAAG,KAAK,CAAE,CAAA;gBACpC,IAAI,OAAO,GAAG,KAAK,UAAU,EAAG,CAAC;oBAChC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;gBACtB,CAAC;gBACD,OAAO,GAAG,CAAA;YACX,CAAC;YACD,GAAG,EAAE,CAAE,CAAC,EAAG,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAE,MAAM,EAAE,EAAE,KAAK,CAAE;YACnD,GAAG,EAAE,CAAE,CAAC,EAAG,KAAK,EAAG,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAE,MAAM,EAAE,EAAG,KAAK,EAAG,KAAK,CAAE;YAEpE,wBAAwB,EAAE,CAAE,CAAC,EAAG,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAE,MAAM,EAAE,EAAG,KAAK,CAAE;YAC9F,OAAO,EAAE,GAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAE,MAAM,EAAE,CAAE;YAEzC,cAAc,EAAE,GAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAE,MAAM,EAAE,CAAE;YACvD,cAAc,EAAE,CAAE,CAAC,EAAG,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAE,MAAM,EAAE,EAAG,KAAK,CAAE;YAE1E,YAAY,EAAE,GAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAE,MAAM,EAAE,CAAE;YACnD,iBAAiB,EAAE,GAAE,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAE,MAAM,EAAE,CAAE;YAE7D,KAAK,EAAE,CAAE,CAAC,EAAG,IAAI,EAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAE,MAAM,EAAc,EAAG,IAAI,EAAG,IAAI,CAAE;YAChF,SAAS,EAAE,CAAE,CAAC,EAAG,IAAI,EAAG,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAE,MAAM,EAAc,EAAG,IAAI,EAAG,QAAQ,CAAE;YAEhG,cAAc,EAAE,CAAE,CAAC,EAAG,KAAK,EAAG,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAE,MAAM,EAAE,EAAG,KAAK,EAAG,KAAK,CAAE;YAC1F,cAAc,EAAE,CAAE,CAAC,EAAG,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAE,MAAM,EAAE,EAAG,KAAK,CAAE;SAE1E,CAAE,CAAA;QAEH,SAAS,CAAC,GAAG,CAAE,KAAK,CAAE,CAAA;QAEtB,OAAO,KAAK,CAAA;IAEb,CAAC;IAvCkB,eAAa,gBAuC/B,CAAA;IAED,OAAO,CAAC,cAAc,CACrB,aAAa,EACb,MAAM,CAAC,WAAW,EAClB;QACC,KAAK,EAAG,CAAE,GAAY,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAE,GAAG,CAAE;KAC/C,CACD,CAAA;AAEF,CAAC,EA1DS,CAAC,KAAD,CAAC,QA0DV;;;;AC1DD,IAAU,CAAC,CAyDV;AAzDD,WAAU,CAAC;IAEG,iBAAe,GAAG,IAAI,OAAO,EAAe,CAAA;IAEzD,SAAgB,iBAAiB,CAChC,MAAe;QAIf,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM;gBAAG,OAAO,KAAK,CAAA;YAC1B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,UAAU;gBAAG,OAAO,KAAK,CAAA;YAC7E,IAAI,MAAM,YAAY,aAAa;gBAAG,OAAO,KAAK,CAAA;YAClD,IAAI,OAAQ,MAAc,CAAC,YAAY,CAAC,KAAK,UAAU;gBAAG,OAAO,KAAK,CAAA;YACtE,OAAO,IAAI,CAAA;QACZ,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAA;QACb,CAAC;IACF,CAAC;IAde,mBAAiB,oBAchC,CAAA;IAED,SAAgB,eAAe,CAAmC,MAAe,EAAG,KAA0B;QAE7G,IAAI,CAAC,iBAAiB,CAAE,MAAM,CAAE;YAAG,OAAO,IAAI,CAAA;QAE9C,OAAO,IAAI,EAAG,CAAC;YAEd,MAAM,KAAK,GAAG,EAAA,eAAe,CAAC,GAAG,CAAE,MAAM,CAAE,CAAA;YAC3C,IAAI,CAAC,KAAK;gBAAG,OAAO,KAAK,CAAA;YACzB,IAAI,CAAC,KAAK;gBAAG,OAAO,KAAK,CAAA;YAEzB,IAAI,KAAK,YAAY,KAAK;gBAAG,OAAO,KAAK,CAAA;YAEzC,MAAM,GAAG,KAAK,CAAA;QACf,CAAC;IAEF,CAAC;IAfe,iBAAe,kBAe9B,CAAA;IAED,SAAgB,iBAAiB,CAChC,KAAa,EACb,MAAe;QAEf,IAAI,CAAC,iBAAiB,CAAE,MAAM,CAAE;YAAG,OAAO,KAAK,CAAA;QAC/C,IAAI,EAAA,eAAe,CAAC,GAAG,CAAE,MAAM,CAAE,KAAK,KAAK;YAAG,OAAO,KAAK,CAAA;QAC1D,OAAO,IAAI,CAAA;IACZ,CAAC;IAPe,mBAAiB,oBAOhC,CAAA;IAED,SAAgB,iBAAiB,CAChC,KAAa,EACb,MAAe;QAEf,IAAI,CAAC,iBAAiB,CAAE,MAAM,CAAE;YAAG,OAAO,KAAK,CAAA;QAC/C,IAAI,EAAA,eAAe,CAAC,GAAG,CAAE,MAAM,CAAE;YAAG,OAAO,KAAK,CAAA;QAEhD,EAAA,eAAe,CAAC,GAAG,CAAE,MAAM,EAAG,KAAK,CAAE,CAAA;QACrC,OAAO,IAAI,CAAA;IACZ,CAAC;IATe,mBAAiB,oBAShC,CAAA;AAEF,CAAC,EAzDS,CAAC,KAAD,CAAC,QAyDV;;;;ACzDD,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IAEV,SAAgB,SAAS,CAAE,KAAW;QACrC,MAAM,KAAK,CAAA;IACZ,CAAC;IAFe,WAAS,YAExB,CAAA;AAEF,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;;;;ACND,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IAEV,SAAgB,gBAAgB,CAAE,KAAW;QAC5C,MAAM,KAAK,CAAA;IACZ,CAAC;IAFe,kBAAgB,mBAE/B,CAAA;AAEF,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;;;;;;;ACND,IAAU,CAAC,CA6BV;AA7BD,WAAU,CAAC;IAEV,MAAM,KAAK,GAAG,IAAI,OAAO,EAAc,CAAA;IAEvC,SAAgB,cAAc,CAAa,IAAe;QAEzD,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,IAAI,IAAI,EAAE,MAAM,GAAG,CAAC;YAAG,OAAO,IAAI,CAAA;QAClC,IAAI,KAAK,CAAC,GAAG,CAAE,IAAI,CAAE;YAAG,OAAO,IAAI,CAAA;QAEnC,KAAK,IAAI,GAAG,IAAI,IAAI,EAAG,CAAC;YACvB,IAAI,CAAC;gBACJ,IAAK,IAAY,CAAE,GAAG,CAAE,KAAK,IAAI;oBAAG,SAAQ;gBAC5C,IAAI,GAAG,GAAG,CAAA;gBACV,MAAM,CAAC,cAAc,CAAE,IAAI,EAAG,MAAM,EAAG,EAAE,KAAK,EAAG,IAAI,EAAE,CAAE,CAAA;gBACzD,MAAK;YACN,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACX,CAAC;QAED,KAAK,CAAC,GAAG,CAAE,IAAI,CAAE,CAAA;QACjB,OAAO,IAAI,CAAA;IAEZ,CAAC;IAlBe,gBAAc,iBAkB7B,CAAA;IAED,SAAgB,mBAAmB,CAA6B,MAAe,EAAG,MAAiB;QAClG,MAAM,CAAC,cAAc,CAAE,MAAM,EAAG,MAAM,EAAG,EAAE,KAAK,EAAG,MAAM,CAAC,IAAI,EAAE,CAAE,CAAA;QAClE,OAAO,MAAM,CAAA;IACd,CAAC;IAHe,qBAAmB,sBAGlC,CAAA;AAEF,CAAC,EA7BS,CAAC,KAAD,CAAC,QA6BV;;;;AC7BD,IAAU,CAAC,CAwDV;AAxDD,WAAU,CAAC;IAEV,MAAa,YAAY;QAExB,MAAM,CAAC,CAAC,GAAG,CAAa,CAAA;QAExB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAS;QAE7B,CAAE,gBAAgB,CAAE,GAAG,IAAgB,CAAA;QACvC,IAAI,CAAC;YACJ,IAAI,IAAI,CAAE,gBAAgB,CAAE;gBAAG,OAAO,IAAI,CAAE,gBAAgB,CAAE,CAAA;YAC9D,MAAM,KAAK,GAAG,eAAe,CAAE,IAAI,CAAS,CAAA;YAC5C,OAAO,IAAI,CAAE,gBAAgB,CAAE,GAAG,KAAK,EAAE,CAAC,IAAI,YAAY,CAAC,CAAM,CAAA;QAClE,CAAC;QACD,IAAI,CAAC,CAAE,IAAQ;YACd,IAAI,IAAI,CAAE,gBAAgB,CAAE;gBAAG,gBAAgB,CAAE,IAAI,KAAK,CAAE,yBAAyB,CAAE,CAAE,CAAA;YACzF,IAAI,CAAE,gBAAgB,CAAE,GAAG,IAAI,CAAA;QAChC,CAAC;QAEM,MAAM,CAAC,MAAM,CAEnB,IAA0D;YAE1D,MAAM,GAAG,GAAG,IAAI,IAAI,CAAA;YACpB,IAAI,IAAI;gBAAG,IAAI,CAAE,GAAG,CAAE,CAAA;YACtB,OAAO,GAAG,CAAA;QACX,CAAC;QAED,MAAM,CAAC,CAAE,MAAM,CAAC,WAAW,CAAE;YAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA;QACvB,CAAC;QAED,MAAM,CAAC,QAAQ;YACd,OAAS,IAAa,CAAE,MAAM,CAAC,WAAW,CAAE,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,CAAE,IAAI,CAAE,CAAA;QAC9E,CAAC;QAED,MAAM,CAAC,MAAM;YACZ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA;QACvB,CAAC;QAED,UAAU,KAAK,CAAC;QAChB,MAAM,CAAC,UAAU,KAAK,CAAC;QAMvB,QAAQ;YACP,OAAO,IAAI,CAAE,MAAM,CAAC,WAAW,CAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAA;QAClE,CAAC;;IA/CW,cAAY,eAqDxB,CAAA;AACF,CAAC,EAxDS,CAAC,KAAD,CAAC,QAwDV;;;;ACxDD,IAAU,CAAC,CAmBV;AAnBD,WAAU,GAAC;IAEV,IAAiB,EAAE,CAAU;IAA7B,WAAiB,EAAE;QAAG,IAAI,CAAC,CAAA;IAAC,CAAC,EAAZ,EAAE,GAAF,MAAE,KAAF,MAAE,QAAU;IAEhB,qBAAiB,GAAG,MAAM,CAAE,mBAAmB,CAAE,CAAA;IAE9D,MAAa,WAAY,SAAQ,YAAY;QAErC,MAAM,CAAC,IAAI,CAEjB,MAAuC;YAEvC,OAAO,KAAK,CAAC,MAAM,CAAE,GAAG,CAAC,EAAE;gBAC1B,KAAK,IAAI,GAAG,IAAI,MAAM;oBAAK,GAAY,CAAE,GAAG,CAAE,GAAG,MAAM,CAAE,GAAG,CAAG,CAAA;YAChE,CAAC,CAA0B,CAAA;QAC5B,CAAC;KAED;IAXY,eAAW,cAWvB,CAAA;AAEF,CAAC,EAnBS,CAAC,KAAD,CAAC,QAmBV;;;;ACnBD,IAAU,CAAC,CAaV;AAbD,WAAU,CAAC;IAEV,MAAa,WAAY,SAAQ,WAAW;QAE3C,MAAM,CAAC,IAAI;YACV,OAAO;gBACN,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,GAAG;aACX,CAAA;QACF,CAAC;KAED;IATY,aAAW,cASvB,CAAA;AAEF,CAAC,EAbS,CAAC,KAAD,CAAC,QAaV;;;;ACbD,IAAU,CAAC,CAmBV;AAnBD,WAAU,CAAC;IAGV,IAAY,gBAcX;IAdD,WAAY,gBAAgB;QAG3B,0DAAU,CAAA;QAGV,0DAAU,CAAA;QAGV,0DAAU,CAAA;QAGV,0DAAU,CAAA;IAEX,CAAC,EAdW,gBAAgB,GAAhB,kBAAgB,KAAhB,kBAAgB,QAc3B;AAEF,CAAC,EAnBS,CAAC,KAAD,CAAC,QAmBV;;;;ACnBD,IAAU,CAAC,CA6HV;AA7HD,WAAU,CAAC;IAKV,MAAa,aAAc,SAAQ,MAAM;QAExC,IAAI,GAAG,EAAe,CAAA;QAGtB,MAAM,KAAK,CAAE,MAAM,CAAC,OAAO,CAAE;YAC5B,OAAO,KAAK,CAAA;QACb,CAAC;QAKS,QAAQ,GAAG,CAAC,CAAA;QAKtB,IAAI,QAAQ;YACX,MAAM,GAAG,GAAG,EAAqB,CAAA;YACjC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAG,CAAC;gBAC3D,GAAG,CAAC,IAAI,CAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAkB,CAAE,CAAA;YAC1C,CAAC;YACD,OAAO,GAA+B,CAAA;QACvC,CAAC;QAKD,IAAI,SAAS;YACZ,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;QAC1C,CAAC;QAKD,MAAM,CAAE,GAAkB,EAAE,OAAe;YAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;YAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAE,GAAG,EAAE,OAAO,CAAE,CAAA;YAC9B,OAAO,GAAG,CAAA;QACX,CAAC;QAKD,OAAO,CAAE,OAAe;YAEvB,IAAG,CAAC,CAAE,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAE,EAAE,CAAC;gBACpC,SAAS,CAAE,IAAI,KAAK,CAAE,aAAc,OAAQ,EAAE,CAAE,CAAE,CAAA;YACnD,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;YAChC,IAAI,OAAO,KAAK,GAAG,EAAG,CAAC;gBACtB,IAAI,CAAC,SAAS,CAAE,GAAG,EAAE,OAAO,CAAE,CAAA;YAC/B,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;YACf,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;YAEf,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ;gBAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAErD,CAAC;QAKD,IAAI,KAAK,CAAC;QAKV,OAAO;YACN,cAAc,EAAE,EAAE,UAAU,CAAE,IAAI,CAAE,CAAA;QACrC,CAAC;QAKD,KAAK,KAAI,CAAC;QAKV,QAAQ,KAAI,CAAC;QAEb,IAAI,WAAW;YACd,OAAO,KAAK,CAAA;QACb,CAAC;QAKD,IAAI,CAAE,KAAK,GAAG,gBAAgB,CAAC,KAAK;YACnC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAG,CAAC;gBAC3D,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAoB,CAAC,MAAM,CAAE,KAAK,CAAE,CAAA;YACnD,CAAC;QACF,CAAC;QAKD,SAAS,CAAE,QAAgB,EAAE,MAAc;YAE1C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAE,QAAQ,CAAmB,CAAA;YACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAE,QAAQ,GAAG,CAAC,CAAY,CAAA;YAEpD,IAAI,CAAC,IAAI,CAAE,MAAM,CAAE,GAAG,IAAI,CAAA;YAC1B,IAAI,CAAC,IAAI,CAAE,MAAM,GAAG,CAAC,CAAE,GAAG,QAAQ,CAAA;YAElC,IAAI,CAAC,UAAU,CAAE,QAAQ,EAAE,MAAM,CAAE,CAAA;QACpC,CAAC;QAKD,UAAU,CAAE,QAAgB,EAAE,QAAgB;YAC7C,IAAI,CAAC,IAAI,CAAE,QAAQ,GAAG,CAAC,CAAE,GAAG,QAAQ,CAAA;QACrC,CAAC;KAED;IAtHY,eAAa,gBAsHzB,CAAA;AAEF,CAAC,EA7HS,CAAC,KAAD,CAAC,QA6HV;;;;;;;AC7HD,IAAU,CAAC,CAgBV;AAhBD,WAAU,CAAC;IAEC,oBAAkB,GAAyB,IAAI,CAAA;IAK1D,SAAgB,cAAc,CAAE,IAAI,GAAG,EAAA,kBAAkB;QACxD,OAAO,EAAA,kBAAkB,GAAG,IAAI,CAAA;IACjC,CAAC;IAFe,gBAAc,iBAE7B,CAAA;IAKY,oBAAkB,GAAG,EAAkC,CAAA;AAErE,CAAC,EAhBS,CAAC,KAAD,CAAC,QAgBV;;;;AChBD,IAAU,CAAC,CAyIV;AAzID,WAAU,CAAC;IAGT,CAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAA;IAEvC,SAAgB,wBAAwB,CAAE,MAOzC;QACC,CAAS,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;IAChD,CAAC;IATe,0BAAwB,2BASvC,CAAA;IAEU,sBAAoB,GAAG,MAAM,CAAE,sBAAsB,CAAE,CAAA;IACvD,sBAAoB,GAAG,MAAM,CAAE,sBAAsB,CAAE,CAAA;IAElE,wBAAwB,CAAC;QAExB,MAAM,EAAG,CAAE,GAAS,EAAG,MAAM,GAAG,KAAK,EAAG,EAAE;YAEzC,IAAI,MAAM;gBAAG,OAAO,IAAI,CAAA;YAExB,IAAI,CAAC,GAAG;gBAAG,OAAO,IAAI,CAAA;YAEtB,IAAI,EAAA,oBAAoB,IAAI,GAAG,EAAG,CAAC;gBAClC,IAAI,CAAC;oBACJ,OAAO,GAAG,CAAE,EAAA,oBAAoB,CAAE,EAAE,CAAA;gBACrC,CAAC;gBAAC,OAAO,KAAK,EAAG,CAAC;oBACjB,OAAO,EAAA,sBAAsB,CAAE,sBAAsB,CAAE,GAAG,CAAE,EAAE,IAAI,EAAE,sBAAsB,CAAE,KAAK,CAAE,EAAE,EAAE,CAAE,CAAA;gBAC1G,CAAC;YACF,CAAC;YAED,IAAI,OAAO,GAAG,KAAK,UAAU,EAAG,CAAC;gBAChC,OAAO,sBAAsB,CAAE,GAAG,CAAE,CAAA;YACrC,CAAC;YAED,IAAI,MAAM,CAAC,WAAW,IAAI,GAAG,EAAG,CAAC;gBAChC,OAAO,sBAAsB,CAAE,GAAG,CAAE,CAAA;YACrC,CAAC;YAED,OAAO,IAAI,CAAA;QAEZ,CAAC;QAED,OAAO,EAAG,GAAG,CAAC,EAAE,CAAC,GAAG,CAAE,EAAA,oBAAoB,CAAE;QAE5C,IAAI,EAAG,GAAG,CAAC,EAAE,CAAC,GAAG,CAAE,EAAA,oBAAoB,CAAE,EAAE;KAE3C,CAAC,CAAA;IAEF,SAAgB,sBAAsB,CAAE,GAAS;QAEhD,IAAI,OAAO,GAAG,KAAK,WAAW;YAAG,OAAO,EAAA,qBAAqB,CAAE,WAAW,CAAE,CAAA;QAI5E,OAAO;YACN,QAAQ;YACR;gBACC,MAAM,EAAG,GAAG;gBACZ,MAAM,EAAG,IAAI;aACb;SACD,CAAA;IAEF,CAAC;IAde,wBAAsB,yBAcrC,CAAA;IAED,SAAgB,oBAAoB,CAAE,GAAS;QAE9C,IAAI,GAAG,IAAI,IAAI;YAAG,OAAO,EAAA,qBAAqB,CAAE,MAAM,CAAE,GAAG,CAAE,CAAE,CAAA;QAE/D,OAAO;YACN,QAAQ;YACR;gBACC,MAAM,EAAG,GAAG;gBACZ,MAAM,EAAG,KAAK;aACd;SACD,CAAA;IAEF,CAAC;IAZe,sBAAoB,uBAYnC,CAAA;IAED,SAAgB,uBAAuB,CAAE,OAAgB,EAAG,KAAc,EAAG,GAAG,OAAe;QAE9F,MAAM,MAAM,GAAG,EAAc,CAAA;QAE7B,KAAK,IAAI,GAAG,IAAI,KAAK;YAAG,MAAM,CAAC,IAAI,CAAE,GAAI,GAAI,MAAQ,KAAa,CAAC,GAAG,CAAE,EAAE,CAAE,CAAA;QAE5E,OAAO;YACN,OAAO;YACP;gBACC,KAAK,EAAG,MAAM,CAAC,IAAI,CAAE,KAAK,CAAE;aAC5B;YACD,GAAI,OAAO;SACX,CAAA;IAEF,CAAC;IAde,yBAAuB,0BActC,CAAA;IAED,SAAgB,oBAAoB,CAAE,KAAc,EAAG,GAAG,OAAe;QACxE,OAAO,uBAAuB,CAC7B,MAAM,EACN;YAEC,GAAI,KAAK;SACT,EACD,GAAI,OAAO,CACX,CAAA;IACF,CAAC;IATe,sBAAoB,uBASnC,CAAA;IAEU,qBAAmB,GAAG,uBAAuB,CAAC,IAAI,CAAE,IAAI,EAAG,KAAK,CAAE,CAAA;IAClE,oBAAkB,GAAG,uBAAuB,CAAC,IAAI,CAAE,IAAI,EAAG,IAAI,CAAE,CAAA;IAChE,oBAAkB,GAAG,uBAAuB,CAAC,IAAI,CAAE,IAAI,EAAG,IAAI,CAAE,CAAA;IAChE,uBAAqB,GAAG,uBAAuB,CAAC,IAAI,CAAE,IAAI,EAAG,OAAO,CAAE,CAAA;IACtE,oBAAkB,GAAG,uBAAuB,CAAC,IAAI,CAAE,IAAI,EAAG,IAAI,CAAE,CAAA;IAChE,oBAAkB,GAAG,uBAAuB,CAAC,IAAI,CAAE,IAAI,EAAG,IAAI,CAAE,CAAA;IAEhE,wBAAsB,GAAG,oBAAoB,CAAC,IAAI,CAAE,IAAI,EAAG;QACrE,OAAO,EAAG,SAAS;KACnB,CAAE,CAAA;IAEQ,wBAAsB,GAAG,oBAAoB,CAAC,IAAI,CAAE,IAAI,EAAG;QACrE,aAAa,EAAG,MAAM;KACtB,CAAE,CAAA;IAEQ,wBAAsB,GAAG,oBAAoB,CAAC,IAAI,CAAE,IAAI,EAAG;QACrE,OAAO,EAAG,OAAO;KACjB,CAAE,CAAA;IAEQ,uBAAqB,GAAG,oBAAoB,CAAC,IAAI,CAAE,IAAI,EAAG;QACpE,OAAO,EAAG,MAAM;KAChB,CAAE,CAAA;IAEQ,wBAAsB,GAAG,EAAA,mBAAmB,CAAC,IAAI,CAAE,IAAI,EAAG;QACpE,aAAa,EAAE,MAAM;KACrB,CAAE,CAAA;AAEJ,CAAC,EAzIS,CAAC,KAAD,CAAC,QAyIV;;;;ACzID,IAAU,CAAC,CA2NV;AA3ND,WAAU,CAAC;IASV,MAAa,iBAAkB,SAAQ,aAAa;QAEzC,QAAQ,GAAG,CAAC,CAAA;QACZ,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAA;QAEzC,IAAI,IAAI;YACP,OAAO,KAAK,CAAA;QACb,CAAC;QAED,IAAI,QAAQ;YACX,MAAM,GAAG,GAAG,EAAqB,CAAA;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAA;YACzD,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAG,CAAC;gBAC9C,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBAAG,GAAG,CAAC,IAAI,CAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAkB,CAAE,CAAA;YAC7D,CAAC;YACD,OAAO,GAAG,CAAA;QACX,CAAC;QAED,QAAQ;YACP,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAA;YAC3B,MAAM,GAAG,GAAG,cAAc,EAAE,CAAA;YAC5B,cAAc,CAAE,IAAI,CAAE,CAAA;YACtB,OAAO,GAAG,CAAA;QACX,CAAC;QAED,OAAO;YAEN,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAG,CAAC;gBACnC,SAAS,CAAE,IAAI,KAAK,CAAE,uBAAuB,CAAE,CAAE,CAAA;YAClD,CAAC;YAED,KAAK,CAAC,OAAO,EAAE,CAAA;QAChB,CAAC;QAED,UAAU,CAAE,GAAmB;YAE9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAG,SAAS,CAAE,IAAI,KAAK,CAAE,wBAAwB,CAAE,CAAE,CAAA;YAExE,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAG,CAAC;gBAEjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC,MAAM,CAA+B,CAAA;gBACnE,IAAI,GAAG,KAAK,SAAS;oBAAG,OAAO,IAAI,IAAI,IAAI,CAAA;gBAE3C,IAAI,IAAI,KAAK,GAAG,EAAG,CAAC;oBACnB,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;oBAChB,OAAO,IAAI,CAAA;gBACZ,CAAC;gBAED,IAAI,IAAI,EAAG,CAAC;oBAEX,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAG,CAAC;wBACvC,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAE,CAAA;oBAClD,CAAC;oBAED,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAE,CAAA;oBAC5C,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAA;gBAEnB,CAAC;YAEF,CAAC;iBAAM,CAAC;gBAEP,IAAI,GAAG,KAAK,SAAS;oBAAG,OAAO,IAAI,CAAA;gBAEnC,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAG,CAAC;oBACvC,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAE,CAAA;gBAClD,CAAC;gBAED,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAA;YAEnB,CAAC;YAED,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC,MAAM,CAAE,GAAG,GAAG,CAAA;YAC9B,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,GAAG,GAAG,CAAC,MAAM,CAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAE,CAAA;YAE9D,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;YAEhB,OAAO,GAAG,CAAA;QACX,CAAC;QAED,SAAS,CAAE,GAAyB;YAEnC,cAAc,CAAE,GAAG,CAAE,CAAA;YAErB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAG,CAAC;gBACtB,SAAS,CAAE,IAAI,KAAK,CAAE,sBAAsB,CAAE,CAAE,CAAA;YACjD,CAAC;YAED,KACC,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,EAC1B,MAAM,GAAG,IAAI,CAAC,MAAM,EACpB,MAAM,IAAI,CAAC,EACV,CAAC;gBACF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAE,MAAM,CAAmB,CAAA;gBAChD,GAAG,CAAC,KAAK,EAAE,CAAA;YACZ,CAAC;YAED,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAA;QAErC,CAAC;QAED,OAAO,CAAE,OAAe;YACvB,IAAI,CAAC,IAAI,CAAE,OAAO,CAAE,GAAG,SAAgB,CAAA;YACvC,IAAI,CAAC,IAAI,CAAE,OAAO,GAAG,CAAC,CAAE,GAAG,SAAgB,CAAA;QAC5C,CAAC;QAED,UAAU;YAET,KACC,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EACjC,MAAM,IAAI,IAAI,CAAC,QAAQ,EACvB,MAAM,IAAI,CAAC,EACV,CAAC;gBACF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAE,MAAM,CAAmB,CAAA;gBAChD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAE,MAAM,GAAG,CAAC,CAAY,CAAA;gBAC7C,GAAG,CAAC,OAAO,CAAE,GAAG,CAAE,CAAA;gBAClB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;gBACf,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;YAChB,CAAC;YAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAA;YAC3B,IAAI,CAAC,SAAS,EAAE,CAAA;YAChB,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAA;QAErC,CAAC;QAED,SAAS;YAER,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAG,CAAC;gBAClC,SAAS,CAAE,IAAI,KAAK,CAAE,sBAAsB,CAAE,CAAE,CAAA;YACjD,CAAC;YAED,IAAI,IAAI,GAAG,CAAC,CAAA;YAEZ,KACC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,EACxB,MAAM,GAAG,IAAI,CAAC,QAAQ,EACtB,MAAM,IAAI,CAAC,EACV,CAAC;gBAEF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAE,MAAM,CAA+B,CAAA;gBAC5D,GAAG,EAAE,OAAO,CAAE,IAAI,CAAC,IAAI,CAAE,MAAM,GAAG,CAAC,CAAY,CAAE,CAAA;gBAEjD,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAG,CAAC;oBACvC,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,CAAE,CAAA;oBAC9C,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;oBACf,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;gBAChB,CAAC;qBAAM,CAAC;oBACP,EAAG,IAAI,CAAA;gBACR,CAAC;YAEF,CAAC;YAED,OAAM,IAAI,EAAE,EAAG,IAAI,EAAG,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;gBACf,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;YAChB,CAAC;YAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAA;QAE5B,CAAC;QAED,QAAQ,KAAK,CAAC;QAEd,aAAa;YAEZ,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;YAE3D,KACC,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,EAC1B,MAAM,GAAG,KAAK,EACd,MAAM,IAAI,CAAC,EACV,CAAC;gBACF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAE,MAAM,CAAmB,CAAA;gBAChD,IAAI,GAAG,EAAE,WAAW;oBAAG,OAAM;YAC9B,CAAC;YAED,KACC,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,EAC1B,MAAM,GAAG,KAAK,EACd,MAAM,IAAI,CAAC,EACV,CAAC;gBACF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAE,MAAM,CAAmB,CAAA;gBAChD,GAAG,EAAE,QAAQ,EAAE,CAAA;YAChB,CAAC;QAEF,CAAC;QAED,MAAM,CAAE,KAAK,GAAG,gBAAgB,CAAC,KAAK;YAErC,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,KAAK;gBAAG,OAAM;YACnD,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK;gBAAG,OAAM;YAEjC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;YACnB,IAAI,CAAC,IAAI,CAAE,gBAAgB,CAAC,KAAK,CAAE,CAAA;QAEpC,CAAC;QAED,CAAE,oBAAoB,CAAE;YACvB,OAAO,sBAAsB,CAAE,IAAI,CAAE,CAAA;QACtC,CAAC;QAKD,IAAI,SAAS;YACZ,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAA;QACvC,CAAC;KAED;IAhNY,mBAAiB,oBAgN7B,CAAA;AAEF,CAAC,EA3NS,CAAC,KAAD,CAAC,QA2NV;;;;AC3ND,IAAU,CAAC,CAoBV;AApBD,WAAU,CAAC;IAEV,MAAa,kBAAmB,SAAQ,YAAY;QAK3C;QACA;QAJR,EAAE,CAAM;QAER,YACQ,KAAc,EACd,IAAgB;YAEvB,KAAK,EAAE,CAAA;YAHA,UAAK,GAAL,KAAK,CAAS;YACd,SAAI,GAAJ,IAAI,CAAY;YAGvB,IAAI,CAAC,EAAE,GAAG,UAAU,CAAE,IAAI,EAAG,KAAK,CAAE,CAAA;QACrC,CAAC;QAED,UAAU;YACT,YAAY,CAAE,IAAI,CAAC,EAAE,CAAE,CAAA;QACxB,CAAC;KAED;IAhBY,oBAAkB,qBAgB9B,CAAA;AAEF,CAAC,EApBS,CAAC,KAAD,CAAC,QAoBV;;;;ACpBD,IAAU,CAAC,CAYV;AAZD,WAAU,CAAC;IAEV,MAAa,gBAAiB,SAAQ,kBAAkB;QAG/C;QADR,YACQ,IAAgB;YAEvB,KAAK,CAAE,EAAE,EAAG,IAAI,CAAE,CAAA;YAFX,SAAI,GAAJ,IAAI,CAAY;QAGxB,CAAC;KAED;IARY,kBAAgB,mBAQ5B,CAAA;AAEF,CAAC,EAZS,CAAC,KAAD,CAAC,QAYV;;;;ACZD,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IAEV,SAAgB,iBAAiB,CAAE,GAAQ;QAC1C,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,CAAA;IACzF,CAAC;IAFe,mBAAiB,oBAEhC,CAAA;AAEF,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;;;;ACND,IAAU,CAAC,CA0SV;AA1SD,WAAU,CAAC;IAEV,MAAM,OAAO,GAAG,IAAI,OAAO,EAAwB,CAAA;IASnD,MAAsB,eAIpB,SAAQ,iBAAiB;QA2EhB;QACA;QA1EV,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;QAElB,MAAM,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAsC,CAAA;QAC/D,MAAM,CAAC,OAAO,GAAG,IAAI,GAAG,EAAsC,CAAA;QAE9D,MAAM,CAAC,SAAS,GAA4B,IAAI,CAAA;QAChD,MAAM,CAAC,IAAI;YAEV,IAAI,IAAI,CAAC,SAAS;gBAAG,OAAM;YAE3B,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAE,GAAE,EAAE;gBAE1C,IAAI,CAAC;oBACJ,IAAI,CAAC,IAAI,EAAE,CAAA;gBACZ,CAAC;wBAAS,CAAC;oBACV,eAAe,CAAC,SAAS,GAAG,IAAI,CAAA;gBACjC,CAAC;YAEF,CAAC,CAAE,CAAA;QAEJ,CAAC;QAED,MAAM,CAAC,IAAI;YAGV,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAG,CAAC;gBAC5B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAG,CAAC;oBACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAE,KAAK,CAAE,CAAA;oBAC7B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;wBAAG,SAAQ;oBAChC,IAAI,KAAK,CAAC,MAAM,KAAK,gBAAgB,CAAC,KAAK;wBAAG,SAAQ;oBACtD,KAAK,CAAC,KAAK,EAAE,CAAA;gBACd,CAAC;YACF,CAAC;YAGD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAG,CAAC;gBAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAA;gBAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAA;gBAEtB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAG,CAAC;oBAC7B,IAAI,CAAC,KAAK,CAAC,SAAS;wBAAG,SAAQ;oBAC/B,KAAK,CAAC,UAAU,EAAE,CAAA;gBACnB,CAAC;YAEF,CAAC;QAEF,CAAC;QAED,CAAC,MAAM,CAAC,WAAW,CAAC,CAAS;QAEtB,KAAK,GAA+C,SAAgB,CAAA;QAE3E,IAAI,IAAI;YACP,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,EAAG,IAAI,CAAC,QAAQ,CAAiB,CAAA;QAC3D,CAAC;QAED,MAAM;YACL,IAAI,iBAAiB,CAAE,IAAI,CAAC,KAAK,CAAE;gBAAG,OAAM;YAC5C,IAAI,IAAI,CAAC,KAAK,YAAY,KAAK;gBAAG,OAAM;YACxC,OAAO,IAAI,CAAC,KAAK,CAAA;QAClB,CAAC;QAED,IAAI,WAAW;YACd,OAAO,iBAAiB,CAAE,IAAI,CAAC,KAAK,CAAE,CAAA;QACvC,CAAC;QAED,KAAK;YACJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAC7B,CAAC;QAED,YACC,EAAU,EACD,IAAgD,EAChD,IAAW,EACpB,IAAW;YAGX,KAAK,EAAE,CAAA;YALE,SAAI,GAAJ,IAAI,CAA4C;YAChD,SAAI,GAAJ,IAAI,CAAO;YAKpB,IAAI,IAAI;gBAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAE,GAAI,IAAI,CAAE,CAAA;YACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,MAAM,IAAI,CAAC,CAAA;YACjD,IAAI,CAAE,MAAM,CAAC,WAAW,CAAE,GAAG,EAAE,CAAA;QAEhC,CAAC;QAED,IAAI;YACH,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAE,IAAI,CAAE,CAAA;YACpC,eAAe,CAAC,IAAI,EAAE,CAAA;QACvB,CAAC;QAED,IAAI;YACH,eAAe,CAAC,OAAO,CAAC,GAAG,CAAE,IAAI,CAAE,CAAA;YACnC,eAAe,CAAC,IAAI,EAAE,CAAA;QACvB,CAAC;QAED,QAAQ;YACP,OAAO,IAAI,CAAE,MAAM,CAAC,WAAW,CAAE,CAAA;QAClC,CAAC;QAED,MAAM;YACL,OAAO,IAAI,CAAE,MAAM,CAAC,WAAW,CAAE,CAAA;QAClC,CAAC;QAED,CAAE,oBAAoB,CAAE;YAEvB,MAAM,MAAM,GAAG;gBACd,CAAE,gBAAgB,CAAC,KAAK,CAAE,EAAE,IAAI;gBAChC,CAAE,gBAAgB,CAAC,KAAK,CAAE,EAAE,IAAI;gBAChC,CAAE,gBAAgB,CAAC,KAAK,CAAE,EAAE,IAAI;gBAChC,CAAE,gBAAgB,CAAC,KAAK,CAAE,EAAE,IAAI;aAChC,CAAE,IAAI,CAAC,MAAM,CAAE,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;YAE1C,OAAO,mBAAmB,CAAE,EAAE,EAC7B,iBAAiB,CAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAE;gBACpC,CAAC,CAAC,oBAAoB,CAAC;oBACtB,CAAE,oBAAoB,CAAE,EAAE,GAAE,EAAE,CAAC,qBAAqB,CAAE,MAAM,CAAE;oBAC9D,CAAE,oBAAoB,CAAE,EAAE,GAAE,EAAE,CAAC,sBAAsB,CAAE,IAAI,CAAE;iBAC7D,CAAC;gBACF,CAAC,CAAC,qBAAqB,CAAE,sBAAsB,CAAE,IAAI,CAAE,EAAE,MAAM,CAAE,EAClE,oBAAoB,CAAE,IAAI,CAAC,KAAK,CAAE,CAClC,CAAA;QAEF,CAAC;QAED,IAAI,CAAC;YACJ,OAAO,CAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAW,CAAE,CAAC,GAAG,CAAC,CAAA;QAC9C,CAAC;QAED,IAAI,CAAE,KAAK,GAAG,gBAAgB,CAAC,KAAK;YACnC,IAAI,IAAI,CAAC,SAAS;gBAAG,IAAI,CAAC,IAAI,EAAE,CAAA;;gBAC3B,KAAK,CAAC,IAAI,CAAE,KAAK,CAAE,CAAA;QACzB,CAAC;QAED,KAAK;YAIJ,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,KAAK;gBAAG,OAAM;YACnD,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,KAAK;gBAAG,OAAM;YAEnD,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,KAAK,EAAG,CAAC;gBAEpD,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAG,CAAC;oBACzD,CAAC;oBAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAoB,EAAE,KAAK,EAAE,CAAA;oBAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,KAAK;wBAAG,MAAM,KAAK,CAAA;gBACzD,CAAC;gBAED,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAA;gBACpC,OAAM;YAEP,CAAC;YAED,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;YAC1B,IAAI,MAAyB,CAAA;YAE7B,IAAI,CAAC;gBAEJ,QAAQ,IAAI,CAAC,QAAQ,EAAG,CAAC;oBACxB,KAAK,CAAC;wBAAE,MAAM,GAAI,IAAI,CAAC,IAAY,CAAC,IAAI,CAAE,IAAI,CAAC,IAAK,CAAE,CAAC;wBAAC,MAAK;oBAC7D,KAAK,CAAC;wBAAE,MAAM,GAAI,IAAI,CAAC,IAAY,CAAC,IAAI,CAAE,IAAI,CAAC,IAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC;wBAAC,MAAK;oBAC3E;wBAAS,MAAM,GAAI,IAAI,CAAC,IAAY,CAAC,IAAI,CAAE,IAAI,CAAC,IAAK,EAAE,GAAI,IAAI,CAAC,IAAI,CAAE,CAAC;wBAAC,MAAK;gBAC9E,CAAC;gBAED,IAAI,iBAAiB,CAAE,MAAM,CAAE,EAAG,CAAC;oBAElC,MAAM,GAAG,GAAG,CAAE,GAAW,EAAE,EAAE;wBAC5B,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;4BAAG,IAAI,CAAC,GAAG,CAAE,GAAG,CAAE,CAAA;wBAC3C,OAAO,GAAG,CAAA;oBACX,CAAC,CAAA;oBAED,MAAM,GAAG,MAAM,CAAC,MAAM,CAAE,MAAM,CAAC,IAAI,CAAE,GAAG,EAAE,GAAG,CAAE,EAAE;wBAChD,UAAU,EAAG,MAAc,CAAC,YAAY,CAAC,IAAI,CAAC,GAAE,EAAE,GAAE,CAAC,CAAC;qBACtD,CAAE,CAAA;oBAEH,OAAO,CAAC,GAAG,CAAE,MAAM,CAAE,CAAA;gBACtB,CAAC;YAEF,CAAC;YAAC,OAAO,KAAU,EAAG,CAAC;gBAEtB,IAAI,KAAK,YAAY,KAAK,IAAI,iBAAiB,CAAE,KAAK,CAAE,EAAG,CAAC;oBAC3D,MAAM,GAAG,KAAK,CAAA;gBACf,CAAC;qBAAM,CAAC;oBACP,MAAM,GAAG,IAAI,KAAK,CAAE,MAAM,CAAE,KAAK,CAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAE,CAAA;gBACxD,CAAC;gBAED,IAAI,iBAAiB,CAAE,MAAM,CAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAE,MAAM,CAAE,EAAG,CAAC;oBAE5D,MAAM,GAAG,MAAM,CAAC,MAAM,CAAE,MAAM,CAAC,OAAO,CAAE,GAAE,EAAE;wBAC3C,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;4BAAG,IAAI,CAAC,MAAM,EAAE,CAAA;oBAC1C,CAAC,CAAE,EAAE;wBACJ,UAAU,EAAG,MAAc,CAAC,YAAY,CAAC,IAAI,CAAC,GAAE,EAAE,GAAE,CAAC,CAAC;qBACtD,CAAE,CAAA;oBAEH,OAAO,CAAC,GAAG,CAAE,MAAM,CAAE,CAAA;gBACtB,CAAC;YAEF,CAAC;YAED,IAAI,CAAE,iBAAiB,CAAE,MAAM,CAAE,EAAG,CAAC;gBACpC,IAAI,CAAC,SAAS,EAAE,CAAA;YACjB,CAAC;YAED,IAAI,CAAC,SAAS,CAAE,EAAE,CAAE,CAAA;YACpB,IAAI,CAAC,GAAG,CAAE,MAAM,CAAE,CAAA;QAEnB,CAAC;QAED,OAAO;YACN,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAA;YACpC,IAAI,CAAC,KAAK,EAAE,CAAA;QACb,CAAC;QAQD,IAAI;YAEH,IAAI,CAAC,eAAe,CAAC,IAAI,EAAG,CAAC;gBAC5B,OAAO,IAAI,CAAC,MAAM,EAAuB,CAAA;YAC1C,CAAC;YAED,IAAI,CAAC,OAAO,EAAE,CAAA;YACd,IAAI,CAAC,KAAK,EAAE,CAAA;YAEZ,IAAI,IAAI,CAAC,KAAK,YAAY,KAAK,EAAG,CAAC;gBAClC,OAAO,gBAAgB,CAAE,IAAI,CAAC,KAAK,CAAE,CAAA;YACtC,CAAC;YAED,IAAI,iBAAiB,CAAE,IAAI,CAAC,KAAK,CAAE,EAAG,CAAC;gBACtC,OAAO,gBAAgB,CAAE,IAAI,CAAC,KAAK,CAAE,CAAA;YACtC,CAAC;YAED,OAAO,IAAI,CAAC,KAA0B,CAAA;QACvC,CAAC;QAMD,KAAK,CAAC,KAAK;YAEV,OAAO,IAAI,EAAG,CAAC;gBAEd,IAAI,CAAC,KAAK,EAAE,CAAA;gBAEZ,IAAI,IAAI,CAAC,KAAK,YAAY,KAAK,EAAG,CAAC;oBAClC,gBAAgB,CAAE,IAAI,CAAC,KAAK,CAAE,CAAA;gBAC/B,CAAC;gBAED,IAAI,CAAE,iBAAiB,CAAE,IAAI,CAAC,KAAK,CAAE;oBAAG,OAAO,IAAI,CAAC,KAAK,CAAA;gBAEzD,MAAM,OAAO,CAAC,IAAI,CAAC,CAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAE,CAAC,CAAA;gBAC/C,IAAI,CAAE,iBAAiB,CAAE,IAAI,CAAC,KAAK,CAAE;oBAAG,OAAO,IAAI,CAAC,KAAK,CAAA;gBAEzD,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,KAAK,EAAG,CAAC;oBAE7C,MAAM,IAAI,OAAO,CAAE,GAAE,EAAE,GAAE,CAAC,CAAE,CAAA;gBAC7B,CAAC;YAEF,CAAC;QAEF,CAAC;QAED,IAAI;YACH,OAAO,IAAI,OAAO,CAAU,IAAI,CAAC,EAAE;gBAClC,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAA;gBACjC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAA;gBAC3B,GAAG,CAAC,UAAU,CAAE,IAAI,CAAE,CAAA;gBACtB,GAAG,CAAC,SAAS,CAAE,IAAI,CAAE,CAAA;gBACrB,GAAG,CAAC,MAAM,GAAG,GAAE,EAAE;oBAChB,IAAI,CAAE,IAAI,CAAE,CAAA;oBACZ,GAAG,CAAC,UAAU,EAAE,CAAA;gBACjB,CAAC,CAAA;YACF,CAAC,CAAE,CAAA;QACJ,CAAC;;IA3RoB,iBAAe,kBA6RpC,CAAA;AAEF,CAAC,EA1SS,CAAC,KAAD,CAAC,QA0SV;;;;AC1SD,IAAU,CAAC,CAkBV;AAlBD,WAAU,CAAC;IAGV,SAAgB,SAAS,CACxB,MAAM,GAAG,CAAC,EACV,SAAmC,GAAE,EAAE,CAAC,KAAK;QAG7C,SAAQ,CAAC;YAER,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,EAAE,CAAE,CAAC,SAAS,CAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAE,CAAC,WAAW,EAAE,CAAA;YAC9E,IAAI,MAAM,CAAE,EAAE,CAAE;gBAAG,SAAQ;YAE3B,OAAO,EAAE,CAAA;QACV,CAAC;IAEF,CAAC;IAbe,WAAS,YAaxB,CAAA;AAEF,CAAC,EAlBS,CAAC,KAAD,CAAC,QAkBV;;;;AClBD,IAAU,CAAC,CAuCV;AAvCD,WAAU,CAAC;IAEG,gBAAc,GAAG,IAAI,OAAO,EAAoB,CAAA;IAG7D,SAAgB,QAAQ,CAAW,KAAa;QAE/C,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAG,OAAO,KAAK,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAA;QAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAG,OAAO,KAAK,CAAC,WAAY,CAAA;QACzD,IAAI,CAAC,KAAK;YAAG,OAAO,IAAI,CAAC,SAAS,CAAE,KAAK,CAAE,CAAA;QAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU;YAAG,OAAO,IAAI,CAAC,SAAS,CAAE,KAAK,CAAE,CAAA;QAE7F,OAAO,IAAI,CAAC,SAAS,CAAE,KAAK,EAAE,CAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAE/C,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAG,OAAO,KAAK,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAA;YAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAG,OAAO,KAAK,CAAC,WAAW,CAAA;YACxD,IAAI,CAAC,KAAK;gBAAG,OAAO,KAAK,CAAA;YACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU;gBAAG,OAAO,KAAK,CAAA;YAC3E,IAAI,KAAK,CAAC,OAAO,CAAE,KAAK,CAAE;gBAAG,OAAO,KAAK,CAAA;YAEzC,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAE,KAAK,CAAE,CAAA;YAC7C,IAAI,CAAC,KAAK;gBAAG,OAAO,KAAK,CAAA;YACzB,IAAI,OAAO,CAAC,cAAc,CAAE,KAAK,CAAE,KAAK,IAAI;gBAAG,OAAO,KAAK,CAAA;YAE3D,IAAI,QAAQ,IAAI,KAAK;gBAAG,OAAO,KAAK,CAAA;YACpC,IAAI,KAAK,YAAY,MAAM;gBAAG,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;YACrD,IAAI,KAAK,YAAY,UAAU;gBAAG,OAAO,CAAE,GAAI,KAAK,CAAE,CAAA;YAEtD,IAAI,GAAG,GAAG,EAAA,cAAc,CAAC,GAAG,CAAE,KAAK,CAAE,CAAA;YACrC,IAAI,GAAG;gBAAG,OAAO,GAAG,CAAA;YAEpB,GAAG,GAAG,SAAS,EAAE,CAAA;YACjB,EAAA,cAAc,CAAC,GAAG,CAAE,KAAK,EAAE,GAAG,CAAE,CAAA;YAEhC,OAAO,GAAG,CAAA;QACX,CAAC,CAAE,CAAA;IAEJ,CAAC;IAhCe,UAAQ,WAgCvB,CAAA;AAEF,CAAC,EAvCS,CAAC,KAAD,CAAC,QAuCV;;;;ACvCD,IAAU,CAAC,CA2JV;AA3JD,WAAU,CAAC;IAEC,yBAAuB,GAAG,IAAI,OAAO,EAAoC,CAAA;IAMpF,SAAgB,iBAAiB,CAAW,IAAW,EAAE,KAAY;QAEpE,IAAI,MAAM,CAAC,EAAE,CAAE,IAAI,EAAG,KAAK,CAAE;YAAG,OAAO,IAAI,CAAA;QAE3C,IAAI,IAAI,KAAK,IAAI;YAAG,OAAO,KAAK,CAAA;QAChC,IAAI,KAAK,KAAK,IAAI;YAAG,OAAO,KAAK,CAAA;QAEjC,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAG,OAAO,KAAK,CAAA;QAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAG,OAAO,KAAK,CAAA;QAE5C,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,CAAE,IAAW,CAAE,CAAA;QACxD,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAE,KAAY,CAAE,CAAA;QAE1D,IAAI,UAAU,KAAK,WAAW;YAAG,OAAO,KAAK,CAAA;QAE7C,IAAI,IAAI,YAAY,OAAO;YAAG,OAAO,MAAM,CAAC,EAAE,CAAE,IAAI,CAAC,OAAO,EAAE,EAAI,KAAc,CAAC,SAAS,CAAC,EAAE,CAAE,CAAA;QAC/F,IAAI,IAAI,YAAY,MAAM;YAAG,OAAO,MAAM,CAAC,EAAE,CAAE,IAAI,CAAC,OAAO,EAAE,EAAI,KAAc,CAAC,SAAS,CAAC,EAAE,CAAE,CAAA;QAC9F,IAAI,IAAI,YAAY,MAAM;YAAG,OAAO,MAAM,CAAC,EAAE,CAAE,IAAI,CAAC,OAAO,EAAE,EAAI,KAAc,CAAC,SAAS,CAAC,EAAE,CAAE,CAAA;QAC9F,IAAI,IAAI,YAAY,IAAI;YAAG,OAAO,MAAM,CAAC,EAAE,CAAE,IAAI,CAAC,OAAO,EAAE,EAAI,KAAc,CAAC,SAAS,CAAC,EAAE,CAAE,CAAA;QAC5F,IAAI,IAAI,YAAY,MAAM;YAAG,OAAO,IAAI,CAAC,MAAM,KAAM,KAAa,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,KAAM,KAAa,CAAC,KAAK,CAAA;QAChH,IAAI,IAAI,YAAY,KAAK;YAAG,OAAO,IAAI,CAAC,OAAO,KAAM,KAAa,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,KAAM,KAAa,CAAC,KAAK,CAAA;QAEjH,IAAI,UAAU,GAAG,EAAA,uBAAuB,CAAC,GAAG,CAAE,IAAI,CAAE,CAAA;QACpD,IAAI,UAAU,EAAG,CAAC;YAEjB,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAE,KAAK,CAAE,CAAA;YAC3C,IAAI,OAAO,WAAW,KAAK,SAAS;gBAAG,OAAO,WAAW,CAAA;QAE1D,CAAC;aAAM,CAAC;YAEP,UAAU,GAAG,IAAI,OAAO,CAAkB,CAAC,CAAE,KAAK,EAAE,IAAI,CAAE,CAAC,CAAC,CAAA;YAC5D,EAAA,uBAAuB,CAAC,GAAG,CAAE,IAAI,EAAG,UAAU,CAAE,CAAA;QAEjD,CAAC;QAED,IAAI,MAAgB,CAAA;QAEpB,IAAI,CAAC;YAEJ,IAAI,CAAC,UAAU;gBAAG,MAAM,GAAG,YAAY,CAAE,IAAI,EAAE,KAAY,CAAE,CAAA;iBACxD,IAAI,CAAC,OAAO,CAAC,cAAc,CAAE,UAAU,CAAE;gBAAG,MAAM,GAAG,YAAY,CAAE,IAAI,EAAE,KAAY,CAAE,CAAA;iBACvF,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI;gBAAG,MAAM,GAAG,iBAAiB,CAAE,IAAI,EAAE,KAAK,CAAE,CAAA;iBAC1E,IAAI,KAAK,CAAC,OAAO,CAAE,IAAI,CAAE;gBAAG,MAAM,GAAG,aAAa,CAAE,IAAI,EAAE,KAAY,CAAE,CAAA;iBACxE,IAAI,IAAI,YAAY,GAAG;gBAAG,MAAM,GAAG,WAAW,CAAE,IAAI,EAAE,KAAY,CAAE,CAAA;iBACpE,IAAI,IAAI,YAAY,GAAG;gBAAG,MAAM,GAAG,WAAW,CAAE,IAAI,EAAE,KAAY,CAAE,CAAA;iBACpE,IAAI,WAAW,CAAC,MAAM,CAAE,IAAI,CAAE;gBAAG,MAAM,GAAG,cAAc,CAAE,IAAI,EAAE,KAAY,CAAE,CAAA;iBAC9E,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI;gBAAG,MAAM,GAAG,gBAAgB,CAAI,IAAa,CAAE,MAAM,CAAC,QAAQ,CAAE,EAAE,EAAI,KAAc,CAAE,MAAM,CAAC,QAAQ,CAAE,EAAE,CAAE,CAAA;;gBACtI,MAAM,GAAG,KAAK,CAAA;QAEpB,CAAC;gBAAS,CAAC;YACV,UAAU,CAAC,GAAG,CAAE,KAAK,EAAG,MAAM,CAAE,CAAA;QACjC,CAAC;QAED,OAAO,MAAM,CAAA;IACd,CAAC;IAtDe,mBAAiB,oBAsDhC,CAAA;IAED,SAAS,aAAa,CAAyB,IAAW,EAAE,KAAY;QAEvE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAA;QACvB,IAAI,GAAG,KAAK,KAAK,CAAC,MAAM;YAAG,OAAO,KAAK,CAAA;QAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAG,CAAC;YAC/B,IAAI,CAAC,iBAAiB,CAAE,IAAI,CAAC,CAAC,CAAC,EAAG,KAAK,CAAC,CAAC,CAAC,CAAE;gBAAG,OAAO,KAAK,CAAA;QAC5D,CAAC;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,SAAS,cAAc,CAAE,IAAqB,EAAE,KAAsB;QAErE,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAA;QAC3B,IAAI,GAAG,KAAK,KAAK,CAAC,UAAU;YAAG,OAAO,KAAK,CAAA;QAE3C,IAAI,IAAI,YAAY,QAAQ;YAAG,OAAO,cAAc,CACnD,IAAI,UAAU,CAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAE,EAC/D,IAAI,UAAU,CAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAE,CAChE,CAAA;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAG,CAAC;YAC/B,IAAK,IAAY,CAAC,CAAC,CAAC,KAAM,KAAa,CAAC,CAAC,CAAC;gBAAG,OAAO,KAAK,CAAA;QAC1D,CAAC;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,SAAS,gBAAgB,CACxB,IAAW,EACX,KAAY;QAGZ,OAAO,IAAI,EAAG,CAAC;YAEd,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;YAE/B,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI;gBAAG,OAAO,KAAK,CAAA;YACrD,IAAI,SAAS,CAAC,IAAI;gBAAG,MAAK;YAE1B,IAAI,CAAC,iBAAiB,CAAE,SAAS,CAAC,KAAK,EAAG,UAAU,CAAC,KAAK,CAAE;gBAAG,OAAO,KAAK,CAAA;QAE5E,CAAC;QAED,OAAO,IAAI,CAAA;IAEZ,CAAC;IAED,SAAS,WAAW,CAA4B,IAAW,EAAE,KAAY;QACxE,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;YAAG,OAAO,KAAK,CAAA;QAC3C,OAAO,gBAAgB,CAAE,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,CAAE,CAAA;IACzD,CAAC;IAED,SAAS,WAAW,CAAgB,IAAuB,EAAG,KAAwB;QACrF,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;YAAG,OAAO,KAAK,CAAA;QAC3C,OAAO,gBAAgB,CAAE,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,CAAE;eAChD,gBAAgB,CAAE,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,CAAE,CAAA;IACtD,CAAC;IAED,SAAS,YAAY,CAAE,IAAQ,EAAE,KAAS;QAEzC,MAAM,SAAS,GAAG,MAAM,CAAC,mBAAmB,CAAE,IAAI,CAAE,CAAA;QACpD,MAAM,UAAU,GAAG,MAAM,CAAC,mBAAmB,CAAE,KAAK,CAAE,CAAA;QAEtD,IAAI,CAAC,aAAa,CAAE,SAAS,EAAE,UAAU,CAAE;YAAG,OAAO,KAAK,CAAA;QAE1D,KAAK,IAAI,GAAG,IAAI,SAAS,EAAG,CAAC;YAC5B,IAAI,CAAC,iBAAiB,CAAI,IAAa,CAAE,GAAG,CAAE,EAAI,KAAc,CAAE,GAAG,CAAE,CAAE;gBAAG,OAAO,KAAK,CAAA;QACzF,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,qBAAqB,CAAE,IAAI,CAAE,CAAA;QACtD,MAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAE,KAAK,CAAE,CAAA;QAExD,IAAI,CAAC,aAAa,CAAE,SAAS,EAAE,UAAU,CAAE;YAAG,OAAO,KAAK,CAAA;QAE1D,KAAK,IAAI,GAAG,IAAI,SAAS,EAAG,CAAC;YAC5B,IAAI,CAAC,iBAAiB,CAAI,IAAa,CAAE,GAAG,CAAE,EAAI,KAAc,CAAE,GAAG,CAAE,CAAE;gBAAG,OAAO,KAAK,CAAA;QACzF,CAAC;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,SAAS,iBAAiB,CAAE,IAAQ,EAAE,KAAS;QAC9C,OAAO,MAAM,CAAC,EAAE,CACd,IAAY,CAAE,MAAM,CAAC,WAAW,CAAE,CAAE,SAAS,CAAE,EAC/C,KAAa,CAAE,MAAM,CAAC,WAAW,CAAE,CAAE,SAAS,CAAE,CACjD,CAAA;IACF,CAAC;AAEF,CAAC,EA3JS,CAAC,KAAD,CAAC,QA2JV;;;;AC3JD,IAAU,CAAC,CAoEV;AApED,WAAU,CAAC;IA2CV,SAAgB,mBAAmB,CAElC,KAA2B;QAG3B,MAAM,IAAI,GAAG,IAAI,CAAA;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAA;QAElC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAA;QACzB,IAAI,MAAM,GAAG,KAAK,CAAA;QAElB,KAAK,CAAC,IAAI,CAAE,GAAE,EAAE;YACf,MAAM,GAAG,IAAI,CAAA;YACb,IAAI,CAAC,cAAc,CAAC,IAAI,CAAE,IAAI,EAAG,KAAK,CAAE,CAAA;QACzC,CAAC,CAAE,CAAA;QAEH,OAAO,GAAE,EAAE;YACV,IAAI,MAAM;gBAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;YACpC,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI;gBAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAA;QAC9C,CAAC,CAAA;IAEF,CAAC;IArBe,qBAAmB,sBAqBlC,CAAA;IAEU,iBAAe,GAAG,EAAqB,CAAA;AAEnD,CAAC,EApES,CAAC,KAAD,CAAC,QAoEV;;;;ACpED,IAAU,CAAC,CA8EV;AA9ED,WAAU,CAAC;IAGV,MAAa,SAAU,SAAQ,YAAY;QAGhC;QACA;QACA;QACA;QACA;QALV,YACU,GAAW,EACX,MAAc,EACd,GAAW,EACX,GAAW,EACX,MAAc;YAEvB,KAAK,EAAE,CAAA;YANE,QAAG,GAAH,GAAG,CAAQ;YACX,WAAM,GAAN,MAAM,CAAQ;YACd,QAAG,GAAH,GAAG,CAAQ;YACX,QAAG,GAAH,GAAG,CAAQ;YACX,WAAM,GAAN,MAAM,CAAQ;YAGvB,IAAI,CAAE,MAAM,CAAC,WAAW,CAAE,GAAG,GAAI,IAAI,CAAC,GAAI,IAAK,IAAI,CAAC,GAAI,IAAK,IAAI,CAAC,GAAI,IAAK,IAAI,CAAC,MAAO,EAAE,CAAA;QAC1F,CAAC;QAGD,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAGrC,MAAM,CAAC,KAAK,CAAE,GAAW,EAAE,MAAM,GAAG,EAAE;YACrC,OAAO,IAAI,SAAS,CAAE,GAAG,EAAG,MAAM,EAAE,CAAC,EAAG,CAAC,EAAG,CAAC,CAAE,CAAA;QAChD,CAAC;QAGD,MAAM,CAAC,GAAG,CAAE,GAAW,EAAG,MAAc;YACvC,OAAO,IAAI,SAAS,CAAE,GAAG,EAAG,MAAM,EAAE,CAAC,EAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAG,CAAC,CAAE,CAAA;QAChE,CAAC;QAGD,MAAM,CAAC,MAAM,CAAE,GAAW,EAAG,MAAc;YAC1C,OAAO,IAAI,SAAS,CAAE,GAAG,EAAG,MAAM,EAAE,CAAC,EAAG,CAAC,EAAG,MAAM,CAAC,MAAM,CAAE,CAAA;QAC5D,CAAC;QAED,QAAQ;YACP,OAAO,IAAI,CAAE,MAAM,CAAC,WAAW,CAAE,CAAA;QAClC,CAAC;QAED,MAAM;YACL,OAAO;gBACN,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,MAAM,EAAE,IAAI,CAAC,MAAM;aACnB,CAAA;QACF,CAAC;QAGD,KAAK,CAAE,OAAgB,EAAG,KAAK,GAAG,KAAK;YACtC,OAAO,IAAI,KAAK,CAAE,GAAG,OAAO,KAAK,IAAI,GAAG,CAAE,CAAA;QAC3C,CAAC;QAGD,IAAI,CAAE,GAAY,EAAG,GAAY,EAAG,MAAe;YAClD,OAAO,IAAI,SAAS,CAAE,IAAI,CAAC,GAAG,EAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAG,GAAG,EAAG,MAAM,CAAE,CAAA;QACnE,CAAC;QAGD,KAAK,CAAE,MAAM,GAAG,CAAC;YAChB,OAAO,IAAI,SAAS,CAAE,IAAI,CAAC,GAAG,EAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAG,MAAM,CAAE,CAAA;QAC3F,CAAC;QAGD,KAAK,CAAE,KAAa,EAAE,GAAG,GAAG,CAAC,CAAC;YAC7B,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAA;YAErB,IAAI,KAAK,GAAG,CAAC;gBAAG,KAAK,IAAI,GAAG,CAAA;YAC5B,IAAI,GAAG,GAAG,CAAC;gBAAG,GAAG,IAAI,GAAG,CAAA;YAExB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG;gBAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAE,IAAI,CAAC,KAAK,CAAE,gBAAgB,KAAK,gBAAgB,EAAE,UAAU,CAAE,CAAE,CAAA;YACjH,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG;gBAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAE,IAAI,CAAC,KAAK,CAAE,cAAc,GAAG,gBAAgB,EAAE,UAAU,CAAE,CAAE,CAAA;YACzG,IAAI,GAAG,GAAG,KAAK;gBAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAE,IAAI,CAAC,KAAK,CAAE,cAAc,GAAG,kCAAkC,EAAE,UAAU,CAAE,CAAE,CAAA;YAElH,OAAO,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC,GAAG,EAAG,IAAI,CAAC,GAAG,GAAG,KAAK,EAAG,GAAG,GAAG,KAAK,CAAE,CAAA;QAC9D,CAAC;;IAvEW,WAAS,YAyErB,CAAA;AAEF,CAAC,EA9ES,CAAC,KAAD,CAAC,QA8EV;;;;AC9ED,IAAU,CAAC,CAiDV;AAjDD,WAAU,CAAC;IAGV,SAAgB,oBAAoB,CAEnC,IAAgB;QAGhB,IAAI,MAAM,GAAG,EAAc,CAAA;QAE3B,SAAS,IAAI,CACZ,IAAgB,EAChB,MAAM,GAAG,EAAE;YAGX,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAG,CAAC;gBAEvB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAG,CAAC;oBACrB,MAAM,GAAG,IAAI,CAAC;gBACf,CAAC;gBAED,MAAM,CAAC,IAAI,CAAE,IAAI,CAAC,IAAI,CAAE,CAAA;gBAExB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAG,CAAC;oBAC5B,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;oBAClB,IAAI,CAAE,IAAI,CAAC,IAAI,CAAE,CAAC,CAAE,EAAE,MAAM,CAAE,CAAA;oBAC9B,OAAM;gBACP,CAAC;gBAED,MAAM,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;YAEpB,CAAC;iBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAG,CAAC;gBAEhD,MAAM,CAAC,IAAI,CAAE,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAE,CAAA;YAExC,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAG,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;gBACrB,IAAI,CAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAE,CAAA;YAC3B,CAAC;QAEF,CAAC;QAED,IAAI,CAAE,IAAI,CAAE,CAAA;QAEZ,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACvB,CAAC;IA5Ce,sBAAoB,uBA4CnC,CAAA;AAEF,CAAC,EAjDS,CAAC,KAAD,CAAC,QAiDV;;;;ACjDD,IAAU,CAAC,CAiSV;AAjSD,WAAU,CAAC;IAuBV,MAAa,UAAW,SAAQ,MAAM;QAK3B;QAGA;QAGA;QAGA;QAZV,YAGU,IAAa,EAGb,KAAc,EAGd,IAA4B,EAG5B,IAAgB;YAGzB,KAAK,EAAE,CACN;YAbQ,SAAI,GAAJ,IAAI,CAAS;YAGb,UAAK,GAAL,KAAK,CAAS;YAGd,SAAI,GAAJ,IAAI,CAAwB;YAG5B,SAAI,GAAJ,IAAI,CAAY;YAIvB,IAAY,CAAE,MAAM,CAAC,WAAW,CAAE,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,CAAA;QAC5D,CAAC;QAGD,MAAM,CAAC,IAAI,CACV,IAA4B,EAC5B,IAAI,GAAG,SAAS,CAAC,OAAO;YAExB,OAAO,IAAI,UAAU,CAAE,EAAE,EAAG,EAAE,EAAG,IAAI,EAAG,IAAI,CAAE,CAAA;QAC/C,CAAC;QAGD,IAAI,CACH,IAA4B;YAE5B,OAAO,UAAU,CAAC,IAAI,CAAE,IAAI,EAAG,IAAI,CAAC,IAAI,CAAE,CAAA;QAC3C,CAAC;QAGD,MAAM,CAAC,IAAI,CACV,KAAc,EACd,OAAO,EAA2B,EAClC,IAAI,GAAG,SAAS,CAAC,OAAO;YAGxB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAE,IAAI,CAAE,CAAA;YAElC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAG,CAAC;gBAExB,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC,GAAG,EAAG,IAAI,CAAC,GAAG,EAAG,CAAC,CAAE,CAAA;gBAEnD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAE,KAAK,CAAC,EAAE;oBAChC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAE,KAAK,CAAC,MAAM,CAAE,CAAA;oBACzC,OAAO,IAAI,UAAU,CAAE,EAAE,EAAG,KAAK,EAAG,EAAE,EAAG,QAAQ,CAAE,CAAA;gBACpD,CAAC,CAAE,CAAA;gBAEH,IAAI,GAAG,CAAE,GAAI,IAAI,EAAG,GAAI,IAAI,CAAE,CAAA;gBAE9B,KAAK,GAAG,EAAE,CAAA;YAEX,CAAC;YAED,OAAO,IAAI,UAAU,CAAE,EAAE,EAAG,KAAK,EAAG,IAAI,EAAG,IAAI,CAAE,CAAA;QAElD,CAAC;QAGD,IAAI,CACH,KAAc,EACd,OAAO,EAA2B;YAElC,OAAO,UAAU,CAAC,IAAI,CAAE,KAAK,EAAG,IAAI,EAAG,IAAI,CAAC,IAAI,CAAE,CAAA;QACnD,CAAC;QAGD,MAAM,CAAC,MAAM,CACZ,IAAa,EACb,OAAO,EAA2B,EAClC,IAAI,GAAG,SAAS,CAAC,OAAO;YAGxB,IAAI,WAAW,CAAC,IAAI,CAAE,IAAI,CAAE,EAAG,CAAC;gBAC/B,EAAE,CAAC,SAAS,CAAE,IAAI,CAAC,KAAK,CAAE,cAAe,IAAI,CAAC,SAAS,CAAE,IAAI,CAAG,EAAE,CAAE,CAAE,CAAA;YACvE,CAAC;YAED,OAAO,IAAI,UAAU,CAAE,IAAI,EAAG,EAAE,EAAG,IAAI,EAAG,IAAI,CAAE,CAAA;QAEjD,CAAC;QAGD,MAAM,CACL,IAAa,EACb,OAAO,EAA2B;YAElC,OAAO,UAAU,CAAC,MAAM,CAAE,IAAI,EAAG,IAAI,EAAG,IAAI,CAAC,IAAI,CAAE,CAAA;QACpD,CAAC;QAGD,KAAK,CAAE,IAA4B,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI;YACpD,OAAO,IAAI,UAAU,CAAE,IAAI,CAAC,IAAI,EAAG,IAAI,CAAC,KAAK,EAAG,IAAI,EAAG,IAAI,CAAE,CAAA;QAC9D,CAAC;QAGD,IAAI;YAEH,IAAI,MAAM,GAAc,EAAE,CAAA;YAE1B,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAG,CAAC;gBAC5B,IAAI,GAAG,CAAC,IAAI;oBAAG,SAAQ;gBACvB,MAAM,CAAC,IAAI,CAAE,GAAG,CAAC,KAAK,CAAE,CAAA;YACzB,CAAC;YAED,OAAO,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;QAExC,CAAC;QAID,MAAM,CAAC,UAAU,CAAE,GAAY,EAAG,GAAG,GAAG,SAAS;YAChD,OAAO,EAAE,CAAC,sBAAsB,CAAE,GAAG,EAAE,GAAG,CAAE,CAAA;QAC7C,CAAC;QAGD,QAAQ;YACP,OAAO,EAAE,CAAC,oBAAoB,CAAE,IAAI,CAAE,CAAA;QACvC,CAAC;QAGD,MAAM,CAAE,KAAyB,EAAG,GAAG,IAAsB;YAE5D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAG,OAAO,KAAM,CAAA;YAErC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACpB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAG,CAAC;gBAE/B,IAAI,QAAQ,GAAG,KAAK,CAAA;gBACpB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAE,CAAE,IAAI,EAAG,KAAK,EAAE,EAAE;oBAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;wBAAG,OAAO,IAAI,CAAA;oBACpC,QAAQ,GAAG,IAAI,CAAA;oBACf,OAAO,IAAI,CAAC,MAAM,CAAE,KAAK,EAAG,GAAI,IAAI,CAAC,KAAK,CAAE,CAAC,CAAE,CAAE,CAAA;gBAClD,CAAC,CAAE,CAAC,MAAM,CAAE,OAAO,CAAE,CAAA;gBAErB,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAG,CAAC;oBACzB,GAAG,CAAC,IAAI,CAAE,IAAI,CAAC,MAAM,CAAE,IAAI,EAAG,EAAE,CAAE,CAAC,MAAM,CAAE,KAAK,EAAG,GAAI,IAAI,CAAC,KAAK,CAAE,CAAC,CAAE,CAAE,CAAE,CAAA;gBAC3E,CAAC;gBAED,OAAO,IAAI,CAAC,KAAK,CAAE,GAAG,CAAE,CAAA;YAEzB,CAAC;iBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAG,CAAC;gBAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;gBAC7B,GAAG,CAAE,IAAI,CAAE,GAAG,CAAE,GAAG,CAAE,IAAI,CAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAE;qBAC5C,MAAM,CAAE,KAAK,EAAG,GAAI,IAAI,CAAC,KAAK,CAAE,CAAC,CAAE,CAAE,CAAA;gBAEvC,OAAO,IAAI,CAAC,KAAK,CAAE,GAAG,CAAC,MAAM,CAAE,OAAO,CAAE,CAAE,CAAA;YAE3C,CAAC;iBAAM,CAAC;gBAEP,MAAM,IAAI,GAAG,CAAE,CAAE,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAE,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAE;qBAC1E,GAAG,CAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAE,KAAK,EAAG,GAAI,IAAI,CAAC,KAAK,CAAE,CAAC,CAAE,CAAE,CAAE;qBACzD,MAAM,CAAE,OAAO,CAAE,CAAA;gBAElB,OAAO,IAAI,CAAC,KAAK,CAAE,IAAI,CAAE,CAAA;YAE1B,CAAC;QAEF,CAAC;QAGD,MAAM,CAAE,GAAG,IAAsB;YAEhC,IAAI,IAAI,GAAG,CAAE,IAAkB,CAAE,CAAA;YAEjC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAG,CAAC;gBAE1B,IAAI,CAAC,IAAI,CAAC,MAAM;oBAAG,MAAK;gBAExB,MAAM,IAAI,GAAG,IAAI,CAAA;gBACjB,IAAI,GAAG,EAAE,CAAA;gBAET,KAAK,IAAI,IAAI,IAAI,IAAI,EAAG,CAAC;oBAExB,QAAQ,OAAM,CAAE,IAAI,CAAE,EAAG,CAAC;wBAEzB,KAAK,QAAQ;4BAEZ,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,EAAG,CAAC;gCAC9B,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,EAAG,CAAC;oCACzB,IAAI,CAAC,IAAI,CAAE,KAAK,CAAE,CAAA;gCACnB,CAAC;4BACF,CAAC;4BAED,MAAK;wBAEN,KAAK,QAAQ;4BAEZ,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM;gCAAG,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC,IAAI,CAAE,IAAI,CAAE,CAAE,CAAA;4BAE5D,MAAM;wBAEP,OAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAE,GAAI,IAAI,CAAC,IAAI,CAAE,CAAA;oBACrC,CAAC;gBACF,CAAC;YACF,CAAC;YAED,OAAO,IAAI,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;QAEzB,CAAC;QAGD,MAAM,CAAE,IAAe,EAAG,KAAe;YAExC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAE,IAAI,CAAC,EAAE;gBAEpC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAE,GAAG,IAAI,CAAE,CAAA;gBAElC,IAAI,KAAK,KAAK,SAAS,EAAG,CAAC;oBAC1B,OAAO,OAAO,CAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAE,CAAA;gBACpC,CAAC;qBAAM,CAAC;oBACP,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAE,CAAA;gBACxD,CAAC;YAEF,CAAC,CAAE,CAAA;YAEH,OAAO,IAAI,CAAC,KAAK,CAAE,GAAG,CAAE,CAAA;QAEzB,CAAC;QAGD,IAAI,CACH,IAAgC,EAChC,UAAU,EAAa;YAGvB,OAAS,EAA6B,CAAC,MAAM,CAAE,GAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAE,KAAK,CAAC,EAAE;gBAEzE,IAAI,MAAM,GAAG,IAAI,CAAE,KAAK,CAAC,IAAI,CAAE,IAAI,IAAI,CAAE,EAAE,CAAE,CAAA;gBAE7C,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,MAAM,CAAC,SAAS,CAAE,KAAK,CAAC,IAAoB,CAAE,EAAG,CAAC;oBAC3E,MAAM,GAAG,CAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;wBACnC,KAAK,CAAC,KAAK,CAAE,KAAK,CAAC,IAAI,CAAE,IAAI,EAAE,OAAO,CAAE,EAAE,OAAO,CAAC,IAAI,CAAE;qBACxD,CAAA;gBACF,CAAC;gBAED,IAAI,CAAC;oBACJ,OAAO,MAAM,CAAE,KAAK,EAAG,IAAI,EAAG,OAAQ,CAAE,CAAA;gBACzC,CAAC;gBAAC,OAAO,KAAU,EAAG,CAAC;oBACtB,KAAK,CAAC,OAAO,IAAI,KAAM,KAAK,CAAC,KAAK,CAAC,EAAE,CAAE,GAAI,KAAK,CAAC,IAAK,EAAE,CAAA;oBACxD,gBAAgB,CAAE,KAAK,CAAE,CAAA;gBAC1B,CAAC;YAEF,CAAC,CAAE,CAAE,CAAA;QAEN,CAAC;QAGD,KAAK,CAAE,OAAgB,EAAG,KAAK,GAAG,KAAK;YACtC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAE,GAAI,OAAQ,KAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAE,EAAE,EAAG,KAAK,CAAE,CAAA;QACtE,CAAC;KAED;IAlQY,YAAU,aAkQtB,CAAA;IAED,MAAa,gBAAiB,SAAQ,UAAU;QAC/C;YACC,KAAK,CAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,SAAS,CAAC,OAAO,CAAE,CAAA;QAC1C,CAAC;KACD;IAJY,kBAAgB,mBAI5B,CAAA;AAEF,CAAC,EAjSS,CAAC,KAAD,CAAC,QAiSV;;;;ACjSD,IAAU,CAAC,CAcV;AAdD,WAAU,CAAC;IAGV,MAAa,iBAAkB,SAAQ,WAAW;QAEzC;QACA;QACA;QAHR,YACQ,MAAc,EACd,IAAY,EACZ,IAAe;YAEtB,KAAK,CAAC,GAAI,MAAO,KAAM,IAAK,KAAM,IAAI,CAAC,SAAS,CAAE,CAAC,EAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAE,CAAC,OAAO,CAAE,KAAK,EAAE,GAAG,CAAG,GAAI,EAAE,CAAC,MAAM,CAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAG,KAAM,IAAK,EAAE,CAAC,CAAA;YAJpI,WAAM,GAAN,MAAM,CAAQ;YACd,SAAI,GAAJ,IAAI,CAAQ;YACZ,SAAI,GAAJ,IAAI,CAAW;QAGvB,CAAC;KAED;IATY,mBAAiB,oBAS7B,CAAA;AAEF,CAAC,EAdS,CAAC,KAAD,CAAC,QAcV;;;;ACdD,IAAU,CAAC,CAqJV;AArJD,WAAU,CAAC;IAGV,SAAgB,sBAAsB,CAErC,GAAW,EACX,GAAG,GAAG,GAAG;QAGT,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAE,GAAG,EAAE,GAAG,CAAE,CAAA;QAEzC,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAE,EAAE,EAAE,IAAI,CAAE,CAAA;QACtC,IAAI,KAAK,GAAG,CAAE,IAAI,CAAE,CAAA;QAEpB,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,CAAA;QAEpC,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,EAAG,CAAC;YAE1B,IAAI,MAAM,GAAG,CAAC,CAAA;YACd,IAAI,UAAU,GAAG,GAAG,CAAA;YAEpB,GAAG,EAAE,CAAA;YAGL,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAE,GAAG,CAAE,IAAI,IAAI,EAAG,CAAC;gBAChD,MAAM,EAAE,CAAA;gBACR,GAAG,EAAE,CAAA;YACN,CAAC;YAED,IAAI,CAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAG,CAAC;gBACzB,UAAU,GAAG,MAAM,CAAA;YACpB,CAAC;YAED,MAAM,IAAI,UAAU,CAAA;YAGpB,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,IAAI,KAAK,CAAC,MAAM,EAAG,CAAC;gBAE3C,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,UAAU,CAAE,CAAA;gBAGhD,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAE,GAAG,CAAE,IAAI,IAAI,EAAG,CAAC;oBAChD,GAAG,EAAE,CAAA;gBACN,CAAC;gBAED,IAAI,MAAM,GAAG,CAAC,EAAG,CAAC;oBACjB,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAG,CAAC;wBACvB,IAAI,CAAC,SAAS,CAAE,IAAI,IAAI,CAAC,iBAAiB,CACzC,cAAc,EACd,GAAG,CAAC,SAAS,CAAE,UAAU,EAAE,GAAG,CAAE,EAChC,EAAE,CACF,CAAE,CAAA;oBACJ,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,SAAS,CAAE,IAAI,IAAI,CAAC,iBAAiB,CACzC,eAAe,EACf,GAAG,CAAC,SAAS,CAAE,UAAU,EAAE,GAAG,CAAE,EAChC,EAAE,CACF,CAAE,CAAA;gBACJ,CAAC;YAEF,CAAC;YAED,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAA;YACzB,IAAI,MAAM,GAAG,KAAK,CAAE,MAAM,CAAE,CAAA;YAG5B,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAE,GAAG,CAAE,IAAI,IAAI,IAAI,GAAG,CAAE,GAAG,CAAE,IAAI,IAAI,EAAG,CAAC;gBAGtE,IAAI,WAAW,GAAG,GAAG,CAAA;gBACrB,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,CAAE,GAAG,CAAE,GAAG,CAAE,IAAI,GAAG,IAAI,GAAG,CAAE,GAAG,CAAE,IAAI,IAAI,CAAE,EAAG,CAAC;oBACzE,GAAG,EAAE,CAAA;gBACN,CAAC;gBAED,IAAI,GAAG,GAAG,WAAW,EAAG,CAAC;oBACxB,IAAI,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAE,IAAI,EAAG,GAAG,CAAE,CAAA;oBACxC,IAAI,QAAQ,KAAK,CAAC,CAAC;wBAAG,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAA;oBAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAE,GAAG,EAAE,WAAW,GAAG,UAAU,GAAG,CAAC,EAAE,GAAG,GAAG,WAAW,CAAE,CAAA;oBAC5E,IAAI,CAAC,SAAS,CAAE,IAAI,IAAI,CAAC,iBAAiB,CACzC,uBAAuB,EACvB,GAAG,CAAC,SAAS,CAAE,UAAU,EAAE,QAAQ,CAAE,EACrC,EAAE,CACF,CAAE,CAAA;gBACJ,CAAC;gBAGD,IAAI,UAAU,GAAG,GAAG,CAAA;gBACpB,OACC,GAAG,CAAC,MAAM,GAAG,GAAG;oBAChB,GAAG,CAAE,GAAG,CAAE,IAAI,IAAI;oBAClB,GAAG,CAAE,GAAG,CAAE,IAAI,GAAG;oBACjB,GAAG,CAAE,GAAG,CAAE,IAAI,IAAI;oBAClB,GAAG,CAAE,GAAG,CAAE,IAAI,IAAI,EACjB,CAAC;oBACF,GAAG,EAAE,CAAA;gBACN,CAAC;gBACD,IAAI,GAAG,GAAG,UAAU,EAAG,CAAC;oBACvB,IAAI,IAAI,GAAG,IAAI,UAAU,CACxB,GAAG,CAAC,KAAK,CAAE,UAAU,EAAG,GAAG,CAAE,EAC7B,EAAE,EACF,EAAE,EACF,IAAI,CAAC,IAAI,CAAE,GAAG,EAAE,UAAU,GAAG,UAAU,GAAG,CAAC,EAAE,GAAG,GAAG,UAAU,CAAE,CAC/D,CAAA;oBACD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAoB,CAAA;oBAC/C,WAAW,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;oBACxB,MAAM,GAAG,IAAI,CAAA;gBACd,CAAC;gBAGD,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAE,GAAG,CAAE,IAAI,GAAG,EAAG,CAAC;oBAC5C,GAAG,EAAE,CAAA;gBACN,CAAC;YACF,CAAC;YAGD,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAE,GAAG,CAAE,IAAI,IAAI,EAAG,CAAC;gBAC7C,IAAI,UAAU,GAAG,GAAG,CAAA;gBACpB,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAE,GAAG,CAAE,IAAI,IAAI,EAAG,CAAC;oBAChD,GAAG,EAAE,CAAA;gBACN,CAAC;gBACD,IAAI,IAAI,GAAG,IAAI,UAAU,CACxB,EAAE,EACF,GAAG,CAAC,KAAK,CAAE,UAAU,GAAG,CAAC,EAAG,GAAG,CAAE,EACjC,EAAE,EACF,IAAI,CAAC,IAAI,CAAE,GAAG,EAAE,UAAU,GAAG,UAAU,GAAG,CAAC,EAAE,GAAG,GAAG,UAAU,GAAG,CAAC,CAAE,CACnE,CAAA;gBACD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAoB,CAAA;gBAC/C,WAAW,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;gBACxB,MAAM,GAAG,IAAI,CAAA;YACd,CAAC;YAGD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAG,CAAC;gBAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAE,GAAG,EAAE,GAAG,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,CAAE,CAAA;gBACpD,IAAI,CAAC,SAAS,CAAE,IAAI,IAAI,CAAC,iBAAiB,CACzC,6BAA6B,EAC7B,GAAG,CAAC,SAAS,CAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAE,EACvC,EAAE,CACF,CAAE,CAAA;YACJ,CAAC;YAED,KAAK,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;YACpB,GAAG,EAAE,CAAA;QACN,CAAC;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;IAhJe,wBAAsB,yBAgJrC,CAAA;AAEF,CAAC,EArJS,CAAC,KAAD,CAAC,QAqJV;;;;ACrJD,IAAU,CAAC,CA6DV;AA7DD,WAAU,CAAC;IAEV,SAAgB,oBAAoB,CAAE,IAAS,EAAE,IAAI,GAAG,SAAS,CAAC,OAAO;QAExE,IAAI,OAAO,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAG,CAAC;YAC7E,OAAO,IAAI,UAAU,CAAE,MAAM,CAAE,IAAI,CAAE,EAAG,EAAE,EAAG,EAAE,EAAG,IAAI,CAAE,CAAA;QACzD,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAG,CAAC;YAC/B,OAAO,UAAU,CAAC,IAAI,CAAE,IAAI,EAAG,EAAE,EAAE,IAAI,CAAE,CAAA;QAC1C,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAE,IAAI,CAAE,EAAG,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAE,IAAI,EAAG,IAAI,CAAE,CAAE,CAAA;YACnE,OAAO,IAAI,UAAU,CAAE,GAAG,EAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAE,CAAA;QAC7C,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,CAAE,IAAI,CAAE,EAAG,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAE,CAAA;YAC3E,OAAO,UAAU,CAAC,IAAI,CAAE,MAAM,CAAC,YAAY,CAAE,GAAI,GAAG,CAAE,EAAG,EAAE,EAAE,IAAI,CAAE,CAAA;QACpE,CAAC;QAED,IAAI,IAAI,YAAY,IAAI,EAAG,CAAC;YAC3B,OAAO,IAAI,UAAU,CAAE,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,EAAG,EAAE,EAAG,IAAI,CAAE,CAAA;QAC5D,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,EAAG,CAAC;YACxC,OAAO,oBAAoB,CAAE,IAAI,CAAC,MAAM,EAAE,CAAE,CAAA;QAC7C,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAG,CAAC;YAClD,OAAO,UAAU,CAAC,IAAI,CAAE,IAAI,CAAC,QAAQ,EAAE,EAAG,EAAE,EAAE,IAAI,CAAE,CAAA;QACrD,CAAC;QAED,IAAI,IAAI,YAAY,KAAK,EAAG,CAAC;YAC5B,MAAM,EAAE,IAAI,EAAG,OAAO,EAAG,KAAK,EAAE,GAAG,IAAI,CAAA;YACvC,IAAI,GAAG,EAAE,GAAI,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;QAC1C,CAAC;QAED,MAAM,GAAG,GAAG,EAAkB,CAAA;QAE9B,KAAK,IAAI,GAAG,IAAI,IAAI,EAAG,CAAC;YAEvB,MAAM,GAAG,GAAG,IAAI,CAAE,GAAG,CAAE,CAAA;YAEvB,IAAI,GAAG,KAAK,SAAS;gBAAG,SAAQ;YAEhC,MAAM,MAAM,GAAG,oBAAoB,CAAE,GAAG,EAAE,IAAI,CAAE,CAAA;YAEhD,IAAI,eAAe,CAAC,IAAI,CAAE,GAAG,CAAE,EAAG,CAAC;gBAClC,GAAG,CAAC,IAAI,CAAE,IAAI,UAAU,CAAE,GAAG,EAAE,EAAE,EAAE,CAAE,MAAM,CAAE,EAAE,IAAI,CAAE,CAAE,CAAA;YACxD,CAAC;iBAAM,CAAC;gBACP,GAAG,CAAC,IAAI,CAAE,UAAU,CAAC,IAAI,CAAE,GAAG,EAAE,CAAE,MAAM,CAAE,EAAE,IAAI,CAAE,CAAE,CAAA;YACrD,CAAC;QAEF,CAAC;QAED,OAAO,IAAI,UAAU,CAAE,GAAG,EAAG,EAAE,EAAE,GAAG,EAAG,IAAI,CAAE,CAAA;IAE9C,CAAC;IAzDe,sBAAoB,uBAyDnC,CAAA;AAEF,CAAC,EA7DS,CAAC,KAAD,CAAC,QA6DV;;;;AC7DD,IAAU,CAAC,CAqDV;AArDD,WAAU,CAAC;IAGV,MAAa,eAAe;QAE3B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAE,CAAC,EAAE,CAAC,CAAE,CAAA;QAChC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAE,CAAC,EAAE,EAAE,CAAE,CAAA;QAChC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAE,CAAC,EAAE,EAAE,CAAE,CAAA;QAClC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAE,CAAC,EAAE,EAAE,CAAE,CAAA;QACrC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAE,CAAC,EAAE,EAAE,CAAE,CAAA;QACnC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAE,CAAC,EAAE,EAAE,CAAE,CAAA;QAClC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAE,CAAC,EAAE,EAAE,CAAE,CAAA;QAElC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAE,EAAE,EAAE,EAAE,CAAE,CAAA;QACjC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAE,EAAE,EAAE,EAAE,CAAE,CAAA;QAChC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAE,EAAE,EAAE,EAAE,CAAE,CAAA;QAClC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAE,EAAE,EAAE,EAAE,CAAE,CAAA;QACnC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAE,EAAE,EAAE,EAAE,CAAE,CAAA;QACjC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAE,EAAE,EAAE,EAAE,CAAE,CAAA;QACpC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAE,EAAE,EAAE,EAAE,CAAE,CAAA;QAEjC,MAAM,CAAC,IAAI,GAAG,CAAE,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAE,IAAI,CAAC,IAAI,CAAE,GAAG,CAAE,CAAE,CAAA;QAChE,MAAM,CAAC,GAAG,GAAG,CAAE,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAE,IAAI,CAAC,GAAG,CAAE,GAAG,CAAE,CAAE,CAAA;QAC9D,MAAM,CAAC,KAAK,GAAG,CAAE,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAE,IAAI,CAAC,KAAK,CAAE,GAAG,CAAE,CAAE,CAAA;QAClE,MAAM,CAAC,MAAM,GAAG,CAAE,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAE,IAAI,CAAC,MAAM,CAAE,GAAG,CAAE,CAAE,CAAA;QACpE,MAAM,CAAC,IAAI,GAAG,CAAE,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAE,IAAI,CAAC,IAAI,CAAE,GAAG,CAAE,CAAE,CAAA;QAChE,MAAM,CAAC,OAAO,GAAG,CAAE,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAE,IAAI,CAAC,OAAO,CAAE,GAAG,CAAE,CAAE,CAAA;QACtE,MAAM,CAAC,IAAI,GAAG,CAAE,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAE,IAAI,CAAC,IAAI,CAAE,GAAG,CAAE,CAAE,CAAA;QAEhE,MAAM,CAAC,IAAI,CAAE,IAAY,EAAE,KAAa;YAEvC,IAAI,OAAO,OAAO,KAAK,WAAW;gBAAG,OAAO,MAAM,CAAA;YAClD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;gBAAG,OAAO,MAAM,CAAA;YAEzC,MAAM,MAAM,GAAG,QAAQ,IAAI,GAAG,CAAA;YAC9B,MAAM,OAAO,GAAG,QAAQ,KAAK,GAAG,CAAA;YAEhC,MAAM,aAAa,GAAG,IAAI,MAAM,CAAE,OAAO,CAAC,OAAO,CAAE,GAAG,EAAE,KAAK,CAAE,EAAE,GAAG,CAAE,CAAA;YAEtE,OAAO,SAAS,OAAO,CAAE,GAAW;gBAEnC,GAAG,GAAG,MAAM,CAAE,GAAG,CAAE,CAAA;gBACnB,IAAI,GAAG,KAAK,EAAE;oBAAG,OAAO,GAAG,CAAA;gBAE3B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAE,aAAa,EAAE,MAAM,CAAE,CAAA;gBACnD,OAAO,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;YAEjC,CAAC,CAAA;QAEF,CAAC;;IA9CW,iBAAe,kBAgD3B,CAAA;AAEF,CAAC,EArDS,CAAC,KAAD,CAAC,QAqDV;;;;ACrDD,IAAU,CAAC,CAoCV;AApCD,WAAU,CAAC;IAEV,SAAgB,mBAAmB,CAClC,KAAqB,EACrB,MAA4B,EAC5B,IAAa,EACb,KAA+B;QAG/B,OAAO,SAAS,gBAAgB,CAE/B,KAA2B;YAG3B,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAG,KAAK,GAAG,EAAE,IAAI,EAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAG,GAAI,KAAK,EAAE,CAAA;YAEzE,IAAI,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAE,KAAK,CAAE,CAAA;YAC7C,IAAI,GAAG,IAAI,CAAC,MAAM,CAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAE,CAAA;YAErC,IAAI,GAAG,GAAG,KAAK,CAAE,IAAI,CAAC,QAAQ,EAAE,CAAE,CACjC;YAAE,IAAI,CAAC,OAAO,CAAE,KAAK,CAAW,CAAE,GAAG,CAAE,CAAA;YAExC,MAAM,IAAI,GAAG,IAAI,CAAA;YACjB,OAAO,GAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;QAEpC,CAAC,CAAA;IAEF,CAAC;IAzBe,qBAAmB,sBAyBlC,CAAA;IAED,CAAC,CAAC,cAAc,GAAG,mBAAmB,CAAE,MAAM,EAAG,QAAQ,EAAG,MAAM,EAAG,eAAe,CAAC,IAAI,CAAE,CAAA;IAC3F,CAAC,CAAC,cAAc,GAAG,mBAAmB,CAAE,MAAM,EAAG,QAAQ,EAAG,MAAM,EAAG,eAAe,CAAC,KAAK,CAAE,CAAA;IAC5F,CAAC,CAAC,cAAc,GAAG,mBAAmB,CAAE,OAAO,EAAG,QAAQ,EAAG,MAAM,EAAG,eAAe,CAAC,GAAG,CAAE,CAAA;IAC3F,CAAC,CAAC,cAAc,GAAG,mBAAmB,CAAE,MAAM,EAAG,QAAQ,EAAG,MAAM,EAAG,eAAe,CAAC,MAAM,CAAE,CAAA;IAC7F,CAAC,CAAC,cAAc,GAAG,mBAAmB,CAAE,KAAK,EAAG,QAAQ,EAAG,MAAM,EAAG,eAAe,CAAC,OAAO,CAAE,CAAA;IAC7F,CAAC,CAAC,cAAc,GAAG,mBAAmB,CAAE,KAAK,EAAG,QAAQ,EAAG,MAAM,EAAG,eAAe,CAAC,IAAI,CAAE,CAAA;AAE3F,CAAC,EApCS,CAAC,KAAD,CAAC,QAoCV;;;;ACpCD,IAAU,CAAC,CAmFV;AAnFD,WAAU,CAAC;IAGV,MAAa,cAIX,SAAQ,eAAqC;QAE9C,MAAM,CAAC,MAAM,CAKZ,IAAgD;YAGhD,OAAO,SAAS,kBAAkB,CAAE,IAAU,EAAE,IAAU;gBAEzD,MAAM,GAAG,GAAG,cAAc,EAAE,CAAA;gBAC5B,MAAM,OAAO,GAAG,GAAG,EAAE,UAAU,EAAsD,CAAA;gBAErF,KAAK,EAAE,IAAI,OAAO,EAAG,CAAC;oBAErB,IAAI,CAAC,OAAO,CAAC,IAAI;wBAAG,MAAM,KAAK,CAAA;oBAE/B,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;wBAAG,MAAM,KAAK,CAAA;oBACvC,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;wBAAG,MAAM,KAAK,CAAA;oBACvC,IAAI,CAAC,iBAAiB,CAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAE;wBAAG,MAAM,KAAK,CAAA;oBAE1D,OAAO,OAAO,CAAA;gBACf,CAAC;gBAED,MAAM,IAAI,GAAG,IAAI,cAAc,CAAE,GAAK,IAAY,EAAE,CAAE,MAAM,CAAC,WAAW,CAAE,IAAI,IAAK,IAAK,IAAI,CAAC,IAAK,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAE,CAAA;gBAG3H,IAAI,OAAO,EAAE,IAAI,EAAG,CAAC;oBACpB,EAAE,CAAC,cAAc,CAAC;wBACjB,KAAK,EAAE,gBAAgB;wBACvB,OAAO,EAAE,iBAAiB;wBAC1B,OAAO;wBACP,IAAI;wBACJ,IAAI,EAAE,WAAW;qBACjB,CAAC,CAAA;gBACH,CAAC;gBAED,OAAO,IAAI,CAAA;YACZ,CAAC,CAAA;QAEF,CAAC;QAED,IAAI,IAAI;YACP,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,QAAQ;YACP,IAAI,iBAAiB,CAAE,IAAI,CAAC,KAAK,CAAE;gBAAG,OAAM;YAC5C,IAAI,CAAC,UAAU,EAAE,CAAA;QAClB,CAAC;QAED,GAAG,CAAE,IAAgD;YAEpD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAA;YACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;YAEjB,IAAI,iBAAiB,CAAE,IAAI,CAAE,EAAG,CAAC;gBAEhC,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAA;gBACpC,IAAI,IAAI,KAAK,IAAI;oBAAG,IAAI,CAAC,IAAI,EAAE,CAAA;gBAE/B,OAAO,IAAI,CAAA;YACZ,CAAC;YAED,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAA;YAEpC,IAAI,IAAI,CAAC,SAAS;gBAAG,IAAI,CAAC,UAAU,EAAE,CAAA;iBACjC,IAAI,IAAI,KAAK,IAAI;gBAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YAEpC,OAAO,IAAI,CAAA;QACZ,CAAC;KAED;IA9EY,gBAAc,iBA8E1B,CAAA;AAEF,CAAC,EAnFS,CAAC,KAAD,CAAC,QAmFV;;;;ACnFD,IAAU,CAAC,CAsCV;AAtCD,WAAU,CAAC;IAKV,SAAgB,gBAAgB,CAI/B,IAAW,EACX,KAAmB,EACnB,KAA4D;QAG5D,IAAI,CAAC,KAAK;YAAG,KAAK,GAAG,OAAO,CAAC,wBAAwB,CAAE,IAAI,EAAG,KAAK,CAAS,CAAA;QAC5E,MAAM,IAAI,GAAG,KAAK,EAAE,KAAM,IAAK,IAAY,CAAE,KAAK,CAAE,CAAA;QAEpD,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAE,IAAI,CAAG,CAAA;QAC3C,IAAI,OAAQ,GAAW,CAAE,KAAK,CAAE,KAAK,UAAU,EAAG,CAAC;YAClD,MAAM,CAAC,cAAc,CAAE,IAAI,EAAG,MAAM,EAAG,EAAE,KAAK,EAAI,GAAW,CAAE,KAAK,CAAE,CAAC,IAAI,EAAE,CAAE,CAAA;QAChF,CAAC;QAED,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAE,IAAI,CAAE,CAAA;QAC1C,MAAM,KAAK,GAAG,UAAsB,GAAI,IAAU;YACjD,MAAM,KAAK,GAAG,IAAI,CAAE,IAAI,IAAI,IAAW,EAAE,IAAI,CAAE,CAAA;YAC/C,OAAO,KAAK,CAAC,IAAI,EAAE,CAAA;QACpB,CAAC,CAAA;QAED,MAAM,CAAC,cAAc,CAAE,KAAK,EAAG,MAAM,EAAG,EAAE,KAAK,EAAG,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAE,CAAA;QAErE,MAAM,CAAC,MAAM,CAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAE,CAAA;QAChC,MAAM,MAAM,GAAG,EAAE,GAAI,KAAK,EAAE,KAAK,EAAE,CAAA;QACnC,OAAO,CAAC,cAAc,CAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAE,CAAA;QAE7C,OAAO,MAAM,CAAA;IAEd,CAAC;IA/Be,kBAAgB,mBA+B/B,CAAA;AAEF,CAAC,EAtCS,CAAC,KAAD,CAAC,QAsCV;;;;;;;;;;ACtCD,IAAU,CAAC,CAeV;AAfD,WAAU,CAAC;IAEV,MAAM,OAAO,GAAG,IAAI,OAAO,EAAmB,CAAA;IAE9C,SAAgB,eAAe,CAAE,KAAc;QAE9C,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAG,OAAO,KAAK,CAAA;QAC5C,IAAI,iBAAiB,CAAE,KAAK,CAAE;YAAG,gBAAgB,CAAE,KAAK,CAAE,CAAA;QAC1D,IAAI,OAAO,CAAC,GAAG,CAAE,KAAK,CAAE;YAAG,OAAO,KAAK,CAAA;QAEvC,OAAO,CAAC,GAAG,CAAE,KAAK,EAAG,IAAI,CAAE,CAAA;QAC3B,OAAO,IAAI,CAAA;IAEZ,CAAC;IATe,iBAAe,kBAS9B,CAAA;AAEF,CAAC,EAfS,CAAC,KAAD,CAAC,QAeV;;;;ACfD,IAAU,CAAC,CAaV;AAbD,WAAU,CAAC;IAEV,SAAgB,aAAa,CAAE,KAAc;QAE5C,IAAI,iBAAiB,CAAE,KAAK,CAAE;YAAG,OAAO,KAAK,CAAA;QAC7C,IAAI,CAAC,eAAe,CAAE,KAAK,CAAE;YAAG,OAAO,KAAK,CAAA;QAE5C,OAAO,CAAC,KAAK,CAAE,KAAK,CAAE,CAAA;QAEtB,OAAO,IAAI,CAAA;IAEZ,CAAC;IATe,eAAa,gBAS5B,CAAA;AAEF,CAAC,EAbS,CAAC,KAAD,CAAC,QAaV;;;;ACbD,IAAU,CAAC,CA+KV;AA/KD,WAAU,CAAC;IAGV,MAAa,cAIX,SAAQ,eAAqC;QAE9C,MAAM,CAAC,IAAI,CAKV,IAAU,EACV,IAA6C;YAG7C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;YAE9B,MAAM,OAAO,GAAG,MAAM,CAAC,wBAAwB,CAAE,IAAI,IAAI,IAAI,EAAE,KAAK,CAAE,EAAE,KAAK,CAAA;YAC7E,IAAI,OAAO;gBAAG,OAAO,OAAO,CAAA;YAE5B,MAAM,MAAM,GAAI,IAAY,EAAE,CAAE,MAAM,CAAC,WAAW,CAAE,IAAI,CAAE,IAAI,YAAY,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAE,IAAI,CAAE,CAAC,CAAC,CAAC,IAAI,CAAE,CAAA;YACvH,MAAM,GAAG,GAAG,GAAI,MAAO,IAAK,KAAM,EAAE,CAAA;YAEpC,MAAM,KAAK,GAAG,IAAI,cAAc,CAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAiB,CAAE,CACrE;YAAA,CAAE,IAAW,IAAI,IAAI,CAAE,CAAE,KAAK,CAAE,GAAG,KAAK,CAAA;YAEzC,OAAO,KAAK,CAAA;QACb,CAAC;QAED,MAAM,CAAC,IAAI,CAKV,IAAU,EACV,IAA8C,EAC9C,GAAY;YAGZ,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;YAC9B,IAAI,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAE,IAAI,IAAI,IAAI,EAAE,KAAK,CAAE,EAAE,KAAK,CAAA;YACxE,MAAM,MAAM,GAAI,IAAY,EAAE,CAAE,MAAM,CAAC,WAAW,CAAE,IAAI,CAAE,IAAI,YAAY,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAE,IAAI,CAAE,CAAC,CAAC,CAAC,IAAI,CAAE,CAAA;YACvH,MAAM,OAAO,GAAG,QAAQ,CAAE,GAAG,CAAE,CAAA;YAE/B,IAAI,IAAI,EAAG,CAAC;gBACX,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAE,OAAO,CAAE,CAAA;gBACnC,IAAI,OAAO;oBAAG,OAAO,OAAO,CAAA;YAC7B,CAAC;iBAAM,CAAC;gBACP,IAAI,GAAG,CAAE,IAAW,IAAI,IAAI,CAAE,CAAE,KAAK,CAAE,GAAG,IAAI,GAAG,EAAW,CAAA;YAC7D,CAAC;YAED,MAAM,EAAE,GAAG,GAAI,MAAO,IAAK,IAAI,CAAC,IAAK,IAAK,OAAO,CAAC,OAAO,CAAE,QAAQ,EAAE,GAAG,CAAG,GAAG,CAAA;YAC9E,MAAM,KAAK,GAAG,IAAI,cAAc,CAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAE,GAAG,CAAiB,CAAE,CAAA;YAC1E,IAAI,CAAC,GAAG,CAAE,OAAO,EAAE,KAAK,CAAE,CAAA;YAE1B,OAAO,KAAK,CAAA;QACb,CAAC;QAED,MAAM,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAqC,CAAA;QAC9D,MAAM,CAAC,OAAO,GAAG,IAA+B,CAAA;QAEhD,MAAM,CAAC,KAAK;YAEX,cAAc,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAE,cAAc,CAAC,KAAK,CAAE,CAAA;YAErE,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,QAAQ,EAAG,CAAC;gBAE7C,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,KAAK,EAAG,CAAC;oBAC7C,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAE,IAAI,CAAE,CAAA;gBACvC,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAA;oBACpC,IAAI,CAAC,KAAK,EAAE,CAAA;gBACb,CAAC;YAEF,CAAC;QAEF,CAAC;QAED,KAAK;YAEJ,IAAI,CAAC,cAAc,CAAC,OAAO,EAAG,CAAC;gBAC9B,cAAc,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAE,cAAc,CAAC,KAAK,CAAE,CAAA;YACtE,CAAC;YAED,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAE,IAAI,CAAE,CAAA;QAEpC,CAAC;QAMD,MAAM,CAAE,IAAU;YACjB,OAAO,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC,IAAK,EAAE,GAAI,IAAI,CAAE,CAAE,CAAA;QAC1D,CAAC;QAGD,IAAI;YACH,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC;QAED,OAAO;YACN,OAAO,MAAM,CAAC,MAAM,CAAE,CAAE,IAA6B,EAAE,EAAE;gBAExD,IAAI,IAAI,KAAK,SAAS;oBAAG,OAAO,IAAI,CAAC,MAAM,CAAE,CAAE,GAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAS,CAAW,CAAA;gBACtF,IAAI,CAAC,eAAe,CAAC,IAAI;oBAAG,OAAO,IAAI,CAAC,MAAM,EAAW,CAAA;gBAEzD,IAAI,cAAc,EAAE,EAAE,IAAI,EAAG,CAAC;oBAC7B,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;gBACnB,CAAC;qBAAM,CAAC;oBACP,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;gBACnB,CAAC;YAEF,CAAC,EAAE,EAAE,IAAI,EAAE,IAA4C,EAAE,CAAE,CAAA;QAC5D,CAAC;QAED,UAAU;YAET,KAAK,CAAC,UAAU,EAAE,CAAA;YAElB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAA;YACvB,IAAI,iBAAiB,CAAE,IAAI,EAAE,IAAI,CAAE,EAAG,CAAC;gBACtC,IAAI,CAAC,UAAU,EAAE,CAAA;YAClB,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAG,CAAC;gBAC1B,CAAC;gBAAA,CAAE,IAAI,CAAC,IAAW,IAAI,IAAI,CAAC,IAAI,CAAE,CAAE,IAAI,CAAC,KAAK,EAAE,CAAE,GAAG,IAAI,CAAA;YAC1D,CAAC;iBAAM,CAAC;gBACP,CAAC;gBAAA,CAAE,IAAI,CAAC,IAAW,IAAI,IAAI,CAAC,IAAI,CAAE,CAAE,IAAI,CAAC,KAAK,EAAE,CAAE,CAAC,MAAM,CAAE,QAAQ,CAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAE,CAAA;YACtF,CAAC;QAEF,CAAC;QAED,GAAG,CAAE,IAAgD;YAEpD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAA;YAEvB,MAAM,EAAE,IAAI,IAAI,KAAK,IAAI,EAAG,CAAC;gBAE5B,IAAI,CAAC;oBACJ,IAAI,iBAAiB,CAAE,IAAI,EAAE,IAAI,CAAE;wBAAG,MAAM,MAAM,CAAA;gBACnD,CAAC;gBAAC,OAAO,KAAU,EAAG,CAAC;oBACtB,aAAa,CAAE,KAAK,CAAE,CAAA;gBACvB,CAAC;gBAED,IAAI,iBAAiB,CAAE,IAAI,EAAE,IAAI,CAAE,EAAG,CAAC;oBACtC,IAAI,CAAC,UAAU,EAAE,CAAA;gBAClB,CAAC;gBAED,IAAI,iBAAiB,CAAE,IAAI,EAAE,IAAI,CAAE,EAAG,CAAC;oBACtC,IAAI,CAAC;wBACH,IAAY,CAAE,MAAM,CAAC,WAAW,CAAE,GAAI,IAAY,CAAE,MAAM,CAAC,WAAW,CAAE,CAAA;oBAC1E,CAAC;oBAAC,MAAM,CAAC;wBACR,MAAM,CAAC,cAAc,CAAE,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,KAAK,EAAG,IAAY,CAAE,MAAM,CAAC,WAAW,CAAE,EAAE,CAAE,CAAA;oBAClG,CAAC;gBACF,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,SAAS;oBAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YAElC,CAAC;YAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;YACjB,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAA;YAEpC,IAAI,iBAAiB,CAAE,IAAI,CAAE;gBAAG,OAAO,IAAI,CAAA;YAE3C,IAAI,CAAC,aAAa,EAAE,CAAA;YAEpB,OAAO,IAAI,CAAA;QACZ,CAAC;;IA7ED;QADE,gBAAgB;gDAGjB;IAGD;QADE,gBAAgB;8CAGjB;IAnGW,gBAAc,iBA2K1B,CAAA;AACF,CAAC,EA/KS,CAAC,KAAD,CAAC,QA+KV;;;;AC/KD,IAAU,CAAC,CAoDV;AApDD,WAAU,CAAC;IAGV,SAAgB,cAAc,CAC7B,IAAY,EACZ,KAAa,EACb,KAA2D;QAG3D,IAAI,CAAC,KAAK;YAAG,KAAK,GAAG,OAAO,CAAC,wBAAwB,CAAE,IAAI,EAAG,KAAK,CAAE,CAAA;QACrE,MAAM,IAAI,GAAG,KAAK,EAAE,KAAM,IAAK,IAAY,CAAE,KAAK,CAAE,CAAA;QAEpD,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAE,IAAI,CAAG,CAAA;QAC3C,IAAI,OAAQ,GAAW,CAAE,KAAK,CAAE,KAAK,UAAU,EAAG,CAAC;YAClD,MAAM,CAAC,cAAc,CAAE,IAAI,EAAG,MAAM,EAAG,EAAE,KAAK,EAAI,GAAW,CAAE,KAAK,CAAE,CAAC,IAAI,EAAE,CAAE,CAAA;QAChF,CAAC;QAED,MAAM,MAAM,GAAG;YACd,GAAI,KAAK;YACT,KAAK,EAAE,UAA6B,GAAI,IAAU;gBAEjD,IAAI,IAAI,GAAG,cAAc,CAAC,IAAI,CAAE,IAAI,EAAE,IAAI,CAAE,CAAA;gBAE5C,IAAG,CAAE,IAAI,CAAC,MAAM,KAAK,CAAC,CAAE,IAAE,CAAE,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAE,EAAE,CAAC;oBAErD,IAAI,CAAC,eAAe,CAAC,IAAI;wBAAG,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;oBAEhD,IAAI,cAAc,EAAE,EAAE,IAAI,EAAG,CAAC;wBAC7B,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;oBACnB,CAAC;yBAAM,CAAC;wBACP,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;oBACnB,CAAC;gBAEF,CAAC;gBAED,OAAO,IAAI,CAAC,MAAM,CAAE,IAAI,CAAE,CAAA;YAC3B,CAAC;SACD,CAAA;QAED,OAAO,CAAC,cAAc,CAAE,MAAM,CAAC,KAAK,EAAG,MAAM,EAAG,EAAE,KAAK,EAAG,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAE,CAAA;QAC7E,OAAO,CAAC,cAAc,CAAE,MAAM,CAAC,KAAK,EAAG,QAAQ,EAAG,EAAE,KAAK,EAAG,IAAI,CAAC,MAAM,EAAE,CAAE,CAAA;QAC3E,MAAM,CAAC,MAAM,CAAE,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAE,CAAA;QAEvC,OAAO,CAAC,cAAc,CAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAE,CAAA;QAE7C,OAAO,MAAsF,CAAA;IAC9F,CAAC;IA3Ce,gBAAc,iBA2C7B,CAAA;AAMF,CAAC,EApDS,CAAC,KAAD,CAAC,QAoDV;;;;ACpDD,IAAU,CAAC,CAgDV;AAhDD,WAAU,CAAC;IAGV,SAAgB,cAAc,CAC7B,IAAY,EACZ,KAAa,EACb,KAA2D;QAG3D,IAAI,CAAC,KAAK;YAAG,KAAK,GAAG,OAAO,CAAC,wBAAwB,CAAE,IAAI,EAAG,KAAK,CAAE,CAAA;QACrE,MAAM,IAAI,GAAG,KAAK,EAAE,KAAM,IAAK,IAAY,CAAE,KAAK,CAAE,CAAA;QAEpD,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAE,IAAI,CAAG,CAAA;QAC3C,IAAI,OAAQ,GAAW,CAAE,KAAK,CAAE,KAAK,UAAU,EAAG,CAAC;YAClD,MAAM,CAAC,cAAc,CAAE,IAAI,EAAG,MAAM,EAAG,EAAE,KAAK,EAAI,GAAW,CAAE,KAAK,CAAE,CAAC,IAAI,EAAE,CAAE,CAAA;QAChF,CAAC;QAED,MAAM,MAAM,GAAG;YACd,GAAI,KAAK;YACT,KAAK,EAAE,UAA6B,GAAI,IAAU;gBAEjD,IAAI,IAAI,GAAG,cAAc,CAAC,IAAI,CAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAE,CAAA;gBAErD,IAAG,CAAE,IAAI,CAAC,MAAM,KAAK,CAAC,CAAE,IAAE,CAAE,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAE,EAAE,CAAC;oBAErD,IAAI,CAAC,eAAe,CAAC,IAAI;wBAAG,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;oBAEhD,IAAI,cAAc,EAAE,EAAE,IAAI,EAAG,CAAC;wBAC7B,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;oBACnB,CAAC;yBAAM,CAAC;wBACP,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;oBACnB,CAAC;gBAEF,CAAC;gBAED,OAAO,IAAI,CAAC,MAAM,CAAE,IAAI,CAAE,CAAA;YAC3B,CAAC;SACD,CAAA;QAED,OAAO,CAAC,cAAc,CAAE,MAAM,CAAC,KAAK,EAAG,MAAM,EAAG,EAAE,KAAK,EAAG,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAE,CAAA;QAC7E,OAAO,CAAC,cAAc,CAAE,MAAM,CAAC,KAAK,EAAG,QAAQ,EAAG,EAAE,KAAK,EAAG,IAAI,CAAC,MAAM,EAAE,CAAE,CAAA;QAC3E,MAAM,CAAC,MAAM,CAAE,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAE,CAAA;QAEvC,OAAO,CAAC,cAAc,CAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAE,CAAA;QAE7C,OAAO,MAAM,CAAA;IACd,CAAC;IA3Ce,gBAAc,iBA2C7B,CAAA;AAEF,CAAC,EAhDS,CAAC,KAAD,CAAC,QAgDV;;;;AChDD,IAAU,CAAC,CAuBV;AAvBD,WAAU,CAAC;IAWC,UAAQ,GAAG,cAAc,CAAA;IAWzB,cAAY,GAAG,cAAc,CAAA;AACzC,CAAC,EAvBS,CAAC,KAAD,CAAC,QAuBV;;;;ACvBD,IAAU,CAAC,CAIV;AAJD,WAAU,CAAC;AAIX,CAAC,EAJS,CAAC,KAAD,CAAC,QAIV;;;;;;;ACAD,IAAI,KAAK,GAAG,IAAI,KAAK,CAAE,EAAE,OAAO,EAAS,EAAG;IAE3C,GAAG,CAAE,MAAM,EAAG,IAAa,EAAG,OAAO;QAEpC,IAAI,MAAM,CAAE,IAAI,CAAE;YAAG,OAAO,MAAM,CAAE,IAAI,CAAE,CAAA;QAE1C,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAE,QAAQ,CAA+B,CAAA;QAEnE,IAAI,GAAG,CAAC,cAAc,CAAC,OAAO,CAAE,IAAI,CAAE,IAAI,CAAC;YAAG,OAAO,MAAM,CAAC,OAAO,CAAE,IAAI,CAAE,CAAA;QAC3E,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;YAAG,OAAO,MAAM,CAAC,OAAO,CAAE,IAAI,CAAE,CAAA;QAEnD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAE,MAAM,CAA6B,CAAA;QAChE,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAE,IAAI,CAA2B,CAAA;QAE1D,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAE,GAAG,CAAE,CAAA;QAC7B,MAAM,MAAM,GAAG,kBAAmB,IAAK,EAAE,CAAA;QAEzC,MAAM,EAAE,GAAK,CAAU,CAAA;QAEvB,OAAO,CAAC,EAAE,CAAC,UAAU,CAAE,IAAI,CAAC,IAAI,CAAE,GAAG,EAAG,MAAM,CAAE,CAAE,EAAG,CAAC;YAErD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAE,GAAG,EAAG,IAAI,CAAE,CAAA;YAEzC,IAAI,MAAM,KAAK,GAAG,EAAG,CAAC;gBAErB,EAAE,CAAC,SAAS,CAAE,GAAG,EAAG,KAAK,EAAG,SAAS,EAAG,YAAY,EAAE,IAAI,CAAE,CAAA;gBAE5D,IAAI,CAAC;oBACJ,EAAE,CAAC,SAAS,CAAE,GAAG,EAAG,KAAK,EAAG,SAAS,EAAG,YAAY,EAAE,SAAS,GAAG,IAAI,CAAE,CAAA;gBACzE,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;gBAEV,MAAK;YAEN,CAAC;iBAAM,CAAC;gBAEP,GAAG,GAAG,MAAM,CAAA;YAEb,CAAC;QAEF,CAAC;QAED,IAAI,CAAC;YACJ,OAAO,MAAM,CAAC,OAAO,CAAE,IAAI,CAAE,CAAA;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAG,CAAC;YACjB,CAAC,CAAC,aAAa,CAAE,KAAK,CAAE,CAAA;YACxB,OAAO,IAAI,CAAA;QACZ,CAAC;IAEF,CAAC;IAED,GAAG,CAAE,MAAM,EAAG,IAAa,EAAG,KAAK;QAClC,MAAM,CAAE,IAAI,CAAE,GAAG,KAAK,CAAA;QACtB,OAAO,IAAI,CAAA;IACZ,CAAC;CAED,CAAW,CAAA;AAEZ,OAAO,GAAG,CAAE,GAAG,CAAC,EAAE,CACjB,MAAM,CAAC,MAAM,CAAE,SAAS,OAAO,CAAE,IAAa;IAC7C,OAAO,KAAK,CAAE,IAAI,CAAE,CAAA;AACrB,CAAC,EAAG,GAAG,CAAE,CACT,CAAE,OAAO,CAAE,CAAA;;;;ACjEZ,IAAU,CAAC,CAIV;AAJD,WAAU,CAAC;IACV,SAAgB,QAAQ;QACvB,OAAO,EAA0C,CAAA;IAClD,CAAC;IAFe,UAAQ,WAEvB,CAAA;AACF,CAAC,EAJS,CAAC,KAAD,CAAC,QAIV;;;;ACJD,IAAU,CAAC,CAIV;AAJD,WAAU,CAAC;IACV,CAAC,CAAC,QAAQ,GAAG,SAAS,QAAQ;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAA;IACxB,CAAC,CAAA;AACF,CAAC,EAJS,CAAC,KAAD,CAAC,QAIV;;;;ACJD,IAAU,CAAC,CAiCV;AAjCD,WAAU,CAAC;IACV,SAAgB,SAAS,CAExB,GAAY,EACZ,OAAgB,EAChB,GAAG,IAAe;QAGlB,IAAI,CAAE,GAAG,EAAG,GAAI,KAAK,CAAE,GAAG,OAAO,CAAC,KAAK,CAAE,GAAG,CAAE,CAAA;QAC9C,IAAI,GAAG,CAAE,GAAI,KAAK,EAAG,GAAI,IAAI,CAAE,CAAA;QAE/B,IAAI,CAAC,cAAc,CAAC;YACnB,KAAK,EAAE,WAAW;YAClB,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAE,EAAE,EAAG,GAAG,CAAE;YACpC,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,GAAG,GAAG,IAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAE,EAAE;SACrC,CAAC,CAAA;QAEF,IAAI,GAAG,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,SAAS,CACzC,GAAG,EACH,IAAI,EACJ;YACC,GAAG,EAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAE,GAAG,CAAE;YAC/B,KAAK,EAAG,IAAI;YACZ,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;SACpB,CACD,CAAA;QAED,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK;YAAG,OAAO,SAAS,CAAE,GAAG,CAAC,KAAK,IAAI,IAAI,KAAK,CAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAE,CAAE,CAAA;QACjG,IAAI,CAAC,GAAG,CAAC,MAAM;YAAG,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAE9C,OAAO,GAAG,CAAA;IACX,CAAC;IA/Be,WAAS,YA+BxB,CAAA;AACF,CAAC,EAjCS,CAAC,KAAD,CAAC,QAiCV;;;;ACjCD,IAAU,CAAC,CAIV;AAJD,WAAU,CAAC;IAEV,CAAC,CAAC,gBAAgB,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAE,EAAE,EAAG,EAAE,GAAG,EAAG,oBAAoB,EAAE,CAAE,CAAC,MAAa,CAAA;AAEhG,CAAC,EAJS,CAAC,KAAD,CAAC,QAIV;;;;ACJD,IAAU,CAAC,CAuBV;AAvBD,WAAU,CAAC;IAEV,MAAa,eAAgB,SAAQ,YAAY;QAMxC;QAJR,OAAO,CAAM;QACb,SAAS,GAAG,KAAK,CAAA;QAEjB,YACQ,IAAgB;YAEvB,KAAK,EAAE,CAAA;YAFA,SAAI,GAAJ,IAAI,CAAY;YAGvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAE,GAAE,EAAE;gBAC1C,IAAI,IAAI,CAAC,SAAS;oBAAG,OAAM;gBAC3B,IAAI,EAAE,CAAA;YACP,CAAC,CAAE,CAAA;QACJ,CAAC;QAED,UAAU;YACT,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACtB,CAAC;KAED;IAnBY,iBAAe,kBAmB3B,CAAA;AAEF,CAAC,EAvBS,CAAC,KAAD,CAAC,QAuBV;;;;ACvBD,IAAU,CAAC,CA+BV;AA/BD,WAAU,CAAC;IAEV,MAAa,mBAAoB,SAAQ,WAAW;QAG5C,AAAP,MAAM,CAAC,OAAO,CAAE,IAAiB,EAAE,MAAiB;YAEnD,MAAM,OAAO,GAAe,EAAE,CAAA;YAC9B,IAAI,OAAO,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAA;YAElE,OAAO,OAAO,EAAG,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;gBACvB,OAAO,GAAG,OAAO,CAAC,UAAyB,CAAA;YAC5C,CAAC;YAED,IAAI,CAAC,IAAI,IAAI,MAAM;gBAAG,OAAO,OAAO,CAAA;YAEpC,IAAI,eAAe,CAAE,GAAE,EAAE;gBAExB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAG,CAAC,CAAC,CAAgB,CAAA;gBAEjD,IAAI,OAAO;oBAAG,OAAO,CAAC,KAAK,EAAE,CAAA;;oBACxB,gBAAgB,CAAC,IAAI,EAAE,CAAA;YAE7B,CAAC,CAAE,CAAA;YAEH,OAAO,OAAO,CAAA;QACf,CAAC;KAED;IAxBO;QADL,QAAQ;4CAuBT;IAzBW,qBAAmB,sBA2B/B,CAAA;AAEF,CAAC,EA/BS,CAAC,KAAD,CAAC,QA+BV;;;;AC/BD,IAAU,CAAC,CAwEV;AAxED,WAAU,CAAC;IAEV,MAAa,YAAa,SAAQ,YAAY;QAE7C,MAAM,CAAC,IAAI,CAAmE;QAE9E,MAAM,CAAC,GAAG,CAAY,IAAkB;YACvC,OAAO,IAAI,CAAC,IAAI,CAAE,IAAI,CAAE,EAAE,CAAA;QAC3B,CAAC;QAED,MAAM,CAAC,IAAI,CACV,IAAiD;YAEjD,OAAO,IAAI,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;QACzB,CAAC;QAED,MAAM,KAAK,KAAK;YAEf,OAAO,CACN,KAAa,EACZ,EAAE;gBAKH,MAAM,SAAS,GAAG,CAAE,MAAc,EAAG,IAAW,EAAE,EAAE,CAAC,IAAI,KAAK,CAAE,GAAI,IAAI,CAAE,CAAA;gBAE1E,MAAM,OAAO,GAAwB;oBACpC,SAAS,EAAG,IAAI,CAAC,IAAI,CAAE,SAAS,CAAE;iBAClC,CAEA;gBAAC,OAAe,CAAE,MAAM,CAAC,WAAW,CAAE,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,CAAA;gBAE1D,OAAO,IAAI,KAAK,CAAE,KAAK,EAAG,OAAO,CAAE,CAAA;YAEpC,CAAC,CAAA;QAEF,CAAC;QAED,MAAM,KAAK,MAAM;YAEhB,OAAO,CACN,GAAY,EACZ,IAAkB,EAClB,KAA0B,EACzB,EAAE;gBACH,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAE,KAAK,CAAC,KAAM,CAAE,CAAA;gBACvC,OAAO,KAAK,CAAA;YACb,CAAC,CAAA;QAEF,CAAC;QAED,MAAM,KAAK,KAAK;YAEf,OAAO,CAMN,GAAU,EACV,IAAY,EACZ,KAAyC,EACxC,EAAE;gBACH,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAE,KAAK,CAAC,GAAI,CAAE,CAAA;gBAC/C,OAAO,KAAK,CAAA;YACb,CAAC,CAAA;QAEF,CAAC;KAED;IApEY,cAAY,eAoExB,CAAA;AAEF,CAAC,EAxES,CAAC,KAAD,CAAC,QAwEV;;;;ACxED,IAAU,CAAC,CAwBV;AAxBD,WAAU,CAAC;IAEV,MAAa,SAAU,SAAQ,YAAY;QAE1C,MAAM,CAAC,IAAI,CAAiC,IAA8C;YAEzF,MAAM,KAAK,GAAG,IAAI,OAAO,EAAkB,CAAA;YAE3C,OAAO,UAAwB,IAAa;gBAE3C,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAE,IAAI,CAAE;oBAAG,OAAO,KAAK,CAAC,GAAG,CAAE,IAAI,CAAE,CAAA;gBAEtE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAE,IAAI,EAAG,IAAI,CAAE,IAAI,IAAI,CAAA;gBAE5C,KAAK,CAAC,GAAG,CAAE,IAAI,EAAG,GAAI,CAAE,CAAA;gBAExB,OAAO,GAAG,CAAA;YAEX,CAAC,CAAA;QAEF,CAAC;KAED;IApBY,WAAS,YAoBrB,CAAA;AAEF,CAAC,EAxBS,CAAC,KAAD,CAAC,QAwBV;;;;ACxBD,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IAEV,SAAgB,cAAc,CAAE,IAAa;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAE,KAAK,EAAG,EAAE,CAAE,CAAC,OAAO,CAAE,UAAU,EAAG,GAAG,CAAE,CAAA;IAC9D,CAAC;IAFe,gBAAc,iBAE7B,CAAA;AAEF,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;;;;ACND,IAAU,CAAC,CAoBV;AApBD,WAAU,CAAC;IAGV,SAAgB,eAAe,CAC9B,IAAiB,EAAE,GAAW;QAG9B,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAA;QAEjC,IAAI,CAAC;YACJ,eAAe,CAAC,IAAI,GAAG,KAAK,CAAA;YAC5B,MAAM,GAAG,GAAG,IAAI,EAAE,CAAA;YAClB,IAAI,GAAG,KAAK,SAAS;gBAAG,OAAO,GAAG,CAAA;YAClC,OAAO,GAAG,CAAA;QACX,CAAC;gBAAS,CAAC;YACV,eAAe,CAAC,IAAI,GAAG,IAAI,CAAA;QAC5B,CAAC;IAEF,CAAC;IAfe,iBAAe,kBAe9B,CAAA;AAEF,CAAC,EApBS,CAAC,KAAD,CAAC,QAoBV;;;;ACpBD,IAAU,CAAC,CAeV;AAfD,WAAU,CAAC;IAMV,SAAgB,eAAe;QAC9B,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;QAC7B,IAAI,IAAI,YAAY,cAAc,EAAG,CAAC;YACrC,IAAI,CAAC,KAAK,EAAE,CAAA;QACb,CAAC;aAAM,CAAC;YACP,SAAS,CAAE,IAAI,KAAK,CAAE,+BAA+B,CAAE,CAAE,CAAA;QAC1D,CAAC;IACF,CAAC;IAPe,iBAAe,kBAO9B,CAAA;AAEF,CAAC,EAfS,CAAC,KAAD,CAAC,QAeV;;;;ACfD,IAAU,CAAC,CAaV;AAbD,WAAU,CAAC;IAMV,SAAgB,UAAU,CAAW,KAAa;QACjD,MAAM,MAAM,GAAG,AAAD,CAAmC,GAAG,EAAE,CAAC,KAAK,CAAE,CAAA;QAC9D,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CACnB;QAAC,MAAc,CAAE,MAAM,CAAC,WAAW,CAAE,GAAG,KAAK,CAC7C;QAAC,MAAe,CAAE,oBAAoB,CAAE,GAAG,GAAE,EAAE,CAAC,oBAAoB,CAAE,EAAE,EAAG,OAAO,EAAE,oBAAoB,CAAE,KAAK,CAAE,CAAE,CAAA;QACpH,OAAO,MAAM,CAAA;IACd,CAAC;IANe,YAAU,aAMzB,CAAA;AACF,CAAC,EAbS,CAAC,KAAD,CAAC,QAaV;;;;ACbD,IAAU,CAAC,CAiBV;AAjBD,WAAU,CAAC;IAKV,SAAgB,eAAe;QAC9B,IAAI,OAAO,GAAG,cAAc,EAAsC,CAAA;QAClE,IAAI,OAAQ,CAAC,IAAI;YAAG,OAAO,GAAG,OAAQ,CAAC,IAAI,CAAA;QAC3C,IAAI,OAAQ,CAAC,IAAI,KAAK,OAAO,EAAG,CAAC;YAChC,OAAO,EAAE,MAAM,CAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAE,CAAA;QACxC,CAAC;QACD,OAAQ,CAAC,IAAI,GAAG,OAAO,CAAA;IACxB,CAAC;IAPe,iBAAe,kBAO9B,CAAA;IAED,MAAM,OAAO,GAAG,GAAE,EAAE,GAAE,CAAC,CAAA;IACvB,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAA;AAElC,CAAC,EAjBS,CAAC,KAAD,CAAC,QAiBV;;;;ACjBD,IAAU,CAAC,CAkCV;AAlCD,WAAU,CAAC;IAEV,SAAgB,0BAA0B,CACzC,EAAY,EACZ,KAAyD;QAGzD,KAAK,IAAI,IAAI,IAAI,KAAK,EAAG,CAAC;YAEzB,IAAI,GAAG,GAAG,KAAK,CAAE,IAAI,CAAS,CAAA;YAE9B,IAAI,GAAG,KAAK,SAAS,EAAG,CAAC;gBAExB,SAAQ;YAET,CAAC;YAAC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,EAAG,CAAC;gBAEtC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAE,IAAI,CAAE;oBAAG,SAAQ;gBAEvC,EAAE,CAAC,eAAe,CAAE,IAAI,CAAE,CAAA;YAE3B,CAAC;iBAAM,CAAC;gBAEP,MAAO,GAAG,GAAG,MAAM,CAAE,GAAG,CAAE,CAAA;gBAC1B,IAAI,EAAE,CAAC,YAAY,CAAE,IAAI,CAAE,KAAK,GAAG;oBAAG,SAAQ;gBAE9C,EAAE,CAAC,YAAY,CAAE,IAAI,EAAG,GAAG,CAAE,CAAA;YAE9B,CAAC;QAEF,CAAC;IAEF,CAAC;IA9Be,4BAA0B,6BA8BzC,CAAA;AAEF,CAAC,EAlCS,CAAC,KAAD,CAAC,QAkCV;;;;AClCD,IAAU,CAAC,CAYV;AAZD,WAAU,CAAC;IAEV,SAAgB,sBAAsB,CACrC,EAAY,EACZ,MAAuD,EACvD,OAAO,GAAG,KAAK;QAEf,KAAK,IAAI,IAAI,IAAI,MAAM,EAAG,CAAC;YAC1B,EAAE,CAAC,gBAAgB,CAAE,IAAI,EAAG,MAAM,CAAE,IAAI,CAAE,EAAG,EAAE,OAAO,EAAE,CAAE,CAAA;QAC3D,CAAC;IACF,CAAC;IARe,wBAAsB,yBAQrC,CAAA;AAEF,CAAC,EAZS,CAAC,KAAD,CAAC,QAYV;;;;ACZD,IAAU,CAAC,CAqBV;AArBD,WAAU,CAAC;IAEV,SAAgB,sBAAsB,CACrC,EAAY,EACZ,MAA6C;QAE7C,KAAK,IAAI,IAAI,IAAI,MAAM,EAAG,CAAC;YAC1B,IAAI,GAAG,GAAG,MAAM,CAAE,IAAI,CAAE,CAAA;YAExB,MAAM,KAAK,GAAK,EAAmB,CAAC,KAAY,CAAA;YAChD,MAAM,KAAK,GAAG,CAAE,IAAa,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAE,QAAQ,EAAG,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,CAAE,CAAA;YAEjG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAG,CAAC;gBAC9B,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAI,GAAI,IAAI,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACP,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACrC,CAAC;QAEF,CAAC;IACF,CAAC;IAjBe,wBAAsB,yBAiBrC,CAAA;AAEF,CAAC,EArBS,CAAC,KAAD,CAAC,QAqBV;;;;ACrBD,IAAU,CAAC,CAuDV;AAvDD,WAAU,CAAC;IAEV,SAAgB,wBAAwB,CACvC,EAA+B,EAC/B,UAAqD;QAErD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAA0B,UAAU,CAAE,CAAA;QAE9D,IAAI,QAAQ,GAAiB,EAAE,CAAC,UAAU,CAAA;QAC1C,KAAK,IAAI,IAAI,IAAI,UAAU,EAAG,CAAC;YAE9B,IAAI,IAAI,IAAI,IAAI;gBAAG,SAAQ;YAE3B,IAAI,IAAI,YAAY,gBAAgB,CAAC,IAAI,EAAG,CAAC;gBAE5C,OAAO,IAAI,EAAG,CAAC;oBACd,IAAI,CAAC,QAAQ,EAAG,CAAC;wBAChB,EAAE,CAAC,WAAW,CAAE,IAAI,CAAE,CAAA;wBACtB,MAAK;oBACN,CAAC;oBACD,IAAI,QAAQ,IAAI,IAAI,EAAG,CAAC;wBACvB,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAA;wBAC/B,MAAK;oBACN,CAAC;yBAAM,CAAC;wBACP,IAAI,QAAQ,CAAC,GAAG,CAAE,QAAQ,CAAE,EAAG,CAAC;4BAC/B,EAAE,CAAC,YAAY,CAAE,IAAI,EAAG,QAAQ,CAAE,CAAA;4BAClC,MAAK;wBACN,CAAC;6BAAM,CAAC;4BACP,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAA;4BAC/B,EAAE,CAAC,WAAW,CAAE,QAAQ,CAAE,CAAA;4BAC1B,QAAQ,GAAG,EAAE,CAAA;wBACd,CAAC;oBACF,CAAC;gBACF,CAAC;YAEF,CAAC;iBAAM,CAAC;gBACP,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,EAAG,CAAC;oBAChD,MAAM,GAAG,GAAG,MAAM,CAAE,IAAI,CAAE,CAAA;oBAC1B,IAAI,QAAQ,CAAC,SAAS,KAAK,GAAG;wBAAG,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAA;oBACzD,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAA;gBAChC,CAAC;qBAAM,CAAC;oBACP,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAE,MAAM,CAAE,IAAI,CAAE,CAAE,CAAA;oBAC3E,EAAE,CAAC,YAAY,CAAE,QAAQ,EAAG,QAAQ,CAAE,CAAA;gBACvC,CAAC;YACF,CAAC;QAEF,CAAC;QAED,OAAO,QAAQ,EAAG,CAAC;YAClB,MAAM,QAAQ,GAAG,QAAQ,CAAA;YACzB,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAA;YAC/B,EAAE,CAAC,WAAW,CAAE,QAAQ,CAAE,CAAA;QAC3B,CAAC;IACF,CAAC;IAnDe,0BAAwB,2BAmDvC,CAAA;AAEF,CAAC,EAvDS,CAAC,KAAD,CAAC,QAuDV;;;;ACvDD,IAAU,CAAC,CAgBV;AAhBD,WAAU,CAAC;IAEV,SAAgB,sBAAsB,CACrC,EAAY,EACZ,MAAmC;QAEnC,KAAK,IAAI,GAAG,IAAI,MAAM,EAAG,CAAC;YAEzB,MAAM,GAAG,GAAS,MAAM,CAAE,GAAG,CAAE,CAAA;YAE/B,IAAI,GAAG,KAAK,SAAS;gBAAG,SAAQ;YAE/B,EAAU,CAAE,GAAG,CAAE,GAAG,GAAG,CAAA;QACzB,CAAC;IACF,CAAC;IAZe,wBAAsB,yBAYrC,CAAA;AAEF,CAAC,EAhBS,CAAC,KAAD,CAAC,QAgBV;;;;AChBD,IAAU,CAAC,CAgDV;AAhDD,WAAU,CAAC;IAGV,SAAgB,eAAe,CAAyB,GAAS;QAEhE,IAAI,KAAuC,CAAA;QAC3C,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAE,GAAgC,CAAE,CAAA;QAEtE,OAAO,IAAI,KAAK,CAAE,GAAG,EAAE;YAEtB,GAAG,CAAE,GAAG,EAAE,KAAK;gBAEd,MAAM,GAAG,GAAI,GAAW,CAAE,KAAK,CAAE,CAAA;gBACjC,IAAI,OAAO,GAAG,KAAK,UAAU;oBAAG,OAAO,GAAG,CAAA;gBAE1C,IAAI,KAAuC,CAAA;gBAC3C,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAE,GAAG,CAAE,CAAA;gBAEzC,OAAO,SAAS,eAAe,CAAc,GAAI,IAAW;oBAC3D,KAAK,EAAE,UAAU,EAAE,CAAA;oBACnB,KAAK,GAAG,IAAI,CAAE,GAAG,EAAE,IAAI,CAAE,CAAA;oBACzB,OAAO,KAAK,CAAC,KAAK,EAAE,CAAA;gBACrB,CAAC,CAAA;YAEF,CAAC;YAED,KAAK,CAAE,GAAG,EAAE,IAAI,EAAE,IAAI;gBACrB,KAAK,EAAE,UAAU,EAAE,CAAA;gBACnB,KAAK,GAAG,IAAI,CAAE,IAAI,EAAE,IAAI,CAAE,CAAA;gBAC1B,OAAO,KAAK,CAAC,KAAK,EAAE,CAAA;YACrB,CAAC;SAED,CAAuD,CAAA;IAEzD,CAAC;IA/Be,iBAAe,kBA+B9B,CAAA;AAcF,CAAC,EAhDS,CAAC,KAAD,CAAC,QAgDV;;;;;;;;;;AChDD,IAAU,CAAC,CAqCV;AArCD,WAAU,CAAC;IAEV,IAAI,GAAG,GAAG,EAAc,CAAA;IACxB,IAAI,EAAE,GAA6B,IAAI,CAAA;IACvC,IAAI,KAAK,GAA4B,IAAI,CAAA;IAEzC,SAAgB,uBAAuB;QACtC,IAAI,GAAG,CAAC,MAAM,EAAG,CAAC;YACjB,EAAG,CAAC,SAAS,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;YAC1C,GAAG,GAAG,EAAE,CAAA;QACT,CAAC;QACD,KAAK,GAAG,IAAI,CAAA;QACZ,OAAO,EAAG,CAAA;IACX,CAAC;IAPe,yBAAuB,0BAOtC,CAAA;IAED,SAAgB,iBAAiB,CAChC,EAAW,EACX,IAAa;QAGb,GAAG,CAAC,IAAI,CAAE,MAAO,EAAG,UAAW,IAAK,EAAE,CAAC,CAAA;QAEvC,IAAI,KAAK;YAAG,OAAO,EAAG,CAAA;QAEtB,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACrC,IAAI,CAAC,GAAG;YAAG,OAAO,IAAI,CAAA;QAEtB,EAAE,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAC/B,EAAE,CAAC,EAAE,GAAG,mBAAmB,CAAA;QAC3B,GAAG,CAAC,IAAI,CAAC,WAAW,CAAE,EAAE,CAAE,CAAA;QAE1B,KAAK,GAAG,IAAI,eAAe,CAAE,uBAAuB,CAAE,CAAA;QAEtD,OAAO,EAAE,CAAA;IAEV,CAAC;IApBe,mBAAiB,oBAoBhC,CAAA;AAEF,CAAC,EArCS,CAAC,KAAD,CAAC,QAqCV;;;;ACrCD,IAAU,CAAC,CAkBV;AAlBD,WAAU,CAAC;IAEV,MAAa,UAAU;QAGZ;QADV,YACU,KAAa;YAAb,UAAK,GAAL,KAAK,CAAQ;QACpB,CAAC;QAEJ,MAAM,KAAK,OAAO,EAAE,CAAA,CAAC,CAAC;QACtB,OAAO,KAAK,OAAO,IAAI,CAAC,KAAK,CAAA,CAAC,CAAC;QAC/B,OAAO,KAAK,OAAO,EAAE,CAAA,CAAC,CAAC;QAEvB,QAAQ;YACP,OAAO,GAAI,IAAI,CAAC,MAAM,EAAG,GAAI,IAAI,CAAC,OAAO,EAAG,GAAI,IAAI,CAAC,OAAO,EAAG,EAAE,CAAA;QAClE,CAAC;KAED;IAdY,YAAU,aActB,CAAA;AAEF,CAAC,EAlBS,CAAC,KAAD,CAAC,QAkBV;;;;AClBD,IAAU,CAAC,CAmEV;AAnED,WAAU,CAAC;IAmBV,MAAa,eAEX,SAAQ,UAAoB;QAInB;QAFV,YACC,KAAc,EACL,OAAiB;YAE1B,KAAK,CAAE,KAAK,CAAE,CAAA;YAFL,YAAO,GAAP,OAAO,CAAU;QAG3B,CAAC;QAED,OAAO;YACN,OAAO,IAAI,CAAC,OAAO,CAAA;QACpB,CAAC;QAED,MAAM,CAAC,GAAG,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,GAAY,CAAA,CAAC,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAE,KAAc,IAAK,OAAO,GAAI,KAAM,IAAa,CAAA,CAAC,CAAC;QAC9D,MAAM,CAAC,EAAE,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,IAAa,CAAA,CAAC,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,IAAa,CAAA,CAAC,CAAC;QAC5D,MAAM,CAAC,CAAC,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,GAAY,CAAA,CAAC,CAAC;QAC1D,MAAM,CAAC,EAAE,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,IAAa,CAAA,CAAC,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,IAAa,CAAA,CAAC,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,IAAa,CAAA,CAAC,CAAC;QAC5D,MAAM,CAAC,GAAG,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,KAAc,CAAA,CAAC,CAAC;QAC9D,MAAM,CAAC,EAAE,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,IAAa,CAAA,CAAC,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,IAAa,CAAA,CAAC,CAAC;QAC5D,MAAM,CAAC,GAAG,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,KAAc,CAAA,CAAC,CAAC;QAC9D,MAAM,CAAC,EAAE,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,IAAa,CAAA,CAAC,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,IAAa,CAAA,CAAC,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,IAAa,CAAA,CAAC,CAAC;QAC5D,MAAM,CAAC,GAAG,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,KAAc,CAAA,CAAC,CAAC;QAC9D,MAAM,CAAC,EAAE,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,IAAa,CAAA,CAAC,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,IAAa,CAAA,CAAC,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,IAAa,CAAA,CAAC,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,IAAa,CAAA,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,MAAe,CAAA,CAAC,CAAC;QAChE,MAAM,CAAC,IAAI,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,MAAe,CAAA,CAAC,CAAC;QAEhE,MAAM,CAAC,GAAG,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,KAAc,CAAA,CAAC,CAAC;QAC9D,MAAM,CAAC,GAAG,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,KAAc,CAAA,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,MAAe,CAAA,CAAC,CAAC;QAChE,MAAM,CAAC,IAAI,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,MAAe,CAAA,CAAC,CAAC;QAEhE,MAAM,CAAC,CAAC,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,GAAY,CAAA,CAAC,CAAC;QAC1D,MAAM,CAAC,EAAE,CAAE,KAAc,IAAK,OAAO,GAAG,KAAK,IAAa,CAAA,CAAC,CAAC;KAE5D;IA9CY,iBAAe,kBA8C3B,CAAA;AAEF,CAAC,EAnES,CAAC,KAAD,CAAC,QAmEV;;;;ACnED,IAAU,CAAC,CA+LV;AA/LD,WAAU,CAAC;IAiCV,MAAM,EAAE,GAAG,EAAE,GAAG,eAAe,CAAA;IAM/B,MAAa,eAGX,SAAQ,UAAmB;QAGlB;QADV,YACU,IAAW,EACpB,KAAa;YAEb,KAAK,CAAE,KAAK,CAAE,CAAA;YAHL,SAAI,GAAJ,IAAI,CAAO;QAIrB,CAAC;QAED,MAAM,KAAK,OAAO,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA,CAAC,CAAC;QACnC,OAAO,KAAK,OAAO,GAAG,CAAA,CAAC,CAAC;QAExB,MAAM,CAAC,eAAe,CAAW,KAAa;YAC7C,OAAO,IAAI,eAAe,CAAE,iBAAiB,EAAG,KAAK,CAAE,CAAA;QACxD,CAAC;QAED,MAAM,CAAC,IAAI,CAAW,KAAa;YAClC,OAAO,IAAI,eAAe,CAAE,MAAM,EAAG,KAAK,CAAE,CAAA;QAC7C,CAAC;QAED,MAAM,CAAC,IAAI,CAA+C,IAAW,EAAE,YAAqB;YAC3F,OAAO,IAAI,eAAe,CAAE,KAAK,EAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAE,CAAA;QACjF,CAAC;QAED,MAAM,CAAC,GAAG,CAAyB,IAAW;YAC7C,OAAO,IAAI,eAAe,CAAE,KAAK,EAAG,IAAI,CAAC,SAAS,CAAE,IAAI,CAAE,CAAE,CAAA;QAC7D,CAAC;QAED,MAAM,CAAC,IAAI,CACV,GAAW,EACX,UAAkB,EAClB,SAAiB,EACjB,KAAa;YAEb,OAAO,IAAI,eAAe,CACzB,MAAM,EACN,CAAE,GAAG,EAAG,GAAG,CAAE,UAAU,CAAE,EAAG,GAAG,CAAE,SAAS,CAAE,EAAG,KAAK,CAAE,CACtD,CAAA;QACF,CAAC;QAED,MAAM,CAAC,KAAK,CACX,GAA+B,EAC/B,GAA+B,EAC/B,GAA+B;YAE/B,OAAO,IAAI,eAAe,CACzB,OAAO,EACP,CAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAE,CACjB,CAAA;QACF,CAAC;QAED,MAAM,CAAC,IAAI,CACV,GAAW,EACX,KAAa,EACb,IAAY,EACZ,KAAa;YAEb,OAAO,IAAI,eAAe,CACzB,MAAM,EACN,CAAE,GAAG,EAAG,KAAK,EAAG,IAAI,EAAG,KAAK,CAAE,CAC9B,CAAA;QACF,CAAC;QAED,MAAM,CAAC,KAAK,CACX,IAAY;YAEZ,OAAO,IAAI,eAAe,CAAE,OAAO,EAAE,CAAE,IAAI,CAAE,CAAE,CAAA;QAChD,CAAC;QAED,MAAM,CAAC,MAAM,CACZ,GAAG,WAAyE;YAE5E,OAAO,IAAI,eAAe,CACzB,QAAQ,EACR,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACrB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBACf,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACZ,GAAG;oBACH,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC3D,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CACZ,CACD,CAAC;QACH,CAAC;QAED,MAAM,CAAC,YAAY,CAClB,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU;YAEV,OAAO,IAAI,eAAe,CAAE,cAAc,EAAE,CAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAE,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,KAAa,EAAE,aAAuF;YAClH,OAAO,IAAI,eAAe,CAAE,OAAO,EAAE,CAAE,KAAK,EAAE,aAAa,CAAE,CAAE,CAAA;QAChE,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,KAAmD;YAC9D,OAAO,IAAI,eAAe,CAAE,MAAM,EAAE,KAAK,IAAI,EAAE,CAAE,CAAC;QACnD,CAAC;QAED,MAAM,CAAC,UAAU,CAAC,KAAyC;YAC1D,OAAO,IAAI,eAAe,CAAE,YAAY,EAAE,KAAK,IAAI,EAAE,CAAE,CAAC;QACzD,CAAC;QAED,MAAM,CAAC,QAAQ,CAAC,KAAyC;YACxD,OAAO,IAAI,eAAe,CAAE,UAAU,EAAE,KAAK,IAAI,EAAE,CAAE,CAAC;QACvD,CAAC;QAED,MAAM,CAAC,WAAW,CACjB,KAAkC,EAClC,QAAqD,EACrD,QAAqD,EACrD,WAAyD;YAEzD,OAAO,IAAI,eAAe,CACzB,aAAa,EACb,WAAW;gBACV,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC;gBAC1C,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAC9B,CAAC;QACH,CAAC;QAED,MAAM,CAAC,SAAS,CAAC,KAAyC;YACzD,OAAO,IAAI,eAAe,CAAE,WAAW,EAAE,KAAK,IAAI,EAAE,CAAE,CAAC;QACxD,CAAC;QAED,MAAM,CAAC,UAAU,CAAC,KAAsD;YACvE,OAAO,IAAI,eAAe,CAAE,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,CAAA;QACvD,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,KAAyC;YACtD,OAAO,IAAI,eAAe,CAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAE,CAAC;QACrD,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,KAAyC;YACvD,OAAO,IAAI,eAAe,CAAE,SAAS,EAAE,KAAK,IAAI,EAAE,CAAE,CAAC;QACtD,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,KAAyC;YACrD,OAAO,IAAI,eAAe,CAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAE,CAAC;QACpD,CAAC;QAED,MAAM,CAAC,QAAQ,CAAC,KAAyC;YACxD,OAAO,IAAI,eAAe,CAAE,UAAU,EAAE,KAAK,IAAI,EAAE,CAAE,CAAC;QACvD,CAAC;KAED;IAtJY,iBAAe,kBAsJ3B,CAAA;AAEF,CAAC,EA/LS,CAAC,KAAD,CAAC,QA+LV;;;;;;;;;;AC/LD,IAAU,CAAC,CAyBV;AAzBD,WAAU,CAAC;IASV,SAAgB,eAAe,CAC9B,MAAe,EACf,SAA2B;QAG3B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAE,CAAE,UAAU,EAAG,OAAO,EAAE,EAAE;YAE1D,UAAU,CAAE,OAAO,CAAE,GAAG,eAAe,CAAC,IAAI,CAAE,KAAM,MAAO,IAAK,OAAQ,EAAE,CAAE,CAAA;YAC5E,OAAO,UAAU,CAAA;QAElB,CAAC,EAAE,EAA4B,CAAE,CAAA;QAEjC,OAAO,MAAM,CAAA;IAEd,CAAC;IAde,iBAAe,kBAc9B,CAAA;AAEF,CAAC,EAzBS,CAAC,KAAD,CAAC,QAyBV;;;;ACzBD,IAAU,CAAC,CAwBV;AAxBD,WAAU,CAAC;IAMG,YAAU,GAAG,eAAe,CACxC,WAAW,EACX;QACC,MAAM;QACN,OAAO;QACP,MAAM;QACN,SAAS;QACT,SAAS;QACT,MAAM;QACN,SAAS;QACT,OAAO;QACP,MAAM;QACN,OAAO;QACP,OAAO;QACP,OAAO;KACP,CACD,CAAA;AAEF,CAAC,EAxBS,CAAC,KAAD,CAAC,QAwBV;;;;ACxBD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,qBAAqB,EACrD,wyNAAwyN,CACxyN,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAiBV;AAjBD,WAAU,CAAC;IAMC,UAAQ,GAAG,eAAe,CACpC,SAAS,EACT;QACC,OAAO;QACP,MAAM;QACN,OAAO;QACP,OAAO;QACP,MAAM;KACN,CACD,CAAA;AAEF,CAAC,EAjBS,CAAC,KAAD,CAAC,QAiBV;;;;ACjBD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,iBAAiB,EACjD,6JAA6J,CAC7J,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAwgBV;AAxgBD,WAAU,CAAC;IAIV,SAAgB,uBAAuB;QACtC,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;IAChC,CAAC;IAFe,yBAAuB,0BAEtC,CAAA;IAED,SAAgB,wBAAwB;QACvC,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,CAAA;IACjC,CAAC;IAFe,0BAAwB,2BAEvC,CAAA;IAED,SAAgB,mBAAmB,CAAE,MAAe;QACnD,OAAO,MAAM,CAAA;IACd,CAAC;IAFe,qBAAmB,sBAElC,CAAA;IAED,MAAM,YAAY,GAAG,IAAI,OAAO,EAAsB,CAAA;IAOtD,MAAa,SAAU,SAAQ,WAAW;QAGlC,AAAP,MAAM,CAAC,IAAI,CAAiD,EAAU;YACrE,OAAO,IAAI,IAA4B,CAAA;QACxC,CAAC;QAGD,OAAO;YACN,IAAI,CAAC;gBACJ,IAAI,CAAC,QAAQ,EAAE,CAAA;gBACf,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAG,CAAC;gBACjB,aAAa,CAAE,KAAK,CAAE,CAAA;YACvB,CAAC;QACF,CAAC;QAGM,AAAP,MAAM,CAAC,QAAQ;YAEd,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,yCAAyC,CAAE,CAAA;YAErG,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAG,CAAC,IAAI,CAAC,EAAG,EAAE,CAAC,EAAG,CAAC;gBAE/C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAE,CAAC,CAAE,CAAC,YAAY,CAAE,eAAe,CAAG,CAAA;gBAE7D,MAAM,IAAI,GAAI,CAAS,CAAE,IAAI,CAAsB,CAAA;gBACnD,IAAI,CAAC,IAAI,EAAG,CAAC;oBACZ,OAAO,CAAC,KAAK,CAAE,yCAA0C,IAAK,EAAE,CAAE,CAAA;oBAClE,SAAQ;gBACT,CAAC;gBAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAE,CAAC,CAAE,CAAA;gBAC3B,IAAI,CAAC,QAAQ,CAAE,KAAK,CAAC,IAAI,CAAE,CAAC,CAAE,CAAE,CAAA;gBAChC,IAAI,CAAC,OAAO,EAAE,CAAA;YAEf,CAAC;QAEF,CAAC;QAGD,KAAK;YACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAE,WAAW,CAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAA;QACpE,CAAC;QAGD,OAAO,CAAE,IAAc;YACtB,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;YAC1B,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,CAAC,CAAE,IAAI,CAAE,CAAC,CAAC,CAAC,EAAE,CAAE,CAAE,CAAA;YACtG,OAAO,KAAK,CAAC,OAAO,CAAE,IAAI,CAAE,KAAK,CAAC,CAAC,CAAA;QACpC,CAAC;QAED,SAAS,CAAE,MAAM,GAAG,EAAE;YACrB,OAAO,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAE,MAAM,CAAE,CAAA;QAC5C,CAAC;QAID,QAAQ;YACP,OAAO,cAAc,CAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAE,IAAI,KAAK,CAAA;QAC9D,CAAC;QAGD,cAAc,KAAK,OAAO,8BAA8B,CAAA,CAAC,CAAC;QAG1D,GAAG;YACF,OAAO,EAAuD,CAAA;QAC/D,CAAC;QAID,WAAW;YACV,OAAO,IAAI,CAAC,GAAG,EAAE,CAAA;QAClB,CAAC;QAID,aAAa;YAEZ,IAAI,GAAG,GAAG,CAAC,CAAA;YACX,IAAI,CAAC;gBAEJ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBACtB,IAAI,CAAC,GAAG;oBAAG,OAAO,CAAC,CAAA;gBAEnB,GAAG,CAAC,OAAO,CAAE,IAAI,CAAC,EAAE;oBACnB,IAAI,IAAI,YAAY,SAAS,EAAG,CAAC;wBAChC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAE,GAAG,EAAG,IAAI,CAAC,aAAa,EAAE,CAAE,CAAA;oBAC7C,CAAC;gBACF,CAAC,CAAE,CAAA;YAEJ,CAAC;YAAC,OAAO,KAAU,EAAG,CAAC;gBACtB,aAAa,CAAE,KAAK,CAAE,CAAA;gBACtB,OAAO,EAAE,CAAA;YACV,CAAC;YAED,OAAO,GAAG,CAAA;QACX,CAAC;QAED,aAAa;YACZ,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;QAC5B,CAAC;QAID,cAAc;YAEb,IAAI,GAAG,GAAG,CAAC,CAAA;YACX,IAAI,CAAC;gBAEJ,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAG,CAAC;oBAEtC,IAAI,IAAI,YAAY,SAAS,EAAG,CAAC;wBAChC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAE,GAAG,EAAG,IAAI,CAAC,cAAc,EAAE,CAAE,CAAA;oBAC9C,CAAC;gBAEF,CAAC;YAEF,CAAC;YAAC,OAAO,KAAU,EAAG,CAAC;gBACtB,aAAa,CAAE,KAAK,CAAE,CAAA;gBACtB,OAAO,EAAE,CAAA;YACV,CAAC;YAED,OAAO,GAAG,CAAA;QACX,CAAC;QAED,MAAM,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAe,CAAA;QAGxC,SAAS;YACR,IAAI,eAAe,CAAE,GAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAE,KAAK,SAAS,EAAG,CAAC;gBAC7D,eAAe,EAAE,CAAA;gBACjB,OAAO,IAAI,CAAA;YACZ,CAAC;iBAAM,CAAC;gBACP,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,qBAAqB,EAAE,CAAA;gBAC3F,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAA;YACnD,CAAC;QACF,CAAC;QAGD,MAAM;YACL,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAE,IAAI,EAAE,GAAG,CAAE,CAAC,OAAO,CAAE,IAAI,EAAE,GAAG,CAAE,CAAA;QACjE,CAAC;QAED,iBAAiB,CAAE,IAAc;YAChC,MAAM,IAAI,GAAG,IAAI,IAAI,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAE,IAAI,CAAC,cAAc,EAAE,EAAG,IAAI,CAAC,QAAQ,EAAE,CAAE,CAAA;YAEzG,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;YACxB,IAAI,CAAC,YAAY,CAAE,IAAI,EAAG,EAAE,CAAE,CAAA;YAC9B,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAE,IAAI,GAAG,EAAE,GAAG,GAAG,CAAE,CAAA;YAE7C,OAAO,IAAI,CAAA;QACZ,CAAC;QAGD,QAAQ,CAAE,IAAe;YACxB,eAAe,EAAE,CAAA;YACjB,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAE,IAAI,CAAE,CAAA;YAC3C,0BAA0B,CAAE,IAAI,EAAG,IAAI,CAAC,WAAW,EAAE,CAAE,CAAA;YAEvD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;YACjC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAEpC,OAAO,IAAI,CAAA;QACZ,CAAC;QAGD,SAAS;YAER,IAAI,CAAC,MAAM,EAAE,CAAA;YAEb,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;YAC9B,IAAI,CAAC,GAAG;gBAAG,OAAM;YAEjB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAG,CAAC;gBACvB,IAAI,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,WAAW,IAAI,EAAE,EAAG,CAAC;oBACxD,EAAE,CAAC,WAAW,CAAC,EAAE,CAAA;gBAClB,CAAC;YACF,CAAC;YAED,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA;QAEvB,CAAC;QAGD,QAAQ,CAAE,IAAe;YACxB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAE,IAAI,CAAE,CAAA;YAElC,MAAM,EAAE,IAAI,CAAC;gBAEZ,0BAA0B,CAAE,IAAI,EAAG,EAAE,cAAc,EAAG,IAAI,EAAE,CAAE,CAAA;gBAE9D,IAAI,CAAC;oBAEJ,IAAI,CAAC,MAAM,EAAE,CAAA;gBAEd,CAAC;wBAAS,CAAC;oBAEV,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,EAAG,CAAC;wBACpC,IAAI,MAAM,YAAY,WAAW,EAAG,CAAC;4BACpC,MAAM,CAAC,QAAQ,EAAE,CAAA;wBAClB,CAAC;oBACF,CAAC;gBAEF,CAAC;YAEF,CAAC;YAAC,OAAO,KAAU,EAAG,CAAC;gBAEtB,aAAa,CAAE,KAAK,CAAE,CAAA;gBACtB,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,CAAA;gBAClG,0BAA0B,CAAE,IAAI,EAAG,EAAE,cAAc,EAAE,CAAE,CAAA;gBAEvD,IAAI,iBAAiB,CAAE,KAAK,CAAE;oBAAG,MAAM,MAAM,CAAA;gBAC7C,IAAI,CAAE,YAAY,CAAC,GAAG,CAAE,KAAK,CAAE,IAAI,IAAI,CAAE,KAAK,IAAI;oBAAG,MAAM,MAAM,CAAA;gBAEjE,IAAI,CAAC;oBACJ,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CACrC;oBAAE,IAAqB,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAE,OAAO,EAAE,UAAU,CAAE,CAAA;gBAC5E,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;gBAEV,YAAY,CAAC,GAAG,CAAE,KAAK,EAAE,IAAI,CAAE,CAAA;YAEhC,CAAC;YAED,IAAI,CAAC;gBACJ,IAAI,CAAC,IAAI,EAAE,CAAA;YACZ,CAAC;YAAC,OAAO,KAAK,EAAG,CAAC;gBACjB,aAAa,CAAE,KAAK,CAAE,CAAA;YACvB,CAAC;YAED,OAAO,IAAI,CAAA;QACZ,CAAC;QAGD,eAAe;YACd,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;YAE5B,sBAAsB,CAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAE,CAAA;YAEjD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;YAE1B,0BAA0B,CAAE,IAAI,EAAG,IAAI,CAAE,CAAA;YACzC,sBAAsB,CAAE,IAAI,EAAG,KAAK,CAAE,CAAA;YAEtC,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,IAAI;YACH,OAAO,IAAW,CAAA;QACnB,CAAC;QAGD,MAAM;YAEL,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;YAEnC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;YAC9B,IAAI,CAAC,GAAG;gBAAG,OAAM;YAEjB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAE,KAAK,CAAC,EAAE;gBAC9B,IAAI,KAAK,IAAI,IAAI;oBAAG,OAAO,IAAI,CAAA;gBAC/B,OAAO,CAAE,KAAK,YAAY,SAAS,CAAE;oBACpC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;oBAClB,CAAC,CAAC,KAAK,YAAY,gBAAgB,CAAC,IAAI;wBACxC,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,MAAM,CAAE,KAAK,CAAE,CAAA;YACnB,CAAC,CAAC,CAAA;YAEF,wBAAwB,CAAE,IAAI,EAAG,KAAK,CAAE,CAAA;YAExC,KAAK,MAAM,EAAE,IAAI,GAAG;gBAAG,IAAI,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,UAAU,IAAI,EAAE;oBAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAA;YAE9F,sBAAsB,CAAE,IAAI,EAAG,IAAI,CAAC,KAAK,EAAE,CAAE,CAAA;QAE9C,CAAC;QAGM,AAAP,MAAM,CAAC,YAAY;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAA;YAE5B,IAAI,OAAO,GAAG,KAAK,CAAA;YACnB,MAAM,OAAO,GAAG,EAA4B,CAAA;YAE5C,OAAO,OAAO,EAAG,CAAC;gBACjB,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAG,CAAC;oBACxD,OAAO,CAAC,IAAI,CAAE,OAAO,CAAC,WAA+B,CAAE,CAAA;gBACxD,CAAC;gBACD,IAAG,CAAC,CAAE,OAAO,YAAY,SAAS,CAAE;oBAAE,MAAK;gBAC3C,OAAO,GAAG,MAAM,CAAC,cAAc,CAAE,OAAO,CAAE,CAAA;YAC3C,CAAC;YAED,OAAO,OAAO,CAAA;QACf,CAAC;QAED,MAAM,CAAC,WAAW,CAA0B;QAC5C,MAAM,CAAC,UAAU,CAAE,MAAc;YAEhC,IAAI,KAAK,GAAG,OAAO,CAAC,wBAAwB,CAAE,IAAI,EAAE,aAAa,CAAE,EAAE,KAAK,CAAA;YAC1E,IAAI,CAAC,KAAK;gBAAG,KAAK,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,CAAA;YAE/C,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAE,MAAM,CAAE,CAAA;YAClC,IAAI,MAAM;gBAAG,OAAO,MAAM,CAAA;YAE1B,MAAM,KAAK,GAAG,EAAc,CAAA;YAC5B,MAAM,OAAO,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YAEnE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,EAAG,CAAC;gBAC1C,IAAI,MAAM,IAAI,KAAK,CAAC,SAAS;oBAAG,KAAK,CAAC,IAAI,CAAE,IAAI,CAAC,CAAC,CAAC,cAAc,CAAE,KAAK,CAAE,GAAG,OAAO,CAAE,CAAA;;oBACjF,MAAK;YACX,CAAC;YAED,KAAK,CAAC,GAAG,CAAE,MAAM,EAAE,KAAK,CAAE,CAAA;YAC1B,OAAO,KAAK,CAAA;QACb,CAAC;QAGD,gBAAgB;YACf,MAAM,KAAK,GAAG,EAAc,CAAA;YAC5B,IAAI,KAAK,GAAG,eAAe,CAAE,IAAI,CAAwC,CAAA;YAEzE,IAAG,CAAC,CAAE,KAAK,EAAE,IAAI,YAAY,SAAS,CAAE;gBAAE,OAAO,KAAK,CAAA;YAEtD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YACrC,MAAM,OAAO,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YAEnE,KAAK,CAAC,IAAI,CAAE,GAAM,KAAK,CAAC,IAAI,CAAC,WAAiC,CAAC,UAAU,CAAE,MAAM,CAAE,CAAE,CAAA;YAErF,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAG,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAE,MAAM,GAAG,OAAO,CAAE,CAAA;YAC/B,CAAC;YAED,OAAO,KAAK,CAAA;QACb,CAAC;QAGD,UAAU;YACT,MAAM,KAAK,GAAG,IAAI,GAAG,EAAY,CAAA;YAEjC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBAAG,KAAK,CAAC,GAAG,CAAE,IAAI,CAAE,CAAA;YAE5D,KAAK,IAAI,KAAK,IAAM,IAAI,CAAC,WAAiC,CAAC,YAAY,EAAE,EAAG,CAAC;gBAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,cAAc,CAAE,KAAK,CAAE,CAAA;gBAC3C,IAAI,IAAI;oBAAG,KAAK,CAAC,GAAG,CAAE,IAAI,CAAE,CAAA;YAC7B,CAAC;YAED,OAAO,KAAK,CAAA;QACb,CAAC;QAGD,KAAK,CAAE,OAAO,IAAqB;YAClC,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,WAAW;YACV,IAAI,KAAK,GAAS,EAAE,CAAA;YAEpB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;gBAAG,KAAK,CAAE,IAAI,CAAC,OAAO,CAAE,KAAK,EAAG,EAAE,CAAE,CAAC,OAAO,CAAE,SAAS,EAAG,GAAG,CAAE,CAAC,WAAW,EAAE,CAAE,GAAG,EAAE,CAAA;YAEtH,OAAO,KAAK,CAAA;QACb,CAAC;QAED,IAAI;YACH,OAAO;gBACN,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,SAAS;aAC9B,CAAA;QACR,CAAC;QAED,UAAU;YACT,OAAO;gBACN,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE;gBAChC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE;aAG9B,CAAA;QACF,CAAC;QAED,KAAK;YACJ,OAAO,EAAE,CAAA;QACV,CAAC;QAED,KAAK;YACJ,OAAO,EAAE,CAAA;QACV,CAAC;QAED,KAAK;YACJ,OAAO,EAAE,CAAA;QACV,CAAC;QAGD,WAAW;YACV,OAAO,EAAE,GAAI,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAA;QAC7C,CAAC;QAED,OAAO;YACN,OAAO,EAA0B,CAAA;QAClC,CAAC;QAED,CAAE,oBAAoB,CAAE;YACvB,OAAO,oBAAoB,CAAE,EAAE,EAC9B,sBAAsB,CAAE,IAAI,CAAE,CAG9B,CAAA;QACF,CAAC;QAGD,CAAC,SAAS,CACT,KAAoD,EACpD,OAAO,EAAiB;YAGxB,IAAI,KAAK,CAAE,IAAI,CAAE;gBAAG,OAAO,MAAM,CAAE,GAAI,IAAI,EAAE,IAAI,CAAE,CAAA;YAEnD,IAAI,CAAC;gBACJ,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,EAAG,CAAC;oBAChC,IAAI,IAAI,YAAY,SAAS,EAAG,CAAC;wBAChC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAE,KAAK,EAAE,CAAE,GAAI,IAAI,EAAE,IAAI,CAAE,CAAE,CAAA;oBACnD,CAAC;gBACF,CAAC;YACF,CAAC;YAAC,OAAO,KAAc,EAAG,CAAC;gBAC1B,IAAI,iBAAiB,CAAE,KAAK,CAAE;oBAAG,gBAAgB,CAAE,KAAK,CAAE,CAAA;gBAC1D,aAAa,CAAE,KAAK,CAAE,CAAA;YACvB,CAAC;QAEF,CAAC;QAGD,YAAY,CACX,IAAuB;YAGvB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAEvB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,EAAE;gBACpC,IAAI,IAAI,YAAY,SAAS,EAAG,CAAC;oBAChC,OAAO,IAAI,CAAC,GAAG,CAAE,IAAI,CAAE,CAAA;gBACxB,CAAC;qBAAM,CAAC;oBACP,OAAO,KAAK,CAAA;gBACb,CAAC;YACF,CAAC,CAAC,CAAA;YAEF,IAAI,KAAK,IAAI,CAAC,EAAG,CAAC;gBACf,IAAI,CAAE,KAAK,CAAiB,CAAC,YAAY,CAAE,IAAI,CAAE,CAAA;YACpD,CAAC;QAEF,CAAC;QAGD,cAAc,CAAE,IAAe,EAAE,QAA+B,OAAO;YAEtE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;YAC3D,IAAI,CAAC,YAAY,CAAE,IAAI,GAAG,CAAE,IAAI,CAAE,CAAE,CAAA;YAEpC,IAAI,CAAC;gBACJ,IAAI,CAAC,SAAS,EAAE,CAAA;YACjB,CAAC;YAAC,OAAM,GAAG,EAAE,CAAC;gBACb,aAAa,CAAC,GAAG,CAAC,CAAA;YACnB,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QAEjD,CAAC;QAED,KAAK;YAEJ,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAA;YACnC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBAAG,OAAM;YAEhE,IAAI,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAE,GAAE,EAAE;gBAEhC,IAAI,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;gBACrE,IAAI,CAAC,OAAO,CAAE,IAAI,CAAE,CAAA;YAErB,CAAC,CAAE,CAAA;QAEJ,CAAC;QAEQ,UAAU;YAClB,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;YACnD,IAAI,CAAE,IAAI;gBAAE,OAAM;YAElB,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;YACxD,IAAI,CAAE,MAAM;gBAAE,OAAM;YAEpB,KAAK,IAAI,UAAU,IAAI,MAAM,EAAG,CAAC;gBAChC,IAAI,CAAC,mBAAmB,CACvB,UAAU,EACV,MAAM,CAAE,UAAU,CAAE,CACpB,CAAA;YACF,CAAC;QACF,CAAC;;IApeD;QADE,QAAQ;4CAQT;IA0BD;QADE,QAAQ;0CAGT;IAGD;QADE,QAAQ;4CAKT;IAQD;QADE,SAAS,CAAC,MAAM;6CAGjB;IAkBD;QADE,QAAQ;kDAqBT;IAQD;QADE,QAAQ;mDAoBT;IAKD;QADE,QAAQ;8CAST;IAGD;QADE,SAAS,CAAC,MAAM;2CAGjB;IAaD;QADE,QAAQ;6CAUT;IAGD;QADE,QAAQ;8CAgBT;IAGD;QADE,QAAQ;6CA+CT;IAGD;QADE,QAAQ;oDAaT;IAOD;QADE,QAAQ;2CAuBT;IA0CD;QADE,SAAS,CAAC,MAAM;qDAiBjB;IAGD;QADE,SAAS,CAAC,MAAM;+CAYjB;IAGD;QADE,QAAQ;0CAGT;IAsCD;QADE,QAAQ;gDAGT;IAtYM;QADL,YAAY;+BAGb;IAaM;QADL,QAAQ;mCAqBT;IAiPM;QADL,SAAS,CAAC,MAAM;uCAgBjB;IAtSW,WAAS,YA6erB,CAAA;AAIF,CAAC,EAxgBS,CAAC,KAAD,CAAC,QAwgBV;;;;ACxgBD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,wBAAwB,EACxD,48DAA48D,CAC58D,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAcV;AAdD,WAAU,CAAC;IAEV,MAAa,WAAY,SAAQ,SAAS;QAEhC,iBAAiB,CAAE,IAAe;YAC1C,OAAO,IAAI,IAAI,eAAe,CAAqD,IAAI,CAAG,CAAC,IAAK,CAAC,QAAQ,EAAE,CAAA;QAC5G,CAAC;QAEQ,MAAM;YACd,IAAI,CAAC,eAAe,EAAE,CAAA;QACvB,CAAC;KAED;IAVY,aAAW,cAUvB,CAAA;AAEF,CAAC,EAdS,CAAC,KAAD,CAAC,QAcV;;;;ACdD,IAAU,CAAC,CA0EV;AA1ED,WAAU,CAAC;IACV,MAAa,WAAY,SAAQ,SAAS;QAQzC,UAAU,CAAC,IAAU;YACpB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,CAAC,CAAA;QACT,CAAC;QAQD,WAAW,CAAC,IAAU;YACrB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,CAAC,CAAA;QACT,CAAC;QASD,KAAK;YACJ,OAAO;gBACN,GAAG,KAAK,CAAC,KAAK,EAAE;gBAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;aACA,CAAA;QAC3B,CAAC;QASD,KAAK;YACJ,OAAO;gBACN,GAAG,KAAK,CAAC,KAAK,EAAE;gBAChB,MAAM,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;aACxB,CAAA;QAC3B,CAAC;QAOD,QAAQ;YACP,OAAO,CAAC,CAAC,CAAA;QACV,CAAC;QAQD,YAAY,CAAC,KAAW;YACvB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;KACD;IA/DA;QADE,QAAQ;iDAIT;IAQD;QADE,QAAQ;kDAIT;IA6CD;QADE,QAAQ;mDAIT;IAtEW,aAAW,cAuEvB,CAAA;AAEF,CAAC,EA1ES,CAAC,KAAD,CAAC,QA0EV;;;;AC1ED,IAAU,CAAC,CAqBV;AArBD,WAAU,CAAC;IAEV,MAAa,iBAAkB,SAAQ,WAAW;QAGzC;QACA;QACA;QACA;QAJR,YACQ,KAAW,EACX,MAAe,EACf,QAAgC,EAChC,UAA0C,EAAE,OAAO,EAAG,IAAI,EAAE;YAEnE,KAAK,EAAE,CAAA;YALA,UAAK,GAAL,KAAK,CAAM;YACX,WAAM,GAAN,MAAM,CAAS;YACf,aAAQ,GAAR,QAAQ,CAAwB;YAChC,YAAO,GAAP,OAAO,CAAqD;YAGnE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAE,IAAI,CAAC,MAAM,EAAG,IAAI,CAAC,QAAQ,EAAG,IAAI,CAAC,OAAO,CAAE,CAAA;QAC1E,CAAC;QAED,UAAU;YACT,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAE,IAAI,CAAC,MAAM,EAAG,IAAI,CAAC,QAAQ,EAAG,IAAI,CAAC,OAAO,CAAE,CAAA;YAC5E,KAAK,CAAC,UAAU,EAAE,CAAA;QACnB,CAAC;KAED;IAjBY,mBAAiB,oBAiB7B,CAAA;AAEF,CAAC,EArBS,CAAC,KAAD,CAAC,QAqBV;;;;ACrBD,IAAU,CAAC,CA2BV;AA3BD,WAAU,CAAC;IAEV,MAAa,UAAW,SAAQ,WAAW;QAGnC,AAAP,MAAM,CAAC,MAAM;YACZ,OAAO,IAAI,iBAAiB,CAAE,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAG,aAAa,EAAG,GAAE,EAAE;gBAC3E,IAAI,CAAC,MAAM,CAAE,IAAI,CAAE,CAAA;YACpB,CAAC,CAAE,CAAA;QACJ,CAAC;QAGM,AAAP,MAAM,CAAC,KAAK;YACX,OAAO,IAAI,iBAAiB,CAAE,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAG,YAAY,EAAG,GAAE,EAAE;gBAC1E,IAAI,CAAC,MAAM,CAAE,KAAK,CAAE,CAAA;YACrB,CAAC,CAAE,CAAA;QACJ,CAAC;QAGM,AAAP,MAAM,CAAC,MAAM,CAAE,IAAe;YAC7B,IAAI,CAAC,MAAM,EAAE,CAAA;YACb,IAAI,CAAC,KAAK,EAAE,CAAA;YACZ,OAAO,IAAI,IAAI,KAAK,CAAA;QACrB,CAAC;KAED;IApBO;QADL,QAAQ;kCAKT;IAGM;QADL,QAAQ;iCAKT;IAGM;QADL,QAAQ;kCAKT;IArBW,YAAU,aAuBtB,CAAA;AAEF,CAAC,EA3BS,CAAC,KAAD,CAAC,QA2BV;;;;;;;;;;;;;;;;AC3BD,IAAU,CAAC,CAqIV;AArID,WAAU,CAAC;IAEV,SAAgB,gBAAgB,CAI/B,SAA6B,EAC7B,OAAgB;QAGhB,IAAI,KAAK,GAAG,EAAc,CAAA;QAE1B,MAAM,KAAK,GAAG,cAAc,CAAE,YAAY,CAAC,EAAE,CAAC,CAAC,cAAc,CAAE,SAAS,CAAE,CAAE,CAAA;QAC5E,MAAM,KAAK,GAAG,CAAE,IAAa,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAE,QAAQ,EAAG,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,CAAE,CAAA;QAEjG,MAAM,UAAU,GAAG,CAAE,MAAe,EAAG,IAAe,EAAG,MAAuB,EAAE,EAAE;YAEnF,MAAM,KAAK,GAAG,EAAc,CAAA;YAE5B,MAAM,QAAQ,GAAG,CAAE,MAAe,EAAG,IAAe,EAAE,EAAE;gBACvD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;oBAAG,OAAO,MAAM,IAAI,IAAK,KAAM,GAAG,CAAA;gBACvD,IAAI,GAAG,GAAG,IAAK,KAAM,IAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAE,GAAG,CAAA;gBAC5C,IAAI,MAAM;oBAAG,GAAG,GAAI,MAAM,GAAG,UAAU,GAAG,GAAG,GAAG,GAAG,CAAA;gBACnD,OAAO,GAAG,CAAA;YACX,CAAC,CAAA;YAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAE,MAAM,CAAE,CAAC,OAAO,EAAE,EAAG,CAAC;gBAEpD,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC;oBAE9B,MAAM,OAAO,GAAG,CAAE,IAAe,EAAG,GAAS,EAAG,EAAE;wBAEjD,IAAI,KAAK,CAAC,OAAO,CAAE,GAAG,CAAE,EAAG,CAAC;4BAE3B,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAE,KAAK,EAAG,MAAM,CAAE,CAAC,QAAQ,CAAE,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAE,EAAG,CAAC;gCAClE,GAAG,GAAG,GAAG,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE;oCAClB,OAAO,MAAM,CAAC,OAAO,CAAE,CAAC,CAAE,CAAC,GAAG,CAAE,CAAC,CAAE,CAAC,EAAG,CAAC,CAAE,EAAC,EAAE;wCAC5C,IAAI,CAAC,KAAK,IAAI;4CAAG,OAAO,KAAK,CAAE,CAAC,CAAE,CAAA;wCAClC,IAAI,CAAC,KAAK,KAAK;4CAAG,OAAO,IAAI,CAAA;wCAC7B,OAAO,MAAM,CAAE,CAAC,CAAE,CAAA;oCACnB,CAAC,CAAE,CAAC,MAAM,CAAE,OAAO,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gCAChC,CAAC,CAAC,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;4BACf,CAAC;iCAAM,CAAC;gCACP,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;4BACpB,CAAC;4BAED,KAAK,CAAC,IAAI,CAAC,KAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAE,KAAM,GAAI,KAAK,CAAC,CAAA;wBAEjD,CAAC;6BAAM,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,EAAG,CAAC;4BAExC,KAAK,IAAI,MAAM,IAAI,GAAG,EAAG,CAAC;gCACzB,OAAO,CAAE,CAAE,GAAI,IAAI,EAAI,KAAK,CAAE,MAAM,CAAE,CAAE,EAAG,GAAG,CAAE,MAAM,CAAE,CAAE,CAAA;4BAC3D,CAAC;wBAEF,CAAC;6BAAM,CAAC;4BAEP,KAAK,CAAC,IAAI,CAAC,KAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAE,KAAM,GAAI,KAAK,CAAC,CAAA;wBAEjD,CAAC;oBAEF,CAAC,CAAA;oBAED,OAAO,CAAE,CAAE,KAAK,CAAC,GAAG,CAAC,CAAE,EAAI,MAAc,CAAC,GAAG,CAAC,CAAE,CAAA;gBAEjD,CAAC;qBAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC;oBAEhC,UAAU,CAAE,MAAM,EAAG,CAAE,GAAI,IAAI,EAAG,GAAG,CAAC,WAAW,EAAE,CAAE,EAAI,MAAc,CAAC,GAAG,CAAC,CAAE,CAAA;gBAE/E,CAAC;qBAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAG,CAAC;oBAE5B,UAAU,CAAE,QAAQ,CAAE,MAAM,EAAG,IAAI,CAAE,GAAG,WAAW,GAAG,cAAc,CAAE,GAAG,CAAE,GAAG,IAAI,EAAG,EAAE,EAAI,MAAc,CAAC,GAAG,CAAC,CAAE,CAAA;gBAEjH,CAAC;qBAAM,IAAI,GAAG,KAAK,GAAG,EAAG,CAAC;oBAEzB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAQ,CAAA;oBAEhC,KAAK,IAAI,IAAI,IAAI,KAAK,EAAG,CAAC;wBACzB,UAAU,CAAE,QAAQ,CAAE,MAAM,EAAG,IAAI,CAAE,GAAG,aAAa,GAAG,cAAc,CAAE,IAAI,CAAE,GAAG,IAAI,EAAG,EAAE,EAAG,KAAK,CAAC,IAAI,CAAC,CAAE,CAAA;oBAC3G,CAAC;gBAEF,CAAC;qBAAM,IAAI,GAAG,KAAK,GAAG,EAAG,CAAC;oBAEzB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAQ,CAAA;oBAEhC,KAAK,IAAI,IAAI,IAAI,KAAK,EAAG,CAAC;wBACzB,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,EAAG,CAAC;4BAC9B,UAAU,CAAE,QAAQ,CAAE,MAAM,EAAG,IAAI,CAAE,GAAG,UAAU,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAE,GAAG,CAAE,GAAG,IAAI,EAAG,EAAE,EAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,CAAA;wBACzH,CAAC;oBACF,CAAC;gBAEF,CAAC;qBAAM,IAAI,GAAG,KAAK,QAAQ,EAAG,CAAC;oBAE9B,MAAM,KAAK,GAAI,MAAc,CAAC,GAAG,CAAQ,CAAA;oBAEzC,KAAK,IAAI,KAAK,IAAI,KAAK,EAAG,CAAC;wBAE1B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;wBAEjB,UAAU,CAAE,MAAM,EAAG,IAAI,EAAG,KAAK,CAAC,KAAK,CAAC,CAAE,CAAA;wBAE1C,KAAK,CAAC,IAAI,CAAE,GAAI,GAAI,IAAK,KAAM,MAAM,CAAE,CAAA;oBAExC,CAAC;gBAEF,CAAC;qBAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,GAAC,CAAC,CAAC,KAAK,GAAG,EAAG,CAAC;oBAEzD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAE,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;oBAC/B,MAAM,IAAI,GAAG,MAAM,CAAE,GAAU,CAAkC,CAAA;oBAEjE,KAAK,IAAI,GAAG,IAAI,IAAI,EAAG,CAAC;wBACvB,UAAU,CAAE,QAAQ,CAAE,MAAM,EAAG,IAAI,CAAE,GAAG,UAAU,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAE,GAAG,CAAE,GAAG,IAAI,EAAG,EAAE,EAAG,IAAI,CAAC,GAAG,CAAC,CAAE,CAAA;oBAClH,CAAC;gBAEF,CAAC;qBAAM,CAAC;oBAEP,UAAU,CAAE,QAAQ,CAAE,MAAM,EAAG,IAAI,CAAE,GAAG,GAAG,EAAG,EAAE,EAAI,MAAc,CAAC,GAAG,CAAC,CAAE,CAAA;gBAE1E,CAAC;YAEF,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,EAAG,CAAC;gBACnB,KAAK,CAAC,IAAI,CAAE,GAAI,QAAQ,CAAE,MAAM,EAAG,IAAI,CAAG,OAAQ,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAE,KAAK,CAAE,CAAA;YACnF,CAAC;QAEF,CAAC,CAAA;QAED,UAAU,CAAE,EAAE,EAAG,EAAE,EAAG,OAAO,CAAE,CAAA;QAE/B,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEhC,CAAC;IAjIe,kBAAgB,mBAiI/B,CAAA;AAEF,CAAC,EArIS,CAAC,KAAD,CAAC,QAqIV;;;;ACrID,IAAU,CAAC,CAsBV;AAtBD,WAAU,CAAC;IAOV,SAAgB,iBAAiB,CAIhC,SAA6B,EAC7B,MAAe;QAGf,OAAO,iBAAiB,CACvB,SAAS,CAAC,IAAI,EACd,gBAAgB,CAAE,SAAS,EAAG,MAAM,CAAE,CACtC,CAAA;IAEF,CAAC;IAbe,mBAAiB,oBAahC,CAAA;AAEF,CAAC,EAtBS,CAAC,KAAD,CAAC,QAsBV;;;;ACtBD,IAAU,CAAC,CA6CV;AA7CD,WAAU,CAAC;IAAC,IAAA,EAAE,CA6Cb;IA7CW,WAAA,EAAE;QAMb,MAAa,WAAY,SAAQ,CAAC,CAAC,WAAW;YAG7C,UAAU,CAAE,IAAc,EAAE,KAAe;gBAE1C,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;gBAC1B,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK;oBAAG,EAAE,CAAC,SAAS,GAAG,IAAI,CAAA;gBAEtD,OAAO,EAAE,CAAC,SAAS,CAAA;YACpB,CAAC;YAGD,WAAW,CAAE,IAAc,EAAE,KAAe;gBAE3C,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;gBAC1B,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK;oBAAG,EAAE,CAAC,UAAU,GAAG,IAAI,CAAA;gBAEvD,OAAO,EAAE,CAAC,UAAU,CAAA;YACrB,CAAC;YAED,YAAY,CAAE,IAAa;gBAE1B,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAiB,CAAA;gBAEzC,IAAI,CAAC,WAAW,CAAE,EAAE,CAAC,UAAU,EAAE,OAAO,CAAE,CAAA;gBAC1C,IAAI,CAAC,UAAU,CAAE,EAAE,CAAC,SAAS,EAAE,OAAO,CAAE,CAAA;YAEzC,CAAC;YAED,cAAc;gBACb,OAAO,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAC9C,CAAC;YAED,aAAa;gBACZ,OAAO,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAC9C,CAAC;SAED;QAlCA;YADE,QAAQ;qDAOT;QAGD;YADE,QAAQ;sDAOT;QAlBW,cAAW,cAqCvB,CAAA;IAEF,CAAC,EA7CW,EAAE,GAAF,IAAE,KAAF,IAAE,QA6Cb;AAAD,CAAC,EA7CS,CAAC,KAAD,CAAC,QA6CV;;;;AC7CD,IAAU,CAAC,CAuDV;AAvDD,WAAU,CAAC;IAAC,IAAA,EAAE,CAuDb;IAvDW,WAAA,EAAE;QAEb,MAAM,EAAE,GAAG,EAAG,GAAG,EAAG,EAAE,EAAE,GAAG,eAAe,CAAA;QAE1C,iBAAiB,CAAE,WAAW,EAAG;YAEhC,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE;gBACL,SAAS,EAAE,QAAQ;gBACnB,IAAI,EAAE,CAAC;gBACP,MAAM,EAAE,CAAC;aAET;YACD,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,YAAY;YACvB,UAAU,EAAE,iBAAiB;YAC7B,MAAM,EAAE;gBACP,OAAO,EAAE,CAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAE;aACxB;YACD,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC;YACnB,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC;YAClB,uBAAuB,EAAE,OAAO;YAChC,OAAO,EAAE,SAAS;YAElB,GAAG,EAAE;gBACJ,SAAS,EAAE;oBACV,SAAS,EAAE,eAAe;oBAC1B,QAAQ,EAAE,KAAK;iBACf;aACD;YAED,UAAU,EAAE;gBACX,OAAO,EAAE,MAAM;aACf;YACD,SAAS,EAAE;gBACV,OAAO,EAAE,MAAM;aACf;YAED,qBAAqB,EAAE;gBACtB,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC;gBACf,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC;aAChB;YAED,QAAQ,EAAG;gBACV,OAAO,EAAG;oBACT,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,MAAM;oBACf,SAAS,EAAE,OAAO;iBAClB;aACD;SAED,CAAC,CAAA;IAEH,CAAC,EAvDW,EAAE,GAAF,IAAE,KAAF,IAAE,QAuDb;AAAD,CAAC,EAvDS,CAAC,KAAD,CAAC,QAuDV;;;;ACvDD,IAAU,CAAC,CAmEV;AAnED,WAAU,CAAC;IACV,MAAa,UAAW,SAAQ,WAAW;QAO1C,UAAU;YACT,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,GAAG;YACF,OAAO,IAAI,CAAC,KAAK,EAAE,CAAA;QACpB,CAAC;QAOD,aAAa;YACZ,OAAO,CAAC,CAAA;QACT,CAAC;QAQD,WAAW;YACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,GAAG,CAAC,EAAO;YACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;YAEpB,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,KAAK;YACJ,OAAO,EACkB,CAAA;QAC1B,CAAC;KACD;IA7BA;QADE,QAAQ;iDAKT;IAQD;QADE,YAAY;yCAOb;IArDW,YAAU,aAgEtB,CAAA;AAEF,CAAC,EAnES,CAAC,KAAD,CAAC,QAmEV;;;;ACnED,IAAU,CAAC,CAEV;AAFD,WAAU,CAAC;IACC,iBAAe,GAAG,eAAe,CAAA;AAC7C,CAAC,EAFS,CAAC,KAAD,CAAC,QAEV;;;;ACFD,IAAU,CAAC,CA0DV;AA1DD,WAAU,CAAC;IAAC,IAAA,EAAE,CA0Db;IA1DW,WAAA,EAAE;QAMb,MAAa,UAAW,SAAQ,CAAC,CAAC,UAAU;YAE3C,KAAK;gBACJ,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE;oBAC/B,IAAI,CAAC;wBACJ,OAAO,IAAI,EAAE,KAAK,EAAE,CAAA;oBACrB,CAAC;oBAAC,OAAO,KAAK,EAAG,CAAC;wBACjB,aAAa,CAAE,KAAK,CAAE,CAAA;oBACvB,CAAC;gBACF,CAAC,CAAE,CAAC,OAAO,EAAE,CAAC,MAAM,CAAE,OAAO,CAAE,CAAC,IAAI,CAAE,KAAK,CAAE,CAAA;YAC9C,CAAC;YAED,UAAU;gBACT,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAA;YAChD,CAAC;YAGD,GAAG;gBAEF,MAAM,IAAI,GAAG,CAAG,GAAI,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAE,CAAA;gBAEtD,MAAM,IAAI,GAAG,eAAe,CAAE,GAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAE,IAAI,EAAE,CAAA;gBAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,EAAE,GAAK,CAAC;oBAEzB,MAAM,CAAC,GAAG,IAAI,CAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;oBACjC,MAAM,CAAC,GAAG,IAAI,CAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;oBAEjC,IAAI,CAAC,CAAC;wBAAG,MAAK;oBAEd,IAAI,CAAC,KAAK,CAAC;wBAAG,SAAQ;oBAEtB,CAAC,CAAC,KAAK,EAAE,CAAA;oBAET,MAAK;gBAEN,CAAC;gBAED,OAAO,IAA4B,CAAA;YACpC,CAAC;YAED,KAAK;gBAEJ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;gBAE1B,IAAI,KAAK,CAAC,MAAM;oBAAG,KAAK,CAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,KAAK,EAAE,CAAA;;oBAC/C,KAAK,CAAC,KAAK,EAAE,CAAA;YAEnB,CAAC;SAED;QAjCA;YADE,QAAQ;6CAuBT;QAvCW,aAAU,aAkDtB,CAAA;IAEF,CAAC,EA1DW,EAAE,GAAF,IAAE,KAAF,IAAE,QA0Db;AAAD,CAAC,EA1DS,CAAC,KAAD,CAAC,QA0DV;;;;AC1DD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,0BAA0B,EAC1D,6zDAA6zD,CAC7zD,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CA6DV;AA7DD,WAAU,CAAC;IACV,MAAa,UAAW,SAAQ,SAAS;QASxC,IAAI;YACH,OAAO;gBACN,GAAG,KAAK,CAAC,IAAI,EAAE;gBACf,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE;aACE,CAAA;QAC3B,CAAC;QASD,KAAK;YACJ,OAAO;gBACN,GAAG,KAAK,CAAC,KAAK,EAAE;gBAChB,SAAS,EAAE,KAAK;aACS,CAAA;QAC3B,CAAC;QAOD,GAAG;YACF,OAAO;gBACN,IAAI,CAAC,KAAK,EAAE;aACM,CAAA;QACpB,CAAC;QAOD,KAAK;YACJ,OAAO,mBAAmB,CAAA;QAC3B,CAAC;QAOD,KAAK;YACJ,OAAO,IAAW,CAAA;QACnB,CAAC;KACD;IA1DY,YAAU,aA0DtB,CAAA;AAEF,CAAC,EA7DS,CAAC,KAAD,CAAC,QA6DV;;;;AC7DD,IAAU,CAAC,CAiBV;AAjBD,WAAU,CAAC;IAMC,YAAU,GAAG,eAAe,CACtC,WAAW,EACX;QACC,OAAO;QACP,OAAO;QACP,OAAO;QACP,OAAO;QACP,OAAO;KACP,CACD,CAAA;AAEF,CAAC,EAjBS,CAAC,KAAD,CAAC,QAiBV;;;;ACjBD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,qBAAqB,EACrD,2IAA2I,CAC3I,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,0BAA0B,EAC1D,4ZAA4Z,CAC5Z,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAgLV;AAhLD,WAAU,CAAC;IACV,MAAa,WAAY,SAAQ,SAAS;QAOzC,OAAO;YACN,OAAO,IAAI,CAAA;QACZ,CAAC;QAQD,KAAK,CAAC,KAAW;YAChB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAQD,WAAW,CAAC,KAAW;YACtB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAWD,KAAK;YACJ,OAAO;gBACN,GAAG,KAAK,CAAC,KAAK,EAAE;gBAChB,KAAK,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;gBAClD,QAAQ,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7C,OAAO,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;aAC5B,CAAA;QAC3B,CAAC;QAYD,IAAI;YACH,OAAO;gBACN,GAAG,KAAK,CAAC,IAAI,EAAE;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;gBACzB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE;gBAC1B,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE;aACE,CAAA;QAC3B,CAAC;QAOD,GAAG;YACF,OAAO;gBACN,IAAI,CAAC,KAAK,EAAE;aACoB,CAAA;QAClC,CAAC;QAQD,KAAK;YACJ,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;YAEnC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;YAE9B,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,cAAc,CAAC,KAAW;YACzB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAQD,MAAM,CAAC,KAAW;YACjB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAQD,eAAe,CAAC,KAAW;YAC1B,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,QAAQ;YACP,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,SAAS;YACR,OAAO,CAAC,CAAA;QACT,CAAC;QAOD,IAAI;YACH,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,SAAS;YACR,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC;QAOD,KAAK;YACJ,OAAO,EAAE,CAAA;QACV,CAAC;KACD;IA5JA;QADE,QAAQ;4CAIT;IAQD;QADE,QAAQ;kDAIT;IAyDD;QADE,QAAQ;4CAOT;IAQD;QADE,QAAQ;qDAIT;IAQD;QADE,QAAQ;6CAIT;IAQD;QADE,QAAQ;sDAIT;IA/HW,aAAW,cA6KvB,CAAA;AAEF,CAAC,EAhLS,CAAC,KAAD,CAAC,QAgLV;;;;AChLD,IAAU,CAAC,CA2GV;AA3GD,WAAU,CAAC;IAKV,IAAY,kBAqGX;IArGD,WAAY,kBAAkB;QAC7B,qEAAa,CAAA;QACb,yDAAO,CAAA;QACP,8DAAU,CAAA;QACV,8DAAU,CAAA;QACV,4DAAS,CAAA;QACT,0DAAQ,CAAA;QACR,8DAAU,CAAA;QACV,oEAAa,CAAA;QACb,gEAAW,CAAA;QACX,8DAAU,CAAA;QACV,gEAAW,CAAA;QACX,oEAAa,CAAA;QACb,0DAAQ,CAAA;QACR,4DAAS,CAAA;QACT,4DAAS,CAAA;QACT,wDAAO,CAAA;QACP,8DAAU,CAAA;QACV,4DAAS,CAAA;QACT,gEAAW,CAAA;QACX,gEAAW,CAAA;QACX,4DAAS,CAAA;QACT,4DAAS,CAAA;QACT,4DAAS,CAAA;QACT,4DAAS,CAAA;QACT,4DAAS,CAAA;QACT,4DAAS,CAAA;QACT,4DAAS,CAAA;QACT,4DAAS,CAAA;QACT,4DAAS,CAAA;QACT,4DAAS,CAAA;QACT,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,sDAAM,CAAA;QACN,oEAAa,CAAA;QACb,sEAAc,CAAA;QACd,gEAAW,CAAA;QACX,kEAAY,CAAA;QACZ,kEAAY,CAAA;QACZ,kEAAY,CAAA;QACZ,kEAAY,CAAA;QACZ,mEAAa,CAAA;QACb,mEAAa,CAAA;QACb,mEAAa,CAAA;QACb,mEAAa,CAAA;QACb,mEAAa,CAAA;QACb,mEAAa,CAAA;QACb,qEAAc,CAAA;QACd,2DAAS,CAAA;QACT,qEAAc,CAAA;QACd,mEAAa,CAAA;QACb,iEAAY,CAAA;QACZ,yDAAQ,CAAA;QACR,yDAAQ,CAAA;QACR,yDAAQ,CAAA;QACR,yDAAQ,CAAA;QACR,yDAAQ,CAAA;QACR,yDAAQ,CAAA;QACR,yDAAQ,CAAA;QACR,yDAAQ,CAAA;QACR,yDAAQ,CAAA;QACR,2DAAS,CAAA;QACT,2DAAS,CAAA;QACT,2DAAS,CAAA;QACT,mEAAa,CAAA;QACb,yEAAgB,CAAA;QAChB,uEAAe,CAAA;QACf,iEAAY,CAAA;QACZ,+DAAW,CAAA;QACX,6DAAU,CAAA;QACV,iEAAY,CAAA;QACZ,6EAAkB,CAAA;QAClB,2EAAiB,CAAA;QACjB,2EAAiB,CAAA;QACjB,uEAAe,CAAA;QACf,+EAAmB,CAAA;QACnB,6EAAkB,CAAA;QAClB,2EAAiB,CAAA;IAClB,CAAC,EArGW,kBAAkB,GAAlB,oBAAkB,KAAlB,oBAAkB,QAqG7B;AACF,CAAC,EA3GS,CAAC,KAAD,CAAC,QA2GV;;;;AC3GD,IAAU,CAAC,CA2EV;AA3ED,WAAU,CAAC;IAAC,IAAA,EAAE,CA2Eb;IA3EW,WAAA,EAAE;QAMb,MAAa,WAAY,SAAQ,CAAC,CAAC,WAAW;YAG7C,MAAM,CAAE,OAAO,CAAE,IAAW,CAAE,IAAK,OAAO,IAAI,CAAA,CAAC,CAAC;YAEhD,QAAQ;gBACP,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;YACvB,CAAC;YAED,cAAc,CAAE,IAAY;gBAE3B,IAAI,CAAC,IAAI;oBAAG,OAAM;gBAClB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBAAG,OAAM;gBAE5B,IAAI,CAAC;oBAEJ,IAAI,CAAC,WAAW,CAAE,IAAI,CAAE,CAAA;oBACxB,IAAI,CAAC,KAAK,CAAE,IAAI,CAAE,CAAA;oBAClB,IAAI,CAAC,MAAM,CAAC,CAAE,IAAI,CAAE,CAAC,CAAA;gBAEtB,CAAC;gBAAC,OAAO,KAAU,EAAG,CAAC;oBAEtB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAE,GAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAE,KAAK,CAAE,CAAC,CAAE,CAAA;oBACrD,gBAAgB,CAAE,KAAK,CAAE,CAAA;gBAE1B,CAAC;YAEF,CAAC;YAED,eAAe,CAAG,KAAoB;gBACrC,IAAI,KAAK,CAAC,OAAO,KAAK,kBAAkB,CAAC,KAAK,EAAG,CAAC;oBACjD,OAAO,IAAI,CAAC,cAAc,CAAE,KAAK,CAAE,CAAA;gBACpC,CAAC;YACF,CAAC;YAED,SAAS;gBACR,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/C,CAAC;YAED,KAAK;gBAEJ,MAAM,CAAE,KAAK,CAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;gBAC/B,IAAI,CAAC,KAAK;oBAAG,OAAO,EAAE,CAAA;gBAEtB,IAAI,KAAK,YAAY,OAAO,EAAG,CAAC;oBAC/B,OAAO,gBAAgB,CAAE,KAAK,CAAE,CAAA;gBACjC,CAAC;gBAED,OAAO,MAAM,CAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAE,CAAA;YAExC,CAAC;YAED,SAAS;gBACR,IAAI,CAAC;oBACJ,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;gBACnB,CAAC;gBAAC,OAAO,KAAK,EAAG,CAAC;oBACjB,aAAa,CAAE,KAAK,CAAE,CAAA;oBACtB,OAAO,EAAE,CAAA;gBACV,CAAC;YACF,CAAC;YAED,WAAW;gBACV,OAAO;oBACN,GAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,EAAE,CAAE,CAAC,CAAC,CAAC,EAAE;oBACxC,GAAI,IAAI,CAAC,GAAG,EAAE;iBACd,CAAA;YACF,CAAC;SAED;QAjEA;YADE,QAAQ;iDACsC;QAHpC,cAAW,cAoEvB,CAAA;IACF,CAAC,EA3EW,EAAE,GAAF,IAAE,KAAF,IAAE,QA2Eb;AAAD,CAAC,EA3ES,CAAC,KAAD,CAAC,QA2EV;;;;AC3ED,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,4BAA4B,EAC5D,+dAA+d,CAC/d,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAsBV;AAtBD,WAAU,CAAC;IACV,MAAa,iBAAkB,SAAQ,WAAW;QAOjD,cAAc;YACb,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,aAAa;YACZ,OAAO,EAAE,CAAA;QACV,CAAC;KACD;IAnBY,mBAAiB,oBAmB7B,CAAA;AAEF,CAAC,EAtBS,CAAC,KAAD,CAAC,QAsBV;;;;ACtBD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,iCAAiC,EACjE,odAAod,CACpd,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAIV;AAJD,WAAU,CAAC;IACV,MAAa,iBAAkB,SAAQ,iBAAiB;KACvD;IADY,mBAAiB,oBAC7B,CAAA;AAEF,CAAC,EAJS,CAAC,KAAD,CAAC,QAIV;;;;ACJD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,iCAAiC,EACjE,sIAAsI,CACtI,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAkDV;AAlDD,WAAU,CAAC;IACV,MAAa,QAAS,SAAQ,SAAS;QAOtC,QAAQ;YACP,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,cAAc;YACb,OAAO,4BAA4B,CAAA;QACpC,CAAC;QAOD,SAAS;YACR,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,WAAW;YACV,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,UAAU;YACT,OAAO,EACmB,CAAA;QAC3B,CAAC;KACD;IA/CY,UAAQ,WA+CpB,CAAA;AAEF,CAAC,EAlDS,CAAC,KAAD,CAAC,QAkDV;;;;AClDD,IAAU,CAAC,CAwBV;AAxBD,WAAU,CAAC;IAGV,MAAa,eAAgB,SAAQ,WAAW;QAGxC,AAAP,MAAM,CAAC,IAAI,CAAE,SAAiB,EAAE,KAAY;YAE3C,IAAI,SAAS,EAAG,CAAC;gBAChB,OAAO,IAAI,kBAAkB,CAAE,SAAS,EAAE,GAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAE,SAAS,EAAE,IAAI,CAAE,CAAE,CAAA;YAC9E,CAAC;iBAAM,CAAC;gBACP,OAAO,IAAI,gBAAgB,CAAE,GAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAE,SAAS,EAAE,IAAI,CAAE,CAAE,CAAA;YACjE,CAAC;QAEF,CAAC;QAGM,AAAP,MAAM,CAAC,GAAG,CAAE,SAAiB;YAC5B,IAAI,CAAC,IAAI,CAAE,SAAS,CAAE,CAAA;YACtB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAA;QAClB,CAAC;KAED;IAhBO;QADL,YAAY;qCASb;IAGM;QADL,YAAY;oCAIb;IAjBW,iBAAe,kBAmB3B,CAAA;AAEF,CAAC,EAxBS,CAAC,KAAD,CAAC,QAwBV;;;;ACxBD,IAAU,CAAC,CAwBV;AAxBD,WAAU,CAAC;IAAC,IAAA,EAAE,CAwBb;IAxBW,WAAA,EAAE;QAEb,MAAa,QAAS,SAAQ,CAAC,CAAC,QAAQ;YAEvC,cAAc;gBACb,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAA;gBACnC,MAAM,KAAK,GAAG,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAwB,CAAA;gBAE1E,IAAG,CAAC,KAAK,CAAC,WAAW,CAAC;oBAAE,eAAe,CAAC,GAAG,CAAE,CAAC,CAAE,CAAA;gBAEhD,OAAO,KAAK,CAAA;YACb,CAAC;YAGD,SAAS;gBACR,OAAO,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAA;YAC1D,CAAC;YAGD,WAAW;gBACV,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,aAAa,CAAC,CAAA;YAC5C,CAAC;SAED;QAnBA;YADC,QAAQ;sDAQR;QAGD;YADC,QAAQ;iDAGR;QAGD;YADC,QAAQ;mDAGR;QAnBW,WAAQ,WAqBpB,CAAA;IACF,CAAC,EAxBW,EAAE,GAAF,IAAE,KAAF,IAAE,QAwBb;AAAD,CAAC,EAxBS,CAAC,KAAD,CAAC,QAwBV;;;;ACxBD,IAAU,CAAC,CA+CV;AA/CD,WAAU,CAAC;IACV,MAAa,aAAc,SAAQ,QAAQ;QAO1C,QAAQ;YACP,OAAO,KAAK,CAAA;QACb,CAAC;QAUD,IAAI;YACH,OAAO;gBACN,GAAG,KAAK,CAAC,IAAI,EAAE;gBACf,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE;gBACxB,mBAAmB,EAAE,IAAI,CAAC,MAAM,EAAE;aACT,CAAA;QAC3B,CAAC;QAOD,QAAQ;YACP,OAAO,aAAa,CAAA;QACrB,CAAC;QAOD,MAAM;YACL,OAAO,UAAU,CAAA;QAClB,CAAC;KACD;IA5CY,eAAa,gBA4CzB,CAAA;AAEF,CAAC,EA/CS,CAAC,KAAD,CAAC,QA+CV;;;;AC/CD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,4BAA4B,EAC5D,4CAA4C,CAC5C,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAoCV;AApCD,WAAU,CAAC;IACV,MAAa,aAAc,SAAQ,QAAQ;QAO1C,QAAQ;YACP,OAAO,MAAM,CAAA;QACd,CAAC;QASD,IAAI;YACH,OAAO;gBACN,GAAG,KAAK,CAAC,IAAI,EAAE;gBACf,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE;aACO,CAAA;QAC3B,CAAC;QAOD,QAAQ;YACP,OAAO,EAAE,CAAA;QACV,CAAC;KACD;IAjCY,eAAa,gBAiCzB,CAAA;AAEF,CAAC,EApCS,CAAC,KAAD,CAAC,QAoCV;;;;ACpCD,IAAU,CAAC,CAiEV;AAjED,WAAU,CAAC;IACV,MAAa,SAAU,SAAQ,aAAa;QAO3C,QAAQ;YACP,OAAO,WAAW,CAAA;QACnB,CAAC;QAOD,aAAa;YACZ,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,cAAc;YACb,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,GAAG;YACF,OAAO;gBACN,IAAI,CAAC,IAAI,EAAE;aACO,CAAA;QACpB,CAAC;QAOD,IAAI;YACH,OAAO,EAAE,CAAA;QACV,CAAC;QAQD,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;YAEtC,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YAEhC,OAAO,GAAG,CAAA;QACX,CAAC;KACD;IAPA;QADE,QAAQ;yCAOT;IA7DW,WAAS,YA8DrB,CAAA;AAEF,CAAC,EAjES,CAAC,KAAD,CAAC,QAiEV;;;;ACjED,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,wBAAwB,EACxD,8SAA8S,CAC9S,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAaV;AAbD,WAAU,CAAC;IACV,MAAa,gBAAiB,SAAQ,SAAS;QAO9C,IAAI;YACH,OAAO,gDAAgD,CAAA;QACxD,CAAC;KACD;IAVY,kBAAgB,mBAU5B,CAAA;AAEF,CAAC,EAbS,CAAC,KAAD,CAAC,QAaV;;;;ACbD,IAAU,CAAC,CA+JV;AA/JD,WAAU,CAAC;IACV,MAAa,gBAAiB,SAAQ,iBAAiB;QAStD,GAAG;YACF,OAAO;gBACN,IAAI,CAAC,IAAI,EAAE;gBACX,IAAI,CAAC,MAAM,EAAE;aACK,CAAA;QACpB,CAAC;QAQD,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAA;YAEzC,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,KAAK,CAAC,IAAU;YACf,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,EACY,CAAA;QACpB,CAAC;QAOD,MAAM;YACL,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,QAAQ;YACP,OAAO,IAAI,CAAA;QACZ,CAAC;QAWD,MAAM;YACL,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAA;YAEhD,GAAG,CAAC,KAAK,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC5C,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;YAChC,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;YAEpC,OAAO,GAAG,CAAA;QACX,CAAC;KACD;IAtDA;QADE,QAAQ;gDAKT;IAQD;QADE,QAAQ;iDAKT;IA6BD;QADE,QAAQ;kDAST;IA3EW,kBAAgB,mBA4E5B,CAAA;IAED,MAAa,uBAAwB,SAAQ,SAAS;QAOrD,QAAQ;YACP,OAAO,OAAO,CAAA;QACf,CAAC;QAQD,KAAK,CAAC,IAAU;YACf,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,EACY,CAAA;QACpB,CAAC;QAUD,IAAI;YACH,OAAO;gBACN,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;aACA,CAAA;QAC3B,CAAC;QAOD,KAAK;YACJ,OAAO;gBACN,MAAM,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;aAChB,CAAA;QAC3B,CAAC;QAOD,MAAM;YACL,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,QAAQ;YACP,OAAO,IAAI,CAAA;QACZ,CAAC;QAQD,MAAM,CAAC,IAAU;YAChB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,IAAW,CAAA;QACnB,CAAC;KACD;IA7DA;QADE,QAAQ;wDAKT;IAqDD;QADE,QAAQ;yDAIT;IA7EW,yBAAuB,0BA8EnC,CAAA;AAEF,CAAC,EA/JS,CAAC,KAAD,CAAC,QA+JV;;;;AC/JD,IAAU,CAAC,CAsBV;AAtBD,WAAU,CAAC;IAAC,IAAA,EAAE,CAsBb;IAtBW,WAAA,EAAE;QAMb,MAAa,uBAAwB,SAAQ,CAAC,CAAC,uBAAuB;YAErE,QAAQ;gBACP,OAAO,KAAK,CAAC,QAAQ,EAAsB,CAAA;YAC5C,CAAC;YAED,MAAM;gBAEL,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAA;gBACnC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM;oBAAG,OAAM;gBAEpC,IAAI,CAAC,KAAK,CAAC,CAAE,GAAI,KAAK,CAAE,CAAC,CAAA;YAE1B,CAAC;SAED;QAfY,0BAAuB,0BAenC,CAAA;IACF,CAAC,EAtBW,EAAE,GAAF,IAAE,KAAF,IAAE,QAsBb;AAAD,CAAC,EAtBS,CAAC,KAAD,CAAC,QAsBV;;;;ACtBD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,+BAA+B,EAC/D,uJAAuJ,CACvJ,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAEV;AAFD,WAAU,CAAC;IACC,kBAAgB,GAAG,eAAe,CAAA;AAC9C,CAAC,EAFS,CAAC,KAAD,CAAC,QAEV;;;;ACFD,IAAU,CAAC,CA2CV;AA3CD,WAAU,CAAC;IAMV,SAAgB,cAAc,CAAyB,GAAS;QAC/D,OAAO,IAAI,KAAK,CAAE,GAAG,EAAE;YAEtB,GAAG,CAAE,GAAG,EAAE,KAAK;gBAEd,MAAM,GAAG,GAAI,GAAW,CAAE,KAAK,CAAE,CAAA;gBACjC,IAAI,OAAO,GAAG,KAAK,UAAU;oBAAG,OAAO,GAAG,CAAA;gBAE1C,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAE,GAAG,CAAE,CAAA;gBACzC,OAAO,SAAS,cAAc,CAAc,GAAI,IAAW;oBAC1D,MAAM,KAAK,GAAG,IAAI,CAAE,GAAG,EAAE,IAAI,CAAE,CAAA;oBAC/B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAA;gBACpB,CAAC,CAAA;YAEF,CAAC;YAED,KAAK,CAAE,GAAG,EAAE,IAAI,EAAE,IAAI;gBACrB,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAE,GAAgC,CAAE,CAAA;gBACtE,MAAM,KAAK,GAAG,IAAI,CAAE,IAAI,EAAE,IAAI,CAAE,CAAA;gBAChC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAA;YACpB,CAAC;SAED,CAAoD,CAAA;IACtD,CAAC;IAvBe,gBAAc,iBAuB7B,CAAA;AAcF,CAAC,EA3CS,CAAC,KAAD,CAAC,QA2CV;;;;AC3CD,IAAU,CAAC,CA4CV;AA5CD,WAAU,CAAC;IACV,MAAa,YAAa,SAAQ,YAAY;QAGtC,AAAP,MAAM,CAAC,MAAM;YACZ,OAAO,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,IAAI;gBACnD,SAAS,EAAE,KAAK,IAAG,EAAE,CAAC,KAAK;gBAC3B,OAAO,EAAE,KAAK,IAAG,EAAE,CAAC,KAAK;gBACzB,QAAQ,EAAE,KAAK,IAAG,EAAE,CAAC,CAAC,EAAE,CAAC;gBACzB,YAAY,EAAE,KAAK,IAAG,EAAE,CAAC,IAAyB;aAChC,CAAA;QACpB,CAAC;QAGM,AAAP,MAAM,CAAC,SAAS,CAAE,IAAc,EAAE,KAAe;YAEhD,gBAAgB,EAAE,CAAA;YAElB,IAAI,KAAK;gBAAG,OAAO,OAAO,CAAE,IAAI,CAAE,CAAA;YAElC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;YAC5B,IAAI,IAAI,IAAI,CAAC,eAAe,CAAE,GAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAE,EAAG,CAAC;gBACxD,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAE,MAAM,CAAC,EAAE;oBAE/B,UAAU,CAAE,GAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAE,MAAM,EAAE,OAAO,CAAE,EAAE,IAAI,CAAE,CAAA;oBAE1D,IAAI,MAAM;wBAAG,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAA;;wBACjF,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAA;gBAE9E,CAAC,CAAE,CAAA;YACJ,CAAC;YAED,OAAO,IAAI,IAAI,cAAc,CAAE,MAAM,CAAE,CAAC,SAAS,EAAE,CAAA;QACpD,CAAC;QAED,MAAM,CAAC,QAAQ;YACd,OAAO,cAAc,CAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAE,CAAC,QAAQ,EAAE,CAAA;QACxD,CAAC;QAED,MAAM,CAAC,GAAG;YACT,OAAO,cAAc,CAAE,IAAI,CAAC,MAAM,EAAE,CAAE,CAAC,YAAY,EAAE,CAAA;QACtD,CAAC;KAED;IAvCO;QADL,QAAQ;oCAQT;IAGM;QADL,QAAQ;uCAoBT;IAhCW,cAAY,eA0CxB,CAAA;AACF,CAAC,EA5CS,CAAC,KAAD,CAAC,QA4CV;;;;AC5CD,IAAU,CAAC,CAgEV;AAhED,WAAU,CAAC;IAEV,MAAa,gBAA0B,SAAQ,WAAW;QAEzD,MAAM,CAAC,UAAU,CAAqD;QACtE,MAAM,CAAC,MAAM;YACZ,IAAI,IAAI,CAAC,UAAU,CAAC;gBAAG,OAAO,IAAI,CAAC,UAAU,CAAC,CAAA;YAE9C,KAAK,EAAG,IAAI,CAAC;gBACZ,MAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAA;gBAC5C,IAAI,CAAC,MAAM;oBAAG,MAAM,KAAK,CAAA;gBAEzB,MAAM,CAAC,OAAO,CAAE,EAAE,EAAG,EAAE,CAAE,CAAA;gBACzB,MAAM,CAAC,UAAU,CAAE,EAAE,CAAE,CAAA;gBACvB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,MAAM,CAAA;YACjC,CAAC;YAAC,OAAO,KAAU,EAAG,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAE,KAAK,CAAE,CAAA;YACtB,CAAC;YAED,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG;gBACzB,OAAO,CAAE,GAAY;oBACpB,OAAQ,IAAY,CAAE,GAAG,GAAG,GAAG,CAAE,CAAA;gBAClC,CAAC;gBACD,OAAO,CAAE,GAAY,EAAG,KAAc;oBACpC,IAAY,CAAE,GAAG,GAAG,GAAG,CAAE,GAAG,KAAK,CAAA;gBACnC,CAAC;gBACD,UAAU,CAAE,GAAY;oBACtB,IAAY,CAAE,GAAG,GAAG,GAAG,CAAE,GAAG,KAAK,CAAC,CAAA;gBACpC,CAAC;aACD,CAAA;QAEF,CAAC;QAGM,AAAP,MAAM,CAAC,OAAO,CAAE,IAAmB,IAAK,OAAO,IAAI,CAAA,CAAC,CAAC;QAG9C,AAAP,MAAM,CAAC,KAAK,CACX,GAAY,EACZ,IAAoB;YAGpB,IAAI,CAAC,OAAO,EAAE,CAAA;YAEd,IAAI,IAAI,KAAK,KAAK,CAAC;gBAAG,OAAO,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAE,GAAG,CAAE,IAAI,MAAM,CAAE,CAAA;YAEjF,IAAI,IAAI,KAAK,IAAI,EAAG,CAAC;gBACpB,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAE,GAAG,CAAE,CAAA;YAChC,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAE,GAAG,EAAG,IAAI,CAAC,SAAS,CAAE,IAAI,CAAE,CAAE,CAAA;gBACrD,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAE,IAAI,CAAE,CAAA;YACtC,CAAC;YAED,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,MAAM,KAAK,OAAO,EAAE,CAAA,CAAC,CAAC;QAEtB,KAAK,CAAE,GAAY,EAAG,IAAa;YAClC,OAAO,gBAAgB,CAAC,KAAK,CAAE,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,EAAG,IAAI,CAAE,CAAA;QAClE,CAAC;KAED;IA5BO;QADL,QAAQ;yCAC2C;IAG9C;QADL,YAAY;uCAkBb;IApDW,kBAAgB,mBA4D5B,CAAA;AAEF,CAAC,EAhES,CAAC,KAAD,CAAC,QAgEV;;;;;;;AChED,IAAU,CAAC,CAeV;AAfD,WAAU,CAAC;IAEV,MAAM,QAAQ,GAAG,EAAwD,CAAA;IAEzE,SAAgB,mBAAmB,CAClC,MAAoB,EACpB,WAAkC,MAAM;QAGxC,IAAI,OAAO,GAAG,QAAQ,CAAE,QAAQ,CAAE,CAAA;QAClC,IAAI,CAAC,OAAO;YAAG,OAAO,GAAG,QAAQ,CAAE,QAAQ,CAAE,GAAG,IAAI,WAAW,CAAE,QAAQ,CAAE,CAAA;QAE3E,OAAO,OAAO,CAAC,MAAM,CAAE,MAAM,CAAE,CAAA;IAChC,CAAC;IATe,qBAAmB,sBASlC,CAAA;AAEF,CAAC,EAfS,CAAC,KAAD,CAAC,QAeV;;;;ACfD,IAAU,CAAC,CASV;AATD,WAAU,CAAC;IACV,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAA;IAEpE,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IAEjC,SAAgB,mBAAmB,CAAC,KAAa;QAChD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IAFe,qBAAmB,sBAElC,CAAA;AAEF,CAAC,EATS,CAAC,KAAD,CAAC,QASV;;;;ACTD,IAAU,CAAC,CAuJV;AAvJD,WAAU,CAAC;IAYV,MAAa,mBAAoB,SAAQ,KAAK;KAAG;IAApC,qBAAmB,sBAAiB,CAAA;IAEjD,MAAsB,SAAU,SAAQ,WAAW;QAG3C,AAAP,MAAM,CAAC,QAAQ,CAAE,IAAa;YAC7B,MAAM,IAAI,KAAK,CAAE,qBAAqB,CAAE,CAAA;QACzC,CAAC;QAED,MAAM,CAAC,QAAQ,CAAE,IAAa;YAC7B,MAAM,IAAI,KAAK,CAAE,qBAAqB,CAAE,CAAA;QACzC,CAAC;QAED,MAAM,CAAC,IAAI,GAAG,EAAE,CAAA;QAEhB,IAAI;YACH,OAAO,GAAG,CAAA;QACX,CAAC;QAED,MAAM;YACL,OAAO,IAAI,CAAC,OAAO,CAAE,IAAI,CAAE,CAAA;QAC5B,CAAC;QAID,KAAK;YACJ,IAAI,CAAC;gBACJ,IAAI,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;YAClB,CAAC;YAAC,OAAO,KAAU,EAAG,CAAC;gBACtB,IAAI,KAAK,YAAY,mBAAmB;oBAAE,OAAM;gBAChD,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAA;YAC/B,CAAC;QACF,CAAC;QAED,OAAO;YACN,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAE,EAAE,CAAE,CAAC,WAAW,EAAE,IAAI,EAAE,CAAA;QACvE,CAAC;QAID,OAAO;YACN,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;YAEvD,OAAO;gBACN,UAAU,KAAI,CAAC;aACf,CAAA;QACF,CAAC;QAGD,MAAM,CAAE,IAAe;YAEtB,IAAI,MAAM,GAAG,OAAO,CAAE,IAAI,CAAC,IAAI,EAAE,CAAE,CAAA;YAEnC,IAAI,IAAI,KAAK,SAAS;gBAAG,OAAO,MAAM,CAAA;YACtC,IAAI,IAAI,KAAK,MAAM;gBAAG,OAAO,MAAM,CAAA;YAEnC,IAAI,IAAI;gBAAG,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAE,IAAI,CAAE,CAAA;YACvC,IAAI,CAAC,MAAM,EAAE,CAAA;YACb,IAAI,CAAC,KAAK,EAAE,CAAA;YAEZ,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,IAAI;YACH,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,CAAA;QAC/B,CAAC;QAED,IAAI;YACH,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAE,OAAO,EAAE,EAAE,CAAE,CAAA;QAC1C,CAAC;QAED,GAAG;YACF,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAE,IAAI,CAAC,IAAI,EAAE,CAAE,CAAA;YACjD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAE,CAAC,CAAE,CAAC,SAAS,CAAE,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC9C,CAAC;QAKD,IAAI,CAAC,IAAa,EAAE,IAAa;YAChC,IAAI,IAAI,EAAG,CAAC;gBACX,MAAM,GAAG,GAAG,IAAI,IAAI,CAAA;gBACpB,IAAI,CAAC,IAAI,CAAE;oBACV,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,GAAG;iBACV,EAAE,MAAM,CAAE,CAAA;gBACX,OAAO,IAAK,CAAA;YACb,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,EAAG,CAAC;gBACzB,OAAO,mBAAmB,CAAE,IAAI,CAAC,MAAM,CAAE,SAAS,CAAE,CAAE,CAAA;YACvD,CAAC;iBAAM,CAAC;gBACP,MAAM,MAAM,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAE,IAAI,CAAE,CAAA;gBAC3E,IAAI,CAAC,MAAM,CAAE,MAAM,CAAE,CAAA;gBACrB,OAAO,IAAI,CAAA;YACZ,CAAC;QACF,CAAC;QAUD,IAAI,CACH,OAAiB,EACjB,OAAiB;YAEjB,MAAM,KAAK,GAAG,EAAiB,CAAA;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAEtB,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;gBACzB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;gBAE/B,IAAI,OAAO,IAAI,UAAU,CAAC,KAAK,CAAE,OAAO,CAAE;oBAAG,SAAQ;gBAErD,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAE,OAAO,CAAE;oBAAG,KAAK,CAAC,IAAI,CAAE,KAAK,CAAE,CAAA;gBAEjE,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,KAAK,EAAG,CAAC;oBAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAE,OAAO,EAAG,OAAO,CAAE,CAAA;oBACjD,KAAK,MAAM,KAAK,IAAI,SAAS;wBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACjD,CAAC;YACF,CAAC;YAED,OAAO,KAAK,CAAA;QACb,CAAC;QAED,IAAI;YACH,QAAQ,IAAI,CAAC,IAAI,EAAE,EAAG,CAAC;gBACtB,KAAK,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,CAAA;gBAC1C,OAAO,CAAC,CAAC,OAAO,CAAC,CAAA;YAClB,CAAC;QACF,CAAC;;IAvFD;QADE,QAAQ;2CAaT;IAkBD;QADE,QAAQ;yCAoBT;IA7FM;QADL,YAAY;mCAGb;IALoB,WAAS,YAwI9B,CAAA;AACF,CAAC,EAvJS,CAAC,KAAD,CAAC,QAuJV;;;;ACvJD,IAAU,CAAC,CAWV;AAXD,WAAU,CAAC;IACP,SAAgB,kBAAkB,CAAmC,CAAQ,EAAE,CAAQ;QACzF,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QACxB,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QACvE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;QAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;YAChC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAA;QAEhC,OAAO,IAAI,CAAA;IACZ,CAAC;IATkB,oBAAkB,qBASpC,CAAA;AACF,CAAC,EAXS,CAAC,KAAD,CAAC,QAWV;;;;ACXD,IAAU,CAAC,CA8MV;AA9MD,WAAU,CAAC;IAEV,SAAS,YAAY,CAAC,IAA0C;QAE/D,IAAI,CAAC,IAAI;YAAG,OAAO,IAAI,CAAA;QAEvB,IAAI,IAAgC,CAAA;QACpC,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,IAAI,GAAG,KAAK,CAAA;QACpC,IAAI,IAAI,CAAC,MAAM,EAAE;YAAE,IAAI,GAAG,MAAM,CAAA;QAChC,IAAI,IAAI,CAAC,cAAc,EAAE;YAAE,IAAI,GAAG,MAAM,CAAA;QAExC,IAAI,CAAE,IAAI;YAAE,OAAO,SAAS,CAAE,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAE,CAAA;QAElE,OAAO;YACN,IAAI;YACJ,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SACjB,CAAA;IACF,CAAC;IAED,SAAS,gBAAgB,CAAC,GAAW;QACpC,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;IAClE,CAAC;IAED,MAAa,cAAe,SAAQ,SAAS;QAGrC,AAAP,MAAM,CAAC,QAAQ,CAAE,IAAa;YAC7B,OAAO,IAAI,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAG,UAAU,CAAE,IAAI,CAAE;aACzB,CAAC,CAAA;QACH,CAAC;QAED,MAAM,CAAC,QAAQ,CAAE,IAAa;YAC7B,OAAO,IAAI,CAAC,QAAQ,CAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAE,CAAC,OAAO,CAAE,KAAK,EAAG,GAAG,CAAE,CAAE,CAAA;QACrF,CAAC;QAGD,OAAO;YAEN,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAE,IAAI,CAAC,IAAI,EAAE,EAAG;gBACnD,UAAU,EAAG,IAAI;gBACjB,OAAO,EAAG,YAAY;gBACtB,KAAK,EAAI,CAAC;gBACV,aAAa,EAAG,IAAI;gBACpB,gBAAgB,EAAE;oBACjB,kBAAkB,EAAE,GAAG;iBACvB;aACD,CAAE,CAAA;YAEH,OAAO;iBACN,EAAE,CAAE,KAAK,EAAG,CAAE,IAAI,EAAG,IAAI,EAAE,EAAE;gBAE7B,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAE,IAAI,CAAC,OAAO,CAAE,KAAK,EAAG,GAAG,CAAE,CAAE,CAAA;gBAE9D,IAAI,CAAC,KAAK,EAAE,CAAA;gBAEZ,IAAI,IAAI,KAAK,QAAQ,EAAG,CAAC;oBACxB,IAAI,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;gBAClB,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;gBACtB,CAAC;YAEF,CAAC,CAAE;iBACF,EAAE,CAAE,OAAO,EAAG,aAAa,CAAE,CAAA;YAE9B,OAAO;gBACN,UAAU;oBACT,OAAO,CAAC,KAAK,EAAE,CAAA;gBAChB,CAAC;aACD,CAAA;QAEF,CAAC;QAGD,IAAI,CAAE,IAA6B,EAAE,IAAa;YAEjD,IAAI,IAAI,GAAG,IAAI,CAAA;YACf,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YAExB,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAA;YAEvB,IAAI,IAAI;gBAAG,OAAO,IAAK,CAAA;YAEvB,IAAI,CAAC;gBACJ,IAAI,GAAG,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAE,IAAI,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAE,CAAC,CAAA;YAClF,CAAC;YAAC,OAAO,KAAU,EAAG,CAAC;gBACtB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;oBAAE,KAAK,GAAG,IAAI,mBAAmB,CAAC,gBAAgB,CAAC,CAAA;gBAC9E,KAAK,CAAC,OAAO,IAAI,IAAI,GAAG,IAAI,CAAA;gBAC5B,OAAO,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;YACtC,CAAC;YAED,OAAO,IAAI,CAAA;QACZ,CAAC;QAGD,MAAM;YACL,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YAExB,IAAI,CAAC;gBACJ,KAAK,CAAC,EAAE,CAAC,SAAS,CAAE,IAAI,CAAE,CAAA;YAC3B,CAAC;YAAC,OAAO,CAAM,EAAG,CAAC;gBAClB,CAAC,CAAC,OAAO,IAAI,IAAI,GAAG,IAAI,CAAA;gBACxB,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;YAC3B,CAAC;QAEF,CAAC;QAGD,MAAM,CAAE,IAAkB;YAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YACxB,IAAI,IAAI,KAAK,SAAS,EAAG,CAAC;gBAEzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAG,OAAO,IAAI,UAAU,CAAA;gBAExC,IAAI,CAAC;oBAEJ,MAAM,IAAI,GAAG,eAAe,CAAE,GAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAE,CAAA;oBAElD,IAAI,GAAG,gBAAgB,CAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAE,IAAI,CAAE,CAAE,CAAA;oBAExD,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,kBAAkB,CAAE,IAAI,EAAE,IAAI,CAAE,EAAG,CAAC;wBAC9D,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;4BACrB,KAAK,EAAE,0BAA0B;4BACjC,OAAO,EAAE,SAAS;4BAClB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;yBACnB,CAAC,CAAA;oBACH,CAAC;oBAED,OAAO,IAAI,CAAA;gBAEZ,CAAC;gBAAC,OAAO,KAAU,EAAG,CAAC;oBAEtB,KAAK,CAAC,OAAO,IAAI,IAAI,GAAG,IAAI,CAAA;oBAC5B,OAAO,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAE,KAAK,CAAE,CAAA;gBAExC,CAAC;YAEF,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAE,IAAI,CAAE,CAAA;YAE5B,MAAM,GAAG,GAAG,IAAI,IAAI,CAAA;YACpB,IAAI,CAAC,IAAI,CAAE;gBACV,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,MAAM;gBACjB,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,GAAG;aACV,EAAE,MAAM,CAAE,CAAA;YAEX,IAAI,CAAC;gBAEJ,KAAK,CAAC,EAAE,CAAC,aAAa,CAAE,IAAI,EAAE,IAAI,CAAE,CAAA;YAErC,CAAC;YAAC,OAAO,KAAU,EAAG,CAAC;gBAEtB,KAAK,CAAC,OAAO,IAAI,IAAI,GAAG,IAAI,CAAA;gBAC5B,OAAO,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAE,KAAK,CAAE,CAAA;YAExC,CAAC;YAED,OAAO,IAAI,CAAA;QAEZ,CAAC;QAED,GAAG;YACF,IAAI,CAAE,IAAI,CAAC,MAAM,EAAE;gBAAG,OAAO,EAAE,CAAA;YAC/B,IAAK,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK;gBAAE,OAAO,EAAE,CAAA;YAErC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YACxB,IAAI,CAAC,IAAI,EAAE,CAAA;YAEX,IAAI,CAAC;gBACJ,OAAO,KAAK,CAAC,EAAE,CAAC,WAAW,CAAE,IAAI,CAAE;qBACjC,MAAM,CAAE,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAE,IAAI,CAAE,CAAE;qBACvC,GAAG,CAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAE,IAAI,CAAE,CAAE,CAAA;YACtC,CAAC;YAAC,OAAO,CAAM,EAAG,CAAC;gBAClB,CAAC,CAAC,OAAO,IAAI,IAAI,GAAG,IAAI,CAAA;gBACxB,OAAO,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;YAClC,CAAC;QACF,CAAC;QAED,OAAO,CAAE,IAAa;YACrB,OAAS,IAAI,CAAC,WAAiC,CAAC,QAAQ,CAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC,IAAI,EAAE,EAAG,IAAI,CAAE,CAAE,CAAA;QAClG,CAAC;QAED,MAAM,CAAE,OAAS,IAAI,CAAC,WAAiC,CAAC,QAAQ,CAAE,GAAG,CAAE;YACtE,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAE,IAAI,CAAC,IAAI,EAAE,EAAG,IAAI,CAAC,IAAI,EAAE,CAAE,CAAC,OAAO,CAAE,KAAK,EAAG,GAAG,CAAE,CAAA;QAC/E,CAAC;QAED,MAAM,CAAE,IAA0B;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YACxB,IAAI,CAAC;gBACJ,KAAK,CAAC,EAAE,CAAC,cAAc,CAAE,IAAI,EAAG,IAAI,CAAE,CAAA;YACvC,CAAC;YAAC,OAAO,CAAM,EAAG,CAAC;gBAClB,CAAC,CAAC,OAAO,IAAI,IAAI,GAAG,IAAI,CAAA;gBACxB,OAAO,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;YAClC,CAAC;QACF,CAAC;KACD;IAnKA;QADE,QAAQ;iDAmCT;IAGD;QADE,QAAQ;8CAmBT;IAGD;QADE,QAAQ;gDAWT;IAGD;QADE,QAAQ;gDAyDT;IAED;QADE,QAAQ;6CAgBT;IA3JM;QADL,YAAY;wCAKb;IAPW,gBAAc,iBAiL1B,CAAA;IAED,CAAC,CAAC,SAAS,GAAG,cAAc,CAAA;AAC7B,CAAC,EA9MS,CAAC,KAAD,CAAC,QA8MV;;;;AC9MD,IAAU,CAAC,CAyEV;AAzED,WAAU,CAAC;IAUV,MAAa,WAAY,SAAQ,WAAW;QAGpC,AAAP,MAAM,CAAC,YAAY;YAClB,OAAO,IAAI,CAAA;QACZ,CAAC;QAGM,AAAP,MAAM,CAAC,IAAI,CAAE,IAAc;YAC1B,OAAO,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAE,QAAQ,EAAG,IAAI,CAAE,IAAI,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAE,KAAK,EAAG,EAAE,CAAE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAA;QAC5I,CAAC;QAGM,AAAP,MAAM,CAAC,MAAM,CAAE,IAAa;YAC3B,OAAO,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAE,cAAe,IAAK,OAAO,CAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAE,CAAA;QAChG,CAAC;QAGM,AAAP,MAAM,CAAC,KAAK,CAAE,IAAa,EAAG,IAAwB;YACrD,IAAI,IAAI;gBAAG,OAAO,IAAI,CAAA;YAEtB,IAAI,CAAC;gBACJ,OAAO,IAAI,CAAC,MAAM,CAAE,IAAI,CAAE,CAAC,OAAO,EAAE,CAAA;YACrC,CAAC;YAAC,OAAO,KAAU,EAAG,CAAC;gBACtB,IAAI,eAAe,CAAE,KAAK,CAAE,EAAG,CAAC;oBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;oBAC/B,IAAI,IAAI,KAAK,GAAG;wBAAG,MAAM,KAAK,CAAA;gBAC/B,CAAC;YACF,CAAC;YAED,OAAO,EAAE,CAAA;QACV,CAAC;QAGM,AAAP,MAAM,CAAC,IAAI,CAAE,GAAY;YAExB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YAExB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAE,IAAI,CAAE,CAAE,GAAG,CAAE,CAAA;YACxC,IAAI,MAAM;gBAAG,OAAO,MAAM,CAAA;YAE1B,IAAI,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;YAEhB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAE,IAAI,CAAE,CAAE,GAAG,CAAE,CAAA;YACpC,IAAI,CAAC,EAAE;gBAAG,OAAO,GAAG,CAAA;YAQpB,OAAO,EAAE,CAAA;QACV,CAAC;QAGM,AAAP,MAAM,CAAC,IAAI,CAAE,GAAY;YACxB,OAAO,CAAC,IAAI,CAAE,sBAAuB,IAAI,CAAC,IAAI,EAAG,MAAO,GAAI,EAAE,CAAE,CAAA;YAChE,OAAO,IAAI,CAAA;QACZ,CAAC;KAED;IA1DO;QADL,QAAQ;yCAGT;IAGM;QADL,QAAQ;iCAGT;IAGM;QADL,YAAY;mCAGb;IAGM;QADL,YAAY;kCAcb;IAGM;QADL,YAAY;iCAoBb;IAGM;QADL,YAAY;iCAIb;IA3DW,aAAW,cA6DvB,CAAA;AAEF,CAAC,EAzES,CAAC,KAAD,CAAC,QAyEV;;;;ACzED,IAAU,CAAC,CA+LV;AA/LD,WAAU,CAAC;IACV,MAAa,SAAU,SAAQ,SAAS;QAOvC,GAAG;YACF,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,QAAQ;YACP,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,OAAO;YACN,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,UAAU;YACT,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,QAAQ;YACP,OAAO,KAAK,CAAA;QACb,CAAC;QAcD,IAAI;YACH,OAAO;gBACN,GAAG,KAAK,CAAC,IAAI,EAAE;gBACf,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACvB,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;gBACrB,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE;gBAC1B,gBAAgB,EAAE,IAAI,CAAC,OAAO,EAAE;gBAChC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;aACK,CAAA;QAC3B,CAAC;QAOD,GAAG;YACF,OAAO;gBACN,IAAI,CAAC,KAAK,EAAE;aACoB,CAAA;QAClC,CAAC;QAOD,GAAG;YACF,OAAO,EACmB,CAAA;QAC3B,CAAC;QASD,KAAK;YACJ,OAAO;gBACN,GAAG,KAAK,CAAC,KAAK,EAAE;gBAChB,KAAK,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;aAChB,CAAA;QAC3B,CAAC;QAOD,UAAU;YACT,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,IAAI;YACH,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,SAAS;YACR,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC;QAOD,MAAM;YACL,OAAO,OAAO,CAAA;QACf,CAAC;QAOD,SAAS;YACR,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,OAAO;YACN,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,QAAQ;YACP,OAAO,EAAE,CAAA;QACV,CAAC;QAQD,WAAW,CAAC,KAAW;YACtB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,KAAK,CAAC,KAAW;YAChB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAC/B,CAAC;KACD;IAbA;QADE,QAAQ;gDAIT;IAlLW,WAAS,YA4LrB,CAAA;AAEF,CAAC,EA/LS,CAAC,KAAD,CAAC,QA+LV;;;;;;;AC/LD,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IAKC,aAAW,GAAG,gBAAgB,CAAA;AAC1C,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;;;;ACND,IAAU,CAAC,CAkGV;AAlGD,WAAU,CAAC;IAGV,MAAa,cAAe,SAAQ,WAAW;QAwE1B;QAtEpB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAA;QAClB,MAAM,CAAC,SAAS,GAAG,GAAG,CAAA;QAGf,AAAP,MAAM,CAAC,IAAI,CAAE,IAAc;YAC1B,OAAO,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,CAAE,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;QACnD,CAAC;QAGM,AAAP,MAAM,CAAC,WAAW;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrB,CAAC;QAGM,AAAP,MAAM,CAAC,IAAI,CAAE,IAA4C;YACxD,IAAI,IAAI,KAAK,KAAK,CAAC;gBAAG,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC,SAAS,CAAE,IAAI,CAAE,CAAE,CAAA;YAEzD,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YACtB,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAE,GAAG,CAAE,CAAA;YAE9B,IAAI,MAAM,GAAmC,EAAE,CAAA;YAC/C,MAAM,CAAC,OAAO,CACb,KAAK,CAAC,EAAE;gBACP,IAAI,CAAC,KAAK;oBAAG,OAAM;gBACnB,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAE,GAAG,CAAE,CAAC,GAAG,CAAE,kBAAkB,CAAE,CAAA;gBACvD,MAAM,CAAE,IAAI,CAAC,KAAK,EAAG,CAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACzC,CAAC,CACD,CAAA;YAED,OAAO,MAAmC,CAAA;QAC3C,CAAC;QAGM,AAAP,MAAM,CAAC,KAAK,CAAE,GAAY,EAAG,IAAqB;YACjD,IAAI,IAAI,KAAK,KAAK,CAAC;gBAAG,OAAO,IAAI,CAAC,IAAI,EAAE,CAAE,GAAG,CAAE,IAAI,IAAI,CAAA;YACvD,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC,IAAI,CAAE,EAAE,CAAE,GAAG,CAAE,EAAG,IAAI,EAAE,CAAE,CAAE,CAAA;YAC5C,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,MAAM,CAAC,IAAI,CAAE,IAAoC;YAChD,MAAM,MAAM,GAAmC,EAAE,CAAA;YAEjD,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YACtB,KAAK,IAAI,GAAG,IAAI,IAAI,EAAG,CAAC;gBACvB,MAAM,CAAE,GAAG,CAAE,GAAG,IAAI,CAAE,GAAG,CAAE,CAAA;YAC5B,CAAC;YAED,KAAK,IAAI,GAAG,IAAI,IAAI,EAAG,CAAC;gBACvB,MAAM,CAAE,GAAG,CAAE,GAAG,IAAI,CAAE,GAAG,CAAE,CAAA;YAC5B,CAAC;YAED,OAAO,IAAI,CAAC,SAAS,CAAE,MAAM,CAAE,CAAA;QAChC,CAAC;QAED,MAAM,CAAC,SAAS,CAAE,IAAoC;YACrD,MAAM,MAAM,GAAc,EAAE,CAAA;YAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAG,CAAC;gBACzB,IAAI,IAAI,CAAE,GAAG,CAAE,KAAK,IAAI,EAAG,CAAC;oBAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAE,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;gBACjE,CAAC;YACF,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;QAC1B,CAAC;QAGM,AAAP,MAAM,CAAC,EAAE,CAAE,IAA2C;YACrD,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC,SAAS,CAAE,IAAI,CAAE,CAAE,CAAA;QACpC,CAAC;QAED,YAAoB,SAAS,EAAE;YAC9B,KAAK,EAAE,CAAA;YADY,WAAM,GAAN,MAAM,CAAK;QAE/B,CAAC;QAED,KAAK,CAAE,GAAY,EAAG,IAAc;YACnC,OAAS,IAAI,CAAC,WAAsC,CAAC,KAAK,CAAE,IAAI,CAAC,MAAM,GAAG,GAAG,EAAG,IAAI,CAAE,CAAA;QACvF,CAAC;QAED,GAAG,CAAE,OAAgB;YACpB,OAAO,IAAM,IAAI,CAAC,WAAsC,CAAE,IAAI,CAAC,MAAM,GAAG,OAAO,GAAG,GAAG,CAAE,CAAA;QACxF,CAAC;QAED,IAAI,CAAE,IAAoC;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;YAC1B,MAAM,IAAI,GAAmC,EAAE,CAAA;YAC/C,KAAK,IAAI,GAAG,IAAI,IAAI,EAAG,CAAC;gBACvB,IAAI,CAAE,MAAM,GAAG,GAAG,CAAE,GAAG,IAAI,CAAE,GAAG,CAAE,CAAA;YACnC,CAAC;YACD,OAAS,IAAI,CAAC,WAAsC,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;QAClE,CAAC;;IArFM;QADL,QAAQ;oCAGT;IAGM;QADL,QAAQ;2CAGT;IAGM;QADL,QAAQ;oCAiBT;IAGM;QADL,YAAY;qCAKb;IA6BM;QADL,WAAW;kCAGZ;IAtEW,gBAAc,iBA6F1B,CAAA;AAEF,CAAC,EAlGS,CAAC,KAAD,CAAC,QAkGV;;;;AClGD,IAAU,CAAC,CA+EV;AA/ED,WAAU,CAAC;IAAC,IAAA,EAAE,CA+Eb;IA/EW,WAAA,EAAE;QAMb,MAAa,SAAU,SAAQ,CAAC,CAAC,SAAS;YAGzC,UAAU;gBACT,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;YACpD,CAAC;YAGD,GAAG;gBACF,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,CAAE,IAAI,CAAC,SAAS,EAAE,CAAE,CAAC,IAAI,CAAE,IAAI,CAAC,GAAG,EAAE,CAAE,CAAA;YACxE,CAAC;YAGD,OAAO;gBACN,MAAM,IAAI,GAAkC,EAAE,CAAA;gBAC9C,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;oBAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;gBAEzC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,CAAE,IAAI,CAAC,SAAS,EAAE,CAAE,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;YAClE,CAAC;YAGD,UAAU;gBACT,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;gBACzC,OAAO,IAAI,GAAG,CAAE,IAAI,CAAC,GAAG,EAAE,EAAG,IAAI,CAAE,CAAA;YACpC,CAAC;YAGD,OAAO;gBAEN,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,CAAA;gBAChD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAA;gBAE3C,IAAI,IAAI,KAAK,MAAM;oBAAG,OAAO,IAAI,CAAA;gBAEjC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAA4B,CAAA;gBAEjD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAE,IAAI,CAAE,CAAC,MAAM,CAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAE,GAAG,CAAE,IAAI,IAAI,CAAE,CAAA;gBACrE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;oBAAG,OAAO,KAAK,CAAA;gBAEpC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAG,CAAC;oBACzB,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAE,GAAG,CAAE,IAAI,IAAI,CAAE,GAAG,CAAE;wBAAG,OAAO,KAAK,CAAA;gBACrE,CAAC;gBAED,OAAO,IAAI,CAAA;YACZ,CAAC;YAED,SAAS;gBACR,OAAO,IAAyB,CAAA;YACjC,CAAC;YAED,cAAc;gBACb,OAAO,IAAI,CAAC,GAAG,CAAE,KAAK,CAAC,cAAc,EAAE,EAAE,EAAE,CAAE,CAAA;YAC9C,CAAC;YAED,QAAQ;gBACP,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,KAAK,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAA;YACrE,CAAC;YAED,MAAM;gBACL,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAA;YAC5C,CAAC;YAED,SAAS;gBACR,IAAI,CAAC;oBACJ,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;gBACnB,CAAC;gBAAC,OAAO,KAAK,EAAG,CAAC;oBACjB,aAAa,CAAE,KAAK,CAAE,CAAA;oBACtB,OAAO,EAAE,CAAA;gBACV,CAAC;YACF,CAAC;SAED;QApEA;YADE,QAAQ;mDAGT;QAGD;YADE,QAAQ;4CAGT;QAGD;YADE,QAAQ;gDAMT;QAGD;YADE,QAAQ;mDAIT;QAGD;YADE,QAAQ;gDAkBT;QA5CW,YAAS,YAuErB,CAAA;IAEF,CAAC,EA/EW,EAAE,GAAF,IAAE,KAAF,IAAE,QA+Eb;AAAD,CAAC,EA/ES,CAAC,KAAD,CAAC,QA+EV;;;;AC/ED,IAAU,CAAC,CA4DV;AA5DD,WAAU,CAAC;IAEV,MAAM,EAAE,GAAG,EAAE,GAAG,eAAe,CAAA;IAE/B,iBAAiB,CAAE,SAAS,EAAG;QAE9B,cAAc,EAAE,MAAM;QACtB,KAAK,EAAE,UAAU,CAAC,OAAO;QACzB,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,QAAQ,CAAC,IAAI;QACtB,SAAS,EAAE,YAAY;QACvB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC;QAClB,GAAG,EAAE,QAAQ,CAAC,KAAK;QAEnB,MAAM,EAAE;YACP,MAAM,EAAE,QAAQ,CAAC,KAAK;SACtB;QAED,QAAQ,EAAE;YAET,UAAU,EAAE;gBACX,KAAK,EAAE,UAAU,CAAC,KAAK;aACvB;SAED;QAED,gBAAgB,EAAE;YAEjB,OAAO,EAAE,MAAM;YAEf,UAAU,EAAE;gBACX,KAAK,EAAE,UAAU,CAAC,KAAK;aACvB;SAED;QASD,SAAS,EAAE;YACV,KAAK,EAAE,UAAU,CAAC,KAAK;SACvB;QAED,GAAG,EAAE;YACJ,gBAAgB,EAAE;gBACjB,MAAM,EAAE;oBACP,KAAK,EAAE,UAAU,CAAC,OAAO;oBACzB,UAAU,EAAE,KAAK;iBACjB;aACD;SACD;KAED,CAAE,CAAA;AAEJ,CAAC,EA5DS,CAAC,KAAD,CAAC,QA4DV;;;;AC5DD,IAAU,CAAC,CAaV;AAbD,WAAU,CAAC;IACV,MAAa,gBAAiB,SAAQ,SAAS;QAO9C,IAAI;YACH,OAAO,6FAA6F,CAAA;QACrG,CAAC;KACD;IAVY,kBAAgB,mBAU5B,CAAA;AAEF,CAAC,EAbS,CAAC,KAAD,CAAC,QAaV;;;;ACbD,IAAU,CAAC,CAqHV;AArHD,WAAU,CAAC;IACV,MAAa,SAAU,SAAQ,SAAS;QAOvC,mBAAmB;YAClB,OAAO,IAAI,CAAA;QACZ,CAAC;QAOD,WAAW;YACV,OAAO,CAAC,CAAA;QACT,CAAC;QAOD,GAAG;YACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC;QAQD,KAAK;YACJ,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,UAAU;YACT,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC;gBAClB,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;aACH,CAAA,CAAA;YAE3B,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,SAAS;YACR,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC;gBAClB,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE;aACF,CAAA,CAAA;YAE3B,OAAO,GAAG,CAAA;QACX,CAAC;QASD,WAAW;YACV,OAAO;gBACN,CAAC;gBACD,CAAC;aACiB,CAAA;QACpB,CAAC;QAOD,IAAI;YACH,OAAO,EACkB,CAAA;QAC1B,CAAC;QAOD,UAAU;YACT,OAAO,CAAC,CAAA;QACT,CAAC;QAOD,SAAS;YACR,OAAO,CAAC,CAAA;QACT,CAAC;KACD;IA/EA;QADE,QAAQ;0CAKT;IAQD;QADE,QAAQ;+CAST;IAQD;QADE,QAAQ;8CAST;IAvEW,WAAS,YAkHrB,CAAA;AAEF,CAAC,EArHS,CAAC,KAAD,CAAC,QAqHV;;;;ACrHD,IAAU,CAAC,CAYV;AAZD,WAAU,CAAC;IAEV,IAAI,KAAK,GAAG,IAAsB,CAAA;IAClC,SAAgB,gCAAgC;QAC/C,OAAO,KAAK,IAAI,CACf,KAAK,GAAG,CACP,CAAC,SAAS,CAAC,IAAI,CAAE,SAAS,CAAC,SAAS,CAAE;eACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAE,sBAAsB,CAAE,CAChE,IAAI,KAAK,CACV,CAAA;IACF,CAAC;IAPe,kCAAgC,mCAO/C,CAAA;AAEF,CAAC,EAZS,CAAC,KAAD,CAAC,QAYV;;;;ACZD,IAAU,CAAC,CAgKV;AAhKD,WAAU,CAAC;IAAC,IAAA,EAAE,CAgKb;IAhKW,WAAA,EAAE;QAOb,MAAa,SAAU,SAAQ,CAAC,CAAC,SAAS;YAGzC,GAAG;gBACF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;gBACxB,OAAO,CAAE,IAAI,CAAC,MAAM,KAAK,CAAC,CAAE,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,EAAE,CAAE,CAAC,CAAC,CAAC,IAAI,CAAA;YACvD,CAAC;YAED,mBAAmB;gBAClB,OAAO,IAAI,CAAC,CAAC,CAAC,gCAAgC,EAAE,CAAA;YACjD,CAAC;YAGD,WAAW,CAAE,IAA0B;gBAEtC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBAEvB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBAAG,OAAO,CAAE,CAAC,EAAG,IAAI,CAAC,MAAM,CAAE,CAAA;gBAChD,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE;oBAAG,OAAO,CAAE,CAAC,EAAG,IAAI,CAAC,MAAM,CAAE,CAAA;gBAE3D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;gBAC7B,IAAI,IAAI;oBAAG,OAAO,IAAI,CAAA;gBAEtB,IAAI,CAAE,GAAG,EAAG,GAAG,CAAE,GAAG,eAAe,CAAE,GAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAE,IAAI,CAAE,CAAC,EAAG,CAAC,CAAE,CAAA;gBAE3E,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAE,GAAG,EAAG,IAAI,CAAC,MAAM,CAAE,CAAA;gBAC9C,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAE,CAAC,EAAG,IAAI,CAAC,GAAG,CAAE,GAAG,EAAG,GAAG,GAAG,CAAC,CAAE,CAAE,CAAA;gBAE1D,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAA;gBAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,CAAA;gBAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAE,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,CAAE,CAAA;gBAC5D,MAAM,SAAS,GAAG,CAAC,IAAI,CAAA;gBACvB,MAAM,YAAY,GAAG,aAAa,GAAG,IAAI,CAAA;gBAEzC,MAAM,UAAU,GAAG,eAAe,CAAE,GAAE,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAE,IAAI,CAAC,CAAA;gBACjE,MAAM,SAAS,GAAG,eAAe,CAAE,GAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAE,IAAI,CAAC,CAAA;gBAE/D,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAE,GAAG,UAAU,CAAA;gBAClD,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAE,IAAI,EAAE,MAAM,IAAI,CAAC,CAAE,GAAG,SAAS,CAAA;gBAGvD,IAAI,GAAG,IAAI,SAAS,IAAI,MAAM,IAAI,YAAY,EAAG,CAAC;oBACjD,OAAO,CAAE,IAAI,EAAG,IAAI,CAAE,CAAA;gBACvB,CAAC;gBAGD,IAAI,SAAS,IAAI,CAAC,CAAE,MAAM,GAAG,SAAS,CAAE,IAAE,CAAE,GAAG,GAAG,YAAY,CAAE,CAAC,EAAG,CAAC;oBAEpE,GAAG,GAAG,CAAC,CAAA;oBACP,GAAG,GAAG,IAAI,CAAC,IAAI,CAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAE,CAAA;oBAEjC,OAAO,GAAG,GAAG,CAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,EAAG,CAAC;wBAEnC,MAAM,MAAM,GAAG,IAAI,CAAE,GAAG,CAAE,CAAC,cAAc,EAAE,CAAA;wBAC3C,IAAI,GAAG,GAAG,MAAM,IAAI,SAAS;4BAAG,MAAK;wBAErC,GAAG,IAAI,MAAM,CAAA;wBACb,EAAG,GAAG,CAAA;oBAEP,CAAC;oBAED,IAAI,GAAG,GAAG,CAAA;oBACV,IAAI,GAAG,GAAG,GAAG,GAAG,CAAA;oBAChB,MAAM,GAAG,GAAG,CAAA;gBAEb,CAAC;gBAED,IAAI,IAAI,GAAG,GAAG,CAAA;gBACd,IAAI,OAAO,GAAG,MAAM,CAAA;gBAGpB,IAAI,SAAS,IAAI,CAAE,GAAG,IAAI,SAAS,CAAE,IAAI,CAAE,OAAO,GAAG,YAAY,CAAE,EAAG,CAAC;oBACtE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAE,CAAA;oBAC7B,IAAI,GAAG,MAAM,CAAA;gBACd,CAAC;gBAGD,IAAI,CAAE,MAAM,IAAI,YAAY,CAAE,IAAI,CAAE,IAAI,IAAI,SAAS,CAAE,EAAG,CAAC;oBAC1D,IAAI,GAAG,IAAI,CAAC,GAAG,CAAE,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAE,CAAA;oBACvC,OAAO,GAAG,GAAG,CAAA;gBACd,CAAC;gBAGD,OAAO,OAAO,GAAG,YAAY,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,EAAG,CAAC;oBACtD,OAAO,IAAI,IAAI,CAAE,IAAI,CAAE,CAAC,cAAc,EAAE,CAAA;oBACxC,EAAG,IAAI,CAAA;gBACR,CAAC;gBAGD,OAAO,SAAS,IAAI,CAAC,CAAE,IAAI,IAAI,SAAS,CAAE,IAAE,CAAE,IAAI,GAAG,CAAC,CAAE,CAAC,EAAG,CAAC;oBAC5D,EAAG,IAAI,CAAA;oBACP,IAAI,IAAI,IAAI,CAAE,IAAI,CAAE,CAAC,cAAc,EAAE,CAAA;gBACtC,CAAC;gBAED,OAAO,CAAE,IAAI,EAAG,IAAI,CAAE,CAAA;YACvB,CAAC;YAGD,UAAU;gBACT,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAE,CAAC,EAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAE,CAAA;gBAC7D,OAAO,IAAI,CAAC,GAAG,CAAE,CAAC,EAAG,OAAO,CAAC,MAAM,CAAE,CAAE,GAAG,EAAG,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE,EAAG,CAAC,CAAE,CAAE,CAAA;YAC1F,CAAC;YAGD,SAAS;gBACR,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAE,CAAA;gBACzD,OAAO,IAAI,CAAC,GAAG,CAAE,CAAC,EAAG,OAAO,CAAC,MAAM,CAAE,CAAE,GAAG,EAAG,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE,EAAG,CAAC,CAAE,CAAE,CAAA;YAC1F,CAAC;YAGD,WAAW;gBACV,OAAO;oBACN,GAAI,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,UAAU,EAAE,CAAE,CAAC,CAAC,CAAC,EAAE;oBAClD,GAAI,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAE,GAAI,IAAI,CAAC,WAAW,EAAE,CAAE;oBAC9C,GAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,SAAS,EAAE,CAAE,CAAC,CAAC,CAAC,EAAE;iBAChD,CAAA;YACF,CAAC;YAGD,cAAc;gBAEb,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAE,CAAE,GAAG,EAAG,IAAI,EAAE,EAAE;oBAEzC,IAAI,CAAC;wBACJ,OAAO,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;oBACnC,CAAC;oBAAC,OAAO,KAAU,EAAG,CAAC;wBACtB,aAAa,CAAE,KAAK,CAAE,CAAA;wBACtB,OAAO,GAAG,CAAA;oBACX,CAAC;gBAEF,CAAC,EAAG,CAAC,CAAE,CAAA;YAER,CAAC;YAED,YAAY,CACX,IAAuB;gBAGvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;gBAExB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAE,IAAI,CAAE,CAAE,CAAA;gBAExD,IAAI,KAAK,IAAI,CAAC,EAAG,CAAC;oBACjB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;oBAC9B,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,EAAG,CAAC;wBACxC,IAAI,CAAC,WAAW,CAAC,CAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAE,CAAC,CAAA;oBACxE,CAAC;oBACC,IAAI,CAAE,KAAK,CAAiB,CAAC,YAAY,CAAE,IAAI,CAAE,CAAA;gBACpD,CAAC;YAEF,CAAC;SAED;QArJA;YADE,QAAQ;4CAIT;QAOD;YADE,QAAQ;oDAmFT;QAGD;YADE,QAAQ;mDAIT;QAGD;YADE,QAAQ;kDAIT;QAGD;YADE,QAAQ;oDAOT;QAGD;YADE,QAAQ;uDAcT;QApIW,YAAS,YAwJrB,CAAA;IACF,CAAC,EAhKW,EAAE,GAAF,IAAE,KAAF,IAAE,QAgKb;AAAD,CAAC,EAhKS,CAAC,KAAD,CAAC,QAgKV;;;;AChKD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,wBAAwB,EACxD,2YAA2Y,CAC3Y,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CA8GV;AA9GD,WAAU,CAAC;IACV,MAAa,UAAW,SAAQ,iBAAiB;QAWhD,IAAI;YACH,OAAO;gBACN,GAAG,KAAK,CAAC,IAAI,EAAE;gBACf,iBAAiB,EAAE,IAAI,CAAC,OAAO,EAAE;gBACjC,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE;gBACnC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE;aACG,CAAA;QAC3B,CAAC;QASD,GAAG;YACF,OAAO;gBACN,IAAI,CAAC,IAAI,EAAE;gBACX,IAAI,CAAC,KAAK,EAAE;aACoB,CAAA;QAClC,CAAC;QAQD,OAAO,CAAC,IAAU;YACjB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,YAAY;YACX,OAAO,OAAO,CAAA;QACf,CAAC;QAOD,SAAS;YACR,OAAO,UAAU,CAAA;QAClB,CAAC;QAOD,IAAI;YACH,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,KAAK;YACJ,OAAO,EAAE,CAAA;QACV,CAAC;QAQD,KAAK;YACJ,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,EAAE;aACM,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,KAAK;YACJ,OAAO;gBACN,IAAI,CAAC,KAAK,EAAE;aACM,CAAA;QACpB,CAAC;KACD;IAnEA;QADE,QAAQ;6CAIT;IA4CD;QADE,QAAQ;2CAST;IA/FW,YAAU,aA2GtB,CAAA;AAEF,CAAC,EA9GS,CAAC,KAAD,CAAC,QA8GV;;;;AC9GD,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IAEV,SAAgB,UAAU,CAAW,KAAgC;QACpE,OAAO,CAAE,KAAK,IAAI,IAAI,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,KAAK,CAAE,CAAA;IAC1C,CAAC;IAFe,YAAU,aAEzB,CAAA;AAEF,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;;;;ACND,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,qBAAqB,EACrD,mTAAmT,CACnT,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CA8BV;AA9BD,WAAU,CAAC;IAAC,IAAA,EAAE,CA8Bb;IA9BW,WAAA,EAAE;QAMb,MAAa,UAAW,SAAQ,CAAC,CAAC,UAAU;YAE3C,KAAK,CAAE,IAAa;gBACnB,IAAI,IAAI,EAAE,gBAAgB;oBAAG,OAAM;gBACnC,IAAI,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAE,CAAA;gBAC/B,IAAI,IAAI;oBAAG,IAAI,CAAC,cAAc,EAAE,CAAA;YACjC,CAAC;YAED,GAAG;gBACF,OAAO;oBACN,GAAI,UAAU,CAAE,IAAI,CAAC,IAAI,EAAE,CAAE;oBAC7B,GAAI,IAAI,CAAC,KAAK,EAAE;iBACgB,CAAA;YAClC,CAAC;YAED,KAAK;gBACJ,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YACzC,CAAC;YAED,YAAY;gBACX,OAAO,MAAM,CAAE,IAAI,CAAC,OAAO,EAAE,CAAE,CAAA;YAChC,CAAC;SAED;QAvBY,aAAU,aAuBtB,CAAA;IACF,CAAC,EA9BW,EAAE,GAAF,IAAE,KAAF,IAAE,QA8Bb;AAAD,CAAC,EA9BS,CAAC,KAAD,CAAC,QA8BV;;;;AC9BD,IAAU,CAAC,CAsIV;AAtID,WAAU,CAAC;IACV,MAAa,eAAgB,SAAQ,SAAS;QAO7C,UAAU;YACT,OAAO,EACmB,CAAA;QAC3B,CAAC;QAaD,MAAM,CAAC,EAAO;YACb,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;YAEnC,GAAG,CAAC,OAAO,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YAC3D,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;YACvC,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;YAC3C,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;YACrC,GAAG,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;YAE7B,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,OAAO;YACN,OAAO,EACmB,CAAA;QAC3B,CAAC;QAOD,IAAI;YACH,OAAO,EACe,CAAA;QACvB,CAAC;QAOD,GAAG;YACF,OAAO,IAAI,CAAC,KAAK,EAAE,CAAA;QACpB,CAAC;QAQD,cAAc,CAAC,EAAO,EAAE,IAAU;YACjC,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,YAAY,CAAC,EAAO;YACnB,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,YAAY,CAAC,EAAO;YACnB,OAAO;gBACN,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;aACH,CAAA;QACpB,CAAC;QAOD,OAAO;YACN,OAAO,IAAI,CAAA;QACZ,CAAC;QAOD,cAAc,CAAC,EAAO;YACrB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;QACtB,CAAC;QAOD,WAAW,CAAC,EAAO;YAClB,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,KAAK;YACJ,OAAO,EACmB,CAAA;QAC3B,CAAC;KACD;IA5GA;QADE,YAAY;iDAWb;IAqCD;QADE,YAAY;yDAIb;IAzEW,iBAAe,kBAmI3B,CAAA;AAEF,CAAC,EAtIS,CAAC,KAAD,CAAC,QAsIV;;;;ACtID,IAAU,CAAC,CA0CV;AA1CD,WAAU,CAAC;IAAC,IAAA,EAAE,CA0Cb;IA1CW,WAAA,EAAE;QAMb,MAAa,eAAgB,SAAQ,CAAC,CAAC,eAAe;YAErD,OAAO;gBACN,OAAO,EAAE,CAAA;YACV,CAAC;YAEQ,UAAU,CAAC,IAA8B;gBACjD,OAAO,IAAI,IAAI,EAAE,CAAA;YAClB,CAAC;YAEQ,cAAc,CAAC,EAAU,EAAE,IAAqB;gBACxD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;gBAC9B,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAA;gBAE/C,MAAM,QAAQ,GAAG,EAAE,GAAI,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAA6B,CAAA;gBACpE,IAAI,IAAI,KAAK,IAAI;oBAAE,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAEtC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAA;YAC7C,CAAC;YAGD,IAAI;gBACH,OAAO,MAAM,CAAC,IAAI,CAAE,IAAI,CAAC,OAAO,EAAE,CAAE,CAAA;YACrC,CAAC;YAGD,KAAK;gBACJ,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAE,GAAG,CAAE,CAAE,CAAA;YACpD,CAAC;YAED,YAAY,CAAE,GAAY;gBACzB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,CAAA;YAClC,CAAC;SAED;QAbA;YADE,QAAQ;mDAGT;QAGD;YADE,QAAQ;oDAGT;QA5BW,kBAAe,kBAkC3B,CAAA;IAEF,CAAC,EA1CW,EAAE,GAAF,IAAE,KAAF,IAAE,QA0Cb;AAAD,CAAC,EA1CS,CAAC,KAAD,CAAC,QA0CV;;;;AC1CD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,8BAA8B,EAC9D,saAAsa,CACta,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAeV;AAfD,WAAU,CAAC;IACV,MAAa,WAAY,SAAQ,eAAe;QAQ/C,KAAK,CAAC,IAAU;YACf,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,EAAE,CAAA;QACV,CAAC;KACD;IAJA;QADE,QAAQ;4CAIT;IAXW,aAAW,cAYvB,CAAA;AAEF,CAAC,EAfS,CAAC,KAAD,CAAC,QAeV;;;;ACfD,IAAU,CAAC,CAmDV;AAnDD,WAAU,CAAC;IAEV,MAAa,kBAA4B,SAAQ,WAAW;QAE3D,MAAM,CAAC,UAAU,CAAqD;QACtE,MAAM,CAAC,MAAM;YACZ,IAAI,IAAI,CAAC,UAAU,CAAC;gBAAG,OAAO,IAAI,CAAC,UAAU,CAAC,CAAA;YAE9C,KAAK,EAAG,IAAI,CAAC;gBACZ,MAAM,MAAM,GAAG,gBAAgB,CAAC,cAAc,CAAA;gBAC9C,IAAI,CAAC,MAAM;oBAAG,MAAM,KAAK,CAAA;gBAEzB,MAAM,CAAC,OAAO,CAAE,EAAE,EAAG,EAAE,CAAE,CAAA;gBACzB,MAAM,CAAC,UAAU,CAAE,EAAE,CAAE,CAAA;gBACvB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,MAAM,CAAA;YACjC,CAAC;YAAC,OAAO,KAAU,EAAG,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAE,KAAK,CAAE,CAAA;YACtB,CAAC;YAED,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG;gBACzB,OAAO,CAAE,GAAY;oBACpB,OAAQ,IAAY,CAAE,GAAG,GAAG,GAAG,CAAE,CAAA;gBAClC,CAAC;gBACD,OAAO,CAAE,GAAY,EAAG,KAAc;oBACpC,IAAY,CAAE,GAAG,GAAG,GAAG,CAAE,GAAG,KAAK,CAAA;gBACnC,CAAC;gBACD,UAAU,CAAE,GAAY;oBACtB,IAAY,CAAE,GAAG,GAAG,GAAG,CAAE,GAAG,KAAK,CAAC,CAAA;gBACpC,CAAC;aACD,CAAA;QAEF,CAAC;QAGM,AAAP,MAAM,CAAC,KAAK,CAAW,GAAY,EAAG,IAAa;YAClD,IAAI,IAAI,KAAK,KAAK,CAAC;gBAAG,OAAO,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAE,GAAG,CAAE,IAAI,MAAM,CAAE,CAAA;YAEjF,IAAI,IAAI,KAAK,IAAI;gBAAG,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAE,GAAG,CAAE,CAAA;;gBAC9C,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAE,GAAG,EAAG,IAAI,CAAC,SAAS,CAAE,IAAI,CAAE,CAAE,CAAA;YAE1D,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,MAAM,KAAK,OAAO,EAAE,CAAA,CAAC,CAAC;QAEtB,KAAK,CAAE,GAAY,EAAG,IAAa;YAClC,OAAO,kBAAkB,CAAC,KAAK,CAAE,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,EAAG,IAAI,CAAE,CAAA;QACpE,CAAC;KAED;IAfO;QADL,YAAY;yCAQb;IAvCW,oBAAkB,qBA+C9B,CAAA;AAEF,CAAC,EAnDS,CAAC,KAAD,CAAC,QAmDV;;;;ACnDD,IAAU,CAAC,CAoBV;AApBD,WAAU,CAAC;IAAC,IAAA,EAAE,CAoBb;IApBW,WAAA,EAAE;QAMb,MAAa,WAAY,SAAQ,CAAC,CAAC,WAAW;YAE7C,KAAK,CAAE,IAAW;gBACjB,OAAO,kBAAkB,CAAC,KAAK,CAAE,GAAI,IAAK,UAAU,EAAG,IAAI,CAAE,IAAI,EAAE,CAAA;YACpE,CAAC;YAED,cAAc,CAAE,GAAY,EAAG,IAAe;gBAC7C,IAAI,IAAI,KAAK,SAAS;oBAAG,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,CAAA;gBACnD,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAA;gBAC7B,OAAO,IAAI,CAAA;YACZ,CAAC;SAED;QAZY,cAAW,cAYvB,CAAA;IAEF,CAAC,EApBW,EAAE,GAAF,IAAE,KAAF,IAAE,QAoBb;AAAD,CAAC,EApBS,CAAC,KAAD,CAAC,QAoBV;;;;ACpBD,IAAU,CAAC,CA8EV;AA9ED,WAAU,CAAC;IACV,MAAa,SAAU,SAAQ,SAAS;QAOvC,KAAK;YACJ,OAAO,EACkB,CAAA;QAC1B,CAAC;QASD,IAAI;YACH,OAAO;gBACN,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,OAAO,EAAE;aACU,CAAA;QAC1B,CAAC;QAQD,OAAO,CAAC,IAAU;YACjB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,cAAc;YACb,OAAO,EACmB,CAAA;QAC3B,CAAC;QAUD,MAAM;YACL,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC9C,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;YAEzC,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,OAAO;YACN,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,OAAO,GAAG,CAAA;QACX,CAAC;KACD;IA3CA;QADE,QAAQ;4CAIT;IAoBD;QADE,QAAQ;2CAQT;IAQD;QADE,QAAQ;4CAKT;IA1EW,WAAS,YA2ErB,CAAA;AAEF,CAAC,EA9ES,CAAC,KAAD,CAAC,QA8EV;;;;AC9ED,IAAU,CAAC,CA0BV;AA1BD,WAAU,CAAC;IAAC,IAAA,EAAE,CA0Bb;IA1BW,WAAA,EAAE;QAMb,MAAa,SAAU,SAAQ,CAAC,CAAC,SAAS;YAEzC,OAAO,CAAE,IAAc;gBACtB,OAAO,kBAAkB,CAAC,KAAK,CAAE,GAAI,IAAK,YAAY,EAAG,IAAI,CAAE,IAAI,GAAG,CAAA;YACvE,CAAC;YAED,cAAc;gBACb,IAAI,OAAO,GAA+B,EAAE,CAAA;gBAC5C,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAE,CAAE,IAAI,EAAG,KAAK,EAAG,EAAE;oBACxC,OAAO,CAAE,MAAM,CAAE,KAAK,CAAE,CAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;gBAC1C,CAAC,CAAE,CAAA;gBACH,OAAO,OAAO,CAAA;YACf,CAAC;YAGD,OAAO;gBACN,OAAO,IAAI,CAAC,KAAK,EAAE,CAAE,MAAM,CAAE,IAAI,CAAC,OAAO,EAAE,CAAE,CAAE,CAAA;YAChD,CAAC;SAED;QAJA;YADE,QAAQ;gDAGT;QAjBW,YAAS,YAmBrB,CAAA;IACF,CAAC,EA1BW,EAAE,GAAF,IAAE,KAAF,IAAE,QA0Bb;AAAD,CAAC,EA1BS,CAAC,KAAD,CAAC,QA0BV;;;;AC1BD,IAAU,CAAC,CAaV;AAbD,WAAU,CAAC;IACV,MAAa,gBAAiB,SAAQ,SAAS;QAO9C,IAAI;YACH,OAAO,6NAA6N,CAAA;QACrO,CAAC;KACD;IAVY,kBAAgB,mBAU5B,CAAA;AAEF,CAAC,EAbS,CAAC,KAAD,CAAC,QAaV;;;;ACbD,IAAU,CAAC,CAaV;AAbD,WAAU,CAAC;IACV,MAAa,qBAAsB,SAAQ,SAAS;QAOnD,IAAI;YACH,OAAO,0PAA0P,CAAA;QAClQ,CAAC;KACD;IAVY,uBAAqB,wBAUjC,CAAA;AAEF,CAAC,EAbS,CAAC,KAAD,CAAC,QAaV;;;;ACbD,IAAU,CAAC,CAoCV;AApCD,WAAU,CAAC;IACV,MAAa,gBAAiB,SAAQ,SAAS;QAO9C,IAAI;YACH,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,uBAAuB,CAAE,CAAA;QAC1D,CAAC;QAOD,GAAG;YACF,OAAO;gBACN,IAAI,CAAC,IAAI,EAAE;aACO,CAAA;QACpB,CAAC;QAQD,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAA;YAE9C,OAAO,GAAG,CAAA;QACX,CAAC;KACD;IALA;QADE,QAAQ;gDAKT;IAhCW,kBAAgB,mBAiC5B,CAAA;AAEF,CAAC,EApCS,CAAC,KAAD,CAAC,QAoCV;;;;ACpCD,IAAU,CAAC,CA4OV;AA5OD,WAAU,CAAC;IACV,MAAa,SAAU,SAAQ,SAAS;QAOvC,QAAQ;YACP,OAAO,SAAS,CAAA;QACjB,CAAC;QASD,KAAK;YACJ,OAAO;gBACN,GAAG,KAAK,CAAC,KAAK,EAAE;gBAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;aACA,CAAA;QAC3B,CAAC;QAUD,GAAG;YACF,OAAO;gBACN,IAAI,CAAC,IAAI,EAAE;gBACX,IAAI,CAAC,IAAI,EAAE;gBACX,IAAI,CAAC,IAAI,EAAE;aACO,CAAA;QACpB,CAAC;QAOD,QAAQ;YACP,OAAO,CAAC,CAAC,CAAA;QACV,CAAC;QAOD,IAAI;YACH,OAAO,IAAW,CAAA;QACnB,CAAC;QASD,aAAa;YACZ,OAAO;gBACN,IAAI,CAAC,IAAI,EAAE;gBACX,IAAI,CAAC,KAAK,EAAE;aACM,CAAA;QACpB,CAAC;QAUD,KAAK;YACJ,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;YACzB,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAA;YAEpC,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,KAAK;YACJ,OAAO,EAC0B,CAAA;QAClC,CAAC;QAQD,KAAK;YACJ,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;YAE5B,OAAO,GAAG,CAAA;QACX,CAAC;QASD,IAAI;YACH,OAAO;gBACN,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,CAAC,KAAK,EAAE;aACM,CAAA;QACpB,CAAC;QAWD,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;YAC7B,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAA;YAC7B,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YAE3B,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,IAAI;YACH,OAAO,EACkB,CAAA;QAC1B,CAAC;QAQD,YAAY;YACX,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YAE3B,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,YAAY;YACX,OAAO;gBACN,IAAI,CAAC,YAAY,EAAE;aACD,CAAA;QACpB,CAAC;QAOD,eAAe,CAAC,IAAU;YACzB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACpC,CAAC;QAUD,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAA;YAEnC,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,IAAI;YACH,OAAO,EACkB,CAAA;QAC1B,CAAC;QAUD,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAA;YAC7B,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YAE3B,OAAO,GAAG,CAAA;QACX,CAAC;KACD;IAxJA;QADE,QAAQ;0CAQT;IAkBD;QADE,QAAQ;0CAOT;IAyBD;QADE,QAAQ;yCAST;IAkBD;QADE,QAAQ;iDAOT;IA8BD;QADE,QAAQ;yCAOT;IAoBD;QADE,QAAQ;yCAQT;IAxOW,WAAS,YAyOrB,CAAA;AAEF,CAAC,EA5OS,CAAC,KAAD,CAAC,QA4OV;;;;AC5OD,IAAU,CAAC,CAwHV;AAxHD,WAAU,CAAC;IAAC,IAAA,EAAE,CAwHb;IAxHW,WAAA,EAAE;QAEb,MAAM,EAAE,GAAG,EAAG,GAAG,EAAE,GAAG,eAAe,CAAA;QACrC,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAA;QAEhC,iBAAiB,CAAE,SAAS,EAAG;YAE9B,OAAO,EAAE,MAAM;YACf,IAAI,EAAE;gBACL,KAAK,EAAE,MAAM;gBACb,SAAS,EAAE,QAAQ;aACnB;YACD,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC;YAClB,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC;YACnB,SAAS,EAAE,YAAY;YACvB,KAAK,EAAE,UAAU,CAAC,IAAI;YAGtB,QAAQ,EAAE;gBACT,OAAO,EAAE,MAAM;aACf;YAED,IAAI,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,QAAQ,EAAE,MAAM;gBAChB,cAAc,EAAE,UAAU;gBAC1B,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;gBACjB,OAAO,EAAE,QAAQ,CAAC,KAAK;gBACvB,UAAU,EAAE;oBACX,KAAK,EAAE,UAAU,CAAC,IAAI;iBACtB;gBACD,MAAM,EAAE;oBACP,MAAM,EAAE,QAAQ,CAAC,KAAK;iBACtB;gBACD,SAAS,EAAE,2CAA2C;gBACtD,MAAM,EAAE,CAAC;aACT;YAED,KAAK,EAAE;gBAEN,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;gBACjB,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,QAAQ,CAAC,IAAI;gBACtB,GAAG,EAAE,QAAQ,CAAC,IAAI;gBAClB,SAAS,EAAE,QAAQ;gBACnB,UAAU,EAAE,KAAK;gBAEjB,IAAI,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,QAAQ;iBAChB;gBAED,IAAI,EAAE;oBACL,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,MAAM;iBACb;aAED;YAED,KAAK,EAAE;gBAEN,IAAI,EAAE;oBACL,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,CAAC;iBACT;gBACD,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,UAAU;gBAC1B,UAAU,EAAE,YAAY;gBACxB,QAAQ,EAAE,MAAM;aAEhB;YAED,IAAI,EAAE;gBACL,IAAI,EAAE;oBACL,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC;iBACf;aACD;YAED,YAAY,EAAE;gBACb,OAAO,EAAE,QAAQ,CAAC,KAAK;gBACvB,IAAI,EAAE;oBACL,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,CAAC;oBACT,IAAI,EAAE,CAAC;iBACP;gBACD,OAAO,EAAE;oBACR,IAAI,EAAE,SAAS;iBACf;aACD;YAED,IAAI,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,eAAe;gBAC/B,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE;oBACX,KAAK,EAAE,UAAU,CAAC,IAAI;iBACtB;gBACD,MAAM,EAAE;oBACP,MAAM,EAAE,QAAQ,CAAC,KAAK;iBACtB;gBACD,SAAS,EAAE,4CAA4C;gBACvD,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,QAAQ,CAAC,KAAK;gBACvB,QAAQ,EAAE;oBACT,OAAO,EAAE,MAAM;iBACf;aACD;SAED,CAAE,CAAA;IAEJ,CAAC,EAxHW,EAAE,GAAF,IAAE,KAAF,IAAE,QAwHb;AAAD,CAAC,EAxHS,CAAC,KAAD,CAAC,QAwHV;;;;ACxHD,IAAU,CAAC,CAmEV;AAnED,WAAU,CAAC;IAEV,MAAa,UAAmB,SAAQ,YAAY;QAG3C;QADR,YACQ,YAAoB;YAE3B,KAAK,EAAE,CAAA;YAFA,iBAAY,GAAZ,YAAY,CAAQ;QAG5B,CAAC;QAGD,IAAI,CAAE,IAAY;YACjB,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAa,CAAC,CAAC,CAAC,IAAI,CAAA;QACtD,CAAC;QAED,QAAQ,CAAE,IAAc;YACvB,OAAO,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,IAAI,CAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAE,IAAI,CAAE,CAAE,CAAE,CAAA;QACrF,CAAC;QAED,KAAK,CAA4B,GAAS,EAAG,IAAmB;YAE/D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YACxB,IAAI,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAI,IAAI,IAAI,CAAE,GAAG,CAAG,CAAA;YAEpD,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAE,IAAW,CAAG,CAAC,WAA0B,CAAA;YAEhF,IAAI,CAAC,IAAI,CAAE,MAAM,CAAC,MAAM,CAAE,IAAI,MAAM,EAAG,IAAI,EAAG,EAAE,CAAE,GAAG,CAAE,EAAG,IAAI,EAAE,CAAE,CAAE,CAAA;YAEpE,OAAO,IAAK,CAAA;QACb,CAAC;QAGD,SAAS,CAEN,GAAQ,EAAE,IAAI,GAAG,CAAE,CAAC,EAAE,CAAC,CAAE;YAC3B,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,GAAG,CAGA,GAAS,EAAG,IAAY;YAE1B,IAAI,CAAC,IAAI;gBAAG,IAAI,GAAG,IAAI,UAAU,EAAwB,CAAA;YAEzD,MAAM,IAAI,GAAG,IAAK,CAAC,IAAI,CAAA;YACvB,IAAK,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE;gBACnB,IAAI,IAAI,IAAI,SAAS,EAAG,CAAC;oBACxB,OAAO,IAAI,CAAC,KAAK,CAAE,GAAG,CAAE,IAAI,IAAK,CAAC,YAAa,CAAA;gBAChD,CAAC;gBACD,OAAO,IAAI,CAAC,KAAK,CAAE,GAAG,EAAG,IAAI,CAAE,CAAA;YAChC,CAAC,CAAA;YAED,OAAO,IAAK,CAAA;QAEb,CAAC;QAED,KAAK;YACJ,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC,YAAa,CAAE,CAAA;QAChC,CAAC;QAED,MAAM;YACL,OAAO,IAAI,CAAA;QACZ,CAAC;KAED;IAtDA;QADE,QAAQ;0CAGT;IAmBD;QADE,YAAY;+CAKb;IAlCW,YAAU,aA+DtB,CAAA;AAEF,CAAC,EAnES,CAAC,KAAD,CAAC,QAmEV;;;;ACnED,IAAU,CAAC,CAwBV;AAxBD,WAAU,CAAC;IAQV,MAAa,aAAc,SAAQ,UAAgB;QAElD,EAAE,CAAC,IAAa;YACf,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC9B,CAAC;QAED,IAAI;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;QAED,IAAI;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;KAED;IAdY,eAAa,gBAczB,CAAA;AAEF,CAAC,EAxBS,CAAC,KAAD,CAAC,QAwBV;;;;ACxBD,IAAU,CAAC,CAaV;AAbD,WAAU,CAAC;IACV,MAAa,cAAe,SAAQ,SAAS;QAO5C,IAAI;YACH,OAAO,mDAAmD,CAAA;QAC3D,CAAC;KACD;IAVY,gBAAc,iBAU1B,CAAA;AAEF,CAAC,EAbS,CAAC,KAAD,CAAC,QAaV;;;;ACbD,IAAU,CAAC,CAgBV;AAhBD,WAAU,CAAC;IACV,MAAa,cAAe,SAAQ,UAAU;QAQ7C,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAA;YAEvC,OAAO,GAAG,CAAA;QACX,CAAC;KACD;IALA;QADE,QAAQ;8CAKT;IAZW,gBAAc,iBAa1B,CAAA;AAEF,CAAC,EAhBS,CAAC,KAAD,CAAC,QAgBV;;;;AChBD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,4BAA4B,EAC5D,kaAAka,CACla,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAyEV;AAzED,WAAU,CAAC;IACV,MAAa,YAAa,SAAQ,SAAS;QAS1C,IAAI;YACH,OAAO;gBACN,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,CAAC,OAAO,EAAE;aACI,CAAA;QACpB,CAAC;QAOD,KAAK;YACJ,OAAO;gBACN,IAAI,CAAC,KAAK,EAAE;aACoB,CAAA;QAClC,CAAC;QAUD,KAAK;YACJ,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;YAC7B,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;YAE5B,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,OAAO;YACN,OAAO,EACY,CAAA;QACpB,CAAC;QAUD,OAAO;YACN,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;YAC7B,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;YAE9B,OAAO,GAAG,CAAA;QACX,CAAC;KACD;IAnCA;QADE,QAAQ;6CAQT;IAoBD;QADE,QAAQ;+CAQT;IArEW,cAAY,eAsExB,CAAA;AAEF,CAAC,EAzES,CAAC,KAAD,CAAC,QAyEV;;;;ACzED,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,8BAA8B,EAC9D,oWAAoW,CACpW,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CA8dV;AA9dD,WAAU,CAAC;IACV,MAAa,eAAgB,SAAQ,UAAU;QAQ9C,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;YAEtC,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,IAAI;YACH,OAAO,CAAC,CAAA;QACT,CAAC;QAQD,eAAe,CAAC,IAAU;YACzB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,CAAC,CAAA;QACT,CAAC;QAQD,eAAe,CAAC,IAAU;YACzB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,CAAC,CAAA;QACT,CAAC;QAQD,OAAO,CAAC,IAAU;YACjB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,MAAM;YACL,OAAO,EACY,CAAA;QACpB,CAAC;QAgBD,cAAc;YACb,OAAO;gBACN,eAAe;gBACf,cAAc;gBACd,eAAe;gBACf,gBAAgB;gBAChB,iBAAiB;gBACjB,gBAAgB;gBAChB,gBAAgB;gBAChB,gBAAgB;gBAChB,cAAc;aACI,CAAA;QACpB,CAAC;QAiBD,QAAQ;YACP,OAAO;gBACN,SAAS;gBACT,MAAM;gBACN,SAAS;gBACT,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,MAAM;aACY,CAAA;QACpB,CAAC;QAOD,KAAK;YACJ,OAAO,EACe,CAAA;QACvB,CAAC;QAQD,aAAa,CAAC,IAAU;YACvB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,MAAM,CAAA;QACd,CAAC;QAOD,YAAY;YACX,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,UAAU;YACT,OAAO,EAAE,CAAA;QACV,CAAC;QASD,KAAK;YACJ,OAAO;gBACN,IAAI,CAAC,IAAI,EAAE;gBACX,IAAI,CAAC,KAAK,EAAE;aACM,CAAA;QACpB,CAAC;QAOD,UAAU;YACT,OAAO,EAAE,CAAA;QACV,CAAC;QAQD,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;YAEjC,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,WAAW;YACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,eAAe,EAAE;aACJ,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,aAAa,CAAC,EAAO;YACpB,OAAO,EAAE,CAAA;QACV,CAAC;QAQD,aAAa,CAAC,EAAO;YACpB,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC;gBAClB,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;aACR,CAAA,CAAA;YAE3B,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,WAAW;YACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,eAAe,EAAE;aACJ,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;QAUD,kBAAkB;YACjB,OAAO;gBACN,IAAI,CAAC,WAAW,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBACvB,IAAI,CAAC,WAAW,EAAE;aACA,CAAA;QACpB,CAAC;QAQD,cAAc;YACb,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAA;YAE1C,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,UAAU;YACT,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,cAAc,EAAE;aACH,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;QASD,SAAS;YACR,OAAO;gBACN,IAAI,CAAC,IAAI,EAAE;gBACX,IAAI,CAAC,UAAU,EAAE;aACC,CAAA;QACpB,CAAC;QAOD,IAAI;YACH,OAAO,IAAW,CAAA;QACnB,CAAC;QAWD,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YACnC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;YACjC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YAE5B,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,UAAU,CAAC,IAAU;YACpB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,KAAK,CAAA;QACb,CAAC;QAWD,UAAU;YACT,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAA;YAEvC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,iCAAiC,CAAE,CAAA;YAC7E,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,kCAAkC,CAAE,CAAA;YAC/E,GAAG,CAAC,OAAO,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YAEnD,OAAO,GAAG,CAAA;QACX,CAAC;QAUD,gBAAgB;YACf,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;YAErC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,wCAAwC,CAAE,CAAA;YACrF,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YAErC,OAAO,GAAG,CAAA;QACX,CAAC;QAiBD,UAAU;YACT,OAAO;gBACN,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,iCAAiC,CAAE;gBAClE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,gCAAgC,CAAE;gBAChE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,iCAAiC,CAAE;gBAClE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,gCAAgC,CAAE;gBAChE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,gCAAgC,CAAE;gBAChE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,iCAAiC,CAAE;gBAClE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,iCAAiC,CAAE;gBAClE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,iCAAiC,CAAE;gBAClE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,kCAAkC,CAAE;gBACpE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,iCAAiC,CAAE;aACzC,CAAA;QAC3B,CAAC;QAUD,YAAY;YACX,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;YACpD,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YAErC,OAAO,GAAG,CAAA;QACX,CAAC;QAUD,WAAW;YACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;YAErC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,mCAAmC,CAAE,CAAA;YAChF,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAA;YAEvC,OAAO,GAAG,CAAA;QACX,CAAC;QAYD,KAAK;YACJ,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,6BAA6B,CAAE,CAAA;YAC1E,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,gBAAgB,EAAE;gBACvB,IAAI,CAAC,WAAW,EAAE;aACA,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;KACD;IAndA;QADE,QAAQ;+CAKT;IAiBD;QADE,QAAQ;0DAIT;IAQD;QADE,QAAQ;0DAIT;IAQD;QADE,QAAQ;kDAIT;IAsFD;QADE,QAAQ;wDAIT;IAiDD;QADE,QAAQ;+CAKT;IAQD;QADE,QAAQ;sDAST;IAiBD;QADE,YAAY;wDASb;IAQD;QADE,QAAQ;sDAST;IAwBD;QADE,QAAQ;yDAOT;IAQD;QADE,QAAQ;qDAST;IAkCD;QADE,QAAQ;+CAST;IAQD;QADE,QAAQ;qDAIT;IAWD;QADE,QAAQ;qDAST;IAUD;QADE,QAAQ;2DAQT;IAwCD;QADE,QAAQ;uDAQT;IAUD;QADE,QAAQ;sDAQT;IAYD;QADE,QAAQ;gDAWT;IA1dW,iBAAe,kBA2d3B,CAAA;AAEF,CAAC,EA9dS,CAAC,KAAD,CAAC,QA8dV;;;;;;;;;;;;;;;;AC9dD,IAAU,CAAC,CAiBV;AAjBD,WAAU,CAAC;IAEV,SAAgB,eAAe,CAI9B,KAAa,EACb,MAAe;QAGf,OAAO,MAAM,CAAC,MAAM,CAAE,KAAK,EAAG;YAC7B,MAAM;YACN,KAAK,EAAG,IAAkC;SAC1C,CAAE,CAAA;IAEJ,CAAC;IAbe,iBAAe,kBAa9B,CAAA;AAEF,CAAC,EAjBS,CAAC,KAAD,CAAC,QAiBV;;;;ACjBD,IAAU,CAAC,CA4CV;AA5CD,WAAU,CAAC;IAMV,SAAgB,gBAAgB,CAE7B,GAAS;QAUX,OAAO,eAAe,CAAE,CAAE,GAAW,EAAG,EAAE;YAEzC,IAAI,GAAG,GAAG,EAAY,CAAA;YAEtB,KAAK,MAAM,KAAK,IAAI,GAAG,EAAG,CAAC;gBAE1B,IAAI,CAAC;oBACJ,GAAG,CAAC,KAA4B,CAAE;wBACjC,GAAG,CAAC,KAAK,CAAC,CAAI,GAAc,CAAE,KAA2B,CAAE,CAAE,CAAA;gBAC/D,CAAC;gBAAC,OAAO,KAAU,EAAG,CAAC;oBAEtB,IAAI,KAAK,YAAY,OAAO;wBAAG,OAAO,gBAAgB,CAAE,KAAK,CAAE,CAAA;oBAE/D,KAAK,CAAC,OAAO,GAAG,IAAK,IAAI,CAAC,SAAS,CAAE,KAAK,CAAG,KAAM,KAAK,CAAC,OAAQ,EAAE,CAAA;oBACnE,OAAO,SAAS,CAAE,KAAK,CAAE,CAAA;gBAE1B,CAAC;YAEF,CAAC;YAED,OAAO,GAAyB,CAAA;QAEjC,CAAC,EAAG,GAAG,CAAE,CAAA;IAEV,CAAC;IApCe,kBAAgB,mBAoC/B,CAAA;AAEF,CAAC,EA5CS,CAAC,KAAD,CAAC,QA4CV;;;;AC5CD,IAAU,CAAC,CAkBV;AAlBD,WAAU,CAAC;IAEV,MAAa,cAAe,SAAQ,cAAc;QAEjD,IAAI,GAAG,gBAAgB,CAAA;QACvB,YAAa,OAAe,EAAE,GAAI,MAAe;YAChD,KAAK,CACJ,MAAM,EACN,CAAE,OAAO,EAAE,GAAI,MAAM,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAE,CAAE,CAAC,IAAI,CAAE,IAAI,CAAE,CACjE,CAAA;QACF,CAAC;QAED,MAAM;YACL,OAAO,IAAI,CAAC,OAAO,CAAA;QACpB,CAAC;KAED;IAdY,gBAAc,iBAc1B,CAAA;AAEF,CAAC,EAlBS,CAAC,KAAD,CAAC,QAkBV;;;;AClBD,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IAEV,MAAa,eAAgB,SAAQ,cAAc;QAClD,IAAI,GAAG,iBAAiB,CAAA;KACxB;IAFY,iBAAe,kBAE3B,CAAA;AAEF,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;;;;ACND,IAAU,CAAC,CAaV;AAbD,WAAU,CAAC;IAMC,kBAAgB,GAAG,CAAE,GAAY,EAAE,EAAE;QAE/C,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAG,OAAO,GAAG,CAAA;QAExC,OAAO,SAAS,CAAE,IAAI,eAAe,CAAE,GAAI,GAAI,kBAAkB,CAAE,CAAE,CAAA;IACtE,CAAC,CAAA;AAEF,CAAC,EAbS,CAAC,KAAD,CAAC,QAaV;;;;ACbD,IAAU,CAAC,CAcV;AAdD,WAAU,CAAC;IAMC,kBAAgB,GAAG,CAAE,GAAY,EAAE,EAAE;QAE/C,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAG,OAAO,GAAG,CAAA;QAExC,OAAO,SAAS,CAAE,IAAI,eAAe,CAAE,GAAI,GAAI,kBAAkB,CAAE,CAAE,CAAA;IAEtE,CAAC,CAAA;AAEF,CAAC,EAdS,CAAC,KAAD,CAAC,QAcV;;;;ACdD,IAAU,CAAC,CA2BV;AA3BD,WAAU,CAAC;IAMV,SAAgB,kBAAkB,CAIjC,GAAQ,EACR,QAAmB;QAGnB,OAAO,eAAe,CAAE,CAAE,GAAoC,EAAG,EAAE;YAElE,IAAI,GAAG,KAAK,SAAS,EAAG,CAAC;gBAExB,OAAO,QAAQ,EAAE,EAAS,CAAA;YAC3B,CAAC;YAED,OAAO,GAAG,CAAE,GAAG,CAAqB,CAAA;QAErC,CAAC,EAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAE,CAAA;IAExB,CAAC;IAnBe,oBAAkB,qBAmBjC,CAAA;AAEF,CAAC,EA3BS,CAAC,KAAD,CAAC,QA2BV;;;;AC3BD,IAAU,CAAC,CA+BV;AA/BD,WAAU,CAAC;IAMV,SAAgB,eAAe,CAAiC,GAAS;QAExE,OAAO,eAAe,CAAE,CAAE,GAAqC,EAAG,EAAE;YAEnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAE,GAAG,CAAE;gBAAG,OAAO,SAAS,CAAE,IAAI,eAAe,CAAE,GAAI,GAAI,kBAAkB,CAAE,CAAE,CAAA;YAEjG,OAAO,GAAG,CAAC,GAAG,CAAE,CAAE,IAAI,EAAG,KAAK,EAAE,EAAE;gBAEjC,IAAI,CAAC;oBACJ,OAAO,GAAG,CAAE,IAAI,CAAE,CAAA;gBACnB,CAAC;gBAAC,OAAO,KAAU,EAAG,CAAC;oBAEtB,IAAI,KAAK,YAAY,OAAO;wBAAG,OAAO,gBAAgB,CAAE,KAAK,CAAE,CAAA;oBAE/D,KAAK,CAAC,OAAO,GAAG,IAAK,KAAM,KAAM,KAAK,CAAC,OAAQ,EAAE,CAAA;oBACjD,OAAO,SAAS,CAAE,KAAK,CAAE,CAAA;gBAE1B,CAAC;YAEF,CAAC,CAAkC,CAAA;QAEpC,CAAC,EAAG,GAAG,CAAE,CAAA;IAEV,CAAC;IAvBe,iBAAe,kBAuB9B,CAAA;AAEF,CAAC,EA/BS,CAAC,KAAD,CAAC,QA+BV;;;;AC/BD,IAAU,CAAC,CA0DV;AA1DD,WAAU,CAAC;IAGV,MAAa,WAAY,SAAQ,YAAY;QAGrC,AAAP,MAAM,CAAC,MAAM,CAAE,GAAW;YACzB,eAAe,EAAE,CAAA;YACjB,OAAO,cAAc,CAAE,IAAI,CAAE,CAAC,YAAY,CAAE,GAAG,CAAE,CAAA;QAClD,CAAC;QACD,MAAM,CAAC,YAAY,CAAE,GAAW;YAC/B,OAAO,MAAM,CAAE,GAAG,CAAE,CAAA;QACrB,CAAC;QAGM,AAAP,MAAM,CAAC,MAAM,CAAE,GAAW;YACzB,eAAe,EAAE,CAAA;YACjB,OAAO,cAAc,CAAE,IAAI,CAAE,CAAC,YAAY,CAAE,GAAG,CAAE,CAAA;QAClD,CAAC;QAED,MAAM,CAAC,YAAY,CAAE,GAAW;YAE/B,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAA;YAErC,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAE,QAAQ,CAAE,CAAA;YAC5C,MAAM,CAAC,GAAG,GAAG,GAAG,CAAA;YAChB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAE,MAAM,CAAE,CAAA;YAE9B,OAAO,IAAI,OAAO,CAAS,CAAE,IAAI,EAAG,IAAI,EAAG,EAAE;gBAC5C,MAAM,CAAC,MAAM,GAAG,GAAE,EAAE,CAAC,IAAI,CAAE,gBAAgB,CAAE,CAAA;gBAC7C,MAAM,CAAC,OAAO,GAAG,GAAE,EAAE,CAAC,IAAI,CAAE,IAAI,KAAK,CAAE,kBAAmB,GAAI,EAAE,CAAE,CAAE,CAAA;YACrE,CAAC,CAAE,CAAA;QAEJ,CAAC;QAGM,AAAP,MAAM,CAAC,KAAK,CAAE,GAAW;YACxB,OAAO,cAAc,CAAE,IAAI,CAAE,CAAC,WAAW,CAAE,GAAG,CAAE,CAAA;QACjD,CAAC;QAED,MAAM,CAAC,WAAW,CAAE,GAAW;YAE9B,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAA;YAErC,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAE,MAAM,CAAE,CAAA;YACzC,KAAK,CAAC,GAAG,GAAG,YAAY,CAAA;YACxB,KAAK,CAAC,IAAI,GAAG,GAAG,CAAA;YAChB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAE,KAAK,CAAE,CAAA;YAE7B,OAAO,IAAI,OAAO,CAAmB,CAAE,IAAI,EAAG,IAAI,EAAG,EAAE;gBACtD,KAAK,CAAC,MAAM,GAAG,GAAE,EAAE,CAAC,IAAI,CAAE,KAAK,CAAC,KAAM,CAAE,CAAA;gBACxC,KAAK,CAAC,OAAO,GAAG,GAAE,EAAE,CAAC,IAAI,CAAE,IAAI,KAAK,CAAE,kBAAmB,GAAI,EAAE,CAAE,CAAE,CAAA;YACpE,CAAC,CAAE,CAAA;QAEJ,CAAC;KAED;IAlDO;QADL,YAAY;mCAIb;IAMM;QADL,YAAY;mCAIb;IAkBM;QADL,YAAY;kCAGb;IAnCW,aAAW,cAqDvB,CAAA;AAEF,CAAC,EA1DS,CAAC,KAAD,CAAC,QA0DV;;;;AC1DD,IAAU,CAAC,CAmBV;AAnBD,WAAU,CAAC;IAEV,MAAa,YAAa,SAAQ,YAAY;QAGtC,AAAP,MAAM,CAAC,MAAM;YACZ,OAAO,WAAW,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC,MAAa,CAAA;QACpF,CAAC;QAGM,AAAP,MAAM,CAAC,GAAG;YACT,OAAO,WAAW,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,KAAY,CAAA;QACrE,CAAC;QAED,MAAM,CAAC,EAAE;YACR,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAA;QACxB,CAAC;KAED;IAbO;QADL,QAAQ;oCAGT;IAGM;QADL,QAAQ;iCAGT;IAVW,cAAY,eAgBxB,CAAA;AACF,CAAC,EAnBS,CAAC,KAAD,CAAC,QAmBV;;;;ACfD,IAAU,CAAC,CAcV;AAdD,WAAU,CAAC;IAIG,2BAAyB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAIz3O,2BAAyB,GAAG;QACzC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QACt9a,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAC7qb,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QACzpb,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC;KAC74vC,CAAA;AACF,CAAC,EAdS,CAAC,KAAD,CAAC,QAcV;;;;AClBD,IAAU,CAAC,CAkBV;AAlBD,WAAU,CAAC;IAIV,MAAM,IAAI,GAAG,mBAAmB,CAAA;IAEhC,SAAgB,eAAe,CAAE,IAAY,EAAE,GAAW;QACzD,OAAO,CAAE,IAAI,IAAI,EAAE,KAAK,CAAC,CAAE,GAAG,CAAE,GAAG,GAAG,IAAI,CAAE,CAAA;IAC7C,CAAC;IAFe,iBAAe,kBAE9B,CAAA;IAED,SAAgB,eAAe,CAAE,IAAY;QAC5C,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAA;IACvB,CAAC;IAFe,iBAAe,kBAE9B,CAAA;IAED,SAAgB,cAAc,CAAE,IAAY;QAC3C,OAAO,CAAE,IAAI,IAAI,EAAE,CAAE,IAAI,EAAE,CAAA;IAC5B,CAAC;IAFe,gBAAc,iBAE7B,CAAA;AAEF,CAAC,EAlBS,CAAC,KAAD,CAAC,QAkBV;;;;AClBD,IAAU,CAAC,CA6RV;AA7RD,WAAU,CAAC;IAAC,IAAA,EAAE,CA6Rb;IA7RW,WAAA,EAAE;QAEb,MAAM,yBAAyB,GAAG,gBAAgB,CAAC;YAClD,IAAI,EAAE,gBAAgB;YACtB,GAAG,EAAE,gBAAgB;YACrB,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,gBAAgB;YACtB,GAAG,EAAE,gBAAgB;YACrB,GAAG,EAAE,gBAAgB;YACrB,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,kBAAkB,CAAE,gBAAgB,CAAE;SAC7C,CAAC,CAAA;QAEF,MAAM,yBAAyB,GAAG,gBAAgB,CAAC;YAClD,MAAM,EAAE,gBAAgB;YACxB,MAAM,EAAE,gBAAgB;YACxB,KAAK,EAAE,gBAAgB;YACvB,GAAG,EAAE,gBAAgB;YACrB,GAAG,EAAE,kBAAkB,CAAE,gBAAgB,CAAE;SAC3C,CAAC,CAAA;QAEF,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;YAC7C,OAAO,EAAE,gBAAgB,CAAC;gBACzB,KAAK,EAAE,eAAe,CAAE,yBAAyB,CAAE;gBACnD,KAAK,EAAE,eAAe,CAAE,yBAAyB,CAAE;aACnD,CAAC;SACF,CAAC,CAAA;QAWF,MAAa,eAAgB,SAAQ,CAAC,CAAC,eAAe;YAGrD,IAAI;gBACH,OAAO,oBAAoB,CAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAS,CAAE,CAAA;YACzD,CAAC;YAED,KAAK;gBACJ,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,CAAA;YACjC,CAAC;YAGD,KAAK;gBACJ,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAE,CAAA;YAC7E,CAAC;YAED,eAAe;gBACd,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;YAC7B,CAAC;YAED,eAAe;gBACd,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;YACvC,CAAC;YAGD,OAAO;gBACN,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;oBAC7C,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK;wBAAE,OAAO,IAAI,CAAA;yBAC7D,IAAI,IAAI,CAAC,GAAG;wBAAE,OAAO,KAAK,CAAA;oBAC/B,OAAO,OAAO,CAAA;gBACf,CAAC,EAAE,KAAK,CAAE,CAAA;YACX,CAAC;YAED,UAAU;gBACT,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAA;YACxB,CAAC;YAED,SAAS;gBACR,OAAO;oBACN,IAAI,CAAC,IAAI,EAAE;oBACX,GAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,UAAU,EAAE,CAAE,CAAC,CAAC,CAAC,EAAE;iBAC/C,CAAA;YACF,CAAC;YAGD,KAAK;gBACJ,OAAO,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAE,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAE,IAAI,CAAC,KAAK,EAAU,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,aAAa,EAAE,CAAE,GAAI,IAAI,CAAC,KAAK,EAAU,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,aAAa,EAAE,CAAE,CAAE,CAAA;YACnK,CAAC;YAGD,MAAM;gBACL,MAAM,MAAM,GAAoB,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAE,CAAE,CAAA;gBAEzK,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;oBACjC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC;oBACjD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC;oBACjD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;oBAChD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;oBAChD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;oBACrD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;gBACtD,CAAC;gBAED,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;oBACvB,KAAK,MAAM,IAAI,IAAI,yBAAyB,EAAE,CAAC;wBAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;wBAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;wBAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;wBAC1C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;oBAC3C,CAAC;gBACF,CAAC;gBAED,OAAO,MAAM,CAAA;YACd,CAAC;YAGD,IAAI;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,CAAA;gBAC3C,IAAI,CAAC,IAAI;oBAAE,OAAO,GAAG,CAAA;gBACrB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;YACnF,CAAC;YAGD,aAAa;gBAEZ,OAAO,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC7H,CAAC;YAED,OAAO,CAAC,KAAa;gBACpB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAA;YACxD,CAAC;YAGD,aAAa;gBAEZ,OAAO,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAS,CAAC,CAAA;YAC5J,CAAC;YAED,aAAa,CAAE,KAAa;gBAC3B,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAA;YACpC,CAAC;YAED,kBAAkB;gBACjB,OAAO;oBACN,IAAI,CAAC,WAAW,EAAE;oBAClB,GAAI,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAE;oBACxE,IAAI,CAAC,WAAW,EAAE;iBAClB,CAAA;YACF,CAAC;YAGD,mBAAmB;gBAElB,OAAO,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC/G,CAAC;YAED,KAAK,CAAC,KAAa,EAAE,GAAW;gBAC/B,IAAI,IAAI,CAAC,OAAO,EAAE;oBAAE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAE,IAAI,CAAC,mBAAmB,EAAE,CAAE,KAAK,CAAE,CAAE,CAAA;gBACjH,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAA;YACtC,CAAC;YAGD,KAAK;gBAEJ,OAAO,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;YAC3F,CAAC;YAED,cAAc,CAAC,IAAiB;gBAC/B,IAAI,CAAC,IAAI,CAAC,GAAG;oBAAE,OAAO,EAAE,CAAA;gBAExB,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,EAAE,CAAA;gBACrC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE;oBAC5B,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE;oBACjD,CAAC,CAAC,IAAI,CAAA;gBAEP,OAAO,KAAK,CAAA;YACb,CAAC;YAED,YAAY,CAAC,IAAyB;gBACrC,YAAY,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAM,EAAE,KAAa,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,CAAA;gBACxG,YAAY,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAM,EAAE,KAAa,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,CAAA;YAC5G,CAAC;YAGD,aAAa,CAAC,EAAU,EAAE,IAAc;gBACvC,eAAe,EAAE,CAAA;gBACjB,OAAO,IAAI,IAAI,KAAK,CAAA;YACrB,CAAC;YAGD,UAAU,CAAC,IAAiB;gBAC3B,MAAM,MAAM,GAAG,CAAE,eAAe,CAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,eAAe,CAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,CAAE,CAAA;gBACvF,MAAM,CAAC,OAAO,CAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAE,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAE,CAAE,CAAA;gBAClF,YAAY,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAE,eAAe,CAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,CAAE,CAAC,CAAA;YAIhI,CAAC;YAGD,UAAU,CAAC,IAAgB,EAAE,GAAkB;gBAC9C,YAAY,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;qBAC5B,SAAS,CAAC,OAAO,CAAC;qBAClB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBAEjC,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;qBACtB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC;qBAClE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;qBACxG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAQ,CAAC;qBAG/C,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,CAAC;qBACvC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,CAAC;qBACxC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACpD,KAAK,CAAC,MAAM,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAE;qBAClD,EAAE,CAAC,WAAW,EAAE,CAAC,KAAiB,EAAE,IAAa,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAmB,CAAC,CAAC;qBAC7F,EAAE,CAAC,UAAU,EAAE,CAAC,KAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;qBAC9D,EAAE,CAAC,OAAO,EAAE,CAAC,KAAmB,EAAE,IAAa,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAmB,CAAC,CAAE;qBAC1F,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;YACrE,CAAC;YAGD,IAAI;gBACH,IAAI,MAAM,CAAC,KAAK,CAAE,IAAI,CAAC,IAAI,EAAE,CAAE;oBAAE,OAAM;gBAEvC,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC;qBAC3D,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;qBAC9C,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;qBAE/C,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,CAAC;qBAC5C,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;gBAEhC,MAAM,KAAK,GAAG,GAAG,CACd,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC;qBACrD,IAAI,CAAC,WAAW,EAAE,aAAa,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;gBAE3E,KAAK,CAAC,IAAI,CAAC,qLAAqL,CAAC,CAAA;gBAEjM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;qBAClB,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC;qBACzB,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;qBAC1B,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAE9B,MAAM,UAAU,GAAG,CAAC,IAAS,EAAE,GAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;gBAEhF,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;qBACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;qBAEnB,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;qBACnB,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;qBACpB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAM,EAAE,CAAS,EAAE,EAAE,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAQ,CAAC,GAAG,GAAG,CAAE;qBACxF,IAAI,CAAC,UAAqB,GAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;gBAEhE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;qBAChB,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAE1B,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;qBAChB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;qBAEb,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;qBACvC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;qBACnB,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC;qBAC1B,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;gBAE/C,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;qBACvC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;qBAEnB,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;qBACnB,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;qBACvB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAM,EAAE,CAAM,EAAC,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;gBAExF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;qBACnB,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAE3B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;qBACnB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;qBAEZ,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;qBACvC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;qBACnB,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC;qBAC5B,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;SAED;QA/OA;YADE,QAAQ;mDAGT;QAOD;YADE,QAAQ;oDAGT;QAWD;YADE,QAAQ;sDAOT;QAcD;YADE,QAAQ;oDAGT;QAGD;YADE,QAAQ;qDAuBT;QAGD;YADE,QAAQ;mDAKT;QAGD;YADE,QAAQ;4DAIT;QAOD;YADE,QAAQ;4DAIT;QAeD;YADE,QAAQ;kEAIT;QAQD;YADE,QAAQ;oDAIT;QAmBD;YADE,YAAY;4DAIb;QAGD;YADE,WAAW;yDAQZ;QAGD;YADE,YAAY;yDAoBb;QAGD;YADE,QAAQ;mDA4DT;QAhPW,kBAAe,kBAkP3B,CAAA;IAEF,CAAC,EA7RW,EAAE,GAAF,IAAE,KAAF,IAAE,QA6Rb;AAAD,CAAC,EA7RS,CAAC,KAAD,CAAC,QA6RV;;;;AC7RD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,gCAAgC,EAChE,kdAAkd,CACld,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CA4DV;AA5DD,WAAU,CAAC;IAAC,IAAA,EAAE,CA4Db;IA5DW,WAAA,EAAE;QAEb,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,eAAe,CAAA;QAExC,iBAAiB,CAAE,CAAC,CAAC,eAAe,EAAE;YAErC,IAAI,EAAE;gBACL,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBACd,MAAM,EAAE,CAAC;aACT;YAED,UAAU,EAAE;gBACX,QAAQ,EAAE,UAAU;gBACpB,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBACZ,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,SAAS,EAAE,kBAAkB;aAC7B;YAED,aAAa,EAAE;gBACd,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;gBACb,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;gBACd,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;aACb;YAED,cAAc,EAAE;gBACf,UAAU,EAAE,UAAU;gBACtB,IAAI,EAAE;oBACL,SAAS,EAAE,gBAAgB;iBAC3B;aACD;YAED,IAAI,EAAE;gBACL,MAAM,EAAE,MAAM;aACd;YAED,YAAY,EAAE;gBACb,IAAI,EAAE;oBACL,MAAM,EAAE,CAAC;iBACT;aACD;YAED,IAAI,EAAE;gBACL,IAAI,EAAE;oBACL,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,CAAC;iBACT;aACD;YAED,KAAK,EAAE;gBACN,IAAI,EAAE;oBACL,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;oBACd,MAAM,EAAE,CAAC;iBACT;gBACD,IAAI,EAAE;oBACL,OAAO,EAAE,QAAQ,CAAC,KAAK;iBACvB;aACD;SAED,CAAE,CAAA;IAEJ,CAAC,EA5DW,EAAE,GAAF,IAAE,KAAF,IAAE,QA4Db;AAAD,CAAC,EA5DS,CAAC,KAAD,CAAC,QA4DV;;;;AC5DD,IAAU,CAAC,CAiMV;AAjMD,WAAU,CAAC;IACV,MAAa,QAAS,SAAQ,SAAS;QAQtC,MAAM,CAAC,IAAU;YAChB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,UAAU;YACT,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,SAAS;YACR,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,MAAM;YACL,OAAO,MAAM,CAAA;QACd,CAAC;QAOD,GAAG;YACF,OAAO;gBACN,IAAI,CAAC,MAAM,EAAE;aACK,CAAA;QACpB,CAAC;QASD,WAAW;YACV,OAAO;gBACN,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,MAAM,EAAE;aACK,CAAA;QACpB,CAAC;QAOD,MAAM;YACL,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,KAAK;YACJ,OAAO,eAAe,CAAA;QACvB,CAAC;QAOD,cAAc;YACb,OAAO,EAC0B,CAAA;QAClC,CAAC;QAOD,UAAU;YACT,OAAO,IAAI,CAAA;QACZ,CAAC;QAWD,MAAM;YACL,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,CAAA;YAExC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;YAC9B,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;YACzC,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YAExC,OAAO,GAAG,CAAA;QACX,CAAC;KACD;IAhHA;QADE,QAAQ;0CAIT;IAoGD;QADE,QAAQ;0CAST;IAvHW,UAAQ,WAwHpB,CAAA;IAED,MAAa,eAAgB,SAAQ,SAAS;QAO7C,GAAG;YACF,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;QACtB,CAAC;QASD,KAAK;YACJ,OAAO;gBACN,GAAG,KAAK,CAAC,KAAK,EAAE;gBAChB,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE;aACH,CAAA;QAC3B,CAAC;QAUD,IAAI;YACH,OAAO;gBACN,GAAG,KAAK,CAAC,IAAI,EAAE;gBACf,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE;gBAC3B,QAAQ,EAAE,CAAC;aACc,CAAA;QAC3B,CAAC;QAOD,OAAO;YACN,OAAO,EAC0B,CAAA;QAClC,CAAC;QAOD,UAAU;YACT,OAAO,IAAI,CAAA;QACZ,CAAC;QAOD,KAAK;YACJ,OAAO,EAAE,CAAA;QACV,CAAC;KACD;IApEY,iBAAe,kBAoE3B,CAAA;AAEF,CAAC,EAjMS,CAAC,KAAD,CAAC,QAiMV;;;;ACjMD,IAAU,CAAC,CAmFV;AAnFD,WAAU,CAAC;IAAC,IAAA,EAAE,CAmFb;IAnFW,WAAA,EAAE;QAMb,MAAa,QAAS,SAAQ,CAAC,CAAC,QAAQ;YAGvC,MAAM,CAAE,IAAI,GAAG,KAAK;gBACnB,IAAI,CAAC,OAAO,EAAE,CAAA;gBACd,OAAO,IAAI,CAAA;YACZ,CAAC;YAGD,WAAW;gBACV,OAAO;oBACN,IAAI,CAAC,MAAM,EAAE;oBACb,GAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,MAAM,EAAE,CAAE,CAAC,CAAC,CAAC,EAAE;iBAC1C,CAAA;YACF,CAAC;YAGD,UAAU;gBAET,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;gBAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAG,CAAA;gBACrC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;gBAE/B,IAAI,KAAK,KAAK,QAAQ;oBAAG,OAAO,CAAE,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAE,GAAG,GAAG,CAAA;gBAC9E,IAAI,KAAK,KAAK,KAAK;oBAAG,OAAO,WAAW,CAAC,GAAG,GAAG,GAAG,CAAA;gBAElD,OAAO,CAAC,CAAA;YACT,CAAC;YAGD,KAAK;gBACJ,QAAQ,IAAI,CAAC,MAAM,EAAE,EAAG,CAAC;oBACxB,KAAK,KAAK,CAAC,CAAC,OAAO,GAAI,IAAI,CAAC,SAAS,EAAG,IAAK,IAAI,CAAC,UAAU,EAAG,EAAE,CAAA;oBACjE,KAAK,MAAM,CAAC,CAAC,OAAO,GAAI,IAAI,CAAC,UAAU,EAAG,IAAK,IAAI,CAAC,SAAS,EAAG,EAAE,CAAA;oBAClE,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;gBAC9B,CAAC;YACF,CAAC;YAGD,UAAU;gBACT,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;gBAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;gBACjC,IAAI,CAAC,QAAQ;oBAAG,OAAO,UAAU,CAAA;gBAEjC,OAAO,QAAQ,CAAC,GAAG,GAAG,CAAE,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAA;YAChF,CAAC;YAGD,SAAS;gBACR,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;gBAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;gBACjC,IAAI,CAAC,QAAQ;oBAAG,OAAO,UAAU,CAAA;gBAEjC,OAAO,QAAQ,CAAC,IAAI,GAAG,CAAE,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;YACjF,CAAC;YAGD,SAAS;gBACR,MAAM,IAAI,GAAG,IAAI,SAAS,CAAA;gBAC1B,IAAI,CAAC,QAAQ,GAAG,GAAE,EAAE;oBACnB,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAiB,CAAA;oBACzC,OAAO,IAAI,GAAG,IAAI,CAAC,YAA4B,EAAG,CAAC;wBAClD,IAAI,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAE,IAAI,CAAE,CAAC,QAAQ,KAAK,SAAS;4BAAG,OAAO,IAAI,CAAA;oBAC1F,CAAC;oBACD,OAAO,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAA;gBACxD,CAAC,CAAA;gBACD,OAAO,IAAI,CAAA;YACZ,CAAC;YAGD,SAAS;gBACR,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,GAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAA;YAC1F,CAAC;SAED;QAzEA;YADE,QAAQ;8CAIT;QAGD;YADE,QAAQ;mDAMT;QAGD;YADE,QAAQ;kDAWT;QAGD;YADE,QAAQ;6CAOT;QAGD;YADE,QAAQ;kDAQT;QAGD;YADE,QAAQ;iDAQT;QAGD;YADE,QAAQ;iDAWT;QAGD;YADE,QAAQ;iDAGT;QA1EW,WAAQ,WA4EpB,CAAA;IACF,CAAC,EAnFW,EAAE,GAAF,IAAE,KAAF,IAAE,QAmFb;AAAD,CAAC,EAnFS,CAAC,KAAD,CAAC,QAmFV;;;;ACnFD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,sBAAsB,EACtD,06DAA06D,CAC16D,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAyGV;AAzGD,WAAU,CAAC;IACV,MAAa,SAAU,SAAQ,QAAQ;QAStC,KAAK;YACJ,OAAO;gBACN,GAAG,KAAK,CAAC,KAAK,EAAE;gBAChB,OAAO,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;aACpB,CAAA;QAC3B,CAAC;QAOD,MAAM;YACL,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;QACtB,CAAC;QAQD,OAAO,CAAC,KAAW;YAClB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,eAAe;YACd,OAAO,IAAI,CAAA;QACZ,CAAC;QAQD,MAAM,CAAC,IAAU;YAChB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,eAAe;YACd,OAAO;gBACN,IAAI,CAAC,KAAK,EAAE;aACoB,CAAA;QAClC,CAAC;QAOD,IAAI;YACH,OAAO,EAAE,CAAA;QACV,CAAC;QAeD,OAAO;YACN,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;YAEnC,GAAG,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;YAC5B,GAAG,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;YAC7B,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAA;YAC1C,GAAG,CAAC,OAAO,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC/C,GAAG,CAAC,MAAM,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC9C,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAA;YACtC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YAE5B,OAAO,GAAG,CAAA;QACX,CAAC;KACD;IAvEA;QADE,QAAQ;4CAIT;IAiBD;QADE,QAAQ;2CAIT;IAmCD;QADE,QAAQ;4CAaT;IArGW,WAAS,YAsGrB,CAAA;AAEF,CAAC,EAzGS,CAAC,KAAD,CAAC,QAyGV;;;;ACzGD,IAAU,CAAC,CAwBV;AAxBD,WAAU,CAAC;IAAC,IAAA,EAAE,CAwBb;IAxBW,WAAA,EAAE;QAOb,MAAa,SAAU,SAAQ,CAAC,CAAC,SAAS;YAEzC,OAAO,CAAE,KAAqB;gBAE7B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;oBAAG,OAAM;gBAEpC,IAAI,KAAK,CAAC,gBAAgB;oBAAG,OAAM;gBAEnC,IAAI,KAAK,CAAC,OAAO,KAAK,kBAAkB,CAAC,MAAM,EAAG,CAAC;oBAClD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;wBAAG,OAAM;oBAC3B,KAAK,CAAC,cAAc,EAAE,CAAA;oBACtB,IAAI,CAAC,MAAM,CAAE,KAAK,CAAE,CAAA;gBACrB,CAAC;YAEF,CAAC;SAED;QAhBY,YAAS,YAgBrB,CAAA;IACF,CAAC,EAxBW,EAAE,GAAF,IAAE,KAAF,IAAE,QAwBb;AAAD,CAAC,EAxBS,CAAC,KAAD,CAAC,QAwBV;;;;ACxBD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,wBAAwB,EACxD,oEAAoE,CACpE,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAkEV;AAlED,WAAU,CAAC;IACV,MAAa,WAAY,SAAQ,WAAW;QAS3C,KAAK;YACJ,OAAO;gBACN,GAAG,KAAK,CAAC,KAAK,EAAE;gBAChB,OAAO,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;aACpB,CAAA;QAC3B,CAAC;QAOD,GAAG;YACF,OAAO,EACmB,CAAA;QAC3B,CAAC;QAOD,QAAQ;YACP,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,OAAO;YACN,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,SAAS;YACR,OAAO,KAAK,CAAA;QACb,CAAC;QAQD,OAAO,CAAC,KAAW;YAClB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;KACD;IAJA;QADE,QAAQ;8CAIT;IA9DW,aAAW,cA+DvB,CAAA;AAEF,CAAC,EAlES,CAAC,KAAD,CAAC,QAkEV;;;;AClED,IAAU,CAAC,CA8BV;AA9BD,WAAU,CAAC;IAAC,IAAA,EAAE,CA8Bb;IA9BW,WAAA,EAAE;QAKb,MAAa,WAAY,SAAQ,CAAC,CAAC,WAAW;YAE7C,GAAG;gBACF,OAAO,KAAK,CAAC,GAAG,EAEf,CAAA;YACF,CAAC;YAED,OAAO,CAAE,KAAsB;gBAE9B,IAAI,CAAC,KAAK;oBAAG,OAAM;gBACnB,IAAI,KAAK,CAAC,gBAAgB;oBAAG,OAAM;gBAEnC,IAAI,IAAI,GAAG,kBAAkB,CAAE,KAAK,CAAC,OAAO,CAAqC,CAAA;gBAEjF,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAE;oBAAG,OAAM;gBACnE,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,MAAM;oBAAG,OAAM;gBAC5C,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,KAAK,CAAC,QAAQ;oBAAG,OAAM;gBAEhD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAE,IAAI,CAAE,CAAA;gBACjC,IAAI,MAAM;oBAAG,MAAM,CAAE,KAAK,CAAE,CAAA;YAE7B,CAAC;SAED;QAxBY,cAAW,cAwBvB,CAAA;IACF,CAAC,EA9BW,EAAE,GAAF,IAAE,KAAF,IAAE,QA8Bb;AAAD,CAAC,EA9BS,CAAC,KAAD,CAAC,QA8BV;;;;AC9BD,IAAU,CAAC,CA6JV;AA7JD,WAAU,CAAC;IACV,MAAa,QAAS,SAAQ,WAAW;QAQxC,KAAK,CAAC,IAAU;YACf,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,QAAQ;YACP,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,SAAS;YACR,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,OAAO;YACN,OAAO,KAAK,CAAA;QACb,CAAC;QAQD,MAAM,CAAC,IAAU;YAChB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,EACY,CAAA;QACpB,CAAC;QAQD,MAAM,CAAC,IAAU;YAChB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,EACY,CAAA;QACpB,CAAC;QAQD,SAAS,CAAC,IAAU;YACnB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,IAAW,CAAA;QACnB,CAAC;QAQD,SAAS,CAAC,IAAU;YACnB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,IAAW,CAAA;QACnB,CAAC;QAQD,QAAQ,CAAC,KAAW;YACnB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAQD,UAAU,CAAC,KAAW;YACrB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAQD,UAAU,CAAC,KAAW;YACrB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAQD,WAAW,CAAC,KAAW;YACtB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QASD,KAAK;YACJ,OAAO;gBACN,GAAG,KAAK,CAAC,KAAK,EAAE;gBAChB,OAAO,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;aACtB,CAAA;QAC3B,CAAC;QAQD,SAAS,CAAC,KAAW;YACpB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;KACD;IAlJA;QADE,QAAQ;yCAIT;IAmCD;QADE,QAAQ;0CAKT;IAQD;QADE,QAAQ;0CAKT;IAQD;QADE,QAAQ;6CAIT;IAQD;QADE,QAAQ;6CAIT;IAQD;QADE,QAAQ;4CAIT;IAQD;QADE,QAAQ;8CAIT;IAQD;QADE,QAAQ;8CAIT;IAQD;QADE,QAAQ;+CAIT;IAsBD;QADE,QAAQ;6CAIT;IAzJW,UAAQ,WA0JpB,CAAA;AAEF,CAAC,EA7JS,CAAC,KAAD,CAAC,QA6JV;;;;AC7JD,IAAU,CAAC,CAiHV;AAjHD,WAAU,CAAC;IAAC,IAAA,EAAE,CAiHb;IAjHW,WAAA,EAAE;QAMb,MAAa,QAAS,SAAQ,CAAC,CAAC,QAAQ;YAEvC,SAAS,CAAE,KAAsB;gBAChC,IAAI,CAAC,KAAK;oBAAG,OAAO,KAAK,CAAA;gBACzB,IAAI,KAAK,CAAC,gBAAgB;oBAAG,OAAM;gBAEnC,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;oBAAG,OAAM;gBAC9C,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;oBAAG,OAAM;gBAChD,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;oBAAG,OAAM;gBAE5C,QAAQ,KAAK,CAAC,OAAO,EAAG,CAAC;oBACxB,KAAK,kBAAkB,CAAC,EAAG,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAE,KAAK,CAAE,CAAA;oBAC1D,KAAK,kBAAkB,CAAC,IAAK,CAAC,CAAC,OAAO,IAAI,CAAC,UAAU,CAAE,KAAK,CAAE,CAAA;oBAC9D,KAAK,kBAAkB,CAAC,IAAK,CAAC,CAAC,OAAO,IAAI,CAAC,UAAU,CAAE,KAAK,CAAE,CAAA;oBAC9D,KAAK,kBAAkB,CAAC,KAAM,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,CAAE,KAAK,CAAE,CAAA;oBAChE,KAAK,kBAAkB,CAAC,MAAO,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAE,KAAK,CAAE,CAAA;oBAC9D,KAAK,kBAAkB,CAAC,QAAS,CAAC,CAAC,OAAO,IAAI,CAAC,UAAU,CAAE,KAAK,CAAE,CAAA;gBACnE,CAAC;YACF,CAAC;YAED,QAAQ,CAAE,KAAsB;gBAC/B,IAAI,CAAC,KAAK;oBAAG,OAAO,KAAK,CAAA;gBAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;gBAC1B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBAAG,OAAM;gBAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAE/B,MAAM,SAAS,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;gBAChD,MAAM,SAAS,GAAG,CAAE,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,GAAG,IAAI,CAAC,MAAM,CAAA;gBAE/D,KAAK,CAAC,cAAc,EAAE,CAAA;gBAEtB,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBAAG,OAAM;gBAE7C,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,MAAM,EAAE,CAAE,SAAS,CAAE,CAAE,CAAA;YAC7C,CAAC;YAED,UAAU,CAAE,KAAsB;gBACjC,IAAI,CAAC,KAAK;oBAAG,OAAO,KAAK,CAAA;gBAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;gBAC1B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBAAG,OAAM;gBAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAE/B,MAAM,SAAS,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC/D,MAAM,SAAS,GAAG,CAAE,SAAS,GAAG,CAAC,CAAE,GAAG,IAAI,CAAC,MAAM,CAAA;gBAEjD,KAAK,CAAC,cAAc,EAAE,CAAA;gBAEtB,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBAAG,OAAM;gBAE7C,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,MAAM,EAAE,CAAE,SAAS,CAAE,CAAE,CAAA;YAC7C,CAAC;YAED,UAAU,CAAE,KAAsB;gBACjC,IAAI,CAAC,KAAK;oBAAG,OAAO,KAAK,CAAA;gBAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;gBAC1B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBAAG,OAAM;gBAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAE/B,MAAM,SAAS,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;gBAChD,MAAM,SAAS,GAAG,CAAE,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,GAAG,IAAI,CAAC,MAAM,CAAA;gBAE/D,KAAK,CAAC,cAAc,EAAE,CAAA;gBAEtB,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBAAG,OAAM;gBAE7C,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,MAAM,EAAE,CAAE,SAAS,CAAE,CAAE,CAAA;YAC7C,CAAC;YAED,WAAW,CAAE,KAAsB;gBAClC,IAAI,CAAC,KAAK;oBAAG,OAAO,KAAK,CAAA;gBAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;gBAC1B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBAAG,OAAM;gBAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAE/B,MAAM,SAAS,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;gBAC9D,MAAM,SAAS,GAAG,CAAE,SAAS,GAAG,CAAC,CAAE,GAAG,IAAI,CAAC,MAAM,CAAA;gBAEjD,KAAK,CAAC,cAAc,EAAE,CAAA;gBAEtB,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBAAG,OAAM;gBAE7C,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,MAAM,EAAE,CAAE,SAAS,CAAE,CAAE,CAAA;YAC7C,CAAC;YAED,OAAO;gBACN,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAE,IAAI,CAAC,SAAS,EAAE,CAAE,CAAA;gBACrD,IAAI,KAAK,GAAG,CAAC;oBAAG,OAAO,IAAI,CAAA;gBAE3B,OAAO,KAAK,CAAA;YACb,CAAC;YAED,OAAO;gBACN,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAE,IAAI,CAAC,SAAS,EAAE,CAAE,CAAA;gBACrD,IAAI,KAAK,GAAG,CAAC;oBAAG,OAAO,IAAI,CAAA;gBAE3B,OAAO,KAAK,CAAA;YACb,CAAC;SAED;QA1GY,WAAQ,WA0GpB,CAAA;IACF,CAAC,EAjHW,EAAE,GAAF,IAAE,KAAF,IAAE,QAiHb;AAAD,CAAC,EAjHS,CAAC,KAAD,CAAC,QAiHV;;;;ACjHD,IAAU,CAAC,CA0UV;AA1UD,WAAU,CAAC;IACV,MAAa,WAAY,SAAQ,SAAS;QAOzC,QAAQ;YACP,OAAO,OAAO,CAAA;QACf,CAAC;QAOD,OAAO;YACN,OAAO,IAAI,CAAA;QACZ,CAAC;QAOD,cAAc;YACb,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,YAAY;YACX,OAAO,KAAK,CAAA;QACb,CAAC;QAUD,SAAS,CAAC,IAAU;YACnB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO;gBACN,CAAC;gBACD,CAAC;aACoB,CAAA;QACvB,CAAC;QASD,IAAI;YACH,OAAO;gBACN,IAAI,CAAC,iBAAiB,EAAE;gBACxB,IAAI,CAAC,YAAY,EAAE;aACD,CAAA;QACpB,CAAC;QAiBD,KAAK;YACJ,OAAO;gBACN,GAAG,KAAK,CAAC,KAAK,EAAE;gBAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;gBACzB,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE;gBAC3B,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE;gBAChC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;gBAC7B,YAAY,EAAE,IAAI,CAAC,mBAAmB,EAAE;gBACxC,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE;gBAClC,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE;gBACtC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE;gBAC1B,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE;aACD,CAAA;QAC3B,CAAC;QAUD,IAAI;YACH,OAAO;gBACN,GAAG,KAAK,CAAC,IAAI,EAAE;gBACf,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE;gBAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;aACQ,CAAA;QAC3B,CAAC;QASD,KAAK;YACJ,OAAO;gBACN,GAAG,KAAK,CAAC,KAAK,EAAE;gBAChB,KAAK,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;aACvB,CAAA;QAC3B,CAAC;QAOD,OAAO;YACN,OAAO;gBACN,IAAI,CAAC,MAAM,EAAE;aACK,CAAA;QACpB,CAAC;QAOD,iBAAiB;YAChB,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,YAAY;YACX,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,QAAQ;YACP,OAAO,KAAK,CAAA;QACb,CAAC;QAQD,KAAK,CAAC,IAAU;YACf,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,aAAa,CAAC,IAAU;YACvB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC;QAOD,IAAI;YACH,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,YAAY;YACX,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC;QAOD,UAAU;YACT,OAAO,IAAI,CAAA;QACZ,CAAC;QAOD,mBAAmB;YAClB,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,aAAa;YACZ,OAAO,CAAC,CAAA;QACT,CAAC;QAOD,eAAe;YACd,OAAO,CAAC,CAAA;QACT,CAAC;QAOD,QAAQ;YACP,OAAO,MAAM,CAAA;QACd,CAAC;QAOD,KAAK;YACJ,OAAO,IAAI,CAAA;QACZ,CAAC;QAOD,UAAU;YACT,OAAO,CAAC,QAAQ,CAAA;QACjB,CAAC;QAQD,IAAI,CAAC,IAAU;YACd,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,MAAM,CAAA;QACd,CAAC;QAQD,YAAY,CAAC,KAAW;YACvB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,gBAAgB;YACf,OAAO,KAAK,CAAA;QACb,CAAC;QAQD,MAAM,CAAC,KAAW;YACjB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAUD,MAAM;YACL,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAA;YAC5C,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;gBAChB,KAAK,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;aAChB,CAAA,CAAA;YAE3B,OAAO,GAAG,CAAA;QACX,CAAC;KACD;IAzRA;QADE,QAAQ;gDAOT;IAwHD;QADE,QAAQ;4CAIT;IAkGD;QADE,QAAQ;2CAIT;IAQD;QADE,QAAQ;mDAIT;IAiBD;QADE,QAAQ;6CAIT;IAUD;QADE,QAAQ;6CAUT;IAtUW,aAAW,cAuUvB,CAAA;AAEF,CAAC,EA1US,CAAC,KAAD,CAAC,QA0UV;;;;AC1UD,IAAU,CAAC,CA+FV;AA/FD,WAAU,CAAC;IAAC,IAAA,EAAE,CA+Fb;IA/FW,WAAA,EAAE;QAKb,MAAa,WAAY,SAAQ,CAAC,CAAC,WAAW;YAG7C,YAAY,CAAE,IAAa;gBAC1B,IAAI,CAAC,IAAI;oBAAG,OAAM;gBAClB,MAAM,EAAE,GAAG,IAAI,CAAC,MAA0B,CAAA;gBAC1C,MAAM,IAAI,GAAG,EAAE,CAAC,cAAc,CAAA;gBAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAA;gBAC1B,IAAI,CAAC;oBACJ,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAE,EAAE,CAAC,KAAK,CAAE,CAAA;gBAC1C,CAAC;gBAAC,OAAO,KAAK,EAAG,CAAC;oBACjB,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAsB,CAAA;oBAC9C,IAAI,KAAK,YAAY,KAAK,EAAG,CAAC;wBAC7B,EAAE,CAAC,iBAAiB,CAAE,KAAK,CAAC,OAAO,CAAE,CAAA;wBACrC,EAAE,CAAC,cAAc,EAAE,CAAA;oBACpB,CAAC;oBACD,gBAAgB,CAAE,KAAK,CAAE,CAAA;gBAC1B,CAAC;gBACD,IAAI,EAAE,KAAK,IAAI;oBAAG,OAAM;gBACxB,EAAE,CAAC,YAAY,GAAG,EAAE,CAAA;gBACpB,EAAE,CAAC,cAAc,GAAG,IAAI,CAAA;gBACxB,IAAI,CAAC,gBAAgB,CAAE,IAAI,CAAE,CAAA;YAC9B,CAAC;YAGD,YAAY;gBACX,IAAI,CAAC;oBACJ,IAAI,IAAI,CAAC,OAAO,EAAE;wBAAG,IAAI,CAAC,KAAK,EAAE,CAAA;gBAClC,CAAC;gBAAC,OAAO,KAAK,EAAG,CAAC;oBACjB,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAsB,CAAA;oBAC9C,IAAI,KAAK,YAAY,KAAK,EAAG,CAAC;wBAC7B,EAAE,CAAC,iBAAiB,CAAE,KAAK,CAAC,OAAO,CAAE,CAAA;wBACrC,EAAE,CAAC,cAAc,EAAE,CAAA;oBACpB,CAAC;gBACF,CAAC;YACF,CAAC;YAED,YAAY;gBACX,OAAO,CAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAE,IAAI,GAAG,CAAA;YACpD,CAAC;YAED,QAAQ;gBACP,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;YACvB,CAAC;YAED,mBAAmB;gBAClB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;YAC1C,CAAC;YAGD,iBAAiB;gBAChB,OAAO,IAAI,iBAAiB,CAC3B,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAChC,iBAAiB,EACjB,eAAe,CAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAE,KAAK,CAAE,CAAE,CAC1D,CAAA;YACF,CAAC;YAED,gBAAgB,CAAE,KAAY;gBAE7B,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAsB,CAAA;gBAC9C,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa;oBAAG,OAAM;gBAElE,MAAM,CAAE,IAAI,EAAE,EAAE,CAAE,GAAG,IAAI,CAAC,SAAS,CAAC;oBACnC,EAAE,CAAC,cAAe;oBAClB,EAAE,CAAC,YAAa;iBAChB,CAAC,CAAA;gBAEF,EAAE,CAAC,YAAY,GAAG,EAAE,CAAA;gBACpB,EAAE,CAAC,cAAc,GAAG,IAAI,CAAA;gBAExB,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,YAAY,KAAK,EAAE,CAAC,cAAc,EAAG,CAAC;oBAC3D,EAAE,CAAC,YAAY,GAAG,EAAE,CAAA;gBACrB,CAAC;YAEF,CAAC;YAED,eAAe;gBACd,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAsB,CAAA;gBAC9C,IAAI,EAAE,CAAC,cAAc,KAAK,IAAI;oBAAG,OAAO,SAA0B,CAAA;gBAClE,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;YAC3B,CAAC;YAED,aAAa;gBACZ,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAsB,CAAA;gBAC9C,IAAI,EAAE,CAAC,YAAY,KAAK,IAAI;oBAAG,OAAO,SAA0B,CAAA;gBAChE,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;YAC3B,CAAC;SAED;QAtFA;YADE,WAAW;uDAoBZ;QAGD;YADE,QAAQ;uDAWT;QAeD;YADE,QAAQ;4DAOT;QAxDW,cAAW,cAyFvB,CAAA;IACF,CAAC,EA/FW,EAAE,GAAF,IAAE,KAAF,IAAE,QA+Fb;AAAD,CAAC,EA/FS,CAAC,KAAD,CAAC,QA+FV;;;;AC/FD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,4BAA4B,EAC5D,yiCAAyiC,CACziC,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAaV;AAbD,WAAU,CAAC;IACV,MAAa,eAAgB,SAAQ,SAAS;QAO7C,IAAI;YACH,OAAO,+GAA+G,CAAA;QACvH,CAAC;KACD;IAVY,iBAAe,kBAU3B,CAAA;AAEF,CAAC,EAbS,CAAC,KAAD,CAAC,QAaV;;;;ACbD,IAAU,CAAC,CAmDV;AAnDD,WAAU,CAAC;IACV,MAAa,cAAe,SAAQ,SAAS;QAO5C,WAAW;YACV,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,YAAY;YACX,OAAO,CAAC,CAAA;QACT,CAAC;QAOD,WAAW;YACV,OAAO,CAAC,QAAQ,CAAA;QACjB,CAAC;QAOD,SAAS;YACR,OAAO,CAAC,CAAA;QACT,CAAC;QAOD,GAAG;YACF,OAAO;gBACN,IAAI,CAAC,KAAK,EAAE;aACM,CAAA;QACpB,CAAC;KACD;IAhDY,gBAAc,iBAgD1B,CAAA;AAEF,CAAC,EAnDS,CAAC,KAAD,CAAC,QAmDV;;;;ACnDD,IAAU,CAAC,CA8CV;AA9CD,WAAU,CAAC;IAAC,IAAA,EAAE,CA8Cb;IA9CW,WAAA,EAAE;QAEb,MAAa,cAAe,SAAQ,CAAC,CAAC,cAAc;YAGnD,aAAa;gBAEZ,IAAI,KAAK,GAAG,CAAC,CAAA;gBACb,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;gBAElC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,EAAG,CAAC;oBAE/B,IAAI,CAAC,GAAG;wBAAG,SAAQ;oBAEnB,IAAI,GAAG,YAAY,SAAS,EAAG,CAAC;wBAC/B,KAAK,IAAI,GAAG,CAAC,aAAa,EAAE,CAAA;oBAC7B,CAAC;yBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAG,CAAC;wBACrC,KAAK,IAAI,MAAM,CAAE,GAAG,CAAE,CAAC,MAAM,GAAG,MAAM,CAAA;oBACvC,CAAC;gBAEF,CAAC;gBAED,OAAO,KAAK,CAAA;YAEb,CAAC;YAED,WAAW;gBACV,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;YACvC,CAAC;YAED,aAAa;gBACZ,OAAO,IAAI,CAAC,YAAY,EAAE,CAAA;YAC3B,CAAC;YAGD,SAAS;gBACR,OAAO,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,WAAW,EAAE,EAAG,IAAI,CAAC,aAAa,EAAE,CAAE,EAAG,IAAI,CAAC,YAAY,EAAE,CAAE,CAAA;YAC/F,CAAC;YAGD,cAAc;gBACb,OAAO,IAAI,CAAC,GAAG,CAAE,CAAC,EAAG,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAE,CAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;YACjG,CAAC;SAED;QAvCA;YADE,QAAQ;2DAoBT;QAWD;YADE,QAAQ;uDAGT;QAGD;YADE,QAAQ;4DAGT;QAxCW,iBAAc,iBA0C1B,CAAA;IAEF,CAAC,EA9CW,EAAE,GAAF,IAAE,KAAF,IAAE,QA8Cb;AAAD,CAAC,EA9CS,CAAC,KAAD,CAAC,QA8CV;;;;AC9CD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,kCAAkC,EAClE,kEAAkE,CAClE,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAkFV;AAlFD,WAAU,CAAC;IACV,MAAa,WAAY,SAAQ,cAAc;QAO9C,QAAQ;YACP,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,MAAM;YACL,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,GAAG;YACF,OAAO,IAAI,CAAC,KAAK,EAAE,CAAA;QACpB,CAAC;QAQD,GAAG,CAAC,EAAO;YACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAA;YAEvC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;aACG,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,IAAI,CAAC,EAAO;YACX,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAA;YAEvC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;aACG,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,KAAK;YACJ,OAAO,EAC0B,CAAA;QAClC,CAAC;QAOD,MAAM,CAAC,EAAO;YACb,OAAO,EAAE,CAAA;QACV,CAAC;KACD;IA5CA;QADE,YAAY;0CASb;IAQD;QADE,YAAY;2CASb;IA3DW,aAAW,cA+EvB,CAAA;AAEF,CAAC,EAlFS,CAAC,KAAD,CAAC,QAkFV;;;;;;;;;;ACtED,IAAU,CAAC,CA6dV;AA7dD,WAAU,CAAC;IAqDV,MAAa,WAAwD,SAAQ,MAAM;QAGjB;QAAjE,YAAa,MAAe,EAAG,QAAiB,KAAK,EAAY,SAAkD,EAAE;YACpH,KAAK,CAAE,MAAM,EAAG,KAAK,CAAE,CAAA;YADyC,WAAM,GAAN,MAAM,CAA8C;QAErH,CAAC;QAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAE,GAAU;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAA;YAC5B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;YAClB,IAAI,CAAC;gBACJ,OAAQ,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,EAAG,CAAC;oBACtC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC5B,IAAI,CAAC,KAAK;wBAAG,MAAK;oBAClB,MAAM,KAAK,CAAA;gBACZ,CAAC;YACF,CAAC;oBAAS,CAAC;gBACV,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;YACvB,CAAC;QACF,CAAC;QAGD,CAAE,MAAM,CAAC,KAAK,CAAE,CAAE,GAAY;YAC7B,MAAM,GAAG,GAAG,CAAE,GAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAE,GAAG,CAAE,CAAE,CAAC,MAAM,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAA;YACzF,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAG,OAAO,IAAI,CAAA;YAC7B,OAAO,GAAuB,CAAA;QAC/B,CAAC;QAGD,CAAE,MAAM,CAAC,KAAK,CAAE,CAAE,GAAY;YAE7B,MAAM,GAAG,GAAG,EAAc,CAAA;YAC1B,IAAI,UAAU,GAAG,IAAI,CAAA;YAErB,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAE,GAAG,CAAE,EAAG,CAAC;gBACjD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAE;oBAAG,GAAG,CAAC,IAAI,CAAE,EAAE,CAAE,CAAA;gBAC9E,GAAG,CAAC,IAAI,CAAE,KAAK,CAAC,CAAC,CAAC,CAAE,CAAA;gBACpB,UAAU,GAAG,KAAK,CAAA;YACnB,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAG,GAAG,CAAC,IAAI,CAAE,EAAE,CAAE,CAAA;YAEhC,OAAO,GAAG,CAAA;QACX,CAAC;QAED,IAAI,CAAE,GAAY;YACjB,OAAO,OAAO,CAAE,GAAG,CAAC,KAAK,CAAE,IAAI,CAAC,CAAE,CAAA;QACnC,CAAC;QAED,IAAI,CAAE,GAAY;YAEjB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAA;YAC3B,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM;gBAAG,OAAO,IAAI,CAAA;YAEpC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;YAC7B,IAAI,GAAG,KAAK,IAAI,EAAG,CAAC;gBACnB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,CAAA;gBAC3B,IAAI,CAAC,GAAG;oBAAG,OAAO,IAAI,CAAA;gBACtB,OAAO,MAAM,CAAC,MAAM,CAAE,CAAE,GAAG,CAAC,KAAK,CAAE,IAAI,CAAE,CAAE,EAAE;oBAC5C,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,GAAG;iBACV,CAAS,CAAA;YACX,CAAC;YAED,IAAI,IAAI,KAAK,IAAI,CAAC,SAAS,EAAG,CAAC;gBAC9B,SAAS,CAAE,IAAI,KAAK,CAAE,0BAA0B,CAAE,CAAE,CAAA;YACrD,CAAC;YAGD,MAAM,MAAM,GAAG,EAAW,CAAA;YAE1B,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAE,IAAI,EAAG,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAE,CAAA;YAClE,IAAI,OAAO,EAAG,CAAC;gBACd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;gBAC/C,OAAO,MAAM,CAAC,MAAM,CAAE,CAAE,OAAO,CAAE,EAAE;oBAClC,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,GAAG,CAAC,KAAK;iBAChB,CAAS,CAAA;YACX,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAG,EAAE,CAAC,EAAG,CAAC;gBAChD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAE,CAAC,CAAE,CAAA;gBAC9B,MAAM,CAAE,KAAK,CAAE,GAAG,MAAM,CAAE,KAAK,CAAE,IAAI,GAAG,CAAE,CAAC,GAAG,CAAC,CAAE,IAAI,EAAS,CAAA;YAC/D,CAAC;YAED,OAAO,MAAM,CAAC,MAAM,CAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAE,CAAA;QACxC,CAAC;QAED,QAAQ,CACP,MAAkC;YAElC,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,IAAI,MAAM;YACT,OAAO,IAAI,MAAM,CAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAE,CAAA;QAC7C,CAAC;QAGD,MAAM,CAAC,MAAM,CAGZ,MAAe,EACf,GAAG,GAAG,CAAC,EACP,GAAG,GAAG,MAAM,CAAC,iBAAiB;YAG9B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;YACzC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAE,GAAG,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;YAE/C,MAAM,GAAG,GAAG,MAAO,MAAM,CAAC,MAAO,KAAM,GAAI,IAAK,KAAM,IAAI,CAAA;YAC1D,MAAM,OAAO,GAAI,IAAI,WAAW,CAAE,GAAG,EAAG,MAAM,CAAC,KAAK,EAAG,MAAM,CAAC,MAAM,CAAE,CAAA;YAEtE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE;gBAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAE,MAAM,CAAE,CAAA;gBACrC,IAAI,GAAG;oBAAG,OAAO,GAAG,CAAA;gBACpB,IAAI,GAAG,GAAG,CAAC;oBAAG,OAAO,GAAG,CAAA;gBACxB,OAAO,EAAE,CAAA;YACV,CAAC,CAAA;YAED,OAAO,OAAO,CAAA;QAEf,CAAC;QAGD,MAAM,CAAC,aAAa,CAGnB,MAAe,EACf,GAAG,GAAG,CAAC,EACP,GAAG,GAAG,MAAM,CAAC,iBAAiB;YAG9B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;YACzC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAE,GAAG,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;YAE/C,MAAM,GAAG,GAAG,MAAO,MAAM,CAAC,MAAO,KAAM,GAAI,IAAK,KAAM,GAAG,CAAA;YACzD,MAAM,OAAO,GAAI,IAAI,WAAW,CAAE,GAAG,EAAG,MAAM,CAAC,KAAK,EAAG,MAAM,CAAC,MAAM,CAAE,CAAA;YAEtE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE;gBAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAE,MAAM,CAAE,CAAA;gBACrC,IAAI,GAAG;oBAAG,OAAO,GAAG,CAAA;gBACpB,IAAI,GAAG,GAAG,CAAC;oBAAG,OAAO,GAAG,CAAA;gBACxB,OAAO,EAAE,CAAA;YACV,CAAC,CAAA;YAED,OAAO,OAAO,CAAA;QACf,CAAC;QAGD,MAAM,CAAC,IAAI,CAGV,OAAiB;YAGjB,MAAM,MAAM,GAAG,EAAc,CAAA;YAE7B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAE,MAAM,CAAC,EAAE;gBAEpC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;gBACzC,MAAM,CAAC,IAAI,CAAE,GAAI,MAAM,CAAC,MAAM,CAAE,CAAA;gBAEhC,OAAO,MAAM,CAAC,MAAM,CAAA;YAErB,CAAC,CAAsE,CAAA;YAEvE,OAAO,IAAI,WAAW,CACrB,MAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAE,GAAG,EAC3B,EAAE,EACF,MAAe,CACf,CAAA;QAEF,CAAC;QAGD,MAAM,CAAC,QAAQ,CAEZ,MAAe;YACjB,OAAO,WAAW,CAAC,aAAa,CAAE,MAAM,EAAG,CAAC,EAAG,CAAC,CAAE,CAAA;QACnD,CAAC;QAGD,MAAM,CAAC,WAAW,CAAE,MAA2B;YAE9C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;YAEzC,OAAO,IAAI,WAAW,CACrB,MAAO,MAAM,CAAC,MAAO,GAAG,EACxB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,MAAM,CACb,CAAA;QAEF,CAAC;QAGD,MAAM,CAAC,YAAY,CAAE,MAA2B;YAE/C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;YAEzC,OAAO,IAAI,WAAW,CACrB,MAAO,MAAM,CAAC,MAAO,GAAG,EACxB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,MAAM,CACb,CAAA;QAEF,CAAC;QAGD,MAAM,CAAC,IAAI,CAGV,MAAe,EACf,EAAE,UAAU,EAAG,SAAS,KAA8D;YACrF,UAAU,EAAG,KAAK;YAClB,SAAS,EAAG,KAAK;SACjB;YAGD,IAAI,KAAK,GAAG,KAAK,CAAA;YACjB,IAAI,SAAS;gBAAG,KAAK,IAAI,GAAG,CAAA;YAC5B,IAAI,UAAU;gBAAG,KAAK,IAAI,GAAG,CAAA;YAE7B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAG,CAAC;gBAEjC,MAAM,GAAG,GAAG,OAAQ,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAE,GAAG,CAAA;gBAC3C,MAAM,MAAM,GAAG,IAAI,WAAW,CAAkC,GAAG,EAAG,KAAK,CAAE,CAAA;gBAC7E,MAAM,CAAC,QAAQ,GAAG,GAAE,EAAE,CAAC,GAAG,CAAA;gBAC1B,OAAO,MAAM,CAAA;YAEd,CAAC;YAAC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAG,CAAC;gBAEnC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAE,qBAAqB,EAAG,MAAM,CAAE,CAAA;gBAC5D,MAAM,MAAM,GAAG,IAAI,WAAW,CAAkC,GAAG,EAAG,KAAK,CAAE,CAAA;gBAC7E,MAAM,CAAC,QAAQ,GAAG,GAAE,EAAE,CAAC,MAAM,CAAA;gBAC7B,OAAO,MAAM,CAAA;YAEd,CAAC;iBAAM,IAAI,MAAM,YAAY,WAAW,EAAG,CAAC;gBAE3C,MAAM,MAAM,GAAI,IAAI,WAAW,CAAO,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAE,CAAA;gBAC3E,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAE,MAAM,CAAE,CAAA;gBACrD,OAAO,MAAM,CAAA;YAEd,CAAC;YAAC,IAAI,MAAM,YAAY,MAAM,EAAG,CAAC;gBAGjC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAE,GAAG,GAAG,MAAM,CAAC,MAAM,CAAE,CAAA;gBAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACxB,EAAE,MAAM,EAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC,MAAM,GAAG,CAAC,EAAE,EACtC,CAAE,CAAC,EAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAE,CAAC,GAAG,CAAC,CAAE,CAC3B,CAAA;gBAED,MAAM,MAAM,GAAG,IAAI,WAAW,CAC7B,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,KAAK,EACZ,MAAa,CACb,CAAA;gBAED,MAAM,CAAC,QAAQ,GAAG,GAAE,EAAE,CAAC,EAAE,CAAA;gBAEzB,OAAO,MAAM,CAAA;YAEd,CAAC;YAAC,IAAI,KAAK,CAAC,OAAO,CAAE,MAAM,CAAE,EAAG,CAAC;gBAEhC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAE,GAAG,CAAE;oBACvD,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAE,GAAU,CAAE;oBACpC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,GAAG,CAAE,CACzB,CAAA;gBAED,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAE,CAAA;gBAExD,MAAM,MAAM,GAAG,EAAkE,CAAA;gBAEjF,IAAI,KAAK,GAAG,CAAC,CAAA;gBAEb,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAG,CAAC;oBAEjC,KAAK,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM,EAAG,CAAC;wBACnC,IAAI,MAAM,CAAE,KAAK,CAAE,IAAI,CAAC,EAAG,CAAC;4BAC3B,MAAM,CAAC,IAAI,CAAE,MAAM,CAAE,KAAK,EAAG,CAAS,CAAE,CAAA;wBACzC,CAAC;6BAAM,CAAC;4BACP,MAAM,CAAC,IAAI,CAAE,KAAK,CAAE,CAAA;wBACrB,CAAC;oBACF,CAAC;gBAEF,CAAC;gBAED,MAAM,MAAM,GAAG,IAAI,WAAW,CAAE,MAAM,CAAC,IAAI,CAAE,EAAE,CAAE,EAAG,KAAK,EAAG,MAAM,CAAE,CAAA;gBAEpE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE;oBAC1B,IAAI,GAAG,GAAG,EAAE,CAAA;oBACZ,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAG,CAAC;wBACjC,IAAI,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAE,MAAM,CAAE,CAAA;wBACpC,IAAI,GAAG,KAAK,IAAI;4BAAG,OAAO,EAAE,CAAA;wBAC5B,GAAG,IAAI,GAAG,CAAA;oBACX,CAAC;oBACD,OAAO,GAAG,CAAA;gBACX,CAAC,CAAA;gBAED,OAAO,MAAM,CAAA;YAEd,CAAC;iBAAM,CAAC;gBAEP,MAAM,MAAM,GAAG,EAAc,CAAA;gBAE7B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAE,MAAM,CAAE,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE;oBAEhD,MAAM,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;oBAEnB,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAG,MAAc,CAAE,IAAI,CAAE,CAAE,CAAA;oBAC1D,MAAM,CAAC,IAAI,CAAE,GAAI,MAAM,CAAC,MAAM,CAAE,CAAA;oBAEhC,OAAO,IAAI,MAAM,CAAC,MAAM,GAAG,CAAA;gBAE5B,CAAC,CAAsE,CAAA;gBAEvE,MAAM,MAAM,GAAG,IAAI,WAAW,CAC7B,MAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAE,GAAG,EAC3B,KAAK,EACL,MAAe,CACf,CAAA;gBAED,MAAM,SAAS,GAAG,IAAI,MAAM,CAAE,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,KAAK,CAAE,CAAA;gBAChE,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAW,EAAE,EAAE;oBAEjC,KAAK,IAAI,MAAM,IAAI,MAAM,EAAG,CAAC;wBAE5B,IAAI,MAAM,IAAI,MAAM,EAAG,CAAC;4BAEvB,IAAI,OAAO,MAAM,CAAE,MAAM,CAAE,KAAK,SAAS,EAAG,CAAC;gCAE5C,IAAI,CAAC,MAAM,CAAE,MAAa,CAAE;oCAAG,SAAQ;4BAExC,CAAC;iCAAM,CAAC;gCAEP,MAAM,GAAG,GAAG,MAAM,CAAE,MAAM,CAAE,MAAM,CAAE,CAAE,CAAA;gCACtC,IAAI,GAAG,CAAC,KAAK,CAAE,SAAS,CAAE;oCAAG,OAAO,GAAG,CAAA;gCAEvC,SAAS,CAAE,IAAI,KAAK,CAAE,gBAAgB,MAAM,IAAI,GAAG,EAAE,CAAE,CAAE,CAAA;4BAC1D,CAAC;wBAEF,CAAC;6BAAM,CAAC;4BACP,IAAI,OAAQ,MAAc,CAAE,MAAM,CAAE,KAAK,QAAQ;gCAAG,SAAQ;wBAC7D,CAAC;wBAED,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAG,MAAc,CAAE,MAAM,CAAG,CAAE,CAAC,QAAQ,CAAE,MAAM,CAAE,CAAA;wBAC7E,IAAI,GAAG;4BAAG,OAAO,GAAG,CAAA;oBAErB,CAAC;oBAED,OAAO,IAAI,CAAA;gBACZ,CAAC,CAAA;gBAED,OAAO,MAAM,CAAA;YAEd,CAAC;QAEF,CAAC;QAGD,MAAM,CAAC,YAAY,CAAE,GAAI,QAA+B;YACvD,OAAO,IAAI,WAAW,CACrB,OAAQ,QAAQ,CAAC,IAAI,CAAE,GAAG,CAAG,GAAG,CAChC,CAAA;QACF,CAAC;QAGD,MAAM,CAAC,cAAc,CAAE,GAAI,QAA+B;YACzD,OAAO,IAAI,WAAW,CACrB,OAAQ,QAAQ,CAAC,IAAI,CAAE,GAAG,CAAG,GAAG,CAChC,CAAA;QACF,CAAC;QAED,MAAM,CAAC,UAAU,CAChB,IAAY,EACZ,EAAU;YAEV,OAAO,IAAI,WAAW,CACrB,GAAI,WAAW,CAAC,IAAI,CAAE,IAAI,CAAE,CAAC,MAAO,IAAK,WAAW,CAAC,IAAI,CAAE,EAAE,CAAE,CAAC,MAAO,EAAE,CACzE,CAAA;QACF,CAAC;QAED,MAAM,CAAC,SAAS,CACf,GAAI,OAAkE;YAEtE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAE,CAAC,CAAE,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACxE,OAAO,IAAI,WAAW,CAAE,IAAK,MAAO,GAAG,CAAE,CAAA;QAC1C,CAAC;QAED,MAAM,CAAC,WAAW,CACjB,GAAI,SAAoE;YAExE,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAE,CAAC,CAAE,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC1E,OAAO,IAAI,WAAW,CAAE,KAAM,MAAO,GAAG,CAAE,CAAA;QAC3C,CAAC;QAED,MAAM,CAAC,YAAY,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QACjD,MAAM,CAAC,cAAc,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QAEnD,MAAM,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QAC/C,MAAM,CAAC,YAAY,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QAEjD,MAAM,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QAC/C,MAAM,CAAC,YAAY,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QAEjD,MAAM,CAAC,eAAe,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QACpD,MAAM,CAAC,iBAAiB,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QAEtD,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QACxC,MAAM,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QAC/C,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;QAExC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;QAC5C,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;QACzC,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;QACvC,MAAM,CAAC,EAAE,GAAG,WAAW,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;QAEtC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC;YAClC,OAAO,EAAE,CAAE,CAAE,IAAI,CAAE,EAAE,IAAI,CAAE;YAC3B,OAAO,EAAE,IAAI;SACb,CAAC,CAAA;;IApaU,aAAW,cAsavB,CAAA;AAEF,CAAC,EA7dS,CAAC,KAAD,CAAC,QA6dV;;;;ACzeD,IAAU,CAAC,CAoDV;AApDD,WAAU,CAAC;IAAC,IAAA,EAAE,CAoDb;IApDW,WAAA,EAAE;QAMb,MAAa,WAAY,SAAQ,CAAC,CAAC,WAAW;YAE7C,KAAK;gBACJ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;gBAC5B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;oBAAG,OAAO,CAAE,IAAI,CAAC,QAAQ,EAAE,CAAE,CAAA;gBAElD,IAAI,MAAM,GAAW,EAAE,CAAA;gBACvB,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;gBAE5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAG,KAAK,GAAG,OAAO,CAAC,MAAM,EAAG,KAAK,EAAE,EAAG,CAAC;oBACxD,IAAI,OAAO,CAAE,KAAK,CAAE,KAAK,EAAE;wBAAG,SAAQ;oBAEtC,MAAM,CAAC,IAAI,CAAE,CAAE,KAAK,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAE,KAAK,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAE,KAAK,CAAE,CAAE,CAAA;gBACtE,CAAC;gBAED,OAAO,MAAM,CAAA;YACd,CAAC;YAGD,OAAO;gBAEN,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAE,MAAM,CAAE,CAAC,MAAM,CAAE,OAAO,CAAE,CAAA;gBAC/D,IAAI,CAAC,OAAO,CAAC,MAAM;oBAAG,OAAO,CAAE,IAAI,CAAC,QAAQ,EAAE,CAAE,CAAA;gBAEhD,MAAM,QAAQ,GAAG,EAAE,GAAI,OAAO,EAA8B,CAAA;gBAC5D,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAE,CAAA;gBAE9E,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAE,MAAM,CAAE,CAAA;YACvC,CAAC;YAED,MAAM,CAAE,KAAa;gBACpB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAE,KAAK,CAAE,CAAA;YAC/B,CAAC;YAED,CAAC,SAAS,CACT,KAAoD,EACpD,OAAO,EAAiB;gBAGxB,IAAI,KAAK,CAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAE,EAAG,CAAC;oBACrC,MAAM,CAAE,GAAI,IAAI,EAAE,IAAI,CAAE,CAAA;gBACzB,CAAC;YAEF,CAAC;SAED;QA1BA;YADE,QAAQ;kDAUT;QA5BW,cAAW,cA6CvB,CAAA;IACF,CAAC,EApDW,EAAE,GAAF,IAAE,KAAF,IAAE,QAoDb;AAAD,CAAC,EApDS,CAAC,KAAD,CAAC,QAoDV;;;;ACpDD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,4BAA4B,EAC5D,+NAA+N,CAC/N,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CA0XV;AA1XD,WAAU,CAAC;IACV,MAAa,WAAY,SAAQ,QAAQ;QAQxC,KAAK,CAAC,IAAU;YACf,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,QAAQ;YACP,OAAO,EACe,CAAA;QACvB,CAAC;QAUD,OAAO;YACN,OAAO;gBACN,GAAG,KAAK,CAAC,OAAO,EAAE;gBAClB,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,GAAG,EAAE;aACgB,CAAA;QAC5B,CAAC;QAOD,MAAM,CAAC,IAAU;YAChB,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC;QAOD,SAAS;YACR,OAAO,OAAO,CAAA;QACf,CAAC;QAQD,MAAM;YACL,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;YAErC,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,cAAc;YACb,OAAO;gBACN,IAAI,CAAC,IAAI,EAAE;aACqB,CAAA;QAClC,CAAC;QAUD,OAAO,CAAC,EAAO;YACd,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAA;YAE1C,GAAG,CAAC,KAAK,GAAG,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YAC3D,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;YAExC,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,KAAK,CAAC,IAAU;YACf,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,IAAW,CAAA;QACnB,CAAC;QAQD,MAAM;YACL,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;gBAChB,MAAM,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;aACd,CAAA,CAAA;YAE3B,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,cAAc;YACb,OAAO,EACkB,CAAA;QAC1B,CAAC;QAQD,WAAW,CAAC,SAAe;YAC1B,IAAK,SAAS,KAAK,SAAS;gBAAG,OAAO,SAAkB,CAAA;YACxD,OAAO,IAAW,CAAA;QACnB,CAAC;QAUD,GAAG;YACF,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;YAEjC,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;YACxC,GAAG,CAAC,SAAS,GAAG,CAAC,SAAe,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;YAEhE,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,eAAe,CAAC,IAAU;YACzB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,IAAI;YACH,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,kBAAkB,CAAE,CAAA;QACrD,CAAC;QAQD,MAAM,CAAC,KAAW;YACjB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,OAAO;YACN,OAAO,IAAI,CAAA;QACZ,CAAC;QAOD,QAAQ;YACP,OAAO,QAAQ,CAAA;QAChB,CAAC;QAOD,KAAK;YACJ,OAAO,QAAQ,CAAA;QAChB,CAAC;QAOD,KAAK;YACJ,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAA;QAC5B,CAAC;QAeD,KAAK;YACJ,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC5C,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YAC5B,GAAG,CAAC,MAAM,GAAG,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAChD,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;YAClC,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;YACpC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;YAE9B,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,UAAU;YACT,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,CAAA;YAExC,OAAO,GAAG,CAAA;QACX,CAAC;QAWD,KAAK;YACJ,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAA;YAE1C,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,wBAAwB,CAAE,CAAA;YACpE,GAAG,CAAC,KAAK,GAAG,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC9C,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,EAAE;aACC,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;QASD,cAAc;YACb,OAAO;gBACN,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,CAAC,KAAK,EAAE;aACM,CAAA;QACpB,CAAC;QAOD,UAAU;YACT,OAAO,EACkB,CAAA;QAC1B,CAAC;QAQD,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YAElC,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,cAAc,CAAC,EAAO,EAAE,KAAW;YAClC,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,aAAa,CAAC,EAAO;YACpB,OAAO,EAAE,CAAA;QACV,CAAC;QAUD,aAAa,CAAC,EAAO;YACpB,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;YAC3C,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;YAE/B,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,eAAe,CAAC,EAAO;YACtB,OAAO;gBACN,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;aACU,CAAA;QAClC,CAAC;KACD;IA/WA;QADE,QAAQ;4CAIT;IAoDD;QADE,QAAQ;6CAOT;IAqBD;QADE,YAAY;8CAQb;IAQD;QADE,QAAQ;4CAIT;IAQD;QADE,QAAQ;6CAST;IAkBD;QADE,QAAQ;kDAIT;IAUD;QADE,QAAQ;0CAQT;IAQD;QADE,QAAQ;sDAIT;IAiBD;QADE,QAAQ;6CAIT;IAmDD;QADE,QAAQ;4CAYT;IAQD;QADE,QAAQ;iDAKT;IAWD;QADE,QAAQ;4CAWT;IAgCD;QADE,QAAQ;2CAOT;IAQD;QADE,YAAY;qDAIb;IAmBD;QADE,YAAY;oDAQb;IA3WW,aAAW,cAuXvB,CAAA;AAEF,CAAC,EA1XS,CAAC,KAAD,CAAC,QA0XV;;;;AC1XD,IAAU,CAAC,CAqFV;AArFD,WAAU,CAAC;IAAC,IAAA,EAAE,CAqFb;IArFW,WAAA,EAAE;QAMb,MAAa,WAAY,SAAQ,CAAC,CAAC,WAAW;YAG7C,cAAc;gBACb,OAAO;oBACN,IAAI,CAAC,KAAK,EAAE;oBACZ,GAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,EAAE,CAAE,CAAC,CAAC,CAAC,EAAE;iBACxC,CAAA;YACF,CAAC;YAGD,eAAe,CAAE,IAAI,GAAG,IAAI;gBAE3B,IAAI,CAAC,KAAK,EAAE,CAAA;gBAEZ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBAAG,OAAO,KAAK,CAAA;gBAElC,OAAO,IAAI,CAAA;YACZ,CAAC;YAED,gBAAgB,CAAE,IAAc;gBAE/B,IAAI,IAAI,KAAK,SAAS;oBAAG,OAAM;gBAE/B,IAAI,CAAC,KAAK,CAAE,IAAI,CAAE,CAAA;gBAClB,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAE,IAAI,CAAE,CAAA;YAE7B,CAAC;YAED,cAAc;gBACb,OAAO;oBACN,IAAI,CAAC,KAAK,EAAE;oBACZ,GAAI,IAAI,CAAC,UAAU,EAAE;iBACrB,CAAA;YACF,CAAC;YAGD,WAAW,CAAE,SAAsB;gBAElC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBAAG,OAAO,IAAI,CAAA;gBAEjC,IAAI,SAAS,IAAI,IAAI,EAAG,CAAC;oBAExB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,EAAG,CAAC;wBACzC,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;4BAAG,OAAO,IAAI,CAAA;oBACzC,CAAC;oBAED,OAAO,IAAI,CAAA;gBACZ,CAAC;gBAED,IAAI,IAAI,CAAC,eAAe,EAAE,EAAG,CAAC;oBAC7B,IAAI,CAAC,cAAc,CAAE,SAAS,EAAE,QAAQ,CAAE,CAAA;oBAC1C,SAAS,CAAC,OAAO,CAAE,IAAI,CAAE,CAAA;gBAC1B,CAAC;gBAED,OAAO,SAAS,CAAA;YACjB,CAAC;YAED,aAAa,CAAE,GAAW;gBACzB,OAAO,GAAG,CAAA;YACX,CAAC;YAGD,UAAU;gBACT,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAE,CAAE,OAAgB,EAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAE,OAAO,CAAE,CAAE,CAAA;YAC9E,CAAC;YAED,cAAc,CAAE,EAAW,EAAG,KAAmB;gBAChD,IAAI,CAAC,KAAK,CAAE,EAAE,CAAE,CAAA;gBAChB,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAE,CAAC,CAAA;gBAChD,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAE,IAAI,CAAE,CAAA;YAC7B,CAAC;YAED,KAAK,CAAE,KAAc;gBACpB,IAAI,CAAC,KAAK,CAAE,EAAE,CAAE,CAAA;YACjB,CAAC;SAED;QA1EA;YADE,QAAQ;yDAMT;QAGD;YADE,QAAQ;0DAQT;QAmBD;YADE,QAAQ;sDAoBT;QAOD;YADE,QAAQ;qDAGT;QAjEW,cAAW,cA6EvB,CAAA;IAEF,CAAC,EArFW,EAAE,GAAF,IAAE,KAAF,IAAE,QAqFb;AAAD,CAAC,EArFS,CAAC,KAAD,CAAC,QAqFV;;;;ACrFD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,4BAA4B,EAC5D,+WAA+W,CAC/W,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAaV;AAbD,WAAU,CAAC;IACV,MAAa,uBAAwB,SAAQ,SAAS;QAOrD,IAAI;YACH,OAAO,gRAAgR,CAAA;QACxR,CAAC;KACD;IAVY,yBAAuB,0BAUnC,CAAA;AAEF,CAAC,EAbS,CAAC,KAAD,CAAC,QAaV;;;;ACbD,IAAU,CAAC,CAiVV;AAjVD,WAAU,CAAC;IACV,MAAa,WAAY,SAAQ,SAAS;QAQzC,UAAU,CAAC,IAAU;YACpB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,EACmB,CAAA;QAC3B,CAAC;QAOD,OAAO;YACN,OAAO,EACe,CAAA;QACvB,CAAC;QAQD,KAAK,CAAC,IAAU;YACf,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,EAAE,CAAA;QACV,CAAC;QAOD,oBAAoB;YACnB,OAAO,EAAE,CAAA;QACV,CAAC;QAUD,UAAU,CAAC,EAAO;YACjB,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAA;YAE1C,GAAG,CAAC,WAAW,GAAG,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YAC/D,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;YAEvC,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,UAAU;YACT,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,kBAAkB,EAAE;aACP,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;QASD,OAAO;YACN,OAAO;gBACN,GAAG,KAAK,CAAC,OAAO,EAAE;gBAClB,IAAI,CAAC,GAAG,EAAE;aACQ,CAAA;QACpB,CAAC;QAOD,IAAI;YACH,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,kBAAkB,CAAE,CAAA;QACrD,CAAC;QASD,cAAc;YACb,OAAO;gBACN,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,WAAW,EAAE;aACA,CAAA;QACpB,CAAC;QAYD,MAAM;YACL,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;YACrD,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;YACnC,GAAG,CAAC,MAAM,GAAG,CAAC,KAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAChD,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;YAElC,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,YAAY;YACX,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAA;YAEhD,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,YAAY,CAAC,EAAO,EAAE,KAAW;YAChC,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,YAAY,CAAC,EAAO;YACnB,OAAO,EAAE,CAAA;QACV,CAAC;QAQD,cAAc,CAAC,IAAU;YACxB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,EAAE,CAAA;QACV,CAAC;QAUD,YAAY,CAAC,EAAO;YACnB,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;YAC1C,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;YAExC,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,cAAc,CAAC,EAAO;YACrB,OAAO;gBACN,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;aACH,CAAA;QACpB,CAAC;QAOD,kBAAkB;YACjB,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,gCAAgC,CAAE,CAAA;QACnE,CAAC;QAOD,cAAc;YACb,OAAO,EACkB,CAAA;QAC1B,CAAC;QAQD,cAAc,CAAC,SAAe;YAC7B,IAAK,SAAS,KAAK,SAAS;gBAAG,OAAO,SAAkB,CAAA;YACxD,OAAO,IAAW,CAAA;QACnB,CAAC;QAQD,SAAS,CAAC,IAAU;YACnB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,IAAI,CAAA;QACZ,CAAC;QAWD,GAAG;YACF,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;YAEjC,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;YACxC,GAAG,CAAC,SAAS,GAAG,CAAC,SAAe,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;YACnE,GAAG,CAAC,KAAK,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAEhD,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,YAAY;YACX,OAAO,EACkB,CAAA;QAC1B,CAAC;QAQD,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAA;YAEpC,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,WAAW;YACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,EAAE;aACO,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,WAAW;YACV,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,yBAAyB,CAAE,CAAA;QAC5D,CAAC;QAQD,MAAM,CAAC,KAAW;YACjB,IAAK,KAAK,KAAK,SAAS;gBAAG,OAAO,KAAc,CAAA;YAChD,OAAO,IAAW,CAAA;QACnB,CAAC;QAOD,OAAO;YACN,OAAO,IAAI,CAAA;QACZ,CAAC;KACD;IAtUA;QADE,QAAQ;iDAKT;IAkBD;QADE,QAAQ;4CAIT;IAmBD;QADE,YAAY;iDAQb;IAQD;QADE,QAAQ;iDAST;IAiDD;QADE,QAAQ;6CAUT;IAQD;QADE,QAAQ;mDAKT;IAQD;QADE,YAAY;mDAIb;IAiBD;QADE,QAAQ;qDAIT;IAUD;QADE,YAAY;mDAQb;IAsCD;QADE,QAAQ;qDAIT;IAQD;QADE,QAAQ;gDAIT;IAWD;QADE,QAAQ;0CAST;IAkBD;QADE,QAAQ;2CAOT;IAQD;QADE,QAAQ;kDAST;IAiBD;QADE,QAAQ;6CAIT;IApUW,aAAW,cA8UvB,CAAA;AAEF,CAAC,EAjVS,CAAC,KAAD,CAAC,QAiVV;;;;ACjVD,IAAU,CAAC,CAaV;AAbD,WAAU,CAAC;IAEV,SAAgB,eAAe,CAAa,KAAc,EAAG,MAAyC;QACrG,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAE,KAAK,CAAE,CAAC,MAAM,CAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAE,CAAA;QAE3E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAG,OAAO,GAAE,EAAE,CAAC,IAAI,CAAA;QAExC,OAAO,CAAE,OAAiB,EAAE,EAAE;YAC7B,MAAM,IAAI,GAAG,MAAM,CAAE,OAAO,CAAE,CAAA;YAC9B,OAAO,IAAI,CAAC,KAAK,CAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAE,GAAG,CAAE,IAAI,CAAC,CAAE,CAAE,CAAA;QACtF,CAAC,CAAA;IACF,CAAC;IATe,iBAAe,kBAS9B,CAAA;AAEF,CAAC,EAbS,CAAC,KAAD,CAAC,QAaV;;;;ACbD,IAAU,CAAC,CA0FV;AA1FD,WAAU,CAAC;IAAC,IAAA,EAAE,CA0Fb;IA1FW,WAAA,EAAE;QAMb,MAAa,WAAY,SAAQ,CAAC,CAAC,WAAW;YAG7C,cAAc,CAAE,IAAc;gBAC7B,IAAI,CAAC,OAAO,EAAE,CAAA;gBAEd,OAAO,IAAI,IAAI,EAAE,CAAA;YAClB,CAAC;YAED,IAAI;gBACH,IAAI,CAAC,MAAM,CAAE,IAAI,CAAE,CAAA;YACpB,CAAC;YAGD,OAAO;gBACN,OAAO,MAAM,CAAC,IAAI,CAAE,IAAI,CAAC,UAAU,EAAE,CAAuB,CAAA;YAC7D,CAAC;YAGD,gBAAgB;gBACf,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;gBAC5B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAE,eAAe,CAAE,IAAI,CAAC,cAAc,EAAE,EAAG,CAAE,EAAW,EAAE,EAAE,CAAC,CAAE,IAAI,CAAC,YAAY,CAAE,EAAE,CAAE,CAAE,CAAE,CAAE,CAAA;gBAEpH,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAE,IAAI,CAAC,KAAK,EAAE,CAAE,CAAA;gBAC7C,IAAI,KAAK,IAAI,CAAC;oBAAG,OAAO,GAAG,CAAE,GAAI,OAAO,CAAC,KAAK,CAAE,CAAC,EAAG,KAAK,CAAE,EAAG,GAAI,OAAO,CAAC,KAAK,CAAE,KAAK,GAAG,CAAC,CAAE,CAAE,CAAA;gBAE9F,OAAO,OAAO,CAAA;YACf,CAAC;YAED,YAAY,CAAE,EAAW;gBACxB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAE,EAAE,CAAE,CAAA;gBACrC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAA;YACnE,CAAC;YAED,WAAW;gBACV,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAE,CAAE,MAAe,EAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAE,MAAM,CAAE,CAAE,CAAA;YACvF,CAAC;YAGD,cAAc,CAAE,SAAsB;gBACrC,IAAI,SAAS,IAAI,IAAI,EAAG,CAAC;oBACxB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,EAAG,CAAC;wBACzC,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;4BAAG,OAAO,IAAI,CAAA;oBACzC,CAAC;oBAED,OAAO,IAAI,CAAA;gBACZ,CAAC;gBAED,IAAI,IAAI,CAAC,MAAM,EAAE,EAAG,CAAC;oBACpB,SAAS,CAAC,OAAO,CAAE,IAAI,CAAE,CAAA;gBAC1B,CAAC;gBAED,OAAO,SAAS,CAAA;YACjB,CAAC;YAED,YAAY,CAAE,EAAW,EAAG,KAAmB;gBAC9C,IAAI,CAAC,KAAK,CAAE,EAAE,CAAE,CAAA;gBAChB,IAAI,CAAC,MAAM,CAAE,KAAK,CAAE,CAAA;gBACpB,KAAK,EAAE,cAAc,EAAE,CAAA;YACxB,CAAC;YAED,cAAc;gBACb,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAG,CAAC;oBACjD,OAAO,CAAE,IAAI,CAAC,MAAM,EAAE,EAAG,GAAI,IAAI,CAAC,WAAW,EAAE,CAAE,CAAA;gBAClD,CAAC;qBAAM,CAAC;oBACP,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;gBAC1B,CAAC;YACF,CAAC;YAED,eAAe;gBACd,OAAO;oBACN,GAAI,IAAI,CAAC,cAAc,CAAE,IAAI,CAAC,KAAK,EAAE,CAAE;oBACvC,IAAI,CAAC,YAAY,EAAE;iBACa,CAAA;YAClC,CAAC;YAED,YAAY;gBACX,OAAO;oBACN,GAAI,IAAI,CAAC,WAAW,EAAE;oBACtB,GAAI,CAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,KAAK,CAAC,CAAE,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,UAAU,EAAE,CAAE,CAAC,CAAC,CAAC,EAAE;iBACzE,CAAA;YACF,CAAC;SAED;QAhFA;YADE,QAAQ;yDAKT;QAOD;YADE,QAAQ;kDAGT;QAGD;YADE,QAAQ;2DAST;QAYD;YADE,QAAQ;yDAeT;QArDW,cAAW,cAmFvB,CAAA;IACF,CAAC,EA1FW,EAAE,GAAF,IAAE,KAAF,IAAE,QA0Fb;AAAD,CAAC,EA1FS,CAAC,KAAD,CAAC,QA0FV;;;;AC1FD,IAAU,CAAC,CAER;AAFH,WAAU,CAAC;IAAG,iBAAiB,CAAE,4BAA4B,EAC5D,igCAAigC,CACjgC,CAAA;AAAC,CAAC,EAFO,CAAC,KAAD,CAAC,QAER;;;;ACFH,IAAU,CAAC,CAyjBV;AAzjBD,WAAU,CAAC;IACV,MAAa,aAAc,SAAQ,UAAU;QAQ5C,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;YAEtC,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,OAAO,CAAC,IAAU;YACjB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,KAAK,CAAC,EAAO;YACZ,OAAO,EACe,CAAA;QACvB,CAAC;QAQD,aAAa,CAAC,IAAU;YACvB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,MAAM,CAAA;QACd,CAAC;QAOD,IAAI;YACH,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,IAAI;YACH,OAAO,KAAK,CAAA;QACb,CAAC;QAOD,IAAI;YACH,OAAO,KAAK,CAAA;QACb,CAAC;QAQD,MAAM,CAAC,IAAU;YAChB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,MAAM,CAAA;QACd,CAAC;QAQD,MAAM,CAAC,IAAU;YAChB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,MAAM,CAAA;QACd,CAAC;QAQD,MAAM,CAAC,IAAU;YAChB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,MAAM,CAAA;QACd,CAAC;QAiBD,QAAQ;YACP,OAAO;gBACN,SAAS;gBACT,MAAM;gBACN,SAAS;gBACT,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,MAAM;aACY,CAAA;QACpB,CAAC;QAgBD,cAAc;YACb,OAAO;gBACN,eAAe;gBACf,cAAc;gBACd,eAAe;gBACf,gBAAgB;gBAChB,iBAAiB;gBACjB,gBAAgB;gBAChB,gBAAgB;gBAChB,gBAAgB;gBAChB,cAAc;aACI,CAAA;QACpB,CAAC;QASD,KAAK;YACJ,OAAO;gBACN,IAAI,CAAC,IAAI,EAAE;gBACX,IAAI,CAAC,KAAK,EAAE;aACM,CAAA;QACpB,CAAC;QAOD,UAAU;YACT,OAAO,EAAE,CAAA;QACV,CAAC;QAQD,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,SAAS;YACR,OAAO,CAAC,CAAA;QACT,CAAC;QAQD,WAAW;YACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,SAAS,EAAE;aACE,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,aAAa,CAAC,EAAO;YACpB,OAAO,EAAE,CAAA;QACV,CAAC;QAQD,aAAa,CAAC,EAAO;YACpB,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC;gBAClB,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;aACR,CAAA,CAAA;YAE3B,OAAO,GAAG,CAAA;QACX,CAAC;QAOD,SAAS;YACR,OAAO,CAAC,CAAA;QACT,CAAC;QAQD,WAAW;YACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,SAAS,EAAE;aACE,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;QAUD,kBAAkB;YACjB,OAAO;gBACN,IAAI,CAAC,WAAW,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBACvB,IAAI,CAAC,WAAW,EAAE;aACA,CAAA;QACpB,CAAC;QAQD,cAAc;YACb,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAA;YAE1C,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,UAAU;YACT,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,cAAc,EAAE;aACH,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;QASD,SAAS;YACR,OAAO;gBACN,IAAI,CAAC,IAAI,EAAE;gBACX,IAAI,CAAC,UAAU,EAAE;aACC,CAAA;QACpB,CAAC;QAOD,IAAI;YACH,OAAO,IAAW,CAAA;QACnB,CAAC;QAWD,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YACnC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;YACjC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YAE5B,OAAO,GAAG,CAAA;QACX,CAAC;QAQD,UAAU,CAAC,IAAU;YACpB,IAAK,IAAI,KAAK,SAAS;gBAAG,OAAO,IAAa,CAAA;YAC9C,OAAO,KAAK,CAAA;QACb,CAAC;QAWD,UAAU;YACT,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAA;YAEvC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,+BAA+B,CAAE,CAAA;YAC3E,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,gCAAgC,CAAE,CAAA;YAC7E,GAAG,CAAC,OAAO,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YAEnD,OAAO,GAAG,CAAA;QACX,CAAC;QAUD,gBAAgB;YACf,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;YAErC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,sCAAsC,CAAE,CAAA;YACnF,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YAErC,OAAO,GAAG,CAAA;QACX,CAAC;QAiBD,UAAU;YACT,OAAO;gBACN,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,+BAA+B,CAAE;gBAChE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,8BAA8B,CAAE;gBAC9D,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,+BAA+B,CAAE;gBAChE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,8BAA8B,CAAE;gBAC9D,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,8BAA8B,CAAE;gBAC9D,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,+BAA+B,CAAE;gBAChE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,+BAA+B,CAAE;gBAChE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,+BAA+B,CAAE;gBAChE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,gCAAgC,CAAE;gBAClE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,+BAA+B,CAAE;aACvC,CAAA;QAC3B,CAAC;QAUD,cAAc;YACb,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC7C,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YAExC,OAAO,GAAG,CAAA;QACX,CAAC;QAUD,aAAa;YACZ,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;YAErC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,mCAAmC,CAAE,CAAA;YAChF,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;YAEzC,OAAO,GAAG,CAAA;QACX,CAAC;QAUD,cAAc;YACb,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC7C,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YAExC,OAAO,GAAG,CAAA;QACX,CAAC;QAUD,aAAa;YACZ,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;YAErC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,mCAAmC,CAAE,CAAA;YAChF,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;YAEzC,OAAO,GAAG,CAAA;QACX,CAAC;QAUD,cAAc;YACb,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAEpC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC7C,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YAExC,OAAO,GAAG,CAAA;QACX,CAAC;QAUD,aAAa;YACZ,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;YAErC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,mCAAmC,CAAE,CAAA;YAChF,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;YAEzC,OAAO,GAAG,CAAA;QACX,CAAC;QAcD,KAAK;YACJ,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAElC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAE,2BAA2B,CAAE,CAAA;YACxE,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,gBAAgB,EAAE;gBACvB,IAAI,CAAC,aAAa,EAAE;gBACpB,IAAI,CAAC,aAAa,EAAE;gBACpB,IAAI,CAAC,aAAa,EAAE;aACF,CAAA;YAEnB,OAAO,GAAG,CAAA;QACX,CAAC;KACD;IA9iBA;QADE,QAAQ;6CAKT;IAQD;QADE,QAAQ;gDAIT;IAkBD;QADE,QAAQ;sDAIT;IAmCD;QADE,QAAQ;+CAIT;IAQD;QADE,QAAQ;+CAIT;IAQD;QADE,QAAQ;+CAIT;IAyFD;QADE,QAAQ;6CAKT;IAiBD;QADE,QAAQ;oDAST;IAiBD;QADE,YAAY;sDASb;IAiBD;QADE,QAAQ;oDAST;IAwBD;QADE,QAAQ;uDAOT;IAQD;QADE,QAAQ;mDAST;IAkCD;QADE,QAAQ;6CAST;IAQD;QADE,QAAQ;mDAIT;IAWD;QADE,QAAQ;mDAST;IAUD;QADE,QAAQ;yDAQT;IAwCD;QADE,QAAQ;uDAQT;IAUD;QADE,QAAQ;sDAQT;IAUD;QADE,QAAQ;uDAQT;IAUD;QADE,QAAQ;sDAQT;IAUD;QADE,QAAQ;uDAQT;IAUD;QADE,QAAQ;sDAQT;IAcD;QADE,QAAQ;8CAaT;IArjBW,eAAa,gBAsjBzB,CAAA;AAEF,CAAC,EAzjBS,CAAC,KAAD,CAAC,QAyjBV;;;;ACzjBD,IAAU,CAAC,CAaV;AAbD,WAAU,CAAC;IAMC,mBAAiB,GAAG,CAAE,GAAa,EAAE,EAAE;QAEjD,IAAI,OAAO,GAAG,KAAK,SAAS;YAAG,OAAO,GAAG,CAAA;QAEzC,OAAO,SAAS,CAAE,IAAI,eAAe,CAAE,GAAI,GAAI,mBAAmB,CAAE,CAAE,CAAA;IACvE,CAAC,CAAA;AAEF,CAAC,EAbS,CAAC,KAAD,CAAC,QAaV;;;;ACbD,IAAU,CAAC,CAkBV;AAlBD,WAAU,CAAC;IAMV,SAAgB,kBAAkB,CAAiC,GAAS;QAE3E,OAAO,eAAe,CAAE,CAAE,GAA+B,EAAG,EAAE;YAE7D,IAAI,GAAG,KAAK,IAAI;gBAAG,OAAO,IAAI,CAAA;YAE9B,OAAO,GAAG,CAAE,GAAG,CAAqB,CAAA;QAErC,CAAC,EAAG,GAAG,CAAE,CAAA;IAEV,CAAC;IAVe,oBAAkB,qBAUjC,CAAA;AAEF,CAAC,EAlBS,CAAC,KAAD,CAAC,QAkBV;;;;AClBD,IAAU,CAAC,CAUV;AAVD,WAAU,CAAC;IAEV,MAAa,OAAQ,SAAQ,YAAY;QAGjC,AAAP,MAAM,CAAC,GAAG;YACT,OAAO,WAAW,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,EAAS,CAAA;QACzE,CAAC;KAED;IAJO;QADL,QAAQ;4BAGT;IALW,SAAO,UAOnB,CAAA;AACF,CAAC,EAVS,CAAC,KAAD,CAAC,QAUV;;;;ACVD,IAAU,CAAC,CA8BV;AA9BD,WAAU,CAAC;IAAC,IAAA,EAAE,CA8Bb;IA9BW,WAAA,EAAE;QAEA,wBAAqB,GAAG;YACpC,KAAK,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC;YAC7R,MAAM,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC;YAC9S,MAAM,EAAC,CAAC,CAAC,EAAC,WAAW,EAAC,UAAU,EAAC,UAAU,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,GAAG,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,CAAC;YAC9mC,KAAK,EAAC,CAAC,CAAC,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,SAAS,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,CAAC;YAClnC,KAAK,EAAC,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,CAAC,EAAC,IAAI,EAAC,KAAK,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;YAC5Z,MAAM,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,CAAC;YACpc,MAAM,EAAC,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;YACxe,MAAM,EAAC,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,GAAG,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,CAAC;YAC1f,OAAO,EAAC,CAAC,CAAC,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,GAAG,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,IAAI,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,CAAC;YACzmC,MAAM,EAAC,CAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,I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","sourcesContent":[null,"Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\n\texport const $mol_ambient_ref : unique symbol = Symbol( '$mol_ambient_ref' )\n\n\t/** @deprecated use $ instead */\n\texport type $mol_ambient_context = $\n\n\texport function $mol_ambient( this : $ | void , overrides : Partial< $ > ) : $ {\n\t\treturn Object.setPrototypeOf( overrides , this || $ )\n\t}\n\n}\n","namespace $ {\n\n\tconst instances = new WeakSet< any >()\n\n\t/**\n\t * Proxy that delegates all to lazy returned target.\n\t * \n\t * \t$mol_delegate( Array.prototype , ()=> fetch_array() )\n\t */\n export function $mol_delegate< Value extends object >(\n\t\tproto : Value ,\n\t\ttarget : ()=> Value ,\n\t) {\n\n\t\tconst proxy = new Proxy( proto , {\n\n\t\t\tget: ( _ , field )=> {\n\t\t\t\tconst obj = target()\n\t\t\t\tlet val = Reflect.get( obj , field )\n\t\t\t\tif( typeof val === 'function' ) {\n\t\t\t\t\tval = val.bind( obj )\n\t\t\t\t} \n\t\t\t\treturn val\n\t\t\t},\n\t\t\thas: ( _ , field )=> Reflect.has( target(), field ),\n\t\t\tset: ( _ , field , value )=> Reflect.set( target() , field , value ),\n\t\t\t\n\t\t\tgetOwnPropertyDescriptor: ( _ , field )=> Reflect.getOwnPropertyDescriptor( target() , field ),\n\t\t\townKeys: ()=> Reflect.ownKeys( target() ),\n\t\t\t\n\t\t\tgetPrototypeOf: ()=> Reflect.getPrototypeOf( target() ),\n\t\t\tsetPrototypeOf: ( _ , donor )=> Reflect.setPrototypeOf( target() , donor ),\n\t\t\t\n\t\t\tisExtensible: ()=> Reflect.isExtensible( target() ),\n\t\t\tpreventExtensions: ()=> Reflect.preventExtensions( target() ),\n\t\t\t\n\t\t\tapply: ( _ , self , args )=> Reflect.apply( target() as Function , self , args ),\n\t\t\tconstruct: ( _ , args , retarget )=> Reflect.construct( target() as Function , args , retarget ),\n\t\t\t\n\t\t\tdefineProperty: ( _ , field , descr )=> Reflect.defineProperty( target() , field , descr ),\n\t\t\tdeleteProperty: ( _ , field )=> Reflect.deleteProperty( target() , field ),\n\n\t\t} )\n\n\t\tinstances.add( proxy )\n\n\t\treturn proxy\n\n\t}\n\n\tReflect.defineProperty(\n\t\t$mol_delegate ,\n\t\tSymbol.hasInstance ,\n\t\t{\n\t\t\tvalue : ( obj : object )=> instances.has( obj ),\n\t\t},\n\t)\n\n}\n","namespace $ {\n\n\texport const $mol_owning_map = new WeakMap< any , any >()\n\n\texport function $mol_owning_allow< Having >(\n\t\thaving : Having ,\n\t) : having is Having & {\n\t\tdestructor() : void\n\t} {\n\t\ttry {\n\t\t\tif( !having ) return false\n\t\t\tif( typeof having !== 'object' && typeof having !== 'function' ) return false\n\t\t\tif( having instanceof $mol_delegate ) return false\n\t\t\tif( typeof (having as any)['destructor'] !== 'function' ) return false\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n\texport function $mol_owning_get< Having , Owner extends object >( having : Having , Owner? : { new() : Owner } ) : Owner | null {\n\t\n\t\tif( !$mol_owning_allow( having ) ) return null\n\n\t\twhile( true ) {\n\n\t\t\tconst owner = $mol_owning_map.get( having )\n\t\t\tif( !owner ) return owner\n\t\t\tif( !Owner ) return owner\n\t\t\t\n\t\t\tif( owner instanceof Owner ) return owner\n\n\t\t\thaving = owner\n\t\t}\n\n\t}\n\t\n\texport function $mol_owning_check< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) : having is Having & { destructor() : void } {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) !== owner ) return false\n\t\treturn true\n\t}\n\t\n\texport function $mol_owning_catch< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) ) return false\n\n\t\t$mol_owning_map.set( having , owner )\n\t\treturn true\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail_hidden( error : any ) : never {\n\t\tthrow error /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script\n\t}\n\n}\n","namespace $ {\n\t\n\tconst named = new WeakSet< Function >()\n\t\n\texport function $mol_func_name( this : $ , func : Function ) : string {\n\t\t\n\t\tlet name = func.name\n\t\tif( name?.length > 1 ) return name\n\t\tif( named.has( func ) ) return name\n\n\t\tfor( let key in this ) {\n\t\t\ttry {\n\t\t\t\tif( (this as any)[ key ] !== func ) continue\n\t\t\t\tname = key\n\t\t\t\tObject.defineProperty( func , 'name' , { value : name } )\n\t\t\t\tbreak\n\t\t\t} catch {}\n\t\t}\n\n\t\tnamed.add( func )\n\t\treturn name\n\t\t\n\t}\n\n\texport function $mol_func_name_from< Target extends Function >( target : Target , source : Function ) {\n\t\tObject.defineProperty( target , 'name' , { value : source.name } )\n\t\treturn target\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_object2 {\n\t\t\n\t\tstatic $ = $ as any as $\n\t\t\n\t\t[Symbol.toStringTag]!: string\n\n\t\t[ $mol_ambient_ref ] = null as any as $\n\t\tget $() {\n\t\t\tif( this[ $mol_ambient_ref ] ) return this[ $mol_ambient_ref ]\n\t\t\tconst owner = $mol_owning_get( this ) as any\n\t\t\treturn this[ $mol_ambient_ref ] = owner?.$ || $mol_object2.$ as $\n\t\t}\n\t\tset $( next : $ ) {\n\t\t\tif( this[ $mol_ambient_ref ] ) $mol_fail_hidden( new Error( 'Context already defined' ) )\n\t\t\tthis[ $mol_ambient_ref ] = next\n\t\t}\n\n\t\tpublic static create< Instance >(\n\t\t\tthis : new( init? : ( instance : any )=> void )=> Instance ,\n\t\t\tinit? : ( instance : $mol_type_writable )=> void\n\t\t) : Instance {\n\t\t\tconst obj = new this\n\t\t\tif( init ) init( obj )\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn ( this as any )[ Symbol.toStringTag ] || this.$.$mol_func_name( this )\n\t\t}\n\t\t\n\t\tstatic toJSON() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tdestructor() { }\n\t\tstatic destructor() { }\n\t\t\n\t\t//[ Symbol.toPrimitive ]( hint: string ) {\n\t\t//\treturn hint === 'number' ? this.valueOf() : this.toString()\n\t\t//}\n\t\t\n\t\ttoString(): string {\n\t\t\treturn this[ Symbol.toStringTag ] || this.constructor.name + '<>'\n\t\t}\n\t\t\n\t\t// toJSON(): any {\n\t\t// \treturn this.toString()\n\t\t// }\n\n\t}\n}\n","namespace $ {\n\n\texport namespace $$ { let $ }\n\n\texport const $mol_object_field = Symbol( '$mol_object_field' )\n\t\n\texport class $mol_object extends $mol_object2 {\n\t\t\n\t\tpublic static make< This extends typeof $mol_object >(\n\t\t\tthis: This,\n\t\t\tconfig: Partial< InstanceType< This > >,\n\t\t) {\n\t\t\treturn super.create( obj => {\n\t\t\t\tfor( let key in config ) ( obj as any )[ key ] = config[ key ]!\n\t\t\t} ) as InstanceType< This >\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\texport class $mol_window extends $mol_object {\n\t\t\n\t\tstatic size() {\n\t\t\treturn {\n\t\t\t\twidth: 1024,\n\t\t\t\theight: 768,\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** Special status statuses. */\n\texport enum $mol_wire_cursor {\n\t\t\n\t\t/** Update required. */\n\t\tstale = -1,\n\t\t\n\t\t/** Some of (transitive) pub update required. */\n\t\tdoubt = -2,\n\t\t\n\t\t/** Actual state but may be dropped. */\n\t\tfresh = -3,\n\t\t\n\t\t/** State will never be changed. */\n\t\tfinal = -4,\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Collects subscribers in compact array. 28B\n\t */\n\texport class $mol_wire_pub extends Object {\n\t\t\n\t\tdata = [] as unknown[]\n\t\t\n\t\t// Derived objects should be Arrays.\n\t\tstatic get [ Symbol.species ]() {\n\t\t\treturn Array\n\t\t}\n\t\t\n\t\t/**\n\t\t * Index of first subscriber.\n\t\t */\n\t\tprotected sub_from = 0 // 4B\n\t\t\n\t\t/**\n\t\t * All current subscribers.\n\t\t */\n\t\tget sub_list() {\n\t\t\tconst res = [] as $mol_wire_sub[]\n\t\t\tfor( let i = this.sub_from; i < this.data.length; i += 2 ) {\n\t\t\t\tres.push( this.data[i] as $mol_wire_sub )\n\t\t\t}\n\t\t\treturn res as readonly $mol_wire_sub[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * Has any subscribers or not.\n\t\t */\n\t\tget sub_empty() {\n\t\t\treturn this.sub_from === this.data.length\n\t\t}\n\t\t\n\t\t/**\n\t\t * Subscribe subscriber to this publisher events and return position of subscriber that required to unsubscribe.\n\t\t */\n\t\tsub_on( sub: $mol_wire_pub, pub_pos: number ) {\n\t\t\tconst pos = this.data.length\n\t\t\tthis.data.push( sub, pub_pos )\n\t\t\treturn pos\n\t\t}\n\t\t\n\t\t/**\n\t\t * Unsubscribe subscriber from this publisher events by subscriber position provided by `on(pub)`.\n\t\t */\n\t\tsub_off( sub_pos: number ) {\n\t\t\t\n\t\t\tif(!( sub_pos < this.data.length )) {\n\t\t\t\t$mol_fail( new Error( `Wrong pos ${ sub_pos }` ) )\n\t\t\t}\n\t\t\t\n\t\t\tconst end = this.data.length - 2\n\t\t\tif( sub_pos !== end ) {\n\t\t\t\tthis.peer_move( end, sub_pos )\n\t\t\t}\n\t\t\t\n\t\t\tthis.data.pop()\n\t\t\tthis.data.pop()\n\t\t\t\n\t\t\tif( this.data.length === this.sub_from ) this.reap()\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Called when last sub was unsubscribed.\n\t\t **/\n\t\treap() { }\n\t\t\n\t\t/**\n\t\t * Autowire this publisher with current subscriber.\n\t\t **/\n\t\tpromote() {\n\t\t\t$mol_wire_auto()?.track_next( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Enforce actualization. Should not throw errors.\n\t\t */\n\t\tfresh() {}\n\t\t\n\t\t/**\n\t\t * Allow to put data to caches in the subtree.\n\t\t */\n\t\tcomplete() {}\n\t\t\n\t\tget incompleted() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * Notify subscribers about self changes.\n\t\t */\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tfor( let i = this.sub_from; i < this.data.length; i += 2 ) {\n\t\t\t\t;( this.data[i] as $mol_wire_sub ).absorb( quant )\n\t\t\t}\n\t\t}\n\t\t\n\t\t/**\n\t\t * Moves peer from one position to another. Doesn't clear data at old position!\n\t\t */\n\t\tpeer_move( from_pos: number, to_pos: number ) {\n\t\t\t\n\t\t\tconst peer = this.data[ from_pos ] as $mol_wire_pub\n\t\t\tconst self_pos = this.data[ from_pos + 1 ] as number\n\t\t\t\n\t\t\tthis.data[ to_pos ] = peer\n\t\t\tthis.data[ to_pos + 1 ] = self_pos\n\t\t\t\n\t\t\tpeer.peer_repos( self_pos, to_pos )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Updates self position in the peer.\n\t\t */\n\t\tpeer_repos( peer_pos: number, self_pos: number ) {\n\t\t\tthis.data[ peer_pos + 1 ] = self_pos\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport let $mol_wire_auto_sub: $mol_wire_sub | null = null\n\t\n\t/**\n\t * When fulfilled, all publishers are promoted to this subscriber on access to its.\n\t */\n\texport function $mol_wire_auto( next = $mol_wire_auto_sub ) {\n\t\treturn $mol_wire_auto_sub = next\n\t}\n\t\n\t/**\n\t * Affection queue. Used to prevent accidental stack overflow on emit.\n\t */\n\texport const $mol_wire_affected = [] as ( $mol_wire_sub | number )[]\n\t\n}\n","namespace $ {\n\n\t// https://docs.google.com/document/d/1FTascZXT9cxfetuPRT2eXPQKXui4nWFivUnS_335T3U/preview#\n\t($ as any)['devtoolsFormatters'] ||= []\n\n\texport function $mol_dev_format_register( config : {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> false\n\t} | {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> boolean\n\t\tbody : ( val : any , config : any )=> any\n\t} ) {\n\t\t($ as any)['devtoolsFormatters'].push( config )\n\t}\n\n\texport let $mol_dev_format_head = Symbol( '$mol_dev_format_head' )\n\texport let $mol_dev_format_body = Symbol( '$mol_dev_format_body' )\n\n\t$mol_dev_format_register({\n\n\t\theader : ( val : any , config = false ) => {\n\t\t\t\n\t\t\tif( config ) return null\n\n\t\t\tif( !val ) return null\n\t\t\t\n\t\t\tif( $mol_dev_format_head in val ) {\n\t\t\t\ttry {\n\t\t\t\t\treturn val[ $mol_dev_format_head ]()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\treturn $mol_dev_format_accent( $mol_dev_format_native( val ), '💨', $mol_dev_format_native( error ), '' )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( typeof val === 'function' ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\tif( Symbol.toStringTag in val ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t\t\n\t\t} ,\n\t\t\n\t\thasBody : val => val[ $mol_dev_format_body ] ,\n\n\t\tbody : val => val[ $mol_dev_format_body ]() ,\n\n\t})\n\n\texport function $mol_dev_format_native( obj : any ) {\n\t\t\n\t\tif( typeof obj === 'undefined' ) return $mol_dev_format_shade( 'undefined' )\n\t\t\n\t\t// if( ![ 'object', 'function', 'symbol' ].includes( typeof obj ) ) return obj\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : true ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_auto( obj : any ) {\n\t\t\n\t\tif( obj == null ) return $mol_dev_format_shade( String( obj ) )\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : false ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_element( element : string , style : object , ...content : any[] ) {\n\t\t\t\n\t\tconst styles = [] as string[]\n\t\t\n\t\tfor( let key in style ) styles.push( `${ key } : ${ (style as any)[key] }` )\n\t\t\n\t\treturn [\n\t\t\telement ,\n\t\t\t{\n\t\t\t\tstyle : styles.join( ' ; ' ) ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_span( style : object , ...content : any[] ) {\n\t\treturn $mol_dev_format_element(\n\t\t\t'span' ,\n\t\t\t{\n\t\t\t\t// 'vertical-align' : '8%',\n\t\t\t\t... style ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t)\n\t}\n\n\texport let $mol_dev_format_div = $mol_dev_format_element.bind( null , 'div' )\n\texport let $mol_dev_format_ol = $mol_dev_format_element.bind( null , 'ol' )\n\texport let $mol_dev_format_li = $mol_dev_format_element.bind( null , 'li' )\n\texport let $mol_dev_format_table = $mol_dev_format_element.bind( null , 'table' )\n\texport let $mol_dev_format_tr = $mol_dev_format_element.bind( null , 'tr' )\n\texport let $mol_dev_format_td = $mol_dev_format_element.bind( null , 'td' )\n\n\texport let $mol_dev_format_accent = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'magenta' ,\n\t} )\n\n\texport let $mol_dev_format_strong = $mol_dev_format_span.bind( null , {\n\t\t'font-weight' : 'bold' ,\n\t} )\n\n\texport let $mol_dev_format_string = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'green',\n\t} )\n\n\texport let $mol_dev_format_shade = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'gray',\n\t} )\n\n\texport let $mol_dev_format_indent = $mol_dev_format_div.bind( null , {\n\t\t'margin-left': '13px'\n\t} )\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Publisher that can auto collect other publishers. 32B\n\t * \n\t * \tP1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^\n\t * \tpubs_from subs_from\n\t */\n\texport class $mol_wire_pub_sub extends $mol_wire_pub implements $mol_wire_sub {\n\t\t\n\t\tprotected pub_from = 0 // 4B\n\t\tprotected cursor = $mol_wire_cursor.stale // 4B\n\t\t\n\t\tget temp() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\tget pub_list() {\n\t\t\tconst res = [] as $mol_wire_pub[]\n\t\t\tconst max = this.cursor >=0 ? this.cursor : this.sub_from\n\t\t\tfor( let i = this.pub_from; i < max; i += 2 ) {\n\t\t\t\tif( this.data[i] ) res.push( this.data[i] as $mol_wire_pub )\n\t\t\t}\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttrack_on() {\n\t\t\tthis.cursor = this.pub_from\n\t\t\tconst sub = $mol_wire_auto()\n\t\t\t$mol_wire_auto( this )\n\t\t\treturn sub\n\t\t}\n\t\t\n\t\tpromote() {\n\t\t\t\n\t\t\tif( this.cursor >= this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Circular subscription' ) )\n\t\t\t}\n\t\t\t\n\t\t\tsuper.promote()\n\t\t}\n\t\t\n\t\ttrack_next( pub?: $mol_wire_pub ): $mol_wire_pub | null {\n\t\t\t\n\t\t\tif( this.cursor < 0 ) $mol_fail( new Error( 'Promo to non begun sub' ) )\n\t\t\t\n\t\t\tif( this.cursor < this.sub_from ) {\n\t\t\t\n \t\t\t\tconst next = this.data[ this.cursor ] as $mol_wire_pub | undefined\n\t\t\t\tif( pub === undefined ) return next ?? null\n\t\t\t\t\n\t\t\t\tif( next === pub ) {\n\t\t\t\t\tthis.cursor += 2\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( next ) {\n\t\t\t\t\t\n\t\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\t\tthis.peer_move( this.sub_from, this.data.length )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.peer_move( this.cursor, this.sub_from )\n\t\t\t\t\tthis.sub_from += 2\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tif( pub === undefined ) return null\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.sub_from, this.data.length )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.sub_from += 2\n\t\t\t\t\n\t\t\t}\t\t\t\n\t\t\t\n\t\t\tthis.data[ this.cursor ] = pub\n\t\t\tthis.data[ this.cursor + 1 ] = pub.sub_on( this, this.cursor )\n\t\t\t\n\t\t\tthis.cursor += 2\n\t\t\t\n\t\t\treturn pub\n\t\t}\n\t\t\n\t\ttrack_off( sub: $mol_wire_sub | null ) {\n\t\t\t\n\t\t\t$mol_wire_auto( sub )\n\t\t\t\n\t\t\tif( this.cursor < 0 ) {\n\t\t\t\t$mol_fail( new Error( 'End of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < this.cursor;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tpub.fresh()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t}\n\t\t\n\t\tpub_off( sub_pos: number ) {\n\t\t\tthis.data[ sub_pos ] = undefined as any\n\t\t\tthis.data[ sub_pos + 1 ] = undefined as any \n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.data.length - 2;\n\t\t\t\tcursor >= this.sub_from;\n\t\t\t\tcursor -= 2\n\t\t\t) {\n\t\t\t\tconst sub = this.data[ cursor ] as $mol_wire_sub\n\t\t\t\tconst pos = this.data[ cursor + 1 ] as number\n\t\t\t\tsub.pub_off( pos )\n\t\t\t\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = this.pub_from\n\t\t\tthis.track_cut()\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t\t\n\t\t}\n\t\t\n\t\ttrack_cut() {\n\t\t\t\n\t\t\tif( this.cursor < this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Cut of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tlet tail = 0\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.cursor;\n\t\t\t\tcursor < this.sub_from;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\t\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub | undefined\n\t\t\t\tpub?.sub_off( this.data[ cursor + 1 ] as number )\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.data.length - 2, cursor )\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t} else {\n\t\t\t\t\t++ tail\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor(; tail; -- tail ) {\n\t\t\t\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\n\t\t\t\n\t\t\tthis.sub_from = this.cursor\n\t\t\t\n\t\t}\n\t\t\n\t\tcomplete() { }\n\t\t\n\t\tcomplete_pubs() {\n\t\t\t\n\t\t\tconst limit = this.cursor < 0 ? this.sub_from : this.cursor \n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < limit;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tif( pub?.incompleted ) return \n\t\t\t}\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < limit;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tpub?.complete()\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tabsorb( quant = $mol_wire_cursor.stale ) {\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\tif( this.cursor >= quant ) return\n\t\t\t\n\t\t\tthis.cursor = quant\n\t\t\tthis.emit( $mol_wire_cursor.doubt )\n\t\t\t\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_native( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Is subscribed to any publisher or not.\n\t\t */\n\t\tget pub_empty() {\n\t\t\treturn this.sub_from === this.pub_from\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_timeout extends $mol_object2 {\n\n\t\tid : any\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = setTimeout( task , delay )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tclearTimeout( this.id )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_frame extends $mol_after_timeout {\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper( 16 , task )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_promise_like( val: any ): val is Promise {\n\t\treturn val && typeof val === 'object' && 'then' in val && typeof val.then === 'function'\n\t}\n\n}\n","namespace $ {\n\t\n\tconst handled = new WeakSet< Promise< unknown > >()\n\t\n\t/**\n\t * Suspendable task with support both sync/async api.\n\t * \n\t * \tA1 A2 A3 A4 P1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^ ^\n\t * \targs_from pubs_from subs_from\n\t **/\n\texport abstract class $mol_wire_fiber<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_pub_sub {\n\t\n\t\tstatic warm = true\n\t\t\n\t\tstatic planning = new Set< $mol_wire_fiber< any, any, any > >()\n\t\tstatic reaping = new Set< $mol_wire_fiber< any, any, any > >()\n\t\t\n\t\tstatic plan_task: $mol_after_frame | null = null\n\t\tstatic plan() {\n\t\t\t\n\t\t\tif( this.plan_task ) return\n\t\t\t\n\t\t\tthis.plan_task = new $mol_after_frame( ()=> {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tthis.sync()\n\t\t\t\t} finally {\n\t\t\t\t\t$mol_wire_fiber.plan_task = null\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic sync() {\n\t\t\t\n\t\t\t// Sync whole fiber graph\n\t\t\twhile( this.planning.size ) {\n\t\t\t\tfor( const fiber of this.planning ) {\n\t\t\t\t\tthis.planning.delete( fiber )\n\t\t\t\t\tif( fiber.cursor >= 0 ) continue\n\t\t\t\t\tif( fiber.cursor === $mol_wire_cursor.final ) continue\n\t\t\t\t\tfiber.fresh()\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// Collect garbage\n\t\t\twhile( this.reaping.size ) {\n\t\t\t\t\n\t\t\t\tconst fibers = this.reaping\n\t\t\t\tthis.reaping = new Set\n\t\t\t\t\n\t\t\t\tfor( const fiber of fibers ) {\n\t\t\t\t\tif( !fiber.sub_empty ) continue\n\t\t\t\t\tfiber.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t[Symbol.toStringTag]!: string\n\n\t\tpublic cache: Result | Error | Promise< Result | Error > = undefined as any\n\t\t\n\t\tget args() {\n\t\t\treturn this.data.slice( 0 , this.pub_from ) as any as Args\n\t\t}\n\t\t\n\t\tresult() {\n\t\t\tif( $mol_promise_like( this.cache ) ) return\n\t\t\tif( this.cache instanceof Error ) return\n\t\t\treturn this.cache\n\t\t}\n\t\t\n\t\tget incompleted() {\n\t\t\treturn $mol_promise_like( this.cache )\n\t\t}\n\t\t\n\t\tfield() {\n\t\t\treturn this.task.name + '<>'\n\t\t}\n\t\t\n\t\tconstructor(\n\t\t\tid: string,\n\t\t\treadonly task: ( this : Host , ... args : Args )=> Result,\n\t\t\treadonly host?: Host,\n\t\t\targs?: Args\n\t\t) {\n\t\t\t\n\t\t\tsuper()\n\t\t\tif( args ) this.data.push( ... args )\n\t\t\tthis.pub_from = this.sub_from = args?.length ?? 0\n\t\t\tthis[ Symbol.toStringTag ] = id\n\t\t\t\n\t\t}\n\t\t\n\t\tplan() {\n\t\t\t$mol_wire_fiber.planning.add( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t}\n\t\t\n\t\treap() {\n\t\t\t$mol_wire_fiber.reaping.add( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t}\n\t\t\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\t[ $mol_dev_format_head ]() {\n\t\t\t\n\t\t\tconst cursor = {\n\t\t\t\t[ $mol_wire_cursor.stale ]: '🔴',\n\t\t\t\t[ $mol_wire_cursor.doubt ]: '🟡',\n\t\t\t\t[ $mol_wire_cursor.fresh ]: '🟢',\n\t\t\t\t[ $mol_wire_cursor.final ]: '🔵',\n\t\t\t}[ this.cursor ] ?? this.cursor.toString()\n\t\t\t\n\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t$mol_owning_check( this, this.cache )\n\t\t\t\t\t? $mol_dev_format_auto({\n\t\t\t\t\t\t[ $mol_dev_format_head ]: ()=> $mol_dev_format_shade( cursor ),\n\t\t\t\t\t\t[ $mol_dev_format_body ]: ()=> $mol_dev_format_native( this ),\n\t\t\t\t\t})\n\t\t\t\t\t: $mol_dev_format_shade( $mol_dev_format_native( this ), cursor ),\n\t\t\t\t$mol_dev_format_auto( this.cache ),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tget $() {\n\t\t\treturn ( this.host ?? this.task as any )['$']\n\t\t}\n\t\t\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tif( this.sub_empty ) this.plan()\n\t\t\telse super.emit( quant )\n\t\t}\n\t\t\n\t\tfresh() {\n\n\t\t\ttype Result = typeof this.cache\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.fresh ) return\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\t\n\t\t\tcheck: if( this.cursor === $mol_wire_cursor.doubt ) {\n\t\t\t\t\n\t\t\t\tfor( let i = this.pub_from ; i < this.sub_from; i += 2 ) {\n\t\t\t\t\t;( this.data[i] as $mol_wire_pub )?.fresh()\n\t\t\t\t\tif( this.cursor !== $mol_wire_cursor.doubt ) break check\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\treturn\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst bu = this.track_on()\n\t\t\tlet result: typeof this.cache\n\n\t\t\ttry {\n\n\t\t\t\tswitch( this.pub_from ) {\n\t\t\t\t\tcase 0: result = (this.task as any).call( this.host! ); break\n\t\t\t\t\tcase 1: result = (this.task as any).call( this.host!, this.data[0] ); break\n\t\t\t\t\tdefault: result = (this.task as any).call( this.host!, ... this.args ); break\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst put = ( res: Result )=> {\n\t\t\t\t\t\tif( this.cache === result ) this.put( res )\n\t\t\t\t\t\treturn res\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tresult = Object.assign( result.then( put, put ), {\n\t\t\t\t\t\tdestructor: (result as any)['destructor'] ?? (()=> {})\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t\thandled.add( result )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tif( error instanceof Error || $mol_promise_like( error ) ) {\n\t\t\t\t\tresult = error\n\t\t\t\t} else {\n\t\t\t\t\tresult = new Error( String( error ), { cause: error } )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( result ) && !handled.has( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tresult = Object.assign( result.finally( ()=> {\n\t\t\t\t\t\tif( this.cache === result ) this.absorb()\n\t\t\t\t\t} ), {\n\t\t\t\t\t\tdestructor: (result as any)['destructor'] ?? (()=> {})\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t\thandled.add( result )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( ! $mol_promise_like( result ) ) {\n\t\t\t\tthis.track_cut()\n\t\t\t}\n\t\t\t\n\t\t\tthis.track_off( bu )\n\t\t\tthis.put( result )\n\n\t\t}\n\t\t\n\t\trefresh() {\n\t\t\tthis.cursor = $mol_wire_cursor.stale\n\t\t\tthis.fresh()\n\t\t}\n\t\t\n\t\tabstract put( next: Result | Error | Promise< Result | Error > ): Result | Error | Promise< Result | Error >\n\t\t\n\t\t/**\n\t\t * Synchronous execution. Throws Promise when waits async task (SuspenseAPI provider).\n\t\t * Should be called inside SuspenseAPI consumer (ie fiber).\n\t\t */\n\t\tsync() {\n\t\t\t\n\t\t\tif( !$mol_wire_fiber.warm ) {\n\t\t\t\treturn this.result() as Awaited< Result >\n\t\t\t}\n\t\t\t\n\t\t\tthis.promote()\n\t\t\tthis.fresh()\n\t\t\t\n\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\tif( $mol_promise_like( this.cache ) ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.cache as Awaited< Result >\n\t\t}\n\n\t\t/**\n\t\t * Asynchronous execution.\n\t\t * It's SuspenseAPI consumer. So SuspenseAPI providers can be called inside.\n\t\t */\n\t\tasync async() {\n\t\t\t\n\t\t\twhile( true ) {\n\t\t\t\t\n\t\t\t\tthis.fresh()\n\t\t\t\t\n\t\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\t\t$mol_fail_hidden( this.cache )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( ! $mol_promise_like( this.cache ) ) return this.cache\n\t\t\t\t\t\n\t\t\t\tawait Promise.race([ this.cache, this.step() ])\n\t\t\t\tif( ! $mol_promise_like( this.cache ) ) return this.cache\n\t\t\t\t\t\n\t\t\t\tif( this.cursor === $mol_wire_cursor.final ) {\n\t\t\t\t\t// never ends on destructed fiber\n\t\t\t\t\tawait new Promise( ()=> {} )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tstep() {\n\t\t\treturn new Promise< null >( done => {\n\t\t\t\tconst sub = new $mol_wire_pub_sub\n\t\t\t\tconst prev = sub.track_on()\n\t\t\t\tsub.track_next( this )\n\t\t\t\tsub.track_off( prev )\n\t\t\t\tsub.absorb = ()=> {\n\t\t\t\t\tdone( null )\n\t\t\t\t\tsub.destructor()\n\t\t\t\t}\n\t\t\t} )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Generates unique identifier. */\n\texport function $mol_guid(\n\t\tlength = 8,\n\t\texists: ( id: string )=> boolean = ()=> false,\n\t) {\n\n\t\tfor(;;) {\n\n\t\t\tlet id = Math.random().toString( 36 ).substring( 2, length + 2 ).toUpperCase()\n\t\t\tif( exists( id ) ) continue\n\t\t\t\n\t\t\treturn id\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport const $mol_key_store = new WeakMap< object, string >()\n\n\t/** Returns string key for any value. */\n\texport function $mol_key< Value >( value : Value ) : string {\n\t\t\n\t\tif( typeof value === 'bigint' ) return value.toString() + 'n'\n\t\tif( typeof value === 'symbol' ) return value.description!\n\t\tif( !value ) return JSON.stringify( value )\n\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return JSON.stringify( value )\n\t\t\n\t\treturn JSON.stringify( value, ( field, value )=> {\n\t\t\t\n\t\t\tif( typeof value === 'bigint' ) return value.toString() + 'n'\n\t\t\tif( typeof value === 'symbol' ) return value.description\n\t\t\tif( !value ) return value\n\t\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return value\n\t\t\tif( Array.isArray( value ) ) return value\n\t\t\t\n\t\t\tconst proto = Reflect.getPrototypeOf( value )\n\t\t\tif( !proto ) return value\n\t\t\tif( Reflect.getPrototypeOf( proto ) === null ) return value\n\t\t\t\n\t\t\tif( 'toJSON' in value ) return value\n\t\t\tif( value instanceof RegExp ) return value.toString()\n\t\t\tif( value instanceof Uint8Array ) return [ ... value ]\n\t\t\t\n\t\t\tlet key = $mol_key_store.get( value )\n\t\t\tif( key ) return key\n\t\t\t\n\t\t\tkey = $mol_guid()\n\t\t\t$mol_key_store.set( value, key )\n\t\t\t\n\t\t\treturn key\n\t\t} )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport let $mol_compare_deep_cache = new WeakMap< any , WeakMap< any , boolean > >()\n\t\n\t/**\n\t * Deeply compares two values. Returns true if equal.\n\t * Define `Symbol.toPrimitive` to customize.\n\t */\n\texport function $mol_compare_deep< Value >( left: Value, right: Value ): boolean {\n\n\t\tif( Object.is( left , right ) ) return true\n\n\t\tif( left === null ) return false\n\t\tif( right === null ) return false\n\n\t\tif( typeof left !== 'object' ) return false\n\t\tif( typeof right !== 'object' ) return false\n\n\t\tconst left_proto = Reflect.getPrototypeOf( left as any )\n\t\tconst right_proto = Reflect.getPrototypeOf( right as any )\n\t\t\n\t\tif( left_proto !== right_proto ) return false\n\n\t\tif( left instanceof Boolean ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Number ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof String ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Date ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof RegExp ) return left.source === (right as any).source && left.flags === (right as any).flags\n\t\tif( left instanceof Error ) return left.message === (right as any).message && left.stack === (right as any).stack\n\n\t\tlet left_cache = $mol_compare_deep_cache.get( left )\n\t\tif( left_cache ) {\n\n\t\t\tconst right_cache = left_cache.get( right )\n\t\t\tif( typeof right_cache === 'boolean' ) return right_cache\n\n\t\t} else {\n\t\t\t\n\t\t\tleft_cache = new WeakMap< any , boolean >([[ right, true ]])\n\t\t\t$mol_compare_deep_cache.set( left , left_cache )\n\n\t\t}\n\n\t\tlet result!: boolean\n\n\t\ttry {\n\t\t\t\n\t\t\tif( !left_proto ) result = compare_pojo( left, right as any )\n\t\t\telse if( !Reflect.getPrototypeOf( left_proto ) ) result = compare_pojo( left, right as any )\n\t\t\telse if( Symbol.toPrimitive in left ) result = compare_primitive( left, right )\n\t\t\telse if( Array.isArray( left ) ) result = compare_array( left, right as any )\n\t\t\telse if( left instanceof Set ) result = compare_set( left, right as any )\n\t\t\telse if( left instanceof Map ) result = compare_map( left, right as any )\n\t\t\telse if( ArrayBuffer.isView( left ) ) result = compare_buffer( left, right as any )\n\t\t\telse if( Symbol.iterator in left ) result = compare_iterator( ( left as any )[ Symbol.iterator ](), ( right as any )[ Symbol.iterator ]() )\n\t\t\telse result = false\n\n\t\t} finally {\n\t\t\tleft_cache.set( right , result )\n\t\t}\n\t\t\n\t\treturn result\n\t}\n\n\tfunction compare_array< Value extends any[] >( left: Value, right: Value ): boolean {\n\t\t\n\t\tconst len = left.length\n\t\tif( len !== right.length ) return false\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( !$mol_compare_deep( left[i] , right[i] ) ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_buffer( left: ArrayBufferView, right: ArrayBufferView ): boolean {\n\t\t\n\t\tconst len = left.byteLength\n\t\tif( len !== right.byteLength ) return false\n\t\t\n\t\tif( left instanceof DataView ) return compare_buffer(\n\t\t\tnew Uint8Array( left.buffer, left.byteOffset, left.byteLength ),\n\t\t\tnew Uint8Array( right.buffer, left.byteOffset, left.byteLength ),\n\t\t)\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( (left as any)[i] !== (right as any)[i] ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_iterator< Value extends IterableIterator >(\n\t\tleft: Value,\n\t\tright: Value,\n\t): boolean {\n\t\t\n\t\twhile( true ) {\n\n\t\t\tconst left_next = left.next()\n\t\t\tconst right_next = right.next()\n\n\t\t\tif( left_next.done !== right_next.done ) return false\n\t\t\tif( left_next.done ) break\n\n\t\t\tif( !$mol_compare_deep( left_next.value , right_next.value ) ) return false\n\n\t\t}\n\n\t\treturn true\n\n\t}\n\t\n\tfunction compare_set< Value extends Set >( left: Value, right: Value ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_map< Key, Value >( left: Map< Key, Value > , right: Map< Key, Value > ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.keys(), right.keys() )\n\t\t\t&& compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_pojo( left: {}, right: {} ): boolean {\n\t\t\n\t\tconst left_keys = Object.getOwnPropertyNames( left )\n\t\tconst right_keys = Object.getOwnPropertyNames( right )\n\t\t\n\t\tif( !compare_array( left_keys, right_keys ) ) return false\n\n\t\tfor( let key of left_keys ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\tconst left_syms = Object.getOwnPropertySymbols( left )\n\t\tconst right_syms = Object.getOwnPropertySymbols( right )\n\t\t\n\t\tif( !compare_array( left_syms, right_syms ) ) return false\n\n\t\tfor( let key of left_syms ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\treturn true\n\t}\n\t\n\tfunction compare_primitive( left: {}, right: {} ): boolean {\n\t\treturn Object.is(\n\t\t\t(left as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t\t(right as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t)\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Logger event data */\n\texport type $mol_log3_event< Fields > = {\n\t\t[ key in string ] : unknown\n\t} & {\n\t\t\n\t\t/** Time of event creation */\n\t\ttime? : string\n\n\t\t/** Place of event creation */\n\t\tplace : unknown\n\n\t\t/** Short description of event */\n\t\tmessage : string\n\n\t} & Fields\n\n\t/** Logger function */\n\texport type $mol_log3_logger< Fields , Res = void > = (\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event< Fields > ,\n\t)=> Res\n\n\t/** Log begin of some task */\n\texport declare let $mol_log3_come : $mol_log3_logger<{}>\n\t\n\t/** Log end of some task */\n\texport declare let $mol_log3_done : $mol_log3_logger<{}>\n\t\n\t/** Log error */\n\texport declare let $mol_log3_fail : $mol_log3_logger<{}>\n\t\n\t/** Log warning message */\n\texport declare let $mol_log3_warn : $mol_log3_logger<{ hint : string }>\n\t\n\t/** Log some generic event */\n\texport declare let $mol_log3_rise : $mol_log3_logger<{}>\n\n\t/** Log begin of log group, returns func to close group */\n\texport declare let $mol_log3_area : $mol_log3_logger< {} , ()=> void >\n\n\t/** Log begin of collapsed group only when some logged inside, returns func to close group */\n\texport function $mol_log3_area_lazy(\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event<{}> ,\n\t) {\n\n\t\tconst self = this\n\t\tconst stack = self.$mol_log3_stack\n\n\t\tconst deep = stack.length\n\t\tlet logged = false\n\n\t\tstack.push( ()=> {\n\t\t\tlogged = true\n\t\t\tself.$mol_log3_area.call( self , event )\n\t\t} )\n\n\t\treturn ()=> {\n\t\t\tif( logged ) self.console.groupEnd()\n\t\t\tif( stack.length > deep ) stack.length = deep\n\t\t}\n\n\t}\n\n\texport let $mol_log3_stack = [] as ( ()=> void )[]\n\n}\n","namespace $ {\n\n\t/** Position in any resource. */\n\texport class $mol_span extends $mol_object2 {\n\n\t\tconstructor(\n\t\t\treadonly uri: string ,\n\t\t\treadonly source: string ,\n\t\t\treadonly row: number ,\n\t\t\treadonly col: number ,\n\t\t\treadonly length: number ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis[ Symbol.toStringTag ] = `${ this.uri }#${ this.row }:${ this.col }/${ this.length }`\n\t\t}\n\n\t\t/** Span for begin of unknown resource */\n\t\tstatic unknown = $mol_span.begin('?')\n\n\t\t/** Makes new span for begin of resource. */\n\t\tstatic begin( uri: string, source = '' ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for end of resource. */\n\t\tstatic end( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , source.length + 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for entire resource. */\n\t\tstatic entire( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , source.length )\n\t\t}\n\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn {\n\t\t\t\turi: this.uri,\n\t\t\t\trow: this.row,\n\t\t\t\tcol: this.col,\n\t\t\t\tlength: this.length\n\t\t\t}\n\t\t}\n\n\t\t/** Makes new error for this span. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn new Class( `${message} (${this})` )\n\t\t}\n\n\t\t/** Makes new span for same uri. */\n\t\tspan( row : number , col : number , length : number ) {\n\t\t\treturn new $mol_span( this.uri , this.source, row , col , length )\n\t\t}\n\n\t\t/** Makes new span after end of this. */\n\t\tafter( length = 0 ) {\n\t\t\treturn new $mol_span( this.uri , this.source, this.row , this.col + this.length , length )\n\t\t}\n\n\t\t/** Makes new span between begin and end. */\n\t\tslice( begin: number, end = -1 ) {\n\t\t\tlet len = this.length\n\t\t\t\n\t\t\tif( begin < 0 ) begin += len\n\t\t\tif( end < 0 ) end += len\n\n\t\t\tif (begin < 0 || begin > len) this.$.$mol_fail( this.error( `Begin value '${begin}' out of range`, RangeError ) )\n\t\t\tif (end < 0 || end > len) this.$.$mol_fail( this.error( `End value '${end}' out of range`, RangeError ) )\n\t\t\tif (end < begin) this.$.$mol_fail( this.error( `End value '${end}' can't be less than begin value`, RangeError ) )\n\n\t\t\treturn this.span( this.row , this.col + begin , end - begin )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Serializes tree to string in tree format. */\n\texport function $mol_tree2_to_string(\n\t\tthis: $,\n\t\ttree: $mol_tree2,\n\t) : string {\n\n\t\tlet output = [] as string[]\n\t\t\n\t\tfunction dump(\n\t\t\ttree: $mol_tree2,\n\t\t\tprefix = '',\n\t\t) {\n\n\t\t\tif( tree.type.length ) {\n\t\t\t\t\n\t\t\t\tif( !prefix.length ) {\n\t\t\t\t\tprefix = \"\\t\";\n\t\t\t\t}\n\n\t\t\t\toutput.push( tree.type )\n\n\t\t\t\tif( tree.kids.length == 1 ) {\n\t\t\t\t\toutput.push( ' ' )\n\t\t\t\t\tdump( tree.kids[ 0 ], prefix )\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\toutput.push( \"\\n\" )\n\n\t\t\t} else if( tree.value.length || prefix.length ) {\n\n\t\t\t\toutput.push( \"\\\\\" + tree.value + \"\\n\" )\n\n\t\t\t}\n\n\t\t\tfor( const kid of tree.kids ) {\n\t\t\t\toutput.push( prefix )\n\t\t\t\tdump( kid, prefix + \"\\t\" )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tdump( tree )\n\n\t\treturn output.join('')\n\t}\n\t\t\n}\n","namespace $ {\n\n\t/** Path by types in tree. */\n\texport type $mol_tree2_path =\n\t\tArray< string | number | null >\n\t\n\t/** Hask tool for processing node. */\n\texport type $mol_tree2_hack< Context > =\n\t\t(\n\t\t\tinput : $mol_tree2 ,\n\t\t\tbelt : $mol_tree2_belt< Context > ,\n\t\t\tcontext : Context ,\n\t\t)=> readonly $mol_tree2[]\n\n\t/** Collection of hask tools for processing tree. */\n\texport type $mol_tree2_belt< Context > =\n\t\tRecord< string , $mol_tree2_hack< Context > >\n\n\t/**\n\t * Abstract Syntax Tree with human readable serialization.\n\t * Avoid direct instantiation. Use static factories instead.\n\t * @see https://github.com/nin-jin/tree.d\n\t */\n\texport class $mol_tree2 extends Object {\n\t\t\n\t\tconstructor(\n\n\t\t\t/** Type of structural node, `value` should be empty */\n\t\t\treadonly type : string,\n\t\t\t\n\t\t\t/** Content of data node, `type` should be empty */\n\t\t\treadonly value : string,\n\n\t\t\t/** Child nodes */\n\t\t\treadonly kids : readonly $mol_tree2[],\n\t\t\t\n\t\t\t/** Position in most far source resource */\n\t\t\treadonly span : $mol_span,\n\n\t\t) {\n\t\t\tsuper()\n\t\t\t;(this as any)[ Symbol.toStringTag ] = type || '\\\\' + value\n\t\t}\n\n\t\t/** Makes collection node. */\n\t\tstatic list(\n\t\t\tkids : readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\t\t\treturn new $mol_tree2( '' , '' , kids , span )\n\t\t}\n\t\t\n\t\t/** Makes new derived collection node. */\n\t\tlist(\n\t\t\tkids : readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.list( kids , this.span )\n\t\t}\n\n\t\t/** Makes data node for any string. */\n\t\tstatic data(\n\t\t\tvalue : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\n\t\t\tconst chunks = value.split( '\\n' )\n\n\t\t\tif( chunks.length > 1 ) {\n\t\t\t\n\t\t\t\tlet kid_span = span.span( span.row , span.col , 0 )\n\n\t\t\t\tconst data = chunks.map( chunk => {\n\t\t\t\t\tkid_span = kid_span.after( chunk.length )\n\t\t\t\t\treturn new $mol_tree2( '' , chunk , [] , kid_span )\n\t\t\t\t} )\n\n\t\t\t\tkids = [ ... data , ... kids ]\n\n\t\t\t\tvalue = ''\n\n\t\t\t}\n\n\t\t\treturn new $mol_tree2( '' , value , kids , span )\n\n\t\t}\n\t\t\n\t\t/** Makes new derived data node. */\n\t\tdata(\n\t\t\tvalue : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.data( value , kids , this.span )\n\t\t}\n\t\t\n\t\t/** Makes struct node. */\n\t\tstatic struct(\n\t\t\ttype : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\n\t\t\tif( /[ \\n\\t\\\\]/.test( type ) ) {\n\t\t\t\t$$.$mol_fail( span.error( `Wrong type ${ JSON.stringify( type ) }` ) )\n\t\t\t}\n\n\t\t\treturn new $mol_tree2( type , '' , kids , span )\n\n\t\t}\n\t\t\n\t\t/** Makes new derived structural node. */\n\t\tstruct(\n\t\t\ttype : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.struct( type , kids , this.span )\n\t\t}\n\n\t\t/** Makes new derived node with different kids id defined. */\n\t\tclone( kids : readonly $mol_tree2[], span = this.span ) {\n\t\t\treturn new $mol_tree2( this.type , this.value , kids , span )\n\t\t}\n\n\t\t/** Returns multiline text content. */\n\t\ttext() {\n\n\t\t\tvar values : string[] = []\n\t\t\t\n\t\t\tfor( var kid of this.kids ) {\n\t\t\t\tif( kid.type ) continue\n\t\t\t\tvalues.push( kid.value )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.value + values.join( '\\n' )\n\n\t\t}\n\t\t\n\t\t/** Parses tree format. */\n\t\t/** @deprecated Use $mol_tree2_from_string */\n\t\tstatic fromString( str : string , uri = 'unknown' ) {\n\t\t\treturn $$.$mol_tree2_from_string( str, uri )\n\t\t}\n\n\t\t/** Serializes to tree format. */\n\t\ttoString() : string {\n\t\t\treturn $$.$mol_tree2_to_string( this )\n\t\t}\n\t\t\n\t\t/** Makes new tree with node overrided by path. */\n\t\tinsert( value : $mol_tree2 | null , ...path : $mol_tree2_path ) : $mol_tree2 {\n\n\t\t\tif( path.length === 0 ) return value!\n\t\t\t\n\t\t\tconst type = path[0]\n\t\t\tif( typeof type === 'string' ) {\n\n\t\t\t\tlet replaced = false\n\t\t\t\tconst sub = this.kids.map( ( item , index )=> {\n\t\t\t\t\tif( item.type !== type ) return item\n\t\t\t\t\treplaced = true\n\t\t\t\t\treturn item.insert( value , ... path.slice( 1 ) )\n\t\t\t\t} ).filter( Boolean )\n\t\t\t\t\n\t\t\t\tif( !replaced && value ) {\n\t\t\t\t\tsub.push( this.struct( type , [] ).insert( value , ... path.slice( 1 ) ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn this.clone( sub )\n\n\t\t\t} else if( typeof type === 'number' ) {\n\t\t\t\t\n\t\t\t\tconst sub = this.kids.slice()\n\t\t\t\tsub[ type ] = ( sub[ type ] || this.list([]) )\n\t\t\t\t\t.insert( value , ... path.slice( 1 ) )\n\t\t\t\t\n\t\t\t\treturn this.clone( sub.filter( Boolean ) )\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst kids = ( ( this.kids.length === 0 ) ? [ this.list([]) ] : this.kids )\n\t\t\t\t.map( item => item.insert( value , ... path.slice( 1 ) ) )\n\t\t\t\t.filter( Boolean )\n\n\t\t\t\treturn this.clone( kids )\n\n\t\t\t}\n\n\t\t}\n\n\t\t/** Query nodes by path. */\n\t\tselect( ...path : $mol_tree2_path ) {\n\n\t\t\tlet next = [ this as $mol_tree2 ]\n\n\t\t\tfor( const type of path ) {\n\n\t\t\t\tif( !next.length ) break\n\t\t\t\t\n\t\t\t\tconst prev = next\n\t\t\t\tnext = []\n\n\t\t\t\tfor( var item of prev ) {\n\n\t\t\t\t\tswitch( typeof( type ) ) {\n\n\t\t\t\t\t\tcase 'string' :\n\n\t\t\t\t\t\t\tfor( var child of item.kids ) {\n\t\t\t\t\t\t\t\tif( child.type == type ) {\n\t\t\t\t\t\t\t\t\tnext.push( child )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase 'number' :\n\n\t\t\t\t\t\t\tif( type < item.kids.length ) next.push( item.kids[ type ] )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\n\t\t\t\t\t\tdefault : next.push( ... item.kids )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.list( next )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Filter kids by path or value. */\n\t\tfilter( path : string[] , value? : string ) {\n\n\t\t\tconst sub = this.kids.filter( item => {\n\t\t\t\t\t\n\t\t\t\tvar found = item.select( ...path )\n\t\t\t\t\n\t\t\t\tif( value === undefined ) {\n\t\t\t\t\treturn Boolean( found.kids.length )\n\t\t\t\t} else {\n\t\t\t\t\treturn found.kids.some( child => child.value == value )\n\t\t\t\t}\n\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t\treturn this.clone( sub )\n\n\t\t}\n\n\t\t/** Transform tree through context with transformers */\n\t\thack< Context extends { span?: $mol_span; [ key: string ]: unknown } = {} >(\n\t\t\tbelt: $mol_tree2_belt< Context >,\n\t\t\tcontext = {} as Context,\n\t\t) {\n\t\t\t\n\t\t\treturn ( [] as readonly $mol_tree2[] ).concat( ... this.kids.map( child => {\n\n\t\t\t\tlet handle = belt[ child.type ] || belt[ '' ]\n\t\t\t\t\n\t\t\t\tif( !handle || handle === Object.prototype[ child.type as keyof Object ] ) {\n\t\t\t\t\thandle = ( input, belt, context )=> [\n\t\t\t\t\t\tinput.clone( input.hack( belt, context ), context.span )\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\treturn handle( child , belt , context! )\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\terror.message += `\\n${ child.clone([]) }${ child.span }`\n\t\t\t\t\t$mol_fail_hidden( error )\n\t\t\t\t}\n\n\t\t\t} ) )\n\n\t\t}\n\n\t\t/** Makes Error with node coordinates. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn this.span.error( `${ message }\\n${ this.clone([]) }` , Class )\n\t\t}\n\n\t}\n\n\texport class $mol_tree2_empty extends $mol_tree2 {\n\t\tconstructor() {\n\t\t\tsuper( '' , '' , [] , $mol_span.unknown )\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Syntax error with cordinates and source line snippet. */\n\texport class $mol_error_syntax extends SyntaxError {\n\t\tconstructor (\n\t\t\tpublic reason: string,\n\t\t\tpublic line: string,\n\t\t\tpublic span: $mol_span,\n\t\t) {\n\t\t\tsuper(`${ reason }\\n${ span }\\n${ line.substring( 0 , span.col - 1 ).replace( /\\S/g, ' ' ) }${ ''.padEnd( span.length, '!' ) }\\n${ line }`)\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Parses tree format from string. */\n\texport function $mol_tree2_from_string(\n\t\tthis: $,\n\t\tstr: string,\n\t\turi = '?',\n\t) : $mol_tree2 {\n\n\t\tconst span = $mol_span.entire( uri, str )\n\n\t\tvar root = $mol_tree2.list( [], span )\n\t\tvar stack = [ root ]\n\n\t\tvar pos = 0, row = 0, min_indent = 0\n\t\t\n\t\twhile( str.length > pos ) {\n\n\t\t\tvar indent = 0\n\t\t\tvar line_start = pos\n\n\t\t\trow++\n\n\t\t\t// read indent\n\t\t\twhile( str.length > pos && str[ pos ] == '\\t' ) {\n\t\t\t\tindent++\n\t\t\t\tpos++\n\t\t\t}\n\n\t\t\tif( ! root.kids.length ) {\n\t\t\t\tmin_indent = indent\n\t\t\t}\n\n\t\t\tindent -= min_indent\n\n\t\t\t// invalid tab size\n\t\t\tif( indent < 0 || indent >= stack.length ) {\n\n\t\t\t\tconst sp = span.span( row, 1, pos - line_start )\n\n\t\t\t\t// skip error line\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( indent < 0 ) {\n\t\t\t\t\tif( str.length > pos ) {\n\t\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t\t`Too few tabs`,\n\t\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\t\tsp,\n\t\t\t\t\t\t) )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Too many tabs`,\n\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tstack.length = indent + 1\n\t\t\tvar parent = stack[ indent ]\n\n\t\t\t// parse types\n\t\t\twhile( str.length > pos && str[ pos ] != '\\\\' && str[ pos ] != '\\n' ) {\n\n\t\t\t\t// type can not contain space and tab\n\t\t\t\tvar error_start = pos\n\t\t\t\twhile( str.length > pos && ( str[ pos ] == ' ' || str[ pos ] == '\\t' ) ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( pos > error_start ) {\n\t\t\t\t\tlet line_end = str.indexOf( '\\n' , pos )\n\t\t\t\t\tif( line_end === -1 ) line_end = str.length\n\t\t\t\t\tconst sp = span.span( row, error_start - line_start + 1, pos - error_start )\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Wrong nodes separator`,\n\t\t\t\t\t\tstr.substring( line_start, line_end ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t\t// read type\n\t\t\t\tvar type_start = pos\n\t\t\t\twhile( \n\t\t\t\t\tstr.length > pos && \n\t\t\t\t\tstr[ pos ] != '\\\\' && \n\t\t\t\t\tstr[ pos ] != ' ' && \n\t\t\t\t\tstr[ pos ] != '\\t' && \n\t\t\t\t\tstr[ pos ] != '\\n'\n\t\t\t\t) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tif( pos > type_start ) {\n\t\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t\tstr.slice( type_start , pos ),\n\t\t\t\t\t\t'',\n\t\t\t\t\t\t[],\n\t\t\t\t\t\tspan.span( row, type_start - line_start + 1, pos - type_start ),\n\t\t\t\t\t)\n\t\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\t\tparent_kids.push( next )\n\t\t\t\t\tparent = next\n\t\t\t\t}\n\n\t\t\t\t// read one space if exists\n\t\t\t\tif( str.length > pos && str[ pos ] == ' ' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// read data\n\t\t\tif( str.length > pos && str[ pos ] == '\\\\' ) {\n\t\t\t\tvar data_start = pos\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t'',\n\t\t\t\t\tstr.slice( data_start + 1 , pos ),\n\t\t\t\t\t[],\n\t\t\t\t\tspan.span( row, data_start - line_start + 2, pos - data_start - 1 ),\n\t\t\t\t)\n\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\tparent_kids.push( next )\n\t\t\t\tparent = next\n\t\t\t}\n\n\t\t\t// now must be end of text\n\t\t\tif( str.length === pos && stack.length > 0 ) {\n\t\t\t\tconst sp = span.span( row, pos - line_start + 1, 1 )\n\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t`Unexpected EOF, LF required`,\n\t\t\t\t\tstr.substring( line_start, str.length ),\n\t\t\t\t\tsp,\n\t\t\t\t) )\n\t\t\t}\n\n\t\t\tstack.push( parent )\n\t\t\tpos++\n\t\t}\n\n\t\treturn root\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_tree2_from_json( json: any, span = $mol_span.unknown ): $mol_tree2 {\n\n\t\tif( typeof json === 'boolean' || typeof json === 'number' || json === null ) {\n\t\t\treturn new $mol_tree2( String( json ) , '' , [] , span )\n\t\t}\n\t\t\n\t\tif( typeof json === 'string' ) {\n\t\t\treturn $mol_tree2.data( json , [], span )\n\t\t}\n\n\t\tif( Array.isArray( json ) ) {\n\t\t\tconst sub = json.map( json => $mol_tree2_from_json( json , span ) )\n\t\t\treturn new $mol_tree2( '/' , '', sub, span )\n\t\t}\n\t\t\n\t\tif( ArrayBuffer.isView( json ) ) {\n\t\t\tconst buf = new Uint8Array( json.buffer, json.byteOffset, json.byteLength )\n\t\t\treturn $mol_tree2.data( String.fromCharCode( ... buf ) , [], span )\n\t\t}\n\t\t\t\n\t\tif( json instanceof Date ) {\n\t\t\treturn new $mol_tree2( '', json.toISOString() , [] , span )\n\t\t}\n\n\t\tif( typeof json.toJSON === 'function' ) {\n\t\t\treturn $mol_tree2_from_json( json.toJSON() )\n\t\t}\n\n\t\tif( json.toString !== Object.prototype.toString ) {\n\t\t\treturn $mol_tree2.data( json.toString() , [], span )\n\t\t}\n\n\t\tif( json instanceof Error ) {\n\t\t\tconst { name , message , stack } = json\n\t\t\tjson = { ... json, name, message, stack }\n\t\t}\n\n\t\tconst sub = [] as $mol_tree2[]\n\t\t\n\t\tfor( var key in json ) {\n\n\t\t\tconst val = json[ key ]\n\n\t\t\tif( val === undefined ) continue\n\n\t\t\tconst subsub = $mol_tree2_from_json( val, span )\n\t\t\t\n\t\t\tif( /^[^\\n\\t\\\\ ]+$/.test( key ) ) {\n\t\t\t\tsub.push( new $mol_tree2( key, '', [ subsub ], span ) )\n\t\t\t} else {\n\t\t\t\tsub.push( $mol_tree2.data( key, [ subsub ], span ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn new $mol_tree2( '*' , '', sub , span )\n\t\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Module for working with terminal. Text coloring when output in terminal */\n\texport class $mol_term_color {\n\t\t\n\t\tstatic reset = this.ansi( 0, 0 )\n\t\tstatic bold = this.ansi( 1, 22 )\n\t\tstatic italic = this.ansi( 3, 23 )\n\t\tstatic underline = this.ansi( 4, 24 )\n\t\tstatic inverse = this.ansi( 7, 27 )\n\t\tstatic hidden = this.ansi( 8, 28 )\n\t\tstatic strike = this.ansi( 9, 29 )\n\t\t\n\t\tstatic gray = this.ansi( 90, 39 )\n\t\tstatic red = this.ansi( 91, 39 )\n\t\tstatic green = this.ansi( 92, 39 )\n\t\tstatic yellow = this.ansi( 93, 39 )\n\t\tstatic blue = this.ansi( 94, 39 )\n\t\tstatic magenta = this.ansi( 95, 39 )\n\t\tstatic cyan = this.ansi( 96, 39 )\n\t\t\n\t\tstatic Gray = ( str: string )=> this.inverse( this.gray( str ) )\n\t\tstatic Red = ( str: string )=> this.inverse( this.red( str ) )\n\t\tstatic Green = ( str: string )=> this.inverse( this.green( str ) )\n\t\tstatic Yellow = ( str: string )=> this.inverse( this.yellow( str ) )\n\t\tstatic Blue = ( str: string )=> this.inverse( this.blue( str ) )\n\t\tstatic Magenta = ( str: string )=> this.inverse( this.magenta( str ) )\n\t\tstatic Cyan = ( str: string )=> this.inverse( this.cyan( str ) )\n\t\t\n\t\tstatic ansi( open: number, close: number ) {\n\t\n\t\t\tif( typeof process === 'undefined' ) return String\n\t\t\tif( !process.stdout.isTTY ) return String\n\t\t\n\t\t\tconst prefix = `\\x1b[${open}m`\n\t\t\tconst postfix = `\\x1b[${close}m`\n\t\t\t\n\t\t\tconst suffix_regexp = new RegExp( postfix.replace( '[', '\\\\[' ), 'g' )\n\t\t\n\t\t\treturn function colorer( str: string ) {\n\t\t\n\t\t\t\tstr = String( str )\n\t\t\t\tif( str === '' ) return str\n\t\t\n\t\t\t\tconst suffix = str.replace( suffix_regexp, prefix )\n\t\t\t\treturn prefix + suffix + postfix\n\t\t\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_log3_node_make(\n\t\tlevel : keyof Console ,\n\t\toutput : 'stdout' | 'stderr',\n\t\ttype : string ,\n\t\tcolor: ( str: string )=> string ,\n\t) {\n\n\t\treturn function $mol_log3_logger(\n\t\t\tthis : $ ,\n\t\t\tevent : $mol_log3_event<{}> ,\n\t\t) {\n\n\t\t\tif( !event.time ) event = { time : new Date().toISOString() , ... event }\n\n\t\t\tlet tree = this.$mol_tree2_from_json( event )\n\t\t\ttree = tree.struct( type, tree.kids )\n\t\t\t\n\t\t\tlet str = color( tree.toString() )\n\t\t\t;( this.console[ level ] as any )( str )\n\t\n\t\t\tconst self = this\n\t\t\treturn ()=> self.console.groupEnd()\n\n\t\t}\n\n\t}\n\n\t$.$mol_log3_come = $mol_log3_node_make( 'info' , 'stdout' , 'come' , $mol_term_color.blue )\n\t$.$mol_log3_done = $mol_log3_node_make( 'info' , 'stdout' , 'done' , $mol_term_color.green )\n\t$.$mol_log3_fail = $mol_log3_node_make( 'error' , 'stderr' , 'fail' , $mol_term_color.red )\n\t$.$mol_log3_warn = $mol_log3_node_make( 'warn' , 'stderr' , 'warn' , $mol_term_color.yellow )\n\t$.$mol_log3_rise = $mol_log3_node_make( 'log' , 'stdout' , 'rise' , $mol_term_color.magenta )\n\t$.$mol_log3_area = $mol_log3_node_make( 'log' , 'stdout' , 'area' , $mol_term_color.cyan )\n\n}\n","namespace $ {\n\t\n\t/** One-shot fiber */\n\texport class $mol_wire_task<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_fiber< Host, Args, Result > {\n\t\t\n\t\tstatic getter<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\ttask: ( this : Host , ... args : Args )=> Result,\n\t\t): ( host: Host, args: Args )=> $mol_wire_task< Host, Args, Result > {\n\t\t\t\n\t\t\treturn function $mol_wire_task_get( host: Host, args: Args ) {\n\t\t\t\t\n\t\t\t\tconst sub = $mol_wire_auto()\n\t\t\t\tconst existen = sub?.track_next() as $mol_wire_task< Host, Args, Result > | undefined\n\t\t\t\t\n\t\t\t\treuse: if( existen ) {\n\t\t\t\t\t\n\t\t\t\t\tif( !existen.temp ) break reuse\n\t\t\t\t\t\n\t\t\t\t\tif( existen.host !== host ) break reuse\n\t\t\t\t\tif( existen.task !== task ) break reuse\n\t\t\t\t\tif( !$mol_compare_deep( existen.args, args ) ) break reuse\n\t\t\t\t\t\n\t\t\t\t\treturn existen\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst next = new $mol_wire_task( `${ (host as any)?.[ Symbol.toStringTag ] ?? host }.${ task.name }<#>`, task, host, args )\n\t\t\t\t\n\t\t\t\t// Disabled because non-idempotency is required for try-catch\n\t\t\t\tif( existen?.temp ) {\n\t\t\t\t\t$$.$mol_log3_warn({\n\t\t\t\t\t\tplace: '$mol_wire_task',\n\t\t\t\t\t\tmessage: `Non idempotency`,\n\t\t\t\t\t\texisten,\n\t\t\t\t\t\tnext,\n\t\t\t\t\t\thint: 'Ignore it',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tget temp() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\tcomplete() {\n\t\t\tif( $mol_promise_like( this.cache ) ) return\n\t\t\tthis.destructor()\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\tthis.cache = next\n\t\t\t\n\t\t\tif( $mol_promise_like( next ) ) {\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\tif( next !== prev ) this.emit()\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t\t\n\t\t\tif( this.sub_empty ) this.destructor()\n\t\t\telse if( next !== prev ) this.emit()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Decorates method to fiber to ensure it is executed only once inside other fiber.\n\t */\n\texport function $mol_wire_method<\n\t\tHost extends object,\n\t\tArgs extends readonly any[],\n\t>(\n\t\thost : Host,\n\t\tfield : PropertyKey,\n\t\tdescr? : TypedPropertyDescriptor< ( ... args: Args )=> any >,\n\t) {\n\t\t\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field ) as any\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\t\n\t\tif( typeof (sup as any)[ field ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : (sup as any)[ field ].name } )\n\t\t}\n\t\t\n\t\tconst temp = $mol_wire_task.getter( orig )\n\t\tconst value = function( this: Host, ... args: Args ) {\n\t\t\tconst fiber = temp( this ?? null as any, args )\n\t\t\treturn fiber.sync()\n\t\t}\n\t\t\n\t\tObject.defineProperty( value , 'name' , { value : orig.name + ' ' } )\n\t\t\n\t\tObject.assign( value, { orig } )\n\t\tconst descr2 = { ... descr, value }\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst catched = new WeakMap< any , boolean >()\n\n\texport function $mol_fail_catch( error: unknown ) {\n\t\t\n\t\tif( typeof error !== 'object' ) return false\n\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\tif( catched.get( error ) ) return false\n\t\t\n\t\tcatched.set( error , true )\n\t\treturn true\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_fail_log( error: unknown ) {\n\t\t\n\t\tif( $mol_promise_like( error ) ) return false\n\t\tif( !$mol_fail_catch( error ) ) return false\n\t\t\n\t\tconsole.error( error )\n\t\t\n\t\treturn true\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\t/** Long-living fiber. */\n\texport class $mol_wire_atom<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_fiber< Host, Args, Result > {\n\n\t\tstatic solo<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\thost: Host,\n\t\t\ttask: ( this: Host, ... args: Args )=> Result,\n\t\t): $mol_wire_atom< Host, Args, Result > {\n\t\t\t\n\t\t\tconst field = task.name + '<>'\n\t\t\t\n\t\t\tconst existen = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\tif( existen ) return existen\n\t\t\t\n\t\t\tconst prefix = (host as any)?.[ Symbol.toStringTag ] ?? ( host instanceof Function ? $$.$mol_func_name( host ) : host )\n\t\t\tconst key = `${ prefix }.${ field }`\n\t\t\t\n\t\t\tconst fiber = new $mol_wire_atom( key, task, host, [] as any as Args )\n\t\t\t;( host as any ?? task )[ field ] = fiber\n\t\t\t\n\t\t\treturn fiber\n\t\t}\n\t\t\n\t\tstatic plex<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\thost: Host,\n\t\t\ttask: ( this: Host , ... args: Args )=> Result,\n\t\t\tkey: Args[0],\n\t\t): $mol_wire_atom< Host, Args, Result > {\n\t\t\t\n\t\t\tconst field = task.name + '<>'\n\t\t\tlet dict = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\tconst prefix = (host as any)?.[ Symbol.toStringTag ] ?? ( host instanceof Function ? $$.$mol_func_name( host ) : host )\n\t\t\tconst key_str = $mol_key( key )\n\t\t\t\n\t\t\tif( dict ) {\n\t\t\t\tconst existen = dict.get( key_str )\n\t\t\t\tif( existen ) return existen\n\t\t\t} else {\n\t\t\t\tdict = ( host as any ?? task )[ field ] = new Map()\n\t\t\t}\n\t\t\t\n\t\t\tconst id = `${ prefix }.${ task.name }<${ key_str.replace( /^\"|\"$/g, \"'\" ) }>`\n\t\t\tconst fiber = new $mol_wire_atom( id, task, host, [ key ] as any as Args )\n\t\t\tdict.set( key_str, fiber )\n\t\t\t\n\t\t\treturn fiber\n\t\t}\n\t\t\n\t\tstatic watching = new Set< $mol_wire_atom< any, any, any > >()\n\t\tstatic watcher = null as $mol_after_frame | null\n\t\t\n\t\tstatic watch() {\n\t\t\n\t\t\t$mol_wire_atom.watcher = new $mol_after_frame( $mol_wire_atom.watch )\n\t\t\t\n\t\t\tfor( const atom of $mol_wire_atom.watching ) {\n\t\t\t\t\n\t\t\t\tif( atom.cursor === $mol_wire_cursor.final ) {\n\t\t\t\t\t$mol_wire_atom.watching.delete( atom )\n\t\t\t\t} else {\n\t\t\t\t\tatom.cursor = $mol_wire_cursor.stale\n\t\t\t\t\tatom.fresh()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twatch() {\n\t\t\t\n\t\t\tif( !$mol_wire_atom.watcher ) {\n\t\t\t\t$mol_wire_atom.watcher = new $mol_after_frame( $mol_wire_atom.watch )\n\t\t\t}\n\t\t\t\n\t\t\t$mol_wire_atom.watching.add( this )\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Update fiber value through another temp fiber.\n\t\t */\n\t\t@ $mol_wire_method\n\t\tresync( args: Args ) {\n\t\t\treturn this.put( this.task.call( this.host!, ... args ) )\n\t\t}\n\t\t\n\t\t@ $mol_wire_method\n\t\tonce() {\n\t\t\treturn this.sync()\n\t\t}\n\t\t\n\t\tchannel() {\n\t\t\treturn Object.assign( ( next?: $mol_type_foot< Args > )=> {\n\t\t\t\t\t\n\t\t\t\tif( next !== undefined ) return this.resync( [ ... this.args, next ] as any ) as never\n\t\t\t\tif( !$mol_wire_fiber.warm ) return this.result() as never\n\t\t\t\t\n\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\treturn this.once()\n\t\t\t\t} else {\n\t\t\t\t\treturn this.sync()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}, { atom: this as $mol_wire_atom< Host, Args, Result > } )\n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tsuper.destructor()\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\tprev.destructor()\n\t\t\t}\n\t\t\t\n\t\t\tif( this.pub_from === 0 ) {\n\t\t\t\t;( this.host as any ?? this.task )[ this.field() ] = null\n\t\t\t} else {\n\t\t\t\t;( this.host as any ?? this.task )[ this.field() ].delete( $mol_key( this.args[0] ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\t\n\t\t\tupdate: if( next !== prev ) {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tif( $mol_compare_deep( prev, next ) ) break update\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\t\tprev.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_owning_catch( this, next ) ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t(next as any)[ Symbol.toStringTag ] = (this as any)[ Symbol.toStringTag ]\n\t\t\t\t\t} catch { // Promises throw in strict mode\n\t\t\t\t\t\tObject.defineProperty( next, Symbol.toStringTag, { value: (this as any)[ Symbol.toStringTag ] } )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( !this.sub_empty ) this.emit()\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.cache = next\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t\tif( $mol_promise_like( next ) ) return next\n\t\t\t\n\t\t\tthis.complete_pubs()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\t/** Decorates solo object channel to [mol_wire_atom](../atom/atom.ts). */\n\texport function $mol_wire_solo< Args extends any[] >(\n\t\thost: object,\n\t\tfield: string,\n\t\tdescr?: TypedPropertyDescriptor< ( ... args: Args )=> any >\n\t) {\n\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\n\t\tif( typeof (sup as any)[ field ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : (sup as any)[ field ].name } )\n\t\t}\n\t\t\n\t\tconst descr2 = {\n\t\t\t... descr,\n\t\t\tvalue: function( this: typeof host, ... args: Args ){\n\t\t\t\n\t\t\t\tlet atom = $mol_wire_atom.solo( this, orig )\n\t\t\t\t\n\t\t\t\tif(( args.length === 0 )||( args[0] === undefined )) {\n\t\t\t\t\t\n\t\t\t\t\tif( !$mol_wire_fiber.warm ) return atom.result()\n\t\t\t\t\t\n\t\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\t\treturn atom.once()\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn atom.sync()\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn atom.resync( args )\t\n\t\t\t}\n\t\t}\n\t\t\n\t\tReflect.defineProperty( descr2.value , 'name' , { value : orig.name + ' ' } )\n\t\tReflect.defineProperty( descr2.value , 'length' , { value : orig.length } )\n\t\tObject.assign( descr2.value, { orig } )\n\t\t\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2 as any as TypedPropertyDescriptor< ( ... args: First_optional< Args > )=> any >\n\t}\n\n\ttype First_optional< Args extends any[] > = Args extends []\n\t\t? []\n\t\t: [ Args[0] | undefined, ... $mol_type_tail< Args > ]\n\n}\n","namespace $ {\n\t\n\t/** Reactive memoizing multiplexed property decorator. */\n\texport function $mol_wire_plex< Args extends [ any, ... any[] ] >(\n\t\thost: object,\n\t\tfield: string,\n\t\tdescr?: TypedPropertyDescriptor< ( ... args: Args )=> any >\n\t) {\n\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\n\t\tif( typeof (sup as any)[ field ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : (sup as any)[ field ].name } )\n\t\t}\n\t\t\n\t\tconst descr2 = {\n\t\t\t... descr,\n\t\t\tvalue: function( this: typeof host, ... args: Args ) {\n\t\t\t\n\t\t\t\tlet atom = $mol_wire_atom.plex( this, orig, args[0] )\n\t\t\t\t\n\t\t\t\tif(( args.length === 1 )||( args[1] === undefined )) {\n\t\t\t\t\t\n\t\t\t\t\tif( !$mol_wire_fiber.warm ) return atom.result()\n\t\t\t\t\t\n\t\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\t\treturn atom.once()\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn atom.sync()\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn atom.resync( args )\t\n\t\t\t}\n\t\t}\n\t\t\n\t\tReflect.defineProperty( descr2.value , 'name' , { value : orig.name + ' ' } )\n\t\tReflect.defineProperty( descr2.value , 'length' , { value : orig.length } )\n\t\tObject.assign( descr2.value, { orig } )\n\t\t\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Reactive memoizing solo property decorator from [mol_wire](../wire/README.md)\n\t * @example\n\t * '@' $mol_mem\n\t * name(next?: string) {\n\t * \treturn next ?? 'default'\n\t * }\n\t * @see https://mol.hyoo.ru/#!section=docs/=qxmh6t_sinbmb\n\t */\n\texport let $mol_mem = $mol_wire_solo\n\n\t/**\n\t * Reactive memoizing multiplexed property decorator [mol_wire](../wire/README.md)\n\t * @example\n\t * '@' $mol_mem_key\n\t * name(id: number, next?: string) {\n\t * return next ?? 'default'\n\t * }\n\t * @see https://mol.hyoo.ru/#!section=docs/=qxmh6t_sinbmb\n\t */\n\texport let $mol_mem_key = $mol_wire_plex\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","interface $node {\n\t[key:string]: any\n}\n\nvar $node = new Proxy( { require } as any , {\n\t\n\tget( target , name : string , wrapper ) {\n\n\t\tif( target[ name ] ) return target[ name ]\n\n\t\tconst mod = target.require( 'module' ) as typeof import( 'module' )\n\t\t\n\t\tif( mod.builtinModules.indexOf( name ) >= 0 ) return target.require( name )\n\t\tif( name[0] === '.' ) return target.require( name )\n\t\t\n\t\tconst path = target.require( 'path' ) as typeof import( 'path' )\n\t\tconst fs = target.require( 'fs' ) as typeof import( 'fs' )\n\n\t\tlet dir = path.resolve( '.' )\n\t\tconst suffix = `./node_modules/${ name }`\n\n\t\tconst $$ = ( $ as any )\n\t\t\n\t\twhile( !fs.existsSync( path.join( dir , suffix ) ) ) {\n\n\t\t\tconst parent = path.resolve( dir , '..' )\n\n\t\t\tif( parent === dir ) {\n\n\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', name )\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', '@types/' + name )\n\t\t\t\t} catch {}\n\n\t\t\t\tbreak\n\n\t\t\t} else {\n\n\t\t\t\tdir = parent\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\ttry {\n\t\t\treturn target.require( name )\n\t\t} catch( error ) {\n\t\t\t$.$mol_fail_log( error )\n\t\t\treturn null\n\t\t}\n\n\t},\n\n\tset( target , name : string , value ) {\n\t\ttarget[ name ] = value\n\t\treturn true\n\t},\n\n} ) as $node\n\nrequire = ( req =>\n\tObject.assign( function require( name : string ) {\n\t\treturn $node[ name ]\n\t} , req )\n)( require )\n\n","namespace $ {\n\texport function $mol_env() {\n\t\treturn {} as Record< string, string | undefined >\n\t}\n}\n","namespace $ {\n\t$.$mol_env = function $mol_env() {\n\t\treturn this.process.env\n\t}\n}\n","namespace $ {\n\texport function $mol_exec(\n\t\tthis : $ ,\n\t\tdir : string ,\n\t\tcommand : string ,\n\t\t...args : string[]\n\t) {\n\n\t\tlet [ app , ... args0 ] = command.split( ' ' )\n\t\targs = [ ... args0 , ... args ]\n\n\t\tthis.$mol_log3_come({\n\t\t\tplace: '$mol_exec' ,\n\t\t\tdir: $node.path.relative( '' , dir ) ,\n\t\t\tmessage: 'Run',\n\t\t\tcommand: `${app} ${ args.join(' ') }` ,\n\t\t})\n\n\t\tvar res = $node['child_process'].spawnSync(\n\t\t\tapp ,\n\t\t\targs,\n\t\t\t{\n\t\t\t\tcwd : $node.path.resolve( dir ) ,\n\t\t\t\tshell : true ,\n\t\t\t\tenv: this.$mol_env(),\n\t\t\t}\n\t\t)\n\t\t\n\t\tif( res.status || res.error ) return $mol_fail( res.error || new Error( res.stderr.toString() ) )\n\t\tif( !res.stdout ) res.stdout = Buffer.from([])\n\n\t\treturn res\n\t}\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = new $node.jsdom.JSDOM( '' , { url : 'https://localhost/' } ).window as any\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_tick extends $mol_object2 {\n\n\t\tpromise : any\n\t\tcancelled = false\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.promise = Promise.resolve().then( ()=> {\n\t\t\t\tif( this.cancelled ) return\n\t\t\t\ttask()\n\t\t\t} )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tthis.cancelled = true\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_view_selection extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic focused( next? : Element[], notify?: 'notify' ) : Element[] {\n\t\t\t\n\t\t\tconst parents : Element[] = []\n\t\t\tlet element = next?.[0] ?? $mol_dom_context.document.activeElement\n\t\t\t\n\t\t\twhile( element ) {\n\t\t\t\tparents.push( element )\n\t\t\t\telement = element.parentNode as HTMLElement\n\t\t\t}\n\t\t\t\n\t\t\tif( !next || notify ) return parents\n\t\t\t\n\t\t\tnew $mol_after_tick( ()=> {\n\t\t\t\t\n\t\t\t\tconst element = this.focused()![0] as HTMLElement\n\t\t\t\t\n\t\t\t\tif( element ) element.focus()\n\t\t\t\telse $mol_dom_context.blur()\n\t\t\t\t\n\t\t\t} )\n\n\t\t\treturn parents\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_wrapper extends $mol_object2 {\n\n\t\tstatic wrap : ( task : ( ... ags : any[] )=> any )=> ( ... ags : any[] )=> any\n\t\t\n\t\tstatic run< Result >( task : ()=> Result ) : Result {\n\t\t\treturn this.func( task )()\n\t\t}\n\t\n\t\tstatic func< Args extends any[] , Result , Host = void >(\n\t\t\tfunc : ( this : Host , ... args : Args )=> Result\n\t\t) : ( this : Host , ... args : Args )=> Result {\n\t\t\treturn this.wrap( func )\n\t\t}\n\n\t\tstatic get class() {\n\n\t\t\treturn < Class extends new ( ... args : any[] )=> any >(\n\t\t\t\tClass : Class\n\t\t\t) => {\n\n\t\t\t\ttype Args = ConstructorParameters< Class >\n\t\t\t\ttype Result = InstanceType< Class >\n\n\t\t\t\tconst construct = ( target : Class , args : Args )=> new Class( ... args )\n\n\t\t\t\tconst handler: ProxyHandler = {\n\t\t\t\t\tconstruct : this.func( construct )\n\t\t\t\t} \n\n\t\t\t\t;(handler as any)[ Symbol.toStringTag ] = Class.name + '#'\n\n\t\t\t\treturn new Proxy( Class , handler )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tstatic get method() {\n\t\t\t\n\t\t\treturn (\n\t\t\t\tobj : object,\n\t\t\t\tname : PropertyKey,\n\t\t\t\tdescr : PropertyDescriptor,\n\t\t\t) => {\n\t\t\t\tdescr.value = this.func( descr.value! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tstatic get field() {\n\t\t\t\n\t\t\treturn <\n\t\t\t\tHost ,\n\t\t\t\tField extends keyof Host ,\n\t\t\t\tArgs extends any[] ,\n\t\t\t\tResult ,\n\t\t\t>(\n\t\t\t\tobj : Host ,\n\t\t\t\tname : Field ,\n\t\t\t\tdescr : TypedPropertyDescriptor< Result >\n\t\t\t) => {\n\t\t\t\tdescr.get = descr.set = this.func( descr.get! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_memo extends $mol_wrapper {\n\t\t\n\t\tstatic wrap< This extends object , Value >( task : ( this : This , next? : Value )=> Value ) {\n\n\t\t\tconst store = new WeakMap< This , Value >()\n\n\t\t\treturn function( this : This , next? : Value ) {\n\n\t\t\t\tif( next === undefined && store.has( this ) ) return store.get( this )\n\t\t\t\t\n\t\t\t\tconst val = task.call( this , next ) ?? next\n\t\t\t\t\n\t\t\t\tstore.set( this , val! )\n\t\t\t\t\n\t\t\t\treturn val\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_dom_qname( name : string ) {\n\t\treturn name.replace( /\\W/g , '' ).replace( /^(?=\\d+)/ , '_' )\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Run code without state changes */\n\texport function $mol_wire_probe< Value >(\n\t\ttask : ()=> Value, def?: Value\n\t) : Value | undefined {\n\t\t\n\t\tconst warm = $mol_wire_fiber.warm\n\t\t\n\t\ttry {\n\t\t\t$mol_wire_fiber.warm = false\n\t\t\tconst res = task()\n\t\t\tif( res === undefined ) return def\n\t\t\treturn res\n\t\t} finally {\n\t\t\t$mol_wire_fiber.warm = warm\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Real-time refresh current atom.\n\t * Don't use if possible. May reduce performance.\n\t */\n\texport function $mol_wire_watch() {\n\t\tconst atom = $mol_wire_auto()\n\t\tif( atom instanceof $mol_wire_atom ) {\n\t\t\tatom.watch()\n\t\t} else {\n\t\t\t$mol_fail( new Error( 'Atom is required for watching' ) )\n\t\t}\n\t}\n\t\n}\n","namespace $ { \n\t/**\n\t * Returns closure that returns constant value.\n\t * @example\n\t * const rnd = $mol_const( Math.random() )\n\t */\n\texport function $mol_const< Value >( value : Value ) {\n\t\tconst getter = <{ () : Value , '()' : Value }> ( () => value )\n\t\tgetter['()'] = value\n\t\t;(getter as any)[ Symbol.toStringTag ] = value\n\t\t;(getter as any )[ $mol_dev_format_head ] = ()=> $mol_dev_format_span( {} , '()=> ', $mol_dev_format_auto( value ) )\n\t\treturn getter\n\t}\n}\n","namespace $ {\n\t\n\t/**\n\t * Disable reaping of current subscriber\n\t */\n\texport function $mol_wire_solid() {\n\t\tlet current = $mol_wire_auto() as $mol_wire_fiber< any, any, any >\n\t\tif( current!.temp ) current = current!.host\n\t\tif( current!.reap !== nothing ) {\n\t\t\tcurrent?.sub_on( sub, sub.data.length )\n\t\t}\n\t\tcurrent!.reap = nothing\n\t}\n\t\n\tconst nothing = ()=> {}\n\tconst sub = new $mol_wire_pub_sub\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_attributes (\n\t\tel : Element ,\n\t\tattrs : { [ key : string ] : string|number|boolean|null }\n\t) {\n\n\t\tfor( let name in attrs ) {\n\n\t\t\tlet val = attrs[ name ] as any\n\n\t\t\tif( val === undefined ) {\n\t\t\t\t\n\t\t\t\tcontinue\n\t\t\t\t\n\t\t\t} if( val === null || val === false ) {\n\n\t\t\t\tif( !el.hasAttribute( name ) ) continue\n\t\t\t\t\n\t\t\t\tel.removeAttribute( name )\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst str = String( val )\n\t\t\t\tif( el.getAttribute( name ) === str ) continue\n\t\t\t\t\n\t\t\t\tel.setAttribute( name , str )\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_events (\n\t\tel : Element ,\n\t\tevents : { [ key : string ] : ( event : Event )=> any },\n\t\tpassive = false\n\t) {\n\t\tfor( let name in events ) {\n\t\t\tel.addEventListener( name , events[ name ] , { passive } )\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_styles (\n\t\tel : Element ,\n\t\tstyles : { [ key : string ] : string|number }\n\t) {\n\t\tfor( let name in styles ) {\n\t\t\tlet val = styles[ name ]\n\t\t\t\n\t\t\tconst style = ( el as HTMLElement ).style as any\n\t\t\tconst kebab = ( name : string )=> name.replace( /[A-Z]/g , letter => '-' + letter.toLowerCase() )\n\t\t\t\n\t\t\tif( typeof val === 'number' ) {\n\t\t\t\tstyle.setProperty(kebab(name), `${ val }px`);\n\t\t\t} else {\n\t\t\t\tstyle.setProperty(kebab(name), val);\n\t\t\t}\n\t\t\t\n\t\t}\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_dom_render_children (\n\t\tel : Element | DocumentFragment ,\n\t\tchildNodes : NodeList | Array< Node | string | null >\n\t) {\n\t\tconst node_set = new Set< Node | string | null >( childNodes )\n\t\t\n\t\tlet nextNode : Node | null = el.firstChild\n\t\tfor( let view of childNodes ) {\n\n\t\t\tif( view == null ) continue\n\n\t\t\tif( view instanceof $mol_dom_context.Node ) {\n\t\t\t\t\n\t\t\t\twhile( true ) {\n\t\t\t\t\tif( !nextNode ) {\n\t\t\t\t\t\tel.appendChild( view )\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tif( nextNode == view ) {\n\t\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif( node_set.has( nextNode ) ) {\n\t\t\t\t\t\t\tel.insertBefore( view , nextNode )\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst nn = nextNode.nextSibling\n\t\t\t\t\t\t\tel.removeChild( nextNode )\n\t\t\t\t\t\t\tnextNode = nn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tif( nextNode && nextNode.nodeName === '#text' ) {\n\t\t\t\t\tconst str = String( view )\n\t\t\t\t\tif( nextNode.nodeValue !== str ) nextNode.nodeValue = str\n\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t} else {\n\t\t\t\t\tconst textNode = $mol_dom_context.document.createTextNode( String( view ) )\n\t\t\t\t\tel.insertBefore( textNode , nextNode )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twhile( nextNode ) {\n\t\t\tconst currNode = nextNode\n\t\t\tnextNode = currNode.nextSibling\n\t\t\tel.removeChild( currNode )\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_fields (\n\t\tel : Element ,\n\t\tfields : { [ key : string ] : any }\n\t) {\n\t\tfor( let key in fields ) {\n\t\t\t\n\t\t\tconst val : any = fields[ key ]\n\t\t\t\n\t\t\tif( val === undefined ) continue\n\t\t\t\n\t\t\t(el as any)[ key ] = val\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Convert a pseudo-synchronous (Suspense API) API to an explicit asynchronous one (for integrating with external systems). */\n\texport function $mol_wire_async< Host extends object >( obj: Host ) {\n\t\t\n\t\tlet fiber: $mol_wire_fiber< any, any, any >\n\t\tconst temp = $mol_wire_task.getter( obj as ( ... args: any[] )=> any )\n\t\t\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tconst val = (obj as any)[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\t\n\t\t\t\tlet fiber: $mol_wire_fiber< any, any, any >\n\t\t\t\tconst temp = $mol_wire_task.getter( val ) \n\t\t\t\t\n\t\t\t\treturn function $mol_wire_async( this: Host, ... args: any[] ) {\n\t\t\t\t\tfiber?.destructor()\n\t\t\t\t\tfiber = temp( obj, args )\n\t\t\t\t\treturn fiber.async()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t},\n\t\t\t\n\t\t\tapply( obj, self, args ) {\n\t\t\t\tfiber?.destructor()\n\t\t\t\tfiber = temp( self, args )\n\t\t\t\treturn fiber.async()\n\t\t\t},\n\t\t\t\n\t\t} ) as unknown as ObjectOrFunctionResultPromisify\n\t\t\n\t}\n\n\ttype FunctionResultPromisify = Some extends (...args: infer Args) => infer Res\n\t\t? Res extends PromiseLike ? Some : (...args: Args) => Promise\n\t\t: Some\n\n\ttype MethodsResultPromisify = {\n\t\t[K in keyof Host]: FunctionResultPromisify\n\t}\n\n\ttype ObjectOrFunctionResultPromisify = (\n\t\tSome extends (...args: any) => unknown ? FunctionResultPromisify : {}\n\t) & ( Some extends Object ? MethodsResultPromisify : Some )\n\n}\n","namespace $ {\n\n\tlet all = [] as string[]\n\tlet el : HTMLStyleElement | null = null\n\tlet timer : $mol_after_tick | null = null\n\n\texport function $mol_style_attach_force() {\n\t\tif( all.length ) {\n\t\t\tel!.innerHTML += '\\n' + all.join( '\\n\\n' )\n\t\t\tall = []\n\t\t}\n\t\ttimer = null\n\t\treturn el!\n\t}\n\t\n\texport function $mol_style_attach(\n\t\tid : string ,\n\t\ttext : string ,\n\t) {\n\n\t\tall.push( `/* ${ id } */\\n\\n${ text }`)\n\n\t\tif( timer ) return el!\n\t\t\n\t\tconst doc = $mol_dom_context.document\n\t\tif( !doc ) return null\n\n\t\tel = doc.createElement('style')\n\t\tel.id = `$mol_style_attach`\n\t\tdoc.head.appendChild( el )\n\n\t\ttimer = new $mol_after_tick( $mol_style_attach_force )\n\n\t\treturn el\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_decor< Value > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly value : Value\n\t\t) {}\n\n\t\tprefix() { return '' }\n\t\tvalueOf() { return this.value }\n\t\tpostfix() { return '' }\n\n\t\ttoString(){\n\t\t\treturn `${ this.prefix() }${ this.valueOf() }${ this.postfix() }`\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport type $mol_style_unit_length =\n\t| '%'\n\t| 'px' | 'cm' | 'mm' | 'Q' | 'in' | 'pc' | 'pt'\n\t| 'cap' | 'ch' | 'em' | 'rem' | 'ex' | 'ic' | 'lh' | 'rlh'\n\t| 'vh' | 'vw' | 'vi' | 'vb' | 'vmin' | 'vmax'\n\t\n\texport type $mol_style_unit_angle = 'deg' | 'rad' | 'grad' | 'turn'\n\t\n\texport type $mol_style_unit_time = 's' | 'ms'\n\n\texport type $mol_style_unit_any = $mol_style_unit_length | $mol_style_unit_angle | $mol_style_unit_time\n\texport type $mol_style_unit_str< Quanity extends $mol_style_unit_any > = `${number}${Quanity}`\n\t\n\t/**\n\t * CSS Units\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport class $mol_style_unit<\n\t\tLiteral extends $mol_style_unit_any\n\t> extends $mol_decor< number > {\n\n\t\tconstructor(\n\t\t\tvalue : number,\n\t\t\treadonly literal : Literal,\n\t\t) {\n\t\t\tsuper( value )\n\t\t}\n\n\t\tpostfix() {\n\t\t\treturn this.literal\n\t\t}\n\n\t\tstatic per( value : number ) { return `${value}%` as const }\n\t\tstatic px( value : number ) { return `${ value }px` as const }\n\t\tstatic mm( value : number ) { return `${value}mm` as const }\n\t\tstatic cm( value : number ) { return `${value}cm` as const }\n\t\tstatic Q( value : number ) { return `${value}Q` as const }\n\t\tstatic in( value : number ) { return `${value}in` as const }\n\t\tstatic pc( value : number ) { return `${value}pc` as const }\n\t\tstatic pt( value : number ) { return `${value}pt` as const }\n\t\tstatic cap( value : number ) { return `${value}cap` as const }\n\t\tstatic ch( value : number ) { return `${value}ch` as const }\n\t\tstatic em( value : number ) { return `${value}em` as const }\n\t\tstatic rem( value : number ) { return `${value}rem` as const }\n\t\tstatic ex( value : number ) { return `${value}ex` as const }\n\t\tstatic ic( value : number ) { return `${value}ic` as const }\n\t\tstatic lh( value : number ) { return `${value}lh` as const }\n\t\tstatic rlh( value : number ) { return `${value}rlh` as const }\n\t\tstatic vh( value : number ) { return `${value}vh` as const }\n\t\tstatic vw( value : number ) { return `${value}vw` as const }\n\t\tstatic vi( value : number ) { return `${value}vi` as const }\n\t\tstatic vb( value : number ) { return `${value}vb` as const }\n\t\tstatic vmin( value : number ) { return `${value}vmin` as const }\n\t\tstatic vmax( value : number ) { return `${value}vmax` as const }\n\t\t\n\t\tstatic deg( value : number ) { return `${value}deg` as const }\n\t\tstatic rad( value : number ) { return `${value}rad` as const }\n\t\tstatic grad( value : number ) { return `${value}grad` as const }\n\t\tstatic turn( value : number ) { return `${value}turn` as const }\n\n\t\tstatic s( value : number ) { return `${value}s` as const }\n\t\tstatic ms( value : number ) { return `${value}ms` as const }\n\t\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_style_func_name =\n\t| 'calc'\n\t| 'hsla'\n\t| 'rgba'\n\t| 'var'\n\t| 'clamp'\n\t| 'scale'\n\t| 'cubic-bezier'\n\t| 'linear'\n\t| 'steps'\n\t| $mol_style_func_image\n\t| $mol_style_func_filter\n\t\n\texport type $mol_style_func_image =\n\t| 'url'\n\t| 'linear-gradient'\n\t| 'radial-gradient'\n\t| 'conic-gradient'\n\t\n\texport type $mol_style_func_filter =\n\t| 'blur'\n\t| 'brightness'\n\t| 'contrast'\n\t| 'drop-shadow'\n\t| 'grayscale'\n\t| 'hue-rotate'\n\t| 'invert'\n\t| 'opacity'\n\t| 'sepia'\n\t| 'saturate'\n\n\tconst { per } = $mol_style_unit\n\t\n\t/**\n\t * CSS Functions\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport class $mol_style_func<\n\t\tName extends $mol_style_func_name ,\n\t\tValue = unknown,\n\t> extends $mol_decor< Value > {\n\n\t\tconstructor(\n\t\t\treadonly name : Name,\n\t\t\tvalue : Value,\n\t\t) {\n\t\t\tsuper( value )\n\t\t}\n\n\t\tprefix() { return this.name + '(' }\n\t\tpostfix() { return ')' }\n\n\t\tstatic linear_gradient< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'linear-gradient' , value )\n\t\t}\n\n\t\tstatic calc< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'calc' , value )\n\t\t}\n\n\t\tstatic vary< Name extends string, Value extends string >( name : Name, defaultValue? : Value ) {\n\t\t\treturn new $mol_style_func( 'var' , defaultValue ? [name, defaultValue] : name )\n\t\t}\n\n\t\tstatic url< Href extends string >( href : Href ) {\n\t\t\treturn new $mol_style_func( 'url' , JSON.stringify( href ) )\n\t\t}\n\n\t\tstatic hsla(\n\t\t\thue: number,\n\t\t\tsaturation: number,\n\t\t\tlightness: number,\n\t\t\talpha: number,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'hsla',\n\t\t\t\t[ hue , per( saturation ) , per( lightness ) , alpha ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic clamp(\n\t\t\tmin: $mol_style_unit_str< any >,\n\t\t\tmid: $mol_style_unit_str< any >,\n\t\t\tmax: $mol_style_unit_str< any >,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'clamp',\n\t\t\t\t[ min, mid, max ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic rgba(\n\t\t\tred: number,\n\t\t\tgreen: number,\n\t\t\tblue: number,\n\t\t\talpha: number,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'rgba',\n\t\t\t\t[ red , green , blue , alpha ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic scale(\n\t\t\tzoom: number,\n\t\t) {\n\t\t\treturn new $mol_style_func( 'scale', [ zoom ] )\n\t\t}\n\t\t\n\t\tstatic linear(\n\t\t\t...breakpoints : Array]>\n\t\t){\n\t\t\treturn new $mol_style_func(\n\t\t\t\t\"linear\",\n\t\t\t\tbreakpoints.map((e) =>\n\t\t\t\t\tArray.isArray(e)\n\t\t\t\t\t\t? String(e[0]) +\n\t\t\t\t\t\t \" \" +\n\t\t\t\t\t\t (typeof e[1] === \"number\" ? e[1] + \"%\" : e[1].toString())\n\t\t\t\t\t\t: String(e)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\t\n\t\tstatic cubic_bezier(\n\t\t\tx1: number,\n\t\t\ty1: number,\n\t\t\tx2: number,\n\t\t\ty2: number\n\t\t){\n\t\t\treturn new $mol_style_func( 'cubic-bezier', [ x1, y1, x2, y2 ]);\n\t\t}\n\t\t\n\t\tstatic steps(value: number, step_position: 'jump-start' | 'jump-end' | 'jump-none' | 'jump-both' | 'start' | 'end'){\n\t\t\treturn new $mol_style_func( 'steps', [ value, step_position ] )\n\t\t}\n\t\t\n\t\tstatic blur(value?: $mol_style_unit_str<$mol_style_unit_length>){\n\t\t\treturn new $mol_style_func( 'blur', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic brightness(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'brightness', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic contrast(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'contrast', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic drop_shadow(\n\t\t\tcolor: $mol_style_properties_color,\n\t\t\tx_offset: $mol_style_unit_str<$mol_style_unit_length>,\n\t\t\ty_offset: $mol_style_unit_str<$mol_style_unit_length>,\n\t\t\tblur_radius?: $mol_style_unit_str<$mol_style_unit_length>\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t\"drop-shadow\",\n\t\t\t\tblur_radius\n\t\t\t\t\t? [color, x_offset, y_offset, blur_radius]\n\t\t\t\t\t: [color, x_offset, y_offset]\n\t\t\t);\n\t\t}\n\t\t\n\t\tstatic grayscale(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'grayscale', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic hue_rotate(value?: 0 | $mol_style_unit_str<$mol_style_unit_angle>){\n\t\t\treturn new $mol_style_func( 'hue-rotate', value ?? \"\")\n\t\t}\n\t\t\n\t\tstatic invert(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'invert', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic opacity(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'opacity', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic sepia(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'sepia', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic saturate(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'saturate', value ?? \"\" );\n\t\t}\n\t\n\t}\n\n}\n","namespace $ {\n\t\n\texport type $mol_style_prop_result =\n\t\tRecord<\n\t\t\tstring ,\n\t\t\t$mol_style_func< 'var' >\n\t\t>\n\t\n\t/** Create record of CSS variables. */\n\texport function $mol_style_prop(\n\t\tprefix : string ,\n\t\tpostfixes : Array< string >\n\t) {\n\t\t\n\t\tconst record = postfixes.reduce( ( record_obj , postfix )=> {\n\t\t\t\n\t\t\trecord_obj[ postfix ] = $mol_style_func.vary( `--${ prefix }_${ postfix }` )\n\t\t\treturn record_obj\n\t\t\t\n\t\t}, {} as $mol_style_prop_result )\n\t\t\n\t\treturn record\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Theme css variables\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_textarea_demo\n\t */\t\n\texport const $mol_theme = $mol_style_prop(\n\t\t'mol_theme',\n\t\t[\n\t\t\t'back',\n\t\t\t'hover',\n\t\t\t'card',\n\t\t\t'current',\n\t\t\t'special',\n\t\t\t'text',\n\t\t\t'control',\n\t\t\t'shade',\n\t\t\t'line',\n\t\t\t'focus',\n\t\t\t'field',\n\t\t\t'image',\n\t\t]\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/theme/theme.css\",\n \":root {\\n\\t--mol_theme_hue: 210deg;\\n\\t--mol_theme_hue_spread: 90deg;\\n}\\n\\n:where([mol_theme]) {\\n\\tcolor: var(--mol_theme_text);\\n\\tfill: var(--mol_theme_text);\\n\\tbackground-color: var(--mol_theme_back);\\n}\\n\\t\\n:root, [mol_theme=\\\"$mol_theme_dark\\\"], :where([mol_theme=\\\"$mol_theme_dark\\\"]) [mol_theme] {\\n\\n\\t--mol_theme_luma: -1;\\n\\t--mol_theme_image: invert(1) hue-rotate( 180deg );\\n\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 10% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 20%, .25 );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 8%, .25 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 80% );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 60%, 1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 65% );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 60%, 65% );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 60%, 65% );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 60%, 65% );\\n\\n\\t/* --mol_theme_back: oklch( 20% .03 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 35% .05 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_field: oklch( 0% 0 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\\n\\t\\n\\t--mol_theme_text: oklch( 80% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_line: oklch( 50% 0 var(--mol_theme_hue) / .2 );\\n\\t--mol_theme_focus: oklch( 80% .2 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t\\n\\t--mol_theme_control: oklch( 70% .1 var(--mol_theme_hue) );\\n\\t--mol_theme_current: oklch( 80% .2 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_special: oklch( 80% .3 calc( var(--mol_theme_hue) + 60deg ) ); */\\n\\n}\\n\\n[mol_theme=\\\"$mol_theme_light\\\"], :where([mol_theme=\\\"$mol_theme_light\\\"]) [mol_theme] {\\n\\t\\n\\t--mol_theme_luma: 1;\\n\\t--mol_theme_image: none;\\n\\t\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 85% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 100%, .25 );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 100%, .25 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 0% );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 40%, 1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 40% );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 80%, 30% );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 30% );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 30% );\\n\\t\\n\\t/* --mol_theme_back: oklch( 93% .01 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 100% .02 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_field: oklch( 100% 0 var(--mol_theme_hue) / .5 );\\n\\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\\n\\t\\n\\t--mol_theme_text: oklch( 20% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_line: oklch( 70% 0 var(--mol_theme_hue) / .2 );\\n\\t--mol_theme_focus: oklch( 20% .8 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t\\n\\t--mol_theme_control: oklch( 45% .25 var(--mol_theme_hue) );\\n\\t--mol_theme_current: oklch( 45% .5 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_special: oklch( 45% .5 calc( var(--mol_theme_hue) + 60deg ) ); */\\n\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 30% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 40%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 25% .05 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 35% .1 var(--mol_theme_hue) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 80% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 80%, 95%, .25 );\\n\\t/* --mol_theme_back: oklch( 95% .02 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 80% .05 var(--mol_theme_hue) / .25 ); */\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 30% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 40% .2 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t--mol_theme_card: oklch( 50% .3 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 75% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 90%, .25 );\\n\\t/* --mol_theme_back: oklch( 90% .03 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_current\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 30% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_current\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 80% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 95%, .25 );\\n\\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 30% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) + 60deg ) );\\n\\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 80% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 95%, .25 );\\n\\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) + 60deg ) );\\n\\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\\n}\\n\"\n) }","namespace $ {\n\n\t/**\n\t * Gap in CSS\n\t * @see https://page.hyoo.ru/#!=msdb74_bm7nsq\n\t */\n\texport let $mol_gap = $mol_style_prop(\n\t\t'mol_gap',\n\t\t[\n\t\t\t'block',\n\t\t\t'text',\n\t\t\t'round',\n\t\t\t'space',\n\t\t\t'blur',\n\t\t]\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/gap/gap.css\",\n \":root {\\n\\t--mol_gap_block: .75rem;\\n\\t--mol_gap_text: .5rem .75rem;\\n\\t--mol_gap_round: .25rem;\\n\\t--mol_gap_space: .25rem;\\n\\t--mol_gap_blur: .5rem;\\n}\\n\"\n) }","namespace $ {\n\n\texport type $mol_view_content = $mol_view|Node|string|number|boolean\n\t\n\texport function $mol_view_visible_width() {\n\t\treturn $mol_window.size().width\n\t}\n\t\n\texport function $mol_view_visible_height() {\n\t\treturn $mol_window.size().height\n\t}\n\t\n\texport function $mol_view_state_key( suffix : string ) {\n\t\treturn suffix\n\t}\n\t\n\tconst error_showed = new WeakMap< Error, $mol_view >()\n\n\t/**\n\t * The base class for all visual components. It provides the infrastructure for reactive lazy rendering, handling exceptions.\n\t * @see https://mol.hyoo.ru/#!section=docs/=vv2nig_s5zr0f\n\t */\n\t/// Reactive statefull lazy ViewModel\n\texport class $mol_view extends $mol_object {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic Root< This extends typeof $mol_view >( this : This , id: number ) {\n\t\t\treturn new this as InstanceType< This >\n\t\t}\n\n\t\t@ $mol_mem\n\t\tautorun() {\n\t\t\ttry {\n\t\t\t\tthis.dom_tree()\n\t\t\t\tdocument.title = this.title()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic autobind() {\n\t\t\t\n\t\t\tconst nodes = $mol_dom_context.document.querySelectorAll( '[mol_view_root]:not([mol_view_root=\"\"])' )\n\t\t\t\n\t\t\tfor( let i = nodes.length - 1 ; i >= 0 ; --i ) {\n\n\t\t\t\tconst name = nodes.item( i ).getAttribute( 'mol_view_root' )!\n\t\t\t\t\n\t\t\t\tconst View = ($ as any)[ name ] as typeof $mol_view\n\t\t\t\tif( !View ) {\n\t\t\t\t\tconsole.error( `Can not attach view. Class not found: ${ name }` )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst view = View.Root( i )\n\t\t\t\tview.dom_node( nodes.item( i ) )\n\t\t\t\tview.autorun()\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle() {\n\t\t\treturn this.toString().match( /.*\\.(\\w+)/ )?.[1] ?? this.toString()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tfocused( next?: boolean ) {\n\t\t\tlet node = this.dom_node()\n\t\t\tconst value = $mol_view_selection.focused( next === undefined ? undefined : ( next ? [ node ] : [] ) )\n\t\t\treturn value.indexOf( node ) !== -1\n\t\t}\n\t\t\n\t\tstate_key( suffix = '' ) {\n\t\t\treturn this.$.$mol_view_state_key( suffix )\n\t\t}\n\t\t\n\t\t/// Name of element that created when element not found in DOM\n\t\t@ $mol_memo.method\n\t\tdom_name() {\n\t\t\treturn $mol_dom_qname( this.constructor.toString() ) || 'div'\n\t\t}\n\t\t\n\t\t/// NameSpace of element that created when element not found in DOM\n\t\tdom_name_space() { return 'http://www.w3.org/1999/xhtml' }\n\t\t\n\t\t/// Raw child views\n\t\tsub() {\n\t\t\treturn [] as readonly ($mol_view|Node|string|number|boolean)[]\n\t\t}\n\t\t\n\t\t/// Visible sub views with defined ambient context\n\t\t/// Render all by default\n\t\tsub_visible() {\n\t\t\treturn this.sub()\n\t\t}\n\t\t\n\t\t/// Minimal width that used for lazy rendering\n\t\t@ $mol_mem\n\t\tminimal_width() {\n\t\t\t\n\t\t\tlet min = 0\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst sub = this.sub()\n\t\t\t\tif( !sub ) return 0\n\t\t\t\t\n\t\t\t\tsub.forEach( view => {\n\t\t\t\t\tif( view instanceof $mol_view ) {\n\t\t\t\t\t\tmin = Math.max( min , view.minimal_width() )\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 24\n\t\t\t}\n\t\t\n\t\t\treturn min\n\t\t}\n\t\t\n\t\tmaximal_width() {\n\t\t\treturn this.minimal_width()\n\t\t}\n\t\t\n\t\t/// Minimal height that used for lazy rendering\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\t\n\t\t\tlet min = 0\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tfor( const view of this.sub() ?? [] ) {\n\n\t\t\t\t\tif( view instanceof $mol_view ) {\n\t\t\t\t\t\tmin = Math.max( min , view.minimal_height() )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t \n\t\t\t} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 24\n\t\t\t}\n\n\t\t\treturn min\n\t\t}\n\n\t\tstatic watchers = new Set< $mol_view >()\n\n\t\t@ $mol_mem\n\t\tview_rect() {\n\t\t\tif( $mol_wire_probe( ()=> this.view_rect() ) === undefined ) {\n\t\t\t\t$mol_wire_watch()\n\t\t\t\treturn null // don't touch DOM to prevent instant reflow\n\t\t\t} else {\n\t\t\t\tconst { width, height, left, right, top, bottom } = this.dom_node().getBoundingClientRect()\n\t\t\t\treturn { width, height, left, right, top, bottom } // pick to optimize compare\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tdom_id() {\n\t\t\treturn this.toString().replace( //g, ')' )\n\t\t}\n\t\n\t\tdom_node_external( next?: Element) {\n\t\t\tconst node = next ?? $mol_dom_context.document.createElementNS( this.dom_name_space() , this.dom_name() )\n\n\t\t\tconst id = this.dom_id()\n\t\t\tnode.setAttribute( 'id' , id )\n\t\t\tnode.toString = $mol_const( '<#' + id + '>' )\n\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_node( next? : Element ) {\n\t\t\t$mol_wire_solid()\n\t\t\tconst node = this.dom_node_external( next )\n\t\t\t$mol_dom_render_attributes( node , this.attr_static() )\n\t\t\t\n\t\t\tconst events = this.event_async()\n\t\t\t$mol_dom_render_events(node, events)\n\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_final() {\n\t\t\t\n\t\t\tthis.render()\n\t\t\t\n\t\t\tconst sub = this.sub_visible()\n\t\t\tif( !sub ) return\n\t\t\t\n\t\t\tfor( const el of sub ) {\n\t\t\t\tif( el && typeof el === 'object' && 'dom_final' in el ) {\n\t\t\t\t\tel['dom_final']()\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn this.dom_node()\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdom_tree( next? : Element ) : Element {\n\t\t\tconst node = this.dom_node( next )\n\t\t\t\n\t\t\trender: try {\n\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error : null } )\n\n\t\t\t\ttry {\n\t\t\t\t\n\t\t\t\t\tthis.render()\n\t\t\t\t\t\n\t\t\t\t} finally {\n\t\t\t\t\t\n\t\t\t\t\tfor( let plugin of this.plugins() ) {\n\t\t\t\t\t\tif( plugin instanceof $mol_plugin ) {\n\t\t\t\t\t\t\tplugin.dom_tree()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\tconst mol_view_error = $mol_promise_like(error) ? 'Promise' : error.name || error.constructor.name\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error } )\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( error ) ) break render\n\t\t\t\tif( ( error_showed.get( error ) ?? this ) !== this ) break render\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tconst message = error.message || error\n\t\t\t\t\t;( node as HTMLElement ).innerText = message.replace( /^|$/mg, '\\xA0\\xA0' )\n\t\t\t\t} catch {}\n\t\t\t\t\n\t\t\t\terror_showed.set( error, this )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.auto()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\t\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_node_actual() {\n\t\t\tconst node = this.dom_node()\n\n\t\t\t$mol_dom_render_styles( node, this.style_size() )\n\n\t\t\tconst attr = this.attr()\n\t\t\tconst style = this.style()\n\n\t\t\t$mol_dom_render_attributes( node , attr )\n\t\t\t$mol_dom_render_styles( node , style )\n\n\t\t\treturn node\n\t\t}\n\t\t\n\t\tauto() {\n\t\t\treturn null as any\n\t\t}\n\n\t\t@ $mol_mem\n\t\trender() {\n\n\t\t\tconst node = this.dom_node_actual()\n\n\t\t\tconst sub = this.sub_visible()\n\t\t\tif( !sub ) return\n\t\t\t\n\t\t\tconst nodes = sub.map( child => {\n\t\t\t\tif( child == null ) return null\n\t\t\t\treturn ( child instanceof $mol_view )\n\t\t\t\t\t? child.dom_node()\n\t\t\t\t\t: child instanceof $mol_dom_context.Node\n\t\t\t\t\t? child\n\t\t\t\t\t: String( child )\n\t\t\t})\n\t\t\t\n\t\t\t$mol_dom_render_children( node , nodes )\n\n\t\t\tfor( const el of sub ) if( el && typeof el === 'object' && 'dom_tree' in el ) el['dom_tree']()\n\n\t\t\t$mol_dom_render_fields( node , this.field() )\n\t\t\t\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tstatic view_classes() {\n\t\t\tconst proto = this.prototype\n\t\t\t\n\t\t\tlet current = proto\n\t\t\tconst classes = [] as ( typeof $mol_view )[]\n\t\t\t\n\t\t\twhile( current ) {\n\t\t\t\tif( current.constructor.name !== classes.at(-1)?.name ) {\n\t\t\t\t\tclasses.push( current.constructor as typeof $mol_view )\n\t\t\t\t}\n\t\t\t\tif(!( current instanceof $mol_view )) break\n\t\t\t\tcurrent = Object.getPrototypeOf( current )\n\t\t\t}\n\t\t\t\n\t\t\treturn classes\n\t\t}\n\t\t\n\t\tstatic _view_names?: Map< string, string[] >\n\t\tstatic view_names( suffix: string ) {\n\t\t\t\n\t\t\tlet cache = Reflect.getOwnPropertyDescriptor( this, '_view_names' )?.value\n\t\t\tif( !cache ) cache = this._view_names = new Map\n\t\t\t\n\t\t\tconst cached = cache.get( suffix )\n\t\t\tif( cached ) return cached\n\t\t\t\n\t\t\tconst names = [] as string[]\n\t\t\tconst suffix2 = '_' + suffix[0].toLowerCase() + suffix.substring(1)\n\t\t\t\n\t\t\tfor( const Class of this.view_classes() ) {\n\t\t\t\tif( suffix in Class.prototype ) names.push( this.$.$mol_func_name( Class ) + suffix2 )\n\t\t\t\telse break\n\t\t\t}\n\t\t\t\n\t\t\tcache.set( suffix, names )\n\t\t\treturn names\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\tview_names_owned() {\n\t\t\tconst names = [] as string[]\n\t\t\tlet owner = $mol_owning_get( this ) as $mol_wire_fiber< any, any[], any >\n\n\t\t\tif(!( owner?.host instanceof $mol_view )) return names\n\n\t\t\tconst suffix = owner.task.name.trim()\n\t\t\tconst suffix2 = '_' + suffix[0].toLowerCase() + suffix.substring(1)\n\t\t\t\n\t\t\tnames.push( ... ( owner.host.constructor as typeof $mol_view ).view_names( suffix ) )\n\t\t\t\n\t\t\tfor( let prefix of owner.host.view_names_owned() ) {\n\t\t\t\tnames.push( prefix + suffix2 )\n\t\t\t}\n\t\t\t\n\t\t\treturn names\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tview_names() {\n\t\t\tconst names = new Set< string >()\n\t\t\t\n\t\t\tfor( let name of this.view_names_owned() ) names.add( name )\n\n\t\t\tfor( let Class of ( this.constructor as typeof $mol_view ).view_classes() ) {\n\t\t\t\tconst name = this.$.$mol_func_name( Class )\n\t\t\t\tif( name ) names.add( name )\n\t\t\t}\n\n\t\t\treturn names\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttheme( next = null as null | string ) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tattr_static() : { [ key : string ] : string|number|boolean|null } {\n\t\t\tlet attrs : any = {}\n\t\t\t\n\t\t\tfor( let name of this.view_names() ) attrs[ name.replace( /\\$/g , '' ).replace( /^(?=\\d)/ , '_' ).toLowerCase() ] = ''\n\t\t\t\n\t\t\treturn attrs\n\t\t}\n\t\t\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\tmol_theme: this.theme() ?? undefined,\n\t\t\t} as {}\n\t\t}\n\t\t\n\t\tstyle_size() {\n\t\t\treturn {\n\t\t\t\tminHeight: this.minimal_height(),\n\t\t\t\tminWidth: this.minimal_width(),\n\t\t\t} as {\n\t\t\t\t[key: string]: string | number;\n\t\t\t}\n\t\t}\n\t\t\n\t\tstyle() : { [ key : string ] : string|number } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\tfield() : { [ key : string ] : any } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\tevent() : { [ key : string ] : ( event : Event )=> void } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tevent_async() {\n\t\t\treturn { ... $mol_wire_async(this.event()) }\n\t\t}\n\n\t\tplugins() {\n\t\t\treturn [] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t// $mol_dev_format_shade( '/' ) ,\n\t\t\t\t// $mol_dev_format_auto( $mol_wire_cache( this ).sub().cache ) ,\n\t\t\t)\n\t\t}\n\n\t\t/** Deep search view by predicate. */\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this ) ) return yield [ ... path, this ]\n\t\t\t\n\t\t\ttry {\n\t\t\t\tfor( const item of this.sub() ) {\n\t\t\t\t\tif( item instanceof $mol_view ) {\n\t\t\t\t\t\tyield* item.view_find( check, [ ... path, this ] )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch( error: unknown ) {\n\t\t\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t/** Renders path of views to DOM. */\n\t\tforce_render(\n\t\t\tpath : Set< $mol_view >,\n\t\t) {\n\n\t\t\tconst kids = this.sub()\n\n\t\t\tconst index = kids.findIndex( item => {\n\t\t\t\tif( item instanceof $mol_view ) {\n\t\t\t\t\treturn path.has( item )\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif( index >= 0 ) {\n\t\t\t\t( kids[ index ] as $mol_view ).force_render( path )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t/** Renders view to DOM and scroll to it. */\n\t\tensure_visible( view: $mol_view, align: ScrollLogicalPosition = \"start\" ) {\n\t\t\t\n\t\t\tconst path = this.view_find( v => v === view ).next().value\n\t\t\tthis.force_render( new Set( path ) )\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.dom_final()\n\t\t\t} catch(err) {\n\t\t\t\t$mol_fail_log(err)\n\t\t\t}\n\n\t\t\tview.dom_node().scrollIntoView({ block: align })\n\n\t\t}\n\t\t\n\t\tbring() {\n\t\t\t\n\t\t\tconst win = this.$.$mol_dom_context\n\t\t\tif( win.parent !== win.self && !win.document.hasFocus() ) return\n\t\t\t\n\t\t\tnew this.$.$mol_after_frame( ()=> {\n\t\t\t\t\n\t\t\t\tthis.dom_node().scrollIntoView({ block: 'start', inline: 'nearest' })\n\t\t\t\tthis.focused( true )\n\t\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t}\n\n\t\toverride destructor() {\n\t\t\tconst node = $mol_wire_probe(() => this.dom_node())\n\t\t\tif (! node) return\n\n\t\t\tconst events = $mol_wire_probe(() => this.event_async())\n\t\t\tif (! events) return\n\n\t\t\tfor( let event_name in events ) {\n\t\t\t\tnode.removeEventListener(\n\t\t\t\t\tevent_name ,\n\t\t\t\t\tevents[ event_name ]\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n\n\texport type $mol_view_all = $mol_type_pick< $ , typeof $mol_view >\n\n}\n","namespace $ { $mol_style_attach( \"mol/view/view/view.css\",\n \"[mol_view] {\\n\\ttransition-property: height, width, min-height, min-width, max-width, max-height, transform;\\n\\ttransition-duration: .2s;\\n\\ttransition-timing-function: ease-out;\\n\\t-webkit-appearance: none;\\n\\tbox-sizing: border-box;\\n\\tdisplay: flex;\\n\\tflex-shrink: 0;\\n\\tcontain: style;\\n\\tscrollbar-color: var(--mol_theme_line) transparent;\\n\\tscrollbar-width: thin;\\n}\\t\\n\\n[mol_view]::selection {\\n\\tbackground: var(--mol_theme_line);\\n}\\t\\n\\n[mol_view]::-webkit-scrollbar {\\n\\twidth: .25rem;\\n\\theight: .25rem;\\n}\\n\\n[mol_view]::-webkit-scrollbar-corner {\\n\\tbackground-color: var(--mol_theme_line);\\n}\\n\\n[mol_view]::-webkit-scrollbar-track {\\n\\tbackground-color: transparent;\\n}\\n\\n[mol_view]::-webkit-scrollbar-thumb {\\n\\tbackground-color: var(--mol_theme_line);\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[mol_view] > * {\\n\\tword-break: inherit;\\n}\\n\\n[mol_view_root] {\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbox-sizing: border-box;\\n\\tfont-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\\n\\tfont-size: 1rem;\\n\\tline-height: 1.5rem;\\n\\tbackground: var(--mol_theme_back);\\n\\tcolor: var(--mol_theme_text);\\n\\tcontain: unset; /** Fixes bg ignoring when applied to body on Chrome */\\n\\ttab-size: 4;\\n\\toverscroll-behavior: contain; /** Disable navigation gestures **/\\n}\\n\\n@media print {\\n\\t[mol_view_root] {\\n\\t\\theight: auto;\\n\\t}\\n}\\n\\n[mol_view][mol_view_error]:not([mol_view_error=\\\"Promise\\\"]) {\\n\\tbackground-image: repeating-linear-gradient(\\n\\t\\t-45deg,\\n\\t\\t#f92323,\\n\\t\\t#f92323 .5rem,\\n\\t\\t#ff3d3d .5rem,\\n\\t\\t#ff3d3d 1.5rem\\n\\t);\\n\\tcolor: black;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\\n@keyframes mol_view_wait {\\n\\tfrom {\\n\\t\\topacity: .25;\\n\\t}\\n\\t20% {\\n\\t\\topacity: .75;\\n\\t}\\n\\tto {\\n\\t\\topacity: .25;\\n\\t}\\n}\\n\\n:where([mol_view][mol_view_error=\\\"Promise\\\"]) {\\n\\tbackground: var(--mol_theme_hover);\\n}\\n\\n[mol_view][mol_view_error=\\\"Promise\\\"] {\\n\\tanimation: mol_view_wait 1s steps( 20, end ) infinite;\\n}\\n\"\n) }","namespace $ {\n\t/** Plugin is component without its own DOM element, but instead uses the owner DOM element */\n\texport class $mol_plugin extends $mol_view {\n\n\t\toverride dom_node_external( next? : Element ) {\n\t\t\treturn next ?? $mol_owning_get>( this )!.host!.dom_node()\n\t\t}\n\n\t\toverride render() {\n\t\t\tthis.dom_node_actual()\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\texport class $mol_scroll extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * scroll_top? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tscroll_top(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * scroll_left? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tscroll_left(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \ttabIndex <= tabindex\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\ttabIndex: this.tabindex()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tscroll?event <=> event_scroll?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tscroll: (event?: any) => this.event_scroll(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tabindex -1\n\t\t * ```\n\t\t */\n\t\ttabindex() {\n\t\t\treturn -1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_scroll?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_scroll(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\texport class $mol_dom_listener extends $mol_object {\n\n\t\tconstructor(\n\t\t\tpublic _node : any ,\n\t\t\tpublic _event : string ,\n\t\t\tpublic _handler : ( event : any )=> any ,\n\t\t\tpublic _config : boolean|{ passive : boolean } = { passive : true }\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis._node.addEventListener( this._event , this._handler , this._config )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tthis._node.removeEventListener( this._event , this._handler , this._config )\n\t\t\tsuper.destructor()\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_print extends $mol_object {\n\n\t\t@ $mol_mem\n\t\tstatic before() {\n\t\t\treturn new $mol_dom_listener( this.$.$mol_dom_context , 'beforeprint' , ()=> {\n\t\t\t\tthis.active( true )\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic after() {\n\t\t\treturn new $mol_dom_listener( this.$.$mol_dom_context , 'afterprint' , ()=> {\n\t\t\t\tthis.active( false )\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic active( next? : boolean ) {\n\t\t\tthis.before()\n\t\t\tthis.after()\n\t\t\treturn next || false\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_style_sheet<\n\t\tComponent extends $mol_view,\n\t\tConfig extends $mol_style_guard< Component , Config >,\n\t>(\n\t\tComponent : new()=> Component,\n\t\tconfig0 : Config ,\n\t) {\n\n\t\tlet rules = [] as string[]\n\n\t\tconst block = $mol_dom_qname( $mol_ambient({}).$mol_func_name( Component ) )\n\t\tconst kebab = ( name : string )=> name.replace( /[A-Z]/g , letter => '-' + letter.toLowerCase() )\n\n\t\tconst make_class = ( prefix : string , path : string[] , config : typeof config0 )=> {\n\n\t\t\tconst props = [] as string[]\n\n\t\t\tconst selector = ( prefix : string , path : string[] )=> {\n\t\t\t\tif( path.length === 0 ) return prefix || `[${ block }]`\n\t\t\t\tlet res = `[${ block }_${ path.join('_') }]`\n\t\t\t\tif( prefix ) res = prefix + ' :where(' + res + ')'\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tfor( const key of Object.keys( config ).reverse() ) {\n\n\t\t\t\tif( /^(--)?[a-z]/.test(key) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst addProp = ( keys : string[] , val : any )=> {\n\n\t\t\t\t\t\tif( Array.isArray( val ) ) {\n\n\t\t\t\t\t\t\tif( val[0] && [ Array , Object ].includes( val[0].constructor ) ) {\n\t\t\t\t\t\t\t\tval = val.map( v => {\n\t\t\t\t\t\t\t\t\treturn Object.entries( v ).map( ([ n , a ])=> {\n\t\t\t\t\t\t\t\t\t\tif( a === true ) return kebab( n )\n\t\t\t\t\t\t\t\t\t\tif( a === false ) return null\n\t\t\t\t\t\t\t\t\t\treturn String( a )\n\t\t\t\t\t\t\t\t\t} ).filter( Boolean ).join(' ')\n\t\t\t\t\t\t\t\t}).join( ',' )\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tval = val.join(' ')\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tprops.push(`\\t${ keys.join('-') }: ${ val };\\n`)\n\n\t\t\t\t\t\t} else if( val.constructor === Object ) {\n\n\t\t\t\t\t\t\tfor( let suffix in val ) {\n\t\t\t\t\t\t\t\taddProp( [ ... keys , kebab( suffix ) ] , val[ suffix ] )\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tprops.push(`\\t${ keys.join('-') }: ${ val };\\n`)\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\taddProp( [ kebab(key) ] , (config as any)[key] )\n\n\t\t\t\t} else if( /^[A-Z]/.test(key) ) {\n\n\t\t\t\t\tmake_class( prefix , [ ... path , key.toLowerCase() ] , (config as any)[key] )\n\n\t\t\t\t} else if( key[0] === '$' ) {\n\n\t\t\t\t\tmake_class( selector( prefix , path ) + ' :where([' + $mol_dom_qname( key ) + '])' , [] , (config as any)[key] )\n\n\t\t\t\t} else if( key === '>' ) {\n\n\t\t\t\t\tconst types = config[key] as any\n\n\t\t\t\t\tfor( let type in types ) {\n\t\t\t\t\t\tmake_class( selector( prefix , path ) + ' > :where([' + $mol_dom_qname( type ) + '])' , [] , types[type] )\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@' ) {\n\n\t\t\t\t\tconst attrs = config[key] as any\n\n\t\t\t\t\tfor( let name in attrs ) {\n\t\t\t\t\t\tfor( let val in attrs[name] ) {\n\t\t\t\t\t\t\tmake_class( selector( prefix , path ) + ':where([' + name + '=' + JSON.stringify( val ) + '])' , [] , attrs[name][val] )\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@media' ) {\n\n\t\t\t\t\tconst media = (config as any)[key] as any\n\n\t\t\t\t\tfor( let query in media ) {\n\n\t\t\t\t\t\trules.push('}\\n')\n\t\t\t\t\t\t\n\t\t\t\t\t\tmake_class( prefix , path , media[query] )\n\t\t\t\t\t\t\n\t\t\t\t\t\trules.push( `${ key } ${ query } {\\n` )\n\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key[0] === '[' && key[key.length-1] === ']' ) {\n\n\t\t\t\t\tconst attr = key.slice( 1, -1 )\n\t\t\t\t\tconst vals = config[ key as any ] as any as Record< string, any >\n\t\t\t\t\t\n\t\t\t\t\tfor( let val in vals ) {\n\t\t\t\t\t\tmake_class( selector( prefix , path ) + ':where([' + attr + '=' + JSON.stringify( val ) + '])' , [] , vals[val] )\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t} else {\n\n\t\t\t\t\tmake_class( selector( prefix , path ) + key , [] , (config as any)[key] )\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tif( props.length ) {\n\t\t\t\trules.push( `${ selector( prefix , path ) } {\\n${ props.reverse().join('') }}\\n` )\n\t\t\t}\n\n\t\t}\n\n\t\tmake_class( '' , [] , config0 )\n\n\t\treturn rules.reverse().join('')\n\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * CSS in TS.\n\t * Statically typed CSS style sheets. Following samples show which CSS code are generated from TS code.\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport function $mol_style_define<\n\t\tComponent extends $mol_view,\n\t\tConfig extends $mol_style_guard< Component , Config >,\n\t>(\n\t\tComponent : new()=> Component,\n\t\tconfig : Config ,\n\t) {\n\n\t\treturn $mol_style_attach(\n\t\t\tComponent.name,\n\t\t\t$mol_style_sheet( Component , config ),\n\t\t)\n\n\t}\n\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Scrolling pane.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_scroll_demo\n\t */\n\texport class $mol_scroll extends $.$mol_scroll {\n\n\t\t@ $mol_mem\n\t\tscroll_top( next? : number, cache?: 'cache' ): number {\n\t\t\t\n\t\t\tconst el = this.dom_node()\n\t\t\tif( next !== undefined && !cache ) el.scrollTop = next\n\t\t\t\n\t\t\treturn el.scrollTop\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tscroll_left( next? : number, cache?: 'cache' ): number {\n\t\t\t\n\t\t\tconst el = this.dom_node()\n\t\t\tif( next !== undefined && !cache ) el.scrollLeft = next\n\t\t\t\n\t\t\treturn el.scrollLeft\n\t\t}\n\t\t\n\t\tevent_scroll( next? : Event ) {\n\t\t\t\n\t\t\tconst el = this.dom_node() as HTMLElement\n\t\t\t\n\t\t\tthis.scroll_left( el.scrollLeft, 'cache' )\n\t\t\tthis.scroll_top( el.scrollTop, 'cache' )\n\t\t\t\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn this.$.$mol_print.active() ? null! : 0\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.$.$mol_print.active() ? null! : 0\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $.$$ {\n\n\tconst { per , rem , px } = $mol_style_unit\n\n\t$mol_style_define( $mol_scroll , {\n\n\t\tdisplay: 'grid',\n\t\toverflow: 'auto',\n\t\tflex: {\n\t\t\tdirection: 'column',\n\t\t\tgrow: 1,\n\t\t\tshrink: 1,\n\t\t\t// basis: 0,\n\t\t},\n\t\toutline: 'none',\n\t\talignSelf: 'stretch',\n\t\tboxSizing: 'border-box',\n\t\twillChange: 'scroll-position',\n\t\tscroll: {\n\t\t\tpadding: [ rem(.75), 0 ],\n\t\t},\n\t\tmaxHeight: per(100),\n\t\tmaxWidth: per(100),\n\t\twebkitOverflowScrolling: 'touch',\n\t\tcontain: 'content',\n\n\t\t'>': {\n\t\t\t$mol_view: {\n\t\t\t\ttransform: 'translateZ(0)', // enforce gpu scroll in all agents\n\t\t\t\tgridArea: '1/1',\n\t\t\t},\n\t\t},\n\n\t\t'::before': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t'::after': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t\n\t\t'::-webkit-scrollbar': {\n\t\t\twidth: rem(.25),\n\t\t\theight: rem(.25),\n\t\t},\n\t\t\n\t\t'@media' : {\n\t\t\t'print' : {\n\t\t\t\toverflow: 'visible',\n\t\t\t\tcontain: 'none',\n\t\t\t\tmaxHeight: 'unset',\n\t\t\t},\n\t\t},\n\n\t})\n\n}\n","namespace $ {\n\texport class $mol_book2 extends $mol_scroll {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * menu_title \\\n\t\t * ```\n\t\t */\n\t\tmenu_title() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= pages\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.pages()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 0\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Placeholder $mol_view\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPlaceholder() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Gap* $mol_view title \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tGap(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.title = () => \"\"\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages /$mol_view\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport let $mol_mem_cached = $mol_wire_probe\n}\n","namespace $.$$ {\n\n\t/**\n\t * Root component for adaptivity to various screen sizes. Implements booklet UX.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_book2_demo\n\t */\n\texport class $mol_book2 extends $.$mol_book2 {\n\t\t\n\t\ttitle() {\n\t\t\treturn this.pages().map( page => {\n\t\t\t\ttry {\n\t\t\t\t\treturn page?.title()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t}\n\t\t\t} ).reverse().filter( Boolean ).join( ' | ' )\n\t\t}\n\t\t\n\t\tmenu_title() {\n\t\t\treturn this.pages()[0]?.title() || this.title()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\t\n\t\t\tconst next = [ ... this.pages(), this.Placeholder() ]\n\t\t\t\n\t\t\tconst prev = $mol_mem_cached( ()=> this.sub() ) ?? []\n\t\t\t\n\t\t\tfor( let i = 1 ; i++ ; ) {\n\t\t\t\t\n\t\t\t\tconst p = prev[ prev.length - i ]\n\t\t\t\tconst n = next[ next.length - i ]\n\t\t\t\t\n\t\t\t\tif( !n ) break\n\n\t\t\t\tif( p === n ) continue\n\n\t\t\t\tn.bring()\n\t\t\t\t\n\t\t\t\tbreak\n\n\t\t\t}\n\n\t\t\treturn next as readonly $mol_view[]\n\t\t}\n\t\t\n\t\tbring() {\n\t\t\t\n\t\t\tconst pages = this.pages()\n\t\t\t\n\t\t\tif( pages.length ) pages[ pages.length - 1 ].bring()\n\t\t\telse super.bring()\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/book2/book2.view.css\",\n \"[mol_book2] {\\n\\tdisplay: flex;\\n\\tflex-flow: row nowrap;\\n\\talign-items: stretch;\\n\\tflex: 1 1 auto;\\n\\talign-self: stretch;\\n\\tmargin: 0;\\n\\t/* box-shadow: 0 0 0 1px var(--mol_theme_line); */\\n\\t/* transform: translateZ(0); */\\n\\ttransition: none;\\n\\toverflow: overlay;\\n\\tscroll-snap-type: x mandatory;\\n\\tpadding: 0 1px;\\n\\tscroll-padding: 0 1px;\\n\\tgap: 1px;\\n}\\n\\n[mol_book2] > * {\\n/* \\tflex: none; */\\n\\tscroll-snap-stop: always;\\n\\tscroll-snap-align: end;\\n\\tposition: relative;\\n\\tmin-height: 100%;\\n\\tmax-height: 100%;\\n\\tmax-width: 100%;\\n\\tflex-shrink: 0;\\n}\\n\\n[mol_book2] > *:not(:first-of-type):before,\\n[mol_book2] > *:not(:last-of-type)::after {\\n\\tcontent: '';\\n\\tposition: absolute;\\n\\ttop: 1.5rem;\\n\\twidth: 3px;\\n\\theight: 1rem;\\n\\tbackground: linear-gradient(\\n\\t\\tto bottom,\\n\\t\\tvar(--mol_theme_focus) 0%,\\n\\t\\tvar(--mol_theme_focus) 15%,\\n\\t\\ttransparent 15%,\\n\\t\\ttransparent 42%,\\n\\t\\tvar(--mol_theme_focus) 42%,\\n\\t\\tvar(--mol_theme_focus) 58%,\\n\\t\\ttransparent 58%,\\n\\t\\ttransparent 85%,\\n\\t\\tvar(--mol_theme_focus) 85%,\\n\\t\\tvar(--mol_theme_focus) 100%\\n\\t);\\n\\topacity: .5;\\n}\\n[mol_book2] > *:not(:first-of-type):before {\\n\\tleft: -2px;\\n}\\n[mol_book2] > *:not(:last-of-type)::after {\\n\\tright: -2px;\\n}\\n\\n:where([mol_book2]) > * {\\n\\tbackground-color: var(--mol_theme_card);\\n\\t/* box-shadow: 0 0 0 1px var(--mol_theme_back); */\\n}\\n\\n[mol_book2] > [mol_book2] {\\n\\tdisplay: contents;\\n}\\n\\n[mol_book2] > *:first-child {\\n\\tscroll-snap-align: start;\\n}\\n\\n[mol_book2] > [mol_view] {\\n\\ttransform: none; /* prevent content clipping */\\n}\\n\\n[mol_book2_placeholder] {\\n\\tflex: 1 1 0;\\n\\tbackground: none;\\n}\\n\\n[mol_book2_gap] {\\n\\tbackground: none;\\n\\tflex-grow: 1;\\n\\tscroll-snap-align: none;\\n\\tmargin-right: -1px;\\n\\tbox-shadow: none;\\n}\\n\\n[mol_book2_gap]::before,\\n[mol_book2_gap]::after {\\n\\tdisplay: none;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_speck extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_theme <= theme\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_theme: this.theme()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style *\n\t\t * \t^\n\t\t * \tminHeight \\1em\n\t\t * ```\n\t\t */\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t...super.style(),\n\t\t\t\tminHeight: \"1em\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= value\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.value()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * theme \\$mol_theme_accent\n\t\t * ```\n\t\t */\n\t\ttheme() {\n\t\t\treturn \"$mol_theme_accent\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value null\n\t\t * ```\n\t\t */\n\t\tvalue() {\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\t/**\n\t * Z-index values for layers\n\t * https://page.hyoo.ru/#!=xthcpx_wqmiba\n\t */\n\texport let $mol_layer = $mol_style_prop(\n\t\t'mol_layer',\n\t\t[\n\t\t\t'hover',\n\t\t\t'focus',\n\t\t\t'speck',\n\t\t\t'float',\n\t\t\t'popup',\n\t\t]\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/layer/layer.css\",\n \":root {\\n\\t--mol_layer_hover: 1;\\n\\t--mol_layer_focus: 2;\\n\\t--mol_layer_speck: 3;\\n\\t--mol_layer_float: 4;\\n\\t--mol_layer_popup: 5;\\n}\\n\"\n) }","namespace $ { $mol_style_attach( \"mol/speck/speck.view.css\",\n \"[mol_speck] {\\n\\tfont-size: .625rem;\\n\\tborder-radius: 1rem;\\n\\tmargin: -0.5rem -0.25rem;\\n\\talign-self: flex-start;\\n\\tmin-height: 1em;\\n\\tmin-width: .5em;\\n\\tvertical-align: sub;\\n\\tpadding: .25em .5em;\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_speck);\\n\\ttext-align: center;\\n\\tline-height: 1;\\n\\tdisplay: inline-block;\\n\\twhite-space: nowrap;\\n\\ttext-overflow: ellipsis;\\n\\tuser-select: none;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_button extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclick(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_click(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tclick?event <=> event_activate?event\n\t\t * \tdblclick?event <=> clicks?event\n\t\t * \tkeydown?event <=> event_key_press?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tclick: (event?: any) => this.event_activate(event),\n\t\t\t\tdblclick: (event?: any) => this.clicks(event),\n\t\t\t\tkeydown: (event?: any) => this.event_key_press(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tdisabled <= disabled\n\t\t * \trole \\button\n\t\t * \ttabindex <= tab_index\n\t\t * \ttitle <= hint_safe\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tdisabled: this.disabled(),\n\t\t\t\trole: \"button\",\n\t\t\t\ttabindex: this.tab_index(),\n\t\t\t\ttitle: this.hint_safe()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /$mol_view_content <= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Speck $mol_speck value <= error\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSpeck() {\n\t\t\tconst obj = new this.$.$mol_speck()\n\t\t\t\n\t\t\tobj.value = () => this.error()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_activate?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_activate(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clicks?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclicks(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_key_press?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_key_press(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * disabled false\n\t\t * ```\n\t\t */\n\t\tdisabled() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tab_index 0\n\t\t * ```\n\t\t */\n\t\ttab_index() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_safe <= hint\n\t\t * ```\n\t\t */\n\t\thint_safe() {\n\t\t\treturn this.hint()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * error \\\n\t\t * ```\n\t\t */\n\t\terror() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\t/**\n\t* Key names code for hotkey\n\t* @see [mol_hotkey](../../hotkey/hotkey.view.ts)\n\t*/\n\texport enum $mol_keyboard_code {\n\t\tbackspace = 8,\n\t\ttab = 9,\n\t\tenter = 13,\n\t\tshift = 16,\n\t\tctrl = 17,\n\t\talt = 18,\n\t\tpause = 19,\n\t\tcapsLock = 20,\n\t\tescape = 27,\n\t\tspace = 32,\n\t\tpageUp = 33,\n\t\tpageDown = 34,\n\t\tend = 35,\n\t\thome = 36,\n\t\tleft = 37,\n\t\tup = 38,\n\t\tright = 39,\n\t\tdown = 40,\n\t\tinsert = 45,\n\t\tdelete = 46,\n\t\tkey0 = 48,\n\t\tkey1 = 49,\n\t\tkey2 = 50,\n\t\tkey3 = 51,\n\t\tkey4 = 52,\n\t\tkey5 = 53,\n\t\tkey6 = 54,\n\t\tkey7 = 55,\n\t\tkey8 = 56,\n\t\tkey9 = 57,\n\t\tA = 65,\n\t\tB = 66,\n\t\tC = 67,\n\t\tD = 68,\n\t\tE = 69,\n\t\tF = 70,\n\t\tG = 71,\n\t\tH = 72,\n\t\tI = 73,\n\t\tJ = 74,\n\t\tK = 75,\n\t\tL = 76,\n\t\tM = 77,\n\t\tN = 78,\n\t\tO = 79,\n\t\tP = 80,\n\t\tQ = 81,\n\t\tR = 82,\n\t\tS = 83,\n\t\tT = 84,\n\t\tU = 85,\n\t\tV = 86,\n\t\tW = 87,\n\t\tX = 88,\n\t\tY = 89,\n\t\tZ = 90,\n\t\tmetaLeft = 91,\n\t\tmetaRight = 92,\n\t\tselect = 93,\n\t\tnumpad0 = 96,\n\t\tnumpad1 = 97,\n\t\tnumpad2 = 98,\n\t\tnumpad3 = 99,\n\t\tnumpad4 = 100,\n\t\tnumpad5 = 101,\n\t\tnumpad6 = 102,\n\t\tnumpad7 = 103,\n\t\tnumpad8 = 104,\n\t\tnumpad9 = 105,\n\t\tmultiply = 106,\n\t\tadd = 107,\n\t\tsubtract = 109,\n\t\tdecimal = 110,\n\t\tdivide = 111,\n\t\tF1 = 112,\n\t\tF2 = 113,\n\t\tF3 = 114,\n\t\tF4 = 115,\n\t\tF5 = 116,\n\t\tF6 = 117,\n\t\tF7 = 118,\n\t\tF8 = 119,\n\t\tF9 = 120,\n\t\tF10 = 121,\n\t\tF11 = 122,\n\t\tF12 = 123,\n\t\tnumLock = 144,\n\t\tscrollLock = 145,\n\t\tsemicolon = 186,\n\t\tequals = 187,\n\t\tcomma = 188,\n\t\tdash = 189,\n\t\tperiod = 190,\n\t\tforwardSlash = 191,\n\t\tgraveAccent = 192,\n\t\tbracketOpen = 219,\n\t\tslashBack = 220,\n\t\tslashBackLeft = 226,\n\t\tbracketClose = 221,\n\t\tquoteSingle = 222\n\t}\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Simple button.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button extends $.$mol_button {\n\n\t\t@ $mol_mem\n\t\tstatus( next = [ null as any ] ) { return next }\n\t\t\n\t\tdisabled() {\n\t\t\treturn !this.enabled()\n\t\t}\n\t\t\n\t\tevent_activate( next : Event ) {\n\t\t\t\n\t\t\tif( !next ) return\n\t\t\tif( !this.enabled() ) return\n\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tthis.event_click( next )\n\t\t\t\tthis.click( next )\n\t\t\t\tthis.status([ null ])\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tPromise.resolve().then( ()=> this.status([ error ]) )\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tevent_key_press ( event: KeyboardEvent ) { \n\t\t\tif( event.keyCode === $mol_keyboard_code.enter ) {\n\t\t\t\treturn this.event_activate( event )\n\t\t\t}\n\t\t} \n\t\t\n\t\ttab_index() {\n\t\t\treturn this.enabled() ? super.tab_index() : -1\n\t\t}\n\n\t\terror() {\n\n\t\t\tconst [ error ] = this.status()\n\t\t\tif( !error ) return ''\n\n\t\t\tif( error instanceof Promise ) {\n\t\t\t\treturn $mol_fail_hidden( error )\n\t\t\t}\n\t\t\t\n\t\t\treturn String( error.message ?? error )\n\n\t\t}\n\t\t\n\t\thint_safe() {\n\t\t\ttry {\n\t\t\t\treturn this.hint()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn ''\n\t\t\t}\n\t\t}\n\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\t... this.error() ? [ this.Speck() ] : [] ,\n\t\t\t\t... this.sub() ,\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/button/button.view.css\",\n \"[mol_button] {\\n\\tborder: none;\\n\\tfont: inherit;\\n\\tdisplay: inline-flex;\\n\\tflex-shrink: 0;\\n\\ttext-decoration: inherit;\\n\\tcursor: inherit;\\n\\tposition: relative;\\n\\tbox-sizing: border-box;\\n\\tword-break: normal;\\n\\tcursor: default;\\n\\tuser-select: none;\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[mol_button]:where(:not(:disabled)):hover {\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_button]:focus-visible {\\n\\toutline: none;\\n\\tz-index: var(--mol_layer_focus);\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_button_typed extends $mol_button {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 40\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 40\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 40\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 40\n\t\t}\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/button/typed/typed.view.css\",\n \"[mol_button_typed] {\\n\\talign-content: center;\\n\\talign-items: center;\\n\\tpadding: var(--mol_gap_text);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tgap: var(--mol_gap_space);\\n\\tuser-select: none;\\n\\tcursor: pointer;\\n}\\n\\n[mol_button_typed][disabled] {\\n\\tpointer-events: none;\\n}\\n\\n[mol_button_typed]:hover ,\\n[mol_button_typed]:focus-visible {\\n\\tbackground-color: var(--mol_theme_hover);\\n}\\n\\n[mol_button_typed]:active {\\n\\tcolor: var(--mol_theme_focus);\\n}\\n\\n\"\n) }","namespace $ {\n\texport class $mol_button_minor extends $mol_button_typed {\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/button/minor/minor.view.css\",\n \"[mol_button_minor] {\\n\\tcolor: var(--mol_theme_control);\\n}\\n\\n[mol_button_minor][disabled] {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_svg extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\svg\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"svg\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name_space \\http://www.w3.org/2000/svg\n\t\t * ```\n\t\t */\n\t\tdom_name_space() {\n\t\t\treturn \"http://www.w3.org/2000/svg\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * font_size 16\n\t\t * ```\n\t\t */\n\t\tfont_size() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * font_family \\\n\t\t * ```\n\t\t */\n\t\tfont_family() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style_size *\n\t\t * ```\n\t\t */\n\t\tstyle_size() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\t\n\t/** State of time moment */\n\texport class $mol_state_time extends $mol_object {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic task( precision: number, reset?: null ): $mol_after_timeout | $mol_after_frame {\n\t\t\t\n\t\t\tif( precision ) {\n\t\t\t\treturn new $mol_after_timeout( precision, ()=> this.task( precision, null ) )\n\t\t\t} else {\n\t\t\t\treturn new $mol_after_frame( ()=> this.task( precision, null ) )\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic now( precision: number ) {\n\t\t\tthis.task( precision )\n\t\t\treturn Date.now()\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\t/** Base SVG component to display SVG images or icons. */\n\texport class $mol_svg extends $.$mol_svg {\n\t\t@$mol_mem\n\t\tcomputed_style() {\n\t\t\tconst win = this.$.$mol_dom_context\n\t\t\tconst style = win.getComputedStyle(this.dom_node()) as Record\n\n\t\t\tif(!style['font-size']) $mol_state_time.now( 0 )\n\n\t\t\treturn style\n\t\t}\n\n\t\t@$mol_mem\n\t\tfont_size(): number {\n\t\t\treturn parseInt(this.computed_style()['font-size']) || 16\n\t\t}\n\n\t\t@$mol_mem\n\t\tfont_family() {\n\t\t\treturn this.computed_style()['font-family']\n\t\t}\n\n\t}\n}\n","namespace $ {\n\texport class $mol_svg_root extends $mol_svg {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\svg\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"svg\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tviewBox <= view_box\n\t\t * \tpreserveAspectRatio <= aspect\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tviewBox: this.view_box(),\n\t\t\t\tpreserveAspectRatio: this.aspect()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_box \\0 0 100 100\n\t\t * ```\n\t\t */\n\t\tview_box() {\n\t\t\treturn \"0 0 100 100\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * aspect \\xMidYMid\n\t\t * ```\n\t\t */\n\t\taspect() {\n\t\t\treturn \"xMidYMid\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/svg/root/root.view.css\",\n \"[mol_svg_root] {\\n\\toverflow: hidden;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_svg_path extends $mol_svg {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\path\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"path\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \td <= geometry\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\td: this.geometry()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * geometry \\\n\t\t * ```\n\t\t */\n\t\tgeometry() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon extends $mol_svg_root {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_box \\0 0 24 24\n\t\t * ```\n\t\t */\n\t\tview_box() {\n\t\t\treturn \"0 0 24 24\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 16\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 16\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Path\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Path()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Path $mol_svg_path geometry <= path\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPath() {\n\t\t\tconst obj = new this.$.$mol_svg_path()\n\t\t\t\n\t\t\tobj.geometry = () => this.path()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/icon/icon.view.css\",\n \"[mol_icon] {\\n\\tfill: currentColor;\\n\\tstroke: none;\\n\\twidth: 1em;\\n\\theight: 1.5em;\\n\\tflex: 0 0 auto;\\n\\tvertical-align: top;\\n\\tdisplay: inline-block;\\n\\tfilter: drop-shadow(0px 1px 1px var(--mol_theme_back));\\n\\ttransform-origin: center;\\n}\\n\\n[mol_icon_path] {\\n\\ttransform-origin: center;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_icon_upload extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_button_open extends $mol_button_minor {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Icon\n\t\t * \t<= Native\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon(),\n\t\t\t\tthis.Native()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_upload\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_upload()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * files?next /\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tfiles(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * accept \\\n\t\t * ```\n\t\t */\n\t\taccept() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * multiple true\n\t\t * ```\n\t\t */\n\t\tmultiple() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Native $mol_button_open_native\n\t\t * \tfiles?next <=> files?next\n\t\t * \taccept <= accept\n\t\t * \tmultiple <= multiple\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNative() {\n\t\t\tconst obj = new this.$.$mol_button_open_native()\n\t\t\t\n\t\t\tobj.files = (next?: any) => this.files(next)\n\t\t\tobj.accept = () => this.accept()\n\t\t\tobj.multiple = () => this.multiple()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n\texport class $mol_button_open_native extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\input\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"input\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * files?next /\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tfiles(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \ttype \\file\n\t\t * \taccept <= accept\n\t\t * \tmultiple <= multiple\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\ttype: \"file\",\n\t\t\t\taccept: this.accept(),\n\t\t\t\tmultiple: this.multiple()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event * change?next <=> picked?next\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\tchange: (next?: any) => this.picked(next)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * accept \\\n\t\t * ```\n\t\t */\n\t\taccept() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * multiple true\n\t\t * ```\n\t\t */\n\t\tmultiple() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * picked?next null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tpicked(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\t/**\n\t * File open button\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button_open_native extends $.$mol_button_open_native {\n\t\t\n\t\tdom_node() {\n\t\t\treturn super.dom_node() as HTMLInputElement\n\t\t}\n\t\t\n\t\tpicked() {\n\t\t\t\n\t\t\tconst files = this.dom_node().files\n\t\t\tif( !files || !files.length ) return\n\t\t\t\n\t\t\tthis.files([ ... files ])\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/button/open/open.view.css\",\n \"[mol_button_open_native] {\\n\\tposition: absolute;\\n\\tleft: 0;\\n\\ttop: -100%;\\n\\twidth: 100%;\\n\\theight: 200%;\\n\\tcursor: pointer;\\n\\topacity: 0;\\n}\\n\"\n) }","namespace $ {\n\texport let $mol_mem_persist = $mol_wire_solid\n}\n","namespace $ {\n\t\n\t/**\n\t * Convert asynchronous (promise-based) API to synchronous by wrapping function and method calls in a fiber.\n\t * @see https://mol.hyoo.ru/#!section=docs/=1fcpsq_1wh0h2\n\t */\n\texport function $mol_wire_sync< Host extends object >( obj: Host ) {\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tconst val = (obj as any)[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\t\n\t\t\t\tconst temp = $mol_wire_task.getter( val )\n\t\t\t\treturn function $mol_wire_sync( this: Host, ... args: any[] ) {\n\t\t\t\t\tconst fiber = temp( obj, args )\n\t\t\t\t\treturn fiber.sync()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t},\n\t\t\t\n\t\t\tapply( obj, self, args ) {\n\t\t\t\tconst temp = $mol_wire_task.getter( obj as ( ... args: any[] )=> any )\n\t\t\t\tconst fiber = temp( self, args )\n\t\t\t\treturn fiber.sync()\n\t\t\t},\n\t\t\t\n\t\t} ) as unknown as ObjectOrFunctionResultAwaited\n\t}\n\n\ttype FunctionResultAwaited = Some extends (...args: infer Args) => infer Res\n\t\t? (...args: Args) => Awaited\n\t\t: Some\n\n\ttype MethodsResultAwaited = {\n\t\t[K in keyof Host]: FunctionResultAwaited\n\t}\n\n\ttype ObjectOrFunctionResultAwaited = (\n\t\tSome extends (...args: any) => unknown ? FunctionResultAwaited : {}\n\t) & ( Some extends Object ? MethodsResultAwaited : Some )\n\n}\n","namespace $ {\n\texport class $mol_storage extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic native() {\n\t\t\treturn this.$.$mol_dom_context.navigator.storage ?? { // exists only in secure context\n\t\t\t\tpersisted: async ()=> false,\n\t\t\t\tpersist: async ()=> false,\n\t\t\t\testimate: async ()=> ({}),\n\t\t\t\tgetDirectory: async ()=> null! as FileSystemHandle,\n\t\t\t} as StorageManager\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic persisted( next?: boolean, cache?: 'cache' ): boolean {\n\t\t\t\n\t\t\t$mol_mem_persist()\n\t\t\t\n\t\t\tif( cache ) return Boolean( next )\n\t\t\t\n\t\t\tconst native = this.native()\n\t\t\tif( next && !$mol_mem_cached( ()=> this.persisted() ) ) {\n\t\t\t\tnative.persist().then( actual => {\n\t\t\t\t\t\n\t\t\t\t\tsetTimeout( ()=> this.persisted( actual, 'cache' ), 5000 )\n\t\t\t\t\t\n\t\t\t\t\tif( actual ) this.$.$mol_log3_done({ place: `$mol_storage`, message: `Persist: Yes` })\n\t\t\t\t\telse this.$.$mol_log3_fail({ place: `$mol_storage`, message: `Persist: No` })\n\t\t\t\t\t\n\t\t\t\t} )\n\t\t\t}\n\t\t\t\n\t\t\treturn next ?? $mol_wire_sync( native ).persisted()\n\t\t}\n\t\t\n\t\tstatic estimate() {\n\t\t\treturn $mol_wire_sync( this.native() ?? {} ).estimate()\n\t\t}\n\t\t\n\t\tstatic dir() {\n\t\t\treturn $mol_wire_sync( this.native() ).getDirectory()\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\texport class $mol_state_local< Value > extends $mol_object {\n\t\t\n\t\tstatic 'native()' : Pick< Storage , 'getItem'|'setItem'|'removeItem' >\n\t\tstatic native() {\n\t\t\tif( this['native()'] ) return this['native()']\n\n\t\t\tcheck : try {\n\t\t\t\tconst native = $mol_dom_context.localStorage\n\t\t\t\tif( !native ) break check\n\t\t\t\t\n\t\t\t\tnative.setItem( '' , '' )\n\t\t\t\tnative.removeItem( '' )\n\t\t\t\treturn this['native()'] = native\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.warn( error )\n\t\t\t}\n\n\t\t\treturn this['native()'] = {\n\t\t\t\tgetItem( key : string ) {\n\t\t\t\t\treturn (this as any)[ ':' + key ]\n\t\t\t\t} ,\n\t\t\t\tsetItem( key : string , value : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = value\n\t\t\t\t} ,\n\t\t\t\tremoveItem( key : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = void 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic changes( next?: StorageEvent ) { return next }\n\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >(\n\t\t\tkey : string ,\n\t\t\tnext? : Value | null ,\n\t\t) : Value | null {\n\t\t\t\n\t\t\tthis.changes()\n\t\t\t\n\t\t\tif( next === void 0 ) return JSON.parse( this.native().getItem( key ) || 'null' )\n\t\t\t\n\t\t\tif( next === null ) {\n\t\t\t\tthis.native().removeItem( key )\n\t\t\t} else {\n\t\t\t\tthis.native().setItem( key , JSON.stringify( next ) )\n\t\t\t\tthis.$.$mol_storage.persisted( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tprefix() { return '' }\n\t\t\n\t\tvalue( key : string , next? : Value ) {\n\t\t\treturn $mol_state_local.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst decoders = {} as { [ key in $mol_charset_encoding ]?: TextDecoder }\n\n\texport function $mol_charset_decode(\n\t\tbuffer: BufferSource,\n\t\tencoding: $mol_charset_encoding = 'utf8',\n\t) {\n\t\t\n\t\tlet decoder = decoders[ encoding ]\n\t\tif( !decoder ) decoder = decoders[ encoding ] = new TextDecoder( encoding )\n\t\t\n\t\treturn decoder.decode( buffer )\n\t}\n\n}\n","namespace $ {\n\tconst TextEncoder = globalThis.TextEncoder ?? $node.util.TextEncoder\n\n\tconst encoder = new TextEncoder()\n\n\texport function $mol_charset_encode(value: string) {\n\t\treturn encoder.encode(value)\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_file_type = 'file' | 'dir' | 'link'\n\n\texport interface $mol_file_stat {\n\t\ttype: $mol_file_type\n\t\tsize: number\n\t\tatime: Date\n\t\tmtime: Date\n\t\tctime: Date\n\t}\n\n\texport class $mol_file_not_found extends Error {}\n\n\texport abstract class $mol_file extends $mol_object {\n\t\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ): $mol_file {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\n\t\tstatic relative( path : string ) : $mol_file {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\t\t\n\t\tstatic base = ''\n\t\t\n\t\tpath() {\n\t\t\treturn '.'\n\t\t}\n\t\t\n\t\tparent() {\n\t\t\treturn this.resolve( '..' )\n\t\t}\n\n\t\tabstract stat( next? : $mol_file_stat | null, virt?: 'virt' ): $mol_file_stat | null\n\n\t\treset(): void {\n\t\t\ttry {\n\t\t\t\tthis.stat( null )\n\t\t\t} catch( error: any ) {\n\t\t\t\tif (error instanceof $mol_file_not_found) return\n\t\t\t\treturn $mol_fail_hidden(error)\n\t\t\t}\n\t\t}\n\t\t\n\t\tversion() {\n\t\t\treturn this.stat()?.mtime.getTime().toString( 36 ).toUpperCase() ?? ''\n\t\t}\n\n\t\tabstract ensure(): void\n\n\t\twatcher() {\n\t\t\tconsole.warn('$mol_file_web.watcher() not implemented')\n\n\t\t\treturn {\n\t\t\t\tdestructor() {}\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texists( next? : boolean ) {\n\t\t\t\n\t\t\tlet exists = Boolean( this.stat() )\n\n\t\t\tif( next === undefined ) return exists\n\t\t\tif( next === exists ) return exists\n\n\t\t\tif( next ) this.parent().exists( true )\n\t\t\tthis.ensure()\n\t\t\tthis.reset()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\ttype() {\n\t\t\treturn this.stat()?.type ?? ''\n\t\t}\n\t\t\n\t\tname() {\n\t\t\treturn this.path().replace( /^.*\\//, '' )\n\t\t}\n\t\t\n\t\text() {\n\t\t\tconst match = /((?:\\.\\w+)+)$/.exec( this.path() )\n\t\t\treturn match ? match[ 1 ].substring( 1 ) : ''\n\t\t}\n\n\t\tabstract buffer( next? : Uint8Array ): Uint8Array\n\n\t\t@ $mol_mem\n\t\ttext(next?: string, virt?: 'virt') {\n\t\t\tif( virt ) {\n\t\t\t\tconst now = new Date\n\t\t\t\tthis.stat( {\n\t\t\t\t\ttype: 'file',\n\t\t\t\t\tsize: 0,\n\t\t\t\t\tatime: now,\n\t\t\t\t\tmtime: now,\n\t\t\t\t\tctime: now,\t\t\t\n\t\t\t\t}, 'virt' )\n\t\t\t\treturn next!\n\t\t\t}\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn $mol_charset_decode( this.buffer( undefined ) )\t\n\t\t\t} else {\n\t\t\t\tconst buffer = next === undefined ? undefined : $mol_charset_encode( next )\n\t\t\t\tthis.buffer( buffer )\n\t\t\t\treturn next\n\t\t\t}\n\t\t}\n\n\t\tabstract sub(): $mol_file[]\n\n\t\tabstract resolve(path: string): $mol_file\n\n\t\tabstract relate( base?: $mol_file ): string\n\t\t\n\t\tabstract append( next : Uint8Array | string ): void\n\t\t\n\t\tfind(\n\t\t\tinclude? : RegExp ,\n\t\t\texclude? : RegExp\n\t\t) {\n\t\t\tconst found = [] as $mol_file[]\n\t\t\tconst sub = this.sub()\n\n\t\t\tfor (const child of sub) {\n\t\t\t\tconst child_path = child.path()\n\n\t\t\t\tif( exclude && child_path.match( exclude ) ) continue\n\n\t\t\t\tif( !include || child_path.match( include ) ) found.push( child )\n\n\t\t\t\tif( child.type() === 'dir' ) {\n\t\t\t\t\tconst sub_child = child.find( include , exclude )\n\t\t\t\t\tfor (const child of sub_child) found.push(child)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn found\n\t\t}\n\n\t\tsize() {\n\t\t\tswitch( this.type() ) {\n\t\t\t\tcase 'file': return this.stat()?.size ?? 0\n\t\t\t\tdefault: return 0\n\t\t\t}\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n export function $mol_compare_array>(a: Value, b: Value): boolean {\n\t\tif (a === b) return true\n\t\tif (Object.getPrototypeOf(a) !== Object.getPrototypeOf(b)) return false\n\t\tif (a.length !== b.length) return false\n\n\t\tfor (let i = 0; i < a.length; i++)\n\t\t\tif (a[i] !== b[i]) return false\n\n\t\treturn true\n\t}\n}\n","namespace $ {\n\n\tfunction stat_convert(stat: ReturnType): null | $mol_file_stat {\n\t\t\n\t\tif( !stat ) return null\n\t\t\n\t\tlet type: $mol_file_type | undefined\n\t\tif (stat.isDirectory()) type = 'dir'\n\t\tif (stat.isFile()) type = 'file'\n\t\tif (stat.isSymbolicLink()) type = 'link'\n\n\t\tif (! type) return $mol_fail( new Error(`Unsupported file type`) )\n\n\t\treturn {\n\t\t\ttype, \n\t\t\tsize: Number(stat.size),\n\t\t\tatime: stat.atime,\n\t\t\tmtime: stat.mtime,\n\t\t\tctime: stat.ctime\n\t\t}\n\t}\n\n\tfunction buffer_normalize(buf: Buffer): Uint8Array {\n\t\treturn new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength)\n\t}\n\n\texport class $mol_file_node extends $mol_file {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ) {\n\t\t\treturn this.make({\n\t\t\t\tpath : $mol_const( path )\n\t\t\t})\n\t\t}\n\n\t\tstatic relative( path : string ) {\n\t\t\treturn this.absolute( $node.path.resolve( this.base, path ).replace( /\\\\/g , '/' ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\twatcher() {\n\n\t\t\tconst watcher = $node.chokidar.watch( this.path() , {\n\t\t\t\tpersistent : true ,\n\t\t\t\tignored : /(^\\.|___$)/ ,\n\t\t\t\tdepth : 0 ,\n\t\t\t\tignoreInitial : true ,\n\t\t\t\tawaitWriteFinish: {\n\t\t\t\t\tstabilityThreshold: 100,\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\twatcher\n\t\t\t.on( 'all' , ( type , path )=> {\n\t\t\t\t\n\t\t\t\tconst file = $mol_file.relative( path.replace( /\\\\/g , '/' ) )\n\n\t\t\t\tfile.reset()\n\t\t\t\t\n\t\t\t\tif( type === 'change' ) {\n\t\t\t\t\tthis.stat( null )\n\t\t\t\t} else {\n\t\t\t\t\tfile.parent().reset()\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t.on( 'error' , $mol_fail_log )\n\t\t\t\n\t\t\treturn {\n\t\t\t\tdestructor() {\n\t\t\t\t\twatcher.close()\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstat( next? : $mol_file_stat | null, virt?: 'virt' ) {\n\t\t\t\n\t\t\tlet stat = next\n\t\t\tconst path = this.path()\n\n\t\t\tthis.parent().watcher()\n\t\t\t\n\t\t\tif( virt ) return next!\n\t\t\t\n\t\t\ttry {\n\t\t\t\tstat = next ?? stat_convert($node.fs.statSync( path, { throwIfNoEntry: false } ))\n\t\t\t} catch( error: any ) {\n\t\t\t\tif (error.code === 'ENOENT') error = new $mol_file_not_found(`File not found`)\n\t\t\t\terror.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(error)\n\t\t\t}\n\n\t\t\treturn stat\n\t\t}\n\n\t\t@ $mol_mem\n\t\tensure() {\n\t\t\tconst path = this.path()\n\n\t\t\ttry {\n\t\t\t\t$node.fs.mkdirSync( path )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\tthis.$.$mol_fail_hidden(e)\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tbuffer( next? : Uint8Array ) {\n\n\t\t\tconst path = this.path()\n\t\t\tif( next === undefined ) {\n\n\t\t\t\tif( !this.stat() ) return new Uint8Array\n\t\t\t\t\n\t\t\t\ttry {\n\n\t\t\t\t\tconst prev = $mol_mem_cached( ()=> this.buffer() )\n\t\t\t\t\t\n\t\t\t\t\tnext = buffer_normalize( $node.fs.readFileSync( path ) )\n\n\t\t\t\t\tif( prev !== undefined && !$mol_compare_array( prev, next ) ) {\n\t\t\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\t\t\tplace: `$mol_file_node..buffer()`,\n\t\t\t\t\t\t\tmessage: 'Changed' ,\n\t\t\t\t\t\t\tpath: this.relate() ,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\treturn next\n\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\terror.message += '\\n' + path\n\t\t\t\t\treturn this.$.$mol_fail_hidden( error )\n\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.parent().exists( true )\n\t\t\t\n\t\t\tconst now = new Date\n\t\t\tthis.stat( {\n\t\t\t\ttype: 'file',\n\t\t\t\tsize: next.length,\n\t\t\t\tatime: now,\n\t\t\t\tmtime: now,\n\t\t\t\tctime: now,\n\t\t\t}, 'virt' )\n\n\t\t\ttry {\n\n\t\t\t\t$node.fs.writeFileSync( path, next )\n\n\t\t\t} catch( error: any ) {\n\n\t\t\t\terror.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden( error )\n\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\n\t\t}\n\t\t@ $mol_mem\n\t\tsub() : $mol_file[] {\n\t\t\tif (! this.exists() ) return []\n\t\t\tif ( this.type() !== 'dir') return []\n\n\t\t\tconst path = this.path()\n\t\t\tthis.stat()\n\n\t\t\ttry {\n\t\t\t\treturn $node.fs.readdirSync( path )\n\t\t\t\t\t.filter( name => !/^\\.+$/.test( name ) )\n\t\t\t\t\t.map( name => this.resolve( name ) )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(e)\n\t\t\t}\n\t\t}\n\t\t\n\t\tresolve( path : string ) {\n\t\t\treturn ( this.constructor as typeof $mol_file ).relative( $node.path.join( this.path() , path ) )\n\t\t}\n\t\t\n\t\trelate( base = ( this.constructor as typeof $mol_file ).relative( '.' )) {\n\t\t\treturn $node.path.relative( base.path() , this.path() ).replace( /\\\\/g , '/' )\n\t\t}\n\t\t\n\t\tappend( next : Uint8Array | string ) {\n\t\t\tconst path = this.path()\n\t\t\ttry {\n\t\t\t\t$node.fs.appendFileSync( path , next )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(e)\n\t\t\t}\n\t\t}\t\t\n\t}\n\n\t$.$mol_file = $mol_file_node\n}\n","namespace $ {\n\t\n\texport interface $mol_locale_dict {\n\t\t[ key : string ] : string\n\t}\n\t\n\t/**\n\t * Localisation in $mol framework\n\t * @see https://mol.hyoo.ru/#!section=docs/=s5aqnb_odub8l\n\t */\n\texport class $mol_locale extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic lang_default() {\n\t\t\treturn 'en'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic lang( next? : string ) {\n\t\t\treturn this.$.$mol_state_local.value( 'locale' , next ) || $mol_dom_context.navigator.language.replace( /-.*/ , '' ) || this.lang_default()\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic source( lang : string ) {\n\t\t\treturn JSON.parse( this.$.$mol_file.relative( `web.locale=${ lang }.json` ).text().toString() )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic texts( lang : string , next? : $mol_locale_dict ) : $mol_locale_dict {\n\t\t\tif( next ) return next\n\t\t\t\n\t\t\ttry {\n\t\t\t\treturn this.source( lang ).valueOf()\n\t\t\t} catch( error: any ) {\n\t\t\t\tif( $mol_fail_catch( error ) ) {\n\t\t\t\t\tconst def = this.lang_default()\n\t\t\t\t\tif( lang === def ) throw error\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic text( key : string ): string {\n\t\t\t\n\t\t\tconst lang = this.lang()\n\n\t\t\tconst target = this.texts( lang )[ key ]\n\t\t\tif( target ) return target\n\t\t\t\n\t\t\tthis.warn( key )\n\t\t\t\n\t\t\tconst en = this.texts( 'en' )[ key ]\n\t\t\tif( !en ) return key\n\t\t\t\n\t\t\t// try {\n\t\t\t// \treturn $mol_wire_sync( $hyoo_lingua_translate ).call( this.$, lang, en )\n\t\t\t// } catch( error ) {\n\t\t\t// \t$mol_fail_log( error )\n\t\t\t// }\n\t\t\t\n\t\t\treturn en\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic warn( key : string ) {\n\t\t\tconsole.warn( `Not translated to \"${ this.lang() }\": ${ key }` )\n\t\t\treturn null\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport class $mol_link extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\a\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"a\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_off \\\n\t\t * ```\n\t\t */\n\t\turi_off() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_native null\n\t\t * ```\n\t\t */\n\t\turi_native() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * external false\n\t\t * ```\n\t\t */\n\t\texternal() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \thref <= uri_toggle\n\t\t * \ttitle <= hint_safe\n\t\t * \ttarget <= target\n\t\t * \tdownload <= file_name\n\t\t * \tmol_link_current <= current\n\t\t * \trel <= relation\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\thref: this.uri_toggle(),\n\t\t\t\ttitle: this.hint_safe(),\n\t\t\t\ttarget: this.target(),\n\t\t\t\tdownload: this.file_name(),\n\t\t\t\tmol_link_current: this.current(),\n\t\t\t\trel: this.relation()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /$mol_view_content <= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * arg *\n\t\t * ```\n\t\t */\n\t\targ() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tclick?event <=> click?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tclick: (event?: any) => this.click(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_toggle \\\n\t\t * ```\n\t\t */\n\t\turi_toggle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_safe <= hint\n\t\t * ```\n\t\t */\n\t\thint_safe() {\n\t\t\treturn this.hint()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * target \\_self\n\t\t * ```\n\t\t */\n\t\ttarget() {\n\t\t\treturn \"_self\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * file_name \\\n\t\t * ```\n\t\t */\n\t\tfile_name() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current false\n\t\t * ```\n\t\t */\n\t\tcurrent() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * relation \\\n\t\t * ```\n\t\t */\n\t\trelation() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_click(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * click?event <=> event_click?event\n\t\t * ```\n\t\t */\n\t\tclick(event?: any) {\n\t\t\treturn this.event_click(event)\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\t/**\n\t * Decorates method to fiber to ensure it is executed only once inside other fiber from [mol_wire](../wire/README.md)\n\t * @see https://mol.hyoo.ru/#!section=docs/=1fcpsq_1wh0h2\n\t */\n\texport let $mol_action = $mol_wire_method\n}\n","namespace $ {\n\n\t/** State of arguments like `foo=bar xxx` */\n\texport class $mol_state_arg extends $mol_object {\n\t\t\n\t\tstatic prolog = ''\n\t\tstatic separator = ' '\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href( next? : string ) {\n\t\t\treturn next || process.argv.slice( 2 ).join( ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href_normal() {\n\t\t\treturn this.link({})\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic dict( next? : { [ key : string ] : string | null } ) {\n\t\t\tif( next !== void 0 ) this.href( this.make_link( next ) )\n\t\t\t\n\t\t\tvar href = this.href()\n\t\t\tvar chunks = href.split( ' ' )\n\t\t\t\n\t\t\tvar params : { [ key : string ] : string } = {}\n\t\t\tchunks.forEach(\n\t\t\t\tchunk => {\n\t\t\t\t\tif( !chunk ) return\n\t\t\t\t\tvar vals = chunk.split( '=' ).map( decodeURIComponent )\n\t\t\t\t\tparams[ vals.shift()! ] = vals.join('=')\n\t\t\t\t}\n\t\t\t)\n\t\t\t\n\t\t\treturn params as Readonly< typeof params >\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic value( key : string , next? : string | null ) {\n\t\t\tif( next === void 0 ) return this.dict()[ key ] ?? null\n\t\t\tthis.href( this.link( { [ key ] : next } ) )\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tstatic link( next : Record ) {\n\t\t\tconst params : Record = {}\n\t\t\t\n\t\t\tvar prev = this.dict()\n\t\t\tfor( var key in prev ) {\n\t\t\t\tparams[ key ] = prev[ key ]\n\t\t\t}\n\t\t\t\n\t\t\tfor( var key in next ) {\n\t\t\t\tparams[ key ] = next[ key ]\n\t\t\t}\n\t\t\t\n\t\t\treturn this.make_link( params )\n\t\t}\n\t\t\n\t\tstatic make_link( next : Record) {\n\t\t\tconst chunks : string[] = []\n\t\t\tfor( const key in next ) {\n\t\t\t\tif( next[ key ] !== null ) {\n\t\t\t\t\tchunks.push([key, next[key]!].map(encodeURIComponent).join('='))\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn chunks.join( ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tstatic go( next : { [ key : string ] : string | null } ) {\n\t\t\tthis.href( this.make_link( next ) )\n\t\t}\n\t\t\n\t\tconstructor( public prefix = '' ) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\tvalue( key : string , next? : string ) {\n\t\t\treturn ( this.constructor as typeof $mol_state_arg ).value( this.prefix + key , next )\n\t\t}\n\t\t\n\t\tsub( postfix : string ) {\n\t\t\treturn new ( this.constructor as typeof $mol_state_arg )( this.prefix + postfix + '.' )\n\t\t}\n\t\t\n\t\tlink( next : Record ) {\n\t\t\tconst prefix = this.prefix\n\t\t\tconst dict : Record = {}\n\t\t\tfor( var key in next ) {\n\t\t\t\tdict[ prefix + key ] = next[ key ]\n\t\t\t}\n\t\t\treturn ( this.constructor as typeof $mol_state_arg ).link( dict )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Dynamic hyperlink. It can add, change or remove parameters. A link that leads to the current page has [mol_link_current] attribute set to true.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_link_demo\n\t */\n\texport class $mol_link extends $.$mol_link {\n\t\t\n\t\t@ $mol_mem\n\t\turi_toggle() {\n\t\t\treturn this.current() ? this.uri_off() : this.uri()\n\t\t}\n\n\t\t@ $mol_mem\n\t\turi() {\n\t\t\treturn new this.$.$mol_state_arg( this.state_key() ).link( this.arg() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\turi_off() {\n\t\t\tconst arg2: Record = {}\n\t\t\tfor( let i in this.arg() ) arg2[i] = null\n\t\t\t\n\t\t\treturn new this.$.$mol_state_arg( this.state_key() ).link( arg2 )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_native() {\n\t\t\tconst base = this.$.$mol_state_arg.href()\n\t\t\treturn new URL( this.uri() , base )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcurrent() {\n\n\t\t\tconst base = this.$.$mol_state_arg.href_normal()\n\t\t\tconst target = this.uri_native().toString()\n\n\t\t\tif( base === target ) return true\n\t\t\t\n\t\t\tconst args = this.arg() as Record\n\t\t\t\n\t\t\tconst keys = Object.keys( args ).filter( key => args[ key ] != null )\n\t\t\tif( keys.length === 0 ) return false\n\n\t\t\tfor( const key of keys ) {\n\t\t\t\tif( this.$.$mol_state_arg.value( key ) != args[ key ] ) return false\n\t\t\t}\n\n\t\t\treturn true\n\t\t}\n\n\t\tfile_name() {\n\t\t\treturn null as unknown as string\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn Math.max( super.minimal_height(), 24 )\n\t\t}\n\t\t\n\t\texternal() {\n\t\t\treturn this.uri_native().origin !== $mol_dom_context.location.origin\n\t\t}\n\t\t\n\t\ttarget(): '_self' | '_blank' | '_top' | '_parent' | string {\n\t\t\treturn this.external() ? '_blank' : '_self'\n\t\t}\n\n\t\thint_safe() {\n\t\t\ttry {\n\t\t\t\treturn this.hint()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn ''\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst { rem } = $mol_style_unit\n\n\t$mol_style_define( $mol_link , {\n\t\t\n\t\ttextDecoration: 'none',\n\t\tcolor: $mol_theme.control,\n\t\tstroke: 'currentcolor',\n\t\tcursor: 'pointer',\n\t\tpadding: $mol_gap.text,\n\t\tboxSizing: 'border-box',\n\t\tposition: 'relative',\n\t\tminWidth: rem(2.5),\n\t\tgap: $mol_gap.space,\n\t\t\n\t\tborder: {\n\t\t\tradius: $mol_gap.round,\n\t\t},\n\n\t\t':hover': {\n\t\t\t\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.hover,\n\t\t\t},\n\t\t\t\n\t\t},\n\n\t\t':focus-visible': {\n\t\t\t\n\t\t\toutline: 'none',\n\t\t\t\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.hover,\n\t\t\t},\n\t\t\t\n\t\t},\n\n\t\t// ':has(:focus-visible)': {\n\t\t// \toutline: 'none',\n\t\t// \tbackground: {\n\t\t// \t\tcolor: $mol_theme.hover,\n\t\t// \t}\n\t\t// },\n\t\t\n\t\t':active': {\n\t\t\tcolor: $mol_theme.focus,\n\t\t},\n\n\t\t'@': {\n\t\t\tmol_link_current: {\n\t\t\t\t'true': {\n\t\t\t\t\tcolor: $mol_theme.current,\n\t\t\t\t\ttextShadow: '0 0',\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\n\t} )\n\n}\n","namespace $ {\n\texport class $mol_icon_delete extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19C6,20.1 6.9,21 8,21H16C17.1,21 18,20.1 18,19V7H6V19Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19C6,20.1 6.9,21 8,21H16C17.1,21 18,20.1 18,19V7H6V19Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_list extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * render_visible_only true\n\t\t * ```\n\t\t */\n\t\trender_visible_only() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * render_over 0\n\t\t * ```\n\t\t */\n\t\trender_over() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= rows\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.rows()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Empty $mol_view\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tEmpty() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Gap_before $mol_view style * paddingTop <= gap_before\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tGap_before() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.style = () => ({\n\t\t\t\tpaddingTop: this.gap_before()\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Gap_after $mol_view style * paddingTop <= gap_after\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tGap_after() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.style = () => ({\n\t\t\t\tpaddingTop: this.gap_after()\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_window /\n\t\t * \t0\n\t\t * \t0\n\t\t * ```\n\t\t */\n\t\tview_window() {\n\t\t\treturn [\n\t\t\t\t0,\n\t\t\t\t0\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rows /$mol_view\n\t\t * ```\n\t\t */\n\t\trows() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * gap_before 0\n\t\t * ```\n\t\t */\n\t\tgap_before() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * gap_after 0\n\t\t * ```\n\t\t */\n\t\tgap_after() {\n\t\t\treturn 0\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\tlet cache = null as null | boolean\n\texport function $mol_support_css_overflow_anchor( this: $ ) {\n\t\treturn cache ?? (\n\t\t\tcache = (\n\t\t\t\t!/Gecko\\//.test( navigator.userAgent ) // FF doesn't anchow while scroll animates\n\t\t\t\t&& this.$mol_dom_context.CSS?.supports( 'overflow-anchor:auto' )\n\t\t\t) ?? false\n\t\t)\n\t}\n\n}\n","namespace $.$$ {\n\n\t/**\n\t * The list of rows with lazy/virtual rendering support based on `minimal_height` of rows.\n\t * `mol_list` should contain only components that inherits `mol_view`. You should not place raw strings or numbers in list.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_list_demo\n\t */\n\texport class $mol_list extends $.$mol_list {\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\tconst rows = this.rows()\n\t\t\treturn ( rows.length === 0 ) ? [ this.Empty() ] : rows\n\t\t}\n\n\t\trender_visible_only() {\n\t\t\treturn this.$.$mol_support_css_overflow_anchor()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tview_window( next?: [ number , number ] ) : [ number , number ] {\n\t\t\t\n\t\t\tconst kids = this.sub()\n\t\t\t\n\t\t\tif( kids.length < 3 ) return [ 0 , kids.length ]\n\t\t\tif( this.$.$mol_print.active() ) return [ 0 , kids.length ]\n\t\t\t\n\t\t\tconst rect = this.view_rect()\n\t\t\tif( next ) return next\n\t\t\t\n\t\t\tlet [ min , max ] = $mol_mem_cached( ()=> this.view_window() ) ?? [ 0 , 0 ]\n\n\t\t\tlet max2 = max = Math.min( max , kids.length )\n\t\t\tlet min2 = min = Math.max( 0 , Math.min( min , max - 1 ) )\n\t\t\t\n\t\t\tconst anchoring = this.render_visible_only()\n\t\t\tconst window_height = this.$.$mol_window.size().height + 40\n\t\t\tconst over = Math.ceil( window_height * this.render_over() )\n\t\t\tconst limit_top = -over\n\t\t\tconst limit_bottom = window_height + over\n\n\t\t\tconst gap_before = $mol_mem_cached( ()=> this.gap_before() ) ?? 0\n\t\t\tconst gap_after = $mol_mem_cached( ()=> this.gap_after() ) ?? 0\n\n\t\t\tlet top = Math.ceil( rect?.top ?? 0 ) + gap_before\n\t\t\tlet bottom = Math.ceil( rect?.bottom ?? 0 ) - gap_after\n\n\t\t\t// change nothing when already covers all limits\n\t\t\tif( top <= limit_top && bottom >= limit_bottom ) {\n\t\t\t\treturn [ min2 , max2 ]\n\t\t\t}\n\n\t\t\t// jumps when fully over limits\n\t\t\tif( anchoring && (( bottom < limit_top )||( top > limit_bottom )) ) {\n\n\t\t\t\tmin = 0\n\t\t\t\ttop = Math.ceil( rect?.top ?? 0 )\n\t\t\t\t\n\t\t\t\twhile( min < ( kids.length - 1 ) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst height = kids[ min ].minimal_height()\n\t\t\t\t\tif( top + height >= limit_top ) break\n\t\t\t\t\t\n\t\t\t\t\ttop += height\n\t\t\t\t\t++ min\n\n\t\t\t\t}\n\n\t\t\t\tmin2 = min\n\t\t\t\tmax2 = max = min\n\t\t\t\tbottom = top\n\n\t\t\t}\n\n\t\t\tlet top2 = top\n\t\t\tlet bottom2 = bottom\n\n\t\t\t// force recalc min when overlapse top limit\n\t\t\tif( anchoring && ( top <= limit_top ) && ( bottom2 < limit_bottom ) ) {\n\t\t\t\tmin2 = Math.max( 0, max - 1 )\n\t\t\t\ttop2 = bottom\n\t\t\t}\n\n\t\t\t// force recalc max when overlapse bottom limit\n\t\t\tif( ( bottom >= limit_bottom ) && ( top2 >= limit_top ) ) {\n\t\t\t\tmax2 = Math.min( min + 1, kids.length )\n\t\t\t\tbottom2 = top\n\t\t\t}\n\n\t\t\t// extend max to cover bottom limit\n\t\t\twhile( bottom2 < limit_bottom && max2 < kids.length ) {\n\t\t\t\tbottom2 += kids[ max2 ].minimal_height()\n\t\t\t\t++ max2\n\t\t\t}\n\n\t\t\t// extend min to cover top limit\n\t\t\twhile( anchoring && (( top2 >= limit_top )&&( min2 > 0 )) ) {\n\t\t\t\t-- min2\n\t\t\t\ttop2 -= kids[ min2 ].minimal_height()\n\t\t\t}\n\n\t\t\treturn [ min2 , max2 ]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_before() {\n\t\t\tconst skipped = this.sub().slice( 0 , this.view_window()[0] )\n\t\t\treturn Math.max( 0 , skipped.reduce( ( sum , view )=> sum + view.minimal_height() , 0 ) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_after() {\n\t\t\tconst skipped = this.sub().slice( this.view_window()[1] )\n\t\t\treturn Math.max( 0 , skipped.reduce( ( sum , view )=> sum + view.minimal_height() , 0 ) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\t... this.gap_before() ? [ this.Gap_before() ] : [],\n\t\t\t\t... this.sub().slice( ... this.view_window() ),\n\t\t\t\t... this.gap_after() ? [ this.Gap_after() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\n\t\t\treturn this.sub().reduce( ( sum , view )=> {\n\n\t\t\t\ttry {\n\t\t\t\t\treturn sum + view.minimal_height() \n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t\treturn sum\n\t\t\t\t}\n\n\t\t\t} , 0 )\n\n\t\t}\n\n\t\tforce_render(\n\t\t\tpath : Set< $mol_view >,\n\t\t) {\n\n\t\t\tconst kids = this.rows()\n\n\t\t\tconst index = kids.findIndex( item => path.has( item ) )\n\n\t\t\tif( index >= 0 ) {\n\t\t\t\tconst win = this.view_window()\n\t\t\t\tif( index < win[0] || index >= win[1] ) {\n\t\t\t\t\tthis.view_window([ this.render_visible_only() ? index : 0, index + 1 ])\n\t\t\t\t}\n\t\t\t\t( kids[ index ] as $mol_view ).force_render( path )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/list/list.view.css\",\n \"[mol_list] {\\n\\twill-change: contents;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tflex-shrink: 0;\\n\\tmax-width: 100%;\\n\\t/* display: flex;\\n\\talign-items: stretch;\\n\\talign-content: stretch; */\\n\\ttransition: none;\\n\\tmin-height: 1.5rem;\\n}\\n\\n[mol_list_gap_before] ,\\n[mol_list_gap_after] {\\n\\tdisplay: block !important;\\n\\tflex: none;\\n\\ttransition: none;\\n\\toverflow-anchor: none;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_check extends $mol_button_minor {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_check_checked <= checked?\n\t\t * \taria-checked <= aria_checked\n\t\t * \trole <= aria_role\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_check_checked: this.checked(),\n\t\t\t\t\"aria-checked\": this.aria_checked(),\n\t\t\t\trole: this.aria_role()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /$mol_view_content\n\t\t * \t<= Icon\n\t\t * \t<= label\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon(),\n\t\t\t\tthis.label()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * checked? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tchecked(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * aria_checked \\false\n\t\t * ```\n\t\t */\n\t\taria_checked() {\n\t\t\treturn \"false\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * aria_role \\checkbox\n\t\t * ```\n\t\t */\n\t\taria_role() {\n\t\t\treturn \"checkbox\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon null\n\t\t * ```\n\t\t */\n\t\tIcon() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Title $mol_view sub / <= title\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTitle() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * label / <= Title\n\t\t * ```\n\t\t */\n\t\tlabel() {\n\t\t\treturn [\n\t\t\t\tthis.Title()\n\t\t\t] as readonly any[]\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\t\n\texport function $mol_maybe< Value >( value : Value | null | undefined ) : Value[] {\n\t\treturn ( value == null ) ? [] : [ value ]\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/check/check.css\",\n \"[mol_check] {\\n\\tflex: 0 0 auto;\\n\\tjustify-content: flex-start;\\n\\talign-content: center;\\n\\t/* align-items: flex-start; */\\n\\tborder: none;\\n\\tfont-weight: inherit;\\n\\tbox-shadow: none;\\n\\ttext-align: left;\\n\\tdisplay: inline-flex;\\n\\tflex-wrap: nowrap;\\n}\\n\\n[mol_check_title] {\\n\\tflex-shrink: 1;\\n}\\n\"\n) }","namespace $.$$ {\n\n\t/**\n\t * Checkbox UI component. See Variants for more concrete implementations.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_check_box_demo\n\t */\n\texport class $mol_check extends $.$mol_check {\n\n\t\tclick( next? : Event ) {\n\t\t\tif( next?.defaultPrevented ) return\n\t\t\tthis.checked( !this.checked() )\n\t\t\tif( next ) next.preventDefault()\n\t\t}\n\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\t... $mol_maybe( this.Icon() ) ,\n\t\t\t\t... this.label() ,\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\n\t\tlabel() {\n\t\t\treturn this.title() ? super.label() : []\n\t\t}\n\t\t\n\t\taria_checked() {\n\t\t\treturn String( this.checked() )\n\t\t}\n\n\t}\n}\n","namespace $ {\n\texport class $mol_check_list extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dictionary *\n\t\t * ```\n\t\t */\n\t\tdictionary() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Option* $mol_check\n\t\t * \tchecked? <=> option_checked*?\n\t\t * \tlabel <= option_label*\n\t\t * \tenabled <= option_enabled*\n\t\t * \thint <= option_hint*\n\t\t * \tminimal_height 24\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tOption(id: any) {\n\t\t\tconst obj = new this.$.$mol_check()\n\t\t\t\n\t\t\tobj.checked = (next?: any) => this.option_checked(id, next)\n\t\t\tobj.label = () => this.option_label(id)\n\t\t\tobj.enabled = () => this.option_enabled(id)\n\t\t\tobj.hint = () => this.option_hint(id)\n\t\t\tobj.minimal_height = () => 24\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * options *\n\t\t * ```\n\t\t */\n\t\toptions() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keys /string\n\t\t * ```\n\t\t */\n\t\tkeys() {\n\t\t\treturn [\n\t\t\t] as readonly string[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= items\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.items()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_checked*? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\toption_checked(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_title* \\\n\t\t * ```\n\t\t */\n\t\toption_title(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_label* / <= option_title*\n\t\t * ```\n\t\t */\n\t\toption_label(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.option_title(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_enabled* <= enabled\n\t\t * ```\n\t\t */\n\t\toption_enabled(id: any) {\n\t\t\treturn this.enabled()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_hint* \\\n\t\t * ```\n\t\t */\n\t\toption_hint(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * items /$mol_check\n\t\t * ```\n\t\t */\n\t\titems() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_check[]\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\t\n\t/**\n\t * List of checkboxes\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_check_list_demo\n\t */\n\texport class $mol_check_list extends $.$mol_check_list {\n\n\t\toptions() : { [ key : string ] : string } {\n\t\t\treturn {}\n\t\t}\n\n\t\toverride dictionary(next?: Record) {\n\t\t\treturn next ?? {}\n\t\t}\n\n\t\toverride option_checked(id: string, next?: boolean | null) {\n\t\t\tconst prev = this.dictionary()\n\t\t\tif (next === undefined) return prev[id] ?? null\n\n\t\t\tconst next_rec = { ... prev, [id]: next } as Record\n\t\t\tif (next === null) delete next_rec[id]\n\n\t\t\treturn this.dictionary(next_rec)[id] ?? null\n\t\t}\n\n\t\t@ $mol_mem\n\t\tkeys(): readonly string[] {\n\t\t\treturn Object.keys( this.options() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\titems() {\n\t\t\treturn this.keys().map( key => this.Option( key ) )\n\t\t}\n\t\t\n\t\toption_title( key : string ) {\n\t\t\treturn this.options()[key] || key\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/check/list/list.view.css\",\n \"[mol_check_list] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tflex: 1 1 auto;\\n\\tborder-radius: var(--mol_gap_round);\\n\\tgap: 1px;\\n}\\n\\n[mol_check_list_option] {\\n\\tflex: 0 1 auto;\\n}\\n\\n[mol_check_list_option]:where([mol_check_checked=\\\"true\\\"]) {\\n\\ttext-shadow: 0 0;\\n\\tcolor: var(--mol_theme_current);\\n}\\n\\n[mol_check_list_option]:where([mol_check_checked=\\\"true\\\"][disabled]) {\\n\\tcolor: var(--mol_theme_text);\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_switch extends $mol_check_list {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tvalue(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\t\n\texport class $mol_state_session< Value > extends $mol_object {\n\t\t\n\t\tstatic 'native()' : Pick< Storage , 'getItem'|'setItem'|'removeItem' >\n\t\tstatic native() {\n\t\t\tif( this['native()'] ) return this['native()']\n\n\t\t\tcheck : try {\n\t\t\t\tconst native = $mol_dom_context.sessionStorage\n\t\t\t\tif( !native ) break check\n\n\t\t\t\tnative.setItem( '' , '' )\n\t\t\t\tnative.removeItem( '' )\n\t\t\t\treturn this['native()'] = native\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.warn( error )\n\t\t\t}\n\n\t\t\treturn this['native()'] = {\n\t\t\t\tgetItem( key : string ) {\n\t\t\t\t\treturn (this as any)[ ':' + key ]\n\t\t\t\t} ,\n\t\t\t\tsetItem( key : string , value : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = value\n\t\t\t\t} ,\n\t\t\t\tremoveItem( key : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = void 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >( key : string , next? : Value ) : Value {\n\t\t\tif( next === void 0 ) return JSON.parse( this.native().getItem( key ) || 'null' )\n\t\t\t\n\t\t\tif( next === null ) this.native().removeItem( key )\n\t\t\telse this.native().setItem( key , JSON.stringify( next ) )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tprefix() { return '' }\n\t\t\n\t\tvalue( key : string , next? : Value ) {\n\t\t\treturn $mol_state_session.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Buttons which switching the state\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_switch_demo\n\t */\n\texport class $mol_switch extends $.$mol_switch {\n\n\t\tvalue( next? : any ) {\n\t\t\treturn $mol_state_session.value( `${ this }.value()` , next ) ?? ''\n\t\t}\n\t\t\n\t\toption_checked( key : string , next? : boolean ) {\n\t\t\tif( next === undefined ) return this.value() == key\n\t\t\tthis.value( next ? key : '' )\n\t\t\treturn next\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\texport class $mol_deck extends $mol_list {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * items /$mol_view\n\t\t * ```\n\t\t */\n\t\titems() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rows /$mol_view\n\t\t * \t<= Switch\n\t\t * \t<= Content\n\t\t * ```\n\t\t */\n\t\trows() {\n\t\t\treturn [\n\t\t\t\tthis.Switch(),\n\t\t\t\tthis.Content()\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current? \\0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"0\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * switch_options *\n\t\t * ```\n\t\t */\n\t\tswitch_options() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Switch $mol_switch\n\t\t * \tvalue? <=> current?\n\t\t * \toptions <= switch_options\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSwitch() {\n\t\t\tconst obj = new this.$.$mol_switch()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.current(next)\n\t\t\tobj.options = () => this.switch_options()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Content $mol_view\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tContent() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\t\n\t/**\n\t * The component which arrange content in multiple tabs.\n\t * @seehttps://mol.hyoo.ru/#!section=demos/demo=mol_deck_demo\n\t */\n\texport class $mol_deck extends $.$mol_deck {\n\t\t\n\t\tcurrent( next? : string ) {\n\t\t\treturn $mol_state_session.value( `${ this }.current()` , next ) || '0'\n\t\t}\n\t\t\n\t\tswitch_options() {\n\t\t\tlet options : Record< string , string > = {}\n\t\t\tthis.items().forEach( ( item , index ) => {\n\t\t\t\toptions[ String( index ) ] = item.title()\n\t\t\t} )\n\t\t\treturn options\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tContent() {\n\t\t\treturn this.items()[ Number( this.current() ) ]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\texport class $mol_icon_script extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2H8C6.3,2 5,3.3 5,5V16H16V17C16,17.6 16.4,18 17,18H18V5C18,4.4 18.4,4 19,4C19.6,4 20,4.4 20,5V6H22V5C22,3.3 20.7,2 19,2Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2H8C6.3,2 5,3.3 5,5V16H16V17C16,17.6 16.4,18 17,18H18V5C18,4.4 18.4,4 19,4C19.6,4 20,4.4 20,5V6H22V5C22,3.3 20.7,2 19,2Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_script_text extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2C20.7,2 22,3.3 22,5V6H20V5C20,4.4 19.6,4 19,4C18.4,4 18,4.4 18,5V18H17C16.4,18 16,17.6 16,17V16H5V5C5,3.3 6.3,2 8,2H19M8,6V8H15V6H8M8,10V12H14V10H8Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2C20.7,2 22,3.3 22,5V6H20V5C20,4.4 19.6,4 19,4C18.4,4 18,4.4 18,5V18H17C16.4,18 16,17.6 16,17V16H5V5C5,3.3 6.3,2 8,2H19M8,6V8H15V6H8M8,10V12H14V10H8Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_link_source extends $mol_link {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint @ \\Source code\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_link_source_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Icon\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_script_text\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_script_text()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_page extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\article\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"article\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \ttabIndex <= tabindex\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\ttabIndex: this.tabindex()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Head\n\t\t * \t<= Body\n\t\t * \t<= Foot\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Head(),\n\t\t\t\tthis.Body(),\n\t\t\t\tthis.Foot()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tabindex -1\n\t\t * ```\n\t\t */\n\t\ttabindex() {\n\t\t\treturn -1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Logo null\n\t\t * ```\n\t\t */\n\t\tLogo() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title_content /\n\t\t * \t<= Logo\n\t\t * \t<= title\n\t\t * ```\n\t\t */\n\t\ttitle_content() {\n\t\t\treturn [\n\t\t\t\tthis.Logo(),\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Title $mol_view\n\t\t * \tdom_name \\h1\n\t\t * \tsub <= title_content\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTitle() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.dom_name = () => \"h1\"\n\t\t\tobj.sub = () => this.title_content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tools /$mol_view_content\n\t\t * ```\n\t\t */\n\t\ttools() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Tools $mol_view sub <= tools\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTools() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => this.tools()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * head /\n\t\t * \t<= Title\n\t\t * \t<= Tools\n\t\t * ```\n\t\t */\n\t\thead() {\n\t\t\treturn [\n\t\t\t\tthis.Title(),\n\t\t\t\tthis.Tools()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Head $mol_view\n\t\t * \tminimal_height 64\n\t\t * \tdom_name \\header\n\t\t * \tsub <= head\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHead() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.minimal_height = () => 64\n\t\t\tobj.dom_name = () => \"header\"\n\t\t\tobj.sub = () => this.head()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * body /$mol_view\n\t\t * ```\n\t\t */\n\t\tbody() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Body_content $mol_view sub <= body\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tBody_content() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => this.body()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * body_content / <= Body_content\n\t\t * ```\n\t\t */\n\t\tbody_content() {\n\t\t\treturn [\n\t\t\t\tthis.Body_content()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * body_scroll_top?\n\t\t * ```\n\t\t */\n\t\tbody_scroll_top(next?: any) {\n\t\t\treturn this.Body().scroll_top(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Body $mol_scroll\n\t\t * \tscroll_top? => body_scroll_top?\n\t\t * \tsub <= body_content\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tBody() {\n\t\t\tconst obj = new this.$.$mol_scroll()\n\t\t\t\n\t\t\tobj.sub = () => this.body_content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * foot /$mol_view\n\t\t * ```\n\t\t */\n\t\tfoot() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Foot $mol_view\n\t\t * \tdom_name \\footer\n\t\t * \tsub <= foot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFoot() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.dom_name = () => \"footer\"\n\t\t\tobj.sub = () => this.foot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\tconst { per , rem } = $mol_style_unit\n\tconst { calc } = $mol_style_func\n\n\t$mol_style_define( $mol_page , {\n\n\t\tdisplay: 'flex' ,\n\t\tflex: {\n\t\t\tbasis: 'auto' ,\n\t\t\tdirection: 'column' ,\n\t\t},\n\t\tposition: 'relative' ,\n\t\talignSelf: 'stretch' ,\n\t\tmaxWidth: per(100) ,\n\t\tmaxHeight: per(100) ,\n\t\tboxSizing: 'border-box' ,\n\t\tcolor: $mol_theme.text ,\n\t\t// zIndex: 0 ,\n\t\t\n\t\t':focus': {\n\t\t\toutline: 'none',\n\t\t} ,\n\n\t\tHead: {\n\t\t\tdisplay: 'flex' ,\n\t\t\tflexWrap: 'wrap' ,\n\t\t\tjustifyContent: 'flex-end' ,\n\t\t\tflex: 'none',\n\t\t\tposition: 'relative' ,\n\t\t\tmargin: 0 ,\n\t\t\tminHeight: rem(4),\n\t\t\tpadding: $mol_gap.block ,\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card ,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tboxShadow: `0 0.5rem 0.5rem -0.5rem hsla(0,0%,0%,.25)` ,\n\t\t\tzIndex: 2,\n\t\t},\n\n\t\tTitle: {\n\n\t\t\tminHeight: rem(2),\n\t\t\tmargin: 0,\n\t\t\tpadding: $mol_gap.text,\n\t\t\tgap: $mol_gap.text,\n\t\t\twordBreak: 'normal',\n\t\t\ttextShadow: '0 0',\n\n\t\t\tfont: {\n\t\t\t\tsize: 'inherit',\n\t\t\t\tweight: 'normal',\n\t\t\t},\n\t\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 1,\n\t\t\t\tbasis: 'auto',\n\t\t\t},\n\n\t\t},\n\n\t\tTools: {\n\t\t\t\n\t\t\tflex: {\n\t\t\t\tbasis: 'auto',\n\t\t\t\tgrow: 1000,\n\t\t\t\tshrink: 1,\n\t\t\t},\n\t\t\tdisplay: 'flex',\n\t\t\tjustifyContent: 'flex-end',\n\t\t\talignItems: 'flex-start',\n\t\t\tflexWrap: 'wrap',\n\n\t\t},\n\n\t\tBody: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1000,\n\t\t\t\tshrink: 1,\n\t\t\t\tbasis: per(100),\n\t\t\t},\n\t\t},\n\t\t\n\t\tBody_content: {\n\t\t\tpadding: $mol_gap.block ,\n\t\t\tflex: {\n\t\t\t\tdirection: 'column',\n\t\t\t\tshrink: 1,\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tjustify: {\n\t\t\t\tself: 'stretch',\n\t\t\t},\n\t\t},\n\t\t\n\t\tFoot: {\n\t\t\tdisplay: 'flex',\n\t\t\tjustifyContent: 'space-between',\n\t\t\tflex: 'none',\n\t\t\tmargin: 0,\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card ,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tboxShadow: `0 -0.5rem 0.5rem -0.5rem hsla(0,0%,0%,.25)` ,\n\t\t\tzIndex: 1,\n\t\t\tpadding: $mol_gap.block ,\n\t\t\t':empty': {\n\t\t\t\tdisplay: 'none',\n\t\t\t},\n\t\t},\t\n\n\t} )\n\t\n}\n","namespace $ {\n\n\texport class $mol_store< Data > extends $mol_object2 {\n\n\t\tconstructor(\n\t\t\tpublic data_default? : Data\n\t\t) {\n\t\t\tsuper()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata( next? : Data ) {\n\t\t\treturn next === undefined ? this.data_default! : next\n\t\t}\n\n\t\tsnapshot( next? : string ) {\n\t\t\treturn JSON.stringify( this.data( next === undefined ? next : JSON.parse( next ) ) )\n\t\t}\n\n\t\tvalue< Key extends keyof Data >( key : Key , next? : Data[ Key ] ) {\n\t\t\t\n\t\t\tconst data = this.data()\n\t\t\tif( next === undefined ) return data && data[ key ]!\n\n\t\t\tconst Constr = Reflect.getPrototypeOf( data as any )!.constructor as new ()=> {}\n\t\t\t\n\t\t\tthis.data( Object.assign( new Constr , data , { [ key ] : next } ) )\n\n\t\t\treturn next!\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tselection<\n\t\t\tKey extends keyof Data\n\t\t>( key: Key, next = [ 0, 0 ] ) {\n\t\t\treturn next\n\t\t}\n\t\t\t\n\t\tsub<\n\t\t\tKey extends keyof Data ,\n\t\t\tLens extends $mol_store< Data[ Key ] > = $mol_store< NonNullable >\n\t\t>( key : Key , lens? : Lens ) {\n\n\t\t\tif( !lens ) lens = new $mol_store< Data[ Key ] >() as any\n\n\t\t\tconst data = lens!.data\n\t\t\tlens!.data = next => {\n\t\t\t\tif( next == undefined ) {\n\t\t\t\t\treturn this.value( key ) ?? lens!.data_default!\n\t\t\t\t}\n\t\t\t\treturn this.value( key , next )\n\t\t\t}\n\n\t\t\treturn lens!\n\n\t\t}\n\n\t\treset() {\n\t\t\tthis.data( this.data_default! )\n\t\t}\n\n\t\tactive() {\n\t\t\treturn true\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\tinterface Plot {\n\t\tid: string\n\t\ttype: 'matrix' | 'plot3d' | 'pd' | string\n\t\tjson: unknown\n\t}\n\n\texport class $visavis_plot extends $mol_store {\n\n\t\tid(next?: string) {\n\t\t\treturn this.value('id', next)\n\t\t}\n\n\t\ttype() {\n\t\t\treturn this.value('type')\n\t\t}\n\n\t\tjson() {\n\t\t\treturn this.value('json')\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\texport class $mol_icon_tick extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_check_box extends $mol_check {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_tick\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_tick()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/check/box/box.view.css\",\n \"[mol_check_box_icon] {\\n\\tborder-radius: var(--mol_gap_round);\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_line);\\n\\tcolor: var(--mol_theme_shade);\\n\\theight: 1rem;\\n\\talign-self: center;\\n}\\n\\n[mol_check]:not([mol_check_checked]) > [mol_check_box_icon] {\\n\\tfill: transparent;\\n}\\n\\n[mol_check]:not([disabled]) > [mol_check_box_icon] {\\n\\tbackground: var(--mol_theme_field);\\n\\tcolor: var(--mol_theme_text);\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_labeler extends $mol_list {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rows /\n\t\t * \t<= Label\n\t\t * \t<= Content\n\t\t * ```\n\t\t */\n\t\trows() {\n\t\t\treturn [\n\t\t\t\tthis.Label(),\n\t\t\t\tthis.Content()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * label /$mol_view_content <= title\n\t\t * ```\n\t\t */\n\t\tlabel() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Label $mol_view\n\t\t * \tminimal_height 32\n\t\t * \tsub <= label\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tLabel() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.minimal_height = () => 32\n\t\t\tobj.sub = () => this.label()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * content /\n\t\t * ```\n\t\t */\n\t\tcontent() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Content $mol_view\n\t\t * \tminimal_height 24\n\t\t * \tsub <= content\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tContent() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.minimal_height = () => 24\n\t\t\tobj.sub = () => this.content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/labeler/labeler.view.css\",\n \"[mol_labeler] {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-items: stretch;\\n\\tcursor: inherit;\\n}\\n\\n[mol_labeler_label] {\\n\\tmin-height: 2rem;\\n\\tcolor: var(--mol_theme_shade);\\n\\tpadding: .5rem .75rem 0;\\n\\tgap: 0 var(--mol_gap_block);\\n\\tflex-wrap: wrap;\\n}\\n\\n[mol_labeler_content] {\\n\\tdisplay: flex;\\n\\tpadding: var(--mol_gap_text);\\n}\\n\"\n) }","namespace $ {\n\texport class $visavis_matrix extends $mol_book2 {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot $visavis_plot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tplot() {\n\t\t\tconst obj = new this.$.$visavis_plot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * size 0\n\t\t * ```\n\t\t */\n\t\tsize() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * links_value_min? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tlinks_value_min(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * links_value_max? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tlinks_value_max(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\theatmap(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * matrix /\n\t\t * ```\n\t\t */\n\t\tmatrix() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap_colors /\n\t\t * \t\\rgb(150,0,90)\n\t\t * \t\\rgb(0,0,200)\n\t\t * \t\\rgb(0,25,255)\n\t\t * \t\\rgb(0,152,255)\n\t\t * \t\\rgb(44,255,150)\n\t\t * \t\\rgb(151,255,0)\n\t\t * \t\\rgb(255,234,0)\n\t\t * \t\\rgb(255,111,0)\n\t\t * \t\\rgb(255,0,0)\n\t\t * ```\n\t\t */\n\t\theatmap_colors() {\n\t\t\treturn [\n\t\t\t\t\"rgb(150,0,90)\",\n\t\t\t\t\"rgb(0,0,200)\",\n\t\t\t\t\"rgb(0,25,255)\",\n\t\t\t\t\"rgb(0,152,255)\",\n\t\t\t\t\"rgb(44,255,150)\",\n\t\t\t\t\"rgb(151,255,0)\",\n\t\t\t\t\"rgb(255,234,0)\",\n\t\t\t\t\"rgb(255,111,0)\",\n\t\t\t\t\"rgb(255,0,0)\"\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * colorset /\n\t\t * \t\\#3e3f95\n\t\t * \t\\#c00\n\t\t * \t\\#FE9A2E\n\t\t * \t\\#090\n\t\t * \t\\#f0f\n\t\t * \t\\#09f\n\t\t * \t\\#666\n\t\t * \t\\#0f3\n\t\t * \t\\#0ff\n\t\t * \t\\#90c\n\t\t * ```\n\t\t */\n\t\tcolorset() {\n\t\t\treturn [\n\t\t\t\t\"#3e3f95\",\n\t\t\t\t\"#c00\",\n\t\t\t\t\"#FE9A2E\",\n\t\t\t\t\"#090\",\n\t\t\t\t\"#f0f\",\n\t\t\t\t\"#09f\",\n\t\t\t\t\"#666\",\n\t\t\t\t\"#0f3\",\n\t\t\t\t\"#0ff\",\n\t\t\t\t\"#90c\"\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * order /number\n\t\t * ```\n\t\t */\n\t\torder() {\n\t\t\treturn [\n\t\t\t] as readonly number[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * order_current? \\nump\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\torder_current(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"nump\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_padding 32\n\t\t * ```\n\t\t */\n\t\tplot_padding() {\n\t\t\treturn 32\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * axis_width 24\n\t\t * ```\n\t\t */\n\t\taxis_width() {\n\t\t\treturn 24\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages /\n\t\t * \t<= Plot\n\t\t * \t<= Setup\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Plot(),\n\t\t\t\tthis.Setup()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_title \\\n\t\t * ```\n\t\t */\n\t\tplot_title() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Root $mol_svg\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tRoot() {\n\t\t\tconst obj = new this.$.$mol_svg()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_min $mol_view sub / <= links_value_min\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHeatmap_min() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.links_value_min()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap_color* \\\n\t\t * ```\n\t\t */\n\t\theatmap_color(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_color*0 $mol_view style * background <= heatmap_color*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tHeatmap_color(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.style = () => ({\n\t\t\t\tbackground: this.heatmap_color(id)\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_max $mol_view sub / <= links_value_max\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHeatmap_max() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.links_value_max()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap_color_list /\n\t\t * \t<= Heatmap_min\n\t\t * \t<= Heatmap_color*0\n\t\t * \t<= Heatmap_max\n\t\t * ```\n\t\t */\n\t\theatmap_color_list() {\n\t\t\treturn [\n\t\t\t\tthis.Heatmap_min(),\n\t\t\t\tthis.Heatmap_color(\"0\"),\n\t\t\t\tthis.Heatmap_max()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_legend $mol_list rows <= heatmap_color_list\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHeatmap_legend() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.rows = () => this.heatmap_color_list()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Side_right $mol_scroll sub / <= Heatmap_legend\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSide_right() {\n\t\t\tconst obj = new this.$.$mol_scroll()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Heatmap_legend()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_body /\n\t\t * \t<= Root\n\t\t * \t<= Side_right\n\t\t * ```\n\t\t */\n\t\tplot_body() {\n\t\t\treturn [\n\t\t\t\tthis.Root(),\n\t\t\t\tthis.Side_right()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * draw null\n\t\t * ```\n\t\t */\n\t\tdraw() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot $mol_page\n\t\t * \ttitle <= plot_title\n\t\t * \tbody <= plot_body\n\t\t * \tauto <= draw\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPlot() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.plot_title()\n\t\t\tobj.body = () => this.plot_body()\n\t\t\tobj.auto = () => this.draw()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * nonformers? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tnonformers(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nonformers $mol_check_box\n\t\t * \thint @ \\Continuous solid solutions and complete insolubility systems\n\t\t * \ttitle @ \\Show\n\t\t * \tchecked? <=> nonformers?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNonformers() {\n\t\t\tconst obj = new this.$.$mol_check_box()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$visavis_matrix_Nonformers_hint' )\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_matrix_Nonformers_title' )\n\t\t\tobj.checked = (next?: any) => this.nonformers(next)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nonformers_label $mol_labeler\n\t\t * \ttitle @ \\Non-formers\n\t\t * \tContent <= Nonformers\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNonformers_label() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_matrix_Nonformers_label_title' )\n\t\t\tobj.Content = () => this.Nonformers()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * order_dict *\n\t\t * \tnump @ \\Periodic number\n\t\t * \tnum @ \\Atomic number\n\t\t * \tsize @ \\Atomic size\n\t\t * \trea @ \\Atomic reactivity\n\t\t * \trpp @ \\Pseudopotential radii\n\t\t * \trion @ \\Ionic radii\n\t\t * \trcov @ \\Covalent radii\n\t\t * \trmet @ \\Metallic radii\n\t\t * \ttmelt @ \\Melting temperature\n\t\t * \teneg @ \\Electronegativity\n\t\t * ```\n\t\t */\n\t\torder_dict() {\n\t\t\treturn {\n\t\t\t\tnump: this.$.$mol_locale.text( '$visavis_matrix_order_dict_nump' ),\n\t\t\t\tnum: this.$.$mol_locale.text( '$visavis_matrix_order_dict_num' ),\n\t\t\t\tsize: this.$.$mol_locale.text( '$visavis_matrix_order_dict_size' ),\n\t\t\t\trea: this.$.$mol_locale.text( '$visavis_matrix_order_dict_rea' ),\n\t\t\t\trpp: this.$.$mol_locale.text( '$visavis_matrix_order_dict_rpp' ),\n\t\t\t\trion: this.$.$mol_locale.text( '$visavis_matrix_order_dict_rion' ),\n\t\t\t\trcov: this.$.$mol_locale.text( '$visavis_matrix_order_dict_rcov' ),\n\t\t\t\trmet: this.$.$mol_locale.text( '$visavis_matrix_order_dict_rmet' ),\n\t\t\t\ttmelt: this.$.$mol_locale.text( '$visavis_matrix_order_dict_tmelt' ),\n\t\t\t\teneg: this.$.$mol_locale.text( '$visavis_matrix_order_dict_eneg' )\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Order_switch $mol_switch\n\t\t * \tvalue? <=> order_current?\n\t\t * \toptions <= order_dict\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tOrder_switch() {\n\t\t\tconst obj = new this.$.$mol_switch()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.order_current(next)\n\t\t\tobj.options = () => this.order_dict()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Order_label $mol_labeler\n\t\t * \ttitle @ \\Sort by\n\t\t * \tContent <= Order_switch\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tOrder_label() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_matrix_Order_label_title' )\n\t\t\tobj.Content = () => this.Order_switch()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Setup $mol_page\n\t\t * \ttitle @ \\Setup\n\t\t * \tbody /\n\t\t * \t\t<= Nonformers_label\n\t\t * \t\t<= Order_label\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSetup() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_matrix_Setup_title' )\n\t\t\tobj.body = () => [\n\t\t\t\tthis.Nonformers_label(),\n\t\t\t\tthis.Order_label()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\texport function $mol_data_setup<\n\t\tValue extends $mol_data_value ,\n\t\tConfig = never\n\t>(\n\t\tvalue : Value ,\n\t\tconfig : Config ,\n\t) {\n\t\t\n\t\treturn Object.assign( value , {\n\t\t\tconfig ,\n\t\t\tValue : null as any as ReturnType< Value >\n\t\t} )\n\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * Checks for record of given fields with by its runtypes and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_record_demo\n\t */\n\texport function $mol_data_record<\n\t\tSub extends Record< string , $mol_data_value >\n\t>( sub : Sub ) {\n\n\t\ttype Input = $mol_type_partial_undefined<{\n\t\t\t[ key in keyof Sub ] : Parameters< Sub[key] >[0]\n\t\t}>\n\n\t\ttype Output = $mol_type_partial_undefined<{\n\t\t\t[ key in keyof Sub ] : ReturnType< Sub[key] >\n\t\t}>\n\n\t\treturn $mol_data_setup( ( val : Input ) => {\n\n\t\t\tlet res = {} as Output\n\t\t\t\n\t\t\tfor( const field in sub ) {\n\n\t\t\t\ttry {\n\t\t\t\t\tres[field as any as keyof Output ] =\n\t\t\t\t\t\tsub[field]( ( val as Input )[ field as any as keyof Input ] )\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\tif( error instanceof Promise ) return $mol_fail_hidden( error )\n\t\t\t\t\t\n\t\t\t\t\terror.message = `[${ JSON.stringify( field ) }] ${ error.message }`\n\t\t\t\t\treturn $mol_fail( error )\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn res as Readonly< Output >\n\t\t\t\n\t\t} , sub )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_error_mix extends AggregateError {\n\n\t\tname = '$mol_error_mix'\n\t\tconstructor( message: string, ... errors: Error[] ) {\n\t\t\tsuper(\n\t\t\t\terrors,\n\t\t\t\t[ message, ... errors.map( e => ' ' + e.message ) ].join( '\\n' ),\n\t\t\t)\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this.message\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_data_error extends $mol_error_mix {\n\t\tname = '$mol_data_error'\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * Checks for string and returns string type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_string_demo\n\t */\n\texport let $mol_data_string = ( val : string )=> {\n\t\t\n\t\tif( typeof val === 'string' ) return val\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a string` ) )\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for number and returns number type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_number_demo\n\t */\n\texport let $mol_data_number = ( val : number )=> {\n\t\t\n\t\tif( typeof val === 'number' ) return val\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a number` ) )\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for undefined or passing given runtype.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_optional_demo\n\t */\n\texport function $mol_data_optional<\n\t\tSub extends $mol_data_value,\n\t\tFallback extends undefined | ( ()=> ReturnType< Sub > )\n\t>( \n\t\tsub: Sub,\n\t\tfallback?: Fallback\n\t) {\n\n\t\treturn $mol_data_setup( ( val : Parameters[0] | undefined ) => {\n\t\t\t\n\t\t\tif( val === undefined ) {\n\t\t\t\ttype Res = Fallback extends undefined ? undefined : ReturnType< Extract< Fallback, ()=> any > >\n\t\t\t\treturn fallback?.() as Res\n\t\t\t}\n\t\t\t\n\t\t\treturn sub( val ) as ReturnType\n\t\t\t\n\t\t} , { sub, fallback } )\n\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for array of given runtype and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_array_demo\n\t */\n\texport function $mol_data_array< Sub extends $mol_data_value >( sub : Sub ) {\n\n\t\treturn $mol_data_setup( ( val : readonly Parameters< Sub >[0][] ) => {\n\t\t\t\n\t\t\tif( !Array.isArray( val ) ) return $mol_fail( new $mol_data_error( `${ val } is not an array` ) )\n\t\t\t\n\t\t\treturn val.map( ( item , index )=> {\n\n\t\t\t\ttry {\n\t\t\t\t\treturn sub( item )\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\tif( error instanceof Promise ) return $mol_fail_hidden( error )\n\t\t\t\t\t\n\t\t\t\t\terror.message = `[${ index }] ${ error.message }`\n\t\t\t\t\treturn $mol_fail( error )\n\n\t\t\t\t}\n\n\t\t\t} ) as readonly ReturnType< Sub >[]\n\t\t\t\n\t\t} , sub )\n\n\t}\n\t\t\t\n}\n","namespace $ {\n\n\t/** Dynamic sources import. */\n\texport class $mol_import extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic module( uri: string ): any {\n\t\t\t$mol_wire_solid()\n\t\t\treturn $mol_wire_sync( this ).module_async( uri )\n\t\t}\n\t\tstatic module_async( uri: string ) {\n\t\t\treturn import( uri )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tstatic script( uri: string ): any {\n\t\t\t$mol_wire_solid()\n\t\t\treturn $mol_wire_sync( this ).script_async( uri )\n\t\t}\n\n\t\tstatic script_async( uri: string ) {\n\t\t\t\n\t\t\tconst doc = $mol_dom_context.document\n\t\t\t\n\t\t\tconst script = doc.createElement( 'script' )\n\t\t\tscript.src = uri\n\t\t\tdoc.head.appendChild( script )\n\t\t\t\n\t\t\treturn new Promise< any >( ( done , fail ) => {\n\t\t\t\tscript.onload = ()=> done( $mol_dom_context )\n\t\t\t\tscript.onerror = ()=> fail( new Error( `Can not import ${ uri }` ) )\n\t\t\t} )\n\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tstatic style( uri: string ): any {\n\t\t\treturn $mol_wire_sync( this ).style_async( uri )\n\t\t}\n\n\t\tstatic style_async( uri: string ): any {\n\t\t\t\n\t\t\tconst doc = $mol_dom_context.document\n\t\t\t\n\t\t\tconst style = doc.createElement( 'link' )\n\t\t\tstyle.rel = 'stylesheet'\n\t\t\tstyle.href = uri\n\t\t\tdoc.head.appendChild( style )\n\t\t\t\n\t\t\treturn new Promise< CSSStyleSheet >( ( done , fail ) => {\n\t\t\t\tstyle.onload = ()=> done( style.sheet! )\n\t\t\t\tstyle.onerror = ()=> fail( new Error( `Can not import ${ uri }` ) )\n\t\t\t} )\n\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $visavis_lib extends $mol_object2 {\n\n\t\t@ $mol_mem\n\t\tstatic plotly() {\n\t\t\treturn $mol_import.script('/visavis/lib/bundle/plotly.custom.min.js').Plotly as any\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic pca() {\n\t\t\treturn $mol_import.script('/visavis/lib/bundle/pca.js').mlPca as any\n\t\t}\n\n\t\tstatic d3() {\n\t\t\treturn this.plotly().d3\n\t\t}\n\n\t}\n}\n","/**\n * Non-former compounds enumeration\n * based on a manually prepared by PV listing\n */\nnamespace $ {\n\n\t// 759 non-formers and ordered phases, 02/2023 by PV\n\n\texport const $visavis_nonformer_pd_bin = [[88, 23], [88, 41], [46, 78], [46, 82], [46, 5], [46, 26], [46, 23], [46, 28], [46, 25], [46, 31], [46, 76], [46, 24], [46, 41], [46, 27], [46, 75], [46, 81], [46, 74], [46, 44], [46, 43], [46, 13], [46, 80], [46, 91], [46, 22], [12, 3], [12, 82], [12, 47], [12, 54], [12, 30], [12, 31], [12, 79], [12, 48], [12, 18], [12, 10], [12, 81], [12, 13], [12, 49], [12, 80], [12, 29], [94, 23], [94, 41], [94, 92], [94, 93], [94, 91], [17, 6], [32, 78], [32, 82], [32, 81], [32, 80], [78, 5], [78, 26], [78, 25], [78, 31], [78, 41], [78, 27], [78, 14], [78, 77], [78, 44], [78, 43], [78, 13], [78, 73], [55, 19], [55, 62], [55, 25], [55, 63], [55, 56], [55, 24], [55, 41], [55, 59], [55, 27], [55, 60], [55, 58], [55, 20], [55, 61], [55, 37], [55, 21], [55, 22], [55, 38], [55, 69], [4, 82], [4, 47], [4, 28], [3, 82], [3, 30], [3, 31], [3, 48], [3, 2], [3, 10], [3, 13], [3, 49], [3, 29], [4, 30], [4, 31], [4, 79], [82, 47], [82, 26], [82, 23], [82, 28], [82, 25], [82, 30], [82, 31], [82, 79], [82, 41], [82, 40], [82, 75], [82, 14], [82, 74], [82, 50], [82, 13], [82, 49], [82, 72], [82, 22], [82, 29], [4, 81], [4, 50], [4, 49], [4, 51], [4, 80], [4, 29], [19, 57], [19, 26], [19, 62], [19, 25], [19, 56], [19, 70], [19, 24], [19, 41], [19, 10], [19, 59], [19, 60], [19, 93], [19, 20], [19, 37], [19, 64], [19, 21], [19, 68], [19, 22], [19, 38], [19, 69], [47, 23], [47, 25], [47, 30], [47, 31], [47, 24], [47, 41], [47, 81], [47, 13], [47, 80], [47, 29], [57, 23], [57, 62], [57, 71], [57, 56], [57, 2], [57, 24], [57, 41], [57, 40], [57, 59], [57, 60], [57, 58], [57, 93], [57, 20], [57, 61], [57, 72], [57, 89], [57, 21], [57, 91], [57, 22], [57, 73], [57, 39], [5, 25], [5, 26], [5, 28], [5, 31], [5, 76], [5, 27], [5, 7], [5, 43], [26, 28], [26, 25], [26, 79], [26, 24], [26, 27], [26, 75], [26, 81], [26, 45], [26, 77], [26, 74], [26, 44], [26, 43], [5, 45], [5, 77], [23, 54], [23, 28], [23, 65], [23, 67], [23, 62], [23, 63], [5, 44], [23, 79], [23, 66], [23, 18], [23, 56], [23, 2], [23, 70], [23, 11], [23, 41], [23, 10], [23, 59], [23, 92], [23, 81], [23, 60], [23, 58], [23, 93], [23, 36], [23, 20], [23, 61], [23, 64], [23, 89], [23, 68], [23, 91], [23, 22], [23, 73], [23, 38], [23, 69], [54, 71], [54, 2], [54, 11], [54, 41], [54, 40], [54, 58], [54, 36], [54, 72], [54, 21], [54, 22], [54, 39], [5, 42], [28, 25], [28, 76], [28, 2], [28, 41], [28, 10], [28, 40], [28, 27], [28, 75], [28, 81], [28, 74], [28, 44], [28, 43], [28, 72], [28, 42], [28, 80], [28, 22], [28, 73], [65, 67], [65, 63], [65, 66], [65, 70], [65, 41], [65, 93], [65, 61], [65, 72], [65, 64], [65, 89], [65, 21], [65, 68], [65, 22], [65, 73], [65, 38], [65, 69], [65, 39], [67, 63], [67, 71], [67, 66], [67, 2], [67, 70], [67, 41], [67, 40], [67, 93], [67, 20], [67, 61], [67, 72], [67, 64], [67, 89], [67, 21], [67, 68], [67, 22], [67, 73], [67, 38], [67, 69], [67, 39], [62, 71], [62, 56], [62, 24], [62, 41], [62, 40], [62, 93], [62, 20], [62, 72], [62, 89], [62, 91], [62, 22], [62, 73], [62, 38], [62, 69], [62, 39], [25, 0], [25, 48], [25, 18], [25, 56], [25, 2], [25, 11], [25, 10], [25, 75], [25, 81], [25, 43], [25, 37], [86, 41], [30, 31], [30, 79], [30, 48], [30, 81], [30, 74], [30, 13], [30, 49], [30, 80], [30, 29], [63, 66], [63, 2], [63, 70], [63, 41], [63, 93], [63, 20], [63, 61], [63, 72], [63, 64], [63, 89], [63, 21], [63, 68], [63, 22], [63, 73], [63, 38], [63, 69], [63, 39], [31, 79], [31, 48], [31, 81], [31, 13], [31, 49], [31, 80], [31, 29], [71, 18], [71, 2], [71, 11], [71, 10], [71, 40], [71, 58], [71, 36], [71, 20], [71, 72], [71, 89], [71, 21], [71, 91], [71, 38], [71, 69], [71, 39], [0, 41], [79, 76], [79, 41], [79, 40], [79, 75], [79, 81], [79, 74], [79, 43], [79, 50], [79, 22], [66, 2], [66, 70], [66, 41], [66, 93], [66, 20], [66, 61], [66, 72], [66, 64], [66, 89], [66, 68], [66, 22], [66, 73], [66, 38], [66, 69], [66, 39], [0, 29], [48, 41], [48, 13], [48, 72], [48, 22], [48, 29], [76, 75], [76, 45], [76, 77], [76, 74], [76, 44], [76, 43], [76, 42], [52, 15], [52, 33], [18, 2], [18, 11], [18, 41], [18, 40], [18, 36], [18, 72], [18, 21], [18, 22], [18, 39], [56, 2], [56, 70], [56, 24], [56, 41], [56, 40], [56, 59], [56, 60], [56, 58], [56, 93], [56, 74], [56, 20], [56, 61], [56, 72], [56, 89], [56, 21], [56, 91], [56, 22], [56, 73], [56, 69], [56, 39], [2, 70], [2, 11], [2, 24], [2, 41], [2, 10], [2, 40], [2, 59], [2, 27], [2, 60], [2, 58], [2, 93], [2, 36], [2, 20], [2, 61], [2, 72], [2, 64], [2, 21], [2, 68], [2, 22], [2, 38], [2, 39], [70, 41], [70, 40], [70, 59], [70, 93], [70, 61], [70, 72], [70, 64], [70, 89], [70, 21], [70, 68], [70, 22], [70, 73], [70, 38], [70, 69], [70, 39], [11, 24], [11, 41], [11, 10], [11, 40], [11, 36], [11, 21], [11, 91], [11, 22], [11, 39], [24, 81], [24, 43], [24, 37], [24, 80], [24, 69], [41, 10], [41, 40], [41, 59], [41, 92], [41, 90], [41, 81], [41, 60], [41, 58], [41, 93], [41, 87], [41, 36], [41, 20], [41, 61], [41, 37], [41, 72], [41, 64], [41, 42], [41, 89], [41, 21], [41, 80], [41, 68], [41, 22], [41, 73], [41, 38], [41, 69], [10, 40], [10, 36], [10, 37], [10, 72], [10, 21], [10, 22], [10, 39], [40, 93], [40, 36], [40, 20], [40, 61], [40, 72], [40, 89], [40, 21], [40, 80], [40, 91], [40, 22], [40, 73], [40, 38], [40, 69], [40, 39], [59, 60], [59, 58], [59, 93], [59, 20], [59, 61], [59, 37], [59, 72], [59, 89], [59, 21], [59, 91], [59, 22], [59, 73], [59, 69], [59, 39], [92, 93], [27, 75], [27, 81], [27, 45], [27, 74], [27, 44], [27, 43], [27, 42], [27, 80], [75, 45], [75, 77], [75, 74], [75, 44], [75, 43], [81, 50], [81, 13], [81, 49], [81, 80], [81, 73], [81, 29], [45, 77], [45, 74], [45, 44], [45, 43], [45, 42], [45, 73], [60, 58], [60, 93], [60, 61], [60, 89], [60, 22], [58, 93], [58, 61], [58, 72], [58, 89], [58, 21], [58, 91], [58, 22], [58, 73], [58, 69], [14, 50], [77, 43], [77, 42], [93, 61], [93, 72], [93, 64], [93, 21], [93, 68], [93, 22], [93, 73], [93, 38], [93, 69], [36, 72], [36, 21], [36, 22], [36, 39], [74, 44], [74, 43], [74, 50], [74, 49], [74, 42], [44, 43], [44, 42], [50, 13], [50, 73], [20, 37], [20, 72], [20, 64], [20, 89], [20, 21], [20, 91], [20, 22], [20, 73], [20, 38], [20, 69], [20, 39], [33, 51], [13, 49], [13, 80], [13, 29], [61, 72], [61, 64], [61, 89], [61, 68], [61, 91], [61, 22], [61, 73], [61, 38], [49, 29], [37, 21], [37, 22], [37, 38], [15, 51], [72, 64], [72, 89], [72, 21], [72, 80], [72, 68], [72, 91], [72, 38], [72, 69], [72, 39], [64, 89], [64, 21], [64, 68], [64, 22], [64, 73], [64, 38], [64, 69], [64, 39], [89, 21], [89, 68], [89, 91], [89, 22], [89, 73], [89, 38], [89, 69], [89, 39], [21, 68], [21, 22], [21, 73], [21, 38], [21, 69], [21, 39], [80, 22], [80, 29], [68, 22], [68, 73], [68, 38], [68, 69], [91, 22], [91, 73], [91, 38], [91, 69], [22, 73], [22, 38], [22, 69], [73, 38], [73, 69], [38, 69], [38, 39], [69, 39], [46, 45], [78, 23], [78, 28], [78, 24], [78, 45], [47, 11], [57, 67], [57, 63], [57, 66], [57, 70], [57, 64], [57, 68], [57, 38], [26, 25], [26, 76], [26, 77], [23, 25], [23, 27], [23, 21], [54, 18], [28, 24], [28, 45], [28, 77], [65, 56], [65, 59], [65, 60], [65, 58], [67, 56], [67, 59], [67, 60], [67, 58], [25, 76], [25, 24], [25, 27], [25, 45], [25, 44], [25, 22], [63, 56], [63, 59], [63, 60], [63, 58], [66, 56], [66, 59], [66, 60], [66, 58], [48, 80], [76, 27], [56, 64], [56, 68], [56, 38], [70, 60], [70, 58], [24, 27], [24, 22], [59, 64], [59, 68], [59, 38], [27, 77], [45, 22], [60, 64], [60, 68], [60, 38], [58, 64], [58, 68], [58, 38], [77, 74], [77, 44], [77, 73], [93, 39], [43, 22], [72, 22], [72, 73], [21, 91]];\n\n\t// 3511 non-formers derived from above\n\n\texport const $visavis_nonformer_pd_tri = {\n\t'x': [61, 70, 24, 94, 61, 69, 60, 13, 63, 28, 58, 29, 57, 57, 64, 3, 57, 56, 19, 39, 3, 21, 67, 69, 57, 77, 64, 20, 37, 57, 60, 70, 57, 56, 55, 56, 70, 55, 30, 65, 64, 58, 26, 41, 63, 4, 59, 3, 94, 37, 12, 59, 59, 46, 68, 58, 3, 60, 26, 55, 44, 20, 55, 71, 60, 31, 19, 58, 70, 56, 39, 59, 57, 68, 55, 3, 59, 26, 58, 66, 29, 14, 59, 19, 57, 3, 62, 55, 59, 65, 39, 11, 19, 3, 58, 66, 58, 25, 37, 57, 38, 65, 58, 39, 37, 60, 13, 20, 57, 62, 39, 11, 19, 55, 30, 57, 25, 64, 62, 92, 57, 75, 64, 66, 57, 58, 58, 58, 61, 58, 59, 20, 70, 62, 64, 3, 13, 11, 70, 60, 57, 77, 69, 69, 57, 29, 65, 56, 90, 25, 29, 65, 60, 3, 57, 57, 61, 58, 29, 60, 20, 26, 3, 25, 3, 57, 64, 58, 68, 62, 24, 60, 27, 60, 57, 21, 40, 59, 55, 58, 70, 3, 39, 57, 65, 65, 51, 56, 66, 65, 65, 64, 70, 69, 46, 63, 56, 57, 92, 56, 62, 64, 58, 71, 66, 57, 39, 61, 65, 70, 3, 12, 58, 94, 81, 21, 94, 25, 63, 65, 65, 20, 56, 20, 94, 20, 90, 14, 65, 11, 39, 39, 28, 39, 27, 3, 65, 59, 57, 20, 66, 60, 65, 64, 20, 81, 70, 26, 57, 41, 57, 3, 65, 63, 70, 70, 57, 66, 57, 59, 63, 66, 57, 58, 65, 59, 57, 3, 3, 65, 66, 13, 60, 59, 56, 59, 37, 65, 64, 39, 64, 56, 94, 68, 27, 67, 61, 62, 70, 29, 61, 75, 68, 57, 29, 66, 66, 75, 61, 90, 39, 26, 27, 37, 64, 65, 58, 56, 60, 20, 3, 65, 81, 59, 68, 68, 19, 70, 57, 55, 31, 75, 59, 75, 65, 65, 60, 65, 65, 57, 63, 3, 11, 29, 48, 62, 13, 13, 58, 57, 3, 59, 57, 64, 3, 13, 81, 75, 63, 69, 63, 4, 3, 11, 26, 81, 60, 39, 64, 3, 4, 25, 59, 67, 11, 75, 57, 24, 59, 47, 20, 12, 25, 29, 3, 28, 26, 3, 62, 66, 11, 65, 37, 64, 59, 59, 64, 40, 24, 70, 20, 27, 64, 21, 31, 3, 56, 3, 11, 64, 70, 67, 60, 20, 61, 57, 20, 59, 69, 37, 64, 70, 58, 60, 68, 66, 57, 70, 57, 27, 57, 39, 19, 59, 63, 31, 29, 58, 81, 64, 22, 31, 57, 69, 61, 4, 66, 70, 11, 3, 11, 56, 62, 57, 19, 39, 58, 62, 68, 27, 62, 38, 61, 70, 57, 65, 55, 20, 59, 61, 57, 40, 24, 29, 62, 58, 58, 57, 62, 58, 58, 20, 58, 58, 75, 29, 27, 57, 56, 64, 3, 57, 58, 39, 69, 57, 59, 20, 57, 59, 60, 94, 3, 3, 81, 13, 68, 19, 3, 11, 56, 65, 59, 65, 62, 65, 47, 60, 70, 66, 64, 60, 65, 3, 39, 63, 22, 75, 61, 20, 73, 65, 3, 81, 65, 68, 26, 57, 27, 3, 23, 30, 58, 57, 20, 67, 70, 63, 28, 39, 59, 67, 59, 59, 59, 65, 58, 3, 25, 56, 90, 3, 25, 67, 19, 57, 29, 58, 67, 58, 27, 58, 70, 81, 65, 37, 27, 27, 64, 64, 25, 29, 65, 3, 70, 3, 3, 62, 56, 57, 30, 20, 92, 59, 14, 3, 29, 56, 57, 30, 49, 66, 24, 70, 63, 25, 70, 41, 70, 70, 19, 58, 66, 23, 70, 57, 28, 57, 57, 63, 60, 72, 65, 65, 68, 75, 56, 71, 60, 37, 62, 92, 58, 46, 65, 63, 39, 3, 70, 48, 90, 56, 68, 19, 48, 13, 59, 60, 58, 57, 32, 20, 70, 11, 39, 56, 65, 57, 39, 58, 23, 3, 70, 70, 39, 61, 63, 57, 56, 27, 71, 39, 56, 19, 23, 65, 57, 77, 20, 65, 3, 68, 57, 57, 58, 27, 69, 11, 58, 55, 64, 75, 70, 12, 26, 19, 56, 37, 57, 39, 55, 65, 61, 57, 65, 58, 61, 72, 39, 4, 70, 60, 58, 55, 47, 62, 67, 70, 65, 70, 20, 65, 30, 61, 70, 72, 3, 3, 11, 59, 23, 68, 61, 65, 60, 38, 69, 64, 3, 47, 57, 90, 27, 58, 29, 70, 3, 29, 63, 37, 27, 65, 58, 65, 64, 30, 58, 39, 61, 3, 68, 3, 3, 70, 94, 57, 3, 29, 70, 57, 26, 12, 26, 60, 57, 24, 65, 3, 39, 71, 50, 3, 75, 70, 65, 55, 28, 20, 63, 40, 70, 19, 70, 39, 58, 58, 41, 23, 39, 26, 75, 94, 75, 20, 60, 11, 67, 58, 58, 61, 57, 66, 73, 60, 39, 38, 57, 24, 61, 57, 62, 39, 56, 73, 31, 57, 60, 3, 20, 59, 71, 66, 58, 11, 57, 65, 63, 20, 59, 61, 60, 57, 27, 59, 3, 71, 63, 3, 68, 70, 57, 64, 55, 57, 37, 57, 60, 90, 11, 58, 63, 11, 70, 64, 61, 55, 61, 64, 55, 65, 19, 57, 37, 3, 57, 58, 56, 56, 29, 60, 48, 60, 65, 59, 92, 60, 26, 11, 56, 62, 20, 20, 25, 60, 43, 55, 20, 3, 28, 26, 94, 70, 63, 75, 61, 29, 71, 69, 58, 20, 58, 75, 47, 12, 56, 20, 28, 81, 12, 56, 26, 59, 60, 67, 58, 58, 63, 65, 58, 21, 62, 61, 68, 57, 57, 56, 65, 47, 56, 70, 57, 3, 57, 81, 65, 57, 44, 62, 69, 58, 24, 70, 57, 59, 3, 29, 28, 70, 3, 55, 39, 26, 72, 57, 68, 77, 66, 56, 47, 19, 59, 60, 3, 56, 65, 57, 62, 23, 65, 67, 56, 57, 3, 65, 11, 59, 58, 68, 64, 65, 60, 3, 24, 71, 41, 65, 57, 26, 62, 90, 65, 65, 59, 68, 90, 39, 57, 31, 92, 58, 67, 61, 3, 24, 37, 58, 3, 70, 57, 61, 80, 58, 19, 20, 39, 60, 47, 28, 3, 55, 11, 64, 27, 5, 59, 57, 65, 75, 70, 61, 57, 4, 24, 58, 58, 3, 65, 65, 61, 21, 3, 57, 57, 58, 37, 57, 58, 40, 71, 62, 60, 60, 61, 11, 59, 57, 13, 57, 62, 64, 60, 65, 13, 23, 61, 58, 19, 59, 3, 57, 66, 71, 60, 59, 57, 81, 70, 76, 62, 94, 41, 59, 60, 67, 40, 61, 23, 59, 30, 3, 57, 24, 57, 57, 70, 70, 11, 27, 61, 4, 38, 70, 23, 75, 58, 3, 4, 39, 31, 56, 57, 3, 70, 14, 58, 64, 90, 47, 29, 58, 56, 77, 24, 57, 3, 20, 26, 58, 55, 41, 26, 65, 57, 62, 70, 13, 70, 55, 59, 26, 65, 71, 39, 3, 62, 28, 21, 30, 39, 58, 70, 65, 70, 65, 73, 80, 62, 27, 27, 57, 72, 26, 41, 64, 46, 61, 27, 64, 69, 60, 66, 65, 60, 62, 3, 90, 65, 64, 59, 72, 20, 22, 27, 56, 56, 70, 3, 58, 27, 70, 75, 28, 67, 24, 65, 58, 3, 60, 3, 60, 57, 57, 57, 47, 78, 29, 59, 26, 3, 39, 4, 3, 90, 67, 61, 90, 64, 70, 69, 55, 57, 3, 27, 56, 59, 58, 65, 38, 60, 3, 39, 24, 26, 61, 29, 60, 61, 58, 26, 92, 60, 66, 58, 57, 69, 57, 56, 69, 63, 70, 57, 72, 60, 11, 26, 3, 59, 65, 62, 27, 75, 44, 25, 59, 57, 66, 73, 4, 39, 48, 70, 11, 56, 20, 3, 27, 27, 70, 19, 65, 65, 21, 26, 26, 72, 65, 80, 19, 3, 68, 19, 58, 64, 3, 26, 29, 65, 59, 3, 66, 11, 70, 3, 55, 27, 37, 13, 23, 61, 3, 58, 58, 47, 58, 83, 67, 57, 65, 61, 65, 30, 58, 62, 90, 65, 59, 57, 67, 47, 3, 38, 27, 39, 58, 61, 62, 46, 80, 21, 70, 13, 67, 37, 69, 59, 64, 25, 24, 65, 23, 57, 57, 3, 39, 3, 93, 47, 27, 25, 63, 29, 65, 59, 65, 47, 81, 3, 60, 75, 70, 57, 25, 66, 59, 62, 63, 39, 58, 50, 60, 72, 81, 69, 26, 67, 70, 60, 55, 71, 30, 59, 57, 70, 70, 81, 65, 64, 57, 27, 70, 13, 81, 19, 39, 61, 58, 57, 58, 11, 65, 62, 55, 59, 66, 20, 71, 13, 59, 11, 77, 26, 67, 71, 94, 71, 20, 57, 58, 3, 25, 28, 3, 55, 3, 55, 72, 62, 59, 70, 65, 57, 25, 70, 57, 58, 57, 58, 20, 65, 66, 28, 28, 72, 20, 13, 60, 3, 61, 20, 27, 3, 68, 38, 59, 11, 11, 11, 46, 3, 3, 37, 27, 66, 57, 13, 11, 68, 38, 37, 39, 65, 37, 48, 20, 50, 70, 39, 70, 58, 56, 24, 57, 56, 64, 65, 56, 29, 71, 59, 68, 57, 25, 70, 3, 57, 57, 50, 57, 70, 58, 37, 81, 64, 39, 65, 26, 80, 56, 60, 58, 56, 57, 37, 56, 57, 71, 13, 3, 19, 80, 60, 55, 29, 70, 66, 80, 29, 39, 62, 66, 65, 73, 69, 3, 60, 11, 3, 65, 71, 90, 48, 90, 70, 60, 13, 65, 47, 70, 58, 27, 56, 60, 65, 65, 75, 39, 70, 21, 58, 59, 60, 66, 20, 58, 29, 14, 29, 31, 57, 65, 70, 19, 19, 71, 61, 59, 13, 62, 28, 29, 81, 56, 70, 26, 70, 55, 20, 3, 65, 20, 64, 64, 60, 65, 57, 61, 56, 57, 92, 20, 67, 39, 64, 70, 57, 37, 3, 61, 3, 38, 61, 68, 20, 3, 56, 65, 62, 58, 60, 26, 64, 55, 67, 39, 3, 3, 58, 3, 70, 19, 68, 29, 28, 28, 24, 39, 65, 66, 37, 3, 62, 77, 61, 56, 39, 60, 90, 19, 28, 29, 64, 27, 3, 69, 61, 68, 62, 70, 19, 66, 57, 70, 39, 70, 58, 27, 58, 47, 20, 81, 65, 4, 39, 60, 60, 4, 57, 49, 3, 28, 64, 64, 68, 29, 61, 72, 21, 24, 92, 65, 27, 30, 61, 56, 68, 28, 3, 12, 64, 27, 70, 70, 29, 60, 92, 62, 25, 61, 68, 60, 21, 66, 63, 39, 63, 60, 55, 57, 60, 30, 12, 75, 38, 26, 23, 62, 58, 11, 3, 70, 57, 3, 69, 73, 65, 28, 61, 94, 63, 90, 19, 62, 12, 65, 58, 57, 44, 57, 61, 70, 58, 27, 14, 68, 76, 72, 42, 62, 20, 67, 26, 57, 4, 68, 50, 60, 63, 57, 61, 66, 61, 81, 39, 56, 58, 23, 58, 70, 57, 3, 39, 62, 58, 47, 62, 11, 65, 59, 66, 68, 11, 61, 57, 66, 20, 60, 70, 3, 20, 55, 39, 62, 67, 66, 94, 58, 62, 57, 70, 59, 67, 71, 70, 37, 64, 67, 43, 58, 29, 57, 62, 57, 13, 55, 61, 76, 68, 64, 65, 58, 4, 29, 60, 20, 4, 29, 71, 59, 37, 70, 58, 72, 65, 27, 3, 70, 70, 70, 21, 57, 20, 58, 57, 94, 70, 68, 92, 66, 14, 65, 59, 58, 81, 67, 3, 39, 21, 29, 81, 60, 28, 62, 3, 70, 58, 59, 77, 68, 65, 66, 41, 57, 47, 72, 75, 57, 61, 39, 59, 11, 81, 64, 3, 59, 58, 25, 39, 56, 58, 64, 58, 25, 65, 60, 41, 3, 3, 13, 65, 65, 60, 38, 68, 12, 66, 64, 11, 62, 57, 58, 58, 68, 71, 26, 3, 61, 90, 81, 69, 43, 57, 3, 38, 58, 57, 3, 56, 57, 58, 55, 62, 3, 57, 57, 39, 90, 67, 58, 65, 57, 57, 55, 83, 25, 12, 68, 90, 24, 68, 65, 3, 58, 43, 59, 3, 57, 26, 27, 41, 27, 58, 75, 71, 63, 58, 77, 80, 39, 57, 81, 27, 61, 58, 65, 70, 61, 27, 65, 64, 66, 57, 57, 92, 57, 55, 65, 60, 3, 62, 57, 64, 58, 65, 58, 59, 57, 66, 3, 58, 66, 68, 57, 20, 63, 57, 3, 57, 71, 64, 3, 24, 57, 37, 65, 63, 27, 57, 37, 29, 37, 64, 68, 23, 66, 21, 65, 3, 68, 23, 57, 73, 73, 60, 23, 70, 57, 46, 21, 25, 70, 62, 58, 47, 60, 3, 57, 13, 57, 49, 23, 13, 56, 90, 55, 20, 13, 3, 70, 25, 26, 65, 60, 56, 57, 62, 39, 43, 55, 64, 66, 57, 70, 58, 77, 58, 65, 61, 59, 65, 80, 65, 59, 29, 26, 59, 30, 70, 48, 57, 31, 62, 27, 58, 65, 38, 24, 70, 63, 30, 20, 60, 58, 11, 81, 60, 3, 59, 59, 27, 65, 3, 61, 57, 59, 59, 70, 64, 67, 70, 3, 70, 71, 20, 65, 66, 38, 65, 59, 70, 48, 65, 57, 62, 3, 56, 64, 63, 57, 61, 58, 92, 55, 70, 57, 65, 63, 55, 61, 38, 29, 57, 57, 59, 68, 67, 70, 39, 24, 62, 3, 64, 21, 37, 90, 19, 67, 56, 37, 58, 59, 56, 3, 75, 63, 60, 55, 65, 55, 11, 57, 57, 65, 90, 3, 71, 65, 41, 48, 62, 4, 38, 46, 61, 57, 58, 57, 57, 19, 67, 60, 58, 60, 65, 68, 62, 61, 21, 55, 70, 59, 30, 70, 68, 61, 25, 56, 57, 70, 59, 68, 27, 27, 57, 62, 61, 70, 72, 59, 61, 61, 19, 23, 70, 3, 39, 90, 56, 58, 59, 56, 32, 58, 37, 70, 14, 3, 56, 68, 58, 39, 11, 70, 65, 62, 59, 56, 47, 41, 65, 61, 30, 65, 20, 69, 43, 63, 57, 70, 70, 58, 65, 29, 56, 57, 31, 65, 68, 59, 66, 71, 59, 57, 65, 71, 55, 26, 19, 65, 26, 66, 39, 65, 21, 64, 3, 25, 70, 62, 57, 31, 56, 60, 64, 63, 68, 4, 19, 81, 27, 23, 26, 57, 59, 73, 3, 30, 65, 20, 57, 70, 57, 3, 70, 3, 67, 59, 65, 70, 60, 31, 61, 56, 28, 39, 20, 13, 90, 26, 65, 3, 61, 26, 64, 66, 57, 70, 65, 65, 43, 58, 70, 11, 60, 67, 56, 26, 61, 64, 65, 57, 38, 57, 66, 81, 41, 94, 77, 70, 3, 59, 60, 58, 4, 66, 13, 57, 65, 63, 75, 60, 62, 55, 65, 12, 29, 3, 3, 39, 70, 3, 66, 20, 59, 57, 63, 65, 70, 22, 12, 73, 3, 81, 65, 64, 29, 3, 64, 29, 3, 70, 64, 59, 23, 57, 73, 65, 24, 65, 20, 64, 24, 24, 58, 38, 47, 39, 68, 62, 24, 57, 20, 90, 56, 58, 39, 55, 65, 19, 20, 65, 58, 70, 39, 64, 70, 58, 66, 39, 72, 29, 67, 11, 29, 14, 56, 61, 25, 20, 59, 60, 75, 64, 58, 57, 70, 13, 13, 65, 61, 58, 59, 66, 30, 37, 81, 20, 90, 64, 57, 60, 58, 65, 64, 70, 70, 37, 66, 4, 39, 56, 70, 65, 67, 61, 3, 58, 4, 30, 59, 65, 3, 66, 56, 67, 68, 20, 76, 59, 24, 57, 25, 70, 57, 58, 75, 81, 62, 27, 61, 58, 58, 57, 70, 29, 37, 70, 60, 81, 65, 62, 65, 3, 59, 12, 57, 90, 60, 63, 58, 64, 68, 20, 27, 70, 62, 39, 39, 23, 58, 55, 60, 3, 14, 70, 81, 65, 58, 70, 60, 59, 3, 70, 65, 57, 60, 61, 3, 64, 3, 94, 11, 39, 58, 72, 57, 67, 20, 60, 57, 70, 43, 3, 3, 4, 20, 19, 61, 57, 20, 60, 61, 70, 58, 66, 70, 29, 57, 69, 65, 57, 62, 3, 58, 21, 73, 60, 60, 57, 57, 20, 75, 65, 57, 57, 29, 3, 14, 64, 62, 11, 57, 90, 39, 57, 66, 57, 20, 59, 58, 71, 39, 3, 57, 60, 57, 3, 66, 30, 39, 3, 61, 59, 56, 26, 59, 81, 3, 60, 59, 59, 58, 65, 23, 26, 55, 68, 65, 19, 64, 57, 70, 67, 59, 12, 73, 3, 60, 69, 19, 55, 59, 56, 62, 70, 59, 57, 3, 70, 3, 73, 26, 61, 26, 66, 41, 68, 38, 66, 65, 60, 4, 63, 70, 58, 64, 81, 62, 57, 55, 29, 70, 58, 3, 64, 70, 75, 20, 70, 57, 77, 13, 57, 60, 13, 3, 67, 3, 31, 70, 3, 92, 70, 58, 26, 64, 65, 20, 58, 70, 73, 90, 20, 68, 62, 58, 59, 73, 3, 56, 3, 80, 64, 65, 58, 67, 39, 77, 57, 3, 69, 65, 59, 75, 27, 60, 57, 20, 56, 11, 55, 64, 57, 29, 3, 58, 20, 58, 30, 60, 23, 65, 72, 21, 57, 13, 4, 76, 47, 61, 3, 55, 58, 59, 3, 57, 60, 90, 68, 64, 71, 71, 58, 58, 3, 58, 3, 70, 3, 58, 55, 65, 58, 67, 39, 64, 64, 3, 27, 64, 27, 64, 3, 4, 64, 59, 70, 57, 81, 24, 65, 60, 63, 31, 3, 3, 56, 3, 59, 58, 66, 20, 28, 68, 56, 59, 58, 11, 29, 57, 57, 43, 22, 65, 72, 71, 73, 27, 11, 70, 25, 58, 59, 20, 60, 70, 13, 23, 58, 67, 65, 20, 60, 94, 23, 65, 23, 26, 71, 26, 20, 20, 37, 60, 27, 64, 63, 94, 61, 57, 31, 56, 27, 57, 55, 57, 58, 27, 12, 21, 62, 58, 3, 65, 55, 55, 58, 12, 19, 37, 56, 20, 59, 14, 39, 30, 3, 70, 57, 57, 72, 19, 71, 3, 48, 48, 64, 29, 70, 68, 65, 68, 43, 66, 29, 39, 57, 71, 24, 39, 3, 65, 65, 58, 64, 20, 73, 59, 3, 57, 69, 58, 56, 11, 68, 68, 48, 56, 75, 59, 71, 26, 3, 60, 57, 12, 58, 46, 64, 60, 59, 21, 27, 63, 39, 65, 57, 90, 3, 61, 81, 59, 20, 27, 3, 29, 65, 28, 3, 11, 57, 20, 38, 57, 57, 65, 42, 65, 13, 23, 60, 81, 65, 55, 60, 63, 57, 12, 3, 11, 57, 90, 58, 66, 60, 70, 31, 59, 63, 72, 94, 3, 29, 62, 64, 67, 29, 43, 39, 28, 66, 26, 73, 63, 27, 75, 57, 60, 65, 70, 19, 75, 55, 59, 70, 39, 70, 60, 62, 39, 58, 75, 58, 3, 39, 13, 3, 59, 63, 59, 61, 11, 13, 56, 39, 60, 27, 70, 80, 67, 59, 65, 77, 58, 69, 61, 70, 57, 62, 72, 73, 4, 61, 70, 67, 65, 58, 13, 20, 70, 55, 11, 65, 38, 43, 39, 22, 59, 27, 57, 75, 70, 60, 26, 59, 70, 58, 89, 30, 57, 56, 25, 66, 68, 57, 43, 59, 70, 25, 20, 46, 58, 57, 65, 56, 73, 60, 81, 3, 3, 13, 58, 28, 68, 59, 57, 28, 57, 57, 61, 58, 63, 61, 58, 3, 62, 65, 60, 37, 59, 39, 48, 3, 23, 61, 70, 65, 20, 65, 39, 37, 80, 57, 46, 19, 3, 59, 70, 57, 62, 58, 60, 47, 61, 70, 92, 20, 65, 58, 38, 27, 37, 22, 90, 70, 73, 57, 59, 37, 58, 58, 63, 57, 48, 63, 60, 11, 65, 90, 71, 65, 65, 66, 37, 3, 75, 61, 57, 57, 12, 60, 66, 65, 46, 55, 20, 57, 62, 80, 27, 58, 29, 57, 56, 57, 3, 90, 3, 30, 21, 62, 3, 3, 39, 22, 62, 3, 58, 69, 70, 20, 58, 60, 72, 27, 27, 20, 94, 23, 39, 66, 58, 28, 75, 58, 68, 24, 3, 63, 70, 31, 63, 3, 70, 62, 57, 58, 3, 39, 59, 59, 75, 60, 81, 70, 65, 25, 58, 19, 58, 28, 19, 65, 94, 57, 61, 57, 65, 29, 3, 65, 38, 61, 19, 64, 39, 58, 70, 68, 59, 63, 64, 3, 11, 62, 57, 31, 3, 27, 57, 70, 68, 81, 70, 27, 3, 37, 19, 66, 94, 3, 65, 57, 65, 65, 56, 64, 73, 57, 57, 32, 3, 29, 57, 65, 63, 58, 59, 57, 61, 62, 25, 58, 37, 57, 20, 62, 3, 39, 60, 61, 12, 57, 64, 63, 65, 55, 65, 48, 29, 64, 59, 57, 39, 28, 19, 60, 59, 57, 70, 66, 57, 58, 58, 39, 81, 60, 19, 3, 25, 67, 61, 58, 28, 24, 68, 58, 30, 62, 63, 26, 27, 62, 26, 69, 73, 67, 3, 70, 26, 60, 57, 12, 57, 39, 29, 37, 3, 26, 63, 60, 61, 62, 30, 81, 57, 69, 38, 39, 65, 57, 66, 55, 56, 59, 60, 69, 3, 64, 22, 21, 57, 58, 39, 62, 65, 3, 67, 62, 60, 11, 19, 25, 80, 68, 94, 20, 63, 76, 57, 23, 56, 60, 59, 39, 65, 58, 78, 68, 56, 59, 62, 31, 67, 13, 66, 11, 48, 65, 56, 20, 29, 27, 61, 30, 57, 38, 66, 63, 20, 63, 29, 4, 57, 60, 20, 70, 20, 3, 13, 3, 3, 59, 70, 3, 61, 66, 20, 55, 58, 65, 58],\n\t'y': [66, 64, 28, 23, 68, 71, 94, 30, 92, 44, 61, 43, 62, 70, 71, 72, 66, 70, 40, 40, 58, 92, 68, 23, 94, 46, 67, 39, 72, 70, 94, 39, 23, 57, 3, 38, 39, 59, 83, 61, 73, 63, 76, 23, 72, 13, 23, 68, 22, 11, 23, 60, 62, 44, 94, 40, 69, 64, 45, 23, 78, 71, 19, 73, 92, 14, 12, 90, 66, 60, 94, 64, 39, 41, 40, 39, 90, 29, 62, 39, 77, 51, 67, 3, 65, 60, 90, 40, 39, 70, 72, 24, 12, 68, 72, 67, 25, 26, 72, 65, 60, 62, 21, 67, 3, 90, 14, 57, 21, 64, 21, 38, 3, 37, 31, 61, 26, 69, 64, 22, 58, 80, 66, 67, 60, 73, 71, 60, 69, 69, 62, 57, 71, 71, 69, 59, 31, 22, 60, 64, 65, 46, 94, 90, 68, 28, 21, 38, 21, 27, 28, 58, 71, 61, 69, 94, 59, 67, 43, 66, 61, 29, 62, 47, 68, 65, 22, 64, 21, 68, 28, 92, 79, 94, 70, 24, 21, 69, 72, 67, 64, 58, 23, 21, 21, 59, 82, 70, 94, 64, 71, 68, 22, 23, 78, 94, 62, 62, 23, 61, 67, 90, 59, 22, 71, 21, 92, 60, 64, 68, 59, 25, 61, 22, 48, 23, 23, 26, 40, 39, 59, 60, 60, 65, 73, 70, 42, 50, 21, 24, 68, 67, 46, 22, 46, 64, 39, 39, 70, 70, 68, 62, 39, 68, 61, 30, 21, 27, 62, 23, 62, 59, 64, 90, 92, 68, 67, 39, 58, 71, 39, 68, 70, 61, 61, 66, 94, 58, 59, 61, 68, 49, 68, 60, 61, 66, 11, 61, 68, 90, 39, 61, 41, 90, 28, 90, 59, 71, 59, 47, 67, 77, 71, 63, 47, 23, 90, 83, 59, 21, 23, 47, 76, 3, 66, 68, 22, 22, 66, 69, 72, 21, 30, 69, 22, 21, 3, 21, 58, 12, 5, 77, 64, 28, 60, 73, 39, 66, 59, 40, 90, 65, 23, 75, 32, 64, 49, 48, 63, 65, 65, 23, 61, 68, 57, 31, 33, 46, 39, 73, 23, 30, 61, 12, 47, 30, 62, 73, 71, 65, 31, 29, 24, 24, 3, 44, 65, 82, 68, 46, 60, 24, 28, 5, 68, 76, 47, 68, 39, 69, 41, 40, 11, 39, 68, 62, 69, 73, 80, 68, 61, 29, 67, 22, 14, 71, 38, 61, 3, 21, 68, 71, 21, 58, 64, 39, 70, 90, 24, 3, 39, 59, 72, 39, 22, 90, 59, 67, 70, 45, 63, 24, 40, 62, 21, 50, 47, 64, 31, 68, 41, 50, 63, 71, 69, 13, 71, 69, 73, 64, 38, 57, 42, 69, 24, 73, 61, 69, 90, 76, 66, 20, 68, 23, 64, 73, 12, 60, 73, 62, 62, 22, 29, 28, 94, 59, 71, 23, 39, 68, 39, 61, 59, 71, 44, 76, 28, 73, 23, 90, 68, 70, 39, 71, 90, 63, 66, 70, 92, 92, 71, 23, 60, 58, 29, 30, 21, 12, 58, 41, 57, 90, 67, 70, 39, 66, 32, 68, 39, 67, 73, 62, 62, 71, 72, 21, 24, 47, 68, 65, 42, 68, 57, 47, 39, 40, 28, 68, 75, 24, 47, 50, 60, 24, 63, 68, 40, 23, 77, 69, 94, 90, 69, 68, 94, 58, 42, 65, 81, 57, 24, 57, 26, 69, 37, 64, 47, 39, 40, 69, 44, 22, 72, 14, 70, 3, 28, 77, 71, 66, 29, 42, 59, 12, 59, 62, 65, 41, 57, 66, 14, 39, 73, 71, 83, 58, 75, 20, 71, 48, 31, 68, 80, 66, 39, 27, 68, 23, 60, 90, 37, 64, 71, 26, 40, 58, 46, 59, 58, 90, 67, 22, 70, 59, 94, 80, 70, 40, 39, 11, 66, 41, 71, 45, 58, 24, 22, 58, 64, 5, 22, 57, 71, 37, 26, 81, 60, 67, 67, 94, 79, 39, 64, 23, 67, 38, 66, 64, 68, 62, 46, 65, 59, 64, 67, 24, 90, 68, 39, 80, 94, 69, 20, 3, 80, 64, 61, 44, 39, 70, 21, 72, 73, 66, 60, 78, 71, 12, 63, 3, 94, 46, 60, 92, 46, 37, 20, 12, 62, 24, 22, 90, 64, 68, 64, 61, 62, 21, 94, 30, 92, 39, 72, 19, 46, 69, 24, 92, 71, 90, 65, 66, 48, 94, 41, 92, 62, 40, 73, 68, 49, 90, 66, 64, 40, 20, 90, 21, 64, 76, 92, 73, 46, 67, 75, 21, 57, 47, 21, 11, 45, 67, 64, 58, 66, 49, 41, 67, 59, 59, 71, 64, 64, 71, 41, 65, 57, 28, 59, 21, 47, 25, 47, 24, 59, 29, 68, 71, 71, 22, 5, 59, 80, 66, 61, 19, 77, 21, 39, 21, 94, 3, 59, 94, 90, 39, 23, 29, 92, 29, 78, 22, 77, 70, 62, 38, 94, 67, 40, 90, 64, 71, 22, 66, 67, 39, 59, 29, 71, 61, 68, 94, 38, 23, 80, 94, 94, 21, 63, 39, 94, 22, 39, 40, 71, 60, 21, 58, 71, 67, 73, 71, 46, 62, 12, 24, 72, 64, 94, 60, 63, 67, 3, 67, 40, 59, 64, 92, 12, 21, 92, 4, 71, 66, 62, 23, 94, 39, 19, 70, 73, 70, 3, 64, 40, 92, 64, 39, 28, 22, 14, 69, 68, 67, 24, 92, 46, 3, 20, 68, 57, 57, 27, 62, 46, 73, 63, 57, 77, 28, 41, 39, 39, 28, 62, 75, 41, 71, 23, 58, 62, 43, 44, 24, 20, 70, 76, 48, 40, 21, 44, 72, 39, 69, 94, 39, 92, 62, 59, 22, 66, 66, 71, 64, 25, 22, 58, 44, 59, 66, 59, 73, 67, 23, 67, 39, 78, 39, 71, 68, 74, 92, 63, 60, 41, 78, 47, 72, 61, 41, 22, 47, 73, 62, 72, 76, 67, 60, 46, 37, 62, 66, 61, 70, 61, 61, 66, 24, 61, 94, 70, 62, 65, 68, 12, 42, 69, 73, 67, 67, 64, 59, 47, 94, 80, 64, 70, 77, 69, 21, 64, 61, 39, 24, 21, 69, 71, 80, 22, 59, 90, 64, 67, 26, 73, 59, 59, 73, 71, 23, 83, 41, 23, 63, 21, 39, 77, 44, 60, 37, 3, 23, 47, 51, 39, 40, 94, 28, 41, 68, 39, 14, 42, 71, 71, 39, 67, 62, 60, 92, 60, 60, 70, 68, 22, 24, 60, 73, 23, 66, 92, 66, 67, 22, 68, 22, 31, 61, 71, 68, 62, 61, 80, 80, 59, 90, 72, 66, 39, 68, 39, 94, 69, 71, 61, 48, 39, 46, 66, 93, 23, 66, 69, 21, 21, 69, 47, 66, 48, 62, 65, 28, 92, 58, 71, 69, 20, 80, 59, 14, 39, 64, 46, 77, 64, 67, 30, 92, 80, 59, 69, 65, 63, 47, 24, 42, 21, 77, 75, 61, 26, 76, 29, 58, 57, 70, 46, 63, 59, 29, 29, 68, 90, 68, 22, 30, 67, 19, 72, 27, 61, 90, 67, 58, 39, 46, 73, 49, 71, 63, 64, 69, 90, 23, 81, 42, 68, 75, 47, 69, 40, 28, 42, 90, 78, 66, 28, 66, 94, 66, 68, 68, 69, 68, 57, 41, 58, 67, 66, 40, 94, 41, 77, 38, 70, 90, 60, 68, 75, 68, 46, 46, 21, 26, 62, 64, 58, 39, 60, 39, 67, 58, 22, 76, 74, 83, 60, 27, 41, 21, 14, 72, 23, 42, 39, 40, 67, 94, 22, 12, 64, 60, 47, 23, 64, 92, 66, 20, 21, 39, 90, 29, 76, 62, 82, 67, 60, 60, 28, 23, 73, 94, 94, 58, 71, 67, 57, 22, 39, 39, 70, 90, 62, 72, 47, 94, 62, 68, 64, 29, 47, 45, 81, 68, 24, 94, 49, 49, 71, 83, 66, 72, 60, 25, 60, 76, 44, 94, 73, 70, 70, 22, 27, 29, 90, 39, 32, 41, 57, 90, 40, 39, 71, 65, 29, 76, 69, 69, 39, 67, 29, 63, 22, 72, 29, 22, 31, 24, 64, 57, 67, 72, 45, 94, 5, 68, 73, 66, 71, 69, 48, 41, 69, 92, 60, 62, 59, 21, 83, 65, 39, 75, 69, 23, 69, 66, 44, 83, 92, 59, 81, 94, 40, 22, 62, 69, 23, 48, 73, 47, 67, 66, 64, 68, 21, 24, 42, 80, 81, 39, 77, 64, 72, 58, 77, 30, 62, 62, 28, 40, 66, 44, 69, 60, 67, 41, 68, 92, 32, 22, 21, 31, 73, 44, 68, 90, 68, 37, 40, 31, 94, 63, 92, 64, 32, 58, 71, 66, 75, 21, 30, 28, 37, 90, 39, 62, 67, 39, 73, 58, 64, 3, 94, 40, 26, 73, 31, 90, 3, 44, 44, 23, 90, 73, 90, 69, 66, 21, 57, 23, 47, 65, 73, 67, 59, 40, 90, 68, 66, 64, 70, 81, 59, 39, 59, 60, 39, 71, 59, 68, 78, 45, 12, 69, 80, 67, 62, 67, 70, 29, 69, 21, 25, 64, 3, 23, 40, 74, 64, 71, 3, 80, 39, 60, 50, 40, 69, 20, 22, 41, 60, 11, 31, 65, 32, 64, 67, 39, 64, 62, 48, 39, 25, 94, 90, 25, 28, 22, 64, 22, 60, 27, 63, 61, 62, 63, 32, 68, 59, 71, 41, 47, 71, 68, 71, 77, 76, 70, 39, 62, 59, 59, 23, 20, 69, 90, 32, 39, 12, 77, 90, 73, 46, 66, 90, 32, 28, 22, 67, 39, 60, 22, 71, 69, 64, 24, 24, 61, 42, 73, 32, 22, 42, 71, 48, 60, 76, 24, 40, 80, 38, 39, 69, 68, 28, 92, 64, 22, 62, 64, 39, 39, 57, 71, 44, 50, 75, 32, 63, 58, 59, 22, 23, 94, 68, 62, 14, 64, 77, 75, 32, 61, 68, 83, 71, 59, 65, 67, 68, 57, 40, 67, 71, 70, 92, 90, 20, 58, 41, 58, 68, 68, 69, 69, 63, 72, 68, 68, 72, 23, 69, 90, 71, 39, 20, 61, 92, 63, 39, 27, 39, 12, 90, 90, 57, 73, 90, 22, 67, 37, 72, 43, 45, 47, 26, 21, 60, 68, 72, 65, 64, 46, 60, 61, 72, 64, 92, 12, 78, 46, 23, 47, 58, 90, 66, 21, 90, 25, 23, 69, 65, 60, 67, 94, 59, 75, 94, 42, 23, 29, 71, 50, 68, 66, 67, 30, 59, 31, 26, 44, 21, 24, 69, 42, 67, 90, 42, 48, 73, 90, 29, 50, 71, 63, 71, 77, 25, 92, 22, 28, 68, 67, 77, 68, 22, 71, 47, 90, 71, 69, 73, 68, 94, 90, 42, 64, 22, 60, 23, 14, 48, 47, 23, 47, 29, 92, 94, 26, 62, 67, 70, 94, 23, 29, 61, 47, 39, 40, 94, 40, 37, 71, 48, 59, 63, 60, 78, 71, 69, 90, 61, 28, 50, 90, 46, 12, 74, 64, 65, 71, 27, 62, 13, 69, 83, 73, 90, 60, 60, 90, 68, 30, 94, 61, 59, 24, 90, 66, 68, 12, 71, 39, 63, 32, 67, 3, 70, 64, 39, 94, 3, 60, 58, 39, 60, 62, 60, 41, 58, 3, 40, 66, 69, 39, 24, 21, 92, 62, 60, 66, 68, 90, 60, 73, 68, 21, 46, 69, 78, 67, 67, 64, 30, 59, 59, 78, 42, 66, 68, 60, 13, 43, 94, 57, 30, 45, 94, 60, 11, 59, 59, 12, 90, 47, 65, 69, 39, 73, 73, 71, 58, 67, 92, 73, 39, 40, 24, 69, 47, 39, 64, 68, 29, 21, 12, 71, 23, 83, 30, 67, 78, 68, 71, 39, 90, 71, 76, 24, 62, 22, 81, 71, 46, 21, 76, 90, 39, 72, 39, 72, 23, 39, 94, 62, 64, 26, 90, 63, 67, 40, 39, 28, 59, 71, 29, 67, 62, 32, 94, 73, 21, 21, 94, 41, 94, 69, 3, 73, 59, 22, 68, 71, 94, 77, 39, 59, 21, 49, 94, 28, 70, 59, 60, 21, 90, 58, 57, 39, 59, 19, 64, 73, 70, 66, 94, 40, 69, 71, 42, 94, 59, 22, 51, 29, 22, 90, 22, 29, 41, 69, 57, 92, 28, 67, 24, 62, 29, 29, 81, 78, 68, 77, 94, 41, 21, 46, 77, 21, 90, 23, 29, 39, 59, 59, 90, 66, 44, 70, 39, 67, 73, 69, 22, 61, 19, 60, 90, 71, 23, 60, 40, 60, 70, 90, 92, 68, 39, 59, 68, 39, 21, 41, 58, 92, 21, 58, 66, 73, 39, 58, 48, 69, 12, 64, 21, 47, 65, 12, 77, 72, 73, 94, 29, 94, 22, 64, 65, 73, 24, 39, 29, 41, 62, 26, 63, 41, 79, 24, 27, 60, 68, 59, 77, 22, 39, 58, 14, 63, 14, 24, 50, 25, 22, 3, 94, 14, 12, 92, 81, 77, 60, 68, 38, 63, 67, 67, 77, 72, 22, 69, 61, 94, 92, 76, 62, 39, 39, 90, 58, 83, 58, 39, 28, 27, 69, 50, 63, 26, 64, 83, 64, 78, 68, 58, 22, 26, 72, 72, 32, 21, 62, 69, 20, 48, 71, 21, 66, 90, 29, 94, 22, 39, 39, 62, 67, 64, 68, 23, 66, 12, 68, 22, 60, 58, 73, 20, 22, 39, 59, 31, 90, 58, 94, 62, 70, 67, 94, 68, 71, 59, 23, 3, 39, 90, 21, 73, 37, 64, 22, 44, 62, 92, 64, 23, 71, 68, 71, 47, 23, 39, 67, 92, 12, 73, 72, 71, 60, 11, 62, 24, 59, 60, 76, 24, 68, 37, 61, 19, 38, 58, 64, 71, 92, 40, 90, 60, 83, 14, 67, 49, 20, 78, 59, 23, 64, 58, 90, 3, 68, 64, 62, 66, 71, 94, 24, 62, 92, 24, 72, 90, 31, 60, 40, 62, 48, 57, 65, 60, 39, 73, 75, 28, 58, 39, 62, 39, 12, 67, 59, 62, 12, 49, 73, 65, 90, 24, 63, 62, 71, 20, 83, 90, 40, 59, 32, 68, 57, 40, 59, 73, 73, 69, 61, 94, 69, 21, 83, 29, 67, 62, 32, 59, 58, 22, 28, 94, 65, 71, 23, 39, 60, 77, 57, 64, 50, 67, 90, 39, 40, 23, 64, 22, 94, 41, 37, 27, 22, 70, 79, 67, 94, 59, 73, 67, 39, 23, 22, 39, 60, 14, 39, 39, 71, 73, 69, 31, 3, 23, 76, 80, 27, 65, 66, 41, 94, 49, 58, 70, 39, 67, 71, 67, 59, 59, 90, 62, 71, 63, 23, 80, 60, 64, 44, 68, 71, 30, 23, 28, 62, 94, 66, 27, 90, 22, 58, 90, 67, 39, 77, 60, 39, 23, 71, 94, 20, 76, 67, 90, 66, 21, 25, 42, 71, 30, 81, 93, 78, 66, 94, 69, 66, 69, 13, 90, 48, 68, 60, 72, 76, 69, 69, 73, 94, 25, 46, 68, 71, 71, 67, 62, 22, 22, 72, 70, 25, 22, 60, 24, 40, 22, 60, 47, 64, 94, 46, 40, 24, 44, 68, 21, 68, 71, 26, 64, 23, 24, 42, 58, 57, 39, 26, 83, 59, 21, 32, 73, 23, 92, 80, 59, 58, 23, 60, 63, 73, 3, 60, 37, 69, 66, 94, 72, 21, 66, 94, 59, 68, 68, 90, 42, 94, 12, 75, 47, 57, 71, 23, 57, 92, 68, 28, 39, 72, 60, 67, 48, 81, 62, 62, 22, 64, 24, 50, 12, 49, 23, 73, 68, 68, 90, 61, 39, 90, 59, 72, 73, 94, 31, 67, 70, 39, 60, 40, 64, 25, 63, 13, 32, 67, 39, 62, 94, 20, 90, 72, 94, 46, 94, 47, 58, 29, 21, 60, 67, 47, 42, 23, 77, 64, 68, 62, 65, 64, 28, 23, 40, 21, 48, 62, 64, 70, 68, 68, 92, 58, 21, 64, 72, 21, 94, 22, 61, 29, 63, 71, 92, 90, 42, 69, 22, 66, 67, 47, 21, 48, 90, 24, 59, 90, 60, 21, 67, 67, 94, 66, 60, 65, 73, 57, 22, 20, 41, 39, 21, 69, 71, 21, 21, 65, 64, 46, 23, 62, 32, 65, 41, 64, 62, 70, 64, 94, 90, 72, 69, 73, 46, 65, 94, 67, 21, 73, 25, 64, 41, 23, 62, 67, 68, 39, 60, 80, 66, 65, 40, 43, 69, 32, 39, 73, 12, 58, 41, 41, 73, 69, 59, 57, 66, 60, 40, 94, 58, 63, 62, 65, 58, 39, 31, 40, 61, 60, 22, 57, 27, 60, 49, 61, 71, 60, 90, 39, 58, 24, 45, 19, 69, 39, 24, 22, 90, 73, 90, 67, 23, 41, 12, 71, 90, 72, 12, 73, 64, 68, 63, 22, 61, 60, 66, 64, 41, 29, 59, 29, 90, 80, 23, 39, 90, 70, 39, 30, 39, 39, 64, 90, 14, 66, 67, 3, 83, 39, 92, 23, 68, 66, 28, 60, 94, 65, 45, 81, 22, 64, 48, 67, 23, 64, 75, 71, 59, 73, 69, 67, 77, 94, 64, 57, 60, 63, 23, 41, 69, 21, 24, 61, 62, 81, 65, 61, 64, 5, 69, 59, 64, 69, 92, 78, 65, 22, 71, 59, 73, 83, 29, 67, 61, 63, 21, 41, 3, 66, 58, 75, 12, 94, 57, 39, 48, 23, 26, 66, 90, 23, 39, 49, 31, 44, 32, 39, 57, 40, 21, 60, 69, 67, 69, 73, 69, 39, 73, 90, 68, 22, 58, 90, 72, 67, 61, 64, 19, 22, 69, 71, 68, 66, 94, 24, 83, 94, 44, 71, 57, 13, 39, 66, 24, 64, 29, 47, 69, 39, 90, 32, 61, 60, 59, 23, 39, 23, 68, 63, 46, 71, 39, 60, 60, 12, 47, 58, 68, 28, 41, 58, 92, 23, 23, 77, 22, 72, 29, 60, 64, 61, 64, 63, 80, 24, 60, 68, 60, 65, 67, 73, 29, 24, 29, 28, 90, 28, 39, 58, 22, 62, 75, 71, 94, 40, 62, 58, 50, 38, 75, 71, 41, 39, 62, 28, 24, 41, 92, 73, 39, 66, 37, 37, 64, 22, 73, 11, 64, 65, 68, 32, 68, 14, 61, 71, 66, 61, 40, 72, 22, 94, 31, 31, 39, 74, 60, 69, 64, 71, 78, 73, 46, 23, 70, 41, 29, 21, 57, 62, 39, 68, 66, 58, 81, 60, 59, 59, 24, 67, 70, 22, 90, 22, 32, 63, 47, 22, 73, 27, 25, 67, 61, 41, 61, 44, 21, 94, 64, 92, 29, 23, 69, 71, 60, 22, 60, 64, 29, 92, 65, 46, 61, 76, 94, 47, 64, 72, 62, 57, 20, 25, 90, 58, 82, 39, 31, 26, 24, 14, 58, 59, 92, 73, 66, 22, 26, 3, 65, 40, 64, 71, 21, 41, 14, 71, 39, 92, 22, 60, 47, 41, 66, 73, 47, 28, 71, 76, 71, 29, 81, 39, 46, 80, 70, 68, 70, 90, 3, 43, 19, 22, 63, 90, 22, 64, 66, 42, 68, 43, 60, 67, 69, 81, 57, 67, 90, 60, 64, 73, 30, 62, 22, 90, 77, 64, 32, 69, 69, 66, 44, 61, 94, 60, 64, 22, 94, 90, 22, 50, 67, 63, 71, 66, 39, 30, 57, 63, 72, 20, 94, 21, 77, 72, 42, 64, 29, 39, 50, 22, 42, 28, 60, 71, 94, 24, 5, 70, 60, 27, 24, 69, 39, 77, 68, 67, 26, 39, 44, 72, 61, 23, 63, 83, 66, 5, 72, 57, 50, 61, 79, 73, 68, 60, 47, 58, 70, 60, 90, 92, 67, 71, 29, 39, 60, 68, 41, 39, 68, 42, 68, 29, 60, 68, 21, 22, 69, 71, 3, 51, 66, 45, 73, 57, 66, 59, 60, 41, 63, 21, 77, 39, 66, 73, 65, 70, 61, 60, 28, 12, 23, 92, 94, 29, 70, 67, 11, 73, 73, 39, 67, 31, 94, 64, 3, 69, 21, 24, 22, 62, 73, 3, 73, 43, 64, 64, 66, 22, 90, 39, 40, 78, 37, 60, 61, 67, 83, 47, 61, 75, 90, 59, 70, 39, 92, 69, 14, 41, 90, 57, 39, 72, 23, 71, 29, 39, 90, 69, 70, 63, 68, 73, 47, 77, 25, 73, 83, 72, 42, 62, 77, 76, 60, 72, 26, 60, 21, 69, 32, 21, 59, 59, 94, 60, 67, 61, 21, 62, 92, 43, 40, 49, 23, 59, 26, 40, 22, 62, 47, 12, 60, 24, 64, 60, 66, 90, 43, 65, 62, 60, 23, 37, 21, 68, 63, 60, 72, 39, 40, 21, 58, 72, 64, 59, 75, 57, 28, 65, 71, 94, 31, 21, 47, 40, 73, 3, 23, 42, 57, 40, 59, 71, 67, 20, 90, 41, 39, 69, 5, 59, 78, 94, 59, 73, 69, 69, 64, 59, 69, 28, 39, 24, 41, 39, 71, 23, 68, 66, 59, 92, 70, 23, 40, 67, 37, 59, 83, 77, 67, 23, 60, 69, 47, 72, 67, 60, 64, 68, 23, 60, 59, 60, 90, 28, 64, 3, 58, 28, 94, 66, 62, 76, 42, 73, 60, 31, 39, 41, 46, 75, 39, 29, 94, 41, 73, 71, 68, 28, 73, 59, 23, 59, 40, 28, 3, 67, 47, 39, 90, 59, 39, 31, 31, 65, 73, 60, 69, 70, 67, 67, 72, 62, 39, 68, 42, 73, 69, 23, 73, 62, 68, 67, 90, 62, 65, 71, 94, 69, 3, 22, 81, 5, 71, 40, 57, 72, 44, 21, 47, 59, 90, 73, 69, 39, 60, 45, 41, 57, 94, 39, 75, 68, 81, 71, 38, 14, 59, 64, 65, 47, 29, 66, 48, 23, 20, 67, 90, 61, 90, 76, 49, 90, 94, 58, 39, 57, 69, 81, 58, 21, 60, 60, 58, 66, 71, 25, 12, 63, 23, 73],\n\t'z': [39, 23, 82, 42, 23, 74, 23, 49, 73, 79, 60, 46, 67, 73, 40, 22, 67, 21, 41, 41, 69, 24, 42, 42, 40, 45, 40, 69, 40, 21, 40, 71, 42, 39, 73, 26, 74, 22, 5, 39, 23, 40, 45, 42, 40, 49, 74, 71, 24, 23, 42, 67, 24, 6, 42, 22, 73, 21, 79, 24, 79, 94, 73, 22, 74, 32, 23, 73, 40, 22, 23, 71, 40, 23, 73, 42, 42, 46, 39, 67, 45, 82, 94, 24, 66, 42, 24, 41, 94, 69, 41, 42, 41, 69, 90, 71, 23, 82, 12, 23, 21, 24, 92, 23, 23, 21, 32, 69, 41, 42, 22, 26, 41, 72, 83, 42, 27, 24, 67, 74, 41, 51, 94, 23, 92, 42, 22, 73, 24, 94, 90, 71, 41, 23, 42, 94, 80, 23, 64, 42, 61, 6, 42, 23, 40, 77, 74, 42, 23, 28, 44, 67, 42, 68, 71, 42, 71, 94, 78, 69, 42, 79, 64, 82, 73, 22, 24, 90, 24, 73, 79, 22, 6, 74, 90, 42, 41, 22, 22, 90, 69, 73, 74, 22, 22, 73, 74, 64, 24, 69, 74, 23, 74, 74, 45, 41, 39, 39, 24, 62, 42, 73, 24, 42, 90, 42, 24, 62, 42, 90, 71, 48, 64, 41, 42, 42, 24, 28, 41, 74, 39, 21, 39, 21, 22, 63, 74, 83, 42, 29, 74, 42, 45, 41, 6, 22, 68, 24, 23, 42, 22, 64, 22, 69, 69, 32, 73, 79, 41, 29, 23, 42, 67, 73, 41, 72, 40, 68, 69, 42, 42, 24, 22, 42, 94, 39, 22, 62, 69, 67, 71, 31, 73, 39, 23, 23, 22, 64, 42, 42, 42, 42, 23, 42, 82, 40, 64, 42, 23, 82, 23, 46, 41, 92, 42, 24, 22, 51, 39, 73, 24, 77, 46, 40, 23, 94, 24, 23, 42, 22, 12, 23, 82, 24, 24, 23, 73, 92, 94, 40, 82, 44, 68, 78, 69, 23, 21, 39, 24, 73, 92, 73, 26, 78, 83, 73, 32, 31, 39, 69, 40, 24, 67, 90, 23, 50, 82, 44, 74, 23, 74, 32, 64, 40, 45, 48, 67, 42, 73, 64, 14, 44, 74, 74, 12, 78, 58, 74, 71, 44, 71, 48, 47, 82, 23, 45, 46, 94, 92, 24, 42, 73, 73, 68, 69, 67, 23, 41, 83, 21, 94, 28, 71, 24, 83, 42, 25, 62, 40, 23, 42, 40, 24, 22, 67, 24, 39, 92, 42, 73, 69, 92, 73, 67, 42, 42, 74, 71, 41, 6, 73, 74, 22, 92, 24, 5, 45, 40, 5, 40, 42, 82, 25, 42, 94, 50, 22, 24, 41, 39, 42, 22, 74, 90, 26, 41, 39, 71, 41, 45, 71, 39, 90, 74, 74, 22, 24, 39, 42, 90, 90, 41, 74, 82, 24, 68, 94, 26, 67, 94, 72, 60, 67, 74, 45, 78, 77, 22, 26, 74, 41, 68, 73, 22, 42, 40, 42, 25, 73, 74, 22, 74, 64, 72, 42, 83, 22, 22, 94, 23, 61, 73, 71, 22, 74, 40, 79, 24, 40, 24, 74, 42, 73, 24, 40, 92, 74, 83, 42, 69, 74, 24, 65, 42, 42, 21, 47, 69, 77, 28, 46, 82, 74, 74, 21, 24, 41, 42, 6, 24, 24, 73, 71, 22, 73, 61, 74, 94, 47, 21, 74, 24, 29, 94, 23, 69, 44, 21, 21, 71, 6, 23, 21, 82, 60, 24, 6, 44, 94, 40, 28, 79, 69, 23, 39, 42, 39, 42, 70, 74, 50, 94, 22, 23, 51, 23, 83, 21, 41, 5, 14, 90, 82, 39, 41, 79, 23, 74, 23, 22, 12, 21, 74, 29, 21, 39, 44, 64, 59, 42, 21, 41, 90, 22, 41, 44, 25, 41, 40, 3, 68, 74, 40, 6, 62, 42, 42, 71, 94, 82, 42, 60, 23, 24, 83, 48, 64, 71, 69, 41, 6, 71, 39, 42, 90, 39, 71, 66, 42, 94, 44, 68, 73, 68, 24, 42, 21, 73, 42, 77, 22, 71, 60, 42, 83, 73, 71, 6, 22, 24, 42, 22, 74, 22, 21, 6, 73, 23, 24, 12, 42, 45, 69, 23, 44, 72, 23, 23, 24, 42, 23, 22, 68, 90, 21, 71, 94, 22, 24, 49, 73, 73, 40, 42, 6, 42, 42, 24, 90, 42, 58, 42, 14, 23, 42, 73, 68, 22, 29, 90, 42, 74, 90, 24, 21, 22, 24, 24, 71, 45, 23, 23, 78, 21, 45, 22, 41, 79, 41, 72, 79, 23, 68, 22, 68, 32, 42, 21, 68, 72, 24, 24, 42, 90, 74, 71, 69, 47, 90, 74, 6, 26, 44, 42, 22, 42, 21, 41, 23, 23, 82, 68, 77, 69, 23, 12, 78, 42, 90, 22, 74, 40, 64, 41, 74, 68, 83, 83, 41, 45, 45, 42, 78, 94, 23, 20, 73, 24, 41, 23, 71, 40, 74, 67, 73, 42, 90, 83, 42, 23, 94, 42, 22, 29, 5, 24, 73, 73, 25, 68, 74, 24, 69, 41, 90, 68, 42, 21, 74, 94, 22, 23, 79, 69, 25, 74, 90, 94, 73, 39, 42, 94, 41, 90, 41, 42, 73, 41, 24, 41, 23, 13, 24, 90, 42, 42, 24, 90, 23, 23, 42, 25, 72, 68, 22, 22, 39, 22, 6, 23, 82, 94, 40, 68, 74, 24, 6, 26, 70, 69, 63, 21, 82, 69, 78, 22, 42, 68, 44, 45, 42, 41, 72, 46, 66, 28, 23, 24, 74, 71, 64, 28, 79, 26, 57, 69, 78, 32, 22, 23, 45, 73, 68, 24, 23, 67, 24, 66, 73, 74, 39, 42, 22, 90, 23, 42, 59, 45, 39, 23, 62, 29, 68, 49, 69, 74, 45, 71, 23, 41, 79, 22, 23, 92, 29, 74, 76, 40, 59, 23, 74, 76, 22, 68, 40, 45, 68, 23, 79, 41, 71, 90, 69, 60, 68, 94, 90, 26, 59, 42, 63, 42, 24, 22, 41, 74, 73, 41, 90, 42, 67, 62, 79, 24, 42, 68, 94, 44, 94, 74, 71, 62, 22, 74, 22, 73, 73, 32, 23, 90, 74, 39, 68, 28, 42, 69, 67, 22, 40, 24, 51, 23, 24, 39, 23, 23, 6, 45, 94, 3, 23, 24, 77, 82, 69, 41, 23, 77, 74, 94, 69, 50, 74, 73, 90, 22, 71, 90, 67, 23, 67, 74, 59, 73, 41, 26, 23, 22, 74, 67, 23, 73, 71, 42, 23, 24, 82, 66, 94, 73, 39, 60, 83, 44, 94, 41, 73, 73, 24, 22, 23, 73, 23, 73, 64, 5, 73, 44, 23, 42, 80, 68, 90, 24, 73, 71, 42, 71, 82, 94, 59, 47, 74, 60, 22, 71, 22, 82, 23, 32, 22, 21, 74, 76, 71, 94, 31, 74, 83, 64, 74, 58, 72, 82, 74, 74, 42, 76, 43, 90, 28, 46, 82, 61, 39, 22, 45, 74, 24, 74, 83, 42, 41, 71, 41, 14, 40, 3, 22, 83, 24, 22, 74, 59, 23, 6, 22, 14, 90, 42, 24, 24, 73, 74, 29, 82, 90, 45, 45, 24, 21, 44, 74, 21, 6, 68, 47, 69, 23, 71, 40, 23, 73, 42, 40, 74, 21, 21, 24, 41, 42, 74, 6, 60, 42, 41, 73, 23, 47, 71, 78, 79, 73, 79, 68, 94, 61, 22, 39, 69, 94, 40, 74, 44, 79, 76, 22, 76, 23, 24, 83, 73, 24, 74, 24, 22, 23, 23, 74, 22, 42, 21, 46, 42, 74, 23, 67, 21, 92, 73, 24, 47, 46, 24, 74, 90, 23, 71, 82, 74, 23, 40, 41, 73, 90, 24, 26, 24, 94, 72, 42, 41, 94, 12, 79, 41, 94, 71, 68, 79, 76, 79, 28, 73, 42, 73, 42, 32, 24, 42, 42, 22, 64, 27, 40, 78, 78, 73, 41, 73, 59, 42, 77, 47, 22, 21, 82, 23, 73, 40, 73, 92, 42, 69, 28, 46, 90, 23, 41, 90, 42, 24, 24, 73, 78, 42, 83, 74, 71, 94, 68, 41, 79, 42, 51, 40, 23, 69, 23, 42, 83, 74, 23, 74, 23, 39, 71, 23, 76, 60, 21, 28, 23, 42, 90, 42, 45, 76, 41, 94, 49, 23, 22, 42, 64, 73, 47, 83, 74, 83, 71, 68, 69, 23, 22, 42, 82, 83, 23, 40, 76, 22, 90, 24, 45, 49, 24, 71, 45, 22, 23, 79, 90, 23, 90, 42, 73, 74, 5, 42, 92, 32, 42, 79, 21, 74, 42, 73, 22, 32, 42, 94, 74, 90, 82, 69, 74, 42, 78, 24, 32, 82, 22, 92, 68, 74, 23, 74, 42, 68, 23, 24, 22, 73, 27, 74, 14, 73, 72, 45, 6, 42, 42, 23, 24, 23, 24, 24, 62, 29, 6, 62, 42, 42, 72, 22, 92, 42, 73, 66, 92, 29, 67, 67, 22, 90, 41, 23, 23, 94, 45, 6, 92, 94, 32, 42, 73, 69, 21, 82, 71, 42, 23, 24, 24, 29, 22, 79, 73, 40, 12, 44, 73, 69, 82, 73, 22, 60, 23, 23, 21, 40, 14, 70, 82, 40, 71, 24, 67, 64, 26, 42, 28, 24, 74, 23, 78, 24, 94, 41, 23, 44, 94, 67, 71, 41, 83, 23, 24, 23, 42, 32, 90, 71, 23, 76, 44, 39, 42, 69, 23, 66, 42, 61, 94, 41, 83, 71, 40, 44, 42, 41, 74, 24, 24, 83, 46, 23, 23, 74, 67, 42, 22, 23, 69, 26, 42, 42, 74, 22, 5, 41, 74, 74, 82, 90, 46, 74, 21, 76, 23, 24, 73, 90, 44, 22, 71, 41, 90, 22, 71, 24, 94, 41, 45, 82, 47, 83, 90, 60, 71, 41, 26, 42, 24, 23, 82, 90, 76, 77, 5, 64, 94, 76, 74, 23, 60, 71, 73, 42, 22, 69, 94, 40, 24, 24, 63, 23, 23, 61, 71, 90, 94, 73, 74, 22, 22, 71, 21, 26, 42, 24, 22, 69, 22, 66, 24, 73, 90, 44, 67, 41, 23, 22, 71, 22, 21, 41, 69, 3, 90, 42, 79, 46, 83, 73, 71, 69, 73, 71, 39, 44, 94, 39, 22, 40, 22, 26, 6, 44, 42, 83, 24, 73, 23, 73, 41, 23, 42, 71, 74, 90, 40, 41, 62, 46, 24, 79, 42, 47, 24, 32, 69, 94, 68, 14, 24, 32, 28, 6, 74, 42, 73, 74, 42, 73, 74, 42, 41, 24, 47, 5, 24, 42, 94, 45, 29, 22, 74, 46, 40, 42, 6, 90, 41, 73, 79, 42, 40, 71, 74, 73, 23, 41, 74, 66, 41, 68, 24, 82, 26, 46, 42, 83, 44, 73, 22, 29, 67, 23, 40, 23, 24, 74, 71, 45, 94, 73, 40, 41, 40, 24, 42, 67, 92, 94, 6, 94, 23, 92, 67, 79, 32, 22, 45, 40, 79, 71, 71, 74, 45, 66, 83, 94, 5, 42, 24, 62, 24, 40, 69, 31, 74, 60, 39, 42, 24, 68, 21, 24, 42, 41, 72, 6, 24, 29, 21, 67, 42, 24, 41, 68, 62, 22, 42, 68, 68, 42, 42, 59, 73, 24, 90, 69, 42, 23, 23, 64, 92, 67, 23, 40, 21, 41, 71, 42, 45, 90, 45, 69, 68, 24, 48, 73, 60, 45, 74, 67, 69, 62, 31, 28, 42, 65, 83, 79, 41, 90, 42, 60, 23, 41, 42, 76, 22, 22, 90, 23, 23, 22, 94, 73, 22, 42, 69, 22, 47, 23, 83, 23, 69, 90, 5, 74, 41, 74, 24, 5, 5, 23, 79, 24, 94, 42, 40, 24, 44, 42, 23, 74, 42, 42, 45, 73, 78, 74, 90, 73, 73, 40, 29, 94, 24, 66, 22, 47, 74, 23, 40, 21, 40, 82, 68, 24, 83, 23, 69, 82, 22, 42, 73, 23, 22, 42, 23, 22, 4, 23, 39, 41, 71, 74, 23, 6, 23, 67, 24, 32, 73, 45, 39, 22, 22, 74, 23, 40, 23, 71, 72, 72, 94, 23, 71, 40, 73, 73, 71, 24, 74, 73, 69, 42, 15, 79, 24, 73, 24, 28, 74, 71, 59, 73, 77, 74, 26, 74, 77, 6, 23, 45, 40, 45, 40, 23, 73, 78, 76, 42, 40, 42, 76, 42, 94, 42, 23, 67, 79, 39, 21, 40, 41, 73, 24, 39, 41, 40, 73, 23, 42, 42, 73, 69, 64, 23, 22, 24, 94, 39, 42, 90, 41, 42, 69, 41, 92, 68, 69, 42, 40, 25, 82, 22, 24, 94, 23, 79, 73, 22, 78, 41, 22, 74, 46, 74, 23, 40, 23, 42, 80, 22, 42, 83, 73, 47, 41, 23, 6, 74, 29, 42, 23, 92, 46, 24, 40, 92, 50, 24, 32, 29, 32, 26, 23, 42, 22, 83, 26, 23, 48, 45, 94, 40, 20, 39, 71, 69, 46, 41, 42, 42, 90, 40, 41, 78, 67, 73, 23, 24, 74, 5, 23, 67, 45, 82, 94, 32, 39, 82, 21, 5, 69, 79, 72, 39, 42, 29, 92, 73, 5, 23, 24, 22, 42, 14, 23, 23, 90, 74, 46, 74, 42, 71, 90, 68, 42, 73, 94, 74, 90, 22, 69, 41, 69, 90, 42, 42, 42, 23, 22, 82, 40, 71, 42, 23, 59, 73, 24, 94, 94, 74, 47, 23, 67, 24, 24, 74, 40, 42, 23, 79, 94, 41, 90, 42, 24, 73, 40, 83, 74, 68, 24, 22, 41, 74, 40, 73, 62, 41, 41, 42, 42, 69, 44, 74, 22, 42, 69, 22, 23, 63, 94, 94, 23, 73, 74, 62, 42, 83, 69, 14, 26, 79, 42, 24, 69, 25, 92, 72, 69, 71, 24, 24, 40, 40, 42, 69, 73, 42, 73, 23, 82, 73, 41, 71, 26, 64, 64, 67, 74, 22, 76, 76, 22, 68, 23, 94, 22, 90, 66, 64, 42, 26, 41, 21, 23, 42, 39, 23, 90, 26, 5, 22, 73, 72, 79, 21, 62, 73, 64, 22, 22, 23, 90, 74, 90, 42, 42, 42, 40, 67, 83, 74, 25, 23, 6, 74, 62, 73, 42, 90, 22, 46, 42, 68, 32, 73, 23, 72, 22, 24, 23, 42, 40, 42, 12, 28, 42, 42, 6, 94, 40, 90, 42, 42, 72, 44, 42, 94, 71, 50, 21, 92, 24, 42, 90, 83, 26, 47, 44, 42, 6, 90, 94, 74, 22, 31, 40, 71, 68, 68, 24, 24, 69, 24, 21, 74, 42, 25, 42, 82, 39, 42, 78, 21, 42, 50, 42, 46, 42, 73, 69, 29, 23, 23, 64, 21, 21, 40, 45, 22, 92, 24, 90, 40, 39, 44, 90, 24, 22, 23, 26, 74, 73, 14, 29, 24, 6, 22, 42, 42, 68, 23, 14, 23, 14, 41, 73, 41, 46, 24, 90, 23, 42, 23, 78, 72, 73, 94, 94, 39, 42, 23, 92, 64, 23, 24, 24, 42, 41, 41, 62, 82, 23, 74, 45, 21, 74, 78, 24, 42, 24, 94, 83, 73, 83, 42, 79, 71, 26, 24, 82, 42, 42, 22, 83, 23, 24, 41, 42, 94, 23, 74, 21, 21, 74, 72, 64, 42, 71, 90, 73, 41, 74, 24, 42, 60, 42, 40, 21, 82, 24, 42, 44, 32, 63, 90, 26, 61, 23, 69, 76, 22, 21, 22, 21, 83, 14, 71, 68, 74, 39, 74, 83, 42, 42, 26, 41, 22, 74, 92, 23, 94, 42, 42, 22, 22, 22, 50, 94, 23, 21, 39, 73, 69, 23, 25, 30, 82, 73, 67, 71, 42, 25, 24, 41, 23, 78, 74, 82, 21, 82, 41, 73, 74, 45, 82, 24, 45, 94, 22, 73, 24, 22, 76, 24, 73, 23, 82, 64, 66, 66, 42, 24, 24, 67, 41, 39, 21, 22, 23, 74, 71, 44, 40, 74, 73, 21, 74, 42, 24, 22, 21, 79, 74, 31, 21, 42, 68, 40, 62, 24, 90, 24, 74, 39, 69, 59, 42, 22, 74, 23, 74, 42, 41, 23, 23, 22, 74, 21, 66, 6, 24, 41, 83, 23, 42, 24, 92, 23, 90, 42, 24, 22, 22, 74, 79, 67, 24, 90, 73, 41, 26, 74, 74, 74, 66, 94, 42, 73, 23, 76, 23, 60, 21, 45, 24, 82, 73, 42, 26, 74, 23, 42, 42, 94, 23, 22, 74, 24, 73, 22, 42, 21, 92, 40, 41, 71, 5, 21, 39, 64, 74, 59, 46, 73, 31, 23, 73, 69, 22, 24, 73, 47, 6, 40, 24, 71, 42, 23, 73, 42, 42, 24, 26, 23, 42, 40, 22, 12, 42, 74, 22, 41, 42, 24, 62, 22, 94, 40, 81, 44, 62, 82, 73, 83, 74, 23, 74, 67, 74, 50, 73, 22, 42, 40, 32, 94, 74, 22, 42, 68, 24, 29, 21, 67, 47, 22, 22, 42, 6, 31, 41, 94, 32, 73, 24, 21, 83, 40, 23, 74, 94, 71, 46, 22, 90, 23, 94, 92, 42, 42, 42, 74, 74, 24, 73, 49, 61, 59, 67, 51, 71, 66, 24, 42, 23, 45, 70, 23, 94, 60, 23, 76, 83, 24, 69, 23, 22, 29, 40, 71, 24, 76, 40, 40, 70, 94, 31, 74, 44, 68, 92, 74, 94, 14, 32, 78, 82, 69, 67, 22, 42, 42, 22, 21, 42, 42, 42, 74, 23, 73, 24, 42, 64, 92, 41, 73, 24, 23, 24, 74, 24, 94, 22, 22, 40, 29, 76, 73, 45, 22, 58, 32, 71, 69, 42, 40, 82, 42, 22, 94, 23, 82, 71, 71, 22, 42, 42, 24, 23, 94, 78, 73, 23, 71, 39, 22, 77, 42, 71, 46, 23, 64, 22, 42, 49, 78, 41, 90, 47, 92, 73, 23, 24, 23, 82, 83, 67, 90, 42, 61, 73, 74, 42, 74, 47, 76, 23, 6, 21, 63, 24, 90, 83, 23, 73, 22, 39, 68, 83, 21, 80, 74, 42, 23, 68, 44, 42, 42, 74, 22, 94, 94, 24, 23, 73, 42, 23, 12, 23, 42, 72, 83, 72, 83, 42, 94, 71, 68, 73, 41, 74, 40, 32, 5, 23, 79, 71, 23, 39, 42, 45, 22, 6, 42, 66, 74, 79, 41, 60, 94, 69, 21, 42, 60, 42, 68, 60, 73, 74, 23, 22, 24, 21, 23, 82, 25, 77, 23, 41, 47, 28, 40, 24, 23, 69, 78, 42, 22, 42, 74, 45, 24, 90, 22, 39, 74, 24, 90, 28, 24, 39, 45, 60, 45, 24, 44, 23, 73, 73, 60, 25, 26, 21, 42, 74, 24, 32, 46, 74, 47, 94, 42, 73, 41, 90, 23, 29, 22, 94, 21, 39, 24, 22, 23, 82, 22, 24, 41, 23, 68, 83, 23, 39, 42, 46, 78, 41, 44, 94, 76, 23, 92, 44, 83, 67, 71, 68, 40, 22, 45, 13, 42, 21, 73, 23, 23, 69, 74, 74, 46, 40, 69, 74, 30, 42, 69, 41, 24, 66, 23, 31, 42, 24, 24, 46, 67, 5, 23, 73, 24, 78, 94, 74, 90, 42, 23, 41, 40, 23, 83, 24, 90, 42, 73, 22, 82, 25, 73, 40, 26, 73, 42, 6, 21, 74, 66, 75, 92, 83, 24, 74, 77, 74, 23, 74, 42, 82, 69, 42, 47, 42, 71, 41, 78, 74, 24, 79, 23, 79, 92, 59, 42, 21, 42, 23, 82, 40, 26, 83, 68, 6, 74, 94, 21, 77, 90, 60, 66, 42, 74, 68, 42, 42, 90, 66, 94, 23, 92, 94, 82, 40, 74, 42, 22, 73, 42, 94, 73, 22, 82, 94, 79, 22, 21, 22, 74, 67, 74, 94, 42, 44, 67, 71, 23, 22, 71, 62, 23, 78, 40, 24, 24, 24, 83, 24, 23, 24, 23, 74, 21, 73, 83, 42, 68, 42, 23, 92, 42, 23, 67, 23, 41, 42, 78, 23, 39, 73, 41, 74, 40, 22, 74, 22, 94, 60, 94, 42, 82, 59, 46, 42, 60, 74, 21, 73, 42, 32, 23, 23, 61, 67, 92, 74, 90, 28, 71, 74, 42, 60, 23, 21, 41, 6, 76, 23, 41, 42, 90, 74, 71, 46, 45, 42, 21, 47, 23, 73, 90, 5, 74, 64, 66, 23, 24, 42, 94, 92, 42, 73, 77, 73, 14, 24, 62, 44, 73, 24, 42, 82, 24, 24, 74, 67, 71, 39, 23, 77, 67, 69, 39, 42, 73, 22, 24, 90, 66, 73, 90, 21, 73, 22, 41, 24, 60, 80, 64, 45, 68, 42, 23, 82, 23, 44, 41, 23, 12, 74, 74, 25, 21, 68, 73, 94, 42, 22, 42, 21, 42, 82, 73, 79, 23, 64, 23, 74, 74, 22, 90, 24, 79, 23, 42, 74, 42, 41, 26, 41, 40, 69, 41, 63, 74, 73, 68, 41, 71, 5, 44, 68, 42, 64, 22, 79, 22, 69, 94, 23, 24, 42, 66, 71, 64, 40, 47, 22, 23, 39, 44, 74, 71, 92, 46, 82, 23, 68, 14, 73, 74, 79, 44, 69, 6, 22, 29, 23, 22, 41, 79, 74, 67, 24, 92, 22, 79, 42, 40, 82, 23, 22, 24, 42, 50, 14, 39, 22, 42, 42, 94, 42, 42, 12, 23, 71, 23, 74, 41, 90, 42, 41, 69, 69, 68, 42, 39, 42, 90, 73, 22, 73, 23, 82, 82, 90, 41, 58, 92, 45, 24, 44, 62, 23, 22, 94, 90, 90, 79, 42, 25, 23, 24, 50, 94, 32, 42, 22, 32, 94, 21, 94, 76, 77, 94, 32, 74, 23, 69, 74, 39, 40, 44, 31, 22, 24, 39, 23, 39, 94, 82, 67, 41, 66, 94, 60, 24, 23, 26, 23, 41, 24, 41],\n\t'labels': ['Pm-Dy-Y', 'Yb-Gd-V', 'Cr-Ni-Pb', 'Pu-V-Mo', 'Pm-Er-V', 'Tm-Lu-W', 'Nd-Pu-V', 'Al-Zn-In', 'Eu-U-Ta', 'Ni-Ru-Au', 'Ce-Pm-Nd', 'Cu-Tc-Pd', 'La-Sm-Ho', 'La-Yb-Ta', 'Gd-Lu-Zr', 'Li-Hf-Ti', 'La-Dy-Ho', 'Ba-Yb-Sc', 'K-Zr-Nb', 'Y-Zr-Nb', 'Li-Ce-Tm', 'Sc-U-Cr', 'Ho-Er-Mo', 'Tm-V-Mo', 'La-Pu-Zr', 'Ir-Pd-Rh', 'Gd-Ho-Zr', 'Ca-Y-Tm', 'Rb-Hf-Zr', 'La-Yb-Sc', 'Nd-Pu-Zr', 'Yb-Y-Lu', 'La-V-Mo', 'Ba-La-Y', 'Cs-Li-Ta', 'Ba-Sr-Fe', 'Yb-Y-W', 'Cs-Pr-Ti', 'Zn-Bi-B', 'Tb-Pm-Y', 'Gd-Ta-V', 'Ce-Eu-Zr', 'Fe-Os-Rh', 'Nb-V-Mo', 'Eu-Hf-Zr', 'Be-Al-In', 'Pr-V-W', 'Li-Er-Lu', 'Pu-Ti-Cr', 'Rb-Na-V', 'Mg-V-Mo', 'Pr-Nd-Ho', 'Pr-Sm-Cr', 'Pd-Ru-C', 'Er-Pu-Mo', 'Ce-Zr-Ti', 'Li-Tm-Ta', 'Nd-Gd-Sc', 'Fe-Rh-Au', 'Cs-V-Cr', 'Ru-Pt-Au', 'Ca-Lu-Pu', 'Cs-K-Ta', 'Lu-Ta-Ti', 'Nd-U-W', 'Ga-Si-Ge', 'K-Mg-V', 'Ce-Th-Ta', 'Yb-Dy-Zr', 'Ba-Nd-Ti', 'Y-Pu-V', 'Pr-Gd-Lu', 'La-Y-Zr', 'Er-Nb-V', 'Cs-Zr-Ta', 'Li-Y-Mo', 'Pr-Th-Mo', 'Fe-Cu-Pd', 'Ce-Sm-Y', 'Dy-Y-Ho', 'Cu-Ir-Rh', 'Si-Sb-Pb', 'Pr-Ho-Pu', 'K-Li-Cr', 'La-Tb-Dy', 'Li-Nd-Mo', 'Sm-Th-Cr', 'Cs-Zr-Nb', 'Pr-Y-Pu', 'Tb-Yb-Tm', 'Y-Hf-Nb', 'Na-Cr-Mo', 'K-Mg-Nb', 'Li-Er-Tm', 'Ce-Hf-Th', 'Dy-Ho-Lu', 'Ce-Mn-V', 'Mn-Fe-Pb', 'Rb-Hf-Mg', 'La-Tb-V', 'Sr-Nd-Sc', 'Tb-Sm-Cr', 'Ce-Sc-U', 'Y-Ho-V', 'Rb-Li-V', 'Nd-Th-Sc', 'Al-Si-Ge', 'Ca-La-Tm', 'La-Sc-Nb', 'Sm-Gd-Mo', 'Y-Sc-Ti', 'Na-Sr-Fe', 'K-Li-Nb', 'Cs-Rb-Hf', 'Zn-Ga-Bi', 'La-Pm-Mo', 'Mn-Fe-Co', 'Gd-Tm-Cr', 'Sm-Gd-Ho', 'U-Ti-W', 'La-Ce-Nb', 'Re-Hg-Sb', 'Gd-Dy-Pu', 'Dy-Ho-V', 'La-Nd-U', 'Ce-Ta-Mo', 'Ce-Lu-Ti', 'Ce-Nd-Ta', 'Pm-Tm-Cr', 'Ce-Tm-Pu', 'Pr-Sm-Th', 'Ca-La-Lu', 'Yb-Lu-Nb', 'Sm-Lu-V', 'Gd-Tm-Mo', 'Li-Pr-Pu', 'Al-Ga-Hg', 'Na-Ti-V', 'Yb-Nd-Gd', 'Nd-Gd-Mo', 'La-Tb-Pm', 'Ir-Pd-C', 'Tm-Pu-Mo', 'Tm-Th-V', 'La-Er-Zr', 'Cu-Ni-Ir', 'Tb-Sc-W', 'Ba-Sr-Mo', 'Th-Sc-V', 'Mn-Co-Ni', 'Cu-Ni-Ru', 'Tb-Ce-Ho', 'Nd-Lu-Mo', 'Li-Pm-Er', 'La-Tm-Lu', 'La-Pu-Mo', 'Pm-Pr-Lu', 'Ce-Ho-Pu', 'Cu-Tc-Pt', 'Nd-Dy-Tm', 'Ca-Pm-Mo', 'Fe-Cu-Au', 'Li-Sm-Gd', 'Mn-Ag-Pb', 'Li-Er-Ta', 'La-Tb-Ti', 'Gd-Ti-Cr', 'Ce-Gd-Th', 'Er-Sc-Cr', 'Sm-Er-Ta', 'Cr-Ni-Au', 'Nd-U-Ti', 'Co-Au-C', 'Nd-Pu-W', 'La-Yb-Th', 'Sc-Cr-Mo', 'Zr-Sc-Nb', 'Pr-Tm-Ti', 'Cs-Hf-Ti', 'Ce-Ho-Th', 'Yb-Gd-Tm', 'Li-Ce-Ta', 'Y-V-W', 'La-Sc-Ti', 'Tb-Sc-Ti', 'Tb-Pr-Ta', 'Sb-Pb-W', 'Ba-Yb-Gd', 'Dy-Pu-Cr', 'Tb-Gd-Tm', 'Tb-Lu-W', 'Gd-Er-V', 'Yb-Ti-W', 'Tm-V-W', 'Pd-Pt-Rh', 'Eu-Pu-Nb', 'Ba-Sm-Y', 'La-Sm-Y', 'U-V-Cr', 'Ba-Pm-Sm', 'Sm-Ho-Mo', 'Gd-Th-Ta', 'Ce-Pr-Cr', 'Lu-Ti-Mo', 'Dy-Lu-Th', 'La-Sc-Mo', 'Y-U-Cr', 'Pm-Nd-Sm', 'Tb-Gd-Mo', 'Yb-Er-Th', 'Li-Pr-Lu', 'Mg-Mn-Cd', 'Ce-Pm-Gd', 'Pu-Ti-Nb', 'Tl-Cd-Mo', 'Sc-V-Mo', 'Pu-V-Cr', 'Mn-Fe-Ni', 'Eu-Zr-Nb', 'Tb-Y-W', 'Tb-Pr-Y', 'Ca-Nd-Sc', 'Ba-Nd-Y', 'Ca-Tb-Sc', 'Pu-Ta-Ti', 'Ca-Yb-Eu', 'Th-Mo-W', 'Si-Sn-Bi', 'Tb-Sc-Mo', 'Na-Cr-Cu', 'Y-Er-W', 'Y-Ho-Mo', 'Ni-Pd-Rh', 'Y-Ti-Nb', 'Co-Pd-C', 'Li-Gd-Ti', 'Tb-Y-Er', 'Pr-Y-Cr', 'La-Yb-V', 'Ca-Yb-Mo', 'Dy-Er-Ti', 'Nd-Sm-Gd', 'Tb-Y-Ti', 'Gd-Er-Tm', 'Ca-Pm-Tm', 'Tl-Zn-Ge', 'Yb-Sc-Ta', 'Fe-Co-Au', 'La-Sm-Nb', 'Nb-V-Cu', 'La-Sm-V', 'Li-Pr-Mo', 'Tb-Gd-Ho', 'Eu-Th-Ta', 'Yb-U-Nb', 'Yb-Er-Hf', 'La-Ho-Zr', 'Dy-Y-Er', 'La-Ce-Tm', 'Pr-Lu-Mo', 'Eu-Y-Mo', 'Dy-Er-Cr', 'La-Yb-Ti', 'Ce-Pm-Mo', 'Tb-Pm-Pu', 'Pr-Dy-Y', 'La-Pu-Ti', 'Li-Ce-Sm', 'Li-Pr-Tm', 'Tb-Pm-Ho', 'Dy-Er-Lu', 'Al-In-Ga', 'Nd-Er-Ta', 'Pr-Nd-Y', 'Ba-Pm-V', 'Pr-Dy-V', 'Rb-Na-Ti', 'Tb-Pm-Gd', 'Gd-Er-Mo', 'Y-Th-Mo', 'Gd-Y-Mo', 'Ba-Pm-Mo', 'Pu-Nb-V', 'Er-Th-Mo', 'Co-Ni-Pb', 'Ho-Th-Zr', 'Pm-Pr-Gd', 'Sm-Lu-Mo', 'Yb-Pr-V', 'Cu-Ag-Pb', 'Pm-Ho-V', 'Re-Ir-Pd', 'Er-Lu-Nb', 'La-Eu-U', 'Cu-Ag-Mo', 'Dy-V-Cr', 'Dy-Th-Ti', 'Re-Bi-Sb', 'Pm-Pr-Y', 'Th-Sc-Ta', 'Y-V-Cr', 'Fe-Ag-Ir', 'Co-Os-Pd', 'Rb-Li-Zr', 'Gd-Dy-V', 'Tb-Er-Pu', 'Ce-Ti-Cr', 'Ba-Ti-V', 'Nd-Dy-Mo', 'Ca-Tm-Ti', 'Li-Hf-Mg', 'Tb-Sc-V', 'Tl-Zn-Pb', 'Pr-Tm-Cr', 'Er-Ti-Cr', 'Er-Sc-V', 'K-Li-Ta', 'Yb-Sc-U', 'La-Ce-Pu', 'Cs-Mg-Zr', 'Ga-B-Pb', 'Re-Ir-Ru', 'Pr-Gd-Er', 'Re-Ni-Pt', 'Tb-Nd-Tm', 'Tb-Ta-V', 'Nd-Y-Sc', 'Tb-Dy-Y', 'Tb-Pr-Cr', 'La-Zr-Ta', 'Eu-Th-U', 'Li-Tb-Ta', 'Na-V-Fe', 'Cu-Re-Pt', 'Cd-Ge-Bi', 'Sm-Gd-Ta', 'Al-In-Ge', 'Al-Cd-Ga', 'Ce-Eu-Y', 'La-Tb-Tm', 'Li-Tb-Zr', 'Pr-V-Cr', 'La-Pm-Ho', 'Gd-Er-Th', 'Li-La-V', 'Al-Ga-Sn', 'Tl-As-Pb', 'Re-Pd-Ru', 'Eu-Y-W', 'Tm-Ta-V', 'Eu-V-W', 'Be-Zn-Ge', 'Li-Pm-Gd', 'Na-Mg-Zr', 'Fe-Ag-Rh', 'Tl-Zn-Cd', 'Nd-Sm-Ho', 'Y-Ta-Mo', 'Gd-Lu-Ta', 'Li-Tb-Gd', 'Be-Ga-Si', 'Mn-Cu-Ru', 'Pr-Cr-W', 'Ho-Cr-W', 'Na-Li-Mg', 'Re-Ru-Pt', 'La-Tb-Ce', 'Cr-Pb-W', 'Pr-Er-Lu', 'Ag-Pd-Ru', 'Ca-Nd-Lu', 'Mg-Cr-Cd', 'Mn-Ni-Ag', 'Cu-B-Pb', 'Li-Er-V', 'Ni-Os-Rh', 'Fe-Ag-Pd', 'Li-Er-Pu', 'Sm-Y-U', 'Dy-Tm-Cr', 'Na-Nb-Mo', 'Tb-Zr-Ta', 'Rb-Na-Ta', 'Gd-Y-Er', 'Pr-Er-Tm', 'Pr-Sm-Ho', 'Gd-Tm-V', 'Zr-Ta-Nb', 'Cr-Hg-Bi', 'Yb-Er-Sc', 'Ca-Pm-Pu', 'Co-Cu-Ni', 'Gd-Ho-Lu', 'Sc-Ti-Cr', 'Ga-Si-Bi', 'Li-Lu-Mo', 'Ba-Sr-Mn', 'Li-Pm-Sm', 'Na-Li-Zr', 'Gd-Sc-V', 'Yb-Er-Mo', 'Ho-Lu-Zr', 'Nd-Sc-Cr', 'Ca-Ce-Ti', 'Pm-Gd-Ho', 'La-Y-Cr', 'Ca-Yb-Y', 'Pr-Th-U', 'Tm-Cr-Mo', 'Rb-Li-Ta', 'Gd-Y-Tm', 'Yb-Pr-U', 'Ce-Hf-Ta', 'Nd-Y-Ho', 'Er-Ti-Mo', 'Dy-Th-Mo', 'La-Pr-W', 'Yb-Ho-Lu', 'La-Yb-Nb', 'Co-Rh-C', 'La-Eu-Ta', 'Y-Cr-W', 'K-Zr-Ti', 'Pr-Sm-U', 'Eu-Sc-Cr', 'Ga-Sn-B', 'Cu-Ag-Rh', 'Ce-Gd-Zr', 'Tl-Ga-B', 'Gd-Er-Zr', 'Ti-Nb-Mo', 'Ga-Sn-Pb', 'La-Eu-Mn', 'Tm-Lu-Mo', 'Pm-Tm-Pu', 'Be-Al-Sn', 'Dy-Lu-Ti', 'Yb-Tm-Cr', 'Na-Ta-Nb', 'Li-Gd-Y', 'Na-Sr-Mo', 'Ba-La-Ti', 'Sm-Mo-W', 'La-Tm-Th', 'K-Cr-Fe', 'Y-Ta-Nb', 'Ce-Pm-Y', 'Sm-Tm-Lu', 'Er-Th-Nb', 'Co-Os-Rh', 'Sm-Dy-Lu', 'Sr-Ca-Y', 'Pm-Er-Th', 'Yb-V-W', 'La-Gd-W', 'Tb-Ta-Ti', 'Cs-Mg-Cr', 'Ca-Nd-Y', 'Pr-Ta-Mo', 'Pm-Sm-Th', 'La-Sm-Th', 'Zr-Ti-Nb', 'Cr-Cu-W', 'Cu-Ni-Pb', 'Sm-Pu-Cr', 'Ce-Pr-Er', 'Ce-Lu-Pu', 'La-V-Fe', 'Sm-Y-Ho', 'Ce-Er-Pu', 'Ce-Y-Hf', 'Ca-Pm-Nd', 'Ce-Pr-Ho', 'Ce-Lu-W', 'Re-Ru-Rh', 'Cu-Os-Pt', 'Co-Ni-Ir', 'La-Ta-Ti', 'Ba-V-Fe', 'Gd-Th-W', 'Li-Er-Nb', 'La-Yb-Er', 'Ce-Y-Ta', 'Y-Lu-Ti', 'Tm-Th-Mo', 'La-Eu-Zr', 'Pr-Dy-Mo', 'Ca-Yb-Mn', 'La-U-Ta', 'Pr-U-W', 'Nd-Lu-Ti', 'Pu-V-W', 'Li-Nd-Gd', 'Li-Ce-Hf', 'Tl-Cu-Mo', 'Al-Zn-Bi', 'Er-Sc-Ti', 'K-Mg-Ti', 'Li-Ce-Pu', 'Na-Nb-V', 'Ba-La-Pm', 'Tb-Th-Ta', 'Pr-Ho-Lu', 'Tb-Yb-Ti', 'Sm-Y-W', 'Tb-Dy-Zr', 'Ag-Ge-Au', 'Nd-Er-Cr', 'Yb-Y-Zr', 'Dy-Ho-Cr', 'Gd-Ta-W', 'Nd-Sm-Mo', 'Tb-Sm-Ta', 'Li-Lu-Cr', 'Y-Hf-Zr', 'Eu-Sc-U', 'Ti-Cr-W', 'Re-Ag-Bi', 'Pm-Er-Mo', 'Ca-Tb-Tm', 'Ta-Mo-W', 'Tb-Er-Cr', 'Li-La-Tb', 'Tl-Ag-Mo', 'Tb-Y-Mo', 'Er-Zr-Sc', 'Fe-Ni-Ag', 'La-Er-Tm', 'Co-Re-Ir', 'Li-Cr-Ni', 'V-Ag-Pd', 'Zn-Sn-Pb', 'Ce-Nd-W', 'La-Cr-W', 'Ca-Eu-Sc', 'Ho-Er-Cr', 'Yb-Zr-Nb', 'Eu-V-Mo', 'Ni-Ir-C', 'Y-Tm-Cr', 'Pr-Pu-Cr', 'Ho-Th-Ta', 'Pr-Tm-Lu', 'Pr-Er-Ti', 'Pr-Pu-Ta', 'Tb-Ce-Pm', 'Ce-Mo-W', 'Li-Tb-Pu', 'Mn-Tl-Ag', 'Ba-La-Sc', 'Th-Cr-W', 'Li-La-Cr', 'Mn-Fe-Cu', 'Ho-Tm-Pu', 'K-Rb-V', 'La-Gd-Tm', 'Cu-Ag-Ru', 'Ce-Y-Sc', 'Ho-Zr-Sc', 'Ce-Tm-Lu', 'Co-Ru-C', 'Ce-Ti-V', 'Yb-Hf-Sc', 'Tl-Si-Pb', 'Tb-Yb-Nd', 'Rb-Li-Cr', 'Co-Ni-C', 'Co-Ir-Ru', 'Gd-Lu-Pu', 'Gd-Dy-Zr', 'Mn-Cu-Ni', 'Cu-Mo-Au', 'Tb-Pr-Tm', 'Li-Mg-V', 'Yb-Pr-Y', 'Li-Sm-Mo', 'Li-Tb-Y', 'Sm-Nb-Mo', 'Ba-La-Yb', 'La-Dy-W', 'Zn-Si-Sn', 'Ca-Y-Pu', 'U-Ta-Ti', 'Pr-Lu-V', 'Si-Bi-Sb', 'Li-Ce-V', 'Cu-Re-Bi', 'Ba-Ca-Sc', 'La-Lu-Nb', 'Zn-Cd-B', 'In-Ga-Si', 'Dy-Er-Th', 'Cr-Hg-Pb', 'Yb-Dy-Y', 'Eu-Y-Nb', 'Mn-Co-Au', 'Yb-Er-V', 'Nb-V-W', 'Yb-Nd-V', 'Yb-Th-Ti', 'K-Rb-Mg', 'Ce-Gd-Sc', 'Dy-Lu-W', 'V-Fe-Cu', 'Yb-Zr-Sc', 'La-Ce-Y', 'Ni-Pd-Ru', 'La-Pr-Gd', 'La-Ce-Pr', 'Eu-Th-Mo', 'Nd-Ho-Sc', 'Hf-Ti-Nb', 'Tb-Yb-Th', 'Tb-Pr-Ti', 'Er-Pu-Nb', 'Re-Hg-Ru', 'Ba-Yb-Mn', 'Lu-Zr-Nb', 'Nd-Y-Zr', 'Rb-Na-Li', 'Sm-Dy-Er', 'U-Nb-W', 'Ce-Lu-Zr', 'Pd-Rh-C', 'Tb-Ce-Sm', 'Eu-Cr-Mo', 'Y-Ti-Mo', 'Li-Ce-Lu', 'Yb-Gd-Pu', 'Cd-B-Pb', 'Th-Ti-Mo', 'Ba-La-Nd', 'Er-Lu-V', 'K-Rb-Cr', 'Cd-Fe-Bi', 'Al-Tl-Cd', 'Pr-Nd-Gd', 'Nd-Ho-Lu', 'Ce-Ho-Tm', 'La-Pu-Nb', 'Ge-Au-C', 'Ca-Y-Lu', 'Yb-Gd-Y', 'Na-V-Mo', 'Y-Ho-Th', 'Ba-Sr-Y', 'Tb-Dy-Lu', 'La-Gd-Dy', 'Y-Er-Mo', 'Ce-Sm-Pu', 'V-Pd-Ru', 'Li-Tb-Er', 'Yb-Pr-Ta', 'Yb-Gd-Er', 'Y-Ho-Cr', 'Pm-Cr-Mo', 'Eu-Th-Sc', 'La-Er-Ta', 'Ba-Y-Mo', 'Co-Hg-Ir', 'Lu-Pu-Ti', 'Y-Tm-Lu', 'Ba-Ca-Nd', 'K-Li-Mo', 'V-Hg-Bi', 'Tb-Gd-Ta', 'La-Pm-Lu', 'Ir-Ru-C', 'Ca-Y-Ti', 'Tb-Yb-Cr', 'Li-Sc-Mo', 'Er-Hf-Ti', 'La-Ta-W', 'La-Dy-Ti', 'Ce-Nd-Sc', 'Co-Pt-C', 'Tm-Lu-Ta', 'Na-Mg-V', 'Ce-Eu-Cr', 'Cs-Li-Mg', 'Gd-Pu-Mo', 'Re-Pd-Rh', 'Yb-Nd-Tm', 'Mg-U-V', 'Fe-Pd-Ru', 'K-Rb-Hf', 'Ba-Ca-V', 'Rb-Mg-V', 'La-Sm-Cr', 'Y-Cr-Mo', 'Cs-Ti-V', 'Tb-Th-Ti', 'Pm-Gd-Er', 'La-Er-Th', 'Tb-Gd-Sc', 'Ce-Pm-Lu', 'Pm-Sm-Pu', 'Hf-Sc-Ti', 'Y-Pu-Cr', 'Be-Zn-In', 'Yb-U-Ta', 'Nd-Y-Ta', 'Ce-Hf-Zr', 'Cs-K-Mo', 'Ag-Pd-C', 'Sm-Tm-Mo', 'Ho-Cr-Mo', 'Yb-U-Cr', 'Tb-Lu-Th', 'Yb-Th-Mo', 'Ca-Tb-Ce', 'Tb-Dy-Mo', 'Zn-Cd-Si', 'Pm-Pu-V', 'Yb-Nb-Mo', 'Hf-U-Ta', 'Li-Sm-Er', 'Li-Zr-Ti', 'Na-Ta-Cu', 'Pr-Er-Th', 'V-In-Mo', 'Er-Th-W', 'Pm-Dy-Th', 'Tb-Gd-Cr', 'Nd-Zr-Sc', 'Sr-Ca-Ti', 'Tm-Th-Cr', 'Gd-Sc-Cr', 'Li-Gd-Lu', 'Ag-Os-Rh', 'La-U-V', 'Th-Ta-V', 'Co-Pd-Pt', 'Ce-Ho-Sc', 'Cu-Re-Rh', 'Yb-Sc-Ti', 'Li-La-Nb', 'Cu-Ag-Au', 'Eu-Sc-Nb', 'Rb-Na-Hf', 'Co-Rh-Au', 'Tb-Ho-V', 'Ce-Gd-Er', 'Tb-Ce-Ti', 'Gd-Dy-Er', 'Zn-In-Ge', 'Ce-Nb-Mo', 'Y-Ho-Sc', 'Pm-Pr-Er', 'Li-Pr-Hf', 'Er-Lu-Cr', 'Li-Gd-Cr', 'Li-Gd-Mo', 'Yb-Lu-Th', 'Pu-Nb-W', 'La-Tb-Lu', 'Li-La-Tm', 'Cu-Ni-Ag', 'Yb-Pr-Th', 'La-Sc-W', 'Fe-Ag-C', 'Mg-Mn-Fe', 'Fe-Ag-Ru', 'Nd-Cr-Mo', 'La-Pr-Ti', 'Cr-Cu-Mo', 'Tb-Er-Sc', 'Li-Lu-Nb', 'Y-Lu-V', 'Lu-Ti-V', 'Sn-B-Pb', 'Li-Pr-Er', 'Re-Hg-Ir', 'Yb-Dy-Tm', 'Tb-Pm-V', 'Cs-K-Mg', 'Ni-Ir-Pt', 'Ca-Sc-Mo', 'Eu-Y-Th', 'Zr-Sc-Ti', 'Yb-Pu-W', 'K-Li-Zr', 'Yb-Pr-Gd', 'Y-Pu-Nb', 'Ce-Th-W', 'Ce-Y-Er', 'Nb-V-Bi', 'V-Cu-Bi', 'Y-U-Nb', 'Fe-Cu-Rh', 'Re-Pt-Rh', 'Pu-Ti-Mo', 'Re-Ir-Pt', 'Ca-Yb-Pu', 'Nd-Sm-V', 'Na-Sr-Ca', 'Ho-Pu-Ta', 'Ce-Ho-Cr', 'Ce-Zr-Nb', 'Pm-Th-V', 'La-Gd-Lu', 'Dy-Lu-Zr', 'Ta-Ti-W', 'Nd-Dy-Ho', 'Y-Ho-Ta', 'Sr-Y-Mo', 'La-Pr-Th', 'Cr-Cu-Bi', 'Pm-Lu-Mo', 'La-Pm-V', 'Sm-Er-Pu', 'Y-Pu-Mo', 'Ba-Sr-Ti', 'Ta-V-Cu', 'Ga-Hg-B', 'La-Pu-Cr', 'Nd-Pu-Ta', 'Li-Sc-Ta', 'Ca-Eu-Mn', 'Pr-Y-Er', 'Lu-Pu-W', 'Dy-Ti-Cr', 'Ce-Y-Tm', 'Na-Zr-Nb', 'La-Lu-Th', 'Tb-Nd-Er', 'Eu-Sc-Mo', 'Ca-Ce-Sc', 'Pr-Lu-W', 'Pm-Ho-Pu', 'Nd-Ta-Ti', 'La-Lu-V', 'Co-Pd-Au', 'Pr-Sm-Tm', 'Li-Mg-Mn', 'Lu-Cr-W', 'Eu-Hf-Th', 'Li-Gd-Pu', 'Er-Pu-Ta', 'Yb-Nd-Y', 'La-Eu-Mo', 'Gd-Ho-Pu', 'Cs-Li-Nb', 'La-Ho-Th', 'Rb-Zr-Nb', 'La-Pr-Mo', 'Nd-Gd-Ta', 'Th-U-Nb', 'Na-Mg-Cr', 'Ce-Sc-Nb', 'Eu-U-V', 'Na-Be-Al', 'Yb-Lu-Cr', 'Gd-Dy-Th', 'Pm-Sm-Mo', 'Cs-V-Mo', 'Pm-Pu-Cr', 'Gd-Y-Th', 'Cs-K-V', 'Tb-Yb-V', 'K-Ta-Mo', 'La-Yb-Mn', 'Rb-Li-Hf', 'Li-Gd-Er', 'La-Zr-Ti', 'Ce-U-Ti', 'Ba-Gd-Y', 'Ba-Y-Ti', 'Cu-Ni-C', 'Nd-Ti-V', 'Cd-Si-Pb', 'Nd-Tm-Pu', 'Tb-Er-Zr', 'Pr-Ho-Er', 'U-Cr-W', 'Nd-U-Cr', 'Fe-Pd-C', 'Na-Li-Fe', 'Ba-Ca-Yb', 'Sm-Er-Tm', 'Ca-La-Eu', 'Ca-La-Sc', 'Mn-Co-Pb', 'Nd-Sm-Tm', 'Tc-Pd-Pt', 'Cs-Ta-Ti', 'Ca-Eu-Mo', 'Li-La-Er', 'Ni-Ir-Ru', 'Fe-Ni-Rh', 'Pu-Nb-Mo', 'Yb-Y-Nb', 'Eu-Y-Hf', 'Re-Ni-Pd', 'Pm-Sm-Dy', 'Cu-Re-Ni', 'Lu-Nb-V', 'Tm-Lu-Cr', 'Ce-V-W', 'Ca-Ce-Lu', 'Ce-Sm-Gd', 'Re-Tc-Ni', 'Ag-Ru-Au', 'Mg-Cr-Fe', 'Ba-Ca-La', 'Ca-Yb-Tm', 'Ni-Os-Pt', 'Tl-Cd-Ge', 'Mg-Zr-Ti', 'Ba-Sc-V', 'Fe-Ru-Rh', 'Pr-Hf-Ta', 'Nd-Y-Er', 'Ho-Tm-Cr', 'Ce-Pu-V', 'Ce-Y-Ho', 'Eu-U-Cr', 'Tb-Sm-Dy', 'Ce-Pr-Ta', 'Sc-Ti-W', 'Sm-Dy-Y', 'Pm-Dy-Mo', 'Er-Lu-Ti', 'La-Gd-Th', 'La-Mn-V', 'Ba-Ti-Mo', 'Tb-Ce-Pr', 'Ag-Ru-Rh', 'Ba-Pr-Y', 'Yb-Dy-V', 'La-Pr-Sm', 'Li-Ta-Cu', 'La-Ho-Er', 'Tl-V-In', 'Tb-Ho-Tm', 'La-Y-W', 'Ru-Pt-Rh', 'Sm-Y-Lu', 'Tm-Lu-V', 'Ce-Er-Nb', 'Cr-W-Au', 'Yb-U-Ti', 'La-Eu-V', 'Pr-Nd-U', 'Li-Nb-Cu', 'Cu-Pt-W', 'Ni-Ag-Os', 'Yb-Hf-Zr', 'Li-Pm-Pr', 'Cs-Nb-V', 'Y-Ti-W', 'Fe-Ag-Os', 'Hf-Ta-Ti', 'La-Sm-Er', 'Er-Hf-Zr', 'Ir-Os-Rh', 'Dy-Ho-Er', 'Ba-Nd-V', 'Ag-Pd-Au', 'K-Rb-Nb', 'Pr-Sm-Lu', 'Nd-Dy-Th', 'Li-Pm-Tm', 'Ba-Yb-Nd', 'Tb-Pm-Er', 'La-Pm-Pu', 'Sm-Dy-Th', 'V-Cr-Fe', 'Tb-Pm-Pr', 'Ho-Pu-Mo', 'Ba-Yb-Eu', 'La-Sm-Mo', 'Li-Tb-Cr', 'Tb-Er-Ti', 'Na-Mg-Nb', 'Pr-Mo-W', 'Ce-Tm-Ta', 'Er-Ta-Nb', 'Gd-Ho-Th', 'Tb-Ho-Mo', 'Nd-Gd-Ho', 'Li-Pr-Sm', 'Cr-Ag-Au', 'Lu-Pu-Cr', 'Nb-Hg-Mo', 'Tb-Gd-Er', 'La-Yb-Pu', 'Fe-Ir-Ru', 'Sm-Tm-Pu', 'Th-Sc-W', 'Tb-Gd-Lu', 'Tb-Pm-Sm', 'Pr-Y-Ti', 'Er-Cr-W', 'Th-Sc-Ti', 'Y-Tm-Ta', 'La-Lu-Ta', 'Ga-Hg-Ge', 'U-Ti-V', 'Ce-Pr-Th', 'Ho-Th-W', 'Pm-Gd-Y', 'Li-Ho-Er', 'Cr-Fe-Ni', 'Rb-Ta-Mo', 'Ce-Pr-Tm', 'Li-Pr-Ho', 'Yb-Ta-Ti', 'La-Lu-Zr', 'Pm-V-Cr', 'Hg-Bi-Sb', 'Ce-Nb-V', 'K-V-Cr', 'Ca-Eu-Y', 'Y-Sc-V', 'Nd-Y-V', 'Ag-Ir-C', 'Ni-Ru-Rh', 'Li-Nd-Pu', 'Cs-Rb-Li', 'Na-Li-V', 'Gd-V-Cr', 'Co-Ag-Ir', 'B-Sb-Pb', 'Pr-Y-Tm', 'La-Zr-Nb', 'Tb-Pu-V', 'Re-Ni-Ir', 'Yb-Nb-W', 'Pm-Er-Pu', 'La-Y-Tm', 'Be-Si-Sn', 'Cr-Mo-W', 'Ce-Lu-Ta', 'Ce-Lu-Th', 'Li-Y-Ti', 'Tb-Ho-Lu', 'Tb-Sm-Th', 'Pm-Nd-Ho', 'Sc-U-V', 'Li-Nd-Ho', 'La-Nd-W', 'La-Yb-Pr', 'Ce-Er-Ta', 'Rb-Ti-Nb', 'La-Cr-Fe', 'Ce-Nd-V', 'Zr-Ta-Ti', 'Lu-V-W', 'Sm-Dy-Ho', 'Nd-U-V', 'Nd-Dy-Ta', 'Pm-Ho-Lu', 'Na-Ti-Mo', 'Pr-Er-V', 'La-Ti-Cr', 'Al-Ga-Pb', 'La-Pm-Dy', 'Sm-Lu-Pu', 'Gd-Er-Ta', 'Nd-Sm-Y', 'Tb-Pm-Nd', 'Al-Hg-Bi', 'V-Hg-Ru', 'Pm-Pr-Pu', 'Ce-Th-Nb', 'K-Hf-Ta', 'Pr-Dy-Ta', 'Li-Y-Cr', 'La-Er-Ti', 'Dy-Y-V', 'Lu-Pu-Ta', 'Nd-Tm-V', 'Pr-Lu-Ta', 'La-Pm-Gd', 'Tl-Cd-B', 'Yb-Y-Ta', 'Os-Pd-Ru', 'Sm-Dy-V', 'Pu-Np-Mo', 'Nb-V-Hg', 'Pr-Dy-Er', 'Nd-Tm-Th', 'Ho-Sc-Cr', 'Zr-Sc-Ta', 'Pm-Tm-Lu', 'V-Ag-Mo', 'Pr-Dy-Lu', 'Zn-Cd-Pb', 'Li-Sm-Pu', 'La-Tb-Pr', 'Cr-Ni-Ag', 'La-U-W', 'La-Ce-Nd', 'Yb-Lu-Ti', 'Yb-Tm-Lu', 'Na-Ca-Ti', 'Co-Hg-Pb', 'Pm-Pr-V', 'Be-Si-Ge', 'Sr-Y-Ti', 'Yb-Gd-Sc', 'V-Pd-W', 'Re-Ir-Os', 'Ce-Gd-Lu', 'Li-Ho-Pu', 'Be-Zn-Ga', 'Y-U-W', 'Ga-Hg-Bi', 'Ba-Pr-Gd', 'La-Tm-W', 'Li-Tb-Ce', 'Yb-Eu-Hf', 'Si-Ag-Pb', 'Ce-Cr-W', 'Gd-Mo-W', 'Th-Sc-Mo', 'Ag-Ir-Os', 'Cu-Re-Tc', 'Ce-Pm-Th', 'Ba-Fe-Ni', 'Ir-Os-Pd', 'Cr-Cu-Pb', 'La-Ce-Pm', 'Li-La-Y', 'Ca-Yb-Ti', 'Fe-Pd-Rh', 'Ce-Eu-W', 'Cs-Pr-Cr', 'Nb-Cu-W', 'Fe-Cu-Bi', 'Tb-Er-Mo', 'La-Th-Nb', 'Sm-Er-Lu', 'Yb-Ti-Nb', 'Al-Zn-Si', 'Yb-Ho-Zr', 'Cs-K-Li', 'Pr-Hf-Ti', 'Fe-Co-Bi', 'Tb-Pm-Cr', 'Lu-Th-Ti', 'Y-Ho-W', 'Li-Ce-Pr', 'Sm-Y-V', 'Ni-Pd-C', 'Sc-Ta-Ti', 'Zn-In-Si', 'Y-Lu-Th', 'Ce-Eu-Mo', 'Yb-Gd-Cr', 'Tb-Tm-Cr', 'Yb-Th-Ta', 'Tb-V-W', 'Ta-Tl-Cu', 'Hg-Mo-Pb', 'Sm-Er-Th', 'Co-Re-Rh', 'Co-Ag-Rh', 'La-Tm-Cr', 'Hf-Zr-Sc', 'Fe-Ni-Ru', 'Nb-Mo-W', 'Gd-Th-Sc', 'Pd-Pt-C', 'Pm-Dy-Er', 'Co-Ni-Ag', 'Gd-Dy-Tm', 'Tm-Pu-V', 'Nd-Dy-Lu', 'Dy-Er-Zr', 'Tb-Er-V', 'Nd-Tm-Ta', 'Sm-Er-Mo', 'Li-La-Zr', 'Th-Nb-W', 'Tb-Ce-Sc', 'Gd-Ho-Sc', 'Pr-Dy-Cr', 'Hf-Zr-Nb', 'Ca-Pu-Mo', 'Ti-Nb-W', 'Co-Ir-C', 'Ba-Sr-Nd', 'Ba-Yb-Mo', 'Yb-Th-Nb', 'Li-Nd-Ta', 'Ce-Er-V', 'Co-Re-Ag', 'Yb-Er-Lu', 'Re-Pd-Pt', 'Ni-Pd-Au', 'Ho-Sc-Ta', 'Cr-Fe-Au', 'Tb-Sm-Er', 'Ce-Gd-Pu', 'Li-Ce-Pm', 'Nd-Y-Ti', 'Li-Nd-Y', 'Nd-Y-Tm', 'La-Ho-Pu', 'La-Ce-Zr', 'La-Ti-W', 'Ag-Os-Ru', 'Pt-W-Au', 'Cu-Bi-Os', 'Pr-Nd-Ti', 'Fe-Co-Os', 'Li-Nb-V', 'Y-Sc-Cr', 'Be-Si-Bi', 'Li-Hf-Ta', 'Th-V-Cr', 'Ho-Mo-W', 'Pm-Y-Cr', 'Th-Zr-Ti', 'Gd-Ho-V', 'Yb-Pu-V', 'Tm-Ti-W', 'Cs-Mg-Ti', 'La-Gd-Mo', 'Li-Nd-Sc', 'Co-Ag-Pd', 'Ba-V-Mo', 'Pr-Gd-W', 'Ce-U-V', 'Tb-Dy-Ho', 'Sr-Ca-Sc', 'Nd-Sc-U', 'Li-Y-Ta', 'Y-Th-Cr', 'Cr-Cu-Ag', 'Fe-Os-Pd', 'Pm-Sm-Cr', 'Cu-Pb-W', 'Nd-Ho-Th', 'Pm-Nd-V', 'Ce-Nd-Lu', 'Fe-Ni-Pb', 'U-V-W', 'Nd-Ta-V', 'Dy-Pu-Zr', 'Ce-Pu-Nb', 'La-Ce-Ta', 'Tm-Lu-Th', 'La-Ho-Cr', 'Ba-La-Fe', 'Tm-Ti-Cr', 'Eu-Y-Pu', 'Yb-Y-Hf', 'La-Yb-Mo', 'Hf-Th-Nb', 'Nd-Sm-Pu', 'Na-Hf-Mg', 'Fe-Ag-Au', 'Li-Pu-Nb', 'Pr-Sm-Pu', 'Tb-Er-Lu', 'Sm-Gd-Er', 'Co-Cu-Au', 'Re-Ag-Os', 'Ru-Rh-Au', 'Mn-Tl-Ni', 'Pr-Er-Ta', 'La-Cr-Mo', 'Dy-Pu-Ta', 'Ta-In-Mo', 'Be-In-Ge', 'Y-Lu-Cr', 'Cd-Bi-Mo', 'Yb-Dy-Mo', 'Na-Hf-Ti', 'Ba-Nd-Gd', 'Ca-Mn-Co', 'Li-Nd-Zr', 'Co-Os-Pt', 'Co-Ru-Pt', 'Yb-Pu-Ta', 'K-Ta-Nb', 'Tb-Yb-Ta', 'Tb-Yb-Pr', 'Sc-Ti-Mo', 'Fe-Co-Ir', 'Fe-Cu-Ag', 'Hf-Th-Ti', 'Tb-Y-Sc', 'Hg-Ge-Pb', 'K-Nb-V', 'Li-La-Ta', 'Er-Th-Zr', 'K-Zr-Ta', 'Ce-Y-U', 'Gd-Lu-Mo', 'Li-Tb-Tm', 'Fe-Cu-Ni', 'Cu-Os-Pd', 'Tb-Tm-Th', 'Pr-Tm-V', 'Li-Y-Nb', 'Dy-Ho-Th', 'Na-Cu-Mo', 'Yb-Eu-Cr', 'Li-Ti-Cr', 'Cs-Hf-Ta', 'Co-Cu-Pt', 'Rb-Ti-Mo', 'Al-Ga-Bi', 'V-Cr-W', 'Pm-Gd-Lu', 'Li-La-Pu', 'Ce-Ho-Er', 'Ce-Hf-Nb', 'Ag-Rh-Au', 'Ce-Pu-Mo', 'Bi-B-Sb', 'Ho-Er-Zr', 'La-Ta-V', 'Tb-Dy-Tm', 'Pm-Lu-V', 'Tb-Tm-Mo', 'Zn-Cd-Bi', 'Ce-Nb-W', 'Sm-Tm-V', 'Th-U-W', 'Tb-Nd-V', 'Pr-Sm-Y', 'La-Pr-Lu', 'Ho-Sc-V', 'Ag-Bi-Os', 'Li-Tb-Nd', 'Sr-Y-Sc', 'Co-Re-Ni', 'Y-Tm-V', 'Ce-V-Mo', 'Pm-Tm-Th', 'Sm-Dy-Mo', 'Pd-Ru-Rh', 'Hg-Bi-Os', 'Sc-U-Nb', 'Yb-Pr-Pu', 'Al-Tl-In', 'Ho-Pu-V', 'Rb-Zr-Ti', 'Tm-Ti-Mo', 'Pr-Sm-Gd', 'Gd-Tm-Ta', 'Mn-V-Ag', 'Cr-Cd-Bi', 'Tb-Ta-W', 'V-Ag-Bi', 'La-Ho-Lu', 'La-Dy-Er', 'Li-Gd-Tm', 'Y-Er-V', 'Li-Sc-Ti', 'Np-Cr-Mo', 'Ag-Mo-Pb', 'Co-Hg-Bi', 'Mn-Tl-V', 'Eu-Y-Zr', 'Cu-Ir-Os', 'Tb-Gd-Ti', 'Pr-Hf-Th', 'Tb-Ce-Cr', 'Ag-Ir-Rh', 'Tl-Zn-In', 'Li-Sm-Cr', 'Nd-Sm-Lu', 'Re-Ni-Rh', 'Yb-Zr-Ti', 'La-Dy-V', 'Mn-Ru-Au', 'Dy-Tm-Th', 'Pr-Nd-V', 'Sm-Ho-Th', 'Eu-Nb-Mo', 'Y-Er-Ta', 'Ce-U-W', 'Sn-Ge-B', 'Nd-Ti-Mo', 'Hf-Sc-U', 'Tl-Ga-Ge', 'Tm-Ta-Mo', 'Fe-Ru-Au', 'Ho-Er-Sc', 'Yb-Th-W', 'Nd-Er-Mo', 'Cs-Rb-Ta', 'Lu-Zr-Ti', 'Zn-Ga-Ge', 'Pr-Pu-Mo', 'La-Eu-Pu', 'Yb-U-W', 'Yb-Gd-Th', 'Tl-Ge-Pb', 'Tb-Ce-Tm', 'Gd-Lu-W', 'La-Dy-Mo', 'Co-Re-Pt', 'Yb-Sc-Cr', 'Al-Zn-Ge', 'Tl-Ni-Pb', 'K-Rb-Ti', 'Y-Th-U', 'Pm-Y-Er', 'Ce-Sm-W', 'La-Ho-V', 'Ce-Y-W', 'Na-Ta-Mo', 'Tb-Ce-Er', 'Sm-Gd-V', 'Cs-Li-Cr', 'Pr-Pu-Ti', 'Dy-Zr-Ta', 'Ca-Fe-Co', 'Lu-Ta-W', 'Al-Ga-Si', 'Pr-Th-Ta', 'Na-Li-Hf', 'Ir-Ru-Rh', 'Fe-Ru-C', 'Ho-V-Mo', 'Lu-Th-Mo', 'Pu-Ta-V', 'Lu-Th-Cr', 'Ca-Tm-V', 'La-Dy-Cr', 'Ce-Sc-Cr', 'Li-La-Sm', 'Mn-V-Cu', 'Ni-Ag-C', 'Li-Tb-Sm', 'Cs-Ta-Mo', 'Li-Ho-Mo', 'Cs-Pr-Hf', 'Hf-Zr-Ti', 'Sm-Th-U', 'Pr-Er-Mo', 'Yb-Dy-Ta', 'Tb-Gd-Dy', 'La-Yb-U', 'Mn-Tl-Cu', 'Yb-Pr-Ho', 'La-Y-Ho', 'Ce-Pr-Ti', 'La-Nd-Th', 'Ce-Y-Nb', 'Ca-Lu-V', 'Tb-Pr-V', 'Dy-Er-Pu', 'Ni-Pt-Rh', 'Ni-Rh-C', 'Hf-Mg-U', 'Ca-Tm-Pu', 'Al-Hg-Ge', 'Nd-Ho-Mo', 'Li-Sm-Ta', 'Pm-Ho-Tm', 'Ca-Yb-Sc', 'Co-Cu-Pb', 'Li-Tm-Lu', 'Er-Sc-Mo', 'Sr-Mn-V', 'Pr-Gd-Cr', 'Na-Li-Cr', 'Na-V-Cu', 'Na-Zr-Ti', 'Pd-W-Au', 'Li-Gd-Ta', 'Li-Lu-Zr', 'Rb-Li-Mg', 'Co-Hg-Ru', 'Dy-Y-Ta', 'La-Nd-Tm', 'Al-Sn-Pb', 'Na-Zr-Ta', 'Er-Tm-Ti', 'Sr-Ca-Nd', 'Rb-Ti-V', 'Y-Nb-V', 'Tb-Nd-Sc', 'Rb-Na-Zr', 'Cd-Ga-Si', 'Ca-Tb-Yb', 'Sn-Ge-Pb', 'Yb-Gd-Zr', 'Y-Ho-Lu', 'Yb-Y-Cr', 'Ce-Gd-Ho', 'Ba-Sm-Gd', 'Cr-Cd-Fe', 'La-Y-Mo', 'Ba-Mn-Ni', 'Gd-Pu-Cr', 'Tb-Th-W', 'Ba-Mn-V', 'Cu-Ni-Pt', 'Lu-Ti-Cr', 'Pr-Gd-Pu', 'Er-Ti-Nb', 'La-Nd-V', 'Mn-Co-Ru', 'Yb-Eu-Pu', 'Li-Pm-Ho', 'La-Sm-Lu', 'La-Eu-Nb', 'Sn-Ge-Bi', 'La-Er-V', 'Yb-Pr-Cr', 'Ce-Lu-V', 'Rb-Nb-Mo', 'Tl-Ag-Ge', 'Gd-Lu-Th', 'Y-Er-Lu', 'Tb-Lu-V', 'Fe-Ir-Os', 'Hg-Os-Ru', 'Ba-Yb-Y', 'Nd-Y-Mo', 'Ce-Sm-Tm', 'Ba-Pr-V', 'La-Pr-Dy', 'Rb-V-Mo', 'Ba-Ca-Pm', 'La-Tm-Pu', 'Lu-Th-Nb', 'Al-Ge-Bi', 'Li-Y-Lu', 'K-Mg-Zr', 'Hg-Ir-Ru', 'Nd-Th-Mo', 'Cs-Ta-Nb', 'Cu-Pd-W', 'Yb-Dy-Cr', 'Dy-Th-Cr', 'Hg-Ge-Bi', 'Cu-Ni-Pd', 'Y-Ti-V', 'Sm-Ho-V', 'Dy-Y-W', 'Tb-Nd-Ho', 'Ta-Ti-Mo', 'Tm-Lu-Ti', 'Li-Tm-V', 'Nd-Gd-Tm', 'Na-Cr-Fe', 'Li-Cr-Mo', 'Tb-Pm-Mo', 'Lu-Mo-W', 'Th-Ta-Ti', 'Cd-Ge-B', 'Th-Ti-Nb', 'Yb-Mo-W', 'Nd-Lu-W', 'Al-Cd-Pb', 'Tb-Nd-Th', 'Ag-Os-Pd', 'Yb-Cr-W', 'Ce-Zr-Sc', 'Co-Hg-Os', 'Ba-Sr-V', 'Nd-Y-Cr', 'Tb-Tm-Ta', 'Tb-Er-Th', 'Re-Ni-Ru', 'Y-U-Ti', 'Yb-Gd-Lu', 'Sc-Ti-Nb', 'Ce-Sm-Th', 'Pr-Gd-Ti', 'Nd-Y-Lu', 'Dy-Y-Cr', 'Ca-La-Pu', 'Ce-Lu-Nb', 'Cu-Ru-Rh', 'Si-Sn-Pb', 'Cu-Re-Ag', 'Ga-Ge-Bi', 'La-Eu-Th', 'Tb-Ce-Nd', 'Yb-Pr-Lu', 'K-Ti-Nb', 'K-V-Fe', 'Lu-Pu-Mo', 'Pm-Er-Cr', 'Pr-Sm-V', 'Al-Si-Pb', 'Sm-Gd-Th', 'Ni-Ir-Os', 'Cu-Re-Ir', 'Tl-Ge-B', 'Ba-Pm-Gd', 'Yb-Er-Pu', 'Fe-Bi-Os', 'Yb-Lu-W', 'Cs-Pr-V', 'Ca-Tb-Nd', 'Li-Ho-Lu', 'Tb-Er-Ta', 'Ca-La-Mo', 'Gd-Zr-Ti', 'Gd-Ho-Tm', 'Nd-Lu-Pu', 'Tb-Yb-Zr', 'La-U-Cr', 'Pm-Th-Cr', 'Ba-Ca-Eu', 'La-Ce-V', 'U-Nb-V', 'Ca-Ce-Pm', 'Ho-Er-Lu', 'Y-Er-Th', 'Gd-Tm-Pu', 'Yb-Tm-Ta', 'La-Eu-W', 'Rb-Hf-Ti', 'Li-Er-Ti', 'Pm-Er-Lu', 'Li-Hf-Sc', 'Sr-V-Fe', 'Pm-Tm-Mo', 'Er-Th-Cr', 'Ca-Lu-Ti', 'Li-Y-Tm', 'Ba-Ca-Ti', 'Tb-Pm-Dy', 'Sm-U-Cr', 'Ce-Eu-Ta', 'Nd-Y-Th', 'Fe-Co-Ru', 'Gd-Y-Ho', 'Cs-Mg-Nb', 'Ho-Th-V', 'Y-Th-Ti', 'Li-La-Lu', 'Li-Ta-Ti', 'Ce-Th-Sc', 'Li-Ti-Nb', 'Yb-Ho-Tm', 'K-Rb-Li', 'Er-Hf-Th', 'Cu-Tc-Mo', 'Ni-Rh-Au', 'Ni-Ag-Pd', 'Cr-Fe-Bi', 'Y-Sc-Ta', 'Tb-Nd-Lu', 'Dy-Er-Tm', 'Rb-Hf-Ta', 'Li-Tb-Lu', 'Sm-Gd-Y', 'Ir-Pd-Ru', 'Pm-Nd-Pu', 'Ba-Pm-Y', 'Y-Hf-Ti', 'Nd-Gd-Zr', 'Th-U-Ti', 'K-Mg-Fe', 'Ni-Pt-C', 'Cu-Pd-Ru', 'Gd-V-Mo', 'Co-Ag-Bi', 'Li-Ce-Cr', 'Tm-Th-Ta', 'Pm-Dy-V', 'Er-Sc-Ta', 'Sm-Th-Nb', 'Yb-Mn-V', 'K-V-Mo', 'Dy-Tm-Lu', 'La-Tb-W', 'Yb-Nd-Th', 'Y-Ho-Zr', 'Yb-Pu-Nb', 'Ce-Pr-Sm', 'Co-Re-Pd', 'Ce-Pu-Cr', 'Ag-Mo-Au', 'Ca-V-Mo', 'Tl-Cu-Ag', 'Tb-Lu-Cr', 'Be-Sn-Ge', 'Y-Er-Tm', 'Nd-Dy-Pu', 'Nd-Ho-Er', 'Be-Zn-Si', 'La-Pr-Cr', 'In-Ga-Ge', 'Li-Fe-Ni', 'Ni-Ru-C', 'Gd-Sc-W', 'Gd-Cr-Mo', 'Er-Tm-Ta', 'Cu-Mo-W', 'Pm-Ho-Mo', 'Hf-Th-Ta', 'Sc-Mo-W', 'Cr-Cd-Mo', 'U-Ta-Nb', 'Tb-Th-Cr', 'Co-Cu-Ag', 'Zn-Sn-B', 'Pm-Lu-Cr', 'Ba-Eu-Mo', 'Er-Lu-Pu', 'Ni-Ir-Rh', 'Li-Mn-Cu', 'Mg-U-Ti', 'Gd-Ti-W', 'Co-Ni-Pd', 'Yb-Er-Zr', 'Yb-Ho-Mo', 'Cu-Ir-C', 'Nd-Er-Th', 'U-Ti-Nb', 'Sm-Lu-Ta', 'Mn-Ag-Au', 'Pm-Th-Mo', 'Er-Lu-Zr', 'Nd-Tm-Lu', 'Sc-Ta-W', 'Dy-Er-Ta', 'Eu-Pu-V', 'Y-Th-Nb', 'Eu-Mo-W', 'Nd-Gd-Dy', 'Cs-Ti-Nb', 'La-Nd-Er', 'Nd-V-Cr', 'Zn-Si-Pb', 'Mg-Cd-Fe', 'Re-Ag-Pd', 'Sr-V-Mo', 'Fe-Ag-Bi', 'V-Cu-Ru', 'Sm-U-Ta', 'Ce-Pu-Ti', 'Na-Fe-Cu', 'Li-Sm-Ho', 'Yb-Ho-V', 'La-Yb-Zr', 'Li-Pu-V', 'Tm-V-Cr', 'Ta-Cu-W', 'Tb-Pm-Lu', 'Ni-Ag-Rh', 'Pm-Y-Pu', 'Pu-Zr-Ta', 'Eu-Pu-Zr', 'Th-Zr-Nb', 'K-Rb-Zr', 'Sm-Lu-Cr', 'Mg-Cd-Mo', 'Tb-Pr-Ho', 'Ce-Eu-U', 'La-Nd-Pu', 'Ru-Pt-C', 'La-Lu-Pu', 'Pm-Tm-V', 'Yb-Th-U', 'Ce-Pm-Ho', 'Co-Ni-Au', 'Si-Sn-Ge', 'Er-Th-Ti', 'Os-Pd-Rh', 'Hf-Mg-Zr', 'Mo-W-Au', 'Sm-Gd-Lu', 'Ca-Tb-Lu', 'Ho-Lu-W', 'Fe-Co-Rh', 'La-Sm-Dy', 'Be-Al-Bi', 'Er-Tm-Pu', 'Sn-Bi-B', 'Nd-Ta-Mo', 'Eu-Th-Cr', 'La-Nd-Sm', 'Pm-Nd-Cr', 'Dy-Th-Zr', 'Pm-Er-Tm', 'Tl-Zn-Ga', 'Y-Pu-W', 'Ba-Pm-Nd', 'Ce-Pr-Y', 'V-Cr-Mo', 'Ce-Th-Cr', 'Yb-Dy-Er', 'La-Er-Sc', 'Li-Mg-Cr', 'Y-Lu-Mo', 'Sm-Y-Nb', 'Ce-Eu-Hf', 'Ag-Ge-C', 'Sm-Ho-Cr', 'Na-Li-Cu', 'Tb-Yb-Sc', 'Pr-Gd-Ho', 'Dy-Y-Mo', 'Er-Pu-Cr', 'Na-Li-Nb', 'Pm-Nd-Er', 'La-Ce-Sm', 'Dy-Y-Ti', 'Ca-Nd-Mo', 'Nd-Sm-Er', 'Yb-Nd-Er', 'Li-Nb-Mo', 'Ca-Ce-Mo', 'Cs-Li-Pr', 'Y-Zr-Ta', 'Sm-Dy-Cr', 'Ho-Tm-Th', 'Dy-Y-Tm', 'Pu-Cr-Mo', 'Ce-Sc-V', 'Sm-U-V', 'La-Sm-Gd', 'Yb-Nd-U', 'Pr-Dy-Ho', 'Ho-Er-V', 'Lu-Th-Zr', 'Yb-Nd-Sc', 'Rb-Ta-Nb', 'Gd-Er-Lu', 'Ho-Sc-Mo', 'Tc-Pd-Rh', 'Ce-Tm-Th', 'Cu-Pt-Rh', 'La-Ho-Tm', 'Sm-Ho-Er', 'La-Gd-Cr', 'Al-Zn-Cd', 'Cs-Pr-Ta', 'Pm-Pr-Nd', 'Os-Pt-Rh', 'Er-Mo-W', 'Gd-Dy-Ho', 'Tb-Er-Tm', 'Ce-Nd-Sm', 'Be-Al-Ga', 'Cu-Tc-Ni', 'Nd-Pu-Mo', 'Ca-La-Tb', 'Be-Zn-Bi', 'Cu-Rh-Au', 'Lu-Pu-Nb', 'Pr-Nd-Th', 'Rb-Na-Mo', 'Yb-Pr-Nd', 'Ce-Pr-V', 'Hf-Mg-Nb', 'Tb-Th-Mo', 'Co-Ag-Os', 'Li-Tb-Ti', 'Yb-Tm-Ti', 'Yb-Y-Th', 'Yb-Ta-V', 'Sc-Ta-V', 'La-Lu-Ti', 'Ca-Ce-Pu', 'Ce-Ho-Ta', 'La-U-Ti', 'Pu-Ta-Mo', 'Yb-Y-Tm', 'Er-Zr-Ti', 'U-Cr-Ag', 'Dy-Tm-V', 'Si-Ag-Bi', 'Tb-Y-V', 'Pr-Gd-Tm', 'Ce-Er-Th', 'Tl-Cu-B', 'Ho-Sc-W', 'Li-Mg-Nb', 'Y-Lu-W', 'Sc-V-Cr', 'Cu-Bi-B', 'Tl-Zn-B', 'Nd-Ho-V', 'Ni-Pt-Au', 'Sm-Er-Cr', 'Li-Lu-Pu', 'Yb-Y-Mo', 'Ce-Th-Zr', 'Pr-Lu-Cr', 'Ir-Os-Ru', 'Er-Cr-Mo', 'Tb-Sm-V', 'Dy-Ti-W', 'Nb-Tl-Mo', 'La-Lu-Mo', 'Ag-Pd-Rh', 'Hf-Sc-Ta', 'Re-Os-Pt', 'La-Th-W', 'Pm-Y-Th', 'Y-Hf-Ta', 'Pr-Y-Ta', 'Na-Hf-Zr', 'Tl-V-Cu', 'Gd-Y-Pu', 'Li-Pu-Cr', 'Pr-Sm-Dy', 'Ce-Gd-Ti', 'Mn-Fe-Ag', 'Y-Th-W', 'Ba-Eu-V', 'Ce-Ho-Zr', 'Gd-Zr-Sc', 'Ce-Y-Zr', 'Mn-Ni-Pb', 'Tb-Pr-Er', 'Nd-Lu-Cr', 'Nb-Cu-Bi', 'Li-Ho-V', 'Li-Sm-Tm', 'Al-Ge-Pb', 'Tb-Pu-Ti', 'Tb-Ta-Mo', 'Nd-Sc-Ta', 'Sr-Sc-V', 'Er-Pu-Ti', 'Mg-Nb-Mo', 'Dy-Pu-V', 'Gd-Tm-Ti', 'Na-Li-Be', 'Sm-Ta-V', 'La-Pr-Y', 'Ce-Ti-Nb', 'Ce-Er-Lu', 'Er-Lu-W', 'Lu-Pu-V', 'Fe-Ir-C', 'Li-Y-V', 'Pm-Pr-Ho', 'Th-Sc-Cr', 'Tl-In-Ge', 'Tm-Pu-Ta', 'Tc-Ni-Rh', 'La-Yb-Y', 'Li-Pr-Ti', 'Sr-Nd-Ti', 'Ce-Sc-W', 'La-Th-V', 'Li-Ce-Zr', 'Ba-La-V', 'La-Y-Lu', 'Ce-Pr-Hf', 'Cs-K-Hf', 'Sm-Gd-Pu', 'Li-Ta-V', 'La-Yb-Lu', 'La-Dy-Zr', 'Y-Pu-Ta', 'Th-Zr-Ta', 'Ho-Tm-Lu', 'Ce-Lu-Cr', 'Tb-Mo-W', 'La-Pu-Ta', 'La-Pr-Tm', 'Cs-Ti-Mo', 'Bi-Sb-P', 'Mn-Cu-Au', 'Mg-Ti-Cr', 'Er-Th-Ta', 'Th-Ti-Cr', 'Cr-Cu-Ni', 'Er-Nb-W', 'Tb-Tm-Lu', 'Li-La-Pr', 'Ce-U-Ta', 'Tc-Ni-Ir', 'Pr-Ho-W', 'Li-Cr-Fe', 'La-Sm-W', 'Fe-Cu-Ir', 'Co-Cu-C', 'Nb-Tl-V', 'Co-Pt-Rh', 'Ce-Er-Zr', 'Re-Ir-Rh', 'Lu-Pu-Zr', 'Eu-Nb-V', 'Ce-Sc-Ta', 'Ir-Pd-Pt', 'Hg-Ir-Os', 'Y-Sc-Mo', 'La-Th-Zr', 'Tl-V-Mo', 'Co-Cu-Os', 'Pm-Y-Mo', 'Ce-Pr-Pu', 'Tb-Pr-Mo', 'Yb-Th-V', 'Pm-Dy-Ho', 'Co-Ru-Au', 'Tb-Yb-Y', 'Gd-Y-Sc', 'Dy-Ho-Zr', 'La-Ta-Nb', 'La-Tm-Ta', 'U-Ti-Cr', 'La-Pm-Y', 'Cs-K-Nb', 'Tb-Nd-Zr', 'Nd-Th-Ta', 'Li-Lu-V', 'Sm-V-Mo', 'La-Nd-Mo', 'Gd-Zr-Ta', 'Ce-Nd-Tm', 'Tb-Yb-Gd', 'Ce-Th-V', 'Pr-U-Ti', 'La-Er-Cr', 'Dy-Y-Pu', 'Li-Pr-Y', 'Ce-Er-Mo', 'Dy-Y-Th', 'Er-Sc-Nb', 'La-Nb-Mo', 'Ca-Ce-Tm', 'Eu-U-Nb', 'La-Sc-U', 'Li-Ce-Er', 'La-Dy-Tm', 'Lu-Ta-Mo', 'Gd-Y-Zr', 'Li-Ce-Mn', 'Cr-Cd-Pb', 'La-Tm-Ti', 'Rb-Mg-Cr', 'Tb-Gd-Pu', 'Eu-Sc-V', 'Co-Ag-Au', 'La-Tb-Ta', 'Rb-Mg-Ti', 'Cu-Ir-Pt', 'Rb-Hf-Nb', 'Gd-Ta-Ti', 'Er-Pu-W', 'V-Cu-Pd', 'Dy-Pu-W', 'Sc-Ti-V', 'Tb-Gd-Zr', 'Li-Tb-V', 'Er-Ta-Mo', 'V-Cr-Hg', 'La-Y-Ti', 'Ta-Cu-Mo', 'Ta-Nb-Bi', 'Nd-Sm-Ta', 'V-Fe-Ag', 'Yb-Eu-Nb', 'La-Nb-V', 'Pd-Au-C', 'Sc-Cr-W', 'Mn-Co-Cu', 'Yb-Nd-Mo', 'Sm-Er-V', 'Ce-Pr-U', 'Ag-Ir-Pd', 'Nd-Ti-Cr', 'Li-Y-Zr', 'La-Ce-U', 'Al-Si-Sn', 'La-Eu-Cr', 'In-Si-Ge', 'V-Cr-Cu', 'Al-Sn-Ge', 'Ba-Mn-Fe', 'Th-Ti-V', 'Cs-Li-Mo', 'Ca-Pu-Ti', 'Al-Si-Bi', 'Li-Mg-Fe', 'Yb-U-V', 'Mn-Tl-Cd', 'Fe-Ir-Rh', 'Tb-Nd-Pu', 'Nd-Er-Zr', 'Ba-Sr-Ca', 'La-Eu-Y', 'Sm-Ho-Lu', 'Y-Ho-Tm', 'Tc-Ir-Pd', 'Cs-Hf-Nb', 'Gd-Ti-Mo', 'Dy-Tm-Mo', 'La-Pm-Th', 'Yb-Pu-Zr', 'Ce-U-Nb', 'Ir-Os-Pt', 'Ce-Sm-Ho', 'Tb-Y-Ta', 'Pm-Y-V', 'Pr-Th-Cr', 'Tb-Ce-W', 'Hg-Bi-B', 'Tb-Ce-V', 'Pr-Y-Ho', 'Cu-Ni-Rh', 'Fe-Co-Pb', 'Pr-Tm-Pu', 'Zn-Sn-Ge', 'Yb-Eu-Y', 'Cd-Fe-Pb', 'La-Gd-Sc', 'Ga-Bi-B', 'Sm-Gd-Tm', 'Co-Pt-Au', 'Ce-Er-Hf', 'Tb-Ce-Y', 'Sr-Ti-Mo', 'Cr-Fe-Cu', 'Yb-Hf-U', 'Eu-Hf-Ta', 'Zn-Ge-B', 'Ca-Sc-V', 'Nd-Sm-Cr', 'Ce-Tm-Ti', 'Na-Ca-Mo', 'Tl-Cd-Si', 'Nd-Lu-V', 'Li-Sc-V', 'Pr-Dy-Th', 'Pr-Th-W', 'Co-Cu-Pd', 'Tb-Pu-W', 'Li-Ti-Mo', 'Pm-Y-Lu', 'La-Y-Th', 'Pr-Sm-Er', 'Pr-Ho-Mo', 'Yb-Gd-Ta', 'Gd-Er-Pu', 'Ho-V-W', 'Yb-Dy-Th', 'Li-Mg-Ti', 'Yb-Er-Tm', 'Lu-Ti-Nb', 'Ca-Nd-Tm', 'Tb-Ce-Th', 'Dy-Ta-Mo', 'Sr-Ca-Mo', 'Tb-Ti-Mo', 'Pr-Y-V', 'Yb-Pr-Ti', 'Cd-Ga-Pb', 'Tb-Th-Zr', 'La-Ce-Lu', 'Sm-Pu-Mo', 'Li-Sm-V', 'Ba-Yb-Pr', 'Gd-Ho-Ta', 'Eu-Pu-Cr', 'La-Er-Pu', 'Pm-Lu-Pu', 'Ce-Pr-W', 'U-V-Ag', 'Cs-Li-V', 'Yb-Y-Ho', 'La-Th-Cr', 'Tb-Sc-Cr', 'Eu-Ta-W', 'Cs-Rb-Zr', 'Pm-Gd-Mo', 'Sr-Ti-V', 'Cu-Ru-Au', 'La-Sm-Pu', 'La-U-Nb', 'Pr-Gd-Th', 'Er-V-Mo', 'Ho-Lu-Cr', 'Yb-Er-Ta', 'Y-Lu-Zr', 'Cr-Ag-Bi', 'Sm-V-W', 'Li-Y-Er', 'Gd-Ho-Cr', 'Sc-U-Ti', 'Rb-Mg-Nb', 'Th-Ta-W', 'K-Hf-Zr', 'Ho-Lu-Ta', 'Ba-Nd-Sm', 'Rb-Na-Nb', 'Ce-Sm-Nb', 'Pr-Cr-Mo', 'Ba-Pr-Mo', 'Li-Nd-Tm', 'Re-Os-Ru', 'Eu-Cr-W', 'Nd-Er-Ti', 'Cs-Rb-Mo', 'Tb-Pm-Tm', 'Cs-K-Ti', 'Na-Sr-V', 'La-Ce-Eu', 'La-Gd-Pu', 'Tb-Lu-Pu', 'Th-U-V', 'Li-Zr-Ta', 'Lu-Th-W', 'Tb-Nd-Sm', 'Nb-Bi-Mo', 'Cd-Si-Bi', 'Sm-Ho-Tm', 'Be-In-Si', 'Sr-Ca-Fe', 'Pd-Pt-Au', 'Pm-Pr-Mo', 'La-V-Cr', 'Ce-Gd-Tm', 'La-Ce-Mn', 'La-Th-U', 'K-Li-Hf', 'Ho-Er-Tm', 'Nd-Gd-Lu', 'Ce-Sm-Cr', 'Nd-Dy-Cr', 'Tb-Lu-Zr', 'Er-Pu-Zr', 'Sm-Cr-Mo', 'Pm-Sm-Tm', 'Sc-U-Ta', 'Cs-Cr-Mo', 'Yb-Hf-Ta', 'Pr-Th-V', 'Zn-Ga-Pb', 'Yb-Nd-Ta', 'Er-Zr-Nb', 'Pm-Sm-Lu', 'Mn-Cd-Fe', 'Ba-La-Gd', 'La-Tb-Gd', 'Yb-Nd-Ho', 'Pr-Y-W', 'Er-Ta-Ti', 'Co-Re-Os', 'Co-Ni-Os', 'La-Ce-Ti', 'Sm-Y-Er', 'Pm-Sm-V', 'Yb-Y-Pu', 'Hf-Mg-Ti', 'Pr-Ho-Th', 'Pm-Pr-Dy', 'Pm-Sm-Gd', 'K-Mg-Mo', 'V-In-Fe', 'Yb-Ta-Nb', 'Li-Tb-Sc', 'Y-Th-V', 'Th-Cr-Mo', 'Ba-Eu-Y', 'Ce-Sm-V', 'Pr-Lu-Th', 'Ba-Ca-Fe', 'Ge-Bi-B', 'Ce-Th-Ti', 'Rb-Zr-Ta', 'Yb-Pr-Hf', 'Si-Ge-Au', 'Li-Er-Sc', 'Ba-La-Sm', 'Er-Zr-Ta', 'Ce-Pr-Gd', 'Y-Ta-Ti', 'Na-Ta-Ti', 'Yb-Tm-V', 'Tb-Pm-Th', 'Sm-Pu-W', 'Pr-Tm-Th', 'Ba-Sc-Mo', 'Ag-Bi-Mo', 'Nb-Cu-Mo', 'Tb-Ho-Zr', 'Pm-Sm-Ho', 'Zn-Ge-Bi', 'Tb-Pr-W', 'Ca-Ce-Mn', 'Tm-Ti-V', 'Tc-Ni-C', 'Eu-Pu-W', 'La-Tb-Sm', 'Yb-Lu-Ta', 'Yb-V-Mo', 'Ce-Y-Th', 'Tb-Nd-Ti', 'Cu-Ir-Pd', 'Ba-La-Mo', 'La-Gd-Er', 'Ga-Sn-Ge', 'Tb-Ho-Ta', 'Er-Th-V', 'Pr-Y-Hf', 'Dy-Zr-Ti', 'Lu-V-Cr', 'Pr-Gd-V', 'La-Ti-Mo', 'Tb-Pu-Zr', 'Lu-Nb-Mo', 'Cs-Rb-Mg', 'Fe-Co-Ni', 'K-Ti-Mo', 'Tb-Yb-Mo', 'Fe-Au-C', 'Dy-Ho-Pu', 'Y-Pu-Zr', 'Tb-Pr-Th', 'Sc-Ta-Mo', 'Gd-Ho-Mo', 'Li-Y-Hf', 'Mn-V-Ru', 'Yb-Ti-Mo', 'Sm-Y-Pu', 'La-Nd-Lu', 'Ga-Si-Sn', 'Ba-Y-Sc', 'Nd-Y-U', 'Gd-Lu-Cr', 'Eu-Ta-Mo', 'Er-Tm-Th', 'Be-Ga-Bi', 'K-Li-Fe', 'Tl-V-Ag', 'Co-Os-Ru', 'V-Hg-Mo', 'Fe-Co-C', 'La-Tb-Th', 'Pr-Dy-Pu', 'Ta-Nb-W', 'Li-Pu-Ti', 'Zn-In-Ga', 'Tb-Ce-Zr', 'Ca-Yb-Lu', 'La-Y-Er', 'Yb-Ho-Er', 'La-Lu-Cr', 'Li-Ho-Cr', 'Yb-Pr-Tm', 'Li-Pr-Cr', 'Ho-Th-Sc', 'Pr-Sm-W', 'Tb-Lu-Mo', 'Yb-Eu-Mn', 'Nd-V-Mo', 'Ga-Hg-Pb', 'Pm-Nd-Y', 'Ba-Gd-Mo', 'Ni-Ru-Pt', 'Y-Er-Sc', 'Ca-Lu-Mo', 'Al-Zn-Sn', 'Th-V-Mo', 'Fe-Ni-Pd', 'Tb-Sm-Mo', 'Li-Pu-Ta', 'Pm-Dy-Tm', 'Fe-Co-Cu', 'Gd-Th-V', 'Dy-Ti-V', 'La-Ce-Gd', 'Yb-Th-Sc', 'Tb-Ho-Sc', 'Tb-Y-Zr', 'Tc-Ir-Rh', 'Ce-Nd-Ti', 'Yb-Y-U', 'Na-V-Cr', 'Nd-Lu-Th', 'Ho-Pu-Zr', 'Ba-Ca-Y', 'Fe-Os-Ru', 'Pm-Ho-Th', 'Gd-Th-Cr', 'Tb-Dy-Ti', 'La-Sc-V', 'Sr-Mn-Fe', 'La-Mo-W', 'Dy-Lu-Ta', 'Tl-Zn-Si', 'Nb-Tl-Cu', 'Pu-Np-Cr', 'Ir-Pt-C', 'Yb-Dy-Ti', 'Li-Pu-Mo', 'Pr-Tm-Mo', 'Nd-Dy-Er', 'Ce-Tm-V', 'Be-Al-Si', 'Dy-Th-V', 'Al-Cd-Si', 'La-Er-Nb', 'Tb-Nd-Ta', 'Eu-Hf-Nb', 'Re-Os-Pd', 'Nd-Tm-Cr', 'Sm-Tm-Th', 'Cs-Ta-V', 'Tb-Pu-Mo', 'Mg-Mn-V', 'Cu-Pd-Pt', 'Li-Er-Hf', 'Li-Lu-Ta', 'Y-Lu-Pu', 'Yb-Ho-Pu', 'Li-Sm-Y', 'Dy-Ti-Mo', 'Ca-Ti-V', 'Pr-Hf-U', 'La-Yb-Gd', 'Eu-Mn-V', 'Tb-Ti-Cr', 'Yb-Nd-Cr', 'Ti-Cr-Mo', 'Mg-Zr-Nb', 'Ta-Ti-Nb', 'Li-Nd-Sm', 'Tl-Ag-Pb', 'Tb-Gd-V', 'Gd-Pu-W', 'Cu-Pd-Rh', 'Li-Zr-Sc', 'Gd-Cr-W', 'Cu-Ru-Pt', 'Li-Er-Cr', 'Yb-Sc-Mo', 'Gd-Er-Cr', 'Pr-Lu-Pu', 'V-Fe-Bi', 'La-Gd-Ta', 'Ta-V-Bi', 'Tb-Cr-Mo', 'Cr-Mo-Au', 'Tb-Ce-Lu', 'Ca-La-Fe', 'Gd-Y-Cr', 'Cr-Fe-Pb', 'Cr-Bi-Mo', 'Ce-Pr-Mo', 'Sr-Sc-Ti', 'Ag-Ge-Bi', 'Y-Ta-V', 'Er-V-Cr', 'Sm-U-Nb', 'Cr-Hg-Mo', 'La-Pr-Pu', 'Ca-Ce-V', 'Th-V-W', 'Ba-Nd-Sc', 'Ce-Eu-Sc', 'Y-Ta-W', 'Cs-Li-Hf', 'Tb-Nd-Gd', 'K-Rb-Mo', 'Ca-Tm-Lu', 'Tb-Dy-Th', 'Ce-Pu-Ta', 'Yb-Hf-Nb', 'Y-Sc-W', 'Gd-Dy-Cr', 'Yb-Pu-Mo', 'Ce-Pr-Nd', 'Dy-Er-Mo', 'Y-Er-Zr', 'Hf-Th-Sc', 'Cu-Mo-Pb', 'Ho-Pu-Cr', 'Na-Mg-Mo', 'Cu-Re-Ru', 'Si-Ag-Ge', 'Ba-La-Eu', 'Pm-Lu-Th', 'Mn-V-Fe', 'Ca-La-Pm', 'Pr-U-V', 'Nd-Er-Tm', 'Re-Ni-Os', 'Gd-Y-Ti', 'Ce-Hf-Sc', 'La-Nd-Ti', 'Yb-Ho-Sc', 'Al-Cd-Bi', 'Al-Tl-Si', 'Tb-Sm-Lu', 'Pm-Sm-Er', 'Ce-Ti-W', 'Pr-Gd-Y', 'Dy-Cr-W', 'Zn-Sn-Bi', 'Rb-Mg-Mo', 'Tl-In-Mo', 'Ca-V-Fe', 'Th-Ta-Nb', 'Gd-Er-Ti', 'La-Er-W', 'Nd-Th-U', 'Ce-Pm-V', 'Tb-Y-Pu', 'Gd-Th-Mo', 'Yb-Pr-Mo', 'Yb-Hf-Ti', 'Rb-Ta-Ti', 'Dy-Pu-Ti', 'Be-Ga-Sn', 'Y-Ho-Pu', 'Ba-Yb-V', 'Yb-Y-Sc', 'Tb-Nd-Y', 'Ho-Zr-Ta', 'Pm-Gd-Tm', 'Li-Mn-V', 'Ce-Eu-Mn', 'Be-Al-Zn', 'Zn-Ge-Pb', 'Pr-Ho-Ta', 'Tb-Y-Ho', 'Li-Sm-Lu', 'Dy-Pu-Mo', 'Ba-Ca-Mn', 'Ho-Th-Cr', 'Er-Hf-Nb', 'Ca-Pu-V', 'Os-Pd-Pt', 'Pr-Pu-W', 'Cr-Ag-Pb', 'La-Ce-Sc', 'Mn-Cu-Pb', 'Yb-Sc-Nb', 'La-Nd-Ta', 'Ce-Ho-W', 'Re-Ag-Rh', 'Tl-Mo-Pb', 'Sm-V-Cr', 'Co-Ir-Rh', 'Pm-Gd-Pu', 'Ce-Er-Ti', 'Ce-Sm-Ta', 'La-Tb-Cr', 'Yb-Gd-Ti', 'Cu-Ni-Os', 'Rb-V-Cr', 'Yb-Zr-Ta', 'Nd-Sc-V', 'Tl-Cd-Pb', 'Tb-Sm-Gd', 'Sm-Gd-Dy', 'Tb-Yb-Dy', 'Li-Er-Mo', 'Pr-Er-Cr', 'Mg-U-Cr', 'La-Ce-Ho', 'Th-Sc-Nb', 'Nd-Gd-Y', 'Eu-Hf-Sc', 'Ce-Sc-Ti', 'Gd-Pu-V', 'Er-Ti-W', 'Ca-Pm-Lu', 'Co-Cu-Ru', 'Yb-Eu-Zr', 'Sm-Lu-W', 'Y-U-Ta', 'Y-Th-Sc', 'V-Mo-W', 'Ce-Tm-Mo', 'Cs-Ti-Cr', 'Nd-Dy-Ti', 'Li-Ho-Sc', 'Si-Ag-Au', 'Yb-Sc-W', 'Tl-Cd-Ga', 'Tb-Th-Sc', 'Ce-Cr-Mo', 'Yb-Pr-Er', 'Nd-Th-Zr', 'Pr-Nd-Sm', 'Li-Sc-Cr', 'Yb-Ho-Th', 'Tb-Ho-Cr', 'La-Pu-W', 'Nd-Dy-Y', 'Pm-Nd-Tm', 'Li-Tb-Pr', 'Gd-Ta-Mo', 'Li-La-Ti', 'Pu-Ti-W', 'Na-Ca-V', 'Y-Nb-W', 'Ce-Y-Mo', 'Hf-Sc-Nb', 'La-Tm-V', 'Ho-Lu-V', 'Ca-Sc-Ti', 'Nd-Sc-W', 'La-Tb-Sc', 'Yb-Gd-Dy', 'Tc-Pd-C', 'Li-V-Cr', 'Li-Sm-Nb', 'Be-Ge-Bi', 'Ca-Tb-V', 'K-Nb-Mo', 'Pm-Gd-Cr', 'La-Sm-U', 'Ca-Yb-V', 'Nd-Gd-Th', 'Pm-Pu-Mo', 'Yb-Th-Cr', 'Ce-Hf-Ti', 'Dy-Tm-Ti', 'Yb-Ta-W', 'Cu-Pd-Au', 'La-Tb-Ho', 'Tm-Pu-Cr', 'Tb-Ho-Th', 'La-Sc-Ta', 'Sm-Ta-Nb', 'Li-Mn-Fe', 'Ce-Gd-W', 'Sc-Nb-W', 'Ta-V-W', 'Nd-Sm-Dy', 'Nd-Ho-Pu', 'La-Er-Mo', 'La-Y-Ta', 'Ca-Nd-V', 'Re-Hg-Os', 'Tb-Dy-V', 'La-Tb-Nd', 'La-Zr-Sc', 'Cu-Tc-Rh', 'Li-Tm-Cr', 'Si-Ge-Pb', 'Gd-Y-Ta', 'Sm-Ta-Mo', 'Na-Mg-Fe', 'La-Ce-W', 'Th-Nb-V', 'Y-Nb-Mo', 'La-Ta-Mo', 'Dy-Tm-Pu', 'La-Pr-V', 'Ca-La-Ti', 'Pr-Dy-W', 'Ce-Nd-Cr', 'Lu-Zr-Ta', 'Y-Pu-Ti', 'Li-Ce-Mo', 'La-Eu-Sc', 'Nd-Sm-U', 'La-Tb-Zr', 'Li-Ce-Nb', 'Dy-Y-Lu', 'Zn-Ga-B', 'Y-Zr-Sc', 'Li-Pm-Y', 'Pm-Nd-Gd', 'Pr-Ti-W', 'Ba-La-Pr', 'Fe-Co-Pd', 'Pr-Nd-Ta', 'Tl-In-Ga', 'Li-Pm-V', 'Nd-Lu-Ta', 'Pr-Nd-Tm', 'Pr-Th-Ti', 'Ce-Y-Cr', 'Tb-Ce-Ta', 'V-Cr-Ag', 'Fe-Rh-C', 'Cs-K-Zr', 'Er-Tm-Cr', 'Tb-Y-Lu', 'K-Cr-Mo', 'Gd-Ti-V', 'La-Th-Ta', 'Yb-Ta-Mo', 'Ho-Th-Mo', 'Pr-Ho-Cr', 'Mg-V-Fe', 'Ta-Nb-V', 'Li-Mg-Mo', 'Nd-Lu-Zr', 'Tm-Th-Ti', 'K-Hf-Mg', 'Cs-Mg-Mo', 'Pr-Ta-W', 'Ba-Gd-Ti', 'Sm-Er-Nb', 'Yb-Eu-Mo', 'Pr-Ti-Cr', 'La-Pm-Sm', 'Li-Nd-Ti', 'Yb-Dy-Pu', 'Li-Gd-Zr', 'Ta-Nb-Tl', 'Fe-Cu-Ru', 'Pm-Pr-Sm', 'Fe-Cu-Pb', 'Dy-Th-Ta', 'Nb-Hg-Bi', 'Er-V-W', 'Sr-Y-V', 'Dy-Th-W', 'Tb-Yb-Ho', 'Nd-Y-W', 'Be-Zn-Sn', 'Eu-Y-Ta', 'Yb-Y-Ti', 'Ce-Gd-Mo', 'Gd-Th-Zr', 'Tl-Si-Ge', 'Sm-Dy-Pu', 'La-Ho-W', 'Cs-Li-Ti', 'Cu-Bi-Mo', 'Yb-Y-Er', 'Ce-U-Cr', 'Li-V-Cu', 'Gd-Er-Sc', 'Yb-Dy-Ho', 'Re-Ni-Ag', 'Ca-Nd-Ti', 'Yb-Pu-Ti', 'La-Tb-Mo', 'Ir-Rh-C', 'Al-Tl-Ga', 'La-Ti-Nb', 'Nd-Gd-Pu', 'Al-Cd-Ge', 'Li-Ho-Ta', 'Ho-V-Cr', 'Li-Gd-Sc', 'Ga-Re-Bi', 'Yb-Lu-Zr', 'Li-Pr-V', 'U-Ta-W', 'Yb-Tm-Pu', 'Ce-Ho-Lu', 'Fe-Ir-Pd', 'Gd-Pu-Ti', 'Tb-Gd-Th', 'Ca-La-V', 'Ce-Nd-Pu', 'Yb-Eu-U', 'Ta-V-Mo', 'Th-Nb-Mo', 'Ca-Tm-Mo', 'Er-Sc-W', 'Sm-Cr-W', 'Ce-Pm-Cr', 'Pr-Sm-Ta', 'Ta-Tl-In', 'Li-Tb-Pm', 'Ba-Pm-Pr', 'Li-Gd-Ho', 'Hg-B-Sb', 'Gd-Tm-Lu', 'Tb-Pr-Dy', 'Ce-Gd-Cr', 'Ho-Tm-Mo', 'Y-U-V', 'Ir-Pt-Rh', 'La-Tb-Yb', 'Li-Ti-V', 'Tm-Lu-Pu', 'Tb-Pr-Nd', 'Pr-Ta-V', 'Re-Bi-Os', 'Co-Cu-Bi', 'Nd-Ho-Cr', 'La-Pm-Tm', 'Ca-Eu-V', 'Ba-Sc-Ti', 'Na-Nb-Cu', 'Cs-Li-Zr', 'Gd-Dy-Lu', 'La-Ce-Cr', 'Cu-Re-Os', 'Li-Mg-Zr', 'Ce-Pu-Zr', 'Ca-La-Yb', 'Ce-Y-Pu', 'Zn-Cd-Ga', 'Nd-V-W', 'V-Fe-Ru', 'Tb-Dy-Er', 'Hf-Th-U', 'Sc-V-W', 'La-Y-Pu', 'Al-In-Si', 'Be-Ga-Ge', 'Os-Ru-Pt', 'Ag-Ge-Pb', 'Pm-Y-Tm', 'Li-La-Ho', 'Cs-Zr-Ti', 'Ce-Sc-Mo', 'Pr-Nd-Mo', 'Li-Tm-Ti', 'La-Ho-Sc', 'Nd-Tm-Mo', 'Th-Ta-Mo', 'Er-Tm-Mo', 'Gd-Y-W', 'Lu-Ta-V', 'Lu-Th-Ta', 'Ce-Er-Cr', 'Ce-Ti-Mo', 'Li-Ce-Gd', 'Ce-Th-U', 'Li-Hf-Nb', 'Yb-Ho-Ta', 'Li-Pm-Cr', 'Ce-Gd-V', 'Cs-K-Cr', 'Tb-Ti-W', 'Ce-Tm-Cr', 'Ho-Lu-Pu', 'Y-Er-Ti', 'Gd-Dy-Ti', 'Gd-Pu-Zr', 'Li-Cr-Cu', 'Co-Bi-Os', 'Gd-Pu-Ta', 'Co-Ru-Rh', 'Gd-Lu-Ti', 'Li-La-Ce', 'Be-Al-Ge', 'Gd-Y-Lu', 'Pr-Dy-Tm', 'Yb-Cr-Mo', 'La-Gd-Zr', 'Tl-Cu-Pb', 'Cr-Ag-Mo', 'Tb-Tm-Ti', 'Nd-Y-Pu', 'Eu-Th-V', 'Ga-Ge-Pb', 'Li-Pm-Lu', 'Li-Nd-Lu', 'Ba-Pr-Ti', 'Li-V-Mo', 'Pr-Y-Mo', 'Ce-V-Cr', 'Dy-Er-V', 'Ca-Eu-Pu', 'Ni-Pd-Pt', 'Er-Lu-Ta', 'Ba-Y-V', 'Pr-Nd-Lu', 'Ce-Nd-Y', 'Na-Mg-Ti', 'Cu-Ag-Ir', 'La-Ce-Mo', 'La-Er-Lu', 'Tc-Ni-Pd', 'Ti-Nb-V', 'Tb-Ce-Gd', 'Hf-U-Ti', 'Lu-V-Mo', 'Ta-V-In', 'Co-Ir-Pt', 'Na-Ti-Nb', 'Yb-Hf-Th', 'Mn-Cu-Ag', 'Ce-Nd-U', 'Pr-Gd-Ta', 'Ca-Pm-V', 'Nd-Gd-Cr', 'Yb-Eu-V', 'Al-Hg-Pb', 'V-Cr-Bi', 'Ce-Nd-Ho', 'Ho-Er-Th', 'Tb-Nd-Mo', 'Ca-Tb-Pm', 'Nd-Ho-Ta', 'Pu-Ta-W', 'V-Cu-Mo', 'Tb-Cr-W', 'V-Cu-Ag', 'Fe-Ni-Os', 'Lu-Th-V', 'Fe-Ni-C', 'Ca-Y-Sc', 'Ca-Ce-Eu', 'Rb-Ti-Cr', 'Nd-Sm-Th', 'Co-Re-Bi', 'Gd-Lu-V', 'Eu-Pu-Ta', 'Pu-Zr-Ti', 'Pm-Sm-Y', 'La-Ce-Er', 'Ga-Sn-Bi', 'Ba-Sr-Sc', 'Co-Re-Hg', 'La-Lu-W', 'Cs-Nb-Mo', 'La-Y-V', 'Ce-Sm-Er', 'Co-Ni-Ru', 'Mg-Cr-Mo', 'Sc-Nb-Mo', 'Sm-U-W', 'Ce-Ta-Ti', 'Li-Y-Pu', 'Tb-Dy-Pu', 'Cs-Rb-Cr', 'Cs-Rb-V', 'Ce-Gd-Ta', 'Mg-Ti-Mo', 'K-Ta-V', 'Rb-Na-Mg', 'Ba-Gd-V', 'Ca-Tb-Mo', 'Pr-Er-Hf', 'Si-Ge-Bi', 'Y-Er-Hf', 'Zn-Si-Bi', 'Li-Pm-Mo', 'Yb-Lu-Pu', 'La-Dy-Lu', 'La-Pm-Er', 'Hf-Zr-Ta', 'K-Hf-Nb', 'Lu-Ti-W', 'Li-Pu-Zr', 'Cd-Ga-Ge', 'Cd-Ga-B', 'Gd-Y-V', 'Cu-W-Au', 'Yb-Nd-Lu', 'Er-Tm-V', 'Tb-Gd-Y', 'Er-Lu-Mo', 'Tc-Pt-Rh', 'Dy-Ta-Ti', 'Cu-Pd-C', 'Y-V-Mo', 'La-Yb-Dy', 'Lu-Nb-W', 'Cr-Cu-Au', 'Y-Sc-Nb', 'Li-La-Nd', 'Tb-Sm-Pu', 'Tb-Y-Tm', 'Ce-Er-Sc', 'Gd-Dy-Mo', 'Ca-Ce-Nd', 'Ta-Tl-Mo', 'Pr-Nd-Er', 'Li-Pr-Nd', 'La-Pr-Ta', 'Tm-Cr-W', 'Ce-Ho-V', 'Ba-Yb-Ti', 'Na-Ti-Cr', 'Er-Th-Sc', 'Er-Ti-V', 'Cd-Ge-Pb', 'Ba-Eu-Mn', 'Re-Ag-Ir', 'Pr-Ti-V', 'Lu-Ta-Nb', 'Fe-Co-Ag', 'Li-Mn-Ni', 'Nd-Ho-Zr', 'La-Pm-Cr', 'Mg-Nb-V', 'Ce-Pm-Tm', 'Pd-Ru-Pt', 'Gd-Sc-Mo', 'Nd-Pu-Ti', 'Pr-Gd-Mo', 'Sc-U-W', 'Co-Cu-Rh', 'Eu-V-Cr', 'Y-Tm-Th', 'Tb-Lu-Ti', 'La-Nd-Y', 'Th-Ti-W', 'Li-Nd-Cr', 'Pm-Gd-Th', 'Tl-Cu-Ni', 'Pr-U-Cr', 'Ca-Tb-Y', 'Co-Pd-Rh', 'Li-Pm-Nd', 'Cu-Os-Rh', 'Tb-Pu-Cr', 'Ni-Ag-Ru', 'Li-Gd-V', 'Na-Hf-Ta', 'La-Sm-Ta', 'Ca-La-Nd', 'Sr-Ca-Mn', 'La-Mn-Fe', 'La-Th-Sc', 'Tb-Ce-Mo', 'Mo-Pb-W', 'Tb-Y-Cr', 'Al-Ga-Ge', 'V-Fe-Pd', 'Nd-Cr-W', 'Tl-Si-Ag', 'Tb-Ce-Pu', 'Cs-Pr-Mo', 'Nd-U-Ta', 'Eu-Ta-Nb', 'La-Dy-Th', 'Mg-Ti-V', 'Li-Fe-Cu', 'Na-Li-Ti', 'La-Tb-Pu', 'Th-Zr-Sc', 'Ce-Gd-Y', 'Dy-Lu-Cr', 'Nd-Sc-Ti', 'Yb-Nb-V', 'Ga-Si-Pb', 'Pr-Lu-Ti', 'Eu-Y-Cr', 'Hf-U-Nb', 'Pu-Ti-V', 'Li-Nd-Er', 'Cu-Ag-Bi', 'Sm-Nb-V', 'Gd-Dy-Y', 'Ho-Ta-Mo', 'Cu-Ag-Pd', 'Tc-Ni-Pt', 'Y-Lu-Nb', 'Ni-Os-Ru', 'Dy-Lu-Pu', 'Fe-Cu-Os', 'Ta-Tl-V', 'Eu-Y-U', 'Co-Pd-Ru', 'Re-Hg-Bi', 'La-Yb-Ho', 'Nd-Er-Lu', 'Tb-Yb-Er', 'Yb-Th-Zr', 'K-Li-Ti', 'Re-Tc-Rh', 'Cs-K-Al', 'Pr-Ti-Mo', 'Yb-Eu-Sc', 'Y-Th-Ta', 'Yb-Ti-V', 'Nd-Gd-V', 'Sm-Dy-Tm', 'Y-Mo-W', 'Ce-Er-W', 'Re-Tc-Pd', 'Ce-Nd-Zr', 'Li-Ho-Tm', 'Y-Tm-W', 'Al-Tl-Zn', 'Li-La-Mo', 'Pr-Ho-Tm', 'Eu-Th-Nb', 'Pr-Nd-Cr', 'Pm-Gd-Dy', 'Na-Ta-V', 'Al-Zn-Ga', 'Ba-Sm-Mo', 'Y-Ti-Cr', 'Nd-Th-Cr', 'Co-Ir-Pd', 'Yb-Gd-Ho', 'Hg-Ge-B', 'Ho-Tm-V', 'Pr-Tm-Ta', 'Tb-Dy-Cr', 'Ir-Ru-Pt', 'Ce-Pm-Pu', 'Tm-Pu-W', 'Pm-Nd-Th', 'Yb-Gd-Mo', 'La-Ti-V', 'Sm-Pu-Nb', 'Hf-Th-Zr', 'Ta-Ti-V', 'Be-Sn-Bi', 'Pm-Ho-Cr', 'Yb-Eu-Th', 'Ho-Lu-Mo', 'Tb-Dy-Ta', 'Ce-Y-Ti', 'Al-Zn-Pb', 'Ca-La-Mn', 'Yb-Eu-Ta', 'Cs-Hf-Zr', 'Na-Ca-Fe', 'Tb-Pu-Ta', 'Sr-Sc-Mo', 'Tc-Ir-C', 'Y-Hf-Sc', 'Ti-Mo-W', 'Pr-Gd-Dy', 'Co-Cu-Re', 'La-Y-U', 'Re-Sn-Bi', 'Yb-Ti-Cr', 'Nd-Mo-W', 'Fe-Ni-Ir', 'Pr-Nd-W', 'Yb-Lu-V', 'Ce-Pu-W', 'Ac-Cr-Mo', 'Zn-B-Pb', 'La-Yb-Tm', 'Ba-Nd-Mo', 'Mn-Co-Ag', 'Dy-Cr-Mo', 'Er-Tm-Lu', 'La-Y-Nb', 'Tc-Ir-Pt', 'Pr-Er-W', 'Yb-Ho-Cr', 'Mn-Fe-Au', 'Ca-Y-V', 'Pd-Ru-Au', 'Ce-Hf-U', 'La-Pm-Pr', 'Tb-V-Mo', 'Ba-Eu-Sc', 'Ta-Bi-Mo', 'Nd-Dy-V', 'Tl-B-Pb', 'Li-Hf-Zr', 'Li-La-Fe', 'Al-Sn-Bi', 'Ce-Pm-Er', 'Ni-Au-C', 'Er-Ta-W', 'Pr-Er-Pu', 'La-Nd-Sc', 'Ni-Ag-Ir', 'La-Ce-Th', 'La-Yb-Nd', 'Pm-Nd-Dy', 'Ce-Th-Mo', 'Eu-U-W', 'Pm-Ho-Er', 'Ce-Lu-Mo', 'Li-Cu-Mo', 'Sm-Y-Th', 'Tb-Nd-Dy', 'Nd-Er-Pu', 'Rb-Nb-V', 'Pr-Y-U', 'Y-Er-Pu', 'Cd-Mo-Pb', 'Li-Er-Zr', 'V-Cu-W', 'Pm-Nd-Mo', 'Yb-Er-Ti', 'Tb-Sc-Ta', 'Ca-Ti-Mo', 'Tb-Tm-Pu', 'Y-Lu-Ta', 'Rb-Li-Ti', 'Hg-Sb-Pb', 'La-Dy-Pu', 'Pd-Rh-Au', 'K-Ta-Ti', 'Li-La-Sc', 'Pr-Dy-Ti', 'Yb-Pr-W', 'La-Nd-Ho', 'Sm-Nb-W', 'Ce-Eu-Pu', 'Nd-Sc-Mo', 'Ag-Ir-Ru', 'Pm-Y-Ho', 'Yb-Dy-Lu', 'U-Ta-V', 'Ca-Tb-Ti', 'Tb-Yb-Lu', 'Ce-Pm-Sm', 'Sr-Nd-V', 'Co-Ni-Pt', 'Rb-Mg-Zr', 'Ti-V-Cr', 'Th-U-Cr', 'Yb-Pu-Cr', 'Ta-Cu-Bi', 'La-Yb-Cr', 'Pr-Ho-V', 'Rb-Na-Cr', 'Ce-Ta-V', 'Ce-Ta-W', 'Eu-Y-Sc', 'La-Ho-Ta', 'Cd-Ga-Bi', 'Eu-Pu-Mo', 'Nd-Gd-Er', 'Na-Li-Mo', 'Tb-Tm-V', 'Th-Sc-U', 'Lu-Cr-Mo', 'Tb-Ti-V', 'Tb-Sm-Ho', 'Dy-Ta-V', 'Rb-Li-Nb', 'Li-Ta-Mo', 'Re-Tc-Pt', 'Pm-Gd-V', 'La-Gd-Y', 'La-Dy-Ta', 'Mg-Ti-Nb', 'Nd-Th-W', 'Dy-Y-Zr', 'Tb-Zr-Ti', 'Pd-Pt-W', 'Cs-Rb-Ti', 'Ca-Nd-Pu', 'La-Pm-Nd', 'Sm-Ho-Pu', 'Hg-Bi-Mo', 'Co-Ag-Pb', 'Ce-Pm-Pr', 'Cu-Re-Pd', 'La-Th-Mo', 'Ba-Pr-Nd', 'La-Yb-W', 'Li-Y-Sc', 'Th-U-Ta', 'Li-Tm-Mo', 'Zn-Si-Ge', 'Sc-Nb-V', 'Sm-Th-V', 'Li-La-Pm', 'Li-Y-Ho', 'Y-Hf-U', 'Ti-V-W', 'Sm-Lu-Th', 'Li-Cu-Ni', 'Ce-Y-Lu', 'Tm-Th-W', 'Yb-Tm-Mo', 'Ca-Yb-Nd', 'Ce-Eu-V', 'Nd-Er-Sc', 'Hf-Ta-Nb', 'Co-Ag-C', 'Co-Ir-Os', 'Ca-Mn-V', 'Pu-Ta-Nb', 'V-Bi-Mo', 'Y-Hf-Th', 'Dy-Mo-W', 'Ce-Sm-Lu', 'Ni-Ir-Pd', 'Re-Os-Rh', 'Ce-Nd-Mo', 'Er-Hf-Sc', 'Cr-Fe-Ag', 'Li-Nd-V', 'Eu-Sc-Ta', 'Yb-Tm-Th', 'Ga-Ge-B', 'Eu-Sc-W', 'Li-Pr-Gd', 'Yb-Pr-Dy', 'Sm-Pu-V', 'La-Nd-Cr', 'Ce-Ho-Mo', 'Li-Pm-Pu', 'Y-Sc-U', 'Pr-Sm-Mo', 'Pr-U-Ta', 'Re-Tc-Ir', 'Nd-Zr-Ta', 'Tl-In-Si', 'Yb-V-Cr', 'Tb-Pr-Sm', 'Mn-Fe-Ru', 'Ce-Zr-Ta', 'K-Ti-Cr', 'Ce-Sm-Mo', 'Ni-Ag-Pb', 'K-Mg-Cr', 'Tb-Nd-Cr', 'Pu-Cr-W', 'La-Gd-Ho', 'Pm-Nd-Lu', 'La-Dy-Y', 'Tb-Th-V', 'Cu-Tc-Ir', 'Li-Tb-Ho', 'Tb-Sm-Tm', 'Sr-Nd-Y', 'Pm-V-Mo', 'K-Rb-Ta', 'Gd-Sc-Ti', 'Y-Er-Cr', 'Ce-Eu-Th', 'Yb-Nd-Dy', 'Er-Hf-Ta', 'Pr-Y-Th', 'Eu-Zr-Sc', 'Gd-Sc-Ta', 'Li-Ce-Ti', 'Na-Hf-Nb', 'Sm-Gd-Cr', 'La-Pr-Nd', 'Ga-Re-Hg', 'Li-La-Gd', 'Co-Ni-Rh', 'La-Tb-Er', 'Yb-Lu-Mo', 'Er-Pu-V', 'Tl-Ga-Pb', 'Yb-Sc-V', 'Co-Ag-Ru', 'Li-Zr-Nb', 'Rb-Ta-V', 'K-Li-Mg', 'Dy-V-W', 'Pu-Mo-W', 'Li-La-Mn', 'Tb-Zr-Sc', 'La-Pr-Er', 'Tb-Lu-Ta', 'Tb-Ho-Pu', 'Ba-Ca-Mo', 'Gd-Th-Ti', 'Ta-Nb-Mo', 'La-Y-Sc', 'La-Tm-Mo', 'Ge-B-Pb', 'Li-Pr-Ta', 'Cu-Pt-Au', 'La-Pu-V', 'Tb-Pr-Gd', 'Eu-Ta-V', 'Ce-Tm-W', 'Pr-Tm-W', 'La-Gd-Ti', 'Pm-Pr-Th', 'Sm-Tm-Cr', 'Mn-Ni-Au', 'Ce-Y-V', 'Rb-Cr-Mo', 'La-Nb-W', 'Ca-Y-Mo', 'Sm-Lu-Nb', 'Li-V-Fe', 'Y-Er-Nb', 'Nd-Dy-Zr', 'Pm-Pr-Tm', 'Mg-U-Nb', 'La-Yb-Eu', 'Gd-V-W', 'Eu-Zr-Ta', 'Tb-Ho-Er', 'Cs-Rb-Nb', 'Tb-Pr-Lu', 'Cd-Bi-B', 'Cu-Ir-Ru', 'Gd-Ho-Er', 'Pr-V-Mo', 'La-Nd-Gd', 'Y-Tm-Ti', 'Ni-Ag-Au', 'K-Hf-Ti', 'Nd-Ho-Tm', 'Pr-Nd-Pu', 'La-Gd-V', 'Yb-Er-Cr', 'Dy-V-Mo', 'La-Nd-Dy', 'Ce-Pr-Lu', 'Ce-Nd-Gd', 'Y-Th-Zr', 'Tl-Ni-Ag', 'Nd-Gd-Ti', 'K-Li-V', 'Li-Ce-Y', 'Mn-Ni-Ru', 'Ho-Pu-W', 'Pm-Dy-Lu', 'Ce-Sm-U', 'Ni-Os-Pd', 'Cr-Mo-Pb', 'Er-Ta-V', 'Ce-Nd-Er', 'Zn-Ga-Si', 'Sm-Y-Ta', 'Eu-Nb-W', 'Fe-Pd-Au', 'Co-Re-Ru', 'Sm-Y-Tm', 'Fe-Cu-C', 'Tm-Pu-Ti', 'Ta-Nb-Cu', 'Ho-Ta-V', 'Li-Lu-Ti', 'Yb-Er-Nb', 'Fe-Ni-Au', 'Nd-Ta-W', 'La-Pr-Ho', 'Mg-V-Cr', 'La-Pr-U', 'Y-Zr-Ti', 'Cu-Ni-Au', 'Rb-Li-Mo', 'Li-Ho-Zr', 'Fe-Ag-Pb', 'Eu-Y-V', 'Nd-Th-Ti', 'Pm-Pr-Cr', 'Sm-Y-Mo', 'Zn-Ga-Sn', 'Tl-Ga-Si', 'La-Tb-Y', 'Tm-Ta-Ti', 'Sr-Nd-Mo', 'Y-Tm-Mo', 'Tb-Yb-Pu', 'La-Ho-Mo', 'Dy-Ho-Mo', 'Cs-Hf-Mg', 'Ba-Sm-V', 'Pr-Y-Lu', 'Nd-Er-V', 'Tm-Mo-W', 'Li-Ta-Nb', 'Gd-Tm-Th', 'Ti-V-Mo', 'Sc-Ta-Nb', 'La-Sm-Tm', 'Ce-Er-Tm', 'Y-Ho-Er', 'Sm-Th-Mo', 'Tb-Sm-Y', 'Li-Tb-Mo', 'Ho-Lu-Th', 'Sm-Pu-Ta', 'Nd-Tm-Ti', 'Na-Li-Ta', 'K-Ti-V', 'Mn-Tl-Pb', 'Hg-B-Pb', 'Er-Lu-Th', 'Pu-Zr-Nb', 'Ca-La-Ce', 'Eu-Hf-U', 'Os-Ru-Rh', 'La-Sc-Cr', 'V-Ag-Ru', 'Ba-Pr-Sm', 'Nd-Th-V', 'Pr-Ta-Ti', 'Y-Tm-Pu', 'Tb-Y-Th', 'Ce-Nd-Th', 'Pt-Rh-Au', 'Er-Nb-Mo', 'Ba-La-Mn', 'Pr-Pu-V', 'Sm-Y-Cr', 'Ga-Re-Sn', 'Ho-Er-Pu', 'Al-Tl-Ge', 'Dy-Lu-Mo', 'Na-Sr-Ti', 'Cd-Si-Ge', 'Tb-Pr-Pu', 'Ba-Gd-Sc', 'Ca-Tb-Pu', 'Cu-Ag-Os', 'Co-Cu-Ir', 'Pm-Dy-Pu', 'Zn-Cd-Ge', 'La-V-W', 'Sr-Ca-V', 'Dy-Ho-Tm', 'Eu-Th-W', 'Ca-Pm-Y', 'Eu-Th-Zr', 'Cu-Os-Ru', 'Be-In-Ga', 'La-Th-Ti', 'Nd-Pu-Cr', 'Ca-Ce-Y', 'Yb-Y-V', 'Ca-La-Y', 'Li-Tm-Pu', 'Al-Tl-Pb', 'Li-Ce-Ho', 'Li-Sc-Nb', 'Pr-Nd-Dy', 'Yb-Nd-Pu', 'Li-Ce-Nd', 'Pm-Dy-Cr', 'Dy-Lu-V', 'Ca-Mn-Fe', 'Cs-Mg-V', 'Ce-Eu-Nb', 'Tb-V-Cr', 'Ce-Ta-Nb']\n\t}\n}\n","namespace $ {\n\t\n\t// 00 HHHHH HHHHH HHHHH LLLLL LLLLL LLLLL\n\t\n\tconst mask = 0b11111_11111_11111\n\t\n\texport function $mol_coord_pack( high: number, low: number ) {\n\t\treturn ( high << 17 >>> 2 ) | ( low & mask )\n\t}\n\n\texport function $mol_coord_high( pack: number ) {\n\t\treturn pack << 2 >> 17\n\t}\n\n\texport function $mol_coord_low( pack: number ) {\n\t\treturn ( pack << 17 ) >> 17\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst $visavis_matrix_json_node = $mol_data_record({\n\t\tname: $mol_data_string,\n\t\tnum: $mol_data_number,\n\t\tnump: $mol_data_number,\n\t\tsize: $mol_data_number,\n\t\trea: $mol_data_number,\n\t\trpp: $mol_data_number,\n\t\trion: $mol_data_number,\n\t\trcov: $mol_data_number,\n\t\trmet: $mol_data_number,\n\t\ttmelt: $mol_data_number,\n\t\teneg: $mol_data_number,\n\t\tcount: $mol_data_optional( $mol_data_number ),\n\t})\n\n\tconst $visavis_matrix_json_link = $mol_data_record({\n\t\tsource: $mol_data_number,\n\t\ttarget: $mol_data_number,\n\t\tvalue: $mol_data_number,\n\t\tcmt: $mol_data_string,\n\t\tcmp: $mol_data_optional( $mol_data_number ),\n\t})\n\n\tconst $visavis_matrix_json = $mol_data_record({\n\t\tpayload: $mol_data_record({\n\t\t\tnodes: $mol_data_array( $visavis_matrix_json_node ),\n\t\t\tlinks: $mol_data_array( $visavis_matrix_json_link )\n\t\t}),\n\t})\n\n\ttype Matrix_cell = {\n\t\tx: number\n\t\ty: number\n\t\tz: number\n\t\tcmt: string\n\t\tcmp: number\n\t\tnonformer: boolean \n\t}\n\n\texport class $visavis_matrix extends $.$visavis_matrix {\n\n\t\t@ $mol_mem\n\t\tjson() {\n\t\t\treturn $visavis_matrix_json( this.plot().json() as any )\n\t\t}\n\t\t\n\t\tnodes() {\n\t\t\treturn this.json().payload.nodes\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlinks() {\n\t\t\treturn this.json().payload.links.slice().sort( (a, b) => a.value - b.value )\n\t\t}\n\n\t\tlinks_value_min() {\n\t\t\treturn this.links()[0].value\n\t\t}\n\n\t\tlinks_value_max() {\n\t\t\treturn this.links().slice(-1)[0].value\n\t\t}\n\n\t\t@ $mol_mem\n\t\theatmap() {\n\t\t\treturn this.links().reduce( (heatmap, link) => {\n\t\t\t\tif (!heatmap && Math.floor(link.value) !== link.value) return true\n\t\t\t\telse if (link.cmp) return false\n\t\t\t\treturn heatmap\n\t\t\t}, false )\n\t\t}\n\n\t\tplot_title() {\n\t\t\treturn this.plot().id()\n\t\t}\n\n\t\tplot_body() {\n\t\t\treturn [\n\t\t\t\tthis.Root(),\n\t\t\t\t... this.heatmap() ? [ this.Side_right() ] : [],\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\torder() {\n\t\t\treturn $visavis_lib.d3().range(95).sort( (a: any, b: any) => (this.nodes() as any)[a][ this.order_current() ] - (this.nodes() as any)[b][ this.order_current() ] )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tmatrix() {\n\t\t\tconst matrix: Matrix_cell[][] = this.nodes().map( (node, i) => $visavis_lib.d3().range(95).map( (j: any) => ({ x: j, y: i, z: 0, cmt: '', cmp: 0, nonformer: false }) ) )\n\n\t\t\tfor (const link of this.links()) {\n\t\t\t\tmatrix[link.source][link.target].z += link.value;\n\t\t\t\tmatrix[link.target][link.source].z += link.value; // NB only AB-all\n\t\t\t\tmatrix[link.source][link.target].cmt = link.cmt;\n\t\t\t\tmatrix[link.target][link.source].cmt = link.cmt; // NB only AB-all\n\t\t\t\tmatrix[link.source][link.target].cmp = link.cmp || 0;\n\t\t\t\tmatrix[link.target][link.source].cmp = link.cmp || 0;\n\t\t\t}\n\n\t\t\tif (this.nonformers()) {\n\t\t\t\tfor (const item of $visavis_nonformer_pd_bin) {\n\t\t\t\t\tmatrix[item[0]][item[1]].z = 1;\n\t\t\t\t\tmatrix[item[1]][item[0]].z = 1; // NB only AB-all\n\t\t\t\t\tmatrix[item[0]][item[1]].nonformer = true;\n\t\t\t\t\tmatrix[item[1]][item[0]].nonformer = true; // NB only AB-all\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn matrix\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsize() {\n\t\t\tconst rect = this.Plot().Body().view_rect()\n\t\t\tif (!rect) return NaN\n\t\t\treturn Math.min(rect.width, rect.height) - this.plot_padding() - this.axis_width()\n\t\t}\n\n\t\t@ $mol_mem\n\t\topacity_scale() {\n\t\t\t// return $visavis_lib.d3().scaleLinear().domain([this.links_value_min(), this.links_value_max()]).range([0.2, 1]).clamp(true) // for new d3 version\n\t\t\treturn $visavis_lib.d3().scale.linear().domain([this.links_value_min(), this.links_value_max()]).range([0.2, 1]).clamp(true)\n\t\t}\n\n\t\topacity(index: number) {\n\t\t\treturn this.heatmap() ? 1 : this.opacity_scale()(index)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcolor_heatmap() {\n\t\t\t// return $visavis_lib.d3().scaleLinear().domain($visavis_lib.d3().range(0, 1, 1.0 / (this.heatmap_colors().length - 1))).range(this.heatmap_colors() as any) // for new d3 version\n\t\t\treturn $visavis_lib.d3().scale.linear().domain($visavis_lib.d3().range(0, 1, 1.0 / (this.heatmap_colors().length - 1))).range(this.heatmap_colors() as any)\n\t\t}\n\n\t\theatmap_color( index: number ) {\n\t\t\treturn this.heatmap_colors()[index]\n\t\t}\n\n\t\theatmap_color_list() {\n\t\t\treturn [\n\t\t\t\tthis.Heatmap_min(),\n\t\t\t\t... this.heatmap_colors().map( (_, index) => this.Heatmap_color(index) ),\n\t\t\t\tthis.Heatmap_max(),\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcolor_heatmap_scale() {\n\t\t\t// return $visavis_lib.d3().scaleLinear().domain([this.links_value_min(), this.links_value_max()]).range([0, 1]) // for new d3 version\n\t\t\treturn $visavis_lib.d3().scale.linear().domain([this.links_value_min(), this.links_value_max()]).range([0, 1])\n\t\t}\n\n\t\tcolor(index: number, cmp: number) {\n\t\t\tif (this.heatmap()) return cmp ? this.colorset()[1] : this.color_heatmap()( this.color_heatmap_scale()( index ) )\n\t\t\treturn this.colorset()[cmp] || '#ccc'\n\t\t}\n\n\t\t@ $mol_mem\n\t\trange() {\n\t\t\t// return $visavis_lib.d3().scaleBand().domain(this.order()).range([0, this.size()]) // for new d3 version\n\t\t\treturn $visavis_lib.d3().scale.ordinal().rangeBands([0, this.size()]).domain(this.order())\n\t\t}\n\n\t\tsvg_title_text(cell: Matrix_cell) {\n\t\t\tif (!cell.cmt) return ''\n\n\t\t\tconst text = `${cell.cmt}: ${cell.z}`\n\t\t\tconst title = !this.heatmap()\n\t\t\t\t? `${text} ${cell.z === 1 ? 'entry' : 'entries'}`\n\t\t\t\t: text\n\n\t\t\treturn title\n\t\t}\n\n\t\tcell_hovered(cell?: Matrix_cell | null) {\n\t\t\t$visavis_lib.d3().selectAll('.row text').classed('active', (_: any, index: number) => cell?.y === index)\n\t\t\t$visavis_lib.d3().selectAll('.column text').classed('active', (_: any, index: number) => cell?.x === index)\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tcell_selected(id: number, next?: boolean) {\n\t\t\t$mol_wire_solid()\n\t\t\treturn next ?? false\n\t\t}\n\n\t\t@ $mol_action\n\t\tcell_click(cell: Matrix_cell) {\n\t\t\tconst coords = [ $mol_coord_pack( cell.x, cell.y ), $mol_coord_pack( cell.y, cell.x ) ]\n\t\t\tcoords.forEach( coord => this.cell_selected( coord, !this.cell_selected(coord) ) )\n\t\t\t$visavis_lib.d3().selectAll('.cell').classed('visited', (item: any) => this.cell_selected( $mol_coord_pack( item.x, item.y ) ))\n\t\t\t// if (visavis.mpds_embedded) {\n\t\t\t// \twindow.open(window.location.protocol + '//' + window.location.host + '#search/binary%20' + term.cmt);\n\t\t\t// }\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tdraw_cells(node: SVGElement, row: Matrix_cell[]) {\n\t\t\t$visavis_lib.d3().select(node)\n\t\t\t\t.selectAll('.cell')\n\t\t\t\t.data(row.filter((d: any) => d.z))\n\t\t\t\t// .join('rect') // for new d3 version\n\t\t\t\t.enter().append('rect')\n\t\t\t\t.attr('class', (d: any) => d.nonformer ? 'nonformer cell' : 'cell')\n\t\t\t\t.attr('id', (d: any) => 'c_' + this.nodes()[d.x].num.toString() + '_' + this.nodes()[d.y].num.toString())\n\t\t\t\t.attr('x', (d: any) => this.range()(d.x) as any)\n\t\t\t\t// .attr('width', this.range().bandwidth()) // for new d3 version\n\t\t\t\t// .attr('height', this.range().bandwidth()) // for new d3 version\n\t\t\t\t.attr('width', this.range().rangeBand())\n\t\t\t\t.attr('height', this.range().rangeBand())\n\t\t\t\t.style('fill-opacity', (d: any) => this.opacity(d.z))\n\t\t\t\t.style('fill', (d: any) => this.color(d.z, d.cmp) )\n\t\t\t\t.on('mouseover', (event: MouseEvent, cell: unknown) => this.cell_hovered(cell as Matrix_cell))\n\t\t\t\t.on('mouseout', (event: MouseEvent) => this.cell_hovered(null))\n\t\t\t\t.on('click', (event: PointerEvent, cell: unknown) => this.cell_click(cell as Matrix_cell) )\n\t\t\t\t.append('svg:title').text((cell: any) => this.svg_title_text(cell))\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdraw() {\n\t\t\tif (Number.isNaN( this.size() )) return\n\n\t\t\tconst svg = $visavis_lib.d3().select('[visavis_matrix_root]')\n\t\t\t\t.attr('width', this.size() + this.axis_width())\n\t\t\t\t.attr('height', this.size() + this.axis_width())\n\t\t\t\t// .style('font-size', this.range().bandwidth()) // for new d3 version\n\t\t\t\t.style('font-size', this.range().rangeBand())\n\t\t\t\t.style('letter-spacing', '1px')\n\t\t\t\n\t\t\tconst group = svg\n\t\t\t\t[ svg.select('g').empty() ? 'append' : 'select' ]('g')\n\t\t\t\t.attr('transform', `translate(${this.axis_width()},${this.axis_width()})`)\n\n\t\t\tgroup.html(\"\")\n\t\t\n\t\t\tgroup.append('rect')\n\t\t\t\t.attr('class', 'bgmatrix')\n\t\t\t\t.attr('width', this.size())\n\t\t\t\t.attr('height', this.size());\n\n\t\t\tconst draw_cells = (node: any, row: Matrix_cell[]) => this.draw_cells(node, row)\n\t\t\n\t\t\tconst row = group.selectAll('.row')\n\t\t\t\t.data(this.matrix())\n\t\t\t\t// .join('g') // for new d3 version\n\t\t\t\t.enter().append('g')\n\t\t\t\t.attr('class', 'row')\n\t\t\t\t.attr('transform', (d: any, i: number) => 'translate(0,' + this.range()(i as any) + ')' )\n\t\t\t\t.each(function (this: any, row: any) { draw_cells(this, row) })\n\t\t\n\t\t\trow.append('line')\n\t\t\t\t.attr('x2', this.size());\n\t\t\n\t\t\trow.append('text')\n\t\t\t\t.attr('x', -6)\n\t\t\t\t// .attr('y', this.range().bandwidth() / 2) // for new d3 version\n\t\t\t\t.attr('y', this.range().rangeBand() / 2)\n\t\t\t\t.attr('dy', '.32em')\n\t\t\t\t.attr('text-anchor', 'end')\n\t\t\t\t.text((d: any, i: any)=> this.nodes()[i].name)\n\t\t\t\t\n\t\t\tconst column = group.selectAll('.column')\n\t\t\t\t.data(this.matrix())\n\t\t\t\t// .join('g') // for new d3 version\n\t\t\t\t.enter().append('g')\n\t\t\t\t.attr('class', 'column')\n\t\t\t\t.attr('transform', (d: any, i: any)=> 'translate(' + this.range()(i) + ')rotate(-90)');\n\t\t\n\t\t\tcolumn.append('line')\n\t\t\t\t.attr('x1', -this.size());\n\t\t\n\t\t\tcolumn.append('text')\n\t\t\t\t.attr('x', 6)\n\t\t\t\t// .attr('y', this.range().bandwidth() / 2) // for new d3 version\n\t\t\t\t.attr('y', this.range().rangeBand() / 2)\n\t\t\t\t.attr('dy', '.32em')\n\t\t\t\t.attr('text-anchor', 'start')\n\t\t\t\t.text((d: any, i: any) => this.nodes()[i].name);\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"visavis/matrix/matrix.view.css\",\n \"[visavis_matrix_plot] rect.nonformer {\\n\\tfill:url(#nonformer) !important;\\n\\tfill-opacity:1.0 !important;\\n}\\n\\n[visavis_matrix_plot] rect.visited{\\n\\tfill:#0f0 !important;\\n\\tfill-opacity:1.0 !important;\\n}\\n\\n[visavis_matrix_plot] rect.bgmatrix {\\n\\tfill:#f6f6f6;\\n}\\n\\n[visavis_matrix_plot] rect.bgmatrix.hidden {\\n\\tfill:#fff;\\n}\\n\\n[visavis_matrix_plot] line {\\n\\tstroke:#fff;\\n}\\n\\n[visavis_matrix_plot] text.active {\\n\\tfill:#f00;\\n\\tfont-weight:bold;\\n}\\n\"\n) }","namespace $.$$ {\n\n\tconst { per, rem, px } = $mol_style_unit\n\n\t$mol_style_define( $.$visavis_matrix, {\n\n\t\tflex: {\n\t\t\tbasis: rem(60),\n\t\t\tshrink: 0,\n\t\t},\n\n\t\tSide_right: {\n\t\t\tposition: 'absolute',\n\t\t\ttop: per(50),\n\t\t\tright: $mol_gap.space,\n\t\t\ttransform: 'translateY(-50%)'\n\t\t},\n\n\t\tHeatmap_color: {\n\t\t\twidth: rem(1),\n\t\t\theight: rem(1),\n\t\t\tmargin: px(1),\n\t\t},\n\n\t\tHeatmap_legend: {\n\t\t\talignItems: 'flex-end',\n\t\t\tflex: {\n\t\t\t\tdirection: 'column-reverse',\n\t\t\t},\n\t\t},\n\n\t\tRoot: {\n\t\t\tmargin: 'auto',\n\t\t},\n\n\t\tOrder_switch: {\n\t\t\tflex: {\n\t\t\t\tshrink: 1,\n\t\t\t},\n\t\t},\n\n\t\tPlot: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t},\n\n\t\tSetup: {\n\t\t\tflex: {\n\t\t\t\tbasis: rem(25),\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t\tBody: {\n\t\t\t\tpadding: $mol_gap.block,\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\texport class $mol_pop extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * showed? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tshowed(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * align_vert \\\n\t\t * ```\n\t\t */\n\t\talign_vert() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * align_hor \\\n\t\t * ```\n\t\t */\n\t\talign_hor() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * prefer \\vert\n\t\t * ```\n\t\t */\n\t\tprefer() {\n\t\t\treturn \"vert\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Anchor\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Anchor()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub_visible /\n\t\t * \t<= Anchor\n\t\t * \t<= Bubble\n\t\t * ```\n\t\t */\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\tthis.Anchor(),\n\t\t\t\tthis.Bubble()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Anchor null\n\t\t * ```\n\t\t */\n\t\tAnchor() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * align \\bottom_center\n\t\t * ```\n\t\t */\n\t\talign() {\n\t\t\treturn \"bottom_center\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * bubble_content /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tbubble_content() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * height_max 9999\n\t\t * ```\n\t\t */\n\t\theight_max() {\n\t\t\treturn 9999\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Bubble $mol_pop_bubble\n\t\t * \talign <= align\n\t\t * \tcontent <= bubble_content\n\t\t * \theight_max <= height_max\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tBubble() {\n\t\t\tconst obj = new this.$.$mol_pop_bubble()\n\t\t\t\n\t\t\tobj.align = () => this.align()\n\t\t\tobj.content = () => this.bubble_content()\n\t\t\tobj.height_max = () => this.height_max()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n\texport class $mol_pop_bubble extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= content\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.content()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style *\n\t\t * \t^\n\t\t * \tmaxHeight <= height_max\n\t\t * ```\n\t\t */\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t...super.style(),\n\t\t\t\tmaxHeight: this.height_max()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_pop_align <= align\n\t\t * \ttabindex 0\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_pop_align: this.align(),\n\t\t\t\ttabindex: 0\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * content /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tcontent() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * height_max 9999\n\t\t * ```\n\t\t */\n\t\theight_max() {\n\t\t\treturn 9999\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * align \\\n\t\t * ```\n\t\t */\n\t\talign() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\t/**\n\t * `Bubble` that can be shown anchored to `Anchor` element.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_pop_demo\n\t */\n\texport class $mol_pop extends $.$mol_pop {\n\t\t\n\t\t@ $mol_mem\n\t\tshowed( next = false ) {\n\t\t\tthis.focused()\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\tthis.Anchor() ,\n\t\t\t\t... this.showed() ? [ this.Bubble() ] : [] ,\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\theight_max() {\n\t\t\t\n\t\t\tconst viewport = this.$.$mol_window.size()\n\t\t\tconst rect_bubble = this.view_rect()!\n\t\t\tconst align = this.align_vert()\n\t\t\t\n\t\t\tif( align === 'bottom' ) return ( viewport.height - rect_bubble.bottom ) * .66\n\t\t\tif( align === 'top' ) return rect_bubble.top * .66\n\t\t\t\n\t\t\treturn 0\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign() {\n\t\t\tswitch( this.prefer() ) {\n\t\t\t\tcase 'hor': return `${ this.align_hor() }_${ this.align_vert() }`\n\t\t\t\tcase 'vert': return `${ this.align_vert() }_${ this.align_hor() }`\n\t\t\t\tdefault: return this.prefer()\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign_vert() {\n\t\t\tconst viewport = this.view_port()\n\t\t\t\n\t\t\tconst rect_pop = this.view_rect()\n\t\t\tif( !rect_pop ) return 'suspense'\n\t\t\t\n\t\t\treturn rect_pop.top > ( viewport.top + viewport.height / 2 ) ? 'top' : 'bottom'\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign_hor() {\n\t\t\tconst viewport = this.view_port()\n\t\t\t\n\t\t\tconst rect_pop = this.view_rect()\n\t\t\tif( !rect_pop ) return 'suspense'\n\t\t\t\n\t\t\treturn rect_pop.left > ( viewport.left + viewport.width / 2 ) ? 'left' : 'right'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tView_port() {\n\t\t\tconst view = new $mol_view\n\t\t\tview.dom_node = ()=> {\n\t\t\t\tlet node = this.dom_node() as HTMLElement\n\t\t\t\twhile( node = node.offsetParent! as HTMLElement ) {\n\t\t\t\t\tif( this.$.$mol_dom_context.getComputedStyle( node ).overflow !== 'visible' ) return node\n\t\t\t\t}\n\t\t\t\treturn this.$.$mol_dom_context.document.documentElement\n\t\t\t}\n\t\t\treturn view\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tview_port() {\n\t\t\treturn this.View_port().view_rect() ?? { ... this.$.$mol_window.size(), left: 0, top: 0 }\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/pop/pop.view.css\",\n \"[mol_pop] {\\n\\tposition: relative;\\n\\tdisplay: inline-flex;\\n}\\n\\n[mol_pop_bubble] {\\n\\tbox-shadow: 0 0 1rem hsla(0,0%,0%,.5);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_popup);\\n\\tbackground: var(--mol_theme_back);\\n\\tmax-width: none;\\n\\tmax-height: none;\\n\\t/* overflow: hidden;\\n\\toverflow-y: scroll;\\n\\toverflow-y: overlay; */\\n\\tword-break: normal;\\n\\twidth: max-content;\\n\\theight: max-content;\\n\\tflex-direction: column;\\n\\tmax-width: 80vw;\\n\\tmax-height: 80vw;\\n\\tcontain: paint;\\n}\\n\\n:where( [mol_pop_bubble] > * ) {\\n\\tbackground: var(--mol_theme_card);\\n}\\n\\n[mol_pop_bubble][mol_scroll] {\\n\\tbackground: var(--mol_theme_back);\\n}\\n\\n[mol_pop_bubble]:focus {\\n\\toutline: none;\\n}\\n\\n[mol_pop_align=\\\"suspense_suspense\\\"] {\\n\\topacity: 0;\\n}\\n\\n[mol_pop_align=\\\"left_top\\\"] {\\n\\ttransform: translate(-100%);\\n\\tleft: 0;\\n\\tbottom: 0;\\n}\\n\\n[mol_pop_align=\\\"left_center\\\"] {\\n\\ttransform: translate(-100%, -50%);\\n\\tleft: 0;\\n\\ttop: 50%;\\n}\\n\\n[mol_pop_align=\\\"left_bottom\\\"] {\\n\\ttransform: translate(-100%);\\n\\tleft: 0;\\n\\ttop: 0;\\n}\\n\\n[mol_pop_align=\\\"right_top\\\"] {\\n\\ttransform: translate(100%);\\n\\tright: 0;\\n\\tbottom: 0;\\n}\\n\\n[mol_pop_align=\\\"right_center\\\"] {\\n\\ttransform: translate(100%, -50%);\\n\\tright: 0;\\n\\ttop: 50%;\\n}\\n\\n[mol_pop_align=\\\"right_bottom\\\"] {\\n\\ttransform: translate(100%);\\n\\tright: 0;\\n\\ttop: 0;\\n}\\n\\n[mol_pop_align=\\\"center\\\"] {\\n\\tleft: 50%;\\n\\ttop: 50%;\\n\\ttransform: translate(-50%, -50%);\\n}\\n\\n[mol_pop_align=\\\"top_left\\\"] {\\n\\tright: 0;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"top_center\\\"] {\\n\\ttransform: translate(-50%);\\n\\tleft: 50%;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"top_right\\\"] {\\n\\tleft: 0;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_left\\\"] {\\n\\tright: 0;\\n\\ttop: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_center\\\"] {\\n\\ttransform: translate(-50%);\\n\\tleft: 50%;\\n\\ttop: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_right\\\"] {\\n\\tleft: 0;\\n\\ttop: 100%;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_pick extends $mol_pop {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tkeydown?event <=> keydown?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tkeydown: (event?: any) => this.keydown(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Anchor <= Trigger\n\t\t * ```\n\t\t */\n\t\tAnchor() {\n\t\t\treturn this.Trigger()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keydown?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeydown(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * trigger_enabled true\n\t\t * ```\n\t\t */\n\t\ttrigger_enabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clicks? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclicks(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * trigger_content /$mol_view_content <= title\n\t\t * ```\n\t\t */\n\t\ttrigger_content() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Trigger $mol_check\n\t\t * \tminimal_width 40\n\t\t * \tminimal_height 40\n\t\t * \tenabled <= trigger_enabled\n\t\t * \tchecked? <=> showed?\n\t\t * \tclicks? <=> clicks?\n\t\t * \tsub <= trigger_content\n\t\t * \thint <= hint\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTrigger() {\n\t\t\tconst obj = new this.$.$mol_check()\n\t\t\t\n\t\t\tobj.minimal_width = () => 40\n\t\t\tobj.minimal_height = () => 40\n\t\t\tobj.enabled = () => this.trigger_enabled()\n\t\t\tobj.checked = (next?: any) => this.showed(next)\n\t\t\tobj.clicks = (next?: any) => this.clicks(next)\n\t\t\tobj.sub = () => this.trigger_content()\n\t\t\tobj.hint = () => this.hint()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\t/**\n\t * Pop-up display and hide by mouse click, also hide by unfocus.\n\t * Based on [mol_pop](https://mol.hyoo.ru/#!section=demos/demo=mol_pop_demo) component.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_pick_demo\n\t */\n\texport class $mol_pick extends $.$mol_pick {\n\t\t\n\t\tkeydown( event : KeyboardEvent ) {\n\t\t\t\n\t\t\tif( !this.trigger_enabled() ) return\n\n\t\t\tif( event.defaultPrevented ) return \n\t\t\t\n\t\t\tif( event.keyCode === $mol_keyboard_code.escape ) {\n\t\t\t\tif( !this.showed() ) return\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.showed( false )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/pick/pick.view.css\",\n \"[mol_pick_trigger] {\\n\\talign-items: center;\\n\\tflex-grow: 1;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_hotkey extends $mol_plugin {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tkeydown?event <=> keydown?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tkeydown: (event?: any) => this.keydown(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * key *\n\t\t * ```\n\t\t */\n\t\tkey() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_ctrl false\n\t\t * ```\n\t\t */\n\t\tmod_ctrl() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_alt false\n\t\t * ```\n\t\t */\n\t\tmod_alt() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_shift false\n\t\t * ```\n\t\t */\n\t\tmod_shift() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keydown?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeydown(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\t/**\n\t * Plugin which adds handlers for keyboard keys.\n\t * @see [mol_keyboard_code](../keyboard/code/code.ts)\n\t */\n\texport class $mol_hotkey extends $.$mol_hotkey {\n\n\t\tkey() {\n\t\t\treturn super.key() as {\n\t\t\t\t[ key in keyof typeof $mol_keyboard_code ]? : ( event : KeyboardEvent )=> void\n\t\t\t}\n\t\t}\n\t\t\n\t\tkeydown( event? : KeyboardEvent ) {\n\n\t\t\tif( !event ) return\n\t\t\tif( event.defaultPrevented ) return\n\n\t\t\tlet name = $mol_keyboard_code[ event.keyCode ] as keyof typeof $mol_keyboard_code\n\t\t\t\n\t\t\tif( this.mod_ctrl() !== ( event.ctrlKey || event.metaKey ) ) return\n\t\t\tif( this.mod_alt() !== event.altKey ) return\n\t\t\tif( this.mod_shift() !== event.shiftKey ) return\n\t\t\t\n\t\t\tconst handle = this.key()[ name ]\n\t\t\tif( handle ) handle( event )\n\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\texport class $mol_nav extends $mol_plugin {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cycle? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcycle(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_ctrl false\n\t\t * ```\n\t\t */\n\t\tmod_ctrl() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_shift false\n\t\t * ```\n\t\t */\n\t\tmod_shift() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_alt false\n\t\t * ```\n\t\t */\n\t\tmod_alt() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keys_x? /\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeys_x(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keys_y? /\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeys_y(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current_x? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent_x(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current_y? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent_y(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_up?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_up(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_down?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_down(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_left?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_left(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_right?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_right(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tkeydown?event <=> event_key?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tkeydown: (event?: any) => this.event_key(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_key?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_key(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\t\n\t/**\n\t * Plugin which can navigate in list of items\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_nav_demo\n\t */\n\texport class $mol_nav extends $.$mol_nav {\n\t\t\n\t\tevent_key( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\t\t\tif( event.defaultPrevented ) return\n\t\t\t\n\t\t\tif( this.mod_ctrl() && !event.ctrlKey ) return\n\t\t\tif( this.mod_shift() && !event.shiftKey ) return\n\t\t\tif( this.mod_alt() && !event.altKey ) return\n\t\t\t\n\t\t\tswitch( event.keyCode ) {\n\t\t\t\tcase $mol_keyboard_code.up : return this.event_up( event )\n\t\t\t\tcase $mol_keyboard_code.down : return this.event_down( event )\n\t\t\t\tcase $mol_keyboard_code.left : return this.event_left( event )\n\t\t\t\tcase $mol_keyboard_code.right : return this.event_right( event )\n\t\t\t\tcase $mol_keyboard_code.pageUp : return this.event_up( event )\n\t\t\t\tcase $mol_keyboard_code.pageDown : return this.event_down( event )\n\t\t\t}\n\t\t}\n\t\t\n\t\tevent_up( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_y()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_y = this.index_y();\n\t\t\t\n\t\t\tconst index_old = index_y === null ? 0 : index_y\n\t\t\tconst index_new = ( index_old + keys.length - 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_old === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_y( this.keys_y()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_down( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_y()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_y = this.index_y();\n\t\t\t\n\t\t\tconst index_old = index_y === null ? keys.length - 1 : index_y;\n\t\t\tconst index_new = ( index_old + 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_new === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_y( this.keys_y()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_left( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_x()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_x = this.index_x();\n\t\t\t\n\t\t\tconst index_old = index_x === null ? 0 : index_x\n\t\t\tconst index_new = ( index_old + keys.length - 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_old === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_x( this.keys_x()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_right( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_x()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_x = this.index_x();\n\t\t\t\n\t\t\tconst index_old = index_x === null ? keys.length - 1 : index_x\n\t\t\tconst index_new = ( index_old + 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_new === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_x( this.keys_x()[ index_new ] )\n\t\t}\n\t\t\n\t\tindex_y() {\n\t\t\tlet index = this.keys_y().indexOf( this.current_y() )\n\t\t\tif( index < 0 ) return null\n\t\t\t\n\t\t\treturn index\n\t\t}\n\t\t\n\t\tindex_x() {\n\t\t\tlet index = this.keys_x().indexOf( this.current_x() )\n\t\t\tif( index < 0 ) return null\n\t\t\t\n\t\t\treturn index\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\texport class $mol_string extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\input\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"input\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 40\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 40\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * autocomplete false\n\t\t * ```\n\t\t */\n\t\tautocomplete() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection? /number\n\t\t * \t0\n\t\t * \t0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tselection(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t\t0,\n\t\t\t\t0\n\t\t\t] as readonly number[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * auto /\n\t\t * \t<= selection_watcher\n\t\t * \t<= error_report\n\t\t * ```\n\t\t */\n\t\tauto() {\n\t\t\treturn [\n\t\t\t\tthis.selection_watcher(),\n\t\t\t\tthis.error_report()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \tdisabled <= disabled\n\t\t * \tvalue <= value_changed?\n\t\t * \tplaceholder <= hint_visible\n\t\t * \tspellcheck <= spellcheck\n\t\t * \tautocomplete <= autocomplete_native\n\t\t * \tselectionEnd <= selection_end\n\t\t * \tselectionStart <= selection_start\n\t\t * \tinputMode <= keyboard\n\t\t * \tenterkeyhint <= enter\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\tdisabled: this.disabled(),\n\t\t\t\tvalue: this.value_changed(),\n\t\t\t\tplaceholder: this.hint_visible(),\n\t\t\t\tspellcheck: this.spellcheck(),\n\t\t\t\tautocomplete: this.autocomplete_native(),\n\t\t\t\tselectionEnd: this.selection_end(),\n\t\t\t\tselectionStart: this.selection_start(),\n\t\t\t\tinputMode: this.keyboard(),\n\t\t\t\tenterkeyhint: this.enter()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmaxlength <= length_max\n\t\t * \ttype <= type?\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmaxlength: this.length_max(),\n\t\t\t\ttype: this.type()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tinput?event <=> event_change?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tinput: (event?: any) => this.event_change(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plugins / <= Submit\n\t\t * ```\n\t\t */\n\t\tplugins() {\n\t\t\treturn [\n\t\t\t\tthis.Submit()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection_watcher null\n\t\t * ```\n\t\t */\n\t\tselection_watcher() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * error_report null\n\t\t * ```\n\t\t */\n\t\terror_report() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * disabled false\n\t\t * ```\n\t\t */\n\t\tdisabled() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tvalue(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value_changed? <=> value?\n\t\t * ```\n\t\t */\n\t\tvalue_changed(next?: any) {\n\t\t\treturn this.value(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_visible <= hint\n\t\t * ```\n\t\t */\n\t\thint_visible() {\n\t\t\treturn this.hint()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * spellcheck true\n\t\t * ```\n\t\t */\n\t\tspellcheck() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * autocomplete_native \\\n\t\t * ```\n\t\t */\n\t\tautocomplete_native() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection_end 0\n\t\t * ```\n\t\t */\n\t\tselection_end() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection_start 0\n\t\t * ```\n\t\t */\n\t\tselection_start() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keyboard \\text\n\t\t * ```\n\t\t */\n\t\tkeyboard() {\n\t\t\treturn \"text\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enter \\go\n\t\t * ```\n\t\t */\n\t\tenter() {\n\t\t\treturn \"go\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * length_max +Infinity\n\t\t * ```\n\t\t */\n\t\tlength_max() {\n\t\t\treturn +Infinity\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type? \\text\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\ttype(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"text\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_change?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_change(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit_with_ctrl false\n\t\t * ```\n\t\t */\n\t\tsubmit_with_ctrl() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsubmit(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Submit $mol_hotkey\n\t\t * \tmod_ctrl <= submit_with_ctrl\n\t\t * \tkey * enter?event <=> submit?event\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSubmit() {\n\t\t\tconst obj = new this.$.$mol_hotkey()\n\t\t\t\n\t\t\tobj.mod_ctrl = () => this.submit_with_ctrl()\n\t\t\tobj.key = () => ({\n\t\t\t\tenter: (event?: any) => this.submit(event)\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\t/**\n\t * An input field for entering single line text.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_string_demo\n\t */\n\texport class $mol_string extends $.$mol_string {\n\t\t\n\t\t@ $mol_action\n\t\tevent_change( next? : Event ) {\n\t\t\tif( !next ) return\n\t\t\tconst el = next.target as HTMLInputElement\n\t\t\tconst from = el.selectionStart\n\t\t\tconst to = el.selectionEnd\n\t\t\ttry {\n\t\t\t\tel.value = this.value_changed( el.value )\n\t\t\t} catch( error ) {\n\t\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\t\tif( error instanceof Error ) {\n\t\t\t\t\tel.setCustomValidity( error.message )\n\t\t\t\t\tel.reportValidity()\n\t\t\t\t}\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t}\n\t\t\tif( to === null ) return \n\t\t\tel.selectionEnd = to\n\t\t\tel.selectionStart = from\n\t\t\tthis.selection_change( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\terror_report() {\n\t\t\ttry {\n\t\t\t\tif( this.focused() ) this.value()\n\t\t\t} catch( error ) {\n\t\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\t\tif( error instanceof Error ) {\n\t\t\t\t\tel.setCustomValidity( error.message )\n\t\t\t\t\tel.reportValidity()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\thint_visible() {\n\t\t\treturn ( this.enabled() ? this.hint() : '' ) || ' '\n\t\t}\n\n\t\tdisabled() {\n\t\t\treturn !this.enabled()\n\t\t}\n\n\t\tautocomplete_native() {\n\t\t\treturn this.autocomplete() ? 'on' : 'off'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tselection_watcher() {\n\t\t\treturn new $mol_dom_listener(\n\t\t\t\tthis.$.$mol_dom_context.document,\n\t\t\t\t'selectionchange',\n\t\t\t\t$mol_wire_async( event => this.selection_change( event ) ),\n\t\t\t)\n\t\t}\n\t\t\n\t\tselection_change( event: Event ) {\n\t\t\t\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el !== this.$.$mol_dom_context.document.activeElement ) return\n\t\t\t\n\t\t\tconst [ from, to ] = this.selection([\n\t\t\t\tel.selectionStart!,\n\t\t\t\tel.selectionEnd!,\n\t\t\t])\n\t\t\t\n\t\t\tel.selectionEnd = to\n\t\t\tel.selectionStart = from\n\n\t\t\tif( to !== from && el.selectionEnd === el.selectionStart ) {\n\t\t\t\tel.selectionEnd = to\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tselection_start() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el.selectionStart === null ) return undefined as any as number\n\t\t\treturn this.selection()[0]\n\t\t}\n\n\t\tselection_end() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el.selectionEnd === null ) return undefined as any as number\n\t\t\treturn this.selection()[1]\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/string/string.view.css\",\n \"[mol_string] {\\n\\tbox-sizing: border-box;\\n\\toutline-offset: 0;\\n\\tborder: none;\\n\\tborder-radius: var(--mol_gap_round);\\n\\twhite-space: pre-line;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tposition: relative;\\n\\tfont: inherit;\\n\\tflex: 1 1 auto;\\n\\tbackground: transparent;\\n\\tmin-width: 0;\\n\\tcolor: inherit;\\n\\tbackground: var(--mol_theme_field);\\n}\\n\\n[mol_string]:disabled:not(:placeholder-shown) {\\n\\tbackground-color: transparent;\\n\\tcolor: var(--mol_theme_text);\\n}\\n\\n[mol_string]:where(:not(:disabled)) {\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_line);\\n}\\n\\n[mol_string]:where(:not(:disabled)):hover {\\n\\tbox-shadow: inset 0 0 0 2px var(--mol_theme_line);\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_string]:focus {\\n\\toutline: none;\\n\\tz-index: var(--mol_layer_focus);\\n\\tcolor: var(--mol_theme_text);\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_focus);\\n}\\n\\n[mol_string]::placeholder {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_string]::-ms-clear {\\n\\tdisplay: none;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_icon_cross extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12L19 6.41Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12L19 6.41Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_paragraph extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * line_height 24\n\t\t * ```\n\t\t */\n\t\tline_height() {\n\t\t\treturn 24\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * letter_width 7\n\t\t * ```\n\t\t */\n\t\tletter_width() {\n\t\t\treturn 7\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * width_limit +Infinity\n\t\t * ```\n\t\t */\n\t\twidth_limit() {\n\t\t\treturn +Infinity\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_width 0\n\t\t * ```\n\t\t */\n\t\trow_width() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\texport class $mol_paragraph extends $.$mol_paragraph {\n\n\t\t@ $mol_mem\n\t\tmaximal_width() {\n\n\t\t\tlet width = 0\n\t\t\tconst letter = this.letter_width()\n\t\t\t\n\t\t\tfor( const kid of this.sub() ) {\n\t\t\t\t\n\t\t\t\tif( !kid ) continue\n\t\t\t\t\n\t\t\t\tif( kid instanceof $mol_view ) {\n\t\t\t\t\twidth += kid.maximal_width()\n\t\t\t\t} else if( typeof kid !== 'object' ) {\n\t\t\t\t\twidth += String( kid ).length * letter\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn width\n\n\t\t}\n\n\t\twidth_limit() {\n\t\t\treturn this.$.$mol_window.size().width\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.letter_width()\n\t\t}\n\n\t\t@ $mol_mem\n\t\trow_width() {\n\t\t\treturn Math.max( Math.min( this.width_limit() , this.maximal_width() ) , this.letter_width() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\treturn Math.max( 1 , Math.ceil( this.maximal_width() / this.row_width() ) ) * this.line_height()\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/paragraph/paragraph.view.css\",\n \":where([mol_paragraph]) {\\n\\tmargin: 0;\\n\\tmax-width: 100%;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_dimmer extends $mol_paragraph {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * haystack \\\n\t\t * ```\n\t\t */\n\t\thaystack() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * needle \\\n\t\t * ```\n\t\t */\n\t\tneedle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= parts\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.parts()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Low* $mol_paragraph sub / <= string*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tLow(id: any) {\n\t\t\tconst obj = new this.$.$mol_paragraph()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.string(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * High* $mol_paragraph sub / <= string*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tHigh(id: any) {\n\t\t\tconst obj = new this.$.$mol_paragraph()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.string(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * parts /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tparts() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * string* \\\n\t\t * ```\n\t\t */\n\t\tstring(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","interface String {\n\t\n\tmatch< RE extends RegExp >( regexp: RE ): ReturnType<\n\t\tRE[ typeof Symbol.match ]\n\t>\n\t\n matchAll< RE extends RegExp >( regexp: RE ): ReturnType<\n\t\tRE[ typeof Symbol.matchAll ]\n\t>\n\t\n}\n\nnamespace $ {\n\t\n\ttype Groups_to_params = {\n\t\t[P in keyof T]?: T[P] | boolean | undefined;\n\t};\t\n\n\texport type $mol_regexp_source =\n\t| number\n\t| string\n\t| RegExp\n\t| { [ key in string ] : $mol_regexp_source }\n\t| readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\n\texport type $mol_regexp_groups< Source extends $mol_regexp_source >\n\t\n\t\t= Source extends number\n\t\t? {}\n\t\t\n\t\t: Source extends string\n\t\t? {}\n\t\t\n\t\t: Source extends $mol_regexp_source[]\n\t\t? $mol_type_merge< $mol_type_intersect< {\n\t\t\t[ key in Extract< keyof Source , number > ] : $mol_regexp_groups< Source[ key ] >\n\t\t}[ Extract< keyof Source , number > ] > >\n\t\t\n\t\t: Source extends RegExp\n\t\t? Record< string, string > extends NonNullable< NonNullable< ReturnType< Source['exec'] > >[ 'groups' ] >\n\t\t\t? {}\n\t\t\t: NonNullable< NonNullable< ReturnType< Source['exec'] > >[ 'groups' ] >\n\t\t\n\t\t: Source extends { readonly [ key in string ] : $mol_regexp_source }\n\t\t? $mol_type_merge< $mol_type_intersect< {\n\t\t\t[ key in keyof Source ] :\n\t\t\t\t$mol_type_merge<\n\t\t\t\t\t& $mol_type_override<\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treadonly [ k in Extract< keyof Source , string > ]: string\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treadonly [ k in key ]:\n\t\t\t\t\t\t\t\tSource[ key ] extends string\n\t\t\t\t\t\t\t\t\t? Source[ key ]\n\t\t\t\t\t\t\t\t\t: string\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t& $mol_regexp_groups< Source[ key ] >\n\t\t\t\t>\n\t\t}[ keyof Source ] > >\n\n\t\t: never\n\t\t\n\t/** Type safe reguar expression builder */\n\texport class $mol_regexp< Groups extends Record< string , string > > extends RegExp {\n\t\t\n\t\t/** Prefer to use $mol_regexp.from */\n\t\tconstructor( source : string , flags : string = 'gsu' , readonly groups : ( Extract< keyof Groups , string > )[] = [] ) {\n\t\t\tsuper( source , flags )\n\t\t}\n\t\t\n\t\t*[Symbol.matchAll] (str:string): IterableIterator< RegExpMatchArray & $mol_type_override< RegExpMatchArray, { groups?: { [ key in keyof Groups ] : string } } > > {\n\t\t\tconst index = this.lastIndex\n\t\t\tthis.lastIndex = 0\n\t\t\ttry {\n\t\t\t\twhile ( this.lastIndex < str.length ) {\n\t\t\t\t\tconst found = this.exec(str)\n\t\t\t\t\tif( !found ) break\n\t\t\t\t\tyield found\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tthis.lastIndex = index\n\t\t\t}\n\t\t}\n\t\t\n\t\t/** Parses input and returns found capture groups or null */\n\t\t[ Symbol.match ]( str : string ): null | RegExpMatchArray {\n\t\t\tconst res = [ ... this[Symbol.matchAll]( str ) ].filter( r => r.groups ).map( r => r[0] )\n\t\t\tif( !res.length ) return null\n\t\t\treturn res as RegExpMatchArray\n\t\t}\n\t\t\n\t\t/** Splits string by regexp edges */\n\t\t[ Symbol.split ]( str : string ): string[] {\n\t\t\t\n\t\t\tconst res = [] as string[]\n\t\t\tlet token_last = null\n\t\t\t\n\t\t\tfor( let token of this[Symbol.matchAll]( str ) ) {\n\t\t\t\tif( token.groups && ( token_last ? token_last.groups : true ) ) res.push( '' )\n\t\t\t\tres.push( token[0] )\n\t\t\t\ttoken_last = token\n\t\t\t}\n\t\t\t\n\t\t\tif( !res.length ) res.push( '' )\n\t\t\t\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttest( str : string ): boolean {\n\t\t\treturn Boolean( str.match( this) )\n\t\t}\n\t\t\n\t\texec( str : string ): RegExpExecArray & $mol_type_override< RegExpExecArray , { groups?: { [ key in keyof Groups ] : string } } > | null {\n\t\t\t\n\t\t\tconst from = this.lastIndex\n\t\t\tif( from >= str.length ) return null\n\t\t\t\n\t\t\tconst res = super.exec( str )\n\t\t\tif( res === null ) {\n\t\t\t\tthis.lastIndex = str.length\n\t\t\t\tif( !str ) return null\n\t\t\t\treturn Object.assign( [ str.slice( from ) ], {\n\t\t\t\t\tindex: from,\n\t\t\t\t\tinput: str,\n\t\t\t\t} ) as any\n\t\t\t}\n\n\t\t\tif( from === this.lastIndex ) {\n\t\t\t\t$mol_fail( new Error( 'Captured empty substring' ) )\n\t\t\t}\n\n\t\t\ttype Token = { [ key in keyof Groups ] : string } & { [ key : number ] : string }\n\t\t\tconst groups = {} as Token\n\t\t\t\n\t\t\tconst skipped = str.slice( from , this.lastIndex - res[0].length )\n\t\t\tif( skipped ) {\n\t\t\t\tthis.lastIndex = this.lastIndex - res[0].length\n\t\t\t\treturn Object.assign( [ skipped ], {\n\t\t\t\t\tindex: from,\n\t\t\t\t\tinput: res.input,\n\t\t\t\t} ) as any\n\t\t\t}\n\t\t\t\n\t\t\tfor( let i = 0 ; i < this.groups.length ; ++i ) {\n\t\t\t\tconst group = this.groups[ i ]\n\t\t\t\tgroups[ group ] = groups[ group ] || res[ i + 1 ] || '' as any\n\t\t\t}\n\n\t\t\treturn Object.assign( res, { groups } )\n\t\t}\n\t\t\n\t\tgenerate(\n\t\t\tparams: Groups_to_params< Groups >\n\t\t): string | null {\n\t\t\treturn null\n\t\t}\n\t\t\n\t\tget native() {\n\t\t\treturn new RegExp( this.source, this.flags )\n\t\t}\n\n\t\t/** Makes regexp that non-greedy repeats this pattern from min to max count */\n\t\tstatic repeat<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\tmin = 0 ,\n\t\t\tmax = Number.POSITIVE_INFINITY ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\t\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\tconst upper = Number.isFinite( max ) ? max : ''\n\t\t\t\n\t\t\tconst str = `(?:${ regexp.source }){${ min },${ upper }}?`\n\t\t\tconst regexp2 = new $mol_regexp( str , regexp.flags , regexp.groups )\n\t\t\t\n\t\t\tregexp2.generate = params => {\n\t\t\t\tconst res = regexp.generate( params )\n\t\t\t\tif( res ) return res\n\t\t\t\tif( min > 0 ) return res\n\t\t\t\treturn ''\n\t\t\t}\n\t\n\t\t\treturn regexp2\n\t\n\t\t}\n\n\t\t/** Makes regexp that greedy repeats this pattern from min to max count */\n\t\tstatic repeat_greedy<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\tmin = 0 ,\n\t\t\tmax = Number.POSITIVE_INFINITY ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\t\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\tconst upper = Number.isFinite( max ) ? max : ''\n\t\t\t\n\t\t\tconst str = `(?:${ regexp.source }){${ min },${ upper }}`\n\t\t\tconst regexp2 = new $mol_regexp( str , regexp.flags , regexp.groups )\n\t\t\t\n\t\t\tregexp2.generate = params => {\n\t\t\t\tconst res = regexp.generate( params )\n\t\t\t\tif( res ) return res\n\t\t\t\tif( min > 0 ) return res\n\t\t\t\treturn ''\n\t\t\t}\n\t\n\t\t\treturn regexp2\n\t\t}\n\n\t\t/** Makes regexp that match any of options */\n\t\tstatic vary<\n\t\t\tSources extends readonly $mol_regexp_source[]\n\t\t>(\n\t\t\tsources : Sources ,\n\t\t) {\n\t\t\t\n\t\t\tconst groups = [] as string[]\n\t\t\t\n\t\t\tconst chunks = sources.map( source => {\n\n\t\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\tgroups.push( ... regexp.groups )\n\t\t\t\t\n\t\t\t\treturn regexp.source\n\n\t\t\t} ) as any as readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\t\t\t\n\t\t\treturn new $mol_regexp< $mol_regexp_groups< Sources[number] > >(\n\t\t\t\t`(?:${ chunks.join('|') })` ,\n\t\t\t\t'' ,\n\t\t\t\tgroups as any[] ,\n\t\t\t)\n\t\t\t\n\t\t}\n\n\t\t/** Makes regexp that allow absent of this pattern */\n\t\tstatic optional<\n\t\t\tSource extends $mol_regexp_source\n\t\t>( source : Source ) {\n\t\t\treturn $mol_regexp.repeat_greedy( source , 0 , 1 )\n\t\t}\n\n\t\t/** Makes regexp that look ahead for pattern */\n\t\tstatic force_after( source : $mol_regexp_source ) {\n\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`(?=${ regexp.source })` ,\n\t\t\t\tregexp.flags ,\n\t\t\t\tregexp.groups ,\n\t\t\t)\n\n\t\t}\n\n\t\t/** Makes regexp that look ahead for pattern */\n\t\tstatic forbid_after( source : $mol_regexp_source ) {\n\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`(?!${ regexp.source })` ,\n\t\t\t\tregexp.flags ,\n\t\t\t\tregexp.groups ,\n\t\t\t)\n\n\t\t}\n\n\t\t/** Converts some js values to regexp */\n\t\tstatic from<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\t{ ignoreCase , multiline } : Partial< Pick< RegExp , 'ignoreCase' | 'multiline' > > = {\n\t\t\t\tignoreCase : false ,\n\t\t\t\tmultiline : false ,\n\t\t\t} ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\n\t\t\tlet flags = 'gsu'\n\t\t\tif( multiline ) flags += 'm'\n\t\t\tif( ignoreCase ) flags += 'i'\n\n\t\t\tif( typeof source === 'number' ) {\n\n\t\t\t\tconst src = `\\\\u{${ source.toString(16) }}`\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >( src , flags )\n\t\t\t\tregexp.generate = ()=> src\n\t\t\t\treturn regexp\n\n\t\t\t} if( typeof source === 'string' ) {\n\n\t\t\t\tconst src = source.replace( /[.*+?^${}()|[\\]\\\\]/g , '\\\\$&' ) \n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >( src , flags )\n\t\t\t\tregexp.generate = ()=> source\n\t\t\t\treturn regexp\n\n\t\t\t} else if( source instanceof $mol_regexp ) {\n\t\t\t\t\n\t\t\t\tconst regexp = new $mol_regexp( source.source, flags, source.groups )\n\t\t\t\tregexp.generate = params => source.generate( params )\n\t\t\t\treturn regexp\n\t\t\t\t\n\t\t\t} if( source instanceof RegExp ) {\n\n\n\t\t\t\tconst test = new RegExp( '|' + source.source )\n\t\t\t\tconst groups = Array.from(\n\t\t\t\t\t{ length : test.exec('')!.length - 1 } ,\n\t\t\t\t\t( _ , i )=> String( i + 1 ) ,\n\t\t\t\t)\n\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >(\n\t\t\t\t\tsource.source ,\n\t\t\t\t\tsource.flags ,\n\t\t\t\t\tgroups as any ,\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tregexp.generate = ()=> ''\n\n\t\t\t\treturn regexp\n\n\t\t\t} if( Array.isArray( source ) ) {\n\n\t\t\t\tconst patterns = source.map( src => Array.isArray( src )\n\t\t\t\t\t? $mol_regexp.optional( src as any )\n\t\t\t\t\t: $mol_regexp.from( src )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tconst chunks = patterns.map( pattern => pattern.source )\n\t\t\t\t\n\t\t\t\tconst groups = [] as ( Extract< keyof $mol_regexp_groups< Source > , string > )[]\n\n\t\t\t\tlet index = 0\n\t\t\n\t\t\t\tfor( const pattern of patterns ) {\n\t\t\t\t\t\n\t\t\t\t\tfor( let group of pattern.groups ) {\n\t\t\t\t\t\tif( Number( group ) >= 0 ) {\n\t\t\t\t\t\t\tgroups.push( String( index ++ ) as any )\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tgroups.push( group )\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst regexp = new $mol_regexp( chunks.join( '' ) , flags , groups )\n\t\t\t\t\n\t\t\t\tregexp.generate = params => {\n\t\t\t\t\tlet res = ''\n\t\t\t\t\tfor( const pattern of patterns ) {\n\t\t\t\t\t\tlet sub = pattern.generate( params )\n\t\t\t\t\t\tif( sub === null ) return ''\n\t\t\t\t\t\tres += sub\n\t\t\t\t\t}\n\t\t\t\t\treturn res\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn regexp\n\t\t\n\t\t\t} else {\n\n\t\t\t\tconst groups = [] as string[]\n\n\t\t\t\tconst chunks = Object.keys( source ).map( name => {\n\n\t\t\t\t\tgroups.push( name )\n\n\t\t\t\t\tconst regexp = $mol_regexp.from( (source as any)[ name ] )\n\t\t\t\t\tgroups.push( ... regexp.groups )\n\t\t\t\t\t\n\t\t\t\t\treturn `(${regexp.source})`\n\n\t\t\t\t} ) as any as readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >(\n\t\t\t\t\t`(?:${ chunks.join('|') })` ,\n\t\t\t\t\tflags ,\n\t\t\t\t\tgroups as any[] ,\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tconst validator = new RegExp( '^' + regexp.source + '$', flags )\n\t\t\t\tregexp.generate = (params: any) => {\n\t\t\t\t\t\n\t\t\t\t\tfor( let option in source ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( option in params ) {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( typeof params[ option ] === 'boolean' ) {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif( !params[ option as any ] ) continue\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tconst str = String( params[ option ] )\n\t\t\t\t\t\t\t\tif( str.match( validator ) ) return str\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t$mol_fail( new Error( `Wrong param: ${option}=${str}` ) )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif( typeof (source as any)[ option ] !== 'object' ) continue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst res = $mol_regexp.from( (source as any)[ option ] ).generate( params )\n\t\t\t\t\t\tif( res ) return res\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn regexp\n\n\t\t\t}\n\t\n\t\t}\n\n\t\t/** Makes regexp which includes only unicode category */\n\t\tstatic unicode_only( ... category: $mol_unicode_category ) {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`\\\\p{${ category.join( '=' ) }}`\n\t\t\t)\n\t\t}\n\n\t\t/** Makes regexp which excludes unicode category */\n\t\tstatic unicode_except( ... category: $mol_unicode_category ) {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`\\\\P{${ category.join( '=' ) }}`\n\t\t\t)\n\t\t}\n\n\t\tstatic char_range(\n\t\t\tfrom: number,\n\t\t\tto: number,\n\t\t): $mol_regexp<{}> {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`${ $mol_regexp.from( from ).source }-${ $mol_regexp.from( to ).source }`\n\t\t\t)\n\t\t}\n\n\t\tstatic char_only(\n\t\t\t... allowed: readonly [ $mol_regexp_source, ... $mol_regexp_source[] ]\n\t\t): $mol_regexp<{}> {\n\t\t\tconst regexp = allowed.map( f => $mol_regexp.from( f ).source ).join('')\n\t\t\treturn new $mol_regexp( `[${ regexp }]` )\n\t\t}\n\n\t\tstatic char_except(\n\t\t\t... forbidden: readonly [ $mol_regexp_source, ... $mol_regexp_source[] ]\n\t\t): $mol_regexp<{}> {\n\t\t\tconst regexp = forbidden.map( f => $mol_regexp.from( f ).source ).join('')\n\t\t\treturn new $mol_regexp( `[^${ regexp }]` )\n\t\t}\n\t\t\n\t\tstatic decimal_only = $mol_regexp.from( /\\d/gsu )\n\t\tstatic decimal_except = $mol_regexp.from( /\\D/gsu )\n\t\t\n\t\tstatic latin_only = $mol_regexp.from( /\\w/gsu )\n\t\tstatic latin_except = $mol_regexp.from( /\\W/gsu )\n\t\t\n\t\tstatic space_only = $mol_regexp.from( /\\s/gsu )\n\t\tstatic space_except = $mol_regexp.from( /\\S/gsu )\n\t\t\n\t\tstatic word_break_only = $mol_regexp.from( /\\b/gsu )\n\t\tstatic word_break_except = $mol_regexp.from( /\\B/gsu )\n\t\t\n\t\tstatic tab = $mol_regexp.from( /\\t/gsu )\n\t\tstatic slash_back = $mol_regexp.from( /\\\\/gsu )\n\t\tstatic nul = $mol_regexp.from( /\\0/gsu )\n\t\t\n\t\tstatic char_any = $mol_regexp.from( /./gsu )\n\t\tstatic begin = $mol_regexp.from( /^/gsu )\n\t\tstatic end = $mol_regexp.from( /$/gsu )\n\t\tstatic or = $mol_regexp.from( /|/gsu )\n\t\t\n\t\tstatic line_end = $mol_regexp.from({\n\t\t\twin_end: [ [ '\\r' ], '\\n' ],\n\t\t\tmac_end: '\\r',\n\t\t})\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t/**\n\t * Output text with dimmed mismatched substrings.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_dimmer_demo\n\t */\n\texport class $mol_dimmer extends $.$mol_dimmer {\n\t\t\n\t\tparts() {\n\t\t\tconst needle = this.needle()\n\t\t\tif( needle.length < 2 ) return [ this.haystack() ]\n\t\t\t\n\t\t\tlet chunks : any[] = []\n\t\t\tlet strings = this.strings()\n\t\t\t\n\t\t\tfor( let index = 0 ; index < strings.length ; index++ ) {\n\t\t\t\tif( strings[ index ] === '' ) continue\n\t\t\t\t\n\t\t\t\tchunks.push( ( index % 2 ) ? this.High( index ) : this.Low( index ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn chunks\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstrings() {\n\t\t\t\n\t\t\tconst options = this.needle().split( /\\s+/g ).filter( Boolean )\n\t\t\tif( !options.length ) return [ this.haystack() ]\n\t\t\t\n\t\t\tconst variants = { ... options } as Record< number, string >\n\t\t\tconst regexp = $mol_regexp.from( { needle: variants } , { ignoreCase: true } )\n\t\t\t\n\t\t\treturn this.haystack().split( regexp )\n\t\t}\n\t\t\n\t\tstring( index: number ) {\n\t\t\treturn this.strings()[ index ]\n\t\t}\n\t\t\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this, this.haystack() ) ) {\n\t\t\t\tyield [ ... path, this ]\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/dimmer/dimmer.view.css\",\n \"[mol_dimmer] {\\n\\tdisplay: block;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_dimmer_low] {\\n\\tdisplay: inline;\\n\\topacity: 0.8;\\n}\\n\\n[mol_dimmer_high] {\\n\\tdisplay: inline;\\n\\tcolor: var(--mol_theme_focus);\\n\\ttext-shadow: 0 0;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_search extends $mol_pop {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * query? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tquery(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * suggests /string\n\t\t * ```\n\t\t */\n\t\tsuggests() {\n\t\t\treturn [\n\t\t\t] as readonly string[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plugins /$mol_plugin\n\t\t * \t^\n\t\t * \t<= Hotkey\n\t\t * \t<= Nav\n\t\t * ```\n\t\t */\n\t\tplugins() {\n\t\t\treturn [\n\t\t\t\t...super.plugins(),\n\t\t\t\tthis.Hotkey(),\n\t\t\t\tthis.Nav()\n\t\t\t] as readonly $mol_plugin[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * showed? <=> suggests_showed?\n\t\t * ```\n\t\t */\n\t\tshowed(next?: any) {\n\t\t\treturn this.suggests_showed(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * align_hor \\right\n\t\t * ```\n\t\t */\n\t\talign_hor() {\n\t\t\treturn \"right\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Anchor $mol_view sub <= anchor_content\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tAnchor() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => this.anchor_content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * bubble_content /$mol_view_content <= Menu\n\t\t * ```\n\t\t */\n\t\tbubble_content() {\n\t\t\treturn [\n\t\t\t\tthis.Menu()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Suggest* $mol_button_minor\n\t\t * \tclick?event <=> suggest_select*?event\n\t\t * \tsub <= suggest_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tSuggest(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.click = (event?: any) => this.suggest_select(id, event)\n\t\t\tobj.sub = () => this.suggest_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clear? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclear(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Hotkey $mol_hotkey key * escape? <=> clear?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHotkey() {\n\t\t\tconst obj = new this.$.$mol_hotkey()\n\t\t\t\n\t\t\tobj.key = () => ({\n\t\t\t\tescape: (next?: any) => this.clear(next)\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * nav_components /$mol_view\n\t\t * ```\n\t\t */\n\t\tnav_components() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * nav_focused?component null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tnav_focused(component?: any) {\n\t\t\tif ( component !== undefined ) return component as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nav $mol_nav\n\t\t * \tkeys_y <= nav_components\n\t\t * \tcurrent_y?component <=> nav_focused?component\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNav() {\n\t\t\tconst obj = new this.$.$mol_nav()\n\t\t\t\n\t\t\tobj.keys_y = () => this.nav_components()\n\t\t\tobj.current_y = (component?: any) => this.nav_focused(component)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * suggests_showed? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsuggests_showed(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint @ \\Search...\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_search_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsubmit(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keyboard \\search\n\t\t * ```\n\t\t */\n\t\tkeyboard() {\n\t\t\treturn \"search\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enter \\search\n\t\t * ```\n\t\t */\n\t\tenter() {\n\t\t\treturn \"search\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * bring\n\t\t * ```\n\t\t */\n\t\tbring() {\n\t\t\treturn this.Query().bring()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Query $mol_string\n\t\t * \tvalue? <=> query?\n\t\t * \thint <= hint\n\t\t * \tsubmit?event <=> submit?event\n\t\t * \tenabled <= enabled\n\t\t * \tkeyboard <= keyboard\n\t\t * \tenter <= enter\n\t\t * \tbring => bring\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tQuery() {\n\t\t\tconst obj = new this.$.$mol_string()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.query(next)\n\t\t\tobj.hint = () => this.hint()\n\t\t\tobj.submit = (event?: any) => this.submit(event)\n\t\t\tobj.enabled = () => this.enabled()\n\t\t\tobj.keyboard = () => this.keyboard()\n\t\t\tobj.enter = () => this.enter()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Clear_icon $mol_icon_cross\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tClear_icon() {\n\t\t\tconst obj = new this.$.$mol_icon_cross()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Clear $mol_button_minor\n\t\t * \thint @ \\Clear\n\t\t * \tclick?event <=> clear?event\n\t\t * \tsub / <= Clear_icon\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tClear() {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$mol_search_Clear_hint' )\n\t\t\tobj.click = (event?: any) => this.clear(event)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Clear_icon()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * anchor_content /\n\t\t * \t<= Query\n\t\t * \t<= Clear\n\t\t * ```\n\t\t */\n\t\tanchor_content() {\n\t\t\treturn [\n\t\t\t\tthis.Query(),\n\t\t\t\tthis.Clear()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * menu_items /$mol_view\n\t\t * ```\n\t\t */\n\t\tmenu_items() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Menu $mol_list rows <= menu_items\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tMenu() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.rows = () => this.menu_items()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * suggest_select*?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tsuggest_select(id: any, event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * suggest_label* \\\n\t\t * ```\n\t\t */\n\t\tsuggest_label(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Suggest_label* $mol_dimmer\n\t\t * \thaystack <= suggest_label*\n\t\t * \tneedle <= query?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tSuggest_label(id: any) {\n\t\t\tconst obj = new this.$.$mol_dimmer()\n\t\t\t\n\t\t\tobj.haystack = () => this.suggest_label(id)\n\t\t\tobj.needle = () => this.query()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * suggest_content* /$mol_view_content <= Suggest_label*\n\t\t * ```\n\t\t */\n\t\tsuggest_content(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Suggest_label(id)\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\t\n\t/**\n\t * Search input with suggest and clear button.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_search_demo\n\t */\n\texport class $mol_search extends $.$mol_search {\n\t\t\n\t\t@ $mol_mem\n\t\tanchor_content() {\n\t\t\treturn [\n\t\t\t\tthis.Query(),\n\t\t\t\t... this.query() ? [ this.Clear() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsuggests_showed( next = true ) {\n\t\t\t\n\t\t\tthis.query()\n\t\t\t\n\t\t\tif( !this.focused() ) return false\n\n\t\t\treturn next\n\t\t}\n\n\t\tsuggest_selected( next? : string ) {\n\t\t\t\n\t\t\tif( next === undefined ) return\n\t\t\t\n\t\t\tthis.query( next )\n\t\t\tthis.Query().focused( true )\n\t\t\t\n\t\t}\n\t\t\n\t\tnav_components() {\n\t\t\treturn [\n\t\t\t\tthis.Query(),\n\t\t\t\t... this.menu_items(),\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tnav_focused( component? : $mol_view ) {\n\t\t\t\n\t\t\tif( !this.focused() ) return null\n\t\t\t\n\t\t\tif( component == null ) {\n\t\t\t\t\n\t\t\t\tfor( let comp of this.nav_components() ) {\n\t\t\t\t\tif( comp && comp.focused() ) return comp\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn null\n\t\t\t}\n\t\t\t\n\t\t\tif( this.suggests_showed() ) {\n\t\t\t\tthis.ensure_visible( component, \"center\" )\n\t\t\t\tcomponent.focused( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn component\n\t\t}\n\t\t\n\t\tsuggest_label( key: string ) {\n\t\t\treturn key\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmenu_items() {\n\t\t\treturn this.suggests().map( ( suggest : string ) => this.Suggest( suggest ) )\n\t\t}\n\t\t\n\t\tsuggest_select( id : string , event? : MouseEvent ) {\n\t\t\tthis.query( id )\n\t\t\tthis.Query().selection([ id.length, id.length ])\n\t\t\tthis.Query().focused( true )\n\t\t}\n\t\t\n\t\tclear( event? : Event ) {\n\t\t\tthis.query( '' )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/search/search.view.css\",\n \"[mol_search] {\\n\\talign-self: flex-start;\\n\\tflex: auto;\\n}\\n\\n[mol_search_anchor] {\\n\\tflex: 1 1 auto;\\n}\\n\\n[mol_search_query] {\\n\\tflex-grow: 1;\\n}\\n\\n[mol_search_menu] {\\n\\tmin-height: .75rem;\\n\\tdisplay: flex;\\n}\\n\\n[mol_search_suggest] {\\n\\ttext-align: left;\\n}\\n\\n[mol_search_suggest_label_high] {\\n\\tcolor: var(--mol_theme_shade);\\n\\ttext-shadow: none;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_icon_dots_vertical extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M12,16C13.1,16 14,16.9 14,18C14,19.1 13.1,20 12,20C10.9,20 10,19.1 10,18C10,16.9 10.9,16 12,16M12,10C13.1,10 14,10.9 14,12C14,13.1 13.1,14 12,14C10.9,14 10,13.1 10,12C10,10.9 10.9,10 12,10M12,4C13.1,4 14,4.9 14,6C14,7.1 13.1,8 12,8C10.9,8 10,7.1 10,6C10,4.9 10.9,4 12,4Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M12,16C13.1,16 14,16.9 14,18C14,19.1 13.1,20 12,20C10.9,20 10,19.1 10,18C10,16.9 10.9,16 12,16M12,10C13.1,10 14,10.9 14,12C14,13.1 13.1,14 12,14C10.9,14 10,13.1 10,12C10,10.9 10.9,10 12,10M12,4C13.1,4 14,4.9 14,6C14,7.1 13.1,8 12,8C10.9,8 10,7.1 10,6C10,4.9 10.9,4 12,4Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_select extends $mol_pick {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dictionary? *\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tdictionary(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * options /string\n\t\t * ```\n\t\t */\n\t\toptions() {\n\t\t\treturn [\n\t\t\t] as readonly string[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tvalue(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_label_default \\\n\t\t * ```\n\t\t */\n\t\toption_label_default() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Option_row* $mol_button_minor\n\t\t * \tevent_click?event <=> event_select*?event\n\t\t * \tsub <= option_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tOption_row(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.event_click = (event?: any) => this.event_select(id, event)\n\t\t\tobj.sub = () => this.option_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * No_options $mol_view sub / <= no_options_message\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNo_options() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.no_options_message()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plugins /\n\t\t * \t^\n\t\t * \t<= Nav\n\t\t * ```\n\t\t */\n\t\tplugins() {\n\t\t\treturn [\n\t\t\t\t...super.plugins(),\n\t\t\t\tthis.Nav()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint @ \\Pick..\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_select_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * bubble_content /\n\t\t * \t<= Filter\n\t\t * \t<= Bubble_pane\n\t\t * ```\n\t\t */\n\t\tbubble_content() {\n\t\t\treturn [\n\t\t\t\tthis.Filter(),\n\t\t\t\tthis.Bubble_pane()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Filter $mol_search\n\t\t * \tquery? <=> filter_pattern?\n\t\t * \thint <= filter_hint\n\t\t * \tsubmit?event <=> submit?event\n\t\t * \tenabled <= enabled\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFilter() {\n\t\t\tconst obj = new this.$.$mol_search()\n\t\t\t\n\t\t\tobj.query = (next?: any) => this.filter_pattern(next)\n\t\t\tobj.hint = () => this.filter_hint()\n\t\t\tobj.submit = (event?: any) => this.submit(event)\n\t\t\tobj.enabled = () => this.enabled()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Trigger_icon $mol_icon_dots_vertical\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTrigger_icon() {\n\t\t\tconst obj = new this.$.$mol_icon_dots_vertical()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_select*?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tevent_select(id: any, event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_label* \\\n\t\t * ```\n\t\t */\n\t\toption_label(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * filter_pattern? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tfilter_pattern(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Option_label* $mol_dimmer\n\t\t * \thaystack <= option_label*\n\t\t * \tneedle <= filter_pattern?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tOption_label(id: any) {\n\t\t\tconst obj = new this.$.$mol_dimmer()\n\t\t\t\n\t\t\tobj.haystack = () => this.option_label(id)\n\t\t\tobj.needle = () => this.filter_pattern()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_content* / <= Option_label*\n\t\t * ```\n\t\t */\n\t\toption_content(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Option_label(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * no_options_message @ \\No options\n\t\t * ```\n\t\t */\n\t\tno_options_message() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_select_no_options_message' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * nav_components /$mol_view\n\t\t * ```\n\t\t */\n\t\tnav_components() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_focused?component null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\toption_focused(component?: any) {\n\t\t\tif ( component !== undefined ) return component as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * nav_cycle? true\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tnav_cycle(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nav $mol_nav\n\t\t * \tkeys_y <= nav_components\n\t\t * \tcurrent_y?component <=> option_focused?component\n\t\t * \tcycle? <=> nav_cycle?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNav() {\n\t\t\tconst obj = new this.$.$mol_nav()\n\t\t\t\n\t\t\tobj.keys_y = () => this.nav_components()\n\t\t\tobj.current_y = (component?: any) => this.option_focused(component)\n\t\t\tobj.cycle = (next?: any) => this.nav_cycle(next)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * menu_content /$mol_view\n\t\t * ```\n\t\t */\n\t\tmenu_content() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Menu $mol_list rows <= menu_content\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tMenu() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.rows = () => this.menu_content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Bubble_pane $mol_scroll sub / <= Menu\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tBubble_pane() {\n\t\t\tconst obj = new this.$.$mol_scroll()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Menu()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * filter_hint @ \\Filter..\n\t\t * ```\n\t\t */\n\t\tfilter_hint() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_select_filter_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsubmit(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\texport function $mol_match_text< Variant >( query : string , values : ( variant : Variant )=> string[] ) {\n\t\tconst tags = query.toLowerCase().trim().split( /\\s+/ ).filter( tag => tag )\n\n\t\tif( tags.length === 0 ) return ()=> true\n\t\t\n\t\treturn ( variant : Variant )=> {\n\t\t\tconst vals = values( variant )\n\t\t\treturn tags.every( tag => vals.some( val => val.toLowerCase().indexOf( tag ) >= 0 ) )\n\t\t}\n\t}\n\n}\n","namespace $.$$ {\n\n\t/**\n\t * Allow user to select value from various options and displays current value.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_select_demo_colors\n\t */\n\texport class $mol_select extends $.$mol_select {\n\t\t\n\t\t@ $mol_mem\n\t\tfilter_pattern( next? : string ) {\n\t\t\tthis.focused()\n\t\t\t\n\t\t\treturn next || ''\n\t\t}\n\n\t\topen() {\n\t\t\tthis.showed( true )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toptions() {\n\t\t\treturn Object.keys( this.dictionary() ) as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toptions_filtered() {\n\t\t\tlet options = this.options()\n\t\t\toptions = options.filter( $mol_match_text( this.filter_pattern() , ( id : string )=> [ this.option_label( id ) ] ) )\n\n\t\t\tconst index = options.indexOf( this.value() )\n\t\t\tif( index >= 0 ) options = [ ... options.slice( 0 , index ) , ... options.slice( index + 1 ) ]\n\t\t\t\n\t\t\treturn options\n\t\t}\n\t\t\n\t\toption_label( id : string ) {\n\t\t\tconst value = this.dictionary()[ id ]\n\t\t\treturn (value == null ? id : value) || this.option_label_default()\n\t\t}\n\t\t\n\t\toption_rows() {\n\t\t\treturn this.options_filtered().map( ( option : string ) => this.Option_row( option ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toption_focused( component? : $mol_view ) {\n\t\t\tif( component == null ) {\n\t\t\t\tfor( let comp of this.nav_components() ) {\n\t\t\t\t\tif( comp && comp.focused() ) return comp\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn null\n\t\t\t}\n\t\t\t\n\t\t\tif( this.showed() ) {\n\t\t\t\tcomponent.focused( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn component\n\t\t}\n\n\t\tevent_select( id : string , event? : MouseEvent ) {\n\t\t\tthis.value( id )\n\t\t\tthis.showed( false )\n\t\t\tevent?.preventDefault()\n\t\t}\n\t\t\n\t\tnav_components() {\n\t\t\tif( this.options().length > 1 && this.Filter() ) {\n\t\t\t\treturn [ this.Filter() , ... this.option_rows() ]\n\t\t\t} else {\n\t\t\t\treturn this.option_rows()\n\t\t\t}\n\t\t}\n\n\t\ttrigger_content() {\n\t\t\treturn [\n\t\t\t\t... this.option_content( this.value() ),\n\t\t\t\tthis.Trigger_icon(),\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\tmenu_content() {\n\t\t\treturn [\n\t\t\t\t... this.option_rows(),\n\t\t\t\t... ( this.options_filtered().length === 0 ) ? [ this.No_options() ] : []\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/select/select.view.css\",\n \"[mol_select] {\\n\\tdisplay: flex;\\n\\tword-break: normal;\\n\\talign-self: flex-start;\\n}\\n\\n[mol_select_option_row] {\\n\\tmin-width: 100%;\\n\\tpadding: 0;\\n\\tjustify-content: flex-start;\\n}\\n\\n[mol_select_bubble] {\\n\\tmin-width: 100%;\\n}\\n\\n[mol_select_filter] {\\n\\tflex: 1 0 auto;\\n\\talign-self: stretch;\\n}\\n\\n[mol_select_option_label] {\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tmin-height: 1.5em;\\n\\tdisplay: block;\\n\\twhite-space: nowrap;\\n}\\n\\n[mol_select_clear_option_content] {\\n\\tpadding: .5em 1rem .5rem 0;\\n\\ttext-align: left;\\n\\tbox-shadow: var(--mol_theme_line);\\n\\tflex: 1 0 auto;\\n}\\n\\n[mol_select_no_options] {\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tdisplay: block;\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_select_trigger] {\\n\\tpadding: 0;\\n\\tflex: 1 1 auto;\\n\\tdisplay: flex;\\n}\\n\\n[mol_select_trigger] > * {\\n\\tmargin-right: -1rem;\\n}\\n\\n[mol_select_trigger] > *:last-child {\\n\\tmargin-right: 0;\\n}\\n\\n[mol_select_menu] {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\\n\"\n) }","namespace $ {\n\texport class $visavis_cube extends $mol_book2 {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot $visavis_plot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tplot() {\n\t\t\tconst obj = new this.$.$visavis_plot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\theatmap(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * order* /number\n\t\t * ```\n\t\t */\n\t\torder(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly number[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * order_current? \\nump\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\torder_current(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"nump\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * x_op false\n\t\t * ```\n\t\t */\n\t\tx_op() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * y_op false\n\t\t * ```\n\t\t */\n\t\ty_op() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * z_op false\n\t\t * ```\n\t\t */\n\t\tz_op() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * x_sort? \\nump\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tx_sort(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"nump\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * y_sort? \\nump\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\ty_sort(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"nump\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * z_sort? \\nump\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tz_sort(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"nump\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * colorset /\n\t\t * \t\\#3e3f95\n\t\t * \t\\#c00\n\t\t * \t\\#FE9A2E\n\t\t * \t\\#090\n\t\t * \t\\#f0f\n\t\t * \t\\#09f\n\t\t * \t\\#666\n\t\t * \t\\#0f3\n\t\t * \t\\#0ff\n\t\t * \t\\#90c\n\t\t * ```\n\t\t */\n\t\tcolorset() {\n\t\t\treturn [\n\t\t\t\t\"#3e3f95\",\n\t\t\t\t\"#c00\",\n\t\t\t\t\"#FE9A2E\",\n\t\t\t\t\"#090\",\n\t\t\t\t\"#f0f\",\n\t\t\t\t\"#09f\",\n\t\t\t\t\"#666\",\n\t\t\t\t\"#0f3\",\n\t\t\t\t\"#0ff\",\n\t\t\t\t\"#90c\"\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap_colors /\n\t\t * \t\\rgb(150,0,90)\n\t\t * \t\\rgb(0,0,200)\n\t\t * \t\\rgb(0,25,255)\n\t\t * \t\\rgb(0,152,255)\n\t\t * \t\\rgb(44,255,150)\n\t\t * \t\\rgb(151,255,0)\n\t\t * \t\\rgb(255,234,0)\n\t\t * \t\\rgb(255,111,0)\n\t\t * \t\\rgb(255,0,0)\n\t\t * ```\n\t\t */\n\t\theatmap_colors() {\n\t\t\treturn [\n\t\t\t\t\"rgb(150,0,90)\",\n\t\t\t\t\"rgb(0,0,200)\",\n\t\t\t\t\"rgb(0,25,255)\",\n\t\t\t\t\"rgb(0,152,255)\",\n\t\t\t\t\"rgb(44,255,150)\",\n\t\t\t\t\"rgb(151,255,0)\",\n\t\t\t\t\"rgb(255,234,0)\",\n\t\t\t\t\"rgb(255,111,0)\",\n\t\t\t\t\"rgb(255,0,0)\"\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages /\n\t\t * \t<= Plot\n\t\t * \t<= Setup\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Plot(),\n\t\t\t\tthis.Setup()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_title \\\n\t\t * ```\n\t\t */\n\t\tplot_title() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Root $mol_view\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tRoot() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value_min 0\n\t\t * ```\n\t\t */\n\t\tvalue_min() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_min $mol_view sub / <= value_min\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHeatmap_min() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.value_min()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap_color* \\\n\t\t * ```\n\t\t */\n\t\theatmap_color(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_color*0 $mol_view style * background <= heatmap_color*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tHeatmap_color(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.style = () => ({\n\t\t\t\tbackground: this.heatmap_color(id)\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value_max 0\n\t\t * ```\n\t\t */\n\t\tvalue_max() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_max $mol_view sub / <= value_max\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHeatmap_max() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.value_max()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap_color_list /\n\t\t * \t<= Heatmap_min\n\t\t * \t<= Heatmap_color*0\n\t\t * \t<= Heatmap_max\n\t\t * ```\n\t\t */\n\t\theatmap_color_list() {\n\t\t\treturn [\n\t\t\t\tthis.Heatmap_min(),\n\t\t\t\tthis.Heatmap_color(\"0\"),\n\t\t\t\tthis.Heatmap_max()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_legend $mol_list rows <= heatmap_color_list\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHeatmap_legend() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.rows = () => this.heatmap_color_list()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Side_right $mol_scroll sub / <= Heatmap_legend\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSide_right() {\n\t\t\tconst obj = new this.$.$mol_scroll()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Heatmap_legend()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_body /\n\t\t * \t<= Root\n\t\t * \t<= Side_right\n\t\t * ```\n\t\t */\n\t\tplot_body() {\n\t\t\treturn [\n\t\t\t\tthis.Root(),\n\t\t\t\tthis.Side_right()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * draw null\n\t\t * ```\n\t\t */\n\t\tdraw() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot $mol_page\n\t\t * \ttitle <= plot_title\n\t\t * \tbody <= plot_body\n\t\t * \tauto <= draw\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPlot() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.plot_title()\n\t\t\tobj.body = () => this.plot_body()\n\t\t\tobj.auto = () => this.draw()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * nonformers? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tnonformers(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nonformers $mol_check_box\n\t\t * \thint @ \\Continuous solid solutions and complete insolubility systems\n\t\t * \ttitle @ \\Show\n\t\t * \tchecked? <=> nonformers?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNonformers() {\n\t\t\tconst obj = new this.$.$mol_check_box()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$visavis_cube_Nonformers_hint' )\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_cube_Nonformers_title' )\n\t\t\tobj.checked = (next?: any) => this.nonformers(next)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nonformers_label $mol_labeler\n\t\t * \ttitle @ \\Non-formers\n\t\t * \tContent <= Nonformers\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNonformers_label() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_cube_Nonformers_label_title' )\n\t\t\tobj.Content = () => this.Nonformers()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * order_dict *\n\t\t * \tnump @ \\Periodic number\n\t\t * \tnum @ \\Atomic number\n\t\t * \tsize @ \\Atomic size\n\t\t * \trea @ \\Atomic reactivity\n\t\t * \trpp @ \\Pseudopotential radii\n\t\t * \trion @ \\Ionic radii\n\t\t * \trcov @ \\Covalent radii\n\t\t * \trmet @ \\Metallic radii\n\t\t * \ttmelt @ \\Melting temperature\n\t\t * \teneg @ \\Electronegativity\n\t\t * ```\n\t\t */\n\t\torder_dict() {\n\t\t\treturn {\n\t\t\t\tnump: this.$.$mol_locale.text( '$visavis_cube_order_dict_nump' ),\n\t\t\t\tnum: this.$.$mol_locale.text( '$visavis_cube_order_dict_num' ),\n\t\t\t\tsize: this.$.$mol_locale.text( '$visavis_cube_order_dict_size' ),\n\t\t\t\trea: this.$.$mol_locale.text( '$visavis_cube_order_dict_rea' ),\n\t\t\t\trpp: this.$.$mol_locale.text( '$visavis_cube_order_dict_rpp' ),\n\t\t\t\trion: this.$.$mol_locale.text( '$visavis_cube_order_dict_rion' ),\n\t\t\t\trcov: this.$.$mol_locale.text( '$visavis_cube_order_dict_rcov' ),\n\t\t\t\trmet: this.$.$mol_locale.text( '$visavis_cube_order_dict_rmet' ),\n\t\t\t\ttmelt: this.$.$mol_locale.text( '$visavis_cube_order_dict_tmelt' ),\n\t\t\t\teneg: this.$.$mol_locale.text( '$visavis_cube_order_dict_eneg' )\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * X_order_select $mol_select\n\t\t * \tvalue? <=> x_sort?\n\t\t * \tdictionary <= order_dict\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tX_order_select() {\n\t\t\tconst obj = new this.$.$mol_select()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.x_sort(next)\n\t\t\tobj.dictionary = () => this.order_dict()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * X_order_label $mol_labeler\n\t\t * \ttitle @ \\X sort by\n\t\t * \tContent <= X_order_select\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tX_order_label() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_cube_X_order_label_title' )\n\t\t\tobj.Content = () => this.X_order_select()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Y_order_select $mol_select\n\t\t * \tvalue? <=> y_sort?\n\t\t * \tdictionary <= order_dict\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tY_order_select() {\n\t\t\tconst obj = new this.$.$mol_select()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.y_sort(next)\n\t\t\tobj.dictionary = () => this.order_dict()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Y_order_label $mol_labeler\n\t\t * \ttitle @ \\Y sort by\n\t\t * \tContent <= Y_order_select\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tY_order_label() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_cube_Y_order_label_title' )\n\t\t\tobj.Content = () => this.Y_order_select()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Z_order_select $mol_select\n\t\t * \tvalue? <=> z_sort?\n\t\t * \tdictionary <= order_dict\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tZ_order_select() {\n\t\t\tconst obj = new this.$.$mol_select()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.z_sort(next)\n\t\t\tobj.dictionary = () => this.order_dict()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Z_order_label $mol_labeler\n\t\t * \ttitle @ \\Z sort by\n\t\t * \tContent <= Z_order_select\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tZ_order_label() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_cube_Z_order_label_title' )\n\t\t\tobj.Content = () => this.Z_order_select()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Setup $mol_page\n\t\t * \ttitle @ \\Setup\n\t\t * \tbody /\n\t\t * \t\t<= Nonformers_label\n\t\t * \t\t<= X_order_label\n\t\t * \t\t<= Y_order_label\n\t\t * \t\t<= Z_order_label\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSetup() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_cube_Setup_title' )\n\t\t\tobj.body = () => [\n\t\t\t\tthis.Nonformers_label(),\n\t\t\t\tthis.X_order_label(),\n\t\t\t\tthis.Y_order_label(),\n\t\t\t\tthis.Z_order_label()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\t/**\n\t * Checks for boolean and returns boolean type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_boolean_demo\n\t */\n\texport let $mol_data_boolean = ( val : boolean )=> {\n\t\t\n\t\tif( typeof val === 'boolean' ) return val\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a boolean` ) )\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for null or passing given runtype.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_nullable_demo\n\t */\n\texport function $mol_data_nullable< Sub extends $mol_data_value >( sub : Sub ) {\n\n\t\treturn $mol_data_setup( ( val : Parameters[0] | null ) => {\n\t\t\t\n\t\t\tif( val === null ) return null\n\t\t\t\n\t\t\treturn sub( val ) as ReturnType\n\t\t\t\n\t\t} , sub )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $lib_d3 extends $mol_object2 {\n\n\t\t@ $mol_mem\n\t\tstatic all() {\n\t\t\treturn $mol_import.script('https://cdn.jsdelivr.net/npm/d3@7').d3 as any\n\t\t}\n\n\t}\n}\n","namespace $.$$ {\n\n\texport const $visavis_element_prop = {\n\t\t\"num\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],\n\t\t\"nump\":[0,1,112,2,8,82,88,94,100,106,113,3,9,83,89,95,101,107,114,4,10,14,46,50,54,58,62,66,70,74,78,84,90,96,102,108,115,5,11,15,47,51,55,59,63,67,71,75,79,85,91,97,103,109,116,6,12,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,48,52,56,60,64,68,72,76,80,86,92,98,104,110,117,7,13,17,19,21,23,25,27,29],\n\t\t\"size\":[0,0.040000098,0.05525814,0.32352134,0.149871021,0.15316946,0.152079019,0.147837836,0.141252647,0.130400994,0.118123987,0.578463822,0.235527361,0.222322819,0.208407341,0.19392461,0.178988166,0.160596861,0.14201091,0.692195698,0.671411055,0.64709144,0.440998616,0.425579654,0.410235863,0.394967358,0.379774576,0.364658122,0.349618659,0.334656835,0.310912262,0.287688252,0.264934676,0.242609734,0.220678182,0.195297025,0.170450145,0.832019702,0.797564264,0.762242103,0.515950935,0.494387183,0.473421463,0.452993466,0.433052136,0.413553912,0.394461351,0.375742041,0.347395886,0.319938571,0.293280312,0.267345197,0.242068451,0.213172397,0.185071259,0.910157427,0.868793456,0.828185801,0.810462652,0.793233638,0.776484764,0.760190637,0.744322073,0.728849599,0.713745039,0.698982175,0.684536953,0.670387461,0.65651381,0.642897972,0.629523601,0.616375866,0.588840308,0.562314966,0.536696361,0.51189659,0.487840384,0.464462811,0.441707474,0.419525064,0.386690726,0.355029594,0.324425963,0.294781292,0.266010922,0.233351806,0.201712905,1.0,0.952025289,0.905996701,0.885161237,0.864979518,0.845420273,0.826445343,0.808015348,0.790092251],\n\t\t\"rea\":[0,2.953092434,2.137675759,0.365119614,0.788170962,0.771198036,0.776727701,0.799010527,0.836260342,0.905851889,0.999999998,0.204202895,0.501529786,0.531317421,0.56679379,0.609123241,0.659954172,0.735531107,0.831795156,0.170651143,0.175933932,0.182546051,0.267855686,0.27756023,0.28794164,0.299072783,0.311037111,0.323930772,0.337865225,0.352970489,0.379927077,0.410597187,0.445860802,0.486888901,0.535277144,0.604842736,0.693011946,0.141972584,0.148105917,0.154969119,0.228944225,0.238930116,0.249511262,0.260763114,0.272770822,0.28563141,0.299456427,0.31437522,0.340027017,0.369208334,0.402768213,0.441840692,0.487977621,0.554124213,0.63826219,0.129784127,0.135963256,0.142629814,0.145748835,0.148914495,0.1521266,0.155387322,0.158700099,0.162069084,0.165498855,0.168994276,0.172560424,0.17620256,0.179926127,0.183736755,0.187640284,0.191642784,0.200604451,0.210067301,0.22009463,0.230757519,0.242136549,0.254323886,0.267425828,0.281565982,0.305474062,0.332715889,0.364101522,0.400717379,0.444056906,0.506205582,0.58560451,0.118123987,0.124076522,0.130380151,0.133449119,0.136562756,0.139722208,0.142930186,0.146190276,0.149506576],\n\t\t\"rpp\":[0,1.25,0,1.61,1.08,0.795,0.64,0.54,0.465,0.405,0,2.65,2.03,1.675,1.42,1.24,1.1,1.01,0,3.69,3.0,2.75,2.58,2.43,2.44,2.22,2.11,2.02,2.18,2.04,1.88,1.695,1.56,1.415,1.285,1.2,0,4.1,3.21,2.94,2.825,2.76,2.72,2.65,2.605,2.52,2.45,2.375,2.215,2.05,1.88,1.765,1.67,1.585,0,4.31,3.402,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.91,2.79,2.735,2.68,2.65,2.628,2.7,2.66,2.41,2.235,2.09,1.997,1.9,1.83,0,4.37,3.53,0,0,0,0,0,0,0],\n\t\t\"rion\":[0,0,0,0.6,0.3,0.2,0.15,0.12,0.1,0.09,0,0.96,0.63,0.5,0.42,0.36,0.32,0.28,0,1.33,0.96,0.8,0.68,0.65,0.62,0.6,0.59,0.62,0.59,0.96,0.78,0.63,0.53,0.46,0.41,0.37,0,1.49,1.11,0.93,0.8,0.77,0.75,0.72,0.69,0.75,0.85,1.12,0.93,0.76,0.65,0.57,0.51,0.46,0,1.65,1.26,1.06,1.05,1.04,1.03,1.02,1.01,1.01,1.0,0.99,0.98,0.97,0.96,0.95,0.94,0.93,0.8,0.77,0.75,0.72,0.69,0.81,0.9,1.11,0.97,0.9,0.83,0.77,0.56,0.51,0,1.74,1.34,1.14,1.11,1.08,1.05,1.04,1.03,1.02],\n\t\t\"rcov\":[0,30.0,0,123.0,89.0,88.0,77.0,70.0,66.0,58.0,0,0,136.0,125.0,117.0,110.0,104.0,99.0,0,203.0,174.0,144.0,132.0,0,0,117.0,116.0,116.0,115.0,117.0,125.0,125.0,122.0,121.0,117.0,114.0,0,217.0,192.0,162.0,145.0,134.0,129.0,0,124.0,125.0,128.0,134.0,141.0,150.0,140.0,141.0,137.0,133.0,0,235.0,198.0,169.0,165.0,165.0,164.0,0,166.0,185.0,161.0,159.0,159.0,158.0,157.0,156.0,170.0,156.0,144.0,134.0,130.0,128.0,126.0,126.0,129.0,134.0,144.0,155.0,154.0,152.0,153.0,0,0,0,0,0,0,0,0,0,0,0],\n\t\t\"rmet\":[0,0.78,0,1.562,1.128,0.98,0.916,0.88,0.89,0,0,1.911,1.602,1.432,1.319,1.28,1.27,0,0,2.376,1.974,1.941,1.462,1.346,1.36,1.304,1.274,1.252,1.246,1.278,1.394,1.411,1.369,1.39,1.4,0,0,2.546,2.151,1.801,1.602,1.468,1.4,1.36,1.339,1.345,1.376,1.445,1.568,1.663,1.623,1.59,1.6,0,0,2.731,2.243,1.877,1.715,1.828,1.821,1.81,1.802,1.799,1.802,1.782,1.773,1.766,1.757,1.746,1.74,1.734,1.58,1.467,1.408,1.375,1.353,1.357,1.387,1.442,1.573,1.716,1.75,1.7,1.76,0,0,2.8,2.26,1.878,1.798,1.63,1.56,1.555,1.58,1.81],\n\t\t\"tmelt\":[0,0.003664921,0.00026178,0.118586387,0.405759162,0.673560209,1.0,0.016492147,0.014397906,0.014136126,0.006544503,0.097120419,0.241361257,0.244240838,0.440575916,0.082984293,0.10104712,0.045026178,0.021989529,0.088219895,0.290837696,0.47434555,0.506020942,0.566230366,0.557591623,0.397382199,0.473298429,0.462827225,0.451832461,0.354973822,0.181413613,0.079319372,0.317015707,0.285340314,0.128272251,0.069633508,0.030628272,0.081675393,0.273036649,0.470157068,0.556282723,0.717539267,0.756544503,0.640052356,0.67617801,0.586125654,0.477748691,0.323036649,0.155497382,0.112565445,0.132198953,0.236649215,0.189267016,0.101308901,0.042146597,0.079057592,0.261256545,0.312303665,0.280366492,0.315183246,0.338743455,0.377225131,0.352094241,0.286649215,0.414921466,0.427486911,0.439790576,0.456282723,0.469895288,0.47591623,0.287172775,0.504973822,0.653141361,0.856806283,0.964136126,0.903926702,0.868586387,0.702356021,0.535340314,0.35,0.061256545,0.15104712,0.157329843,0.142408377,0.137958115,0.15052356,0.052879581,0.078534031,0.254712042,0.346335079,0.528795812,0.553141361,0.368062827,0.239005236,0.239267016,0.331675393],\n\t\t\"eneg\":[0,3.69,6.29,2.32,3.71,4.88,6.08,7.31,8.5,9.7,10.92,2.27,3.37,4.21,5.08,5.95,6.79,7.64,8.5,2.08,3.0,3.11,3.19,3.27,3.41,3.4,3.47,3.53,3.59,3.74,3.7,4.37,5.09,5.82,6.53,7.21,7.93,2.04,2.89,3.04,3.14,3.25,3.41,3.35,3.47,3.57,3.73,3.81,3.6,4.19,4.83,5.47,6.08,6.69,7.29,1.97,2.76,2.89,2.86,2.83,2.85,2.87,2.89,2.91,3.02,2.95,2.97,2.99,3.0,3.02,3.04,3.11,3.3,3.45,3.48,3.5,3.57,3.6,3.71,3.84,3.82,4.34,4.92,5.47,6.01,6.56,7.12,2.02,2.78,2.93,3.02,2.98,2.98,2.98,2.96,2.97]\n\t} as const\n\n\n\texport const $visavis_element_list = [null, 'H', 'He', 'Li', 'Be', 'B', 'C', 'N', 'O', 'F', 'Ne', 'Na', 'Mg', 'Al', 'Si', 'P', 'S', 'Cl', 'Ar', 'K', 'Ca', 'Sc', 'Ti', 'V', 'Cr', 'Mn', 'Fe', 'Co', 'Ni', 'Cu', 'Zn', 'Ga', 'Ge', 'As', 'Se', 'Br', 'Kr', 'Rb', 'Sr', 'Y', 'Zr', 'Nb', 'Mo', 'Tc', 'Ru', 'Rh', 'Pd', 'Ag', 'Cd', 'In', 'Sn', 'Sb', 'Te', 'I', 'Xe', 'Cs', 'Ba', 'La', 'Ce', 'Pr', 'Nd', 'Pm', 'Sm', 'Eu', 'Gd', 'Tb', 'Dy', 'Ho', 'Er', 'Tm', 'Yb', 'Lu', 'Hf', 'Ta', 'W', 'Re', 'Os', 'Ir', 'Pt', 'Au', 'Hg', 'Tl', 'Pb', 'Bi', 'Po', 'At', 'Rn', 'Fr', 'Ra', 'Ac', 'Th', 'Pa', 'U', 'Np', 'Pu', 'Am'] as const\n\n\texport const $visavis_elemental_names = {\n\t\t\"num\": \"atomic number\",\n\t\t\"nump\": \"periodic number\",\n\t\t\"size\": \"atomic size\",\n\t\t\"rea\": \"atomic reactivity\",\n\t\t\"rpp\": \"pseudopotential radii\",\n\t\t\"rion\": \"ionic radii\",\n\t\t\"rcov\": \"covalent radii\",\n\t\t\"rmet\": \"metallic radii\",\n\t\t\"tmelt\": \"melting temperature\",\n\t\t\"eneg\": \"electronegativity\"\n\t} as const\n}\n","namespace $ {\n\n\texport class $lib_plotly extends $mol_object2 {\n\n\t\t@ $mol_mem\n\t\tstatic all() {\n\t\t\treturn $mol_import.script('https://cdn.plot.ly/plotly-2.16.1.min.js').Plotly as any //typeof import('plotly.js')\n\t\t}\n\n\t}\n}\n","namespace $.$$ {\n\n\tconst $visavis_cube_json = $mol_data_record({\n\t\tpayload: $mol_data_record({\n\t\t\ttcube: $mol_data_optional( $mol_data_boolean ),\n\t\t\tpoints: $mol_data_record({\n\t\t\t\tx: $mol_data_array( $mol_data_number ),\n\t\t\t\ty: $mol_data_array( $mol_data_number ),\n\t\t\t\tz: $mol_data_array( $mol_data_number ),\n\t\t\t\tv: $mol_data_array( $mol_data_number ),\n\t\t\t\tlabels: $mol_data_array( $mol_data_string ),\n\t\t\t}),\n\t\t\tfixel: $mol_data_nullable( $mol_data_boolean ),\n\t\t\txtitle: $mol_data_optional( $mol_data_string ),\n\t\t\tytitle: $mol_data_optional( $mol_data_string ),\n\t\t\tztitle: $mol_data_optional( $mol_data_string ),\n\t\t}),\n\t})\n\n\texport class $visavis_cube extends $.$visavis_cube {\n\n\t\tplot_body() {\n\t\t\treturn [\n\t\t\t\tthis.Root(),\n\t\t\t\t... this.heatmap() ? [ this.Side_right() ] : [],\n\t\t\t]\n\t\t}\n\n\t\tplot_title() {\n\t\t\treturn this.plot().id()\n\t\t}\n\n\t\tjson() {\n\t\t\treturn $visavis_cube_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tvalue_list() {\n\t\t\treturn this.json().payload.points.v.slice().sort( (a, b) => a - b )\n\t\t}\n\n\t\tvalue_min() {\n\t\t\treturn this.value_list()[0]\n\t\t}\n\n\t\tvalue_max() {\n\t\t\treturn this.value_list().slice(-1)[0]\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\torder(order: string) {\n\t\t\treturn $lib_d3.all().range(95).sort( (a: any, b: any) => ($visavis_element_prop as any)[order][a + 1] - ($visavis_element_prop as any)[order][b + 1] ) as number[]\n\t\t}\n\n\t\t@ $mol_mem\n\t\theatmap() {\n\t\t\treturn this.json().payload.points.v.some(val => Math.floor(val) !== val)\n\t\t}\n\n\t\theatmap_color( index: number ) {\n\t\t\treturn this.heatmap_colors()[index]\n\t\t}\n\n\t\theatmap_color_list() {\n\t\t\treturn [\n\t\t\t\tthis.Heatmap_min(),\n\t\t\t\t... this.heatmap_colors().map( (_, index) => this.Heatmap_color(index) ),\n\t\t\t\tthis.Heatmap_max(),\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tmarker() {\n\t\t\treturn {\n\t\t\t\tcolor: this.heatmap() ? this.json().payload.points.v : this.colorset()[0],\n\t\t\t\t... this.heatmap() ? { colorscale: 'Rainbow' } : {},\n\t\t\t\tsize: 4,\n\t\t\t\topacity: 0.9\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata_nonformers() {\n\t\t\tconst { x, y, z, labels } = $visavis_nonformer_pd_tri\n\t\t\treturn {\n\t\t\t\ttype: \"scatter3d\",\n\t\t\t\ttext: labels,\n\t\t\t\tmode: \"markers\",\n\t\t\t\thoverinfo: \"text\",\n\t\t\t\tmarker: {color: \"#ccc\", size: 4, opacity: 0.9},\n\t\t\t\tprojection: {x: {show: true, opacity: 0.25}, y: {show: true, opacity: 0.25}, z: {show: true, opacity: 0.25}},\n\t\t\t\t...this.convert_to_axes(x, y, z, this.x_sort(), this.y_sort(), this.z_sort())\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\ttype: \"scatter3d\",\n\t\t\t\ttext: this.json().payload.points.labels,\n\t\t\t\tmode: \"markers\",\n\t\t\t\thoverinfo: \"text\",\n\t\t\t\tmarker: this.marker(),\n\t\t\t\tprojection: {x: {show: true, opacity: 0.05}, y: {show: true, opacity: 0.05}, z: {show: true, opacity: 0.05}},\n\t\t\t\t...this.convert_to_axes(this.json().payload.points.x, this.json().payload.points.y, this.json().payload.points.z, this.x_sort(), this.y_sort(), this.z_sort())\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata_shown() {\n\t\t\treturn [\n\t\t\t\t... this.nonformers() ? [this.data_nonformers()] : [],\n\t\t\t\tthis.data(),\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tscene() {\n\t\t\treturn {\n\t\t\t\taspectmode: 'cube',\n\t\t\t\txaxis: {\n\t\t\t\t\ttitle: 'x_sort',\n\t\t\t\t\trange: [1, 95],\n\t\t\t\t\ttitlefont: {color: this.x_op() ? '#000' : '#fff', size: 10},\n\t\t\t\t\tbackgroundcolor: '#fbfbfb',\n\t\t\t\t\tgridcolor: '#fff',\n\t\t\t\t\tshowbackground: true,\n\t\t\t\t\tshowticklabels: !this.x_op(),\n\t\t\t\t\tshowline: false,\n\t\t\t\t\ttickfont: {size: 11},\n\t\t\t\t\tticktext: this.order_els(this.x_sort()).slice(0, 95).filter(function(el, idx){ return idx % 2 === 0 }),\n\t\t\t\t\ttickvals: $lib_d3.all().range(1, 96, 2)\n\t\t\t\t},\n\t\t\t\tyaxis: {\n\t\t\t\t\ttitle: 'y_sort',\n\t\t\t\t\trange: [1, 95],\n\t\t\t\t\ttitlefont: {color: this.y_op() ? '#000' : '#fff', size: 10},\n\t\t\t\t\tbackgroundcolor: '#f6f6f6',\n\t\t\t\t\tgridcolor: '#fff',\n\t\t\t\t\tshowbackground: true,\n\t\t\t\t\tshowticklabels: !this.y_op(),\n\t\t\t\t\tshowline: false,\n\t\t\t\t\ttickfont: {size: 11},\n\t\t\t\t\tticktext: this.order_els(this.y_sort()).slice(0, 95).filter(function(el, idx){ return idx % 2 === 0 }),\n\t\t\t\t\ttickvals: $lib_d3.all().range(1, 96, 2)\n\t\t\t\t},\n\t\t\t\tzaxis: {\n\t\t\t\t\ttitle: 'z_sort',\n\t\t\t\t\trange: [1, 95],\n\t\t\t\t\ttitlefont: {color: this.z_op() ? '#000' : '#fff', size: 10},\n\t\t\t\t\tbackgroundcolor: '#eee',\n\t\t\t\t\tgridcolor: '#fff',\n\t\t\t\t\tshowbackground: true,\n\t\t\t\t\tshowticklabels: !this.z_op(),\n\t\t\t\t\tshowline: false,\n\t\t\t\t\ttickfont: {size: 11},\n\t\t\t\t\tticktext: this.order_els(this.z_sort()).slice(0, 95).filter(function(el, idx){ return idx % 2 === 0 }),\n\t\t\t\t\ttickvals: $lib_d3.all().range(1, 96, 2)\n\t\t\t\t},\n\t\t\t\tcamera: {projection: {type: 'perspective'}},\n\t\t\t}\t\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdraw() {\n\t\t\tthis.Root().view_rect()\n\n\t\t\treturn $lib_plotly.all().react(\n\t\t\t\tthis.Root().dom_node() as HTMLElement,\n\t\t\t\tthis.data_shown() as any, \n\t\t\t\t{\n\t\t\t\t\tfont: {family: \"Exo2\"},\n\t\t\t\t\tshowlegend: false,\n\t\t\t\t\tscene: this.scene() as any,\n\t\t\t\t\tmargin: {\n\t\t\t\t\t\tl: 0,\n\t\t\t\t\t\tr: 0,\n\t\t\t\t\t\tb: 0,\n\t\t\t\t\t\tt: 0,\n\t\t\t\t\t\tpad: 0\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{displaylogo: false, displayModeBar: false, staticPlot: false},\n\t\t\t)\n\t\t}\n\n\n\t\tter_op(op: 'sum' | 'diff' | 'product' | 'ratio' | 'max' | 'min', a: number, b: number, c: number){\n\t\t\tswitch (op){\n\t\t\t\tcase 'sum': return a + b + c;\n\t\t\t\tcase 'diff': return Math.abs(a - b) + Math.abs(a - c) + Math.abs(b - c);\n\t\t\t\tcase 'product': return (a * b) + (a * c) + (b * c);\n\t\t\t\tcase 'ratio': return (a / b) + (a / c) + (b / c);\n\t\t\t\tcase 'max': return ((a > b && a > c) ? a : ((b > a && b > c) ? b : c));\n\t\t\t\tcase 'min': return ((a < b && a < c) ? a : ((b < a && b < c) ? b : c));\n\t\t\t}\n\t\t}\n\n\t\tconvert_to_axes(x_src: readonly number[], y_src: readonly number[], z_src: readonly number[], x_sort: any, y_sort: any, z_sort: any, x_op?: any, y_op?: any, z_op?: any){\n\t\t\t//console.log(x_src, y_src, z_src, x_sort, y_sort, z_sort, x_op, y_op, z_op);\n\t\t\tvar converted = {'x': [], 'y': [], 'z': []};\n\t\t\n\t\t\tif (x_op){\n\t\t\t\tvar x_temp = [];\n\t\t\t\tfor (var i = 0; i < x_src.length; i++){\n\t\t\t\t\t//console.log('x', $visavis_elementals[x_sort][x_src[i]], $visavis_elementals[x_sort][y_src[i]], $visavis_elementals[x_sort][z_src[i]], ter_op(x_op, $visavis_elementals[x_sort][x_src[i]], $visavis_elementals[x_sort][y_src[i]], $visavis_elementals[x_sort][z_src[i]]));\n\t\t\n\t\t\t\t\tx_temp.push( this.ter_op(x_op, ($visavis_element_prop as any)[x_sort][x_src[i]], ($visavis_element_prop as any)[x_sort][y_src[i]], ($visavis_element_prop as any)[x_sort][z_src[i]]) );\n\t\t\t\t}\n\t\t\t\tvar x_renorm = $lib_d3.all().scaleQuantize().range($visavis_element_prop.num.slice(1)).domain([$lib_d3.all().min(x_temp), $lib_d3.all().max(x_temp)]);\n\t\t\t\t//console.log(x_temp);\n\t\t\t\tconverted['x'] = x_temp.map(x_renorm);\n\t\t\n\t\t\t} else {\n\t\t\t\tfor (var i = 0; i < x_src.length; i++){\n\t\t\t\t\t(converted['x'] as any).push( (x_sort == 'num') ? x_src[i] : this.order(x_sort).indexOf(x_src[i] - 1) + 1 ); // FIXME first elementals item belongs to X, i.e. 0\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (y_op){\n\t\t\t\tvar y_temp = [];\n\t\t\t\tfor (var i = 0; i < y_src.length; i++){\n\t\t\t\t\t//console.log('y', $visavis_elementals[y_sort][x_src[i]], $visavis_elementals[y_sort][y_src[i]], $visavis_elementals[y_sort][z_src[i]], ter_op(y_op, $visavis_elementals[y_sort][x_src[i]], $visavis_elementals[y_sort][y_src[i]], $visavis_elementals[y_sort][z_src[i]]));\n\t\t\n\t\t\t\t\ty_temp.push( this.ter_op(y_op, ($visavis_element_prop as any)[y_sort][x_src[i]], ($visavis_element_prop as any)[y_sort][y_src[i]], ($visavis_element_prop as any)[y_sort][z_src[i]]) );\n\t\t\t\t}\n\t\t\t\tvar y_renorm = $lib_d3.all().scaleQuantize().range($visavis_element_prop.num.slice(1)).domain([$lib_d3.all().min(y_temp), $lib_d3.all().max(y_temp)]);\n\t\t\t\t//console.log(y_temp);\n\t\t\t\tconverted['y'] = y_temp.map(y_renorm);\n\t\t\n\t\t\t} else {\n\t\t\t\tfor (var i = 0; i < y_src.length; i++){\n\t\t\t\t\t(converted['y'] as any).push( (y_sort == 'num') ? y_src[i] : this.order(y_sort).indexOf(y_src[i] - 1) + 1 ); // FIXME first elementals item belongs to X, i.e. 0\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (z_op){\n\t\t\t\tvar z_temp = [];\n\t\t\t\tfor (var i = 0; i < z_src.length; i++){\n\t\t\t\t\t//console.log('z', $visavis_elementals[z_sort][x_src[i]], $visavis_elementals[z_sort][y_src[i]], $visavis_elementals[z_sort][z_src[i]], ter_op(z_op, $visavis_elementals[z_sort][x_src[i]], $visavis_elementals[z_sort][y_src[i]], $visavis_elementals[z_sort][z_src[i]]));\n\t\t\n\t\t\t\t\tz_temp.push( this.ter_op(z_op, ($visavis_element_prop as any)[z_sort][x_src[i]], ($visavis_element_prop as any)[z_sort][y_src[i]], ($visavis_element_prop as any)[z_sort][z_src[i]]) );\n\t\t\t\t}\n\t\t\t\tvar z_renorm = $lib_d3.all().scaleQuantize().range($visavis_element_prop.num.slice(1)).domain([$lib_d3.all().min(z_temp), $lib_d3.all().max(z_temp)]);\n\t\t\t\t//console.log(z_temp);\n\t\t\t\tconverted['z'] = z_temp.map(z_renorm);\n\t\t\n\t\t\t} else {\n\t\t\t\tfor (var i = 0; i < z_src.length; i++){\n\t\t\t\t\t(converted['z'] as any).push( (z_sort == 'num') ? z_src[i] : this.order(z_sort).indexOf(z_src[i] - 1) + 1 ); // FIXME first elementals item belongs to X, i.e. 0\n\t\t\t\t}\n\t\t\t}\n\t\t\t//console.log(converted);\n\t\t\treturn converted;\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\torder_els(prop: string){\n\t\t\treturn $visavis_element_list.slice(1).sort(function(a, b){\n\t\t\t\treturn ($visavis_element_prop as any)[prop][$visavis_element_list.indexOf(a)] - ($visavis_element_prop as any)[prop][$visavis_element_list.indexOf(b)]\n\t\t\t});\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { per, rem, px } = $mol_style_unit\n\n\t$mol_style_define( $visavis_cube, {\n\n\t\tPlot: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t},\n\n\t\tSetup: {\n\t\t\tflex: {\n\t\t\t\tbasis: rem(25),\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t\tBody: {\n\t\t\t\tpadding: $mol_gap.block,\n\t\t\t},\n\t\t},\n\n\t\tRoot: {\n\t\t\twidth: $mol_style_unit.per(100),\n\t\t\theight: $mol_style_unit.per(100),\n\t\t},\n\n\t\tX_order_label: {\n\t\t\tzIndex: 3,\n\t\t},\n\n\t\tY_order_label: {\n\t\t\tzIndex: 2,\n\t\t},\n\n\t\tZ_order_label: {\n\t\t\tzIndex: 1,\n\t\t},\n\n\t\tSide_right: {\n\t\t\tposition: 'absolute',\n\t\t\ttop: per(50),\n\t\t\tright: $mol_gap.space,\n\t\t\ttransform: 'translateY(-50%)'\n\t\t},\n\n\t\tHeatmap_color: {\n\t\t\twidth: rem(1),\n\t\t\theight: rem(1),\n\t\t\tmargin: px(1),\n\t\t},\n\n\t\tHeatmap_legend: {\n\t\t\talignItems: 'flex-end',\n\t\t\tflex: {\n\t\t\t\tdirection: 'column-reverse',\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\texport class $visavis_phase extends $mol_book2 {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot $visavis_plot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tplot() {\n\t\t\tconst obj = new this.$.$visavis_plot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * colors_by_nphases *\n\t\t * \t1 \\#d1cde6\n\t\t * \talt_1 \\#9cf\n\t\t * \t3 \\#fc6\n\t\t * \t4 \\#FCD3C2\n\t\t * \t5 \\#CCE7D4\n\t\t * \tdefault \\#eee\n\t\t * ```\n\t\t */\n\t\tcolors_by_nphases() {\n\t\t\treturn {\n\t\t\t\t1: \"#d1cde6\",\n\t\t\t\talt_1: \"#9cf\",\n\t\t\t\t3: \"#fc6\",\n\t\t\t\t4: \"#FCD3C2\",\n\t\t\t\t5: \"#CCE7D4\",\n\t\t\t\tdefault: \"#eee\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * line *\n\t\t * \tphase * width 0.2\n\t\t * \tcompound *\n\t\t * \t\twidth 5\n\t\t * \t\tcolor \\#d1cde6\n\t\t * \tdefault *\n\t\t * \t\twidth 0.5\n\t\t * \t\tcolor \\#666\n\t\t * ```\n\t\t */\n\t\tline() {\n\t\t\treturn {\n\t\t\t\tphase: {\n\t\t\t\t\twidth: 0.2\n\t\t\t\t} as Record< string, any >,\n\t\t\t\tcompound: {\n\t\t\t\t\twidth: 5,\n\t\t\t\t\tcolor: \"#d1cde6\"\n\t\t\t\t} as Record< string, any >,\n\t\t\t\tdefault: {\n\t\t\t\t\twidth: 0.5,\n\t\t\t\t\tcolor: \"#666\"\n\t\t\t\t} as Record< string, any >\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * is_triangle false\n\t\t * ```\n\t\t */\n\t\tis_triangle() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * triangle *\n\t\t * \tdatamock / *\n\t\t * \t\ta /\n\t\t * \t\tb /\n\t\t * \t\tc /\n\t\t * \t\ttype \\scatterternary\n\t\t * \tlayout *\n\t\t * \t\thovermode \\closest\n\t\t * \t\tfont *\n\t\t * \t\t\tsize 20\n\t\t * \t\t\tcolor \\#333\n\t\t * \t\t\tfamily \\Exo2\n\t\t * \t\tternary *\n\t\t * \t\t\taaxis *\n\t\t * \t\t\t\ttitle <= json_title_a\n\t\t * \t\t\t\tticks \\\n\t\t * \t\t\t\tshowline true\n\t\t * \t\t\t\tshowgrid false\n\t\t * \t\t\t\tfixedrange true\n\t\t * \t\t\t\tlinewidth 1\n\t\t * \t\t\tbaxis *\n\t\t * \t\t\t\ttitle <= json_title_b\n\t\t * \t\t\t\tticks \\\n\t\t * \t\t\t\tshowline true\n\t\t * \t\t\t\tshowgrid false\n\t\t * \t\t\t\tfixedrange true\n\t\t * \t\t\t\tlinewidth 1\n\t\t * \t\t\tcaxis *\n\t\t * \t\t\t\ttitle <= json_title_c\n\t\t * \t\t\t\tticks \\\n\t\t * \t\t\t\tshowline true\n\t\t * \t\t\t\tshowgrid false\n\t\t * \t\t\t\tfixedrange true\n\t\t * \t\t\t\tlinewidth 1\n\t\t * \t\tshapes <= layout_shapes\n\t\t * \t\tannotations <= annotations\n\t\t * ```\n\t\t */\n\t\ttriangle() {\n\t\t\treturn {\n\t\t\t\tdatamock: [\n\t\t\t\t\t{\n\t\t\t\t\t\ta: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\tb: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\tc: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\ttype: \"scatterternary\"\n\t\t\t\t\t} as Record< string, any >\n\t\t\t\t] as readonly any[],\n\t\t\t\tlayout: {\n\t\t\t\t\thovermode: \"closest\",\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tsize: 20,\n\t\t\t\t\t\tcolor: \"#333\",\n\t\t\t\t\t\tfamily: \"Exo2\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\tternary: {\n\t\t\t\t\t\taaxis: {\n\t\t\t\t\t\t\ttitle: this.json_title_a(),\n\t\t\t\t\t\t\tticks: \"\",\n\t\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\t\tlinewidth: 1\n\t\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t\tbaxis: {\n\t\t\t\t\t\t\ttitle: this.json_title_b(),\n\t\t\t\t\t\t\tticks: \"\",\n\t\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\t\tlinewidth: 1\n\t\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t\tcaxis: {\n\t\t\t\t\t\t\ttitle: this.json_title_c(),\n\t\t\t\t\t\t\tticks: \"\",\n\t\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\t\tlinewidth: 1\n\t\t\t\t\t\t} as Record< string, any >\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\tshapes: this.layout_shapes(),\n\t\t\t\t\tannotations: this.annotations()\n\t\t\t\t} as Record< string, any >\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * triangle_shape_fix *\n\t\t * \ttype \\path\n\t\t * \tpath \\M 0,0 L 0.5,0.866 L 1,0\n\t\t * \tline * width 0\n\t\t * ```\n\t\t */\n\t\ttriangle_shape_fix() {\n\t\t\treturn {\n\t\t\t\ttype: \"path\",\n\t\t\t\tpath: \"M 0,0 L 0.5,0.866 L 1,0\",\n\t\t\t\tline: {\n\t\t\t\t\twidth: 0\n\t\t\t\t} as Record< string, any >\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * triangle_annotations / *\n\t\t * \ttext <= triangle_annotation_text\n\t\t * \tx: -0.25\n\t\t * \ty: 0.96\n\t\t * \tshowarrow false\n\t\t * \txref \\papper\n\t\t * \tyref \\papper\n\t\t * \tfont *\n\t\t * \t\tsize 15\n\t\t * \t\tfamily \\Exo2\n\t\t * ```\n\t\t */\n\t\ttriangle_annotations() {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttext: this.triangle_annotation_text(),\n\t\t\t\t\t\"x:\": -0.25,\n\t\t\t\t\t\"y:\": 0.96,\n\t\t\t\t\tshowarrow: false,\n\t\t\t\t\txref: \"papper\",\n\t\t\t\t\tyref: \"papper\",\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tsize: 15,\n\t\t\t\t\t\tfamily: \"Exo2\"\n\t\t\t\t\t} as Record< string, any >\n\t\t\t\t} as Record< string, any >\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rectangle *\n\t\t * \tdatamock /\n\t\t * \t\t*\n\t\t * \t\t\tx /\n\t\t * \t\t\ty /\n\t\t * \t\t\ttype \\scatter\n\t\t * \t\t\txaxis \\x\n\t\t * \t\t\tyaxis \\y\n\t\t * \t\t*\n\t\t * \t\t\tx /\n\t\t * \t\t\ty /\n\t\t * \t\t\ttype \\scatter\n\t\t * \t\t\txaxis \\x2\n\t\t * \t\t\tyaxis \\y2\n\t\t * \tlayout *\n\t\t * \t\thovermode \\closest\n\t\t * \t\tfont *\n\t\t * \t\t\tsize 16\n\t\t * \t\t\tcolor \\#333\n\t\t * \t\t\tfamily \\Exo2\n\t\t * \t\txaxis *\n\t\t * \t\t\ttitle \\at. %\n\t\t * \t\t\trange <= json_comp_range\n\t\t * \t\t\tfixedrange true\n\t\t * \t\t\tshowticks <= show_ticks\n\t\t * \t\t\tshowline true\n\t\t * \t\t\tzeroline false\n\t\t * \t\t\tshowgrid false\n\t\t * \t\t\tticklen 4\n\t\t * \t\t\ttickfont * size 12\n\t\t * \t\t\thoverformat \\.2r\n\t\t * \t\txaxis2 *\n\t\t * \t\t\trange <= json_comp_range\n\t\t * \t\t\tfixedrange true\n\t\t * \t\t\tshowticks <= show_ticks\n\t\t * \t\t\tshowline true\n\t\t * \t\t\tzeroline false\n\t\t * \t\t\tshowgrid false\n\t\t * \t\t\tticklen 4\n\t\t * \t\t\ttickfont * size 12\n\t\t * \t\t\tside \\top\n\t\t * \t\t\toverlaying \\x\n\t\t * \t\tyaxis *\n\t\t * \t\t\ttitle \\T, °C\n\t\t * \t\t\trange <= json_temp\n\t\t * \t\t\tfixedrange true\n\t\t * \t\t\tshowticks <= show_ticks\n\t\t * \t\t\tshowticklabels <= data_demo\n\t\t * \t\t\tshowline true\n\t\t * \t\t\tzeroline false\n\t\t * \t\t\tshowgrid false\n\t\t * \t\t\tticklen 4\n\t\t * \t\t\ttickfont * size 12\n\t\t * \t\t\thoverformat \\.2r\n\t\t * \t\tyaxis2 *\n\t\t * \t\t\trange <= json_temp\n\t\t * \t\t\tfixedrange true\n\t\t * \t\t\tshowticks <= show_ticks\n\t\t * \t\t\tshowticklabels <= data_demo\n\t\t * \t\t\tshowline true\n\t\t * \t\t\tzeroline false\n\t\t * \t\t\tshowgrid false\n\t\t * \t\t\tticklen 4\n\t\t * \t\t\ttickfont * size 12\n\t\t * \t\t\tside \\right\n\t\t * \t\t\toverlaying \\y\n\t\t * \t\tshapes <= layout_shapes\n\t\t * \t\tannotations <= annotations\n\t\t * ```\n\t\t */\n\t\trectangle() {\n\t\t\treturn {\n\t\t\t\tdatamock: [\n\t\t\t\t\t{\n\t\t\t\t\t\tx: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\ty: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\txaxis: \"x\",\n\t\t\t\t\t\tyaxis: \"y\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t{\n\t\t\t\t\t\tx: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\ty: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\txaxis: \"x2\",\n\t\t\t\t\t\tyaxis: \"y2\"\n\t\t\t\t\t} as Record< string, any >\n\t\t\t\t] as readonly any[],\n\t\t\t\tlayout: {\n\t\t\t\t\thovermode: \"closest\",\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tsize: 16,\n\t\t\t\t\t\tcolor: \"#333\",\n\t\t\t\t\t\tfamily: \"Exo2\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\txaxis: {\n\t\t\t\t\t\ttitle: \"at. %\",\n\t\t\t\t\t\trange: this.json_comp_range(),\n\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\tshowticks: this.show_ticks(),\n\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\tzeroline: false,\n\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\tticklen: 4,\n\t\t\t\t\t\ttickfont: {\n\t\t\t\t\t\t\tsize: 12\n\t\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t\thoverformat: \".2r\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\txaxis2: {\n\t\t\t\t\t\trange: this.json_comp_range(),\n\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\tshowticks: this.show_ticks(),\n\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\tzeroline: false,\n\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\tticklen: 4,\n\t\t\t\t\t\ttickfont: {\n\t\t\t\t\t\t\tsize: 12\n\t\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t\tside: \"top\",\n\t\t\t\t\t\toverlaying: \"x\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\tyaxis: {\n\t\t\t\t\t\ttitle: \"T, °C\",\n\t\t\t\t\t\trange: this.json_temp(),\n\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\tshowticks: this.show_ticks(),\n\t\t\t\t\t\tshowticklabels: this.data_demo(),\n\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\tzeroline: false,\n\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\tticklen: 4,\n\t\t\t\t\t\ttickfont: {\n\t\t\t\t\t\t\tsize: 12\n\t\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t\thoverformat: \".2r\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\tyaxis2: {\n\t\t\t\t\t\trange: this.json_temp(),\n\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\tshowticks: this.show_ticks(),\n\t\t\t\t\t\tshowticklabels: this.data_demo(),\n\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\tzeroline: false,\n\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\tticklen: 4,\n\t\t\t\t\t\ttickfont: {\n\t\t\t\t\t\t\tsize: 12\n\t\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t\tside: \"right\",\n\t\t\t\t\t\toverlaying: \"y\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\tshapes: this.layout_shapes(),\n\t\t\t\t\tannotations: this.annotations()\n\t\t\t\t} as Record< string, any >\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rectangle_annotations /\n\t\t * \t*\n\t\t * \t\ttext <= json_title_a\n\t\t * \t\tx -0.03\n\t\t * \t\ty -0.11\n\t\t * \t\tshowarrow false\n\t\t * \t\txref \\papper\n\t\t * \t\tyref \\papper\n\t\t * \t\tfont *\n\t\t * \t\t\tsize 20\n\t\t * \t\t\tfamily \\Exo2\n\t\t * \t*\n\t\t * \t\ttext <= json_title_b\n\t\t * \t\tx 1.03\n\t\t * \t\ty -0.11\n\t\t * \t\tshowarrow false\n\t\t * \t\txref \\papper\n\t\t * \t\tyref \\papper\n\t\t * \t\tfont *\n\t\t * \t\t\tsize 20\n\t\t * \t\t\tfamily \\Exo2\n\t\t * ```\n\t\t */\n\t\trectangle_annotations() {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttext: this.json_title_a(),\n\t\t\t\t\tx: -0.03,\n\t\t\t\t\ty: -0.11,\n\t\t\t\t\tshowarrow: false,\n\t\t\t\t\txref: \"papper\",\n\t\t\t\t\tyref: \"papper\",\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tsize: 20,\n\t\t\t\t\t\tfamily: \"Exo2\"\n\t\t\t\t\t} as Record< string, any >\n\t\t\t\t} as Record< string, any >,\n\t\t\t\t{\n\t\t\t\t\ttext: this.json_title_b(),\n\t\t\t\t\tx: 1.03,\n\t\t\t\t\ty: -0.11,\n\t\t\t\t\tshowarrow: false,\n\t\t\t\t\txref: \"papper\",\n\t\t\t\t\tyref: \"papper\",\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tsize: 20,\n\t\t\t\t\t\tfamily: \"Exo2\"\n\t\t\t\t\t} as Record< string, any >\n\t\t\t\t} as Record< string, any >\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * annotation *\n\t\t * \tshow_arrow false\n\t\t * \tfont *\n\t\t * \t\tsize 13\n\t\t * \t\tfamily \\Exo2\n\t\t * ```\n\t\t */\n\t\tannotation() {\n\t\t\treturn {\n\t\t\t\tshow_arrow: false,\n\t\t\t\tfont: {\n\t\t\t\t\tsize: 13,\n\t\t\t\t\tfamily: \"Exo2\"\n\t\t\t\t} as Record< string, any >\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * annotation_textangle* 0\n\t\t * ```\n\t\t */\n\t\tannotation_textangle(id: any) {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_options *\n\t\t * \tdisplaylogo false\n\t\t * \tdisplayModeBar false\n\t\t * \tstaticPlot false\n\t\t * ```\n\t\t */\n\t\tplot_options() {\n\t\t\treturn {\n\t\t\t\tdisplaylogo: false,\n\t\t\t\tdisplayModeBar: false,\n\t\t\t\tstaticPlot: false\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages / <= Plot\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Plot()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * json_title_a \\\n\t\t * ```\n\t\t */\n\t\tjson_title_a() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * json_title_b \\\n\t\t * ```\n\t\t */\n\t\tjson_title_b() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * json_title_c \\\n\t\t * ```\n\t\t */\n\t\tjson_title_c() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * layout_shapes /\n\t\t * ```\n\t\t */\n\t\tlayout_shapes() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * annotations /\n\t\t * ```\n\t\t */\n\t\tannotations() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * triangle_annotation_text \\\n\t\t * ```\n\t\t */\n\t\ttriangle_annotation_text() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * json_comp_range /\n\t\t * ```\n\t\t */\n\t\tjson_comp_range() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * show_ticks false\n\t\t * ```\n\t\t */\n\t\tshow_ticks() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * json_temp /\n\t\t * ```\n\t\t */\n\t\tjson_temp() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * data_demo false\n\t\t * ```\n\t\t */\n\t\tdata_demo() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_title \\\n\t\t * ```\n\t\t */\n\t\tplot_title() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * label? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tlabel(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Label $mol_view sub / <= label?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tLabel() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.label()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mousemove null\n\t\t * ```\n\t\t */\n\t\tmousemove() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Root $mol_view\n\t\t * \tdom_name \\div\n\t\t * \tevent * mousemove <= mousemove\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tRoot() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.dom_name = () => \"div\"\n\t\t\tobj.event = () => ({\n\t\t\t\tmousemove: this.mousemove()\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * draw null\n\t\t * ```\n\t\t */\n\t\tdraw() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot $mol_page\n\t\t * \ttitle <= plot_title\n\t\t * \tbody /\n\t\t * \t\t<= Label\n\t\t * \t\t<= Root\n\t\t * \tauto <= draw\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPlot() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.plot_title()\n\t\t\tobj.body = () => [\n\t\t\t\tthis.Label(),\n\t\t\t\tthis.Root()\n\t\t\t] as readonly any[]\n\t\t\tobj.auto = () => this.draw()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\t/**\n\t * Checks for equality to given value and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_const_demo\n\t */\n\texport function $mol_data_const< Val >( ref : Val ) {\n\n\t\treturn $mol_data_setup( ( val : Val ) => {\n\t\t\t\n\t\t\tif( $mol_compare_deep( val , ref ) ) return ref\n\t\t\t\n\t\t\treturn $mol_fail( new $mol_data_error( `${ JSON.stringify( val ) } is not ${ JSON.stringify( ref ) }` ) )\n\n\t\t} , ref )\n\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for dictionary which maps strings to given runtype and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_dict_demo\n\t */\n\texport function $mol_data_dict< Sub extends $mol_data_value >( sub : Sub ) {\n\n\t\treturn $mol_data_setup( ( val : Readonly< Record< string , ReturnType< Sub > > > ) => {\n\t\t\t\n\t\t\tif( Object.getPrototypeOf( val ) !== Object.prototype ) {\n\t\t\t\treturn $mol_fail( new $mol_data_error( `${ val } is not an Object` ) )\n\t\t\t}\n\n\t\t\tconst res = {} as Record< string , ReturnType< Sub > >\n\t\t\t\n\t\t\tfor( const field in val as Object ) {\n\n\t\t\t\ttry {\n\t\t\t\t\tres[ field ] = sub( ( val as any )[ field ] )\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\tif( error instanceof Promise ) return $mol_fail_hidden( error )\n\t\t\t\t\t\n\t\t\t\t\terror.message = `[${ JSON.stringify( field ) }] ${ error.message }`\n\t\t\t\t\treturn $mol_fail( error )\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn res as Readonly< Record< string , ReturnType< Sub > > >\n\t\t\t\n\t\t} , sub )\n\n\t}\n\t\t\t\n}\n","namespace $.$$ {\n\n\tconst Label_json = ( val: any ) => {\n\t\tif( !Array.isArray( val ) ) return $mol_fail( new $mol_data_error( `${ val } is not a array` ) )\n\t\tif( val.length < 2 || val.length > 3 ) return $mol_fail( new $mol_data_error( `${ val } should have 2 or 3 items` ) )\n\n\t\tconst check = { 0: val[ 0 ], 1: val[ 1 ], 2: val[ 2 ] }\n\t\tconst obj = $mol_data_record( {\n\t\t\t0: $mol_data_string,\n\t\t\t1: $mol_data_array( $mol_data_number ),\n\t\t\t2: $mol_data_nullable( $mol_data_number ),\n\t\t} )( check )\n\t\treturn Object.values( obj ) as [ string, number[], null | number ]\n\t}\n\n\t// source https://developer.mpds.io/mpds.schema.json#/definitions/phase_diagram\n\tconst $visavis_phase_rect_json = $mol_data_record( {\n\t\t// both\n\t\tnaxes: $mol_data_number,\n\t\tarity: $mol_data_number,\n\t\tdiatype: $mol_data_string,\n\t\tchemical_elements: $mol_data_array( $mol_data_string ),\n\t\ttemp: $mol_data_array( $mol_data_number ),\n\t\tlabels: $mol_data_array( Label_json ), // Array<[string, number[], null | number]>\n\t\tshapes: $mol_data_array( $mol_data_record( {\n\t\t\tkind: $mol_data_string,\n\t\t\tsvgpath: $mol_data_string,\n\t\t\tlabel: $mol_data_optional( $mol_data_string ),\n\t\t\tphase: $mol_data_optional( $mol_data_string ),\n\t\t\tnphases: $mol_data_optional( $mol_data_number ),\n\t\t\tis_solid: $mol_data_optional( $mol_data_boolean ),\n\t\t\tphase_id: $mol_data_optional( $mol_data_number ),\n\t\t\treflabel: $mol_data_optional( $mol_data_number ),\n\t\t\tchemical_elements: $mol_data_optional( $mol_data_array( $mol_data_string ) ),\n\t\t} ) ),\n\t\tentry: $mol_data_string,\n\t\tobject_type: $mol_data_string,\n\t\tuse_visavis_type: $mol_data_const( 'pd' ),\n\t\t\n\t\ttitle_a: $mol_data_optional( $mol_data_string ),\n\t\ttitle_b: $mol_data_optional( $mol_data_string ),\n\t\tobject_repr: $mol_data_optional( $mol_data_string ),\n\t\t// rect\n\t\tcomp_end: $mol_data_optional( $mol_data_dict( $mol_data_number ) ),\n\t\tcomp_range: $mol_data_optional( $mol_data_array( $mol_data_number ) ),\n\t\tcomp_start: $mol_data_optional( $mol_data_dict( $mol_data_number ) ),\n\t\t// triangle\n\t\ttitle_c: $mol_data_optional( $mol_data_string ),\n\t\tcomp_a: $mol_data_optional( $mol_data_dict( $mol_data_number ) ),\n\t\tcomp_b: $mol_data_optional( $mol_data_dict( $mol_data_number ) ),\n\t\tcomp_c: $mol_data_optional( $mol_data_dict( $mol_data_number ) ),\n\t\trange_a: $mol_data_optional( $mol_data_array( $mol_data_number ) ),\n\t\trange_b: $mol_data_optional( $mol_data_array( $mol_data_number ) ),\n\t\trange_c: $mol_data_optional( $mol_data_array( $mol_data_number ) ),\n\t} )\n\n\tfunction get_rect_pd_compound( comp: any, obj_left: any, obj_right: any ) {\n\t\tconst els = Object.keys( obj_left ).sort()\n\t\tlet formula = ''\n\t\tlet coeff = 0\n\n\t\tels.forEach( function( el ) {\n\t\t\tif( obj_right[ el ] == obj_left[ el ] )\n\t\t\t\tformula += el + ' × ' + obj_left[ el ].toFixed( 2 ) + ', '\n\n\t\t\telse if( obj_right[ el ] > obj_left[ el ] ) {\n\t\t\t\tcoeff = obj_left[ el ] + comp * ( obj_right[ el ] - obj_left[ el ] )\n\t\t\t\tcoeff = Math.round( coeff * 100 ) / 100\n\t\t\t\tif( !coeff ) return\n\t\t\t\tformula += el + ' × ' + coeff.toFixed( 2 ) + ', '\n\n\t\t\t} else {\n\t\t\t\tcoeff = obj_left[ el ] - ( comp * ( obj_left[ el ] - obj_right[ el ] ) )\n\t\t\t\tcoeff = Math.round( coeff * 100 ) / 100\n\t\t\t\tif( !coeff ) return\n\t\t\t\tformula += el + ' × ' + coeff.toFixed( 2 ) + ', '\n\t\t\t}\n\t\t} )\n\n\t\treturn formula.substr( 0, formula.length - 2 )\n\t}\n\n\tfunction get_tri_pd_compound( a: any, b: any, c: any, obj_a: any, obj_b: any, obj_c: any ) {\n\t\tconst els = Object.keys( obj_a ).sort()\n\t\tlet formula = ''\n\t\tlet coeff = 0\n\n\t\tels.forEach( function( el ) {\n\t\t\tcoeff = Math.round( ( obj_a[ el ] * a + obj_b[ el ] * b + obj_c[ el ] * c ) * 100 ) / 100\n\t\t\tif( !coeff ) return\n\t\t\tformula += el + ' × ' + coeff.toFixed( 2 ) + ', '\n\t\t} )\n\n\t\treturn formula.substr( 0, formula.length - 2 )\n\t}\n\n\texport function inside_triangle( x: number, y: number, x1: number, y1: number, x2: number, y2: number, x3: number, y3: number ) {\n\t\tfunction fAB( x: number, y: number, x1: number, y1: number, x2: number, y2: number, x3: number, y3: number ) {\n\t\t\treturn ( y - y1 ) * ( x2 - x1 ) - ( x - x1 ) * ( y2 - y1 )\n\t\t}\n\n\t\tfunction fBC( x: number, y: number, x1: number, y1: number, x2: number, y2: number, x3: number, y3: number ) {\n\t\t\treturn ( y - y2 ) * ( x3 - x2 ) - ( x - x2 ) * ( y3 - y2 )\n\t\t}\n\n\t\tfunction fCA( x: number, y: number, x1: number, y1: number, x2: number, y2: number, x3: number, y3: number ) {\n\t\t\treturn ( y - y3 ) * ( x1 - x3 ) - ( x - x3 ) * ( y1 - y3 )\n\t\t}\n\n\t\tif( fAB( x, y, x1, y1, x2, y2, x3, y3 ) * fBC( x, y, x1, y1, x2, y2, x3, y3 ) > 0 && fBC( x, y, x1, y1, x2, y2, x3, y3 ) * fCA( x, y, x1, y1, x2, y2, x3, y3 ) > 0 ) return true\n\t\telse return false\n\t}\n\n\texport function cartesian_to_ternary( x: number, y: number ) {\n\t\tconst b = y / ( Math.sqrt( 3 ) / 2 ),\n\t\t\ta = 1 - ( x + ( y / Math.sqrt( 3 ) ) ),\n\t\t\tc = 1 - a - b\n\t\treturn [ a, b, c ]\n\t}\n\n\t// TODO FIXME this should be done on the server\n\texport function fix_comp_impossible( comp_range: any, obj_left: any, obj_right: any ) {\n\t\tif( comp_range[ 1 ] - comp_range[ 0 ] == 100 ) return false\n\n\t\tconst els = Object.keys( obj_left )\n\t\tlet count = 0\n\t\tlet fixed = {} as any\n\n\t\tif( els.length > 2 )\n\t\t\treturn false\n\n\t\tfor( const el in obj_left ) {\n\t\t\tif( ( obj_right[ el ] == 0 && obj_left[ el ] == 1 ) || ( obj_left[ el ] == 0 && obj_right[ el ] == 1 ) )\n\t\t\t\tcount++\n\t\t}\n\n\t\tif( count == els.length ) {\n\t\t\tfixed = { comp_start: obj_left, comp_end: obj_right }\n\n\t\t\tif( fixed.comp_start[ els[ 0 ] ] == 0 ) {\n\t\t\t\tfixed.comp_start[ els[ 0 ] ] = comp_range[ 0 ] / 100\n\t\t\t\tfixed.comp_start[ els[ 1 ] ] = 1 - ( comp_range[ 0 ] / 100 )\n\t\t\t\tfixed.comp_end[ els[ 0 ] ] = comp_range[ 1 ] / 100\n\t\t\t\tfixed.comp_end[ els[ 1 ] ] = 1 - ( comp_range[ 1 ] / 100 )\n\t\t\t} else {\n\t\t\t\tfixed.comp_start[ els[ 0 ] ] = 1 - ( comp_range[ 0 ] / 100 )\n\t\t\t\tfixed.comp_start[ els[ 1 ] ] = comp_range[ 0 ] / 100\n\t\t\t\tfixed.comp_end[ els[ 0 ] ] = 1 - ( comp_range[ 1 ] / 100 )\n\t\t\t\tfixed.comp_end[ els[ 1 ] ] = comp_range[ 1 ] / 100\n\t\t\t}\n\t\t\treturn fixed\n\t\t}\n\t\treturn false\n\t}\n\n\texport class $visavis_phase extends $.$visavis_phase {\n\n\t\tplot_title() {\n\t\t\treturn this.plot().id()\n\t\t}\n\n\t\tjson() {\n\t\t\treturn $visavis_phase_rect_json( this.plot().json() as any )\n\t\t}\n\n\t\tjson_title_b() {\n\t\t\treturn this.json().title_b ?? ''\n\t\t}\n\n\t\tjson_title_a() {\n\t\t\treturn this.json().title_a ?? ''\n\t\t}\n\n\t\tjson_title_c() {\n\t\t\treturn this.json().title_c ?? ''\n\t\t}\n\n\t\tjson_comp_range() {\n\t\t\treturn this.json().comp_range ?? []\n\t\t}\n\n\t\tjson_temp() {\n\t\t\treturn this.json().temp\n\t\t}\n\n\t\tdata_demo() {\n\t\t\treturn !this.json().comp_a && !this.json().comp_start\n\t\t}\n\n\t\tshow_ticks() {\n\t\t\treturn this.json().labels.length > 0\n\t\t}\n\n\t\tis_triangle() {\n\t\t\treturn this.json().naxes === 3\n\t\t}\n\n\t\t@$mol_mem\n\t\tlayout_shapes() {\n\t\t\tconst list = this.json().shapes.map( obj => ( {\n\t\t\t\ttype: 'path',\n\t\t\t\tpath: obj.svgpath,\n\t\t\t\tline: this.line()[ obj.kind ] ?? this.line().default,\n\t\t\t\t...obj.kind !== 'phase' && obj.kind !== 'compound' ? { fillOpacity: 0 } : {},\n\t\t\t\t...obj.kind === 'phase' ? {\n\t\t\t\t\tfillcolor: !obj.is_solid && obj.nphases === 1 ? this.colors_by_nphases().alt_1 : this.colors_by_nphases()[ obj.nphases! ] ?? this.colors_by_nphases().default\n\t\t\t\t} : {},\n\t\t\t} ) )\n\n\t\t\treturn this.is_triangle() ? [ this.triangle_shape_fix(), ...list ] : list\n\t\t}\n\n\t\tannotation_textangle( label: ReturnType ) {\n\t\t\treturn label[ 0 ].replace( /<\\/?sub>/g, '' ).length > 10 ? -65 : 0\n\t\t}\n\n\t\t@$mol_mem\n\t\tannotations() {\n\t\t\tconst list = this.json().labels.map( label => ( {\n\t\t\t\tx: label[ 1 ][ 0 ],\n\t\t\t\ty: label[ 1 ][ 1 ],\n\t\t\t\ttext: label[ 0 ],\n\t\t\t\tshowarrow: this.annotation().show_arrow,\n\t\t\t\tfont: this.annotation().font,\n\t\t\t\ttextangle: this.annotation_textangle( label )\n\t\t\t} ) )\n\n\t\t\treturn [\n\t\t\t\t...list,\n\t\t\t\t...this.json().title_c && this.json().arity > 2 && !this.data_demo() ? this.triangle_annotations() : [],\n\t\t\t\t...this.json().naxes === 2 ? this.rectangle_annotations() : [],\n\t\t\t]\n\t\t}\n\n\t\tmouseover() {\n\t\t\tconst that = $lib_d3.all().select( this )\n\t\t\tconsole.log( that )\n\t\t\tconst idx = that.attr( 'data-index' )\n\n\t\t\t// if (json.naxes == 3){\n\t\t\t// if (idx == 0) return false;\n\t\t\t// idx--;\n\t\t\t// }\n\n\t\t\tthat.attr( 'data-state', that.style( 'fill' ) )\n\t\t\tthat.style( { 'cursor': 'pointer', 'fill': '#3e3f95' } )\n\t\t}\n\n\t\tmouseout() {}\n\n\t\tclick() {}\n\n\t\tmousemove() {}\n\n\t\t@$mol_action\n\t\tsubscribe_events() {\n\t\t\tconst d3 = $lib_d3.all()\n\t\t\tconsole.log('is trinagle', this.is_triangle())\n\n\t\t\tif ( this.is_triangle() ) this.pd_fix_triangle()\n\n\t\t\t// skip unsupported PD types\n\t\t\tif ( this.json().diatype && this.json().diatype.indexOf( 'projection' ) !== -1 ) return\n\n\t\t\tconst json = this.json()\n\t\t\tconst is_triangle = this.is_triangle()\n\n\t\t\tconst figures = d3.selectAll('[visavis_phase_root] .shapelayer path')\n\t\t\tfigures.on('mouseover', function(this: any) {\n\t\t\t\tconst that = d3.select(this)\n\t\t\t\tlet idx = that.attr('data-index')\n\n\t\t\t\tif (is_triangle){\n\t\t\t\t\tif (idx == 0) return false;\n\t\t\t\t\tidx--;\n\t\t\t\t}\n\n\t\t\t\tthat.attr('data-state', that.style('fill'));\n\t\t\t\tthat.style('cursor', 'pointer');\n\t\t\t\tthat.style('fill', '#3e3f95');\n\n\t\t\t\tconst reflabel = json.shapes[idx]?.reflabel\n\t\t\t\tif (reflabel !== undefined && json.labels[reflabel] !== undefined){\n\t\t\t\t\td3.select(`g.annotation[data-index=\"'${reflabel}'\"]`).select('text').style('fill', '#f30');\n\t\t\t\t}\n\t\t\t\t// original\n\t\t\t\t// if (visavis.pd_phases[idx] !== undefined && json.labels[visavis.pd_phases[idx]] !== undefined){\n\t\t\t\t// \tPlotly.d3.select('g.annotation[data-index=\"' + visavis.pd_phases[idx] + '\"]').select('text').style('fill', '#f30');\n\t\t\t\t// }\n\t\t\t})\n\n\t\t\tfigures.on('mouseout', function(this: any) {\n\t\t\t\tconst that = d3.select(this)\n\t\t\t\tconst state = that.attr('data-state')\n\n\t\t\t\tif (state){\n\t\t\t\t\tthat.style('fill', state)\n\t\t\t\t\tthat.style('cursor', 'default')\n\t\t\t\t\td3.selectAll('[visavis_phase_root] g.annotation').select('text').style('fill', '#000');\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tconst canvas = this.Root().dom_node() as any\n\n\t\t\t// rectangle\n\t\t\tif (!this.is_triangle()) {\n\t\t\t\tconst fixed = fix_comp_impossible(json.comp_range, json.comp_start, json.comp_end);\n\t\t\t\tconst comp_start = fixed?.comp_start ?? json.comp_start\n\t\t\t\tconst comp_end = fixed?.comp_end ?? json.comp_end\n\n\t\t\t\tconst xaxis = canvas._fullLayout.xaxis\n\t\t\t\tconst yaxis = canvas._fullLayout.yaxis\n\t\t\t\tconst margin_l = canvas._fullLayout.margin.l\n\t\t\t\tconst margin_t = canvas._fullLayout.margin.t\n\n\t\t\t\tconst self = this\n\n\t\t\t\tcanvas.addEventListener('mousemove', $mol_wire_async((evt: any) => {\n\t\t\t\t\tconst comp = xaxis.p2c(evt.layerX - margin_l)\n\t\t\t\t\tconst temp = parseInt(yaxis.p2c(evt.layerY - margin_t));\n\n\t\t\t\t\tif (comp > json.comp_range![0] && comp < json.comp_range![1] && temp > json.temp[0] && temp < json.temp[1]){\n\t\t\t\t\t\tconst label = get_rect_pd_compound((comp - json.comp_range![0]) / (json.comp_range![1] - json.comp_range![0]), comp_start, comp_end) + ' at T = ' + temp + ' °C';\n\t\t\t\t\t\tself.label(label)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.label('')\n\t\t\t\t\t}\n\t\t\t\t}))\n\t\t\t}\n\t\t}\n\n\t\t@$mol_mem\n\t\tdraw() {\n\t\t\tconst { datamock, layout } = this.is_triangle() ? this.triangle() : this.rectangle()\n\n\t\t\t// with $mol_wire_sync not working \n\t\t\tconst promise = $lib_plotly.all().react(\n\t\t\t\tthis.Root().dom_node() as HTMLElement,\n\t\t\t\tdatamock,\n\t\t\t\tlayout,\n\t\t\t\tthis.plot_options(),\n\t\t\t)\n\n\t\t\tpromise.then( () => this.subscribe_events() )\n\t\t}\n\n\t\tpd_fix_triangle() {\n\t\t\tconst d3 = $lib_d3.all()\n\n\t\t\tfunction make_absolute_context( element: SVGGraphicsElement, root: HTMLElement ) {\n\t\t\t\treturn function( x: number, y: number ) {\n\t\t\t\t\tvar offset = root.getBoundingClientRect()\n\t\t\t\t\tvar matrix = element.getScreenCTM()\n\t\t\t\t\treturn {\n\t\t\t\t\t\tx: ( matrix!.a * x ) + ( matrix!.c * y ) + matrix!.e - offset.left,\n\t\t\t\t\t\ty: ( matrix!.b * x ) + ( matrix!.d * y ) + matrix!.f - offset.top\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction get_absolute_coords( el: SVGGraphicsElement, ref: HTMLElement ) {\n\t\t\t\tconst fn = make_absolute_context( el, ref )\n\t\t\t\tconst b = el.getBBox()\n\t\t\t\treturn fn( b.x, b.y )\n\t\t\t}\n\n\t\t\tconst svgroot = d3.select( \"[visavis_phase_root] svg.main-svg\" )[ 0 ][ 0 ] // window\n\t\t\tlet graph_node = d3.select( \"[visavis_phase_root] g.toplevel.plotbg\" )[ 0 ][ 0 ] // graph frame\n\t\t\tconst graph_coords = get_absolute_coords( graph_node, svgroot )\n\t\t\tconst svg_el = d3.select( \"[visavis_phase_root] g.layer-above\" ) // actual drawing\n\t\t\tlet svg_node = svg_el[ 0 ][ 0 ]\n\n\t\t\tgraph_node = graph_node.getBoundingClientRect()\n\t\t\tsvg_node = svg_node.getBoundingClientRect()\n\n\t\t\tconst scaleX = graph_node.width / svg_node.width\n\t\t\tconst scaleY = graph_node.height / svg_node.height\n\t\t\tconst centerX = graph_coords.x + graph_node.width / 2\n\t\t\tconst centerY = graph_coords.y + graph_node.height // NB!\n\n\t\t\tconst origdims = [] as number[]\n\n\t\t\td3.selectAll( \"[visavis_phase_root] text.annotation-text\" ).each( function( this: any ) {\n\t\t\t\torigdims.push( parseInt( this.getBoundingClientRect().left ) )\n\t\t\t} )\n\n\t\t\tsvg_el.attr( \"transform\", \"translate(\" + ( -centerX * ( scaleX - 1 ) ) + \", \" + ( -centerY * ( scaleY - 1 ) ) + \") scale(\" + scaleX + \", \" + scaleY + \")\" )\n\n\t\t\td3.selectAll( \"[visavis_phase_root] g.annotation\" ).each( function( this: any, d: any, i: any ) {\n\t\t\t\td3.select( this ).attr( \"transform\", \"translate(\" + ( -centerX * ( scaleX - 1 ) ) + \", \" + ( -centerY * ( scaleY - 1 ) ) + \") scale(\" + scaleX + \", \" + scaleY + \") translate(\" + ( -origdims[ i ] / 1.25 ) + \", 0) scale(1.75, 1)\" )\n\t\t\t} )\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"visavis/phase/phase.view.css\",\n \"path{pointer-events:painted;}\\ng{pointer-events:painted;}\\n\"\n) }","namespace $.$$ {\n\n\tconst { per, rem, px } = $mol_style_unit\n\n\t$mol_style_define( $visavis_phase, {\n\n\t\tPlot: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t},\n\n\t\tRoot: {\n\t\t\twidth: $mol_style_unit.per(100),\n\t\t\theight: $mol_style_unit.per(100),\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\texport class $visavis_plot_plotly extends $mol_page {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot $visavis_plot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tplot() {\n\t\t\tconst obj = new this.$.$visavis_plot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * json *\n\t\t * ```\n\t\t */\n\t\tjson() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages / <= Plot\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Plot()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_options *\n\t\t * \tdisplaylogo false\n\t\t * \tdisplayModeBar false\n\t\t * \tstaticPlot false\n\t\t * ```\n\t\t */\n\t\tplot_options() {\n\t\t\treturn {\n\t\t\t\tdisplaylogo: false,\n\t\t\t\tdisplayModeBar: false,\n\t\t\t\tstaticPlot: false\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_title \\\n\t\t * ```\n\t\t */\n\t\tplot_title() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * draw null\n\t\t * ```\n\t\t */\n\t\tdraw() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Root $mol_view auto <= draw\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tRoot() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.auto = () => this.draw()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * error_showed? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\terror_showed(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Error $mol_view sub / <= error_showed?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tError() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.error_showed()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_body /\n\t\t * \t<= Root\n\t\t * \t<= Error\n\t\t * ```\n\t\t */\n\t\tplot_body() {\n\t\t\treturn [\n\t\t\t\tthis.Root(),\n\t\t\t\tthis.Error()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot $mol_page\n\t\t * \ttitle <= plot_title\n\t\t * \tbody <= plot_body\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPlot() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.plot_title()\n\t\t\tobj.body = () => this.plot_body()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\texport class $visavis_plot_plotly extends $.$visavis_plot_plotly {\n\n\t\tplot_title() {\n\t\t\treturn this.plot().id()\n\t\t}\n\n\t\tjson() {\n\t\t\treturn this.plot().json() as any\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\t\t\treturn {\n\t\t\t\tfont: {family: \"Exo2\", size: 13}\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\tconst json = this.json()\n\n\t\t\treturn json\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdraw() {\n\t\t\ttry {\n\n\t\t\t\t$mol_wire_sync( $lib_plotly.all() ).react(\n\t\t\t\t\tthis.Root().dom_node() as HTMLElement,\n\t\t\t\t\tthis.data(), \n\t\t\t\t\tthis.layout(),\n\t\t\t\t\tthis.plot_options(),\n\t\t\t\t)\t\n\n\t\t\t\tthis.subscribe_events() \n\t\t\t\tthis.error_showed( null )\n\n\t\t\t} catch( error: any ) {\n\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\tthis.error_showed( error )\n\n\t\t\t}\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t$mol_style_define( $visavis_plot_plotly, {\n\n\t\tPlot: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tRoot: {\n\t\t\twidth: '100%',\n\t\t\theight: '100%',\n\t\t},\n\n\t\tError: {\n\t\t\tposition: \"absolute\",\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\texport class $visavis_bar extends $visavis_plot_plotly {\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\tconst Payload = $mol_data_record({\n\t\tx: $mol_data_array( $mol_data_number ),\n\t\tdx: $mol_data_number,\n\t\ty: $mol_data_array( $mol_data_number ),\n\t\txtitle: $mol_data_optional( $mol_data_string ),\n\t\tytitle: $mol_data_optional( $mol_data_string ),\n\t})\n\n\texport const $visavis_bar_json = $mol_data_record({\n\t\tpayload: Payload,\n\t\tpayload2: $mol_data_optional( Payload ),\n\t})\n\n\texport class $visavis_bar extends $.$visavis_bar {\n\n\t\tjson() {\n\t\t\treturn $visavis_bar_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n\n\t\t\tconst d3 = $lib_d3.all()\n\n\t\t\tconst json = this.json() as any\n\n\t\t\tif (json.payload2 && json.p1ayload2.x && json.payload2.y) return\n\t\t\t\n\t\t\t// warn_demo();1\n\t\t\t// if (visavis.mpds_embedded) document.getElementById('expander').style.display = 'block';\n\t\t\tconst paths = d3.selectAll('g.point path')\n\t\t\tpaths.on('mouseover', function(this: any){\n\t\t\t\tconst selection = d3.select(this)\n\t\t\t\tselection.style('fill', '#E36868');\n\t\t\t\tselection.style('cursor', 'pointer');\n\t\t\t})\n\t\t\tpaths.on('mouseout', function(this: any){\n\t\t\t\tconst selection = d3.select(this)\n\t\t\t\tselection.style('fill', '#3e3f95');\n\t\t\t\tselection.style('cursor', 'default');\n\t\t\t})\n\t\t\t// paths.on('click', function(evt){\n\t\t\t// \tif (visavis.mpds_embedded){\n\t\t\t// \t\twindow.parent.wmgui.visavis_terminating = true;\n\t\t\t// \t\twindow.parent.location.hash = window.parent.wmgui.aug_search_cmd(\"years\", evt.x);\n\t\t\t// \t}\n\t\t\t// });\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\t\t\tconst json = this.json()\n\t\t\treturn {\n\t\t\t\tshowlegend: json.payload2 ? true : false,\n\t\t\t\tlegend: {x: 0, y: 1, font: {family: \"Exo2\", size: 17}},\n\t\t\t\txaxis: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tzeroline: false,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\tdtick: json.payload.dx || 0.05,\n\t\t\t\t\ttitle: json.payload.xtitle\n\t\t\t\t\t//rangemode: \"nonnegative\"\n\t\t\t\t},\n\t\t\t\tyaxis: {\n\t\t\t\t\tfixedrange: true,\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: true,\n\t\t\t\t\tshowline: false,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tticklen: 0,\n\t\t\t\t\ttitle: json.payload.ytitle,\n\t\t\t\t\trangemode: \"nonnegative\",\n\t\t\t\t\ttype: \"log\", tickfont: {family: \"Exo2\", size: 17}\n\t\t\t\t},\n\t\t\t\tfont: {family: \"Exo2\", size: 13}\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\n\t\t\tconst json = this.json()\n\n\t\t\tconst payload = [{type: \"bar\", x: json.payload.x, y: json.payload.y, marker: {color: \"#3e3f95\"}, name: 'bar'}]\n\t\t\t\n\t\t\tif (json.payload2 && json.payload2.x && json.payload2.y){\n\t\t\t\tpayload.push({type: \"bar\", x: json.payload2.x, y: json.payload2.y, marker: {color: \"#e36868\"}, name: 'bar'});\n\t\t\t}\n\n\t\t\treturn payload\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t$mol_style_define( $visavis_bar, {\n\n\t\tPlot: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tRoot: {\n\t\t\twidth: '100%',\n\t\t\theight: '100%',\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\texport class $visavis_discovery extends $visavis_plot_plotly {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages /\n\t\t * \t<= Plot\n\t\t * \t<= Setup\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Plot(),\n\t\t\t\tthis.Setup()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * elemental_checked*? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\telemental_checked(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * elementals_dict *\n\t\t * ```\n\t\t */\n\t\telementals_dict() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Elementals_check $mol_check_list\n\t\t * \toption_checked*? <=> elemental_checked*?\n\t\t * \toptions <= elementals_dict\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tElementals_check() {\n\t\t\tconst obj = new this.$.$mol_check_list()\n\t\t\t\n\t\t\tobj.option_checked = (id: any, next?: any) => this.elemental_checked(id, next)\n\t\t\tobj.options = () => this.elementals_dict()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Elementals $mol_labeler\n\t\t * \ttitle \\Elementals on\n\t\t * \tContent <= Elementals_check\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tElementals() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => \"Elementals on\"\n\t\t\tobj.Content = () => this.Elementals_check()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Setup $mol_page\n\t\t * \ttitle @ \\Setup\n\t\t * \tbody / <= Elementals\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSetup() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_discovery_Setup_title' )\n\t\t\tobj.body = () => [\n\t\t\t\tthis.Elementals()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\tconst Point = $mol_data_array( $mol_data_number )\n\n\tconst Payload = $mol_data_record({\n\t\tpoints: $mol_data_array( Point ),\n\t})\n\n\tconst Discover_item = $mol_data_record({\n\t\tpoints: $mol_data_array( Point ),\n\t\tname: $mol_data_string\n\t})\n\n\ttype Elementals_dict = typeof $visavis_elemental_names\n\n\texport const $visavis_discovery_json = $mol_data_record({\n\t\tpayload: Payload,\n\t\tanswerto: $mol_data_string,\n\t})\n\n\tfunction discover(\n\t\telementals_on: (keyof Elementals_dict)[], \n\t\tfirst: typeof Discover_item.Value, \n\t\tsecond?: typeof Discover_item.Value\n\t) {\n\t\tconst mlPca: any = $visavis_lib.pca()\n\t\tif (!mlPca) return $mol_fail( new $mol_data_error('Sorry, your web-browser is too old for this task') );\n\t\n\t\t// if (!first.points.length || (second && !second.points.length)) return urge('Error: not enough data for analysis');\n\t\t// ^ this will be validated in Discover_item()\n\n\t\tlet\tgiven_separation = 0;\n\t\t// given_separation = false;\n\n\t\tfunction elements_data( element_ids: readonly number[] ){\n\t\t\tconst prop_array: number[] = []\n\t\t\tconst label_parts: string[] = []\n\n\t\t\telement_ids.forEach( element_id => {\n\t\t\t\tconst props = elementals_on.map( prop_name => $visavis_element_prop[ prop_name ][ element_id ])\n\t\t\t\tconst name = $visavis_element_list[ element_id ]!\n\t\t\t\tprop_array.push( ...props )\n\t\t\t\tlabel_parts.push( name );\n\t\t\t})\n\n\t\t\tconst label = label_parts.filter( x => x ).join('-')\n\t\t\treturn { prop_array, label }\n\t\t}\n\n\t\tconst to_predict: number[][] = []\n\t\tconst labels: string[] = []\n\n\t\tfirst.points.forEach( element_ids => {\n\t\t\tconst { prop_array, label } = elements_data( element_ids )\n\n\t\t\tto_predict.push( prop_array );\n\t\t\tlabels.push( label );\n\t\t})\n\t\n\t\tif (second){\n\t\t\tgiven_separation = to_predict.length;\n\n\t\t\tsecond.points.forEach( element_ids => {\n\t\t\t\tconst { prop_array, label } = elements_data( element_ids )\n\t\n\t\t\t\t// discard points in the *second* that are already in the *first*\n\t\t\t\tif (labels.includes( label )) {\n\t\t\t\t\tto_predict.push( prop_array );\n\t\t\t\t\tlabels.push( label );\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif (to_predict.length == given_separation) {\n\t\t\t\treturn $mol_fail( new $mol_data_error('Error: a selected dataset is fully included into a reference dataset') )\n\t\t\t}\n\t\t}\n\t\n\t\tif (to_predict.length > 21000) return $mol_fail( new $mol_data_error('Error: too much data for analysis') )\n\t\n\t\tconst pca = new mlPca( to_predict )\n\t\tconst predicted = pca.predict( to_predict, {nComponents: 2} );\n\t\n\t\tif (second){\n\t\t\treturn [{\n\t\t\t\tdiscovery: predicted.slice(0, given_separation),\n\t\t\t\tlabels: labels.slice(0, given_separation),\n\t\t\t\tname: first.name\n\t\t\t}, {\n\t\t\t\tdiscovery: predicted.slice(given_separation),\n\t\t\t\tlabels: labels.slice(given_separation),\n\t\t\t\tname: second.name\n\t\t\t}];\n\t\t}\n\t\treturn [{\n\t\t\tdiscovery: predicted,\n\t\t\tlabels: labels,\n\t\t\tname: first.name\n\t\t}];\n\t}\n\n\texport class $visavis_discovery extends $.$visavis_discovery {\n\n\t\tjson() {\n\t\t\treturn $visavis_discovery_json( this.plot().json() as any )\n\t\t}\n\n\t\telementals_dict() {\n\t\t\treturn $visavis_elemental_names\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n\n\t\t\tconst d3 = $lib_d3.all()\n\n\t\t\tconst json = this.json() as any\n\n\t\t\t// if (visavis.mpds_embedded) {\n\t\t\t// \tdocument.getElementById('expander').style.display = 'block';\n\t\t\t// } else {\n\t\t\t// \treturn\n\t\t\t// }\n\n\t\t\t// Plotly.d3.select('#visavis').on('click', function(evt){\n\t\t\t// \tif (visavis.cache.type != 'discovery') return false;\n\n\t\t\t// \tevt = evt || window.event;\n\t\t\t// \tvar node = evt.target,\n\t\t\t// \t\tindex = 0;\n\t\t\t// \tif (node.tagName != 'path' || node.getAttribute('class') != 'point') return false;\n\n\t\t\t// \tvar oflag = node.style.opacity;\n\t\t\t// \tnode.style.fill = '#0f0';\n\t\t\t// \twhile ((node = node.previousElementSibling)){\n\t\t\t// \t\tindex++;\n\t\t\t// \t}\n\t\t\t// \tvar label = [],\n\t\t\t// \t\tpoint = (oflag == 1) ? visavis.cache.ref.points[index] : visavis.cache.cmp.points[index];\n\t\t\t// \tif (!point) return false;\n\n\t\t\t// \tpoint.forEach(function(i){\n\t\t\t// \t\tlabel.push(visavis.chem_els[i]);\n\t\t\t// \t});\n\t\t\t// \tlabel = label.filter(function(x){ return x }).join('-');\n\t\t\t// \twindow.open(window.location.protocol + \"//\" + window.location.host + window.parent.wmgui.aug_search_cmd(\"elements\", label));\n\t\t\t// });\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\t\t\treturn {\n\t\t\t\tshowlegend: false,\n\t\t\t\thovermode: \"closest\",\n\t\t\t\txaxis: { showgrid: false },\n\t\t\t\tyaxis: { showgrid: false },\n\t\t\t\tmargin: {\n\t\t\t\t\tl: 0,\n\t\t\t\t\tr: 0,\n\t\t\t\t\tb: 0,\n\t\t\t\t\tt: 0,\n\t\t\t\t\tpad: 0\n\t\t\t\t},\n\t\t\t\tannotations: [\n\t\t\t\t\t{ \n\t\t\t\t\t\tx: 0.63, \n\t\t\t\t\t\ty: 0.97, \n\t\t\t\t\t\txref: 'paper', \n\t\t\t\t\t\tyref: 'paper', \n\t\t\t\t\t\txanchor: 'right', \n\t\t\t\t\t\tyanchor: 'bottom', \n\t\t\t\t\t\ttext: 'Second Principal Component (a1x + b1y + c1z + ...)', \n\t\t\t\t\t\tshowarrow: false, \n\t\t\t\t\t\tbgcolor: '#fff', \n\t\t\t\t\t\tfont: { family: \"Exo2\", size: 14 } \n\t\t\t\t\t},\n\t\t\t\t\t{ \n\t\t\t\t\t\tx: 0.97, \n\t\t\t\t\t\ty: 0.67, \n\t\t\t\t\t\txref: 'paper', \n\t\t\t\t\t\tyref: 'paper', \n\t\t\t\t\t\txanchor: 'left', \n\t\t\t\t\t\tyanchor: 'top', \n\t\t\t\t\t\ttext: 'First Principal Component (a2x + b2y + c2z + ...)', \n\t\t\t\t\t\tshowarrow: false, \n\t\t\t\t\t\tbgcolor: '#fff', \n\t\t\t\t\t\ttextangle: 270, \n\t\t\t\t\t\tfont: { family: \"Exo2\", size: 14 } \n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\telementals_on() {\n\t\t\tconst elementals_on: (keyof Elementals_dict)[] = []\n\n\t\t\tObject.keys( this.elementals_dict() ).forEach( key => {\n\t\t\t\tif (this.elemental_checked(key)) {\n\t\t\t\t\telementals_on.push( key as keyof Elementals_dict )\n\t\t\t\t}\n\t\t\t} )\n\n\t\t\tif (elementals_on.length === 0) return $mol_fail( new $mol_data_error('At least one property must be enabled') )\n\n\t\t\treturn elementals_on\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\telemental_checked(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn id === 'nump' ? true : false //nump on by default\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\n\t\t\tconst json = this.json()\n\n\t\t\tconst elementals_on = this.elementals_on()\n\n\t\t\t// if (visavis.cache && visavis.cache.type == 'discovery'){\n\t\t\t// \tvar ref = {points: visavis.cache.ref.points, name: visavis.cache.ref.name},\n\t\t\t// \t\tcmp = {points: json.payload.points, name: json.answerto};\n\t\t\t// \tvisavis.cache.cmp = cmp;\n\t\t\n\t\t\t// } else {\n\t\t\t// \tvar ref = {points: json.payload.points, name: json.answerto},\n\t\t\t// \t\tcmp = false;\n\t\t\t// \tvisavis.cache = {ref: ref, type: 'discovery'};\n\t\t\t// }\n\n\t\t\tconst result = discover(elementals_on, Discover_item({points: json.payload.points, name: json.answerto}));\n\t\t\tif (!result || !result[0].discovery) return;\n\t\t\n\t\t\tconst traces = [];\n\t\t\n\t\t\tfor (let i = 0; i < result.length; i++){\n\t\t\t\tconst dscolor = (i == 0) ? '#3e3f95' : '#900'\n\t\t\t\tconst oflag = (i == 0) ? 1 : 0.9\n\t\t\t\ttraces.push({\n\t\t\t\t\tx: result[i].discovery.map((item: any) => item[0] ),\n\t\t\t\t\ty: result[i].discovery.map((item: any) => item[1] ),\n\t\t\t\t\ttext: result[i].labels,\n\t\t\t\t\tmode: 'markers',\n\t\t\t\t\ttype: 'scatter',\n\t\t\t\t\thoverinfo: 'text',\n\t\t\t\t\tmarker: {size: 6, color: dscolor, opacity: oflag, symbol: 'square'}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn traces\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t$mol_style_define( $visavis_discovery, {\n\n\t\tSetup: {\n\t\t\tflex: {\n\t\t\t\tbasis: '25rem',\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t\tBody: {\n\t\t\t\tpadding: $mol_gap.block,\n\t\t\t},\n\t\t},\n\t\t\n\t} )\n\n}\n","namespace $ {\n\texport class $visavis_eigen extends $visavis_plot_plotly {\n\t}\n\t\n}\n\n","namespace $ {\n\n\t/**\n\t * Checks for some of given runtype or throws error.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_variant_demo\n\t */\n\texport function $mol_data_variant< Sub extends $mol_data_value[] >( ... sub : Sub ) {\n\n\t\treturn $mol_data_setup( ( val : Parameters< Sub[ number ] >[0] ) => {\n\t\t\t\n\t\t\tconst errors = [] as Error[]\n\t\t\t\n\t\t\tfor( const type of sub ) {\n\n\t\t\t\tlet hidden = $.$mol_fail_hidden\n\n\t\t\t\ttry {\n\n\t\t\t\t\t$.$mol_fail = $.$mol_fail_hidden\n\n\t\t\t\t\treturn type( val ) as ReturnType< Sub[ number ] >\n\n\t\t\t\t} catch ( error ) {\n\n\t\t\t\t\t$.$mol_fail = hidden\n\n\t\t\t\t\tif( error instanceof $mol_data_error ) {\n\t\t\t\t\t\terrors.push( error )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_fail_hidden( error )\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn $mol_fail( new $mol_data_error( `${val} is not any of variants` , ... errors ) )\n\n\t\t} , sub )\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst Bands_matrix = $mol_data_record({\n\t\tbands: $mol_data_array( $mol_data_array( $mol_data_number ) ),\n\t\tkpoints: $mol_data_array( $mol_data_array( $mol_data_number ) ),\n\t})\n\ttype Bands_matrix = ReturnType\n\n\tconst Dos_matrix = $mol_data_record({\n\t\tdos: $mol_data_array( $mol_data_number ),\n\t\tlevels: $mol_data_array( $mol_data_number ),\n\t})\n\ttype Dos_matrix = ReturnType\n\n\texport const $visavis_eigen_json = $mol_data_record( {\n\t\tsample: $mol_data_record( {\n\t\t\tmaterial: $mol_data_record( {\n\t\t\t\tchemical_formula: $mol_data_string,\n\t\t\t\tchemical_elements: $mol_data_array( $mol_data_string ),\n\t\t\t\tcondition: $mol_data_array( $mol_data_record( {\n\t\t\t\t\tscalar: $mol_data_array( $mol_data_record( { value: $mol_data_number } ) ),\n\t\t\t\t\tname: $mol_data_string,\n\t\t\t\t\tunits: $mol_data_optional( $mol_data_string ),\n\t\t\t\t}) ),\n\t\t\t\tphase: $mol_data_string,\n\t\t\t\tphase_id: $mol_data_number,\n\t\t\t\tentry: $mol_data_string,\n\t\t\t\tobject_repr: $mol_data_optional( $mol_data_string),\n\t\t\t}),\n\t\t\tmeasurement: $mol_data_array( $mol_data_record( {\n\t\t\t\tdata_type: $mol_data_string, //enum: [\"peer_reviewed\", \"machine_learning\", \"ab_initio\"]\n\t\t\t\tproperty: $mol_data_record( {\n\t\t\t\t\tunits: $mol_data_string,\n\t\t\t\t\tscalar: $mol_data_optional( $mol_data_variant( $mol_data_string, $mol_data_number ) ),\n\t\t\t\t\tmatrix: $mol_data_variant(\n\t\t\t\t\t\tBands_matrix,\n\t\t\t\t\t\tDos_matrix,\n\t\t\t\t\t),\n\t\t\t\t\tname: $mol_data_string,\n\t\t\t\t\tcategory: $mol_data_string,\n\t\t\t\t\tdomain: $mol_data_string,\n\t\t\t\t}),\n\t\t\t\tcondition: $mol_data_optional( $mol_data_array( $mol_data_record( {\n\t\t\t\t\tunits: $mol_data_string,\n\t\t\t\t\tscalar: $mol_data_number,\n\t\t\t\t\t// range: {},\n\t\t\t\t\tname: $mol_data_string,\n\t\t\t\t\trefers_to: $mol_data_optional( $mol_data_string ),\n\t\t\t\t} ) ) ),\n\t\t\t\traw_data: $mol_data_optional( $mol_data_string ),\n\t\t\t}) ),\n\t\t}),\n\t\tversion: $mol_data_string,\n\t\tobject_type: $mol_data_string,\n\t\treference: $mol_data_record( {\n\t\t\tentry: $mol_data_string,\n\t\t\tphase: $mol_data_optional( $mol_data_string ),\n\t\t}),\n\t})\n\n\texport class $visavis_eigen extends $.$visavis_eigen {\n\n\t\tjson() {\n\t\t\treturn $visavis_eigen_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tbands_matrix(): Bands_matrix | null {\n\t\t\tconst matrix = this.json().sample.measurement[0].property.matrix as Bands_matrix;\n\t\t\tif (matrix.bands){\n\t\t\t\treturn matrix\n\t\t\t} else {\n\t\t\t\treturn null\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdos_matrix(): Dos_matrix | null {\n\t\t\tconst matrix = this.json().sample.measurement[0].property.matrix as Dos_matrix;\n\t\t\tif (matrix.dos){\n\t\t\t\treturn matrix\n\t\t\t} else {\n\t\t\t\treturn null\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n\t\t\t// if (visavis.mpds_embedded) document.getElementById('cross').style.display = 'block';\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\tconst dataset = [];\n\n\t\t\tconst bands_matrix = this.bands_matrix()\n\t\t\tconst dos_matrix = this.dos_matrix()\n\n\t\t\tif (bands_matrix){\n\t\t\t\tfor (let i = 0; i < bands_matrix.bands.length; i++){\n\t\t\t\t\tdataset.push({\n\t\t\t\t\t\tx: $lib_d3.all().range(bands_matrix.bands[i].length),\n\t\t\t\t\t\ty: bands_matrix.bands[i],\n\t\t\t\t\t\tmode: \"lines\",\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmarker: {color: \"#000\"}\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t} else if (dos_matrix) {\n\t\t\t\tdataset.push({\n\t\t\t\t\tx: dos_matrix.levels,\n\t\t\t\t\ty: dos_matrix.dos,\n\t\t\t\t\tmode: \"lines\",\n\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\tmarker: {color: \"#000\"}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// return notify('Cannot get plot data, please, try again');\n\t\t\t\t// ^ it will be validated id $visavis_eigen_json()\n\t\t\t}\n\n\t\t\treturn dataset\t\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\n\t\t\tconst bands_matrix = this.bands_matrix()\n\n\t\t\tlet xaxis: Object = {}\n\t\t\tlet x_title = ''\n\t\t\tlet y_title = ''\n\n\t\t\tif (bands_matrix){\n\t\t\t\tconst x_labels = [];\n\t\t\t\tfor (let i = 0; i < bands_matrix.kpoints.length; i++){\n\t\t\t\t\tx_labels.push( (bands_matrix.kpoints[i][0] == 0 && bands_matrix.kpoints[i][1] == 0 && bands_matrix.kpoints[i][2] == 0) ? 'Г' : '' );\n\t\t\t\t}\n\t\t\t\tx_title = 'k'\n\t\t\t\ty_title = 'E - EF, eV'\n\t\t\t\txaxis = {\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tzeroline: false,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\ttickmode: 'array',\n\t\t\t\t\ttickvals: $lib_d3.all().range(bands_matrix.kpoints.length),\n\t\t\t\t\tticktext: x_labels,\n\t\t\t\t\ttickfont: {size: 20}\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tx_title = 'E - EF, eV'\n\t\t\t\ty_title = 'Total density of states'\n\t\t\t\txaxis = {\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tzeroline: false,\n\t\t\t\t\tshowgrid: true,\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\ttitle: x_title\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tshowlegend: false,\n\t\t\t\txaxis: xaxis,\n\t\t\t\tyaxis: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tzeroline: true,\n\t\t\t\t\tzerolinecolor: '#6cf',\n\t\t\t\t\tzerolinewidth: 3,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\ttitle: y_title\n\t\t\t\t},\n\t\t\t\tfont: {family: \"Exo2\", size: 13}\n\t\t\t}\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\texport class $visavis_pie extends $visavis_plot_plotly {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * colorset /\n\t\t * \t\\#3e3f95\n\t\t * \t\\#c00\n\t\t * \t\\#FE9A2E\n\t\t * \t\\#090\n\t\t * \t\\#f0f\n\t\t * \t\\#09f\n\t\t * \t\\#666\n\t\t * \t\\#0f3\n\t\t * \t\\#0ff\n\t\t * \t\\#90c\n\t\t * ```\n\t\t */\n\t\tcolorset() {\n\t\t\treturn [\n\t\t\t\t\"#3e3f95\",\n\t\t\t\t\"#c00\",\n\t\t\t\t\"#FE9A2E\",\n\t\t\t\t\"#090\",\n\t\t\t\t\"#f0f\",\n\t\t\t\t\"#09f\",\n\t\t\t\t\"#666\",\n\t\t\t\t\"#0f3\",\n\t\t\t\t\"#0ff\",\n\t\t\t\t\"#90c\"\n\t\t\t] as readonly any[]\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\t/**\n\t * Checks for value of given enum and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_enum_demo\n\t */\n\texport function $mol_data_enum<\n\t\tDict extends Record< number | string , number | string >\n\t>( name : string , dict : Dict ) {\n\n\t\ttype Value = Dict[ keyof Dict ]\n\n\t\tconst index = {} as Record< Value , keyof Dict >\n\n\t\tfor( let key in dict ) {\n\t\t\tif( Number.isNaN( Number( key ) ) ) {\n\t\t\t\tindex[ dict[ key ] ] = key\n\t\t\t}\n\t\t}\n\n\t\treturn $mol_data_setup( ( value : Value ) => {\n\n\t\t\tif ( typeof index[ value ] !== 'string' ) {\n\t\t\t\treturn $mol_fail( new $mol_data_error( `${value} is not value of ${name} enum` ) )\n\t\t\t}\n\n\t\t\treturn value\n\n\t\t} , { name , dict } )\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst Facet_names = {props: 'properties', elements: 'elements', classes: 'classes', lattices: 'crystal systems'} as const\n\n\texport const $visavis_pie_json = $mol_data_record( {\n\t\tpayload: $mol_data_array( $mol_data_record( {\n\t\t\tfacet: $mol_data_enum( 'facet', {props: 'props', elements: 'elements', classes: 'classes', lattices: 'lattices'} as const ),\n\t\t\tvalue: $mol_data_string,\n\t\t\tcount: $mol_data_number,\n\t\t} ) ),\n\t\ttotal_count: $mol_data_number,\n\t})\n\n\n\t// Get pre-define coordinates for piechart labels (FIXME?)\n\tfunction locate_label(values: number[][]){\n\t\tlet x = 0\n\t\tlet y = 0\n\t\tconst left = values[0]\n\t\tconst top = values[1]\n\n\t\tif (left[0] == 0 && left[1] == 0.32) x = 0.08;\n\t\telse if (left[0] == 0.67 && left[1] == 1) x = 0.92;\n\t\telse if (left[0] == 0 && left[1] == 0.49) x = 0.17;\n\t\telse if (left[0] == 0.51 && left[1] == 1) x = 0.83;\n\t\telse x = left.reduce(function(a, b){ return a + b }, 0)/2; // avg\n\n\t\ty = top[0];\n\t\tif (y <= 0.03) y = 0;\n\t\telse if (y == 0.34) y = 0.318;\n\t\telse if (y == 0.53) y = 0.51;\n\n\t\treturn {x: x, y: y};\n\t}\n\n\texport class $visavis_pie extends $.$visavis_pie {\n\n\t\tjson() {\n\t\t\treturn $visavis_pie_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n\t\t\t// warn_demo();\n\t\t\t// if (visavis.mpds_embedded) document.getElementById('expander').style.display = 'block';\n\n\t\t\t// Plotly.d3.selectAll('g.slice').on({'click': function(evt){\n\t\t\t// var value = evt.text.split(' -1) return;\n\t\t\t// visavis.evtfuse = 0;\n\t\t\t// for (var p in visavis.facet_names){\n\t\t\t// if (visavis.facet_names[p] == name) found_fct = p;\n\t\t\t// }\n\t\t\t// if (!found_fct) return;\n\t\t\t// if (found_fct == 'elements') value = value.replace(/,\\s/g, '-'); // FIXME?\n\t\t\t// if (visavis.mpds_embedded) window.parent.location.hash = window.parent.wmgui.aug_search_cmd(found_fct, value);\n\t\t\t// } else {\n\t\t\t// if (value.indexOf('other ') > -1) return;\n\t\t\t// if (visavis.evtfuse > 1) return;\n\t\t\t// visavis.evtfuse = visavis.evtfuse ? visavis.evtfuse + 1 : 1;\n\t\t\t// visavis.evtbuff = value;\n\t\t\t// var reevt = document.createEvent('Event');\n\t\t\t// reevt.initEvent('click', false, true);\n\t\t\t// Plotly.d3.select(this.parentNode.firstChild).node().dispatchEvent(reevt);\n\t\t\t// }\n\t\t\t// }});\n\t\t}\n\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\n\t\t\tconst data = this.data()\n\t\t\tconst tot_count = this.tot_count()\n\t\t\tconst xy_domains = this.xy_domains()\n\n\t\t\tconst annotations_layout = {showarrow: false, font: {size: 13, family: \"Exo2\"}, borderpad: 0, bgcolor: '#fff'}\n\t\t\tconst annotations = data.map((pie, loc_count) => {\n\t\t\t\tlet label = pie.name + ' distribution';\n\t\t\t\tlabel = 'Fig. ' + (loc_count+1) + '. ' + label.charAt(0).toUpperCase() + label.slice(1);\n\t\t\t\treturn Object.assign({text: label}, locate_label(xy_domains[tot_count]![loc_count]), annotations_layout);\n\t\t\t})\n\n\t\t\treturn {showlegend: false, font: {family: \"Exo2\"}, annotations}\n\t\t}\n\n\t\t@ $mol_mem\n\t\txy_domains() {\n\t\t\treturn [\n\t\t\t\tnull,\n\t\t\t\t[[[0, 1], [0.03, 1]]],\n\t\t\t\t[[[0, 0.49], [0, 1]], [[0.51, 1], [0, 1]]],\n\t\t\t\t[[[0, 0.49], [0.53, 1]], [[0.51, 1], [0.53, 1]], [[0, 0.49], [0.03, 0.49]]],\n\t\t\t\t[[[0, 0.49], [0.53, 1]], [[0.51, 1], [0.53, 1]], [[0, 0.49], [0.03, 0.49]], [[0.51, 1], [0.03, 0.49]]],\n\t\t\t\t[[[0, 0.32], [0.51, 1]], [[0.33, 0.66], [0.51, 1]], [[0.67, 1], [0.51, 1]], [[0, 0.32], [0, 0.49]], [[0.33, 0.66], [0, 0.49]]],\n\t\t\t\t[[[0, 0.32], [0.51, 1]], [[0.33, 0.66], [0.51, 1]], [[0.67, 1], [0.51, 1]], [[0, 0.32], [0, 0.49]], [[0.33, 0.66], [0, 0.49]], [[0.67, 1], [0, 0.49]]],\n\t\t\t\t[[[0, 0.32], [0.68, 1]], [[0.33, 0.66], [0.68, 1]], [[0.67, 1], [0.68, 1]], [[0, 0.32], [0.34, 0.65]], [[0.33, 0.66], [0.34, 0.65]], [[0.67, 1], [0.34, 0.65]], [[0, 0.32], [0.02, 0.31]]],\n\t\t\t\t[[[0, 0.32], [0.68, 1]], [[0.33, 0.66], [0.68, 1]], [[0.67, 1], [0.68, 1]], [[0, 0.32], [0.34, 0.65]], [[0.33, 0.66], [0.34, 0.65]], [[0.67, 1], [0.34, 0.65]], [[0, 0.32], [0.02, 0.31]], [[0.33, 0.66], [0.02, 0.31]]]\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tenter_metrics() {\n\t\t\treturn this.json().total_count/150\n\t\t}\n\n\t\t@ $mol_mem\n\t\ttot_count() {\n\t\t\tlet tot_count = 0\n\n\t\t\tconst json = this.json()\n\t\t\tconst enter_metrics = this.enter_metrics()\n\t\t\tlet recent_facet: null | keyof typeof Facet_names = null;\n\n\t\t\tfor (let i = 0; i < json.payload.length; i++){\n\t\t\t\tif (json.payload[i].count < enter_metrics || json.payload[i].count > (json.total_count - enter_metrics)) continue;\n\t\t\n\t\t\t\tif (json.payload[i].facet == \"classes\") tot_count++;\n\t\t\t\telse {\n\t\t\t\t\tif (json.payload[i].facet != recent_facet) tot_count++;\n\t\t\t\t\trecent_facet = json.payload[i].facet;\n\t\t\t\t}\n\t\t\t}\n\t\t\n\t\t\tif (!tot_count) return $mol_fail( new $mol_data_error('Warning: not enough data for analysis') )\n\t\t\treturn tot_count\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\n\t\t\tconst json = this.json()\n\n\t\t\tif (!json.total_count || json.total_count == 1) {\n\t\t\t\treturn $mol_fail( new $mol_data_error('Warning: not enough data for analysis') )\n\t\t\t}\n\n\t\t\tconst data: any[] = []\n\t\t\tconst classes = []\n\t\t\tconst tot_count = this.tot_count()\n\t\t\tconst xy_domains = this.xy_domains()\n\t\t\tconst enter_metrics = this.enter_metrics()\n\t\t\n\t\t\tlet recent_facet: null | keyof typeof Facet_names = null;\n\t\t\n\t\t\tlet loc_count = 0\n\t\t\tfor (let i = 0; i < json.payload.length; i++){\n\t\t\t\tif (json.payload[i].count < enter_metrics || json.payload[i].count > (json.total_count - enter_metrics)) continue;\n\t\t\n\t\t\t\t// special case of interlacing classes\n\t\t\t\tif (json.payload[i].facet == \"classes\"){\n\t\t\t\t\tclasses.push({\n\t\t\t\t\t\ttype: \"pie\",\n\t\t\t\t\t\tname: Facet_names[json.payload[i].facet],\n\t\t\t\t\t\tvalues: [json.payload[i].count, json.total_count - json.payload[i].count],\n\t\t\t\t\t\ttext: [json.payload[i].value, \"other classes\"],\n\t\t\t\t\t\tdomain: {x: xy_domains[tot_count]![loc_count][0], y: xy_domains[tot_count]![loc_count][1]},\n\t\t\t\t\t\thoverinfo: \"text+percent+name\",\n\t\t\t\t\t\ttextinfo: \"text+percent\",\n\t\t\t\t\t\ttextposition: \"inside\",\n\t\t\t\t\t\thole: 0.3/tot_count,\n\t\t\t\t\t\tmarker: {colors: this.colorset()}\n\t\t\t\t\t});\n\t\t\t\t\tloc_count++;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\n\t\t\t\t// other facets\n\t\t\t\tif (json.payload[i].facet != recent_facet){\n\t\t\t\t\tif (recent_facet){\n\t\t\t\t\t\t// rest of data, not loaded\n\t\t\t\t\t\tconst sum = data[data.length - 1].values.reduce(function(a: number, b: number){ return a + b }, 0);\n\t\t\t\t\t\tif (sum < json.total_count){\n\t\t\t\t\t\t\tdata[data.length - 1].values.push(json.total_count - sum);\n\t\t\t\t\t\t\tdata[data.length - 1].text.push(\"other \" + Facet_names[recent_facet]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (loc_count > 8) break;\n\t\t\t\t\tdata.push({\n\t\t\t\t\t\ttype: \"pie\",\n\t\t\t\t\t\tname: Facet_names[json.payload[i].facet],\n\t\t\t\t\t\tvalues: [],\n\t\t\t\t\t\ttext: [],\n\t\t\t\t\t\tdomain: {x: xy_domains[tot_count]![loc_count][0], y: xy_domains[tot_count]![loc_count][1]},\n\t\t\t\t\t\thoverinfo: \"text+percent+name\",\n\t\t\t\t\t\ttextinfo: \"text+percent\",\n\t\t\t\t\t\ttextposition: \"inside\",\n\t\t\t\t\t\thole: 0.3/tot_count,\n\t\t\t\t\t\tmarker: {colors: this.colorset()}\n\t\t\t\t\t});\n\t\t\t\t\tloc_count++;\n\t\t\t\t}\n\t\t\n\t\t\t\trecent_facet = json.payload[i].facet;\n\t\t\t\tdata[data.length - 1].values.push(json.payload[i].count);\n\t\t\t\tdata[data.length - 1].text.push(json.payload[i].value);\n\t\t\t}\n\t\t\tif (data.length){\n\t\t\t\t// NB FIXME once again: rest of data, not loaded\n\t\t\t\tconst sum = data[data.length - 1].values.reduce(function(a: number, b: number){ return a + b }, 0);\n\t\t\t\tif (sum < json.total_count){\n\t\t\t\t\tdata[data.length - 1].values.push(json.total_count - sum);\n\t\t\t\t\tdata[data.length - 1].text.push(\"other \" + Facet_names[recent_facet!]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (classes) data.push(...classes);\n\n\t\t\treturn data\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport class $visavis_scatter extends $visavis_plot_plotly {\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\texport const $visavis_scatter_json = $mol_data_record( {\n\t\tsample: $mol_data_record( {\n\t\t\tmaterial: $mol_data_record( {\n\t\t\t\tchemical_formula: $mol_data_string,\n\t\t\t\tchemical_elements: $mol_data_array( $mol_data_string ),\n\t\t\t\tcondition: $mol_data_array( $mol_data_record( {\n\t\t\t\t\tscalar: $mol_data_array( $mol_data_record( { value: $mol_data_number } ) ),\n\t\t\t\t\tname: $mol_data_string,\n\t\t\t\t\tunits: $mol_data_optional( $mol_data_string ),\n\t\t\t\t}) ),\n\t\t\t\tphase: $mol_data_string,\n\t\t\t\tphase_id: $mol_data_number,\n\t\t\t\tentry: $mol_data_string,\n\t\t\t\tobject_repr: $mol_data_optional( $mol_data_string),\n\t\t\t}),\n\t\t\tmeasurement: $mol_data_array( $mol_data_record( {\n\t\t\t\tdata_type: $mol_data_string, //enum: [\"peer_reviewed\", \"machine_learning\", \"ab_initio\"]\n\t\t\t\tproperty: $mol_data_record( {\n\t\t\t\t\tunits: $mol_data_string,\n\t\t\t\t\tscalar: $mol_data_optional( $mol_data_variant( $mol_data_string, $mol_data_number ) ),\n\t\t\t\t\tmatrix: $mol_data_array( $mol_data_array( $mol_data_number ) ),\n\t\t\t\t\tname: $mol_data_string,\n\t\t\t\t\tcategory: $mol_data_string,\n\t\t\t\t\tdomain: $mol_data_string,\n\t\t\t\t}),\n\t\t\t\tcondition: $mol_data_optional( $mol_data_array( $mol_data_record( {\n\t\t\t\t\tunits: $mol_data_string,\n\t\t\t\t\tscalar: $mol_data_number,\n\t\t\t\t\t// range: {},\n\t\t\t\t\tname: $mol_data_string,\n\t\t\t\t\trefers_to: $mol_data_optional( $mol_data_string ),\n\t\t\t\t} ) ) ),\n\t\t\t\traw_data: $mol_data_optional( $mol_data_string ),\n\t\t\t}) ),\n\t\t}),\n\t\tversion: $mol_data_string,\n\t\tobject_type: $mol_data_string,\n\t\treference: $mol_data_record( {\n\t\t\tentry: $mol_data_string,\n\t\t\tphase: $mol_data_optional( $mol_data_string ),\n\t\t}),\n\t})\n\texport class $visavis_scatter extends $.$visavis_scatter {\n\n\t\tjson() {\n\t\t\t// notify('Cannot get plot data, please, try again');\n\t\t\treturn $visavis_scatter_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n // if (visavis.mpds_embedded) document.getElementById('cross').style.display = 'block';\n\t\t}\n\n\t\t@ $mol_mem\n\t\tp_data() {\n\t\t\treturn this.json().sample.measurement[0].property.matrix.map( item => item[0] )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tt_data() {\n\t\t\treturn this.json().sample.measurement[0].property.matrix.map( item => item[1] )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tp_data_sum() {\n\t\t\treturn this.p_data().reduce( (a, b) => a + b, 0 )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tt_data_sum() {\n\t\t\treturn this.t_data().reduce( (a, b) => a + b, 0 )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tx_data_type() {\n\t\t\tconst p_data = this.p_data()\n\t\t\tconst p_data_sum = this.p_data_sum()\n\t\t\tconst t_data = this.t_data()\n\t\t\tconst t_data_sum = this.t_data_sum()\n\t\t\tif (Math.abs(t_data[0] - t_data_sum/t_data.length) < 0.1 && Math.abs(p_data[0] - p_data_sum/p_data.length) > 0.1){\n\t\t\t\treturn 'pressure'\n\t\t\t} else if (Math.abs(t_data[0] - t_data_sum/t_data.length) > 0.1 && Math.abs(p_data[0] - p_data_sum/p_data.length) > 0.1){\n\t\t\t\treturn $mol_fail( new $mol_data_error('Sorry, plotting both temperature and pressure is not yet supported') )\n\t\t\t\t// return 'pressure and temperature'\n\t\t\t} else {\n\t\t\t\treturn 'temperature'\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tx_data() {\n\t\t\tswitch (this.x_data_type()) {\n\t\t\t\tcase 'pressure':\n\t\t\t\t\treturn this.p_data()\n\t\t\t\tcase 'temperature':\n\t\t\t\t\treturn this.t_data()\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tx_title() {\n\t\t\tconst dict = {\n\t\t\t\t'pressure': 'P, Gpa',\n\t\t\t\t'temperature': 'T, K',\n\t\t\t} as const\n\n\t\t\treturn dict[ this.x_data_type() ]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\tconst json = this.json()\n\n\t\t\tconst x_data = this.x_data()\n\t\t\n\t\t\tconst array = json.sample.measurement[0].property.matrix;\n\t\t\tif (array[0][2] == array[0][3] && array[0][3] == array[0][4]){\n\t\t\t\t// cubic\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\t\tname: \"a\",\n\t\t\t\t\t\tx: x_data,\n\t\t\t\t\t\ty: array.map(function(item){ return item[2] }),\n\t\t\t\t\t\tmarker: {color: \"#3e3f95\", symbol: \"square\", size: 8}\n\t\t\t\t\t}\n\t\t\t\t];\n\t\t\t} else if (array[0][2] == array[0][3] && array[0][3] != array[0][4]){\n\t\t\t\t// tetragonal, hexagonal, trigonal\n\t\t\t\tconst delta_a = array[0][4] - array[0][2];\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\t\tname: \"a\",\n\t\t\t\t\t\tx: x_data,\n\t\t\t\t\t\ty: array.map(function(item){ return item[2] }),\n\t\t\t\t\t\tmarker: {color: \"#3e3f95\", symbol: \"square\", size: 8}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\t\tname: \"b\",\n\t\t\t\t\t\tx: x_data,\n\t\t\t\t\t\ty: array.map(function(item){ return item[4] - delta_a }),\n\t\t\t\t\t\tmarker: {color: \"#E36868\", symbol: \"circle\", size: 7}\n\t\t\t\t\t}\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// orthorhombic, monoclinic, triclinic\n\t\t\t\tconst delta_a = array[0][4] - array[0][2]\n\t\t\t\tconst delta_b = array[0][3] - array[0][2]\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\t\tname: \"a\",\n\t\t\t\t\t\tx: x_data,\n\t\t\t\t\t\ty: array.map(function(item){ return item[2] }),\n\t\t\t\t\t\tmarker: {color: \"#3e3f95\", symbol: \"square\", size: 8}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\t\tname: \"b\",\n\t\t\t\t\t\tx: x_data,\n\t\t\t\t\t\ty: array.map(function(item){ return item[3] - delta_b }),\n\t\t\t\t\t\tmarker: {color: \"#E36868\", symbol: \"circle\", size: 7}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\t\tname: \"c\",\n\t\t\t\t\t\tx: x_data,\n\t\t\t\t\t\ty: array.map(function(item){ return item[4] - delta_a }),\n\t\t\t\t\t\tmarker: {color: \"#acc2b3\", symbol: \"diamond\", size: 7}\n\t\t\t\t\t}\n\t\t\t\t];\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\n\t\t\tconst array = this.json().sample.measurement[0].property.matrix;\n\t\t\tlet y_comment = '';\n\t\t\tif (array[0][2] == array[0][3] && array[0][3] == array[0][4]){\n\t\t\t\t// cubic\n\t\t\t} else if (array[0][2] == array[0][3] && array[0][3] != array[0][4]){\n\t\t\t\t// tetragonal, hexagonal, trigonal\n\t\t\t\ty_comment = ' (diff.)';\n\t\t\t} else {\n\t\t\t\t// orthorhombic, monoclinic, triclinic\n\t\t\t\ty_comment = ' (diff.)';\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tshowlegend: true,\n\t\t\t\tlegend: {x: 100, y: 1, font: {family: \"Exo2\", size: 14}},\n\t\t\t\txaxis: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: true,\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tzeroline: false,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\ttitle: this.x_title()\n\t\t\t\t},\n\t\t\t\tyaxis: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: true,\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tzeroline: false,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\ttitle: 'Cell parameters' + y_comment + ', A'\n\t\t\t\t},\n\t\t\t\tfont: {family: \"Exo2\", size: 13}\n\t\t\t}\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\texport class $visavis_customscatter extends $visavis_plot_plotly {\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\texport const $visavis_customscatter_json = $mol_data_record({\n\t\tplots: $mol_data_array(\n\t\t\t$mol_data_record( {\n\t\t\t\tname: $mol_data_string,\n\t\t\t\ttype: $mol_data_string,\n\t\t\t\tmode: $mol_data_string,\n\t\t\t\tinterpolation: $mol_data_string,\n\t\t\t\tx: $mol_data_array( $mol_data_number ),\n\t\t\t\ty: $mol_data_array( $mol_data_number ),\n\t\t\t} )\n\t\t),\n\t\txtitle: $mol_data_optional( $mol_data_string ),\n\t\tytitle: $mol_data_optional( $mol_data_string ),\n\t\txlog: $mol_data_nullable( $mol_data_boolean ),\n\t\tylog: $mol_data_nullable( $mol_data_boolean ),\n\t})\n\n\texport class $visavis_customscatter extends $.$visavis_customscatter {\n\n\t\tjson() {\n\t\t\treturn $visavis_customscatter_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n // // document.getElementById('visavis').on('plotly_legendclick', function(){ return false }); // requires at least v1.37\n // // yet another iframe communication API for mpds-labs via postMessage\n // // API CORRECT\n // if (window.parent) window.parent.postMessage({type: 'nplots', nplots: json.plots.length}, '*');\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\t\t\tconst json = this.json()\n\t\t\treturn {\n\t\t\t\tshowlegend: true,\n\t\t\t\tlegend: {x: 100, y: 1, font: {family: \"Exo2\", size: 14}},\n\t\t\t\txaxis: {\n\t\t\t\t\ttype: json.xlog ? 'log' : '-',\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: true,\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tzeroline: true,\n\t\t\t\t\tzerolinecolor: '#999',\n\t\t\t\t\tzerolinewidth: 0.5,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\ttitle: json.xtitle\n\t\t\t\t},\n\t\t\t\tyaxis: {\n\t\t\t\t\ttype: json.ylog ? 'log' : '-',\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: true,\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tzeroline: true,\n\t\t\t\t\tzerolinecolor: '#999',\n\t\t\t\t\tzerolinewidth: 0.5,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\ttitle: json.ytitle\n\t\t\t\t},\n\t\t\t\tfont: {family: \"Exo2\", size: 13},\n\t\t\t\tmargin: {\n\t\t\t\t\tt: 0,\n\t\t\t\t\tr: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\tconst json = this.json()\n\n\t\t\treturn json.plots\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\texport class $visavis_heatmap extends $visavis_plot_plotly {\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\t// export const $visavis_heatmap_json = \n\n\texport class $visavis_heatmap extends $.$visavis_heatmap {\n\n\t\tjson() {\n\t\t\treturn this.plot().json() as any\n\t\t\t// return $visavis_heatmap_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\t\t\treturn {\n\t\t\t\tshowlegend: false,\n\t\t\t\thovermode: \"closest\",\n\t\t\t\txaxis: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\tshowline: true, //false,\n\t\t\t\t\tzeroline: false, //true,\n\t\t\t\t\tshowticklabels: false\n\t\t\t\t},\n\t\t\t\txaxis2: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\tshowline: true, //false,\n\t\t\t\t\tzeroline: false, //true,\n\t\t\t\t\tshowticklabels: false,\n\t\t\t\t\tside: \"top\",\n\t\t\t\t\toverlaying: 'x'\n\t\t\t\t},\n\t\t\t\tyaxis: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\tshowline: true, //false,\n\t\t\t\t\tzeroline: false, //true,\n\t\t\t\t\tshowticklabels: false\n\t\t\t\t},\n\t\t\t\tyaxis2: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\tshowline: true, //false,\n\t\t\t\t\tzeroline: false, //true,\n\t\t\t\t\tshowticklabels: false,\n\t\t\t\t\tside: \"right\",\n\t\t\t\t\toverlaying: 'y'\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\n\t\t\tconst json = this.json()\n\n\t\t\tlet data_x = json.payload.x\n\t\t\tlet data_y = json.payload.y\n\t\t\tlet data_z = json.payload.z\n\n\t\t\tif (!json.odet) {\n\t\t\t\tconst dice = Math.floor(Math.random() * 100) % 3;\n\t\t\t\tif (dice === 0){\n\t\t\t\t\tdata_x = json.payload.x\n\t\t\t\t\tdata_y = json.payload.y\n\t\t\t\t\tdata_z = json.payload.z\n\t\t\t\t} else if (dice === 1){\n\t\t\t\t\tdata_x = json.payload.x\n\t\t\t\t\tdata_y = json.payload.z\n\t\t\t\t\tdata_z = json.payload.y\n\t\t\t\t} else {\n\t\t\t\t\tdata_x = json.payload.y\n\t\t\t\t\tdata_y = json.payload.z\n\t\t\t\t\tdata_z = json.payload.x\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\thoverinfo: \"text\",\n\t\t\t\t\tx: data_x,\n\t\t\t\t\ty: data_y,\n\t\t\t\t\ttext: json.payload.labels || Array(data_x.length).fill('Point'),\n\t\t\t\t\tmarker: {color: data_z, colorscale: 'Rainbow', size: 4, opacity: 0.9}\n\t\t\t\t},\n\t\t\t\t{x: [], y: [], type: 'scatter', xaxis: 'x', yaxis: 'y'},\n\t\t\t\t{x: [], y: [], type: 'scatter', xaxis: 'x2', yaxis: 'y2'}\n\t\t\t]\t\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\texport class $visavis_graph extends $mol_book2 {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot $visavis_plot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tplot() {\n\t\t\tconst obj = new this.$.$visavis_plot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages / <= Plot\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Plot()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_title \\\n\t\t * ```\n\t\t */\n\t\tplot_title() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * draw null\n\t\t * ```\n\t\t */\n\t\tdraw() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Root $mol_view auto <= draw\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tRoot() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.auto = () => this.draw()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_body / <= Root\n\t\t * ```\n\t\t */\n\t\tplot_body() {\n\t\t\treturn [\n\t\t\t\tthis.Root()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot $mol_page\n\t\t * \ttitle <= plot_title\n\t\t * \tbody <= plot_body\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPlot() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.plot_title()\n\t\t\tobj.body = () => this.plot_body()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\tconst Link = $mol_data_record({\n\t\tsource: $mol_data_string,\n\t\ttype: $mol_data_string,\n\t\ttarget: $mol_data_variant( $mol_data_string, $mol_data_number ),\n\t})\n\n\ttype Link = ReturnType\n\n\ttype Node = {\n\t\tname: string\n\t\tindex?: number\n\t\tpx?: number\n\t\tpy?: number\n\t\tweight?: number\n\t\tx?: number\n\t\ty?: number\n\t}\n\n\ttype Edge = {\n\t\tsource: Node,\n\t\ttype: string,\n\t\ttarget: Node,\n\t}\n\n\texport const $visavis_graph_json = $mol_data_record({\n\t\terror: $mol_data_nullable( $mol_data_string ),\n\t\twarning: $mol_data_nullable( $mol_data_string ),\n\t\tgraph_rel: $mol_data_string,\n\t\tpayload: $mol_data_array( Link ),\n\t})\n\n\texport class $visavis_graph extends $.$visavis_graph {\n\n\t\t@ $mol_mem\n\t\tjson() {\n\t\t\treturn $visavis_graph_json( this.plot().json() as any )\n\t\t}\n\t\t\n\t\tplot_title() {\n\t\t\treturn this.plot().id()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\tconst json = this.json()\n\n\t\t\tconst nodes: Record = {}\n\t\t\tconst edges: Edge[] = []\n\n\t\t\tconst labels: Record = {}\n\t\t\tconst radii: Record = {}\n\t\t\tconst foci: Record = {}\n\t\t\tlet counter = 0\n\t\t\n\t\t\tconst visavis_cache = {ref: json.payload, type: 'graph'};\n\t\t\tconst visavis_graph_default_rel = json.graph_rel || 'prel';\n\t\t\n\t\t\t// filter edges and compute the distinct nodes from the links\n\t\t\tvisavis_cache.ref.forEach( (link) => {\n\t\t\t\tif (link.type == visavis_graph_default_rel){\n\t\t\t\t\tfoci[link.source] = link.source.substr(0, 1); // setting default color\n\t\t\t\t\tconst sourceNode = nodes[link.source] || (nodes[link.source] = {name: link.source});\n\t\t\t\t\tconst targetNode = nodes[link.target] || (nodes[link.target] = {name: String(link.target)});\n\t\t\t\t\tconst lrep = { source: sourceNode, type: link.type, target: targetNode };\n\t\t\t\t\tedges.push(lrep);\n\t\t\t\t\tcounter++;\n\t\t\n\t\t\t\t} else if (link.type == 'label'){\n\t\t\t\t\tlabels[link.source] = String(link.target);\n\t\t\n\t\t\t\t} else if (link.type == 'radius'){\n\t\t\t\t\tconst radius = Math.min($mol_data_number(link.target as number), 36)\n\t\t\t\t\t// link.target = radius;\n\t\t\t\t\tradii[link.source] = radius + 2;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (!counter) return $mol_fail( new $mol_data_error('Warning: nothing to show') )\n\t\t\n\t\t\tconst circle_cls = visavis_graph_default_rel.substr(0, 1)\n\t\t\tconst text_cls = (counter > 25) ? \"micro\" : \"macro\"\n\t\t\t\n\t\t\tconst table: Record = {}\n\n\t\t\tObject.keys(nodes).forEach( ( p,i ) => {\n\t\t\t\ttable[p] = i++;\n\t\t\t})\n\n\t\t\treturn { nodes, edges, labels, radii, foci, table, circle_cls, text_cls }\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdraw() {\n\t\t\t// const predefined_h;\n\t\t\t// if (window.location.hash.indexOf('visavis_height=') !== -1){\n\t\t\t// \t// internal client-only URL param (to be ignored by the server)\n\t\t\t// \tpredefined_h = window.location.hash.split('visavis_height=');\n\t\t\t// \tpredefined_h = predefined_h[predefined_h.length - 1];\n\t\t\t// \tpredefined_h = parseInt(predefined_h.split('&')[0]);\n\t\t\t// }\n\t\t\t// var width = predefined_h ? document.body.clientWidth : document.body.clientWidth - 15,\n\t\t\t// \theight = predefined_h || parseInt(0.8 * width);\n\t\t\n\t\t\t// reset_canvas();\n\t\t\n\t\t\tconst { nodes, edges, labels, radii, foci, table, circle_cls, text_cls } = this.data()\n\t\t\t\n\t\t\tconst d3 = $visavis_lib.d3()\n\t\t\tconst svg = d3.select('[visavis_graph_root]').append('svg')\n\t\t\t\t// .attr(\"width\", width)\n\t\t\t\t// .attr(\"height\", height);\n\t\t\n\t\t\tconst visavis_force = d3.layout.force()\n\t\t\t\t// .size([width, height])\n\t\t\t\t.nodes(d3.values(nodes))\n\t\t\t\t.links(edges)\n\t\t\t\t.linkDistance(90)\n\t\t\t\t.gravity(0.3)\n\t\t\t\t.charge(-2500)\n\t\t\t\t.on(\"tick\", tick);\n\t\t\n\t\t\tconst drag = visavis_force.drag()\n\t\t\t\t.on(\"dragstart\", function(this: any, d: any){\n\t\t\t\t\td3.select(this).classed(\"fixed\", d.fixed = true);\n\t\t\t\t});\n\t\t\n\t\t\tconst path = svg.append(\"g\").selectAll(\"path\")\n\t\t\t\t.data(visavis_force.links())\n\t\t\t\t.enter().append(\"path\")\n\t\t\t\t.attr(\"class\", function(d: any){ return \"edge \" + d.type; });\n\t\t\n\t\t\tconst circle = svg.append(\"g\").selectAll(\"circle\")\n\t\t\t\t.data(visavis_force.nodes())\n\t\t\t\t.enter().append(\"circle\")\n\t\t\t\t.attr(\"r\", function(d: any, i: any){ return radii[d.name] || 10 })\n\t\t\t\t.attr(\"id\", function(d: any, i: any){ return \"c_\" + table[d.name] })\n\t\t\t\t.attr(\"class\", function(d: any, i: any){ return foci[d.name] || circle_cls })\n\t\t\t\t.call(drag);\n\t\t\n\t\t\tconst text = svg.append(\"g\").selectAll(\"g\")\n\t\t\t\t.data(visavis_force.nodes())\n\t\t\t\t.enter().append(\"g\");\n\t\t\n\t\t\t// a copy of the text with a thick white stroke for legibility\n\t\t\ttext.append(\"text\")\n\t\t\t\t.attr(\"x\", -20)\n\t\t\t\t.attr(\"y\", -10)\n\t\t\t\t.attr(\"class\", \"shadow \" + text_cls)\n\t\t\t\t.attr(\"id\", function(d: any, i: any){ return \"s_\" + table[d.name] })\n\t\t\t\t.html(function(d: any){ return labels[d.name] });\n\t\t\n\t\t\ttext.append(\"text\")\n\t\t\t\t.attr(\"x\", -20)\n\t\t\t\t.attr(\"y\", -10)\n\t\t\t\t.attr(\"class\", \"captions \" + text_cls)\n\t\t\t\t.attr(\"id\", function(d: any, i: any){ return \"t_\" + table[d.name] })\n\t\t\t\t.html(function(d: any){ return labels[d.name] })\n\t\t\t\t.call(drag);\n\t\t\n\t\t\t// text.on(\"click\", function(d: any){\n\t\t\t// \tif (visavis.mpds_embedded){\n\t\t\t// \t\tvar found_fct = visavis.graph_mapping[d.name.charAt(0)],\n\t\t\t// \t\t\tvalue = labels[d.name];\n\t\t\t// \t\tif (found_fct == 'codens') value = value.split(\"'\")[0]; // FIXME years lost\n\t\t\t// \t\telse if (found_fct == 'formulae') value = window.parent.WMCORE.termify_formulae(value.split(\",\")[0]);\n\t\t\t// \t\twindow.parent.location.hash = window.parent.wmgui.aug_search_cmd(found_fct, value);\n\t\t\t// \t}\n\t\t\t// });\n\t\t\n\t\t\tfunction tick(){\n\t\t\t\tpath.attr(\"d\", direct);\n\t\t\t\tcircle.attr(\"transform\", transform);\n\t\t\t\ttext.attr(\"transform\", transform);\n\t\t\t}\n\t\t\n\t\t\tfunction direct(d: Edge){\n\t\t\t\treturn \"M\" + d.source.x + \",\" + d.source.y + \" \" + d.target.x + \",\" + d.target.y;\n\t\t\t}\n\t\t\n\t\t\tfunction transform(d: Node){\n\t\t\t\treturn \"translate(\" + d.x + \",\" + d.y + \")\";\n\t\t\t}\n\t\t\n\t\t\tvisavis_force.start();\n\t\t\t// for (var i = 400; i > 0; i--) visavis_force.tick();\n\t\t\t// visavis_force.stop();\n\t\t\t// hide_preloader();\n\t\t\t// hide_messages();\n\t\t\t// warn_demo();\n\t\t\t// if (visavis.mpds_embedded) document.getElementById('expander').style.display = 'block';\n\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"visavis/graph/graph.view.css\",\n \"[visavis_graph_plot] svg {\\n\\twidth: 100%;\\n\\theight: 100%;\\n}\\n\\n[visavis_graph_plot] .edge {\\n\\tfill: none;\\n\\tstroke: #ddd;\\n\\tstroke-width: 1px;\\n}\\n\\n[visavis_graph_plot] .edge.prel {\\n\\tstroke: #FE9A2E;\\n}\\n\\n[visavis_graph_plot] .edge.hrel {\\n\\tstroke: #3e3f95;\\n}\\n\\n[visavis_graph_plot] .edge.trel {\\n\\tstroke: #3e3f95;\\n}\\n\\n[visavis_graph_plot] .edge.arel {\\n\\tstroke: #E36868;\\n}\\n\\n[visavis_graph_plot] .edge.grel {\\n\\tstroke: #acc2b3;\\n}\\n\\n[visavis_graph_plot] circle {\\n\\tcursor: move;\\n\\tfill: #ccc;\\n}\\n\\n[visavis_graph_plot] circle.f {\\n\\tfill: #acc2b3;\\n}\\n\\n[visavis_graph_plot] circle.p {\\n\\tfill: #FE9A2E;\\n}\\n\\n[visavis_graph_plot] circle.h, circle.t {\\n\\tfill: #3e3f95;\\n}\\n\\n[visavis_graph_plot] circle.a {\\n\\tfill: #E36868;\\n}\\n\\n[visavis_graph_plot] text.micro {\\n\\tfont-size: 11px;\\n\\tletter-spacing: -0.5px;\\n}\\n\\n[visavis_graph_plot] text.macro {\\n\\tfont-size: 14px;\\n\\tletter-spacing: 0.5px;\\n}\\n\\n[visavis_graph_plot] text.captions {\\n\\tcursor: pointer;\\n\\tfill: #333;\\n}\\n\\n[visavis_graph_plot] text.shadow {\\n\\tstroke: #fff;\\n\\tstroke-width: 3px;\\n\\tstroke-opacity: 0.8;\\n}\\n\"\n) }","namespace $.$$ {\n\n\t$mol_style_define( $.$visavis_graph, {\n\n\t\tRoot: {\n\t\t\twidth: '100%',\n\t\t\theight: '100%',\n\t\t},\n\n\t\tPlot: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\texport class $visavis_app extends $mol_book2 {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr * mol_theme \\$mol_theme_light\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\tmol_theme: \"$mol_theme_light\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages /\n\t\t * \t<= Menu\n\t\t * \t<= Matrix*plot\n\t\t * \t<= Cube*plot\n\t\t * \t<= Phase*plot\n\t\t * \t<= Bar*plot\n\t\t * \t<= Discovery*plot\n\t\t * \t<= Eigen*plot\n\t\t * \t<= Pie*plot\n\t\t * \t<= Scatter*plot\n\t\t * \t<= Customscatter*plot\n\t\t * \t<= Heatmap*plot\n\t\t * \t<= Graph*plot\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Menu(),\n\t\t\t\tthis.Matrix(\"plot\"),\n\t\t\t\tthis.Cube(\"plot\"),\n\t\t\t\tthis.Phase(\"plot\"),\n\t\t\t\tthis.Bar(\"plot\"),\n\t\t\t\tthis.Discovery(\"plot\"),\n\t\t\t\tthis.Eigen(\"plot\"),\n\t\t\t\tthis.Pie(\"plot\"),\n\t\t\t\tthis.Scatter(\"plot\"),\n\t\t\t\tthis.Customscatter(\"plot\"),\n\t\t\t\tthis.Heatmap(\"plot\"),\n\t\t\t\tthis.Graph(\"plot\")\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * files_read? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tfiles_read(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Upload $mol_button_open\n\t\t * \thint @ \\Upload a plot from MPDS in JSON\n\t\t * \taccept \\application/json\n\t\t * \tfiles? <=> files_read?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tUpload() {\n\t\t\tconst obj = new this.$.$mol_button_open()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$visavis_app_Upload_hint' )\n\t\t\tobj.accept = () => \"application/json\"\n\t\t\tobj.files = (next?: any) => this.files_read(next)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_id* \\\n\t\t * ```\n\t\t */\n\t\tplot_id(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot_link* $mol_link\n\t\t * \targ * file <= plot_id*\n\t\t * \ttitle <= plot_id*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPlot_link(id: any) {\n\t\t\tconst obj = new this.$.$mol_link()\n\t\t\t\n\t\t\tobj.arg = () => ({\n\t\t\t\tfile: this.plot_id(id)\n\t\t\t} as Record< string, any >)\n\t\t\tobj.title = () => this.plot_id(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * history_drop*? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\thistory_drop(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot_drop_icon* $mol_icon_delete\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPlot_drop_icon(id: any) {\n\t\t\tconst obj = new this.$.$mol_icon_delete()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot_drop* $mol_button_minor\n\t\t * \tclick? <=> history_drop*?\n\t\t * \tsub / <= Plot_drop_icon*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPlot_drop(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.click = (next?: any) => this.history_drop(id, next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Plot_drop_icon(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot*0 $mol_view sub /\n\t\t * \t<= Plot_link*\n\t\t * \t<= Plot_drop*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPlot(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Plot_link(id),\n\t\t\t\tthis.Plot_drop(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * history_rows / <= Plot*0\n\t\t * ```\n\t\t */\n\t\thistory_rows() {\n\t\t\treturn [\n\t\t\t\tthis.Plot(\"0\")\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * History $mol_list\n\t\t * \ttitle @ \\Uploads\n\t\t * \trows <= history_rows\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHistory() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_app_History_title' )\n\t\t\tobj.rows = () => this.history_rows()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * example_title* \\\n\t\t * ```\n\t\t */\n\t\texample_title(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Example*0 $mol_link\n\t\t * \targ * file <= example_title*\n\t\t * \ttitle <= example_title*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tExample(id: any) {\n\t\t\tconst obj = new this.$.$mol_link()\n\t\t\t\n\t\t\tobj.arg = () => ({\n\t\t\t\tfile: this.example_title(id)\n\t\t\t} as Record< string, any >)\n\t\t\tobj.title = () => this.example_title(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * example_rows / <= Example*0\n\t\t * ```\n\t\t */\n\t\texample_rows() {\n\t\t\treturn [\n\t\t\t\tthis.Example(\"0\")\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Examples $mol_list\n\t\t * \ttitle @ \\Examples\n\t\t * \trows <= example_rows\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tExamples() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_app_Examples_title' )\n\t\t\tobj.rows = () => this.example_rows()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Deck $mol_deck items /\n\t\t * \t<= History\n\t\t * \t<= Examples\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tDeck() {\n\t\t\tconst obj = new this.$.$mol_deck()\n\t\t\t\n\t\t\tobj.items = () => [\n\t\t\t\tthis.History(),\n\t\t\t\tthis.Examples()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Source $mol_link_source uri \\https://github.com/mpds-io/visavis\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSource() {\n\t\t\tconst obj = new this.$.$mol_link_source()\n\t\t\t\n\t\t\tobj.uri = () => \"https://github.com/mpds-io/visavis\"\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Menu $mol_page\n\t\t * \ttitle \\Vis-a-vis\n\t\t * \ttools / <= Upload\n\t\t * \tbody / <= Deck\n\t\t * \tfoot / <= Source\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tMenu() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => \"Vis-a-vis\"\n\t\t\tobj.tools = () => [\n\t\t\t\tthis.Upload()\n\t\t\t] as readonly any[]\n\t\t\tobj.body = () => [\n\t\t\t\tthis.Deck()\n\t\t\t] as readonly any[]\n\t\t\tobj.foot = () => [\n\t\t\t\tthis.Source()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot* $visavis_plot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tplot(id: any) {\n\t\t\tconst obj = new this.$.$visavis_plot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Matrix*plot $visavis_matrix plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tMatrix(id: any) {\n\t\t\tconst obj = new this.$.$visavis_matrix()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cube*plot $visavis_cube plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCube(id: any) {\n\t\t\tconst obj = new this.$.$visavis_cube()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Phase*plot $visavis_phase plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPhase(id: any) {\n\t\t\tconst obj = new this.$.$visavis_phase()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Bar*plot $visavis_bar plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tBar(id: any) {\n\t\t\tconst obj = new this.$.$visavis_bar()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Discovery*plot $visavis_discovery plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tDiscovery(id: any) {\n\t\t\tconst obj = new this.$.$visavis_discovery()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Eigen*plot $visavis_eigen plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tEigen(id: any) {\n\t\t\tconst obj = new this.$.$visavis_eigen()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Pie*plot $visavis_pie plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPie(id: any) {\n\t\t\tconst obj = new this.$.$visavis_pie()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Scatter*plot $visavis_scatter plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tScatter(id: any) {\n\t\t\tconst obj = new this.$.$visavis_scatter()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Customscatter*plot $visavis_customscatter plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCustomscatter(id: any) {\n\t\t\tconst obj = new this.$.$visavis_customscatter()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap*plot $visavis_heatmap plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tHeatmap(id: any) {\n\t\t\tconst obj = new this.$.$visavis_heatmap()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Graph*plot $visavis_graph plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tGraph(id: any) {\n\t\t\tconst obj = new this.$.$visavis_graph()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\texport type $mol_blob = Blob\n\n\texport let $mol_blob = ( $node.buffer?.Blob ?? $mol_dom_context.Blob ) as any as {\n\t\tprototype: Blob;\n\t\tnew(blobParts?: readonly BlobPart[], options?: BlobPropertyBag): Blob;\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_blob_text( blob: $mol_blob ) {\n\t\treturn new Promise< string >( ( done, fail )=> {\n\t\t\tconst reader = new FileReader\n\t\t\treader.onerror = fail\n\t\t\treader.onload = event => done( event.target!.result as string )\n\t\t\treader.readAsText( blob )\n\t\t} )\n\t}\n\n}\n","namespace $ {\n\n\texport async function $mol_blob_json( blob: $mol_blob ) {\n\t\tconst json = await $mol_blob_text( blob )\n\t\treturn JSON.parse(json)\n\t}\n\n}\n","namespace $.$$ {\n\n\texport class $visavis_app extends $.$visavis_app {\n\n\t\t@ $mol_action\n\t\tfiles_read(next: readonly File[]) {\n\t\t\tconst data = $mol_wire_sync( $mol_blob_json )( next[0] )\n\n\t\t\tconst plot = new $visavis_plot({\n\t\t\t\tid: next[0].name,\n\t\t\t\ttype: data.use_visavis_type ?? 'unknown',\n\t\t\t\tjson: data,\n\t\t\t})\n\n\t\t\tthis.history_add( plot )\n\t\t}\n\n\t\t@ $mol_action\n\t\thistory_add(plot: $visavis_plot) {\n\t\t\tconst duplicates = this.history_plots().filter( id => id.replace(/\\[\\d+?\\]/, '') === plot.id() )\n\t\t\tconst count = Math.max( ... duplicates.map( id => Number( id.match(/\\[(\\d+?)\\]$/)?.[1] ?? 0 ) ) )\n\t\t\tconst postfix = duplicates.length ? `[${ count + 1 }]` : ''\n\n\t\t\tplot.id( `${ plot.id() }${ postfix }` )\n\n\t\t\tthis.history_plot(plot.id(), plot )\n\t\t\tthis.history_plots( [ ...this.history_plots(), plot.id() ] )\n\t\t}\n\n\t\t@ $mol_action\n\t\thistory_drop(id: string) {\n\t\t\tthis.history_plot(id, null)\n\t\t\tthis.history_plots( this.history_plots().filter( plot_id => plot_id !== id ) )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\thistory_plots(next?: string[]) {\n\t\t\treturn this.$.$mol_state_local.value( `${this}.history_plots()` , next ) ?? []\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\thistory_plot(id: string, next?: $visavis_plot | null) {\n\t\t\tconst json = this.$.$mol_state_local.value( `${this}.history_plot('${id}')` , next && next.data() )\n\t\t\treturn json ? new $visavis_plot( json ) : null\n\t\t}\n\n\t\t@ $mol_mem\n\t\thistory_rows() {\n\t\t\treturn this.history_plots().map( (id)=> this.Plot(id) ).reverse()\n\t\t}\n\n\t\tplot_id(id: string) {\n\t\t\treturn id \n\t\t}\n\n\t\tplot_opened(next?: string | null) {\n\t\t\treturn this.$.$mol_state_arg.value( 'file' , next ) ?? ''\n\t\t}\n\n\t\tPlot_opened() {\n\t\t\tconst id = this.plot_opened()\n\t\t\tif (!id) return []\n\n\t\t\tconst plot = this.history_plot( id )\n\t\t\tif (!plot) return []\n\n\t\t\tswitch( plot.type() ) {\n\t\t\t\tcase 'matrix': return this.Matrix( plot ).pages()\n\t\t\t\tcase 'plot3d': return this.Cube( plot ).pages()\n\t\t\t\tcase 'pd': return this.Phase( plot ).pages()\n\t\t\t\tcase 'bar': return this.Bar( plot ).pages()\n\t\t\t\tcase 'discovery': return this.Discovery( plot ).pages()\n\t\t\t\tcase 'eigenplot': return this.Eigen( plot ).pages()\n\t\t\t\tcase 'pie': return this.Pie( plot ).pages()\n\t\t\t\tcase 'scatter': return this.Scatter( plot ).pages()\n\t\t\t\tcase 'customscatter': return this.Customscatter( plot ).pages()\n\t\t\t\tcase 'heatmap': return this.Heatmap( plot ).pages()\n\t\t\t\tcase 'graph': return this.Graph( plot ).pages()\n\t\t\t\tdefault: return []\n\t\t\t}\n\t\t}\n\n\t\tplot(plot: $visavis_plot) {\n\t\t\treturn plot\n\t\t}\n\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Menu(),\n\t\t\t\t... this.Plot_opened(),\n\t\t\t]\n\t\t}\n\n\t\tPlaceholder() {\n\t\t\treturn this.Plot_opened().length > 0 ? null as any : super.Placeholder()\n\t\t}\n\n\t}\n\n}\n","namespace $.$$ {\n\n\tconst { rem, per } = $mol_style_unit\n\tconst { calc } = $mol_style_func\n\n\t$mol_style_define( $.$visavis_app, {\n\n\t\tMenu: {\n\t\t\tflex: {\n\t\t\t\tbasis: rem(25),\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t\tBody: {\n\t\t\t\tpadding: $mol_gap.block,\n\t\t\t},\n\t\t\tFoot: {\n\t\t\t\tpadding: $mol_gap.block,\n\t\t\t},\n\t\t},\n\n\t\tPlot_link: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n"]} \ No newline at end of file diff --git a/node.mjs b/node.mjs index 405c893..29b4311 100644 --- a/node.mjs +++ b/node.mjs @@ -2619,7 +2619,7 @@ var $; "use strict"; var $; (function ($) { - $mol_style_attach("mol/theme/theme.css", ":root {\n\t--mol_theme_hue: 210deg;\n\t--mol_theme_hue_spread: 90deg;\n}\n\n:where([mol_theme]) {\n\tcolor: var(--mol_theme_text);\n\tfill: var(--mol_theme_text);\n\tbackground-color: var(--mol_theme_back);\n}\n\t\n:root, [mol_theme=\"$mol_theme_dark\"], :where([mol_theme=\"$mol_theme_dark\"]) [mol_theme] {\n\n\t--mol_theme_luma: -1;\n\t--mol_theme_image: invert(1) hue-rotate( 180deg );\n\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 10% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 20%, .25 );\n\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 8%, .25 );\n\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\n\t\n\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 80% );\n\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 60%, 1 );\n\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\n\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 65% );\n\t\n\t--mol_theme_control: hsl( var(--mol_theme_hue), 60%, 65% );\n\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 60%, 65% );\n\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 60%, 65% );\n\n\t/* --mol_theme_back: oklch( 20% .03 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 35% .05 var(--mol_theme_hue) / .25 );\n\t--mol_theme_field: oklch( 0% 0 var(--mol_theme_hue) / .25 );\n\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\n\t\n\t--mol_theme_text: oklch( 80% 0 var(--mol_theme_hue) );\n\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\n\t--mol_theme_line: oklch( 50% 0 var(--mol_theme_hue) / .2 );\n\t--mol_theme_focus: oklch( 80% .2 calc( var(--mol_theme_hue) + 120deg ) );\n\t\n\t--mol_theme_control: oklch( 70% .1 var(--mol_theme_hue) );\n\t--mol_theme_current: oklch( 80% .2 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_special: oklch( 80% .3 calc( var(--mol_theme_hue) + 60deg ) ); */\n\n}\n\n[mol_theme=\"$mol_theme_light\"], :where([mol_theme=\"$mol_theme_light\"]) [mol_theme] {\n\t\n\t--mol_theme_luma: 1;\n\t--mol_theme_image: none;\n\t\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 99% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 90%, .25 );\n\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 100%, .5 );\n\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\n\t\n\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 0% );\n\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 40%, 1 );\n\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\n\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 40% );\n\t\n\t--mol_theme_control: hsl( var(--mol_theme_hue), 80%, 30% );\n\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 30% );\n\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 30% );\n\t\n\t/* --mol_theme_back: oklch( 93% .01 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 100% .02 var(--mol_theme_hue) / .25 );\n\t--mol_theme_field: oklch( 100% 0 var(--mol_theme_hue) / .5 );\n\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\n\t\n\t--mol_theme_text: oklch( 20% 0 var(--mol_theme_hue) );\n\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\n\t--mol_theme_line: oklch( 70% 0 var(--mol_theme_hue) / .2 );\n\t--mol_theme_focus: oklch( 20% .8 calc( var(--mol_theme_hue) + 120deg ) );\n\t\n\t--mol_theme_control: oklch( 45% .25 var(--mol_theme_hue) );\n\t--mol_theme_current: oklch( 45% .5 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_special: oklch( 45% .5 calc( var(--mol_theme_hue) + 60deg ) ); */\n\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_base\"] {\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 30% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 40%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 25% .05 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 35% .1 var(--mol_theme_hue) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_base\"] {\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 80% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 80%, 95%, .25 );\n\t/* --mol_theme_back: oklch( 95% .02 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 80% .05 var(--mol_theme_hue) / .25 ); */\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_accent\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 30% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 40% .2 calc( var(--mol_theme_hue) + 120deg ) );\n\t--mol_theme_card: oklch( 50% .3 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_accent\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 75% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 90%, .25 );\n\t/* --mol_theme_back: oklch( 90% .03 calc( var(--mol_theme_hue) + 120deg ) );\n\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_current\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 30% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_current\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 80% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 95%, .25 );\n\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_special\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 30% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) + 60deg ) );\n\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_special\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 80% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 95%, .25 );\n\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) + 60deg ) );\n\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\n}\n"); + $mol_style_attach("mol/theme/theme.css", ":root {\n\t--mol_theme_hue: 210deg;\n\t--mol_theme_hue_spread: 90deg;\n}\n\n:where([mol_theme]) {\n\tcolor: var(--mol_theme_text);\n\tfill: var(--mol_theme_text);\n\tbackground-color: var(--mol_theme_back);\n}\n\t\n:root, [mol_theme=\"$mol_theme_dark\"], :where([mol_theme=\"$mol_theme_dark\"]) [mol_theme] {\n\n\t--mol_theme_luma: -1;\n\t--mol_theme_image: invert(1) hue-rotate( 180deg );\n\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 10% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 20%, .25 );\n\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 8%, .25 );\n\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\n\t\n\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 80% );\n\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 60%, 1 );\n\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\n\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 65% );\n\t\n\t--mol_theme_control: hsl( var(--mol_theme_hue), 60%, 65% );\n\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 60%, 65% );\n\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 60%, 65% );\n\n\t/* --mol_theme_back: oklch( 20% .03 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 35% .05 var(--mol_theme_hue) / .25 );\n\t--mol_theme_field: oklch( 0% 0 var(--mol_theme_hue) / .25 );\n\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\n\t\n\t--mol_theme_text: oklch( 80% 0 var(--mol_theme_hue) );\n\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\n\t--mol_theme_line: oklch( 50% 0 var(--mol_theme_hue) / .2 );\n\t--mol_theme_focus: oklch( 80% .2 calc( var(--mol_theme_hue) + 120deg ) );\n\t\n\t--mol_theme_control: oklch( 70% .1 var(--mol_theme_hue) );\n\t--mol_theme_current: oklch( 80% .2 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_special: oklch( 80% .3 calc( var(--mol_theme_hue) + 60deg ) ); */\n\n}\n\n[mol_theme=\"$mol_theme_light\"], :where([mol_theme=\"$mol_theme_light\"]) [mol_theme] {\n\t\n\t--mol_theme_luma: 1;\n\t--mol_theme_image: none;\n\t\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 85% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 100%, .25 );\n\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 100%, .25 );\n\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\n\t\n\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 0% );\n\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 40%, 1 );\n\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\n\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 40% );\n\t\n\t--mol_theme_control: hsl( var(--mol_theme_hue), 80%, 30% );\n\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 30% );\n\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 30% );\n\t\n\t/* --mol_theme_back: oklch( 93% .01 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 100% .02 var(--mol_theme_hue) / .25 );\n\t--mol_theme_field: oklch( 100% 0 var(--mol_theme_hue) / .5 );\n\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\n\t\n\t--mol_theme_text: oklch( 20% 0 var(--mol_theme_hue) );\n\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\n\t--mol_theme_line: oklch( 70% 0 var(--mol_theme_hue) / .2 );\n\t--mol_theme_focus: oklch( 20% .8 calc( var(--mol_theme_hue) + 120deg ) );\n\t\n\t--mol_theme_control: oklch( 45% .25 var(--mol_theme_hue) );\n\t--mol_theme_current: oklch( 45% .5 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_special: oklch( 45% .5 calc( var(--mol_theme_hue) + 60deg ) ); */\n\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_base\"] {\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 30% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 40%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 25% .05 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 35% .1 var(--mol_theme_hue) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_base\"] {\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 80% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 80%, 95%, .25 );\n\t/* --mol_theme_back: oklch( 95% .02 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 80% .05 var(--mol_theme_hue) / .25 ); */\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_accent\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 30% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 40% .2 calc( var(--mol_theme_hue) + 120deg ) );\n\t--mol_theme_card: oklch( 50% .3 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_accent\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 75% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 90%, .25 );\n\t/* --mol_theme_back: oklch( 90% .03 calc( var(--mol_theme_hue) + 120deg ) );\n\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_current\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 30% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_current\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 80% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 95%, .25 );\n\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_special\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 30% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) + 60deg ) );\n\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_special\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 80% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 95%, .25 );\n\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) + 60deg ) );\n\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\n}\n"); })($ || ($ = {})); //mol/theme/-css/theme.css.ts ; diff --git a/node.test.js b/node.test.js index 31ed5e0..51a5dca 100644 --- a/node.test.js +++ b/node.test.js @@ -2610,7 +2610,7 @@ var $; "use strict"; var $; (function ($) { - $mol_style_attach("mol/theme/theme.css", ":root {\n\t--mol_theme_hue: 210deg;\n\t--mol_theme_hue_spread: 90deg;\n}\n\n:where([mol_theme]) {\n\tcolor: var(--mol_theme_text);\n\tfill: var(--mol_theme_text);\n\tbackground-color: var(--mol_theme_back);\n}\n\t\n:root, [mol_theme=\"$mol_theme_dark\"], :where([mol_theme=\"$mol_theme_dark\"]) [mol_theme] {\n\n\t--mol_theme_luma: -1;\n\t--mol_theme_image: invert(1) hue-rotate( 180deg );\n\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 10% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 20%, .25 );\n\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 8%, .25 );\n\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\n\t\n\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 80% );\n\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 60%, 1 );\n\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\n\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 65% );\n\t\n\t--mol_theme_control: hsl( var(--mol_theme_hue), 60%, 65% );\n\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 60%, 65% );\n\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 60%, 65% );\n\n\t/* --mol_theme_back: oklch( 20% .03 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 35% .05 var(--mol_theme_hue) / .25 );\n\t--mol_theme_field: oklch( 0% 0 var(--mol_theme_hue) / .25 );\n\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\n\t\n\t--mol_theme_text: oklch( 80% 0 var(--mol_theme_hue) );\n\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\n\t--mol_theme_line: oklch( 50% 0 var(--mol_theme_hue) / .2 );\n\t--mol_theme_focus: oklch( 80% .2 calc( var(--mol_theme_hue) + 120deg ) );\n\t\n\t--mol_theme_control: oklch( 70% .1 var(--mol_theme_hue) );\n\t--mol_theme_current: oklch( 80% .2 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_special: oklch( 80% .3 calc( var(--mol_theme_hue) + 60deg ) ); */\n\n}\n\n[mol_theme=\"$mol_theme_light\"], :where([mol_theme=\"$mol_theme_light\"]) [mol_theme] {\n\t\n\t--mol_theme_luma: 1;\n\t--mol_theme_image: none;\n\t\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 99% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 90%, .25 );\n\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 100%, .5 );\n\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\n\t\n\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 0% );\n\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 40%, 1 );\n\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\n\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 40% );\n\t\n\t--mol_theme_control: hsl( var(--mol_theme_hue), 80%, 30% );\n\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 30% );\n\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 30% );\n\t\n\t/* --mol_theme_back: oklch( 93% .01 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 100% .02 var(--mol_theme_hue) / .25 );\n\t--mol_theme_field: oklch( 100% 0 var(--mol_theme_hue) / .5 );\n\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\n\t\n\t--mol_theme_text: oklch( 20% 0 var(--mol_theme_hue) );\n\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\n\t--mol_theme_line: oklch( 70% 0 var(--mol_theme_hue) / .2 );\n\t--mol_theme_focus: oklch( 20% .8 calc( var(--mol_theme_hue) + 120deg ) );\n\t\n\t--mol_theme_control: oklch( 45% .25 var(--mol_theme_hue) );\n\t--mol_theme_current: oklch( 45% .5 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_special: oklch( 45% .5 calc( var(--mol_theme_hue) + 60deg ) ); */\n\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_base\"] {\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 30% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 40%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 25% .05 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 35% .1 var(--mol_theme_hue) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_base\"] {\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 80% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 80%, 95%, .25 );\n\t/* --mol_theme_back: oklch( 95% .02 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 80% .05 var(--mol_theme_hue) / .25 ); */\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_accent\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 30% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 40% .2 calc( var(--mol_theme_hue) + 120deg ) );\n\t--mol_theme_card: oklch( 50% .3 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_accent\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 75% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 90%, .25 );\n\t/* --mol_theme_back: oklch( 90% .03 calc( var(--mol_theme_hue) + 120deg ) );\n\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_current\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 30% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_current\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 80% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 95%, .25 );\n\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_special\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 30% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) + 60deg ) );\n\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_special\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 80% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 95%, .25 );\n\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) + 60deg ) );\n\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\n}\n"); + $mol_style_attach("mol/theme/theme.css", ":root {\n\t--mol_theme_hue: 210deg;\n\t--mol_theme_hue_spread: 90deg;\n}\n\n:where([mol_theme]) {\n\tcolor: var(--mol_theme_text);\n\tfill: var(--mol_theme_text);\n\tbackground-color: var(--mol_theme_back);\n}\n\t\n:root, [mol_theme=\"$mol_theme_dark\"], :where([mol_theme=\"$mol_theme_dark\"]) [mol_theme] {\n\n\t--mol_theme_luma: -1;\n\t--mol_theme_image: invert(1) hue-rotate( 180deg );\n\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 10% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 20%, .25 );\n\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 8%, .25 );\n\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\n\t\n\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 80% );\n\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 60%, 1 );\n\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\n\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 65% );\n\t\n\t--mol_theme_control: hsl( var(--mol_theme_hue), 60%, 65% );\n\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 60%, 65% );\n\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 60%, 65% );\n\n\t/* --mol_theme_back: oklch( 20% .03 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 35% .05 var(--mol_theme_hue) / .25 );\n\t--mol_theme_field: oklch( 0% 0 var(--mol_theme_hue) / .25 );\n\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\n\t\n\t--mol_theme_text: oklch( 80% 0 var(--mol_theme_hue) );\n\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\n\t--mol_theme_line: oklch( 50% 0 var(--mol_theme_hue) / .2 );\n\t--mol_theme_focus: oklch( 80% .2 calc( var(--mol_theme_hue) + 120deg ) );\n\t\n\t--mol_theme_control: oklch( 70% .1 var(--mol_theme_hue) );\n\t--mol_theme_current: oklch( 80% .2 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_special: oklch( 80% .3 calc( var(--mol_theme_hue) + 60deg ) ); */\n\n}\n\n[mol_theme=\"$mol_theme_light\"], :where([mol_theme=\"$mol_theme_light\"]) [mol_theme] {\n\t\n\t--mol_theme_luma: 1;\n\t--mol_theme_image: none;\n\t\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 85% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 100%, .25 );\n\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 100%, .25 );\n\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\n\t\n\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 0% );\n\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 40%, 1 );\n\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\n\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 40% );\n\t\n\t--mol_theme_control: hsl( var(--mol_theme_hue), 80%, 30% );\n\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 30% );\n\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 30% );\n\t\n\t/* --mol_theme_back: oklch( 93% .01 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 100% .02 var(--mol_theme_hue) / .25 );\n\t--mol_theme_field: oklch( 100% 0 var(--mol_theme_hue) / .5 );\n\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\n\t\n\t--mol_theme_text: oklch( 20% 0 var(--mol_theme_hue) );\n\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\n\t--mol_theme_line: oklch( 70% 0 var(--mol_theme_hue) / .2 );\n\t--mol_theme_focus: oklch( 20% .8 calc( var(--mol_theme_hue) + 120deg ) );\n\t\n\t--mol_theme_control: oklch( 45% .25 var(--mol_theme_hue) );\n\t--mol_theme_current: oklch( 45% .5 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_special: oklch( 45% .5 calc( var(--mol_theme_hue) + 60deg ) ); */\n\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_base\"] {\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 30% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 40%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 25% .05 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 35% .1 var(--mol_theme_hue) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_base\"] {\n\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 80% );\n\t--mol_theme_card: hsl( var(--mol_theme_hue), 80%, 95%, .25 );\n\t/* --mol_theme_back: oklch( 95% .02 var(--mol_theme_hue) );\n\t--mol_theme_card: oklch( 80% .05 var(--mol_theme_hue) / .25 ); */\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_accent\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 30% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 40% .2 calc( var(--mol_theme_hue) + 120deg ) );\n\t--mol_theme_card: oklch( 50% .3 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_accent\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 75% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 90%, .25 );\n\t/* --mol_theme_back: oklch( 90% .03 calc( var(--mol_theme_hue) + 120deg ) );\n\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_current\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 30% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_current\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 80% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 95%, .25 );\n\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) - 60deg ) );\n\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\n}\n\n:where( :root, [mol_theme=\"$mol_theme_dark\"] ) [mol_theme=\"$mol_theme_special\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 30% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\n\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) + 60deg ) );\n\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\n}\n:where( [mol_theme=\"$mol_theme_light\"] ) [mol_theme=\"$mol_theme_special\"] {\n\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 80% );\n\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 95%, .25 );\n\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) + 60deg ) );\n\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\n}\n"); })($ || ($ = {})); //mol/theme/-css/theme.css.ts ; diff --git a/node.test.js.map b/node.test.js.map index 7382916..90fc321 100644 --- a/node.test.js.map +++ b/node.test.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../mam.ts","../../../mol/ambient/ambient.ts","../../../mol/delegate/delegate.ts","../../../mol/owning/owning.ts","../../../mol/fail/fail.ts","../../../mol/fail/hidden/hidden.ts","../../../mol/func/name/name.ts","../../../mol/object2/object2.ts","../../../mol/object/object.ts","../../../mol/window/window.node.ts","../../../mol/wire/cursor/cursor.ts","../../../mol/wire/pub/pub.ts","../../../mol/wire/wire.ts","../../../mol/dev/format/format.ts","../../../mol/wire/pub/sub/sub.ts","../../../mol/after/timeout/timeout.ts","../../../mol/after/frame/frame.node.ts","../../../mol/promise/like/like.ts","../../../mol/wire/fiber/fiber.ts","../../../mol/guid/guid.ts","../../../mol/key/key.ts","../../../mol/compare/deep/deep.ts","../../../mol/log3/log3.ts","../../../mol/span/span.ts","../../../mol/tree2/to/string/string.ts","../../../mol/tree2/tree2.ts","../../../mol/error/syntax/syntax.ts","../../../mol/tree2/from/string/string.ts","../../../mol/tree2/from/json/json.ts","../../../mol/term/color/color.ts","../../../mol/log3/log3.node.ts","../../../mol/wire/task/task.ts","../../../mol/wire/method/method.ts","../../../mol/fail/catch/catch.ts","../../../mol/fail/log/log.ts","../../../mol/wire/atom/atom.ts","../../../mol/wire/solo/solo.ts","../../../mol/wire/plex/plex.ts","../../../mol/mem/mem.ts","../../../mol/dom/context/context.ts","../../../node/node.node.ts","../../../mol/env/env.ts","../../../mol/env/env.node.ts","../../../mol/exec/exec.node.ts","../../../mol/dom/context/context.node.ts","../../../mol/after/tick/tick.ts","../../../mol/view/selection/selection.ts","../../../mol/wrapper/wrapper.ts","../../../mol/memo/memo.ts","../../../mol/dom/qname/qname.ts","../../../mol/wire/probe/probe.ts","../../../mol/wire/watch/watch.ts","../../../mol/const/const.ts","../../../mol/wire/solid/solid.ts","../../../mol/dom/render/attributes/attributes.ts","../../../mol/dom/render/events/events.ts","../../../mol/dom/render/styles/styles.ts","../../../mol/dom/render/children/children.ts","../../../mol/dom/render/fields/fields.ts","../../../mol/wire/async/async.ts","../../../mol/style/attach/attach.ts","../../../mol/decor/decor.ts","../../../mol/style/unit/unit.ts","../../../mol/style/func/func.ts","../../../mol/style/prop/prop.ts","../../../mol/theme/theme.ts","../../../mol/theme/-css/theme.css.ts","../../../mol/gap/gap.ts","../../../mol/gap/-css/gap.css.ts","../../../mol/view/view/view.ts","../../../mol/view/view/-css/view.css.ts","../../../mol/plugin/plugin.ts","../../../mol/scroll/-view.tree/scroll.view.tree.ts","../../../mol/dom/listener/listener.ts","../../../mol/print/print.ts","../../../mol/style/sheet/sheet.ts","../../../mol/style/define/define.ts","../../../mol/scroll/scroll.view.ts","../../../mol/scroll/scroll.view.css.ts","../../../mol/book2/-view.tree/book2.view.tree.ts","../../../mol/mem/cached/cached.ts","../../../mol/book2/book2.view.ts","../../../mol/book2/-css/book2.view.css.ts","../../../mol/speck/-view.tree/speck.view.tree.ts","../../../mol/layer/layer.ts","../../../mol/layer/-css/layer.css.ts","../../../mol/speck/-css/speck.view.css.ts","../../../mol/button/-view.tree/button.view.tree.ts","../../../mol/keyboard/code/code.ts","../../../mol/button/button.view.ts","../../../mol/button/-css/button.view.css.ts","../../../mol/button/typed/-view.tree/typed.view.tree.ts","../../../mol/button/typed/-css/typed.view.css.ts","../../../mol/button/minor/-view.tree/minor.view.tree.ts","../../../mol/button/minor/-css/minor.view.css.ts","../../../mol/svg/-view.tree/svg.view.tree.ts","../../../mol/state/time/time.ts","../../../mol/svg/svg.view.ts","../../../mol/svg/root/-view.tree/root.view.tree.ts","../../../mol/svg/root/-css/root.view.css.ts","../../../mol/svg/path/-view.tree/path.view.tree.ts","../../../mol/icon/-view.tree/icon.view.tree.ts","../../../mol/icon/-css/icon.view.css.ts","../../../mol/icon/upload/-view.tree/upload.view.tree.ts","../../../mol/button/open/-view.tree/open.view.tree.ts","../../../mol/button/open/open.view.ts","../../../mol/button/open/-css/open.view.css.ts","../../../mol/mem/persist/persist.ts","../../../mol/wire/sync/sync.ts","../../../mol/storage/storage.ts","../../../mol/state/local/local.ts","../../../mol/charset/decode/decode.ts","../../../mol/charset/encode/encode.ts","../../../mol/file/file.ts","../../../mol/compare/array/array.ts","../../../mol/file/file.node.ts","../../../mol/locale/locale.ts","../../../mol/link/-view.tree/link.view.tree.ts","../../../mol/action/action.ts","../../../mol/state/arg/arg.node.ts","../../../mol/link/link.view.ts","../../../mol/link/link.view.css.ts","../../../mol/icon/delete/-view.tree/delete.view.tree.ts","../../../mol/list/-view.tree/list.view.tree.ts","../../../mol/support/css/css.ts","../../../mol/list/list.view.ts","../../../mol/list/-css/list.view.css.ts","../../../mol/check/-view.tree/check.view.tree.ts","../../../mol/maybe/maybe.ts","../../../mol/check/-css/check.css.ts","../../../mol/check/check.view.ts","../../../mol/check/list/-view.tree/list.view.tree.ts","../../../mol/check/list/list.view.ts","../../../mol/check/list/-css/list.view.css.ts","../../../mol/switch/-view.tree/switch.view.tree.ts","../../../mol/state/session/session.ts","../../../mol/switch/switch.view.ts","../../../mol/deck/-view.tree/deck.view.tree.ts","../../../mol/deck/deck.view.ts","../../../mol/icon/script/-view.tree/script.view.tree.ts","../../../mol/icon/script/text/-view.tree/text.view.tree.ts","../../../mol/link/source/-view.tree/source.view.tree.ts","../../../mol/page/-view.tree/page.view.tree.ts","../../../mol/page/page.view.css.ts","../../../mol/store/store.ts","../../../visavis/plot/plot.ts","../../../mol/icon/tick/-view.tree/tick.view.tree.ts","../../../mol/check/box/-view.tree/box.view.tree.ts","../../../mol/check/box/-css/box.view.css.ts","../../../mol/labeler/-view.tree/labeler.view.tree.ts","../../../mol/labeler/-css/labeler.view.css.ts","../../../visavis/matrix/-view.tree/matrix.view.tree.ts","../../../mol/data/setup/setup.ts","../../../mol/data/record/record.ts","../../../mol/error/mix/mix.ts","../../../mol/data/error/error.ts","../../../mol/data/string/string.ts","../../../mol/data/number/number.ts","../../../mol/data/optional/optional.ts","../../../mol/data/array/array.ts","../../../mol/import/import.ts","../../../visavis/lib/lib.ts","../../../visavis/nonformer/nonformer.ts","../../../mol/coord/coord.ts","../../../visavis/matrix/matrix.view.ts","../../../visavis/matrix/-css/matrix.view.css.ts","../../../visavis/matrix/matrix.view.css.ts","../../../mol/pop/-view.tree/pop.view.tree.ts","../../../mol/pop/pop.view.ts","../../../mol/pop/-css/pop.view.css.ts","../../../mol/pick/-view.tree/pick.view.tree.ts","../../../mol/pick/pick.view.ts","../../../mol/pick/-css/pick.view.css.ts","../../../mol/hotkey/-view.tree/hotkey.view.tree.ts","../../../mol/hotkey/hotkey.view.ts","../../../mol/nav/-view.tree/nav.view.tree.ts","../../../mol/nav/nav.view.ts","../../../mol/string/-view.tree/string.view.tree.ts","../../../mol/string/string.view.ts","../../../mol/string/-css/string.view.css.ts","../../../mol/icon/cross/-view.tree/cross.view.tree.ts","../../../mol/paragraph/-view.tree/paragraph.view.tree.ts","../../../mol/paragraph/paragraph.view.ts","../../../mol/paragraph/-css/paragraph.view.css.ts","../../../mol/dimmer/-view.tree/dimmer.view.tree.ts","../../../mol/regexp/regexp.ts","../../../mol/dimmer/dimmer.view.ts","../../../mol/dimmer/-css/dimmer.view.css.ts","../../../mol/search/-view.tree/search.view.tree.ts","../../../mol/search/search.view.ts","../../../mol/search/-css/search.view.css.ts","../../../mol/icon/dots/vertical/-view.tree/vertical.view.tree.ts","../../../mol/select/-view.tree/select.view.tree.ts","../../../mol/match/text.ts","../../../mol/select/select.view.ts","../../../mol/select/-css/select.view.css.ts","../../../visavis/cube/-view.tree/cube.view.tree.ts","../../../mol/data/boolean/boolean.ts","../../../mol/data/nullable/nullable.ts","../../../lib/d3/d3.ts","../../../visavis/element/element.ts","../../../lib/plotly/plotly.ts","../../../visavis/cube/cube.view.ts","../../../visavis/cube/cube.view.css.ts","../../../visavis/phase/-view.tree/phase.view.tree.ts","../../../mol/data/const/const.ts","../../../mol/data/dict/dict.ts","../../../visavis/phase/phase.view.ts","../../../visavis/phase/-css/phase.view.css.ts","../../../visavis/phase/phase.view.css.ts","../../../visavis/plot/plotly/-view.tree/plotly.view.tree.ts","../../../visavis/plot/plotly/plotly.view.ts","../../../visavis/plot/plotly/plotly.view.css.ts","../../../visavis/bar/-view.tree/bar.view.tree.ts","../../../visavis/bar/bar.view.ts","../../../visavis/bar/bar.view.css.ts","../../../visavis/discovery/-view.tree/discovery.view.tree.ts","../../../visavis/discovery/discovery.view.ts","../../../visavis/discovery/discovery.view.css.ts","../../../visavis/eigen/-view.tree/eigen.view.tree.ts","../../../mol/data/variant/variant.ts","../../../visavis/eigen/eigen.view.ts","../../../visavis/pie/-view.tree/pie.view.tree.ts","../../../mol/data/enum/enum.ts","../../../visavis/pie/pie.view.ts","../../../visavis/scatter/-view.tree/scatter.view.tree.ts","../../../visavis/scatter/scatter.view.ts","../../../visavis/customscatter/-view.tree/customscatter.view.tree.ts","../../../visavis/customscatter/customscatter.view.ts","../../../visavis/heatmap/-view.tree/heatmap.view.tree.ts","../../../visavis/heatmap/heatmap.view.ts","../../../visavis/graph/-view.tree/graph.view.tree.ts","../../../visavis/graph/graph.view.ts","../../../visavis/graph/-css/graph.view.css.ts","../../../visavis/graph/graph.view.css.ts","../../../visavis/app/-view.tree/app.view.tree.ts","../../../mol/blob/blob.ts","../../../mol/blob/text/text.ts","../../../mol/blob/json/json.ts","../../../visavis/app/app.view.ts","../../../visavis/app/app.view.css.ts","../../../mol/test/test.test.ts","../../../mol/test/test.node.test.ts","../../../mol/log3/log3.test.ts","../../../mol/jsx/jsx.ts","../../../mol/jsx/jsx.test.tsx","../../../mol/range2/range2.ts","../../../mol/range2/range2.test.ts","../../../mol/compare/deep/deep.test.tsx","../../../mol/assert/assert.ts","../../../mol/assert/assert.test.ts","../../../mol/func/name/name.test.ts","../../../mol/delegate/delegate.test.ts","../../../mol/object/object.test.ts","../../../mol/wire/pub/sub/sub.test.ts","../../../mol/after/mock/mock.test.ts","../../../mol/after/timeout/timeout.test.ts","../../../mol/after/frame/frame.test.ts","../../../mol/wire/fiber/fiber.test.ts","../../../mol/promise/promise/promise.ts","../../../mol/wire/sync/sync.test.ts","../../../mol/wait/timeout/timeout.ts","../../../mol/wire/async/async.test.ts","../../../mol/wire/solo/solo.test.ts","../../../mol/wire/plex/plex.test.ts","../../../mol/wire/probe/probe.test.ts","../../../mol/after/tick/tick.test.ts","../../../mol/wrapper/wrapper.test.ts","../../../mol/memo/memo.test.ts","../../../mol/key/key.test.tsx","../../../mol/wire/log/log.ts","../../../mol/wire/atom/atom.test.ts","../../../mol/const/const.test.ts","../../../mol/view/view/view.test.ts","../../../mol/view/tree/test/-view.tree/simple.test.view.tree.ts","../../../mol/view/tree/test/-view.tree/binding.test.view.tree.ts","../../../mol/view/tree/test/-view.tree/attributes.test.view.tree.ts","../../../mol/view/tree/test/-view.tree/subcomponent.test.view.tree.ts","../../../mol/view/tree/test/-view.tree/binding_right.test.view.tree.ts","../../../mol/view/tree/test/tree.test.ts","../../../mol/span/span.test.ts","../../../mol/tree2/tree2.test.ts","../../../mol/tree2/from/string/string.test.ts","../../../mol/tree2/from/json/json.test.ts","../../../mol/tree/tree.ts","../../../mol/tree/tree.test.ts","../../../mol/state/local/local.test.ts","../../../mol/state/local/local.mock.test.ts","../../../mol/charset/decode/decode.test.ts","../../../mol/charset/encode/encode.test.ts","../../../mol/compare/array/array.test.ts","../../../mol/locale/locale.test.ts","../../../mol/view/tree/tree.ts","../../../mol/style/sheet/sheet.test.ts","../../../mol/button/button.test.ts","../../../mol/maybe/maybe.test.ts","../../../mol/state/session/session.test.ts","../../../mol/store/store.test.ts","../../../mol/data/setup/setup.test.ts","../../../mol/data/number/number.test.ts","../../../mol/data/string/string.test.ts","../../../mol/data/record/record.test.ts","../../../mol/data/optional/optional.test.ts","../../../mol/data/array/array.test.ts","../../../mol/regexp/regexp.test.ts","../../../mol/dimmer/dimmer.test.ts","../../../mol/data/boolean/boolean.test.ts","../../../mol/data/nullable/nullable.test.ts","../../../mol/data/const/const.test.ts","../../../mol/data/dict/dict.test.ts","../../../mol/data/variant/variant.test.ts","../../../mol/data/enum/enum.test.ts"],"names":[],"sourceRoot":"../../../","mappings":"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,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAIz3O,2BAAyB,GAAG;QACzC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QACt9a,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAC7qb,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QACzpb,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAA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EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC;YAC7R,MAAM,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC;YAC9S,MAAM,EAAC,CAAC,CAAC,EAAC,WAAW,EAAC,UAAU,EAAC,UAAU,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,GAAG,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,CAAC;YAC9mC,KAAK,EAAC,CAAC,CAAC,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,SAAS,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,CAAC;YAClnC,KAAK,EAAC,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,CAAC,EAAC,IAAI,EAAC,KAAK,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;YAC5Z,MAAM,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,CAAC;YACpc,MAAM,EAAC,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;YACxe,MAAM,EAAC,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,GAAG,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,CAAC;YAC1f,OAAO,EAAC,CAAC,CAAC,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,GAAG,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,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E,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC/G,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC5I,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;oBACzK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CA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","sourcesContent":["Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\n\texport const $mol_ambient_ref : unique symbol = Symbol( '$mol_ambient_ref' )\n\n\t/** @deprecated use $ instead */\n\texport type $mol_ambient_context = $\n\n\texport function $mol_ambient( this : $ | void , overrides : Partial< $ > ) : $ {\n\t\treturn Object.setPrototypeOf( overrides , this || $ )\n\t}\n\n}\n","namespace $ {\n\n\tconst instances = new WeakSet< any >()\n\n\t/**\n\t * Proxy that delegates all to lazy returned target.\n\t * \n\t * \t$mol_delegate( Array.prototype , ()=> fetch_array() )\n\t */\n export function $mol_delegate< Value extends object >(\n\t\tproto : Value ,\n\t\ttarget : ()=> Value ,\n\t) {\n\n\t\tconst proxy = new Proxy( proto , {\n\n\t\t\tget: ( _ , field )=> {\n\t\t\t\tconst obj = target()\n\t\t\t\tlet val = Reflect.get( obj , field )\n\t\t\t\tif( typeof val === 'function' ) {\n\t\t\t\t\tval = val.bind( obj )\n\t\t\t\t} \n\t\t\t\treturn val\n\t\t\t},\n\t\t\thas: ( _ , field )=> Reflect.has( target(), field ),\n\t\t\tset: ( _ , field , value )=> Reflect.set( target() , field , value ),\n\t\t\t\n\t\t\tgetOwnPropertyDescriptor: ( _ , field )=> Reflect.getOwnPropertyDescriptor( target() , field ),\n\t\t\townKeys: ()=> Reflect.ownKeys( target() ),\n\t\t\t\n\t\t\tgetPrototypeOf: ()=> Reflect.getPrototypeOf( target() ),\n\t\t\tsetPrototypeOf: ( _ , donor )=> Reflect.setPrototypeOf( target() , donor ),\n\t\t\t\n\t\t\tisExtensible: ()=> Reflect.isExtensible( target() ),\n\t\t\tpreventExtensions: ()=> Reflect.preventExtensions( target() ),\n\t\t\t\n\t\t\tapply: ( _ , self , args )=> Reflect.apply( target() as Function , self , args ),\n\t\t\tconstruct: ( _ , args , retarget )=> Reflect.construct( target() as Function , args , retarget ),\n\t\t\t\n\t\t\tdefineProperty: ( _ , field , descr )=> Reflect.defineProperty( target() , field , descr ),\n\t\t\tdeleteProperty: ( _ , field )=> Reflect.deleteProperty( target() , field ),\n\n\t\t} )\n\n\t\tinstances.add( proxy )\n\n\t\treturn proxy\n\n\t}\n\n\tReflect.defineProperty(\n\t\t$mol_delegate ,\n\t\tSymbol.hasInstance ,\n\t\t{\n\t\t\tvalue : ( obj : object )=> instances.has( obj ),\n\t\t},\n\t)\n\n}\n","namespace $ {\n\n\texport const $mol_owning_map = new WeakMap< any , any >()\n\n\texport function $mol_owning_allow< Having >(\n\t\thaving : Having ,\n\t) : having is Having & {\n\t\tdestructor() : void\n\t} {\n\t\ttry {\n\t\t\tif( !having ) return false\n\t\t\tif( typeof having !== 'object' && typeof having !== 'function' ) return false\n\t\t\tif( having instanceof $mol_delegate ) return false\n\t\t\tif( typeof (having as any)['destructor'] !== 'function' ) return false\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n\texport function $mol_owning_get< Having , Owner extends object >( having : Having , Owner? : { new() : Owner } ) : Owner | null {\n\t\n\t\tif( !$mol_owning_allow( having ) ) return null\n\n\t\twhile( true ) {\n\n\t\t\tconst owner = $mol_owning_map.get( having )\n\t\t\tif( !owner ) return owner\n\t\t\tif( !Owner ) return owner\n\t\t\t\n\t\t\tif( owner instanceof Owner ) return owner\n\n\t\t\thaving = owner\n\t\t}\n\n\t}\n\t\n\texport function $mol_owning_check< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) : having is Having & { destructor() : void } {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) !== owner ) return false\n\t\treturn true\n\t}\n\t\n\texport function $mol_owning_catch< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) ) return false\n\n\t\t$mol_owning_map.set( having , owner )\n\t\treturn true\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail_hidden( error : any ) : never {\n\t\tthrow error /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script\n\t}\n\n}\n","namespace $ {\n\t\n\tconst named = new WeakSet< Function >()\n\t\n\texport function $mol_func_name( this : $ , func : Function ) : string {\n\t\t\n\t\tlet name = func.name\n\t\tif( name?.length > 1 ) return name\n\t\tif( named.has( func ) ) return name\n\n\t\tfor( let key in this ) {\n\t\t\ttry {\n\t\t\t\tif( (this as any)[ key ] !== func ) continue\n\t\t\t\tname = key\n\t\t\t\tObject.defineProperty( func , 'name' , { value : name } )\n\t\t\t\tbreak\n\t\t\t} catch {}\n\t\t}\n\n\t\tnamed.add( func )\n\t\treturn name\n\t\t\n\t}\n\n\texport function $mol_func_name_from< Target extends Function >( target : Target , source : Function ) {\n\t\tObject.defineProperty( target , 'name' , { value : source.name } )\n\t\treturn target\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_object2 {\n\t\t\n\t\tstatic $ = $ as any as $\n\t\t\n\t\t[Symbol.toStringTag]!: string\n\n\t\t[ $mol_ambient_ref ] = null as any as $\n\t\tget $() {\n\t\t\tif( this[ $mol_ambient_ref ] ) return this[ $mol_ambient_ref ]\n\t\t\tconst owner = $mol_owning_get( this ) as any\n\t\t\treturn this[ $mol_ambient_ref ] = owner?.$ || $mol_object2.$ as $\n\t\t}\n\t\tset $( next : $ ) {\n\t\t\tif( this[ $mol_ambient_ref ] ) $mol_fail_hidden( new Error( 'Context already defined' ) )\n\t\t\tthis[ $mol_ambient_ref ] = next\n\t\t}\n\n\t\tpublic static create< Instance >(\n\t\t\tthis : new( init? : ( instance : any )=> void )=> Instance ,\n\t\t\tinit? : ( instance : $mol_type_writable )=> void\n\t\t) : Instance {\n\t\t\tconst obj = new this\n\t\t\tif( init ) init( obj )\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn ( this as any )[ Symbol.toStringTag ] || this.$.$mol_func_name( this )\n\t\t}\n\t\t\n\t\tstatic toJSON() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tdestructor() { }\n\t\tstatic destructor() { }\n\t\t\n\t\t//[ Symbol.toPrimitive ]( hint: string ) {\n\t\t//\treturn hint === 'number' ? this.valueOf() : this.toString()\n\t\t//}\n\t\t\n\t\ttoString(): string {\n\t\t\treturn this[ Symbol.toStringTag ] || this.constructor.name + '<>'\n\t\t}\n\t\t\n\t\t// toJSON(): any {\n\t\t// \treturn this.toString()\n\t\t// }\n\n\t}\n}\n","namespace $ {\n\n\texport namespace $$ { let $ }\n\n\texport const $mol_object_field = Symbol( '$mol_object_field' )\n\t\n\texport class $mol_object extends $mol_object2 {\n\t\t\n\t\tpublic static make< This extends typeof $mol_object >(\n\t\t\tthis: This,\n\t\t\tconfig: Partial< InstanceType< This > >,\n\t\t) {\n\t\t\treturn super.create( obj => {\n\t\t\t\tfor( let key in config ) ( obj as any )[ key ] = config[ key ]!\n\t\t\t} ) as InstanceType< This >\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\texport class $mol_window extends $mol_object {\n\t\t\n\t\tstatic size() {\n\t\t\treturn {\n\t\t\t\twidth: 1024,\n\t\t\t\theight: 768,\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** Special status statuses. */\n\texport enum $mol_wire_cursor {\n\t\t\n\t\t/** Update required. */\n\t\tstale = -1,\n\t\t\n\t\t/** Some of (transitive) pub update required. */\n\t\tdoubt = -2,\n\t\t\n\t\t/** Actual state but may be dropped. */\n\t\tfresh = -3,\n\t\t\n\t\t/** State will never be changed. */\n\t\tfinal = -4,\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Collects subscribers in compact array. 28B\n\t */\n\texport class $mol_wire_pub extends Object {\n\t\t\n\t\tdata = [] as unknown[]\n\t\t\n\t\t// Derived objects should be Arrays.\n\t\tstatic get [ Symbol.species ]() {\n\t\t\treturn Array\n\t\t}\n\t\t\n\t\t/**\n\t\t * Index of first subscriber.\n\t\t */\n\t\tprotected sub_from = 0 // 4B\n\t\t\n\t\t/**\n\t\t * All current subscribers.\n\t\t */\n\t\tget sub_list() {\n\t\t\tconst res = [] as $mol_wire_sub[]\n\t\t\tfor( let i = this.sub_from; i < this.data.length; i += 2 ) {\n\t\t\t\tres.push( this.data[i] as $mol_wire_sub )\n\t\t\t}\n\t\t\treturn res as readonly $mol_wire_sub[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * Has any subscribers or not.\n\t\t */\n\t\tget sub_empty() {\n\t\t\treturn this.sub_from === this.data.length\n\t\t}\n\t\t\n\t\t/**\n\t\t * Subscribe subscriber to this publisher events and return position of subscriber that required to unsubscribe.\n\t\t */\n\t\tsub_on( sub: $mol_wire_pub, pub_pos: number ) {\n\t\t\tconst pos = this.data.length\n\t\t\tthis.data.push( sub, pub_pos )\n\t\t\treturn pos\n\t\t}\n\t\t\n\t\t/**\n\t\t * Unsubscribe subscriber from this publisher events by subscriber position provided by `on(pub)`.\n\t\t */\n\t\tsub_off( sub_pos: number ) {\n\t\t\t\n\t\t\tif(!( sub_pos < this.data.length )) {\n\t\t\t\t$mol_fail( new Error( `Wrong pos ${ sub_pos }` ) )\n\t\t\t}\n\t\t\t\n\t\t\tconst end = this.data.length - 2\n\t\t\tif( sub_pos !== end ) {\n\t\t\t\tthis.peer_move( end, sub_pos )\n\t\t\t}\n\t\t\t\n\t\t\tthis.data.pop()\n\t\t\tthis.data.pop()\n\t\t\t\n\t\t\tif( this.data.length === this.sub_from ) this.reap()\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Called when last sub was unsubscribed.\n\t\t **/\n\t\treap() { }\n\t\t\n\t\t/**\n\t\t * Autowire this publisher with current subscriber.\n\t\t **/\n\t\tpromote() {\n\t\t\t$mol_wire_auto()?.track_next( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Enforce actualization. Should not throw errors.\n\t\t */\n\t\tfresh() {}\n\t\t\n\t\t/**\n\t\t * Allow to put data to caches in the subtree.\n\t\t */\n\t\tcomplete() {}\n\t\t\n\t\tget incompleted() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * Notify subscribers about self changes.\n\t\t */\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tfor( let i = this.sub_from; i < this.data.length; i += 2 ) {\n\t\t\t\t;( this.data[i] as $mol_wire_sub ).absorb( quant )\n\t\t\t}\n\t\t}\n\t\t\n\t\t/**\n\t\t * Moves peer from one position to another. Doesn't clear data at old position!\n\t\t */\n\t\tpeer_move( from_pos: number, to_pos: number ) {\n\t\t\t\n\t\t\tconst peer = this.data[ from_pos ] as $mol_wire_pub\n\t\t\tconst self_pos = this.data[ from_pos + 1 ] as number\n\t\t\t\n\t\t\tthis.data[ to_pos ] = peer\n\t\t\tthis.data[ to_pos + 1 ] = self_pos\n\t\t\t\n\t\t\tpeer.peer_repos( self_pos, to_pos )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Updates self position in the peer.\n\t\t */\n\t\tpeer_repos( peer_pos: number, self_pos: number ) {\n\t\t\tthis.data[ peer_pos + 1 ] = self_pos\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport let $mol_wire_auto_sub: $mol_wire_sub | null = null\n\t\n\t/**\n\t * When fulfilled, all publishers are promoted to this subscriber on access to its.\n\t */\n\texport function $mol_wire_auto( next = $mol_wire_auto_sub ) {\n\t\treturn $mol_wire_auto_sub = next\n\t}\n\t\n\t/**\n\t * Affection queue. Used to prevent accidental stack overflow on emit.\n\t */\n\texport const $mol_wire_affected = [] as ( $mol_wire_sub | number )[]\n\t\n}\n","namespace $ {\n\n\t// https://docs.google.com/document/d/1FTascZXT9cxfetuPRT2eXPQKXui4nWFivUnS_335T3U/preview#\n\t($ as any)['devtoolsFormatters'] ||= []\n\n\texport function $mol_dev_format_register( config : {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> false\n\t} | {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> boolean\n\t\tbody : ( val : any , config : any )=> any\n\t} ) {\n\t\t($ as any)['devtoolsFormatters'].push( config )\n\t}\n\n\texport let $mol_dev_format_head = Symbol( '$mol_dev_format_head' )\n\texport let $mol_dev_format_body = Symbol( '$mol_dev_format_body' )\n\n\t$mol_dev_format_register({\n\n\t\theader : ( val : any , config = false ) => {\n\t\t\t\n\t\t\tif( config ) return null\n\n\t\t\tif( !val ) return null\n\t\t\t\n\t\t\tif( $mol_dev_format_head in val ) {\n\t\t\t\ttry {\n\t\t\t\t\treturn val[ $mol_dev_format_head ]()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\treturn $mol_dev_format_accent( $mol_dev_format_native( val ), '💨', $mol_dev_format_native( error ), '' )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( typeof val === 'function' ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\tif( Symbol.toStringTag in val ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t\t\n\t\t} ,\n\t\t\n\t\thasBody : val => val[ $mol_dev_format_body ] ,\n\n\t\tbody : val => val[ $mol_dev_format_body ]() ,\n\n\t})\n\n\texport function $mol_dev_format_native( obj : any ) {\n\t\t\n\t\tif( typeof obj === 'undefined' ) return $mol_dev_format_shade( 'undefined' )\n\t\t\n\t\t// if( ![ 'object', 'function', 'symbol' ].includes( typeof obj ) ) return obj\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : true ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_auto( obj : any ) {\n\t\t\n\t\tif( obj == null ) return $mol_dev_format_shade( String( obj ) )\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : false ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_element( element : string , style : object , ...content : any[] ) {\n\t\t\t\n\t\tconst styles = [] as string[]\n\t\t\n\t\tfor( let key in style ) styles.push( `${ key } : ${ (style as any)[key] }` )\n\t\t\n\t\treturn [\n\t\t\telement ,\n\t\t\t{\n\t\t\t\tstyle : styles.join( ' ; ' ) ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_span( style : object , ...content : any[] ) {\n\t\treturn $mol_dev_format_element(\n\t\t\t'span' ,\n\t\t\t{\n\t\t\t\t// 'vertical-align' : '8%',\n\t\t\t\t... style ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t)\n\t}\n\n\texport let $mol_dev_format_div = $mol_dev_format_element.bind( null , 'div' )\n\texport let $mol_dev_format_ol = $mol_dev_format_element.bind( null , 'ol' )\n\texport let $mol_dev_format_li = $mol_dev_format_element.bind( null , 'li' )\n\texport let $mol_dev_format_table = $mol_dev_format_element.bind( null , 'table' )\n\texport let $mol_dev_format_tr = $mol_dev_format_element.bind( null , 'tr' )\n\texport let $mol_dev_format_td = $mol_dev_format_element.bind( null , 'td' )\n\n\texport let $mol_dev_format_accent = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'magenta' ,\n\t} )\n\n\texport let $mol_dev_format_strong = $mol_dev_format_span.bind( null , {\n\t\t'font-weight' : 'bold' ,\n\t} )\n\n\texport let $mol_dev_format_string = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'green',\n\t} )\n\n\texport let $mol_dev_format_shade = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'gray',\n\t} )\n\n\texport let $mol_dev_format_indent = $mol_dev_format_div.bind( null , {\n\t\t'margin-left': '13px'\n\t} )\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Publisher that can auto collect other publishers. 32B\n\t * \n\t * \tP1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^\n\t * \tpubs_from subs_from\n\t */\n\texport class $mol_wire_pub_sub extends $mol_wire_pub implements $mol_wire_sub {\n\t\t\n\t\tprotected pub_from = 0 // 4B\n\t\tprotected cursor = $mol_wire_cursor.stale // 4B\n\t\t\n\t\tget temp() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\tget pub_list() {\n\t\t\tconst res = [] as $mol_wire_pub[]\n\t\t\tconst max = this.cursor >=0 ? this.cursor : this.sub_from\n\t\t\tfor( let i = this.pub_from; i < max; i += 2 ) {\n\t\t\t\tif( this.data[i] ) res.push( this.data[i] as $mol_wire_pub )\n\t\t\t}\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttrack_on() {\n\t\t\tthis.cursor = this.pub_from\n\t\t\tconst sub = $mol_wire_auto()\n\t\t\t$mol_wire_auto( this )\n\t\t\treturn sub\n\t\t}\n\t\t\n\t\tpromote() {\n\t\t\t\n\t\t\tif( this.cursor >= this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Circular subscription' ) )\n\t\t\t}\n\t\t\t\n\t\t\tsuper.promote()\n\t\t}\n\t\t\n\t\ttrack_next( pub?: $mol_wire_pub ): $mol_wire_pub | null {\n\t\t\t\n\t\t\tif( this.cursor < 0 ) $mol_fail( new Error( 'Promo to non begun sub' ) )\n\t\t\t\n\t\t\tif( this.cursor < this.sub_from ) {\n\t\t\t\n \t\t\t\tconst next = this.data[ this.cursor ] as $mol_wire_pub | undefined\n\t\t\t\tif( pub === undefined ) return next ?? null\n\t\t\t\t\n\t\t\t\tif( next === pub ) {\n\t\t\t\t\tthis.cursor += 2\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( next ) {\n\t\t\t\t\t\n\t\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\t\tthis.peer_move( this.sub_from, this.data.length )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.peer_move( this.cursor, this.sub_from )\n\t\t\t\t\tthis.sub_from += 2\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tif( pub === undefined ) return null\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.sub_from, this.data.length )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.sub_from += 2\n\t\t\t\t\n\t\t\t}\t\t\t\n\t\t\t\n\t\t\tthis.data[ this.cursor ] = pub\n\t\t\tthis.data[ this.cursor + 1 ] = pub.sub_on( this, this.cursor )\n\t\t\t\n\t\t\tthis.cursor += 2\n\t\t\t\n\t\t\treturn pub\n\t\t}\n\t\t\n\t\ttrack_off( sub: $mol_wire_sub | null ) {\n\t\t\t\n\t\t\t$mol_wire_auto( sub )\n\t\t\t\n\t\t\tif( this.cursor < 0 ) {\n\t\t\t\t$mol_fail( new Error( 'End of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < this.cursor;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tpub.fresh()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t}\n\t\t\n\t\tpub_off( sub_pos: number ) {\n\t\t\tthis.data[ sub_pos ] = undefined as any\n\t\t\tthis.data[ sub_pos + 1 ] = undefined as any \n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.data.length - 2;\n\t\t\t\tcursor >= this.sub_from;\n\t\t\t\tcursor -= 2\n\t\t\t) {\n\t\t\t\tconst sub = this.data[ cursor ] as $mol_wire_sub\n\t\t\t\tconst pos = this.data[ cursor + 1 ] as number\n\t\t\t\tsub.pub_off( pos )\n\t\t\t\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = this.pub_from\n\t\t\tthis.track_cut()\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t\t\n\t\t}\n\t\t\n\t\ttrack_cut() {\n\t\t\t\n\t\t\tif( this.cursor < this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Cut of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tlet tail = 0\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.cursor;\n\t\t\t\tcursor < this.sub_from;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\t\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub | undefined\n\t\t\t\tpub?.sub_off( this.data[ cursor + 1 ] as number )\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.data.length - 2, cursor )\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t} else {\n\t\t\t\t\t++ tail\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor(; tail; -- tail ) {\n\t\t\t\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\n\t\t\t\n\t\t\tthis.sub_from = this.cursor\n\t\t\t\n\t\t}\n\t\t\n\t\tcomplete() { }\n\t\t\n\t\tcomplete_pubs() {\n\t\t\t\n\t\t\tconst limit = this.cursor < 0 ? this.sub_from : this.cursor \n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < limit;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tif( pub?.incompleted ) return \n\t\t\t}\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < limit;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tpub?.complete()\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tabsorb( quant = $mol_wire_cursor.stale ) {\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\tif( this.cursor >= quant ) return\n\t\t\t\n\t\t\tthis.cursor = quant\n\t\t\tthis.emit( $mol_wire_cursor.doubt )\n\t\t\t\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_native( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Is subscribed to any publisher or not.\n\t\t */\n\t\tget pub_empty() {\n\t\t\treturn this.sub_from === this.pub_from\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_timeout extends $mol_object2 {\n\n\t\tid : any\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = setTimeout( task , delay )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tclearTimeout( this.id )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_frame extends $mol_after_timeout {\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper( 16 , task )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_promise_like( val: any ): val is Promise {\n\t\treturn val && typeof val === 'object' && 'then' in val && typeof val.then === 'function'\n\t}\n\n}\n","namespace $ {\n\t\n\tconst handled = new WeakSet< Promise< unknown > >()\n\t\n\t/**\n\t * Suspendable task with support both sync/async api.\n\t * \n\t * \tA1 A2 A3 A4 P1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^ ^\n\t * \targs_from pubs_from subs_from\n\t **/\n\texport abstract class $mol_wire_fiber<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_pub_sub {\n\t\n\t\tstatic warm = true\n\t\t\n\t\tstatic planning = new Set< $mol_wire_fiber< any, any, any > >()\n\t\tstatic reaping = new Set< $mol_wire_fiber< any, any, any > >()\n\t\t\n\t\tstatic plan_task: $mol_after_frame | null = null\n\t\tstatic plan() {\n\t\t\t\n\t\t\tif( this.plan_task ) return\n\t\t\t\n\t\t\tthis.plan_task = new $mol_after_frame( ()=> {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tthis.sync()\n\t\t\t\t} finally {\n\t\t\t\t\t$mol_wire_fiber.plan_task = null\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic sync() {\n\t\t\t\n\t\t\t// Sync whole fiber graph\n\t\t\twhile( this.planning.size ) {\n\t\t\t\tfor( const fiber of this.planning ) {\n\t\t\t\t\tthis.planning.delete( fiber )\n\t\t\t\t\tif( fiber.cursor >= 0 ) continue\n\t\t\t\t\tif( fiber.cursor === $mol_wire_cursor.final ) continue\n\t\t\t\t\tfiber.fresh()\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// Collect garbage\n\t\t\twhile( this.reaping.size ) {\n\t\t\t\t\n\t\t\t\tconst fibers = this.reaping\n\t\t\t\tthis.reaping = new Set\n\t\t\t\t\n\t\t\t\tfor( const fiber of fibers ) {\n\t\t\t\t\tif( !fiber.sub_empty ) continue\n\t\t\t\t\tfiber.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t[Symbol.toStringTag]!: string\n\n\t\tpublic cache: Result | Error | Promise< Result | Error > = undefined as any\n\t\t\n\t\tget args() {\n\t\t\treturn this.data.slice( 0 , this.pub_from ) as any as Args\n\t\t}\n\t\t\n\t\tresult() {\n\t\t\tif( $mol_promise_like( this.cache ) ) return\n\t\t\tif( this.cache instanceof Error ) return\n\t\t\treturn this.cache\n\t\t}\n\t\t\n\t\tget incompleted() {\n\t\t\treturn $mol_promise_like( this.cache )\n\t\t}\n\t\t\n\t\tfield() {\n\t\t\treturn this.task.name + '<>'\n\t\t}\n\t\t\n\t\tconstructor(\n\t\t\tid: string,\n\t\t\treadonly task: ( this : Host , ... args : Args )=> Result,\n\t\t\treadonly host?: Host,\n\t\t\targs?: Args\n\t\t) {\n\t\t\t\n\t\t\tsuper()\n\t\t\tif( args ) this.data.push( ... args )\n\t\t\tthis.pub_from = this.sub_from = args?.length ?? 0\n\t\t\tthis[ Symbol.toStringTag ] = id\n\t\t\t\n\t\t}\n\t\t\n\t\tplan() {\n\t\t\t$mol_wire_fiber.planning.add( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t}\n\t\t\n\t\treap() {\n\t\t\t$mol_wire_fiber.reaping.add( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t}\n\t\t\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\t[ $mol_dev_format_head ]() {\n\t\t\t\n\t\t\tconst cursor = {\n\t\t\t\t[ $mol_wire_cursor.stale ]: '🔴',\n\t\t\t\t[ $mol_wire_cursor.doubt ]: '🟡',\n\t\t\t\t[ $mol_wire_cursor.fresh ]: '🟢',\n\t\t\t\t[ $mol_wire_cursor.final ]: '🔵',\n\t\t\t}[ this.cursor ] ?? this.cursor.toString()\n\t\t\t\n\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t$mol_owning_check( this, this.cache )\n\t\t\t\t\t? $mol_dev_format_auto({\n\t\t\t\t\t\t[ $mol_dev_format_head ]: ()=> $mol_dev_format_shade( cursor ),\n\t\t\t\t\t\t[ $mol_dev_format_body ]: ()=> $mol_dev_format_native( this ),\n\t\t\t\t\t})\n\t\t\t\t\t: $mol_dev_format_shade( $mol_dev_format_native( this ), cursor ),\n\t\t\t\t$mol_dev_format_auto( this.cache ),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tget $() {\n\t\t\treturn ( this.host ?? this.task as any )['$']\n\t\t}\n\t\t\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tif( this.sub_empty ) this.plan()\n\t\t\telse super.emit( quant )\n\t\t}\n\t\t\n\t\tfresh() {\n\n\t\t\ttype Result = typeof this.cache\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.fresh ) return\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\t\n\t\t\tcheck: if( this.cursor === $mol_wire_cursor.doubt ) {\n\t\t\t\t\n\t\t\t\tfor( let i = this.pub_from ; i < this.sub_from; i += 2 ) {\n\t\t\t\t\t;( this.data[i] as $mol_wire_pub )?.fresh()\n\t\t\t\t\tif( this.cursor !== $mol_wire_cursor.doubt ) break check\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\treturn\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst bu = this.track_on()\n\t\t\tlet result: typeof this.cache\n\n\t\t\ttry {\n\n\t\t\t\tswitch( this.pub_from ) {\n\t\t\t\t\tcase 0: result = (this.task as any).call( this.host! ); break\n\t\t\t\t\tcase 1: result = (this.task as any).call( this.host!, this.data[0] ); break\n\t\t\t\t\tdefault: result = (this.task as any).call( this.host!, ... this.args ); break\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst put = ( res: Result )=> {\n\t\t\t\t\t\tif( this.cache === result ) this.put( res )\n\t\t\t\t\t\treturn res\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tresult = Object.assign( result.then( put, put ), {\n\t\t\t\t\t\tdestructor: (result as any)['destructor'] ?? (()=> {})\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t\thandled.add( result )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tif( error instanceof Error || $mol_promise_like( error ) ) {\n\t\t\t\t\tresult = error\n\t\t\t\t} else {\n\t\t\t\t\tresult = new Error( String( error ), { cause: error } )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( result ) && !handled.has( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tresult = Object.assign( result.finally( ()=> {\n\t\t\t\t\t\tif( this.cache === result ) this.absorb()\n\t\t\t\t\t} ), {\n\t\t\t\t\t\tdestructor: (result as any)['destructor'] ?? (()=> {})\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t\thandled.add( result )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( ! $mol_promise_like( result ) ) {\n\t\t\t\tthis.track_cut()\n\t\t\t}\n\t\t\t\n\t\t\tthis.track_off( bu )\n\t\t\tthis.put( result )\n\n\t\t}\n\t\t\n\t\trefresh() {\n\t\t\tthis.cursor = $mol_wire_cursor.stale\n\t\t\tthis.fresh()\n\t\t}\n\t\t\n\t\tabstract put( next: Result | Error | Promise< Result | Error > ): Result | Error | Promise< Result | Error >\n\t\t\n\t\t/**\n\t\t * Synchronous execution. Throws Promise when waits async task (SuspenseAPI provider).\n\t\t * Should be called inside SuspenseAPI consumer (ie fiber).\n\t\t */\n\t\tsync() {\n\t\t\t\n\t\t\tif( !$mol_wire_fiber.warm ) {\n\t\t\t\treturn this.result() as Awaited< Result >\n\t\t\t}\n\t\t\t\n\t\t\tthis.promote()\n\t\t\tthis.fresh()\n\t\t\t\n\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\tif( $mol_promise_like( this.cache ) ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.cache as Awaited< Result >\n\t\t}\n\n\t\t/**\n\t\t * Asynchronous execution.\n\t\t * It's SuspenseAPI consumer. So SuspenseAPI providers can be called inside.\n\t\t */\n\t\tasync async() {\n\t\t\t\n\t\t\twhile( true ) {\n\t\t\t\t\n\t\t\t\tthis.fresh()\n\t\t\t\t\n\t\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\t\t$mol_fail_hidden( this.cache )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( ! $mol_promise_like( this.cache ) ) return this.cache\n\t\t\t\t\t\n\t\t\t\tawait Promise.race([ this.cache, this.step() ])\n\t\t\t\tif( ! $mol_promise_like( this.cache ) ) return this.cache\n\t\t\t\t\t\n\t\t\t\tif( this.cursor === $mol_wire_cursor.final ) {\n\t\t\t\t\t// never ends on destructed fiber\n\t\t\t\t\tawait new Promise( ()=> {} )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tstep() {\n\t\t\treturn new Promise< null >( done => {\n\t\t\t\tconst sub = new $mol_wire_pub_sub\n\t\t\t\tconst prev = sub.track_on()\n\t\t\t\tsub.track_next( this )\n\t\t\t\tsub.track_off( prev )\n\t\t\t\tsub.absorb = ()=> {\n\t\t\t\t\tdone( null )\n\t\t\t\t\tsub.destructor()\n\t\t\t\t}\n\t\t\t} )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Generates unique identifier. */\n\texport function $mol_guid(\n\t\tlength = 8,\n\t\texists: ( id: string )=> boolean = ()=> false,\n\t) {\n\n\t\tfor(;;) {\n\n\t\t\tlet id = Math.random().toString( 36 ).substring( 2, length + 2 ).toUpperCase()\n\t\t\tif( exists( id ) ) continue\n\t\t\t\n\t\t\treturn id\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport const $mol_key_store = new WeakMap< object, string >()\n\n\t/** Returns string key for any value. */\n\texport function $mol_key< Value >( value : Value ) : string {\n\t\t\n\t\tif( typeof value === 'bigint' ) return value.toString() + 'n'\n\t\tif( typeof value === 'symbol' ) return value.description!\n\t\tif( !value ) return JSON.stringify( value )\n\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return JSON.stringify( value )\n\t\t\n\t\treturn JSON.stringify( value, ( field, value )=> {\n\t\t\t\n\t\t\tif( typeof value === 'bigint' ) return value.toString() + 'n'\n\t\t\tif( typeof value === 'symbol' ) return value.description\n\t\t\tif( !value ) return value\n\t\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return value\n\t\t\tif( Array.isArray( value ) ) return value\n\t\t\t\n\t\t\tconst proto = Reflect.getPrototypeOf( value )\n\t\t\tif( !proto ) return value\n\t\t\tif( Reflect.getPrototypeOf( proto ) === null ) return value\n\t\t\t\n\t\t\tif( 'toJSON' in value ) return value\n\t\t\tif( value instanceof RegExp ) return value.toString()\n\t\t\tif( value instanceof Uint8Array ) return [ ... value ]\n\t\t\t\n\t\t\tlet key = $mol_key_store.get( value )\n\t\t\tif( key ) return key\n\t\t\t\n\t\t\tkey = $mol_guid()\n\t\t\t$mol_key_store.set( value, key )\n\t\t\t\n\t\t\treturn key\n\t\t} )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport let $mol_compare_deep_cache = new WeakMap< any , WeakMap< any , boolean > >()\n\t\n\t/**\n\t * Deeply compares two values. Returns true if equal.\n\t * Define `Symbol.toPrimitive` to customize.\n\t */\n\texport function $mol_compare_deep< Value >( left: Value, right: Value ): boolean {\n\n\t\tif( Object.is( left , right ) ) return true\n\n\t\tif( left === null ) return false\n\t\tif( right === null ) return false\n\n\t\tif( typeof left !== 'object' ) return false\n\t\tif( typeof right !== 'object' ) return false\n\n\t\tconst left_proto = Reflect.getPrototypeOf( left as any )\n\t\tconst right_proto = Reflect.getPrototypeOf( right as any )\n\t\t\n\t\tif( left_proto !== right_proto ) return false\n\n\t\tif( left instanceof Boolean ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Number ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof String ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Date ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof RegExp ) return left.source === (right as any).source && left.flags === (right as any).flags\n\t\tif( left instanceof Error ) return left.message === (right as any).message && left.stack === (right as any).stack\n\n\t\tlet left_cache = $mol_compare_deep_cache.get( left )\n\t\tif( left_cache ) {\n\n\t\t\tconst right_cache = left_cache.get( right )\n\t\t\tif( typeof right_cache === 'boolean' ) return right_cache\n\n\t\t} else {\n\t\t\t\n\t\t\tleft_cache = new WeakMap< any , boolean >([[ right, true ]])\n\t\t\t$mol_compare_deep_cache.set( left , left_cache )\n\n\t\t}\n\n\t\tlet result!: boolean\n\n\t\ttry {\n\t\t\t\n\t\t\tif( !left_proto ) result = compare_pojo( left, right as any )\n\t\t\telse if( !Reflect.getPrototypeOf( left_proto ) ) result = compare_pojo( left, right as any )\n\t\t\telse if( Symbol.toPrimitive in left ) result = compare_primitive( left, right )\n\t\t\telse if( Array.isArray( left ) ) result = compare_array( left, right as any )\n\t\t\telse if( left instanceof Set ) result = compare_set( left, right as any )\n\t\t\telse if( left instanceof Map ) result = compare_map( left, right as any )\n\t\t\telse if( ArrayBuffer.isView( left ) ) result = compare_buffer( left, right as any )\n\t\t\telse if( Symbol.iterator in left ) result = compare_iterator( ( left as any )[ Symbol.iterator ](), ( right as any )[ Symbol.iterator ]() )\n\t\t\telse result = false\n\n\t\t} finally {\n\t\t\tleft_cache.set( right , result )\n\t\t}\n\t\t\n\t\treturn result\n\t}\n\n\tfunction compare_array< Value extends any[] >( left: Value, right: Value ): boolean {\n\t\t\n\t\tconst len = left.length\n\t\tif( len !== right.length ) return false\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( !$mol_compare_deep( left[i] , right[i] ) ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_buffer( left: ArrayBufferView, right: ArrayBufferView ): boolean {\n\t\t\n\t\tconst len = left.byteLength\n\t\tif( len !== right.byteLength ) return false\n\t\t\n\t\tif( left instanceof DataView ) return compare_buffer(\n\t\t\tnew Uint8Array( left.buffer, left.byteOffset, left.byteLength ),\n\t\t\tnew Uint8Array( right.buffer, left.byteOffset, left.byteLength ),\n\t\t)\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( (left as any)[i] !== (right as any)[i] ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_iterator< Value extends IterableIterator >(\n\t\tleft: Value,\n\t\tright: Value,\n\t): boolean {\n\t\t\n\t\twhile( true ) {\n\n\t\t\tconst left_next = left.next()\n\t\t\tconst right_next = right.next()\n\n\t\t\tif( left_next.done !== right_next.done ) return false\n\t\t\tif( left_next.done ) break\n\n\t\t\tif( !$mol_compare_deep( left_next.value , right_next.value ) ) return false\n\n\t\t}\n\n\t\treturn true\n\n\t}\n\t\n\tfunction compare_set< Value extends Set >( left: Value, right: Value ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_map< Key, Value >( left: Map< Key, Value > , right: Map< Key, Value > ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.keys(), right.keys() )\n\t\t\t&& compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_pojo( left: {}, right: {} ): boolean {\n\t\t\n\t\tconst left_keys = Object.getOwnPropertyNames( left )\n\t\tconst right_keys = Object.getOwnPropertyNames( right )\n\t\t\n\t\tif( !compare_array( left_keys, right_keys ) ) return false\n\n\t\tfor( let key of left_keys ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\tconst left_syms = Object.getOwnPropertySymbols( left )\n\t\tconst right_syms = Object.getOwnPropertySymbols( right )\n\t\t\n\t\tif( !compare_array( left_syms, right_syms ) ) return false\n\n\t\tfor( let key of left_syms ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\treturn true\n\t}\n\t\n\tfunction compare_primitive( left: {}, right: {} ): boolean {\n\t\treturn Object.is(\n\t\t\t(left as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t\t(right as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t)\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Logger event data */\n\texport type $mol_log3_event< Fields > = {\n\t\t[ key in string ] : unknown\n\t} & {\n\t\t\n\t\t/** Time of event creation */\n\t\ttime? : string\n\n\t\t/** Place of event creation */\n\t\tplace : unknown\n\n\t\t/** Short description of event */\n\t\tmessage : string\n\n\t} & Fields\n\n\t/** Logger function */\n\texport type $mol_log3_logger< Fields , Res = void > = (\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event< Fields > ,\n\t)=> Res\n\n\t/** Log begin of some task */\n\texport declare let $mol_log3_come : $mol_log3_logger<{}>\n\t\n\t/** Log end of some task */\n\texport declare let $mol_log3_done : $mol_log3_logger<{}>\n\t\n\t/** Log error */\n\texport declare let $mol_log3_fail : $mol_log3_logger<{}>\n\t\n\t/** Log warning message */\n\texport declare let $mol_log3_warn : $mol_log3_logger<{ hint : string }>\n\t\n\t/** Log some generic event */\n\texport declare let $mol_log3_rise : $mol_log3_logger<{}>\n\n\t/** Log begin of log group, returns func to close group */\n\texport declare let $mol_log3_area : $mol_log3_logger< {} , ()=> void >\n\n\t/** Log begin of collapsed group only when some logged inside, returns func to close group */\n\texport function $mol_log3_area_lazy(\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event<{}> ,\n\t) {\n\n\t\tconst self = this\n\t\tconst stack = self.$mol_log3_stack\n\n\t\tconst deep = stack.length\n\t\tlet logged = false\n\n\t\tstack.push( ()=> {\n\t\t\tlogged = true\n\t\t\tself.$mol_log3_area.call( self , event )\n\t\t} )\n\n\t\treturn ()=> {\n\t\t\tif( logged ) self.console.groupEnd()\n\t\t\tif( stack.length > deep ) stack.length = deep\n\t\t}\n\n\t}\n\n\texport let $mol_log3_stack = [] as ( ()=> void )[]\n\n}\n","namespace $ {\n\n\t/** Position in any resource. */\n\texport class $mol_span extends $mol_object2 {\n\n\t\tconstructor(\n\t\t\treadonly uri: string ,\n\t\t\treadonly source: string ,\n\t\t\treadonly row: number ,\n\t\t\treadonly col: number ,\n\t\t\treadonly length: number ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis[ Symbol.toStringTag ] = `${ this.uri }#${ this.row }:${ this.col }/${ this.length }`\n\t\t}\n\n\t\t/** Span for begin of unknown resource */\n\t\tstatic unknown = $mol_span.begin('?')\n\n\t\t/** Makes new span for begin of resource. */\n\t\tstatic begin( uri: string, source = '' ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for end of resource. */\n\t\tstatic end( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , source.length + 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for entire resource. */\n\t\tstatic entire( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , source.length )\n\t\t}\n\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn {\n\t\t\t\turi: this.uri,\n\t\t\t\trow: this.row,\n\t\t\t\tcol: this.col,\n\t\t\t\tlength: this.length\n\t\t\t}\n\t\t}\n\n\t\t/** Makes new error for this span. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn new Class( `${message} (${this})` )\n\t\t}\n\n\t\t/** Makes new span for same uri. */\n\t\tspan( row : number , col : number , length : number ) {\n\t\t\treturn new $mol_span( this.uri , this.source, row , col , length )\n\t\t}\n\n\t\t/** Makes new span after end of this. */\n\t\tafter( length = 0 ) {\n\t\t\treturn new $mol_span( this.uri , this.source, this.row , this.col + this.length , length )\n\t\t}\n\n\t\t/** Makes new span between begin and end. */\n\t\tslice( begin: number, end = -1 ) {\n\t\t\tlet len = this.length\n\t\t\t\n\t\t\tif( begin < 0 ) begin += len\n\t\t\tif( end < 0 ) end += len\n\n\t\t\tif (begin < 0 || begin > len) this.$.$mol_fail( this.error( `Begin value '${begin}' out of range`, RangeError ) )\n\t\t\tif (end < 0 || end > len) this.$.$mol_fail( this.error( `End value '${end}' out of range`, RangeError ) )\n\t\t\tif (end < begin) this.$.$mol_fail( this.error( `End value '${end}' can't be less than begin value`, RangeError ) )\n\n\t\t\treturn this.span( this.row , this.col + begin , end - begin )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Serializes tree to string in tree format. */\n\texport function $mol_tree2_to_string(\n\t\tthis: $,\n\t\ttree: $mol_tree2,\n\t) : string {\n\n\t\tlet output = [] as string[]\n\t\t\n\t\tfunction dump(\n\t\t\ttree: $mol_tree2,\n\t\t\tprefix = '',\n\t\t) {\n\n\t\t\tif( tree.type.length ) {\n\t\t\t\t\n\t\t\t\tif( !prefix.length ) {\n\t\t\t\t\tprefix = \"\\t\";\n\t\t\t\t}\n\n\t\t\t\toutput.push( tree.type )\n\n\t\t\t\tif( tree.kids.length == 1 ) {\n\t\t\t\t\toutput.push( ' ' )\n\t\t\t\t\tdump( tree.kids[ 0 ], prefix )\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\toutput.push( \"\\n\" )\n\n\t\t\t} else if( tree.value.length || prefix.length ) {\n\n\t\t\t\toutput.push( \"\\\\\" + tree.value + \"\\n\" )\n\n\t\t\t}\n\n\t\t\tfor( const kid of tree.kids ) {\n\t\t\t\toutput.push( prefix )\n\t\t\t\tdump( kid, prefix + \"\\t\" )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tdump( tree )\n\n\t\treturn output.join('')\n\t}\n\t\t\n}\n","namespace $ {\n\n\t/** Path by types in tree. */\n\texport type $mol_tree2_path =\n\t\tArray< string | number | null >\n\t\n\t/** Hask tool for processing node. */\n\texport type $mol_tree2_hack< Context > =\n\t\t(\n\t\t\tinput : $mol_tree2 ,\n\t\t\tbelt : $mol_tree2_belt< Context > ,\n\t\t\tcontext : Context ,\n\t\t)=> readonly $mol_tree2[]\n\n\t/** Collection of hask tools for processing tree. */\n\texport type $mol_tree2_belt< Context > =\n\t\tRecord< string , $mol_tree2_hack< Context > >\n\n\t/**\n\t * Abstract Syntax Tree with human readable serialization.\n\t * Avoid direct instantiation. Use static factories instead.\n\t * @see https://github.com/nin-jin/tree.d\n\t */\n\texport class $mol_tree2 extends Object {\n\t\t\n\t\tconstructor(\n\n\t\t\t/** Type of structural node, `value` should be empty */\n\t\t\treadonly type : string,\n\t\t\t\n\t\t\t/** Content of data node, `type` should be empty */\n\t\t\treadonly value : string,\n\n\t\t\t/** Child nodes */\n\t\t\treadonly kids : readonly $mol_tree2[],\n\t\t\t\n\t\t\t/** Position in most far source resource */\n\t\t\treadonly span : $mol_span,\n\n\t\t) {\n\t\t\tsuper()\n\t\t\t;(this as any)[ Symbol.toStringTag ] = type || '\\\\' + value\n\t\t}\n\n\t\t/** Makes collection node. */\n\t\tstatic list(\n\t\t\tkids : readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\t\t\treturn new $mol_tree2( '' , '' , kids , span )\n\t\t}\n\t\t\n\t\t/** Makes new derived collection node. */\n\t\tlist(\n\t\t\tkids : readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.list( kids , this.span )\n\t\t}\n\n\t\t/** Makes data node for any string. */\n\t\tstatic data(\n\t\t\tvalue : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\n\t\t\tconst chunks = value.split( '\\n' )\n\n\t\t\tif( chunks.length > 1 ) {\n\t\t\t\n\t\t\t\tlet kid_span = span.span( span.row , span.col , 0 )\n\n\t\t\t\tconst data = chunks.map( chunk => {\n\t\t\t\t\tkid_span = kid_span.after( chunk.length )\n\t\t\t\t\treturn new $mol_tree2( '' , chunk , [] , kid_span )\n\t\t\t\t} )\n\n\t\t\t\tkids = [ ... data , ... kids ]\n\n\t\t\t\tvalue = ''\n\n\t\t\t}\n\n\t\t\treturn new $mol_tree2( '' , value , kids , span )\n\n\t\t}\n\t\t\n\t\t/** Makes new derived data node. */\n\t\tdata(\n\t\t\tvalue : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.data( value , kids , this.span )\n\t\t}\n\t\t\n\t\t/** Makes struct node. */\n\t\tstatic struct(\n\t\t\ttype : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\n\t\t\tif( /[ \\n\\t\\\\]/.test( type ) ) {\n\t\t\t\t$$.$mol_fail( span.error( `Wrong type ${ JSON.stringify( type ) }` ) )\n\t\t\t}\n\n\t\t\treturn new $mol_tree2( type , '' , kids , span )\n\n\t\t}\n\t\t\n\t\t/** Makes new derived structural node. */\n\t\tstruct(\n\t\t\ttype : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.struct( type , kids , this.span )\n\t\t}\n\n\t\t/** Makes new derived node with different kids id defined. */\n\t\tclone( kids : readonly $mol_tree2[], span = this.span ) {\n\t\t\treturn new $mol_tree2( this.type , this.value , kids , span )\n\t\t}\n\n\t\t/** Returns multiline text content. */\n\t\ttext() {\n\n\t\t\tvar values : string[] = []\n\t\t\t\n\t\t\tfor( var kid of this.kids ) {\n\t\t\t\tif( kid.type ) continue\n\t\t\t\tvalues.push( kid.value )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.value + values.join( '\\n' )\n\n\t\t}\n\t\t\n\t\t/** Parses tree format. */\n\t\t/** @deprecated Use $mol_tree2_from_string */\n\t\tstatic fromString( str : string , uri = 'unknown' ) {\n\t\t\treturn $$.$mol_tree2_from_string( str, uri )\n\t\t}\n\n\t\t/** Serializes to tree format. */\n\t\ttoString() : string {\n\t\t\treturn $$.$mol_tree2_to_string( this )\n\t\t}\n\t\t\n\t\t/** Makes new tree with node overrided by path. */\n\t\tinsert( value : $mol_tree2 | null , ...path : $mol_tree2_path ) : $mol_tree2 {\n\n\t\t\tif( path.length === 0 ) return value!\n\t\t\t\n\t\t\tconst type = path[0]\n\t\t\tif( typeof type === 'string' ) {\n\n\t\t\t\tlet replaced = false\n\t\t\t\tconst sub = this.kids.map( ( item , index )=> {\n\t\t\t\t\tif( item.type !== type ) return item\n\t\t\t\t\treplaced = true\n\t\t\t\t\treturn item.insert( value , ... path.slice( 1 ) )\n\t\t\t\t} ).filter( Boolean )\n\t\t\t\t\n\t\t\t\tif( !replaced && value ) {\n\t\t\t\t\tsub.push( this.struct( type , [] ).insert( value , ... path.slice( 1 ) ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn this.clone( sub )\n\n\t\t\t} else if( typeof type === 'number' ) {\n\t\t\t\t\n\t\t\t\tconst sub = this.kids.slice()\n\t\t\t\tsub[ type ] = ( sub[ type ] || this.list([]) )\n\t\t\t\t\t.insert( value , ... path.slice( 1 ) )\n\t\t\t\t\n\t\t\t\treturn this.clone( sub.filter( Boolean ) )\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst kids = ( ( this.kids.length === 0 ) ? [ this.list([]) ] : this.kids )\n\t\t\t\t.map( item => item.insert( value , ... path.slice( 1 ) ) )\n\t\t\t\t.filter( Boolean )\n\n\t\t\t\treturn this.clone( kids )\n\n\t\t\t}\n\n\t\t}\n\n\t\t/** Query nodes by path. */\n\t\tselect( ...path : $mol_tree2_path ) {\n\n\t\t\tlet next = [ this as $mol_tree2 ]\n\n\t\t\tfor( const type of path ) {\n\n\t\t\t\tif( !next.length ) break\n\t\t\t\t\n\t\t\t\tconst prev = next\n\t\t\t\tnext = []\n\n\t\t\t\tfor( var item of prev ) {\n\n\t\t\t\t\tswitch( typeof( type ) ) {\n\n\t\t\t\t\t\tcase 'string' :\n\n\t\t\t\t\t\t\tfor( var child of item.kids ) {\n\t\t\t\t\t\t\t\tif( child.type == type ) {\n\t\t\t\t\t\t\t\t\tnext.push( child )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase 'number' :\n\n\t\t\t\t\t\t\tif( type < item.kids.length ) next.push( item.kids[ type ] )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\n\t\t\t\t\t\tdefault : next.push( ... item.kids )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.list( next )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Filter kids by path or value. */\n\t\tfilter( path : string[] , value? : string ) {\n\n\t\t\tconst sub = this.kids.filter( item => {\n\t\t\t\t\t\n\t\t\t\tvar found = item.select( ...path )\n\t\t\t\t\n\t\t\t\tif( value === undefined ) {\n\t\t\t\t\treturn Boolean( found.kids.length )\n\t\t\t\t} else {\n\t\t\t\t\treturn found.kids.some( child => child.value == value )\n\t\t\t\t}\n\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t\treturn this.clone( sub )\n\n\t\t}\n\n\t\t/** Transform tree through context with transformers */\n\t\thack< Context extends { span?: $mol_span; [ key: string ]: unknown } = {} >(\n\t\t\tbelt: $mol_tree2_belt< Context >,\n\t\t\tcontext = {} as Context,\n\t\t) {\n\t\t\t\n\t\t\treturn ( [] as readonly $mol_tree2[] ).concat( ... this.kids.map( child => {\n\n\t\t\t\tlet handle = belt[ child.type ] || belt[ '' ]\n\t\t\t\t\n\t\t\t\tif( !handle || handle === Object.prototype[ child.type as keyof Object ] ) {\n\t\t\t\t\thandle = ( input, belt, context )=> [\n\t\t\t\t\t\tinput.clone( input.hack( belt, context ), context.span )\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\treturn handle( child , belt , context! )\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\terror.message += `\\n${ child.clone([]) }${ child.span }`\n\t\t\t\t\t$mol_fail_hidden( error )\n\t\t\t\t}\n\n\t\t\t} ) )\n\n\t\t}\n\n\t\t/** Makes Error with node coordinates. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn this.span.error( `${ message }\\n${ this.clone([]) }` , Class )\n\t\t}\n\n\t}\n\n\texport class $mol_tree2_empty extends $mol_tree2 {\n\t\tconstructor() {\n\t\t\tsuper( '' , '' , [] , $mol_span.unknown )\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Syntax error with cordinates and source line snippet. */\n\texport class $mol_error_syntax extends SyntaxError {\n\t\tconstructor (\n\t\t\tpublic reason: string,\n\t\t\tpublic line: string,\n\t\t\tpublic span: $mol_span,\n\t\t) {\n\t\t\tsuper(`${ reason }\\n${ span }\\n${ line.substring( 0 , span.col - 1 ).replace( /\\S/g, ' ' ) }${ ''.padEnd( span.length, '!' ) }\\n${ line }`)\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Parses tree format from string. */\n\texport function $mol_tree2_from_string(\n\t\tthis: $,\n\t\tstr: string,\n\t\turi = '?',\n\t) : $mol_tree2 {\n\n\t\tconst span = $mol_span.entire( uri, str )\n\n\t\tvar root = $mol_tree2.list( [], span )\n\t\tvar stack = [ root ]\n\n\t\tvar pos = 0, row = 0, min_indent = 0\n\t\t\n\t\twhile( str.length > pos ) {\n\n\t\t\tvar indent = 0\n\t\t\tvar line_start = pos\n\n\t\t\trow++\n\n\t\t\t// read indent\n\t\t\twhile( str.length > pos && str[ pos ] == '\\t' ) {\n\t\t\t\tindent++\n\t\t\t\tpos++\n\t\t\t}\n\n\t\t\tif( ! root.kids.length ) {\n\t\t\t\tmin_indent = indent\n\t\t\t}\n\n\t\t\tindent -= min_indent\n\n\t\t\t// invalid tab size\n\t\t\tif( indent < 0 || indent >= stack.length ) {\n\n\t\t\t\tconst sp = span.span( row, 1, pos - line_start )\n\n\t\t\t\t// skip error line\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( indent < 0 ) {\n\t\t\t\t\tif( str.length > pos ) {\n\t\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t\t`Too few tabs`,\n\t\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\t\tsp,\n\t\t\t\t\t\t) )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Too many tabs`,\n\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tstack.length = indent + 1\n\t\t\tvar parent = stack[ indent ]\n\n\t\t\t// parse types\n\t\t\twhile( str.length > pos && str[ pos ] != '\\\\' && str[ pos ] != '\\n' ) {\n\n\t\t\t\t// type can not contain space and tab\n\t\t\t\tvar error_start = pos\n\t\t\t\twhile( str.length > pos && ( str[ pos ] == ' ' || str[ pos ] == '\\t' ) ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( pos > error_start ) {\n\t\t\t\t\tlet line_end = str.indexOf( '\\n' , pos )\n\t\t\t\t\tif( line_end === -1 ) line_end = str.length\n\t\t\t\t\tconst sp = span.span( row, error_start - line_start + 1, pos - error_start )\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Wrong nodes separator`,\n\t\t\t\t\t\tstr.substring( line_start, line_end ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t\t// read type\n\t\t\t\tvar type_start = pos\n\t\t\t\twhile( \n\t\t\t\t\tstr.length > pos && \n\t\t\t\t\tstr[ pos ] != '\\\\' && \n\t\t\t\t\tstr[ pos ] != ' ' && \n\t\t\t\t\tstr[ pos ] != '\\t' && \n\t\t\t\t\tstr[ pos ] != '\\n'\n\t\t\t\t) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tif( pos > type_start ) {\n\t\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t\tstr.slice( type_start , pos ),\n\t\t\t\t\t\t'',\n\t\t\t\t\t\t[],\n\t\t\t\t\t\tspan.span( row, type_start - line_start + 1, pos - type_start ),\n\t\t\t\t\t)\n\t\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\t\tparent_kids.push( next )\n\t\t\t\t\tparent = next\n\t\t\t\t}\n\n\t\t\t\t// read one space if exists\n\t\t\t\tif( str.length > pos && str[ pos ] == ' ' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// read data\n\t\t\tif( str.length > pos && str[ pos ] == '\\\\' ) {\n\t\t\t\tvar data_start = pos\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t'',\n\t\t\t\t\tstr.slice( data_start + 1 , pos ),\n\t\t\t\t\t[],\n\t\t\t\t\tspan.span( row, data_start - line_start + 2, pos - data_start - 1 ),\n\t\t\t\t)\n\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\tparent_kids.push( next )\n\t\t\t\tparent = next\n\t\t\t}\n\n\t\t\t// now must be end of text\n\t\t\tif( str.length === pos && stack.length > 0 ) {\n\t\t\t\tconst sp = span.span( row, pos - line_start + 1, 1 )\n\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t`Unexpected EOF, LF required`,\n\t\t\t\t\tstr.substring( line_start, str.length ),\n\t\t\t\t\tsp,\n\t\t\t\t) )\n\t\t\t}\n\n\t\t\tstack.push( parent )\n\t\t\tpos++\n\t\t}\n\n\t\treturn root\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_tree2_from_json( json: any, span = $mol_span.unknown ): $mol_tree2 {\n\n\t\tif( typeof json === 'boolean' || typeof json === 'number' || json === null ) {\n\t\t\treturn new $mol_tree2( String( json ) , '' , [] , span )\n\t\t}\n\t\t\n\t\tif( typeof json === 'string' ) {\n\t\t\treturn $mol_tree2.data( json , [], span )\n\t\t}\n\n\t\tif( Array.isArray( json ) ) {\n\t\t\tconst sub = json.map( json => $mol_tree2_from_json( json , span ) )\n\t\t\treturn new $mol_tree2( '/' , '', sub, span )\n\t\t}\n\t\t\n\t\tif( ArrayBuffer.isView( json ) ) {\n\t\t\tconst buf = new Uint8Array( json.buffer, json.byteOffset, json.byteLength )\n\t\t\treturn $mol_tree2.data( String.fromCharCode( ... buf ) , [], span )\n\t\t}\n\t\t\t\n\t\tif( json instanceof Date ) {\n\t\t\treturn new $mol_tree2( '', json.toISOString() , [] , span )\n\t\t}\n\n\t\tif( typeof json.toJSON === 'function' ) {\n\t\t\treturn $mol_tree2_from_json( json.toJSON() )\n\t\t}\n\n\t\tif( json.toString !== Object.prototype.toString ) {\n\t\t\treturn $mol_tree2.data( json.toString() , [], span )\n\t\t}\n\n\t\tif( json instanceof Error ) {\n\t\t\tconst { name , message , stack } = json\n\t\t\tjson = { ... json, name, message, stack }\n\t\t}\n\n\t\tconst sub = [] as $mol_tree2[]\n\t\t\n\t\tfor( var key in json ) {\n\n\t\t\tconst val = json[ key ]\n\n\t\t\tif( val === undefined ) continue\n\n\t\t\tconst subsub = $mol_tree2_from_json( val, span )\n\t\t\t\n\t\t\tif( /^[^\\n\\t\\\\ ]+$/.test( key ) ) {\n\t\t\t\tsub.push( new $mol_tree2( key, '', [ subsub ], span ) )\n\t\t\t} else {\n\t\t\t\tsub.push( $mol_tree2.data( key, [ subsub ], span ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn new $mol_tree2( '*' , '', sub , span )\n\t\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Module for working with terminal. Text coloring when output in terminal */\n\texport class $mol_term_color {\n\t\t\n\t\tstatic reset = this.ansi( 0, 0 )\n\t\tstatic bold = this.ansi( 1, 22 )\n\t\tstatic italic = this.ansi( 3, 23 )\n\t\tstatic underline = this.ansi( 4, 24 )\n\t\tstatic inverse = this.ansi( 7, 27 )\n\t\tstatic hidden = this.ansi( 8, 28 )\n\t\tstatic strike = this.ansi( 9, 29 )\n\t\t\n\t\tstatic gray = this.ansi( 90, 39 )\n\t\tstatic red = this.ansi( 91, 39 )\n\t\tstatic green = this.ansi( 92, 39 )\n\t\tstatic yellow = this.ansi( 93, 39 )\n\t\tstatic blue = this.ansi( 94, 39 )\n\t\tstatic magenta = this.ansi( 95, 39 )\n\t\tstatic cyan = this.ansi( 96, 39 )\n\t\t\n\t\tstatic Gray = ( str: string )=> this.inverse( this.gray( str ) )\n\t\tstatic Red = ( str: string )=> this.inverse( this.red( str ) )\n\t\tstatic Green = ( str: string )=> this.inverse( this.green( str ) )\n\t\tstatic Yellow = ( str: string )=> this.inverse( this.yellow( str ) )\n\t\tstatic Blue = ( str: string )=> this.inverse( this.blue( str ) )\n\t\tstatic Magenta = ( str: string )=> this.inverse( this.magenta( str ) )\n\t\tstatic Cyan = ( str: string )=> this.inverse( this.cyan( str ) )\n\t\t\n\t\tstatic ansi( open: number, close: number ) {\n\t\n\t\t\tif( typeof process === 'undefined' ) return String\n\t\t\tif( !process.stdout.isTTY ) return String\n\t\t\n\t\t\tconst prefix = `\\x1b[${open}m`\n\t\t\tconst postfix = `\\x1b[${close}m`\n\t\t\t\n\t\t\tconst suffix_regexp = new RegExp( postfix.replace( '[', '\\\\[' ), 'g' )\n\t\t\n\t\t\treturn function colorer( str: string ) {\n\t\t\n\t\t\t\tstr = String( str )\n\t\t\t\tif( str === '' ) return str\n\t\t\n\t\t\t\tconst suffix = str.replace( suffix_regexp, prefix )\n\t\t\t\treturn prefix + suffix + postfix\n\t\t\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_log3_node_make(\n\t\tlevel : keyof Console ,\n\t\toutput : 'stdout' | 'stderr',\n\t\ttype : string ,\n\t\tcolor: ( str: string )=> string ,\n\t) {\n\n\t\treturn function $mol_log3_logger(\n\t\t\tthis : $ ,\n\t\t\tevent : $mol_log3_event<{}> ,\n\t\t) {\n\n\t\t\tif( !event.time ) event = { time : new Date().toISOString() , ... event }\n\n\t\t\tlet tree = this.$mol_tree2_from_json( event )\n\t\t\ttree = tree.struct( type, tree.kids )\n\t\t\t\n\t\t\tlet str = color( tree.toString() )\n\t\t\t;( this.console[ level ] as any )( str )\n\t\n\t\t\tconst self = this\n\t\t\treturn ()=> self.console.groupEnd()\n\n\t\t}\n\n\t}\n\n\t$.$mol_log3_come = $mol_log3_node_make( 'info' , 'stdout' , 'come' , $mol_term_color.blue )\n\t$.$mol_log3_done = $mol_log3_node_make( 'info' , 'stdout' , 'done' , $mol_term_color.green )\n\t$.$mol_log3_fail = $mol_log3_node_make( 'error' , 'stderr' , 'fail' , $mol_term_color.red )\n\t$.$mol_log3_warn = $mol_log3_node_make( 'warn' , 'stderr' , 'warn' , $mol_term_color.yellow )\n\t$.$mol_log3_rise = $mol_log3_node_make( 'log' , 'stdout' , 'rise' , $mol_term_color.magenta )\n\t$.$mol_log3_area = $mol_log3_node_make( 'log' , 'stdout' , 'area' , $mol_term_color.cyan )\n\n}\n","namespace $ {\n\t\n\t/** One-shot fiber */\n\texport class $mol_wire_task<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_fiber< Host, Args, Result > {\n\t\t\n\t\tstatic getter<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\ttask: ( this : Host , ... args : Args )=> Result,\n\t\t): ( host: Host, args: Args )=> $mol_wire_task< Host, Args, Result > {\n\t\t\t\n\t\t\treturn function $mol_wire_task_get( host: Host, args: Args ) {\n\t\t\t\t\n\t\t\t\tconst sub = $mol_wire_auto()\n\t\t\t\tconst existen = sub?.track_next() as $mol_wire_task< Host, Args, Result > | undefined\n\t\t\t\t\n\t\t\t\treuse: if( existen ) {\n\t\t\t\t\t\n\t\t\t\t\tif( !existen.temp ) break reuse\n\t\t\t\t\t\n\t\t\t\t\tif( existen.host !== host ) break reuse\n\t\t\t\t\tif( existen.task !== task ) break reuse\n\t\t\t\t\tif( !$mol_compare_deep( existen.args, args ) ) break reuse\n\t\t\t\t\t\n\t\t\t\t\treturn existen\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst next = new $mol_wire_task( `${ (host as any)?.[ Symbol.toStringTag ] ?? host }.${ task.name }<#>`, task, host, args )\n\t\t\t\t\n\t\t\t\t// Disabled because non-idempotency is required for try-catch\n\t\t\t\tif( existen?.temp ) {\n\t\t\t\t\t$$.$mol_log3_warn({\n\t\t\t\t\t\tplace: '$mol_wire_task',\n\t\t\t\t\t\tmessage: `Non idempotency`,\n\t\t\t\t\t\texisten,\n\t\t\t\t\t\tnext,\n\t\t\t\t\t\thint: 'Ignore it',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tget temp() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\tcomplete() {\n\t\t\tif( $mol_promise_like( this.cache ) ) return\n\t\t\tthis.destructor()\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\tthis.cache = next\n\t\t\t\n\t\t\tif( $mol_promise_like( next ) ) {\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\tif( next !== prev ) this.emit()\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t\t\n\t\t\tif( this.sub_empty ) this.destructor()\n\t\t\telse if( next !== prev ) this.emit()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Decorates method to fiber to ensure it is executed only once inside other fiber.\n\t */\n\texport function $mol_wire_method<\n\t\tHost extends object,\n\t\tArgs extends readonly any[],\n\t>(\n\t\thost : Host,\n\t\tfield : PropertyKey,\n\t\tdescr? : TypedPropertyDescriptor< ( ... args: Args )=> any >,\n\t) {\n\t\t\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field ) as any\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\t\n\t\tif( typeof (sup as any)[ field ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : (sup as any)[ field ].name } )\n\t\t}\n\t\t\n\t\tconst temp = $mol_wire_task.getter( orig )\n\t\tconst value = function( this: Host, ... args: Args ) {\n\t\t\tconst fiber = temp( this ?? null as any, args )\n\t\t\treturn fiber.sync()\n\t\t}\n\t\t\n\t\tObject.defineProperty( value , 'name' , { value : orig.name + ' ' } )\n\t\t\n\t\tObject.assign( value, { orig } )\n\t\tconst descr2 = { ... descr, value }\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst catched = new WeakMap< any , boolean >()\n\n\texport function $mol_fail_catch( error: unknown ) {\n\t\t\n\t\tif( typeof error !== 'object' ) return false\n\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\tif( catched.get( error ) ) return false\n\t\t\n\t\tcatched.set( error , true )\n\t\treturn true\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_fail_log( error: unknown ) {\n\t\t\n\t\tif( $mol_promise_like( error ) ) return false\n\t\tif( !$mol_fail_catch( error ) ) return false\n\t\t\n\t\tconsole.error( error )\n\t\t\n\t\treturn true\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\t/** Long-living fiber. */\n\texport class $mol_wire_atom<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_fiber< Host, Args, Result > {\n\n\t\tstatic solo<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\thost: Host,\n\t\t\ttask: ( this: Host, ... args: Args )=> Result,\n\t\t): $mol_wire_atom< Host, Args, Result > {\n\t\t\t\n\t\t\tconst field = task.name + '<>'\n\t\t\t\n\t\t\tconst existen = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\tif( existen ) return existen\n\t\t\t\n\t\t\tconst prefix = (host as any)?.[ Symbol.toStringTag ] ?? ( host instanceof Function ? $$.$mol_func_name( host ) : host )\n\t\t\tconst key = `${ prefix }.${ field }`\n\t\t\t\n\t\t\tconst fiber = new $mol_wire_atom( key, task, host, [] as any as Args )\n\t\t\t;( host as any ?? task )[ field ] = fiber\n\t\t\t\n\t\t\treturn fiber\n\t\t}\n\t\t\n\t\tstatic plex<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\thost: Host,\n\t\t\ttask: ( this: Host , ... args: Args )=> Result,\n\t\t\tkey: Args[0],\n\t\t): $mol_wire_atom< Host, Args, Result > {\n\t\t\t\n\t\t\tconst field = task.name + '<>'\n\t\t\tlet dict = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\tconst prefix = (host as any)?.[ Symbol.toStringTag ] ?? ( host instanceof Function ? $$.$mol_func_name( host ) : host )\n\t\t\tconst key_str = $mol_key( key )\n\t\t\t\n\t\t\tif( dict ) {\n\t\t\t\tconst existen = dict.get( key_str )\n\t\t\t\tif( existen ) return existen\n\t\t\t} else {\n\t\t\t\tdict = ( host as any ?? task )[ field ] = new Map()\n\t\t\t}\n\t\t\t\n\t\t\tconst id = `${ prefix }.${ task.name }<${ key_str.replace( /^\"|\"$/g, \"'\" ) }>`\n\t\t\tconst fiber = new $mol_wire_atom( id, task, host, [ key ] as any as Args )\n\t\t\tdict.set( key_str, fiber )\n\t\t\t\n\t\t\treturn fiber\n\t\t}\n\t\t\n\t\tstatic watching = new Set< $mol_wire_atom< any, any, any > >()\n\t\tstatic watcher = null as $mol_after_frame | null\n\t\t\n\t\tstatic watch() {\n\t\t\n\t\t\t$mol_wire_atom.watcher = new $mol_after_frame( $mol_wire_atom.watch )\n\t\t\t\n\t\t\tfor( const atom of $mol_wire_atom.watching ) {\n\t\t\t\t\n\t\t\t\tif( atom.cursor === $mol_wire_cursor.final ) {\n\t\t\t\t\t$mol_wire_atom.watching.delete( atom )\n\t\t\t\t} else {\n\t\t\t\t\tatom.cursor = $mol_wire_cursor.stale\n\t\t\t\t\tatom.fresh()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twatch() {\n\t\t\t\n\t\t\tif( !$mol_wire_atom.watcher ) {\n\t\t\t\t$mol_wire_atom.watcher = new $mol_after_frame( $mol_wire_atom.watch )\n\t\t\t}\n\t\t\t\n\t\t\t$mol_wire_atom.watching.add( this )\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Update fiber value through another temp fiber.\n\t\t */\n\t\t@ $mol_wire_method\n\t\tresync( args: Args ) {\n\t\t\treturn this.put( this.task.call( this.host!, ... args ) )\n\t\t}\n\t\t\n\t\t@ $mol_wire_method\n\t\tonce() {\n\t\t\treturn this.sync()\n\t\t}\n\t\t\n\t\tchannel() {\n\t\t\treturn Object.assign( ( next?: $mol_type_foot< Args > )=> {\n\t\t\t\t\t\n\t\t\t\tif( next !== undefined ) return this.resync( [ ... this.args, next ] as any ) as never\n\t\t\t\tif( !$mol_wire_fiber.warm ) return this.result() as never\n\t\t\t\t\n\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\treturn this.once()\n\t\t\t\t} else {\n\t\t\t\t\treturn this.sync()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}, { atom: this as $mol_wire_atom< Host, Args, Result > } )\n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tsuper.destructor()\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\tprev.destructor()\n\t\t\t}\n\t\t\t\n\t\t\tif( this.pub_from === 0 ) {\n\t\t\t\t;( this.host as any ?? this.task )[ this.field() ] = null\n\t\t\t} else {\n\t\t\t\t;( this.host as any ?? this.task )[ this.field() ].delete( $mol_key( this.args[0] ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\t\n\t\t\tupdate: if( next !== prev ) {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tif( $mol_compare_deep( prev, next ) ) break update\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\t\tprev.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_owning_catch( this, next ) ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t(next as any)[ Symbol.toStringTag ] = (this as any)[ Symbol.toStringTag ]\n\t\t\t\t\t} catch { // Promises throw in strict mode\n\t\t\t\t\t\tObject.defineProperty( next, Symbol.toStringTag, { value: (this as any)[ Symbol.toStringTag ] } )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( !this.sub_empty ) this.emit()\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.cache = next\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t\tif( $mol_promise_like( next ) ) return next\n\t\t\t\n\t\t\tthis.complete_pubs()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\t/** Decorates solo object channel to [mol_wire_atom](../atom/atom.ts). */\n\texport function $mol_wire_solo< Args extends any[] >(\n\t\thost: object,\n\t\tfield: string,\n\t\tdescr?: TypedPropertyDescriptor< ( ... args: Args )=> any >\n\t) {\n\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\n\t\tif( typeof (sup as any)[ field ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : (sup as any)[ field ].name } )\n\t\t}\n\t\t\n\t\tconst descr2 = {\n\t\t\t... descr,\n\t\t\tvalue: function( this: typeof host, ... args: Args ){\n\t\t\t\n\t\t\t\tlet atom = $mol_wire_atom.solo( this, orig )\n\t\t\t\t\n\t\t\t\tif(( args.length === 0 )||( args[0] === undefined )) {\n\t\t\t\t\t\n\t\t\t\t\tif( !$mol_wire_fiber.warm ) return atom.result()\n\t\t\t\t\t\n\t\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\t\treturn atom.once()\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn atom.sync()\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn atom.resync( args )\t\n\t\t\t}\n\t\t}\n\t\t\n\t\tReflect.defineProperty( descr2.value , 'name' , { value : orig.name + ' ' } )\n\t\tReflect.defineProperty( descr2.value , 'length' , { value : orig.length } )\n\t\tObject.assign( descr2.value, { orig } )\n\t\t\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2 as any as TypedPropertyDescriptor< ( ... args: First_optional< Args > )=> any >\n\t}\n\n\ttype First_optional< Args extends any[] > = Args extends []\n\t\t? []\n\t\t: [ Args[0] | undefined, ... $mol_type_tail< Args > ]\n\n}\n","namespace $ {\n\t\n\t/** Reactive memoizing multiplexed property decorator. */\n\texport function $mol_wire_plex< Args extends [ any, ... any[] ] >(\n\t\thost: object,\n\t\tfield: string,\n\t\tdescr?: TypedPropertyDescriptor< ( ... args: Args )=> any >\n\t) {\n\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\n\t\tif( typeof (sup as any)[ field ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : (sup as any)[ field ].name } )\n\t\t}\n\t\t\n\t\tconst descr2 = {\n\t\t\t... descr,\n\t\t\tvalue: function( this: typeof host, ... args: Args ) {\n\t\t\t\n\t\t\t\tlet atom = $mol_wire_atom.plex( this, orig, args[0] )\n\t\t\t\t\n\t\t\t\tif(( args.length === 1 )||( args[1] === undefined )) {\n\t\t\t\t\t\n\t\t\t\t\tif( !$mol_wire_fiber.warm ) return atom.result()\n\t\t\t\t\t\n\t\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\t\treturn atom.once()\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn atom.sync()\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn atom.resync( args )\t\n\t\t\t}\n\t\t}\n\t\t\n\t\tReflect.defineProperty( descr2.value , 'name' , { value : orig.name + ' ' } )\n\t\tReflect.defineProperty( descr2.value , 'length' , { value : orig.length } )\n\t\tObject.assign( descr2.value, { orig } )\n\t\t\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Reactive memoizing solo property decorator from [mol_wire](../wire/README.md)\n\t * @example\n\t * '@' $mol_mem\n\t * name(next?: string) {\n\t * \treturn next ?? 'default'\n\t * }\n\t * @see https://mol.hyoo.ru/#!section=docs/=qxmh6t_sinbmb\n\t */\n\texport let $mol_mem = $mol_wire_solo\n\n\t/**\n\t * Reactive memoizing multiplexed property decorator [mol_wire](../wire/README.md)\n\t * @example\n\t * '@' $mol_mem_key\n\t * name(id: number, next?: string) {\n\t * return next ?? 'default'\n\t * }\n\t * @see https://mol.hyoo.ru/#!section=docs/=qxmh6t_sinbmb\n\t */\n\texport let $mol_mem_key = $mol_wire_plex\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","interface $node {\n\t[key:string]: any\n}\n\nvar $node = new Proxy( { require } as any , {\n\t\n\tget( target , name : string , wrapper ) {\n\n\t\tif( target[ name ] ) return target[ name ]\n\n\t\tconst mod = target.require( 'module' ) as typeof import( 'module' )\n\t\t\n\t\tif( mod.builtinModules.indexOf( name ) >= 0 ) return target.require( name )\n\t\tif( name[0] === '.' ) return target.require( name )\n\t\t\n\t\tconst path = target.require( 'path' ) as typeof import( 'path' )\n\t\tconst fs = target.require( 'fs' ) as typeof import( 'fs' )\n\n\t\tlet dir = path.resolve( '.' )\n\t\tconst suffix = `./node_modules/${ name }`\n\n\t\tconst $$ = ( $ as any )\n\t\t\n\t\twhile( !fs.existsSync( path.join( dir , suffix ) ) ) {\n\n\t\t\tconst parent = path.resolve( dir , '..' )\n\n\t\t\tif( parent === dir ) {\n\n\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', name )\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', '@types/' + name )\n\t\t\t\t} catch {}\n\n\t\t\t\tbreak\n\n\t\t\t} else {\n\n\t\t\t\tdir = parent\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\ttry {\n\t\t\treturn target.require( name )\n\t\t} catch( error ) {\n\t\t\t$.$mol_fail_log( error )\n\t\t\treturn null\n\t\t}\n\n\t},\n\n\tset( target , name : string , value ) {\n\t\ttarget[ name ] = value\n\t\treturn true\n\t},\n\n} ) as $node\n\nrequire = ( req =>\n\tObject.assign( function require( name : string ) {\n\t\treturn $node[ name ]\n\t} , req )\n)( require )\n\n","namespace $ {\n\texport function $mol_env() {\n\t\treturn {} as Record< string, string | undefined >\n\t}\n}\n","namespace $ {\n\t$.$mol_env = function $mol_env() {\n\t\treturn this.process.env\n\t}\n}\n","namespace $ {\n\texport function $mol_exec(\n\t\tthis : $ ,\n\t\tdir : string ,\n\t\tcommand : string ,\n\t\t...args : string[]\n\t) {\n\n\t\tlet [ app , ... args0 ] = command.split( ' ' )\n\t\targs = [ ... args0 , ... args ]\n\n\t\tthis.$mol_log3_come({\n\t\t\tplace: '$mol_exec' ,\n\t\t\tdir: $node.path.relative( '' , dir ) ,\n\t\t\tmessage: 'Run',\n\t\t\tcommand: `${app} ${ args.join(' ') }` ,\n\t\t})\n\n\t\tvar res = $node['child_process'].spawnSync(\n\t\t\tapp ,\n\t\t\targs,\n\t\t\t{\n\t\t\t\tcwd : $node.path.resolve( dir ) ,\n\t\t\t\tshell : true ,\n\t\t\t\tenv: this.$mol_env(),\n\t\t\t}\n\t\t)\n\t\t\n\t\tif( res.status || res.error ) return $mol_fail( res.error || new Error( res.stderr.toString() ) )\n\t\tif( !res.stdout ) res.stdout = Buffer.from([])\n\n\t\treturn res\n\t}\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = new $node.jsdom.JSDOM( '' , { url : 'https://localhost/' } ).window as any\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_tick extends $mol_object2 {\n\n\t\tpromise : any\n\t\tcancelled = false\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.promise = Promise.resolve().then( ()=> {\n\t\t\t\tif( this.cancelled ) return\n\t\t\t\ttask()\n\t\t\t} )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tthis.cancelled = true\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_view_selection extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic focused( next? : Element[], notify?: 'notify' ) : Element[] {\n\t\t\t\n\t\t\tconst parents : Element[] = []\n\t\t\tlet element = next?.[0] ?? $mol_dom_context.document.activeElement\n\t\t\t\n\t\t\twhile( element ) {\n\t\t\t\tparents.push( element )\n\t\t\t\telement = element.parentNode as HTMLElement\n\t\t\t}\n\t\t\t\n\t\t\tif( !next || notify ) return parents\n\t\t\t\n\t\t\tnew $mol_after_tick( ()=> {\n\t\t\t\t\n\t\t\t\tconst element = this.focused()![0] as HTMLElement\n\t\t\t\t\n\t\t\t\tif( element ) element.focus()\n\t\t\t\telse $mol_dom_context.blur()\n\t\t\t\t\n\t\t\t} )\n\n\t\t\treturn parents\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_wrapper extends $mol_object2 {\n\n\t\tstatic wrap : ( task : ( ... ags : any[] )=> any )=> ( ... ags : any[] )=> any\n\t\t\n\t\tstatic run< Result >( task : ()=> Result ) : Result {\n\t\t\treturn this.func( task )()\n\t\t}\n\t\n\t\tstatic func< Args extends any[] , Result , Host = void >(\n\t\t\tfunc : ( this : Host , ... args : Args )=> Result\n\t\t) : ( this : Host , ... args : Args )=> Result {\n\t\t\treturn this.wrap( func )\n\t\t}\n\n\t\tstatic get class() {\n\n\t\t\treturn < Class extends new ( ... args : any[] )=> any >(\n\t\t\t\tClass : Class\n\t\t\t) => {\n\n\t\t\t\ttype Args = ConstructorParameters< Class >\n\t\t\t\ttype Result = InstanceType< Class >\n\n\t\t\t\tconst construct = ( target : Class , args : Args )=> new Class( ... args )\n\n\t\t\t\tconst handler: ProxyHandler = {\n\t\t\t\t\tconstruct : this.func( construct )\n\t\t\t\t} \n\n\t\t\t\t;(handler as any)[ Symbol.toStringTag ] = Class.name + '#'\n\n\t\t\t\treturn new Proxy( Class , handler )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tstatic get method() {\n\t\t\t\n\t\t\treturn (\n\t\t\t\tobj : object,\n\t\t\t\tname : PropertyKey,\n\t\t\t\tdescr : PropertyDescriptor,\n\t\t\t) => {\n\t\t\t\tdescr.value = this.func( descr.value! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tstatic get field() {\n\t\t\t\n\t\t\treturn <\n\t\t\t\tHost ,\n\t\t\t\tField extends keyof Host ,\n\t\t\t\tArgs extends any[] ,\n\t\t\t\tResult ,\n\t\t\t>(\n\t\t\t\tobj : Host ,\n\t\t\t\tname : Field ,\n\t\t\t\tdescr : TypedPropertyDescriptor< Result >\n\t\t\t) => {\n\t\t\t\tdescr.get = descr.set = this.func( descr.get! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_memo extends $mol_wrapper {\n\t\t\n\t\tstatic wrap< This extends object , Value >( task : ( this : This , next? : Value )=> Value ) {\n\n\t\t\tconst store = new WeakMap< This , Value >()\n\n\t\t\treturn function( this : This , next? : Value ) {\n\n\t\t\t\tif( next === undefined && store.has( this ) ) return store.get( this )\n\t\t\t\t\n\t\t\t\tconst val = task.call( this , next ) ?? next\n\t\t\t\t\n\t\t\t\tstore.set( this , val! )\n\t\t\t\t\n\t\t\t\treturn val\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_dom_qname( name : string ) {\n\t\treturn name.replace( /\\W/g , '' ).replace( /^(?=\\d+)/ , '_' )\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Run code without state changes */\n\texport function $mol_wire_probe< Value >(\n\t\ttask : ()=> Value, def?: Value\n\t) : Value | undefined {\n\t\t\n\t\tconst warm = $mol_wire_fiber.warm\n\t\t\n\t\ttry {\n\t\t\t$mol_wire_fiber.warm = false\n\t\t\tconst res = task()\n\t\t\tif( res === undefined ) return def\n\t\t\treturn res\n\t\t} finally {\n\t\t\t$mol_wire_fiber.warm = warm\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Real-time refresh current atom.\n\t * Don't use if possible. May reduce performance.\n\t */\n\texport function $mol_wire_watch() {\n\t\tconst atom = $mol_wire_auto()\n\t\tif( atom instanceof $mol_wire_atom ) {\n\t\t\tatom.watch()\n\t\t} else {\n\t\t\t$mol_fail( new Error( 'Atom is required for watching' ) )\n\t\t}\n\t}\n\t\n}\n","namespace $ { \n\t/**\n\t * Returns closure that returns constant value.\n\t * @example\n\t * const rnd = $mol_const( Math.random() )\n\t */\n\texport function $mol_const< Value >( value : Value ) {\n\t\tconst getter = <{ () : Value , '()' : Value }> ( () => value )\n\t\tgetter['()'] = value\n\t\t;(getter as any)[ Symbol.toStringTag ] = value\n\t\t;(getter as any )[ $mol_dev_format_head ] = ()=> $mol_dev_format_span( {} , '()=> ', $mol_dev_format_auto( value ) )\n\t\treturn getter\n\t}\n}\n","namespace $ {\n\t\n\t/**\n\t * Disable reaping of current subscriber\n\t */\n\texport function $mol_wire_solid() {\n\t\tlet current = $mol_wire_auto() as $mol_wire_fiber< any, any, any >\n\t\tif( current!.temp ) current = current!.host\n\t\tif( current!.reap !== nothing ) {\n\t\t\tcurrent?.sub_on( sub, sub.data.length )\n\t\t}\n\t\tcurrent!.reap = nothing\n\t}\n\t\n\tconst nothing = ()=> {}\n\tconst sub = new $mol_wire_pub_sub\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_attributes (\n\t\tel : Element ,\n\t\tattrs : { [ key : string ] : string|number|boolean|null }\n\t) {\n\n\t\tfor( let name in attrs ) {\n\n\t\t\tlet val = attrs[ name ] as any\n\n\t\t\tif( val === undefined ) {\n\t\t\t\t\n\t\t\t\tcontinue\n\t\t\t\t\n\t\t\t} if( val === null || val === false ) {\n\n\t\t\t\tif( !el.hasAttribute( name ) ) continue\n\t\t\t\t\n\t\t\t\tel.removeAttribute( name )\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst str = String( val )\n\t\t\t\tif( el.getAttribute( name ) === str ) continue\n\t\t\t\t\n\t\t\t\tel.setAttribute( name , str )\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_events (\n\t\tel : Element ,\n\t\tevents : { [ key : string ] : ( event : Event )=> any },\n\t\tpassive = false\n\t) {\n\t\tfor( let name in events ) {\n\t\t\tel.addEventListener( name , events[ name ] , { passive } )\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_styles (\n\t\tel : Element ,\n\t\tstyles : { [ key : string ] : string|number }\n\t) {\n\t\tfor( let name in styles ) {\n\t\t\tlet val = styles[ name ]\n\t\t\t\n\t\t\tconst style = ( el as HTMLElement ).style as any\n\t\t\tconst kebab = ( name : string )=> name.replace( /[A-Z]/g , letter => '-' + letter.toLowerCase() )\n\t\t\t\n\t\t\tif( typeof val === 'number' ) {\n\t\t\t\tstyle.setProperty(kebab(name), `${ val }px`);\n\t\t\t} else {\n\t\t\t\tstyle.setProperty(kebab(name), val);\n\t\t\t}\n\t\t\t\n\t\t}\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_dom_render_children (\n\t\tel : Element | DocumentFragment ,\n\t\tchildNodes : NodeList | Array< Node | string | null >\n\t) {\n\t\tconst node_set = new Set< Node | string | null >( childNodes )\n\t\t\n\t\tlet nextNode : Node | null = el.firstChild\n\t\tfor( let view of childNodes ) {\n\n\t\t\tif( view == null ) continue\n\n\t\t\tif( view instanceof $mol_dom_context.Node ) {\n\t\t\t\t\n\t\t\t\twhile( true ) {\n\t\t\t\t\tif( !nextNode ) {\n\t\t\t\t\t\tel.appendChild( view )\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tif( nextNode == view ) {\n\t\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif( node_set.has( nextNode ) ) {\n\t\t\t\t\t\t\tel.insertBefore( view , nextNode )\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst nn = nextNode.nextSibling\n\t\t\t\t\t\t\tel.removeChild( nextNode )\n\t\t\t\t\t\t\tnextNode = nn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tif( nextNode && nextNode.nodeName === '#text' ) {\n\t\t\t\t\tconst str = String( view )\n\t\t\t\t\tif( nextNode.nodeValue !== str ) nextNode.nodeValue = str\n\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t} else {\n\t\t\t\t\tconst textNode = $mol_dom_context.document.createTextNode( String( view ) )\n\t\t\t\t\tel.insertBefore( textNode , nextNode )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twhile( nextNode ) {\n\t\t\tconst currNode = nextNode\n\t\t\tnextNode = currNode.nextSibling\n\t\t\tel.removeChild( currNode )\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_fields (\n\t\tel : Element ,\n\t\tfields : { [ key : string ] : any }\n\t) {\n\t\tfor( let key in fields ) {\n\t\t\t\n\t\t\tconst val : any = fields[ key ]\n\t\t\t\n\t\t\tif( val === undefined ) continue\n\t\t\t\n\t\t\t(el as any)[ key ] = val\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Convert a pseudo-synchronous (Suspense API) API to an explicit asynchronous one (for integrating with external systems). */\n\texport function $mol_wire_async< Host extends object >( obj: Host ) {\n\t\t\n\t\tlet fiber: $mol_wire_fiber< any, any, any >\n\t\tconst temp = $mol_wire_task.getter( obj as ( ... args: any[] )=> any )\n\t\t\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tconst val = (obj as any)[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\t\n\t\t\t\tlet fiber: $mol_wire_fiber< any, any, any >\n\t\t\t\tconst temp = $mol_wire_task.getter( val ) \n\t\t\t\t\n\t\t\t\treturn function $mol_wire_async( this: Host, ... args: any[] ) {\n\t\t\t\t\tfiber?.destructor()\n\t\t\t\t\tfiber = temp( obj, args )\n\t\t\t\t\treturn fiber.async()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t},\n\t\t\t\n\t\t\tapply( obj, self, args ) {\n\t\t\t\tfiber?.destructor()\n\t\t\t\tfiber = temp( self, args )\n\t\t\t\treturn fiber.async()\n\t\t\t},\n\t\t\t\n\t\t} ) as unknown as ObjectOrFunctionResultPromisify\n\t\t\n\t}\n\n\ttype FunctionResultPromisify = Some extends (...args: infer Args) => infer Res\n\t\t? Res extends PromiseLike ? Some : (...args: Args) => Promise\n\t\t: Some\n\n\ttype MethodsResultPromisify = {\n\t\t[K in keyof Host]: FunctionResultPromisify\n\t}\n\n\ttype ObjectOrFunctionResultPromisify = (\n\t\tSome extends (...args: any) => unknown ? FunctionResultPromisify : {}\n\t) & ( Some extends Object ? MethodsResultPromisify : Some )\n\n}\n","namespace $ {\n\n\tlet all = [] as string[]\n\tlet el : HTMLStyleElement | null = null\n\tlet timer : $mol_after_tick | null = null\n\n\texport function $mol_style_attach_force() {\n\t\tif( all.length ) {\n\t\t\tel!.innerHTML += '\\n' + all.join( '\\n\\n' )\n\t\t\tall = []\n\t\t}\n\t\ttimer = null\n\t\treturn el!\n\t}\n\t\n\texport function $mol_style_attach(\n\t\tid : string ,\n\t\ttext : string ,\n\t) {\n\n\t\tall.push( `/* ${ id } */\\n\\n${ text }`)\n\n\t\tif( timer ) return el!\n\t\t\n\t\tconst doc = $mol_dom_context.document\n\t\tif( !doc ) return null\n\n\t\tel = doc.createElement('style')\n\t\tel.id = `$mol_style_attach`\n\t\tdoc.head.appendChild( el )\n\n\t\ttimer = new $mol_after_tick( $mol_style_attach_force )\n\n\t\treturn el\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_decor< Value > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly value : Value\n\t\t) {}\n\n\t\tprefix() { return '' }\n\t\tvalueOf() { return this.value }\n\t\tpostfix() { return '' }\n\n\t\ttoString(){\n\t\t\treturn `${ this.prefix() }${ this.valueOf() }${ this.postfix() }`\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport type $mol_style_unit_length =\n\t| '%'\n\t| 'px' | 'cm' | 'mm' | 'Q' | 'in' | 'pc' | 'pt'\n\t| 'cap' | 'ch' | 'em' | 'rem' | 'ex' | 'ic' | 'lh' | 'rlh'\n\t| 'vh' | 'vw' | 'vi' | 'vb' | 'vmin' | 'vmax'\n\t\n\texport type $mol_style_unit_angle = 'deg' | 'rad' | 'grad' | 'turn'\n\t\n\texport type $mol_style_unit_time = 's' | 'ms'\n\n\texport type $mol_style_unit_any = $mol_style_unit_length | $mol_style_unit_angle | $mol_style_unit_time\n\texport type $mol_style_unit_str< Quanity extends $mol_style_unit_any > = `${number}${Quanity}`\n\t\n\t/**\n\t * CSS Units\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport class $mol_style_unit<\n\t\tLiteral extends $mol_style_unit_any\n\t> extends $mol_decor< number > {\n\n\t\tconstructor(\n\t\t\tvalue : number,\n\t\t\treadonly literal : Literal,\n\t\t) {\n\t\t\tsuper( value )\n\t\t}\n\n\t\tpostfix() {\n\t\t\treturn this.literal\n\t\t}\n\n\t\tstatic per( value : number ) { return `${value}%` as const }\n\t\tstatic px( value : number ) { return `${ value }px` as const }\n\t\tstatic mm( value : number ) { return `${value}mm` as const }\n\t\tstatic cm( value : number ) { return `${value}cm` as const }\n\t\tstatic Q( value : number ) { return `${value}Q` as const }\n\t\tstatic in( value : number ) { return `${value}in` as const }\n\t\tstatic pc( value : number ) { return `${value}pc` as const }\n\t\tstatic pt( value : number ) { return `${value}pt` as const }\n\t\tstatic cap( value : number ) { return `${value}cap` as const }\n\t\tstatic ch( value : number ) { return `${value}ch` as const }\n\t\tstatic em( value : number ) { return `${value}em` as const }\n\t\tstatic rem( value : number ) { return `${value}rem` as const }\n\t\tstatic ex( value : number ) { return `${value}ex` as const }\n\t\tstatic ic( value : number ) { return `${value}ic` as const }\n\t\tstatic lh( value : number ) { return `${value}lh` as const }\n\t\tstatic rlh( value : number ) { return `${value}rlh` as const }\n\t\tstatic vh( value : number ) { return `${value}vh` as const }\n\t\tstatic vw( value : number ) { return `${value}vw` as const }\n\t\tstatic vi( value : number ) { return `${value}vi` as const }\n\t\tstatic vb( value : number ) { return `${value}vb` as const }\n\t\tstatic vmin( value : number ) { return `${value}vmin` as const }\n\t\tstatic vmax( value : number ) { return `${value}vmax` as const }\n\t\t\n\t\tstatic deg( value : number ) { return `${value}deg` as const }\n\t\tstatic rad( value : number ) { return `${value}rad` as const }\n\t\tstatic grad( value : number ) { return `${value}grad` as const }\n\t\tstatic turn( value : number ) { return `${value}turn` as const }\n\n\t\tstatic s( value : number ) { return `${value}s` as const }\n\t\tstatic ms( value : number ) { return `${value}ms` as const }\n\t\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_style_func_name =\n\t| 'calc'\n\t| 'hsla'\n\t| 'rgba'\n\t| 'var'\n\t| 'clamp'\n\t| 'scale'\n\t| 'cubic-bezier'\n\t| 'linear'\n\t| 'steps'\n\t| $mol_style_func_image\n\t| $mol_style_func_filter\n\t\n\texport type $mol_style_func_image =\n\t| 'url'\n\t| 'linear-gradient'\n\t| 'radial-gradient'\n\t| 'conic-gradient'\n\t\n\texport type $mol_style_func_filter =\n\t| 'blur'\n\t| 'brightness'\n\t| 'contrast'\n\t| 'drop-shadow'\n\t| 'grayscale'\n\t| 'hue-rotate'\n\t| 'invert'\n\t| 'opacity'\n\t| 'sepia'\n\t| 'saturate'\n\n\tconst { per } = $mol_style_unit\n\t\n\t/**\n\t * CSS Functions\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport class $mol_style_func<\n\t\tName extends $mol_style_func_name ,\n\t\tValue = unknown,\n\t> extends $mol_decor< Value > {\n\n\t\tconstructor(\n\t\t\treadonly name : Name,\n\t\t\tvalue : Value,\n\t\t) {\n\t\t\tsuper( value )\n\t\t}\n\n\t\tprefix() { return this.name + '(' }\n\t\tpostfix() { return ')' }\n\n\t\tstatic linear_gradient< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'linear-gradient' , value )\n\t\t}\n\n\t\tstatic calc< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'calc' , value )\n\t\t}\n\n\t\tstatic vary< Name extends string, Value extends string >( name : Name, defaultValue? : Value ) {\n\t\t\treturn new $mol_style_func( 'var' , defaultValue ? [name, defaultValue] : name )\n\t\t}\n\n\t\tstatic url< Href extends string >( href : Href ) {\n\t\t\treturn new $mol_style_func( 'url' , JSON.stringify( href ) )\n\t\t}\n\n\t\tstatic hsla(\n\t\t\thue: number,\n\t\t\tsaturation: number,\n\t\t\tlightness: number,\n\t\t\talpha: number,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'hsla',\n\t\t\t\t[ hue , per( saturation ) , per( lightness ) , alpha ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic clamp(\n\t\t\tmin: $mol_style_unit_str< any >,\n\t\t\tmid: $mol_style_unit_str< any >,\n\t\t\tmax: $mol_style_unit_str< any >,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'clamp',\n\t\t\t\t[ min, mid, max ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic rgba(\n\t\t\tred: number,\n\t\t\tgreen: number,\n\t\t\tblue: number,\n\t\t\talpha: number,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'rgba',\n\t\t\t\t[ red , green , blue , alpha ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic scale(\n\t\t\tzoom: number,\n\t\t) {\n\t\t\treturn new $mol_style_func( 'scale', [ zoom ] )\n\t\t}\n\t\t\n\t\tstatic linear(\n\t\t\t...breakpoints : Array]>\n\t\t){\n\t\t\treturn new $mol_style_func(\n\t\t\t\t\"linear\",\n\t\t\t\tbreakpoints.map((e) =>\n\t\t\t\t\tArray.isArray(e)\n\t\t\t\t\t\t? String(e[0]) +\n\t\t\t\t\t\t \" \" +\n\t\t\t\t\t\t (typeof e[1] === \"number\" ? e[1] + \"%\" : e[1].toString())\n\t\t\t\t\t\t: String(e)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\t\n\t\tstatic cubic_bezier(\n\t\t\tx1: number,\n\t\t\ty1: number,\n\t\t\tx2: number,\n\t\t\ty2: number\n\t\t){\n\t\t\treturn new $mol_style_func( 'cubic-bezier', [ x1, y1, x2, y2 ]);\n\t\t}\n\t\t\n\t\tstatic steps(value: number, step_position: 'jump-start' | 'jump-end' | 'jump-none' | 'jump-both' | 'start' | 'end'){\n\t\t\treturn new $mol_style_func( 'steps', [ value, step_position ] )\n\t\t}\n\t\t\n\t\tstatic blur(value?: $mol_style_unit_str<$mol_style_unit_length>){\n\t\t\treturn new $mol_style_func( 'blur', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic brightness(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'brightness', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic contrast(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'contrast', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic drop_shadow(\n\t\t\tcolor: $mol_style_properties_color,\n\t\t\tx_offset: $mol_style_unit_str<$mol_style_unit_length>,\n\t\t\ty_offset: $mol_style_unit_str<$mol_style_unit_length>,\n\t\t\tblur_radius?: $mol_style_unit_str<$mol_style_unit_length>\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t\"drop-shadow\",\n\t\t\t\tblur_radius\n\t\t\t\t\t? [color, x_offset, y_offset, blur_radius]\n\t\t\t\t\t: [color, x_offset, y_offset]\n\t\t\t);\n\t\t}\n\t\t\n\t\tstatic grayscale(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'grayscale', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic hue_rotate(value?: 0 | $mol_style_unit_str<$mol_style_unit_angle>){\n\t\t\treturn new $mol_style_func( 'hue-rotate', value ?? \"\")\n\t\t}\n\t\t\n\t\tstatic invert(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'invert', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic opacity(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'opacity', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic sepia(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'sepia', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic saturate(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'saturate', value ?? \"\" );\n\t\t}\n\t\n\t}\n\n}\n","namespace $ {\n\t\n\texport type $mol_style_prop_result =\n\t\tRecord<\n\t\t\tstring ,\n\t\t\t$mol_style_func< 'var' >\n\t\t>\n\t\n\t/** Create record of CSS variables. */\n\texport function $mol_style_prop(\n\t\tprefix : string ,\n\t\tpostfixes : Array< string >\n\t) {\n\t\t\n\t\tconst record = postfixes.reduce( ( record_obj , postfix )=> {\n\t\t\t\n\t\t\trecord_obj[ postfix ] = $mol_style_func.vary( `--${ prefix }_${ postfix }` )\n\t\t\treturn record_obj\n\t\t\t\n\t\t}, {} as $mol_style_prop_result )\n\t\t\n\t\treturn record\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Theme css variables\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_textarea_demo\n\t */\t\n\texport const $mol_theme = $mol_style_prop(\n\t\t'mol_theme',\n\t\t[\n\t\t\t'back',\n\t\t\t'hover',\n\t\t\t'card',\n\t\t\t'current',\n\t\t\t'special',\n\t\t\t'text',\n\t\t\t'control',\n\t\t\t'shade',\n\t\t\t'line',\n\t\t\t'focus',\n\t\t\t'field',\n\t\t\t'image',\n\t\t]\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/theme/theme.css\",\n \":root {\\n\\t--mol_theme_hue: 210deg;\\n\\t--mol_theme_hue_spread: 90deg;\\n}\\n\\n:where([mol_theme]) {\\n\\tcolor: var(--mol_theme_text);\\n\\tfill: var(--mol_theme_text);\\n\\tbackground-color: var(--mol_theme_back);\\n}\\n\\t\\n:root, [mol_theme=\\\"$mol_theme_dark\\\"], :where([mol_theme=\\\"$mol_theme_dark\\\"]) [mol_theme] {\\n\\n\\t--mol_theme_luma: -1;\\n\\t--mol_theme_image: invert(1) hue-rotate( 180deg );\\n\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 10% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 20%, .25 );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 8%, .25 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 80% );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 60%, 1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 65% );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 60%, 65% );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 60%, 65% );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 60%, 65% );\\n\\n\\t/* --mol_theme_back: oklch( 20% .03 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 35% .05 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_field: oklch( 0% 0 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\\n\\t\\n\\t--mol_theme_text: oklch( 80% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_line: oklch( 50% 0 var(--mol_theme_hue) / .2 );\\n\\t--mol_theme_focus: oklch( 80% .2 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t\\n\\t--mol_theme_control: oklch( 70% .1 var(--mol_theme_hue) );\\n\\t--mol_theme_current: oklch( 80% .2 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_special: oklch( 80% .3 calc( var(--mol_theme_hue) + 60deg ) ); */\\n\\n}\\n\\n[mol_theme=\\\"$mol_theme_light\\\"], :where([mol_theme=\\\"$mol_theme_light\\\"]) [mol_theme] {\\n\\t\\n\\t--mol_theme_luma: 1;\\n\\t--mol_theme_image: none;\\n\\t\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 99% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 90%, .25 );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 100%, .5 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 0% );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 40%, 1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 40% );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 80%, 30% );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 30% );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 30% );\\n\\t\\n\\t/* --mol_theme_back: oklch( 93% .01 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 100% .02 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_field: oklch( 100% 0 var(--mol_theme_hue) / .5 );\\n\\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\\n\\t\\n\\t--mol_theme_text: oklch( 20% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_line: oklch( 70% 0 var(--mol_theme_hue) / .2 );\\n\\t--mol_theme_focus: oklch( 20% .8 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t\\n\\t--mol_theme_control: oklch( 45% .25 var(--mol_theme_hue) );\\n\\t--mol_theme_current: oklch( 45% .5 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_special: oklch( 45% .5 calc( var(--mol_theme_hue) + 60deg ) ); */\\n\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 30% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 40%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 25% .05 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 35% .1 var(--mol_theme_hue) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 80% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 80%, 95%, .25 );\\n\\t/* --mol_theme_back: oklch( 95% .02 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 80% .05 var(--mol_theme_hue) / .25 ); */\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 30% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 40% .2 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t--mol_theme_card: oklch( 50% .3 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 75% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 90%, .25 );\\n\\t/* --mol_theme_back: oklch( 90% .03 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_current\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 30% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_current\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 80% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 95%, .25 );\\n\\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 30% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) + 60deg ) );\\n\\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 80% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 95%, .25 );\\n\\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) + 60deg ) );\\n\\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\\n}\\n\"\n) }","namespace $ {\n\n\t/**\n\t * Gap in CSS\n\t * @see https://page.hyoo.ru/#!=msdb74_bm7nsq\n\t */\n\texport let $mol_gap = $mol_style_prop(\n\t\t'mol_gap',\n\t\t[\n\t\t\t'block',\n\t\t\t'text',\n\t\t\t'round',\n\t\t\t'space',\n\t\t\t'blur',\n\t\t]\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/gap/gap.css\",\n \":root {\\n\\t--mol_gap_block: .75rem;\\n\\t--mol_gap_text: .5rem .75rem;\\n\\t--mol_gap_round: .25rem;\\n\\t--mol_gap_space: .25rem;\\n\\t--mol_gap_blur: .5rem;\\n}\\n\"\n) }","namespace $ {\n\n\texport type $mol_view_content = $mol_view|Node|string|number|boolean\n\t\n\texport function $mol_view_visible_width() {\n\t\treturn $mol_window.size().width\n\t}\n\t\n\texport function $mol_view_visible_height() {\n\t\treturn $mol_window.size().height\n\t}\n\t\n\texport function $mol_view_state_key( suffix : string ) {\n\t\treturn suffix\n\t}\n\t\n\tconst error_showed = new WeakMap< Error, $mol_view >()\n\n\t/**\n\t * The base class for all visual components. It provides the infrastructure for reactive lazy rendering, handling exceptions.\n\t * @see https://mol.hyoo.ru/#!section=docs/=vv2nig_s5zr0f\n\t */\n\t/// Reactive statefull lazy ViewModel\n\texport class $mol_view extends $mol_object {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic Root< This extends typeof $mol_view >( this : This , id: number ) {\n\t\t\treturn new this as InstanceType< This >\n\t\t}\n\n\t\t@ $mol_mem\n\t\tautorun() {\n\t\t\ttry {\n\t\t\t\tthis.dom_tree()\n\t\t\t\tdocument.title = this.title()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic autobind() {\n\t\t\t\n\t\t\tconst nodes = $mol_dom_context.document.querySelectorAll( '[mol_view_root]:not([mol_view_root=\"\"])' )\n\t\t\t\n\t\t\tfor( let i = nodes.length - 1 ; i >= 0 ; --i ) {\n\n\t\t\t\tconst name = nodes.item( i ).getAttribute( 'mol_view_root' )!\n\t\t\t\t\n\t\t\t\tconst View = ($ as any)[ name ] as typeof $mol_view\n\t\t\t\tif( !View ) {\n\t\t\t\t\tconsole.error( `Can not attach view. Class not found: ${ name }` )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst view = View.Root( i )\n\t\t\t\tview.dom_node( nodes.item( i ) )\n\t\t\t\tview.autorun()\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle() {\n\t\t\treturn this.toString().match( /.*\\.(\\w+)/ )?.[1] ?? this.toString()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tfocused( next?: boolean ) {\n\t\t\tlet node = this.dom_node()\n\t\t\tconst value = $mol_view_selection.focused( next === undefined ? undefined : ( next ? [ node ] : [] ) )\n\t\t\treturn value.indexOf( node ) !== -1\n\t\t}\n\t\t\n\t\tstate_key( suffix = '' ) {\n\t\t\treturn this.$.$mol_view_state_key( suffix )\n\t\t}\n\t\t\n\t\t/// Name of element that created when element not found in DOM\n\t\t@ $mol_memo.method\n\t\tdom_name() {\n\t\t\treturn $mol_dom_qname( this.constructor.toString() ) || 'div'\n\t\t}\n\t\t\n\t\t/// NameSpace of element that created when element not found in DOM\n\t\tdom_name_space() { return 'http://www.w3.org/1999/xhtml' }\n\t\t\n\t\t/// Raw child views\n\t\tsub() {\n\t\t\treturn [] as readonly ($mol_view|Node|string|number|boolean)[]\n\t\t}\n\t\t\n\t\t/// Visible sub views with defined ambient context\n\t\t/// Render all by default\n\t\tsub_visible() {\n\t\t\treturn this.sub()\n\t\t}\n\t\t\n\t\t/// Minimal width that used for lazy rendering\n\t\t@ $mol_mem\n\t\tminimal_width() {\n\t\t\t\n\t\t\tlet min = 0\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst sub = this.sub()\n\t\t\t\tif( !sub ) return 0\n\t\t\t\t\n\t\t\t\tsub.forEach( view => {\n\t\t\t\t\tif( view instanceof $mol_view ) {\n\t\t\t\t\t\tmin = Math.max( min , view.minimal_width() )\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 24\n\t\t\t}\n\t\t\n\t\t\treturn min\n\t\t}\n\t\t\n\t\tmaximal_width() {\n\t\t\treturn this.minimal_width()\n\t\t}\n\t\t\n\t\t/// Minimal height that used for lazy rendering\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\t\n\t\t\tlet min = 0\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tfor( const view of this.sub() ?? [] ) {\n\n\t\t\t\t\tif( view instanceof $mol_view ) {\n\t\t\t\t\t\tmin = Math.max( min , view.minimal_height() )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t \n\t\t\t} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 24\n\t\t\t}\n\n\t\t\treturn min\n\t\t}\n\n\t\tstatic watchers = new Set< $mol_view >()\n\n\t\t@ $mol_mem\n\t\tview_rect() {\n\t\t\tif( $mol_wire_probe( ()=> this.view_rect() ) === undefined ) {\n\t\t\t\t$mol_wire_watch()\n\t\t\t\treturn null // don't touch DOM to prevent instant reflow\n\t\t\t} else {\n\t\t\t\tconst { width, height, left, right, top, bottom } = this.dom_node().getBoundingClientRect()\n\t\t\t\treturn { width, height, left, right, top, bottom } // pick to optimize compare\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tdom_id() {\n\t\t\treturn this.toString().replace( //g, ')' )\n\t\t}\n\t\n\t\tdom_node_external( next?: Element) {\n\t\t\tconst node = next ?? $mol_dom_context.document.createElementNS( this.dom_name_space() , this.dom_name() )\n\n\t\t\tconst id = this.dom_id()\n\t\t\tnode.setAttribute( 'id' , id )\n\t\t\tnode.toString = $mol_const( '<#' + id + '>' )\n\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_node( next? : Element ) {\n\t\t\t$mol_wire_solid()\n\t\t\tconst node = this.dom_node_external( next )\n\t\t\t$mol_dom_render_attributes( node , this.attr_static() )\n\t\t\t\n\t\t\tconst events = this.event_async()\n\t\t\t$mol_dom_render_events(node, events)\n\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_final() {\n\t\t\t\n\t\t\tthis.render()\n\t\t\t\n\t\t\tconst sub = this.sub_visible()\n\t\t\tif( !sub ) return\n\t\t\t\n\t\t\tfor( const el of sub ) {\n\t\t\t\tif( el && typeof el === 'object' && 'dom_final' in el ) {\n\t\t\t\t\tel['dom_final']()\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn this.dom_node()\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdom_tree( next? : Element ) : Element {\n\t\t\tconst node = this.dom_node( next )\n\t\t\t\n\t\t\trender: try {\n\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error : null } )\n\n\t\t\t\ttry {\n\t\t\t\t\n\t\t\t\t\tthis.render()\n\t\t\t\t\t\n\t\t\t\t} finally {\n\t\t\t\t\t\n\t\t\t\t\tfor( let plugin of this.plugins() ) {\n\t\t\t\t\t\tif( plugin instanceof $mol_plugin ) {\n\t\t\t\t\t\t\tplugin.dom_tree()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\tconst mol_view_error = $mol_promise_like(error) ? 'Promise' : error.name || error.constructor.name\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error } )\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( error ) ) break render\n\t\t\t\tif( ( error_showed.get( error ) ?? this ) !== this ) break render\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tconst message = error.message || error\n\t\t\t\t\t;( node as HTMLElement ).innerText = message.replace( /^|$/mg, '\\xA0\\xA0' )\n\t\t\t\t} catch {}\n\t\t\t\t\n\t\t\t\terror_showed.set( error, this )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.auto()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\t\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_node_actual() {\n\t\t\tconst node = this.dom_node()\n\n\t\t\t$mol_dom_render_styles( node, this.style_size() )\n\n\t\t\tconst attr = this.attr()\n\t\t\tconst style = this.style()\n\n\t\t\t$mol_dom_render_attributes( node , attr )\n\t\t\t$mol_dom_render_styles( node , style )\n\n\t\t\treturn node\n\t\t}\n\t\t\n\t\tauto() {\n\t\t\treturn null as any\n\t\t}\n\n\t\t@ $mol_mem\n\t\trender() {\n\n\t\t\tconst node = this.dom_node_actual()\n\n\t\t\tconst sub = this.sub_visible()\n\t\t\tif( !sub ) return\n\t\t\t\n\t\t\tconst nodes = sub.map( child => {\n\t\t\t\tif( child == null ) return null\n\t\t\t\treturn ( child instanceof $mol_view )\n\t\t\t\t\t? child.dom_node()\n\t\t\t\t\t: child instanceof $mol_dom_context.Node\n\t\t\t\t\t? child\n\t\t\t\t\t: String( child )\n\t\t\t})\n\t\t\t\n\t\t\t$mol_dom_render_children( node , nodes )\n\n\t\t\tfor( const el of sub ) if( el && typeof el === 'object' && 'dom_tree' in el ) el['dom_tree']()\n\n\t\t\t$mol_dom_render_fields( node , this.field() )\n\t\t\t\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tstatic view_classes() {\n\t\t\tconst proto = this.prototype\n\t\t\t\n\t\t\tlet current = proto\n\t\t\tconst classes = [] as ( typeof $mol_view )[]\n\t\t\t\n\t\t\twhile( current ) {\n\t\t\t\tif( current.constructor.name !== classes.at(-1)?.name ) {\n\t\t\t\t\tclasses.push( current.constructor as typeof $mol_view )\n\t\t\t\t}\n\t\t\t\tif(!( current instanceof $mol_view )) break\n\t\t\t\tcurrent = Object.getPrototypeOf( current )\n\t\t\t}\n\t\t\t\n\t\t\treturn classes\n\t\t}\n\t\t\n\t\tstatic _view_names?: Map< string, string[] >\n\t\tstatic view_names( suffix: string ) {\n\t\t\t\n\t\t\tlet cache = Reflect.getOwnPropertyDescriptor( this, '_view_names' )?.value\n\t\t\tif( !cache ) cache = this._view_names = new Map\n\t\t\t\n\t\t\tconst cached = cache.get( suffix )\n\t\t\tif( cached ) return cached\n\t\t\t\n\t\t\tconst names = [] as string[]\n\t\t\tconst suffix2 = '_' + suffix[0].toLowerCase() + suffix.substring(1)\n\t\t\t\n\t\t\tfor( const Class of this.view_classes() ) {\n\t\t\t\tif( suffix in Class.prototype ) names.push( this.$.$mol_func_name( Class ) + suffix2 )\n\t\t\t\telse break\n\t\t\t}\n\t\t\t\n\t\t\tcache.set( suffix, names )\n\t\t\treturn names\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\tview_names_owned() {\n\t\t\tconst names = [] as string[]\n\t\t\tlet owner = $mol_owning_get( this ) as $mol_wire_fiber< any, any[], any >\n\n\t\t\tif(!( owner?.host instanceof $mol_view )) return names\n\n\t\t\tconst suffix = owner.task.name.trim()\n\t\t\tconst suffix2 = '_' + suffix[0].toLowerCase() + suffix.substring(1)\n\t\t\t\n\t\t\tnames.push( ... ( owner.host.constructor as typeof $mol_view ).view_names( suffix ) )\n\t\t\t\n\t\t\tfor( let prefix of owner.host.view_names_owned() ) {\n\t\t\t\tnames.push( prefix + suffix2 )\n\t\t\t}\n\t\t\t\n\t\t\treturn names\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tview_names() {\n\t\t\tconst names = new Set< string >()\n\t\t\t\n\t\t\tfor( let name of this.view_names_owned() ) names.add( name )\n\n\t\t\tfor( let Class of ( this.constructor as typeof $mol_view ).view_classes() ) {\n\t\t\t\tconst name = this.$.$mol_func_name( Class )\n\t\t\t\tif( name ) names.add( name )\n\t\t\t}\n\n\t\t\treturn names\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttheme( next = null as null | string ) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tattr_static() : { [ key : string ] : string|number|boolean|null } {\n\t\t\tlet attrs : any = {}\n\t\t\t\n\t\t\tfor( let name of this.view_names() ) attrs[ name.replace( /\\$/g , '' ).replace( /^(?=\\d)/ , '_' ).toLowerCase() ] = ''\n\t\t\t\n\t\t\treturn attrs\n\t\t}\n\t\t\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\tmol_theme: this.theme() ?? undefined,\n\t\t\t} as {}\n\t\t}\n\t\t\n\t\tstyle_size() {\n\t\t\treturn {\n\t\t\t\tminHeight: this.minimal_height(),\n\t\t\t\tminWidth: this.minimal_width(),\n\t\t\t} as {\n\t\t\t\t[key: string]: string | number;\n\t\t\t}\n\t\t}\n\t\t\n\t\tstyle() : { [ key : string ] : string|number } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\tfield() : { [ key : string ] : any } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\tevent() : { [ key : string ] : ( event : Event )=> void } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tevent_async() {\n\t\t\treturn { ... $mol_wire_async(this.event()) }\n\t\t}\n\n\t\tplugins() {\n\t\t\treturn [] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t// $mol_dev_format_shade( '/' ) ,\n\t\t\t\t// $mol_dev_format_auto( $mol_wire_cache( this ).sub().cache ) ,\n\t\t\t)\n\t\t}\n\n\t\t/** Deep search view by predicate. */\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this ) ) return yield [ ... path, this ]\n\t\t\t\n\t\t\ttry {\n\t\t\t\tfor( const item of this.sub() ) {\n\t\t\t\t\tif( item instanceof $mol_view ) {\n\t\t\t\t\t\tyield* item.view_find( check, [ ... path, this ] )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch( error: unknown ) {\n\t\t\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t/** Renders path of views to DOM. */\n\t\tforce_render(\n\t\t\tpath : Set< $mol_view >,\n\t\t) {\n\n\t\t\tconst kids = this.sub()\n\n\t\t\tconst index = kids.findIndex( item => {\n\t\t\t\tif( item instanceof $mol_view ) {\n\t\t\t\t\treturn path.has( item )\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif( index >= 0 ) {\n\t\t\t\t( kids[ index ] as $mol_view ).force_render( path )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t/** Renders view to DOM and scroll to it. */\n\t\tensure_visible( view: $mol_view, align: ScrollLogicalPosition = \"start\" ) {\n\t\t\t\n\t\t\tconst path = this.view_find( v => v === view ).next().value\n\t\t\tthis.force_render( new Set( path ) )\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.dom_final()\n\t\t\t} catch(err) {\n\t\t\t\t$mol_fail_log(err)\n\t\t\t}\n\n\t\t\tview.dom_node().scrollIntoView({ block: align })\n\n\t\t}\n\t\t\n\t\tbring() {\n\t\t\t\n\t\t\tconst win = this.$.$mol_dom_context\n\t\t\tif( win.parent !== win.self && !win.document.hasFocus() ) return\n\t\t\t\n\t\t\tnew this.$.$mol_after_frame( ()=> {\n\t\t\t\t\n\t\t\t\tthis.dom_node().scrollIntoView({ block: 'start', inline: 'nearest' })\n\t\t\t\tthis.focused( true )\n\t\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t}\n\n\t\toverride destructor() {\n\t\t\tconst node = $mol_wire_probe(() => this.dom_node())\n\t\t\tif (! node) return\n\n\t\t\tconst events = $mol_wire_probe(() => this.event_async())\n\t\t\tif (! events) return\n\n\t\t\tfor( let event_name in events ) {\n\t\t\t\tnode.removeEventListener(\n\t\t\t\t\tevent_name ,\n\t\t\t\t\tevents[ event_name ]\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n\n\texport type $mol_view_all = $mol_type_pick< $ , typeof $mol_view >\n\n}\n","namespace $ { $mol_style_attach( \"mol/view/view/view.css\",\n \"[mol_view] {\\n\\ttransition-property: height, width, min-height, min-width, max-width, max-height, transform;\\n\\ttransition-duration: .2s;\\n\\ttransition-timing-function: ease-out;\\n\\t-webkit-appearance: none;\\n\\tbox-sizing: border-box;\\n\\tdisplay: flex;\\n\\tflex-shrink: 0;\\n\\tcontain: style;\\n\\tscrollbar-color: var(--mol_theme_line) transparent;\\n\\tscrollbar-width: thin;\\n}\\t\\n\\n[mol_view]::selection {\\n\\tbackground: var(--mol_theme_line);\\n}\\t\\n\\n[mol_view]::-webkit-scrollbar {\\n\\twidth: .25rem;\\n\\theight: .25rem;\\n}\\n\\n[mol_view]::-webkit-scrollbar-corner {\\n\\tbackground-color: var(--mol_theme_line);\\n}\\n\\n[mol_view]::-webkit-scrollbar-track {\\n\\tbackground-color: transparent;\\n}\\n\\n[mol_view]::-webkit-scrollbar-thumb {\\n\\tbackground-color: var(--mol_theme_line);\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[mol_view] > * {\\n\\tword-break: inherit;\\n}\\n\\n[mol_view_root] {\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbox-sizing: border-box;\\n\\tfont-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\\n\\tfont-size: 1rem;\\n\\tline-height: 1.5rem;\\n\\tbackground: var(--mol_theme_back);\\n\\tcolor: var(--mol_theme_text);\\n\\tcontain: unset; /** Fixes bg ignoring when applied to body on Chrome */\\n\\ttab-size: 4;\\n\\toverscroll-behavior: contain; /** Disable navigation gestures **/\\n}\\n\\n@media print {\\n\\t[mol_view_root] {\\n\\t\\theight: auto;\\n\\t}\\n}\\n\\n[mol_view][mol_view_error]:not([mol_view_error=\\\"Promise\\\"]) {\\n\\tbackground-image: repeating-linear-gradient(\\n\\t\\t-45deg,\\n\\t\\t#f92323,\\n\\t\\t#f92323 .5rem,\\n\\t\\t#ff3d3d .5rem,\\n\\t\\t#ff3d3d 1.5rem\\n\\t);\\n\\tcolor: black;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\\n@keyframes mol_view_wait {\\n\\tfrom {\\n\\t\\topacity: .25;\\n\\t}\\n\\t20% {\\n\\t\\topacity: .75;\\n\\t}\\n\\tto {\\n\\t\\topacity: .25;\\n\\t}\\n}\\n\\n:where([mol_view][mol_view_error=\\\"Promise\\\"]) {\\n\\tbackground: var(--mol_theme_hover);\\n}\\n\\n[mol_view][mol_view_error=\\\"Promise\\\"] {\\n\\tanimation: mol_view_wait 1s steps( 20, end ) infinite;\\n}\\n\"\n) }","namespace $ {\n\t/** Plugin is component without its own DOM element, but instead uses the owner DOM element */\n\texport class $mol_plugin extends $mol_view {\n\n\t\toverride dom_node_external( next? : Element ) {\n\t\t\treturn next ?? $mol_owning_get>( this )!.host!.dom_node()\n\t\t}\n\n\t\toverride render() {\n\t\t\tthis.dom_node_actual()\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\texport class $mol_scroll extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * scroll_top? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tscroll_top(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * scroll_left? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tscroll_left(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \ttabIndex <= tabindex\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\ttabIndex: this.tabindex()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tscroll?event <=> event_scroll?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tscroll: (event?: any) => this.event_scroll(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tabindex -1\n\t\t * ```\n\t\t */\n\t\ttabindex() {\n\t\t\treturn -1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_scroll?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_scroll(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\texport class $mol_dom_listener extends $mol_object {\n\n\t\tconstructor(\n\t\t\tpublic _node : any ,\n\t\t\tpublic _event : string ,\n\t\t\tpublic _handler : ( event : any )=> any ,\n\t\t\tpublic _config : boolean|{ passive : boolean } = { passive : true }\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis._node.addEventListener( this._event , this._handler , this._config )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tthis._node.removeEventListener( this._event , this._handler , this._config )\n\t\t\tsuper.destructor()\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_print extends $mol_object {\n\n\t\t@ $mol_mem\n\t\tstatic before() {\n\t\t\treturn new $mol_dom_listener( this.$.$mol_dom_context , 'beforeprint' , ()=> {\n\t\t\t\tthis.active( true )\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic after() {\n\t\t\treturn new $mol_dom_listener( this.$.$mol_dom_context , 'afterprint' , ()=> {\n\t\t\t\tthis.active( false )\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic active( next? : boolean ) {\n\t\t\tthis.before()\n\t\t\tthis.after()\n\t\t\treturn next || false\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_style_sheet<\n\t\tComponent extends $mol_view,\n\t\tConfig extends $mol_style_guard< Component , Config >,\n\t>(\n\t\tComponent : new()=> Component,\n\t\tconfig0 : Config ,\n\t) {\n\n\t\tlet rules = [] as string[]\n\n\t\tconst block = $mol_dom_qname( $mol_ambient({}).$mol_func_name( Component ) )\n\t\tconst kebab = ( name : string )=> name.replace( /[A-Z]/g , letter => '-' + letter.toLowerCase() )\n\n\t\tconst make_class = ( prefix : string , path : string[] , config : typeof config0 )=> {\n\n\t\t\tconst props = [] as string[]\n\n\t\t\tconst selector = ( prefix : string , path : string[] )=> {\n\t\t\t\tif( path.length === 0 ) return prefix || `[${ block }]`\n\t\t\t\tlet res = `[${ block }_${ path.join('_') }]`\n\t\t\t\tif( prefix ) res = prefix + ' :where(' + res + ')'\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tfor( const key of Object.keys( config ).reverse() ) {\n\n\t\t\t\tif( /^(--)?[a-z]/.test(key) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst addProp = ( keys : string[] , val : any )=> {\n\n\t\t\t\t\t\tif( Array.isArray( val ) ) {\n\n\t\t\t\t\t\t\tif( val[0] && [ Array , Object ].includes( val[0].constructor ) ) {\n\t\t\t\t\t\t\t\tval = val.map( v => {\n\t\t\t\t\t\t\t\t\treturn Object.entries( v ).map( ([ n , a ])=> {\n\t\t\t\t\t\t\t\t\t\tif( a === true ) return kebab( n )\n\t\t\t\t\t\t\t\t\t\tif( a === false ) return null\n\t\t\t\t\t\t\t\t\t\treturn String( a )\n\t\t\t\t\t\t\t\t\t} ).filter( Boolean ).join(' ')\n\t\t\t\t\t\t\t\t}).join( ',' )\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tval = val.join(' ')\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tprops.push(`\\t${ keys.join('-') }: ${ val };\\n`)\n\n\t\t\t\t\t\t} else if( val.constructor === Object ) {\n\n\t\t\t\t\t\t\tfor( let suffix in val ) {\n\t\t\t\t\t\t\t\taddProp( [ ... keys , kebab( suffix ) ] , val[ suffix ] )\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tprops.push(`\\t${ keys.join('-') }: ${ val };\\n`)\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\taddProp( [ kebab(key) ] , (config as any)[key] )\n\n\t\t\t\t} else if( /^[A-Z]/.test(key) ) {\n\n\t\t\t\t\tmake_class( prefix , [ ... path , key.toLowerCase() ] , (config as any)[key] )\n\n\t\t\t\t} else if( key[0] === '$' ) {\n\n\t\t\t\t\tmake_class( selector( prefix , path ) + ' :where([' + $mol_dom_qname( key ) + '])' , [] , (config as any)[key] )\n\n\t\t\t\t} else if( key === '>' ) {\n\n\t\t\t\t\tconst types = config[key] as any\n\n\t\t\t\t\tfor( let type in types ) {\n\t\t\t\t\t\tmake_class( selector( prefix , path ) + ' > :where([' + $mol_dom_qname( type ) + '])' , [] , types[type] )\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@' ) {\n\n\t\t\t\t\tconst attrs = config[key] as any\n\n\t\t\t\t\tfor( let name in attrs ) {\n\t\t\t\t\t\tfor( let val in attrs[name] ) {\n\t\t\t\t\t\t\tmake_class( selector( prefix , path ) + ':where([' + name + '=' + JSON.stringify( val ) + '])' , [] , attrs[name][val] )\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@media' ) {\n\n\t\t\t\t\tconst media = (config as any)[key] as any\n\n\t\t\t\t\tfor( let query in media ) {\n\n\t\t\t\t\t\trules.push('}\\n')\n\t\t\t\t\t\t\n\t\t\t\t\t\tmake_class( prefix , path , media[query] )\n\t\t\t\t\t\t\n\t\t\t\t\t\trules.push( `${ key } ${ query } {\\n` )\n\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key[0] === '[' && key[key.length-1] === ']' ) {\n\n\t\t\t\t\tconst attr = key.slice( 1, -1 )\n\t\t\t\t\tconst vals = config[ key as any ] as any as Record< string, any >\n\t\t\t\t\t\n\t\t\t\t\tfor( let val in vals ) {\n\t\t\t\t\t\tmake_class( selector( prefix , path ) + ':where([' + attr + '=' + JSON.stringify( val ) + '])' , [] , vals[val] )\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t} else {\n\n\t\t\t\t\tmake_class( selector( prefix , path ) + key , [] , (config as any)[key] )\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tif( props.length ) {\n\t\t\t\trules.push( `${ selector( prefix , path ) } {\\n${ props.reverse().join('') }}\\n` )\n\t\t\t}\n\n\t\t}\n\n\t\tmake_class( '' , [] , config0 )\n\n\t\treturn rules.reverse().join('')\n\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * CSS in TS.\n\t * Statically typed CSS style sheets. Following samples show which CSS code are generated from TS code.\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport function $mol_style_define<\n\t\tComponent extends $mol_view,\n\t\tConfig extends $mol_style_guard< Component , Config >,\n\t>(\n\t\tComponent : new()=> Component,\n\t\tconfig : Config ,\n\t) {\n\n\t\treturn $mol_style_attach(\n\t\t\tComponent.name,\n\t\t\t$mol_style_sheet( Component , config ),\n\t\t)\n\n\t}\n\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Scrolling pane.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_scroll_demo\n\t */\n\texport class $mol_scroll extends $.$mol_scroll {\n\n\t\t@ $mol_mem\n\t\tscroll_top( next? : number, cache?: 'cache' ): number {\n\t\t\t\n\t\t\tconst el = this.dom_node()\n\t\t\tif( next !== undefined && !cache ) el.scrollTop = next\n\t\t\t\n\t\t\treturn el.scrollTop\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tscroll_left( next? : number, cache?: 'cache' ): number {\n\t\t\t\n\t\t\tconst el = this.dom_node()\n\t\t\tif( next !== undefined && !cache ) el.scrollLeft = next\n\t\t\t\n\t\t\treturn el.scrollLeft\n\t\t}\n\t\t\n\t\tevent_scroll( next? : Event ) {\n\t\t\t\n\t\t\tconst el = this.dom_node() as HTMLElement\n\t\t\t\n\t\t\tthis.scroll_left( el.scrollLeft, 'cache' )\n\t\t\tthis.scroll_top( el.scrollTop, 'cache' )\n\t\t\t\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn this.$.$mol_print.active() ? null! : 0\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.$.$mol_print.active() ? null! : 0\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $.$$ {\n\n\tconst { per , rem , px } = $mol_style_unit\n\n\t$mol_style_define( $mol_scroll , {\n\n\t\tdisplay: 'grid',\n\t\toverflow: 'auto',\n\t\tflex: {\n\t\t\tdirection: 'column',\n\t\t\tgrow: 1,\n\t\t\tshrink: 1,\n\t\t\t// basis: 0,\n\t\t},\n\t\toutline: 'none',\n\t\talignSelf: 'stretch',\n\t\tboxSizing: 'border-box',\n\t\twillChange: 'scroll-position',\n\t\tscroll: {\n\t\t\tpadding: [ rem(.75), 0 ],\n\t\t},\n\t\tmaxHeight: per(100),\n\t\tmaxWidth: per(100),\n\t\twebkitOverflowScrolling: 'touch',\n\t\tcontain: 'content',\n\n\t\t'>': {\n\t\t\t$mol_view: {\n\t\t\t\ttransform: 'translateZ(0)', // enforce gpu scroll in all agents\n\t\t\t\tgridArea: '1/1',\n\t\t\t},\n\t\t},\n\n\t\t'::before': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t'::after': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t\n\t\t'::-webkit-scrollbar': {\n\t\t\twidth: rem(.25),\n\t\t\theight: rem(.25),\n\t\t},\n\t\t\n\t\t'@media' : {\n\t\t\t'print' : {\n\t\t\t\toverflow: 'visible',\n\t\t\t\tcontain: 'none',\n\t\t\t\tmaxHeight: 'unset',\n\t\t\t},\n\t\t},\n\n\t})\n\n}\n","namespace $ {\n\texport class $mol_book2 extends $mol_scroll {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * menu_title \\\n\t\t * ```\n\t\t */\n\t\tmenu_title() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= pages\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.pages()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 0\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Placeholder $mol_view\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPlaceholder() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Gap* $mol_view title \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tGap(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.title = () => \"\"\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages /$mol_view\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport let $mol_mem_cached = $mol_wire_probe\n}\n","namespace $.$$ {\n\n\t/**\n\t * Root component for adaptivity to various screen sizes. Implements booklet UX.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_book2_demo\n\t */\n\texport class $mol_book2 extends $.$mol_book2 {\n\t\t\n\t\ttitle() {\n\t\t\treturn this.pages().map( page => {\n\t\t\t\ttry {\n\t\t\t\t\treturn page?.title()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t}\n\t\t\t} ).reverse().filter( Boolean ).join( ' | ' )\n\t\t}\n\t\t\n\t\tmenu_title() {\n\t\t\treturn this.pages()[0]?.title() || this.title()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\t\n\t\t\tconst next = [ ... this.pages(), this.Placeholder() ]\n\t\t\t\n\t\t\tconst prev = $mol_mem_cached( ()=> this.sub() ) ?? []\n\t\t\t\n\t\t\tfor( let i = 1 ; i++ ; ) {\n\t\t\t\t\n\t\t\t\tconst p = prev[ prev.length - i ]\n\t\t\t\tconst n = next[ next.length - i ]\n\t\t\t\t\n\t\t\t\tif( !n ) break\n\n\t\t\t\tif( p === n ) continue\n\n\t\t\t\tn.bring()\n\t\t\t\t\n\t\t\t\tbreak\n\n\t\t\t}\n\n\t\t\treturn next as readonly $mol_view[]\n\t\t}\n\t\t\n\t\tbring() {\n\t\t\t\n\t\t\tconst pages = this.pages()\n\t\t\t\n\t\t\tif( pages.length ) pages[ pages.length - 1 ].bring()\n\t\t\telse super.bring()\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/book2/book2.view.css\",\n \"[mol_book2] {\\n\\tdisplay: flex;\\n\\tflex-flow: row nowrap;\\n\\talign-items: stretch;\\n\\tflex: 1 1 auto;\\n\\talign-self: stretch;\\n\\tmargin: 0;\\n\\t/* box-shadow: 0 0 0 1px var(--mol_theme_line); */\\n\\t/* transform: translateZ(0); */\\n\\ttransition: none;\\n\\toverflow: overlay;\\n\\tscroll-snap-type: x mandatory;\\n\\tpadding: 0 1px;\\n\\tscroll-padding: 0 1px;\\n\\tgap: 1px;\\n}\\n\\n[mol_book2] > * {\\n/* \\tflex: none; */\\n\\tscroll-snap-stop: always;\\n\\tscroll-snap-align: end;\\n\\tposition: relative;\\n\\tmin-height: 100%;\\n\\tmax-height: 100%;\\n\\tmax-width: 100%;\\n\\tflex-shrink: 0;\\n}\\n\\n[mol_book2] > *:not(:first-of-type):before,\\n[mol_book2] > *:not(:last-of-type)::after {\\n\\tcontent: '';\\n\\tposition: absolute;\\n\\ttop: 1.5rem;\\n\\twidth: 3px;\\n\\theight: 1rem;\\n\\tbackground: linear-gradient(\\n\\t\\tto bottom,\\n\\t\\tvar(--mol_theme_focus) 0%,\\n\\t\\tvar(--mol_theme_focus) 15%,\\n\\t\\ttransparent 15%,\\n\\t\\ttransparent 42%,\\n\\t\\tvar(--mol_theme_focus) 42%,\\n\\t\\tvar(--mol_theme_focus) 58%,\\n\\t\\ttransparent 58%,\\n\\t\\ttransparent 85%,\\n\\t\\tvar(--mol_theme_focus) 85%,\\n\\t\\tvar(--mol_theme_focus) 100%\\n\\t);\\n\\topacity: .5;\\n}\\n[mol_book2] > *:not(:first-of-type):before {\\n\\tleft: -2px;\\n}\\n[mol_book2] > *:not(:last-of-type)::after {\\n\\tright: -2px;\\n}\\n\\n:where([mol_book2]) > * {\\n\\tbackground-color: var(--mol_theme_card);\\n\\t/* box-shadow: 0 0 0 1px var(--mol_theme_back); */\\n}\\n\\n[mol_book2] > [mol_book2] {\\n\\tdisplay: contents;\\n}\\n\\n[mol_book2] > *:first-child {\\n\\tscroll-snap-align: start;\\n}\\n\\n[mol_book2] > [mol_view] {\\n\\ttransform: none; /* prevent content clipping */\\n}\\n\\n[mol_book2_placeholder] {\\n\\tflex: 1 1 0;\\n\\tbackground: none;\\n}\\n\\n[mol_book2_gap] {\\n\\tbackground: none;\\n\\tflex-grow: 1;\\n\\tscroll-snap-align: none;\\n\\tmargin-right: -1px;\\n\\tbox-shadow: none;\\n}\\n\\n[mol_book2_gap]::before,\\n[mol_book2_gap]::after {\\n\\tdisplay: none;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_speck extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_theme <= theme\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_theme: this.theme()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style *\n\t\t * \t^\n\t\t * \tminHeight \\1em\n\t\t * ```\n\t\t */\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t...super.style(),\n\t\t\t\tminHeight: \"1em\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= value\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.value()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * theme \\$mol_theme_accent\n\t\t * ```\n\t\t */\n\t\ttheme() {\n\t\t\treturn \"$mol_theme_accent\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value null\n\t\t * ```\n\t\t */\n\t\tvalue() {\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\t/**\n\t * Z-index values for layers\n\t * https://page.hyoo.ru/#!=xthcpx_wqmiba\n\t */\n\texport let $mol_layer = $mol_style_prop(\n\t\t'mol_layer',\n\t\t[\n\t\t\t'hover',\n\t\t\t'focus',\n\t\t\t'speck',\n\t\t\t'float',\n\t\t\t'popup',\n\t\t]\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/layer/layer.css\",\n \":root {\\n\\t--mol_layer_hover: 1;\\n\\t--mol_layer_focus: 2;\\n\\t--mol_layer_speck: 3;\\n\\t--mol_layer_float: 4;\\n\\t--mol_layer_popup: 5;\\n}\\n\"\n) }","namespace $ { $mol_style_attach( \"mol/speck/speck.view.css\",\n \"[mol_speck] {\\n\\tfont-size: .625rem;\\n\\tborder-radius: 1rem;\\n\\tmargin: -0.5rem -0.25rem;\\n\\talign-self: flex-start;\\n\\tmin-height: 1em;\\n\\tmin-width: .5em;\\n\\tvertical-align: sub;\\n\\tpadding: .25em .5em;\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_speck);\\n\\ttext-align: center;\\n\\tline-height: 1;\\n\\tdisplay: inline-block;\\n\\twhite-space: nowrap;\\n\\ttext-overflow: ellipsis;\\n\\tuser-select: none;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_button extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclick(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_click(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tclick?event <=> event_activate?event\n\t\t * \tdblclick?event <=> clicks?event\n\t\t * \tkeydown?event <=> event_key_press?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tclick: (event?: any) => this.event_activate(event),\n\t\t\t\tdblclick: (event?: any) => this.clicks(event),\n\t\t\t\tkeydown: (event?: any) => this.event_key_press(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tdisabled <= disabled\n\t\t * \trole \\button\n\t\t * \ttabindex <= tab_index\n\t\t * \ttitle <= hint_safe\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tdisabled: this.disabled(),\n\t\t\t\trole: \"button\",\n\t\t\t\ttabindex: this.tab_index(),\n\t\t\t\ttitle: this.hint_safe()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /$mol_view_content <= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Speck $mol_speck value <= error\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSpeck() {\n\t\t\tconst obj = new this.$.$mol_speck()\n\t\t\t\n\t\t\tobj.value = () => this.error()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_activate?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_activate(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clicks?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclicks(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_key_press?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_key_press(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * disabled false\n\t\t * ```\n\t\t */\n\t\tdisabled() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tab_index 0\n\t\t * ```\n\t\t */\n\t\ttab_index() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_safe <= hint\n\t\t * ```\n\t\t */\n\t\thint_safe() {\n\t\t\treturn this.hint()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * error \\\n\t\t * ```\n\t\t */\n\t\terror() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\t/**\n\t* Key names code for hotkey\n\t* @see [mol_hotkey](../../hotkey/hotkey.view.ts)\n\t*/\n\texport enum $mol_keyboard_code {\n\t\tbackspace = 8,\n\t\ttab = 9,\n\t\tenter = 13,\n\t\tshift = 16,\n\t\tctrl = 17,\n\t\talt = 18,\n\t\tpause = 19,\n\t\tcapsLock = 20,\n\t\tescape = 27,\n\t\tspace = 32,\n\t\tpageUp = 33,\n\t\tpageDown = 34,\n\t\tend = 35,\n\t\thome = 36,\n\t\tleft = 37,\n\t\tup = 38,\n\t\tright = 39,\n\t\tdown = 40,\n\t\tinsert = 45,\n\t\tdelete = 46,\n\t\tkey0 = 48,\n\t\tkey1 = 49,\n\t\tkey2 = 50,\n\t\tkey3 = 51,\n\t\tkey4 = 52,\n\t\tkey5 = 53,\n\t\tkey6 = 54,\n\t\tkey7 = 55,\n\t\tkey8 = 56,\n\t\tkey9 = 57,\n\t\tA = 65,\n\t\tB = 66,\n\t\tC = 67,\n\t\tD = 68,\n\t\tE = 69,\n\t\tF = 70,\n\t\tG = 71,\n\t\tH = 72,\n\t\tI = 73,\n\t\tJ = 74,\n\t\tK = 75,\n\t\tL = 76,\n\t\tM = 77,\n\t\tN = 78,\n\t\tO = 79,\n\t\tP = 80,\n\t\tQ = 81,\n\t\tR = 82,\n\t\tS = 83,\n\t\tT = 84,\n\t\tU = 85,\n\t\tV = 86,\n\t\tW = 87,\n\t\tX = 88,\n\t\tY = 89,\n\t\tZ = 90,\n\t\tmetaLeft = 91,\n\t\tmetaRight = 92,\n\t\tselect = 93,\n\t\tnumpad0 = 96,\n\t\tnumpad1 = 97,\n\t\tnumpad2 = 98,\n\t\tnumpad3 = 99,\n\t\tnumpad4 = 100,\n\t\tnumpad5 = 101,\n\t\tnumpad6 = 102,\n\t\tnumpad7 = 103,\n\t\tnumpad8 = 104,\n\t\tnumpad9 = 105,\n\t\tmultiply = 106,\n\t\tadd = 107,\n\t\tsubtract = 109,\n\t\tdecimal = 110,\n\t\tdivide = 111,\n\t\tF1 = 112,\n\t\tF2 = 113,\n\t\tF3 = 114,\n\t\tF4 = 115,\n\t\tF5 = 116,\n\t\tF6 = 117,\n\t\tF7 = 118,\n\t\tF8 = 119,\n\t\tF9 = 120,\n\t\tF10 = 121,\n\t\tF11 = 122,\n\t\tF12 = 123,\n\t\tnumLock = 144,\n\t\tscrollLock = 145,\n\t\tsemicolon = 186,\n\t\tequals = 187,\n\t\tcomma = 188,\n\t\tdash = 189,\n\t\tperiod = 190,\n\t\tforwardSlash = 191,\n\t\tgraveAccent = 192,\n\t\tbracketOpen = 219,\n\t\tslashBack = 220,\n\t\tslashBackLeft = 226,\n\t\tbracketClose = 221,\n\t\tquoteSingle = 222\n\t}\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Simple button.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button extends $.$mol_button {\n\n\t\t@ $mol_mem\n\t\tstatus( next = [ null as any ] ) { return next }\n\t\t\n\t\tdisabled() {\n\t\t\treturn !this.enabled()\n\t\t}\n\t\t\n\t\tevent_activate( next : Event ) {\n\t\t\t\n\t\t\tif( !next ) return\n\t\t\tif( !this.enabled() ) return\n\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tthis.event_click( next )\n\t\t\t\tthis.click( next )\n\t\t\t\tthis.status([ null ])\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tPromise.resolve().then( ()=> this.status([ error ]) )\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tevent_key_press ( event: KeyboardEvent ) { \n\t\t\tif( event.keyCode === $mol_keyboard_code.enter ) {\n\t\t\t\treturn this.event_activate( event )\n\t\t\t}\n\t\t} \n\t\t\n\t\ttab_index() {\n\t\t\treturn this.enabled() ? super.tab_index() : -1\n\t\t}\n\n\t\terror() {\n\n\t\t\tconst [ error ] = this.status()\n\t\t\tif( !error ) return ''\n\n\t\t\tif( error instanceof Promise ) {\n\t\t\t\treturn $mol_fail_hidden( error )\n\t\t\t}\n\t\t\t\n\t\t\treturn String( error.message ?? error )\n\n\t\t}\n\t\t\n\t\thint_safe() {\n\t\t\ttry {\n\t\t\t\treturn this.hint()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn ''\n\t\t\t}\n\t\t}\n\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\t... this.error() ? [ this.Speck() ] : [] ,\n\t\t\t\t... this.sub() ,\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/button/button.view.css\",\n \"[mol_button] {\\n\\tborder: none;\\n\\tfont: inherit;\\n\\tdisplay: inline-flex;\\n\\tflex-shrink: 0;\\n\\ttext-decoration: inherit;\\n\\tcursor: inherit;\\n\\tposition: relative;\\n\\tbox-sizing: border-box;\\n\\tword-break: normal;\\n\\tcursor: default;\\n\\tuser-select: none;\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[mol_button]:where(:not(:disabled)):hover {\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_button]:focus-visible {\\n\\toutline: none;\\n\\tz-index: var(--mol_layer_focus);\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_button_typed extends $mol_button {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 40\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 40\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 40\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 40\n\t\t}\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/button/typed/typed.view.css\",\n \"[mol_button_typed] {\\n\\talign-content: center;\\n\\talign-items: center;\\n\\tpadding: var(--mol_gap_text);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tgap: var(--mol_gap_space);\\n\\tuser-select: none;\\n\\tcursor: pointer;\\n}\\n\\n[mol_button_typed][disabled] {\\n\\tpointer-events: none;\\n}\\n\\n[mol_button_typed]:hover ,\\n[mol_button_typed]:focus-visible {\\n\\tbackground-color: var(--mol_theme_hover);\\n}\\n\\n[mol_button_typed]:active {\\n\\tcolor: var(--mol_theme_focus);\\n}\\n\\n\"\n) }","namespace $ {\n\texport class $mol_button_minor extends $mol_button_typed {\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/button/minor/minor.view.css\",\n \"[mol_button_minor] {\\n\\tcolor: var(--mol_theme_control);\\n}\\n\\n[mol_button_minor][disabled] {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_svg extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\svg\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"svg\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name_space \\http://www.w3.org/2000/svg\n\t\t * ```\n\t\t */\n\t\tdom_name_space() {\n\t\t\treturn \"http://www.w3.org/2000/svg\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * font_size 16\n\t\t * ```\n\t\t */\n\t\tfont_size() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * font_family \\\n\t\t * ```\n\t\t */\n\t\tfont_family() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style_size *\n\t\t * ```\n\t\t */\n\t\tstyle_size() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\t\n\t/** State of time moment */\n\texport class $mol_state_time extends $mol_object {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic task( precision: number, reset?: null ): $mol_after_timeout | $mol_after_frame {\n\t\t\t\n\t\t\tif( precision ) {\n\t\t\t\treturn new $mol_after_timeout( precision, ()=> this.task( precision, null ) )\n\t\t\t} else {\n\t\t\t\treturn new $mol_after_frame( ()=> this.task( precision, null ) )\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic now( precision: number ) {\n\t\t\tthis.task( precision )\n\t\t\treturn Date.now()\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\t/** Base SVG component to display SVG images or icons. */\n\texport class $mol_svg extends $.$mol_svg {\n\t\t@$mol_mem\n\t\tcomputed_style() {\n\t\t\tconst win = this.$.$mol_dom_context\n\t\t\tconst style = win.getComputedStyle(this.dom_node()) as Record\n\n\t\t\tif(!style['font-size']) $mol_state_time.now( 0 )\n\n\t\t\treturn style\n\t\t}\n\n\t\t@$mol_mem\n\t\tfont_size(): number {\n\t\t\treturn parseInt(this.computed_style()['font-size']) || 16\n\t\t}\n\n\t\t@$mol_mem\n\t\tfont_family() {\n\t\t\treturn this.computed_style()['font-family']\n\t\t}\n\n\t}\n}\n","namespace $ {\n\texport class $mol_svg_root extends $mol_svg {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\svg\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"svg\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tviewBox <= view_box\n\t\t * \tpreserveAspectRatio <= aspect\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tviewBox: this.view_box(),\n\t\t\t\tpreserveAspectRatio: this.aspect()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_box \\0 0 100 100\n\t\t * ```\n\t\t */\n\t\tview_box() {\n\t\t\treturn \"0 0 100 100\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * aspect \\xMidYMid\n\t\t * ```\n\t\t */\n\t\taspect() {\n\t\t\treturn \"xMidYMid\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/svg/root/root.view.css\",\n \"[mol_svg_root] {\\n\\toverflow: hidden;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_svg_path extends $mol_svg {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\path\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"path\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \td <= geometry\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\td: this.geometry()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * geometry \\\n\t\t * ```\n\t\t */\n\t\tgeometry() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon extends $mol_svg_root {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_box \\0 0 24 24\n\t\t * ```\n\t\t */\n\t\tview_box() {\n\t\t\treturn \"0 0 24 24\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 16\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 16\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Path\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Path()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Path $mol_svg_path geometry <= path\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPath() {\n\t\t\tconst obj = new this.$.$mol_svg_path()\n\t\t\t\n\t\t\tobj.geometry = () => this.path()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/icon/icon.view.css\",\n \"[mol_icon] {\\n\\tfill: currentColor;\\n\\tstroke: none;\\n\\twidth: 1em;\\n\\theight: 1.5em;\\n\\tflex: 0 0 auto;\\n\\tvertical-align: top;\\n\\tdisplay: inline-block;\\n\\tfilter: drop-shadow(0px 1px 1px var(--mol_theme_back));\\n\\ttransform-origin: center;\\n}\\n\\n[mol_icon_path] {\\n\\ttransform-origin: center;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_icon_upload extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_button_open extends $mol_button_minor {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Icon\n\t\t * \t<= Native\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon(),\n\t\t\t\tthis.Native()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_upload\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_upload()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * files?next /\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tfiles(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * accept \\\n\t\t * ```\n\t\t */\n\t\taccept() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * multiple true\n\t\t * ```\n\t\t */\n\t\tmultiple() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Native $mol_button_open_native\n\t\t * \tfiles?next <=> files?next\n\t\t * \taccept <= accept\n\t\t * \tmultiple <= multiple\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNative() {\n\t\t\tconst obj = new this.$.$mol_button_open_native()\n\t\t\t\n\t\t\tobj.files = (next?: any) => this.files(next)\n\t\t\tobj.accept = () => this.accept()\n\t\t\tobj.multiple = () => this.multiple()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n\texport class $mol_button_open_native extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\input\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"input\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * files?next /\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tfiles(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \ttype \\file\n\t\t * \taccept <= accept\n\t\t * \tmultiple <= multiple\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\ttype: \"file\",\n\t\t\t\taccept: this.accept(),\n\t\t\t\tmultiple: this.multiple()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event * change?next <=> picked?next\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\tchange: (next?: any) => this.picked(next)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * accept \\\n\t\t * ```\n\t\t */\n\t\taccept() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * multiple true\n\t\t * ```\n\t\t */\n\t\tmultiple() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * picked?next null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tpicked(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\t/**\n\t * File open button\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button_open_native extends $.$mol_button_open_native {\n\t\t\n\t\tdom_node() {\n\t\t\treturn super.dom_node() as HTMLInputElement\n\t\t}\n\t\t\n\t\tpicked() {\n\t\t\t\n\t\t\tconst files = this.dom_node().files\n\t\t\tif( !files || !files.length ) return\n\t\t\t\n\t\t\tthis.files([ ... files ])\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/button/open/open.view.css\",\n \"[mol_button_open_native] {\\n\\tposition: absolute;\\n\\tleft: 0;\\n\\ttop: -100%;\\n\\twidth: 100%;\\n\\theight: 200%;\\n\\tcursor: pointer;\\n\\topacity: 0;\\n}\\n\"\n) }","namespace $ {\n\texport let $mol_mem_persist = $mol_wire_solid\n}\n","namespace $ {\n\t\n\t/**\n\t * Convert asynchronous (promise-based) API to synchronous by wrapping function and method calls in a fiber.\n\t * @see https://mol.hyoo.ru/#!section=docs/=1fcpsq_1wh0h2\n\t */\n\texport function $mol_wire_sync< Host extends object >( obj: Host ) {\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tconst val = (obj as any)[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\t\n\t\t\t\tconst temp = $mol_wire_task.getter( val )\n\t\t\t\treturn function $mol_wire_sync( this: Host, ... args: any[] ) {\n\t\t\t\t\tconst fiber = temp( obj, args )\n\t\t\t\t\treturn fiber.sync()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t},\n\t\t\t\n\t\t\tapply( obj, self, args ) {\n\t\t\t\tconst temp = $mol_wire_task.getter( obj as ( ... args: any[] )=> any )\n\t\t\t\tconst fiber = temp( self, args )\n\t\t\t\treturn fiber.sync()\n\t\t\t},\n\t\t\t\n\t\t} ) as unknown as ObjectOrFunctionResultAwaited\n\t}\n\n\ttype FunctionResultAwaited = Some extends (...args: infer Args) => infer Res\n\t\t? (...args: Args) => Awaited\n\t\t: Some\n\n\ttype MethodsResultAwaited = {\n\t\t[K in keyof Host]: FunctionResultAwaited\n\t}\n\n\ttype ObjectOrFunctionResultAwaited = (\n\t\tSome extends (...args: any) => unknown ? FunctionResultAwaited : {}\n\t) & ( Some extends Object ? MethodsResultAwaited : Some )\n\n}\n","namespace $ {\n\texport class $mol_storage extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic native() {\n\t\t\treturn this.$.$mol_dom_context.navigator.storage ?? { // exists only in secure context\n\t\t\t\tpersisted: async ()=> false,\n\t\t\t\tpersist: async ()=> false,\n\t\t\t\testimate: async ()=> ({}),\n\t\t\t\tgetDirectory: async ()=> null! as FileSystemHandle,\n\t\t\t} as StorageManager\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic persisted( next?: boolean, cache?: 'cache' ): boolean {\n\t\t\t\n\t\t\t$mol_mem_persist()\n\t\t\t\n\t\t\tif( cache ) return Boolean( next )\n\t\t\t\n\t\t\tconst native = this.native()\n\t\t\tif( next && !$mol_mem_cached( ()=> this.persisted() ) ) {\n\t\t\t\tnative.persist().then( actual => {\n\t\t\t\t\t\n\t\t\t\t\tsetTimeout( ()=> this.persisted( actual, 'cache' ), 5000 )\n\t\t\t\t\t\n\t\t\t\t\tif( actual ) this.$.$mol_log3_done({ place: `$mol_storage`, message: `Persist: Yes` })\n\t\t\t\t\telse this.$.$mol_log3_fail({ place: `$mol_storage`, message: `Persist: No` })\n\t\t\t\t\t\n\t\t\t\t} )\n\t\t\t}\n\t\t\t\n\t\t\treturn next ?? $mol_wire_sync( native ).persisted()\n\t\t}\n\t\t\n\t\tstatic estimate() {\n\t\t\treturn $mol_wire_sync( this.native() ?? {} ).estimate()\n\t\t}\n\t\t\n\t\tstatic dir() {\n\t\t\treturn $mol_wire_sync( this.native() ).getDirectory()\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\texport class $mol_state_local< Value > extends $mol_object {\n\t\t\n\t\tstatic 'native()' : Pick< Storage , 'getItem'|'setItem'|'removeItem' >\n\t\tstatic native() {\n\t\t\tif( this['native()'] ) return this['native()']\n\n\t\t\tcheck : try {\n\t\t\t\tconst native = $mol_dom_context.localStorage\n\t\t\t\tif( !native ) break check\n\t\t\t\t\n\t\t\t\tnative.setItem( '' , '' )\n\t\t\t\tnative.removeItem( '' )\n\t\t\t\treturn this['native()'] = native\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.warn( error )\n\t\t\t}\n\n\t\t\treturn this['native()'] = {\n\t\t\t\tgetItem( key : string ) {\n\t\t\t\t\treturn (this as any)[ ':' + key ]\n\t\t\t\t} ,\n\t\t\t\tsetItem( key : string , value : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = value\n\t\t\t\t} ,\n\t\t\t\tremoveItem( key : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = void 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic changes( next?: StorageEvent ) { return next }\n\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >(\n\t\t\tkey : string ,\n\t\t\tnext? : Value | null ,\n\t\t) : Value | null {\n\t\t\t\n\t\t\tthis.changes()\n\t\t\t\n\t\t\tif( next === void 0 ) return JSON.parse( this.native().getItem( key ) || 'null' )\n\t\t\t\n\t\t\tif( next === null ) {\n\t\t\t\tthis.native().removeItem( key )\n\t\t\t} else {\n\t\t\t\tthis.native().setItem( key , JSON.stringify( next ) )\n\t\t\t\tthis.$.$mol_storage.persisted( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tprefix() { return '' }\n\t\t\n\t\tvalue( key : string , next? : Value ) {\n\t\t\treturn $mol_state_local.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst decoders = {} as { [ key in $mol_charset_encoding ]?: TextDecoder }\n\n\texport function $mol_charset_decode(\n\t\tbuffer: BufferSource,\n\t\tencoding: $mol_charset_encoding = 'utf8',\n\t) {\n\t\t\n\t\tlet decoder = decoders[ encoding ]\n\t\tif( !decoder ) decoder = decoders[ encoding ] = new TextDecoder( encoding )\n\t\t\n\t\treturn decoder.decode( buffer )\n\t}\n\n}\n","namespace $ {\n\tconst TextEncoder = globalThis.TextEncoder ?? $node.util.TextEncoder\n\n\tconst encoder = new TextEncoder()\n\n\texport function $mol_charset_encode(value: string) {\n\t\treturn encoder.encode(value)\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_file_type = 'file' | 'dir' | 'link'\n\n\texport interface $mol_file_stat {\n\t\ttype: $mol_file_type\n\t\tsize: number\n\t\tatime: Date\n\t\tmtime: Date\n\t\tctime: Date\n\t}\n\n\texport class $mol_file_not_found extends Error {}\n\n\texport abstract class $mol_file extends $mol_object {\n\t\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ): $mol_file {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\n\t\tstatic relative( path : string ) : $mol_file {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\t\t\n\t\tstatic base = ''\n\t\t\n\t\tpath() {\n\t\t\treturn '.'\n\t\t}\n\t\t\n\t\tparent() {\n\t\t\treturn this.resolve( '..' )\n\t\t}\n\n\t\tabstract stat( next? : $mol_file_stat | null, virt?: 'virt' ): $mol_file_stat | null\n\n\t\treset(): void {\n\t\t\ttry {\n\t\t\t\tthis.stat( null )\n\t\t\t} catch( error: any ) {\n\t\t\t\tif (error instanceof $mol_file_not_found) return\n\t\t\t\treturn $mol_fail_hidden(error)\n\t\t\t}\n\t\t}\n\t\t\n\t\tversion() {\n\t\t\treturn this.stat()?.mtime.getTime().toString( 36 ).toUpperCase() ?? ''\n\t\t}\n\n\t\tabstract ensure(): void\n\n\t\twatcher() {\n\t\t\tconsole.warn('$mol_file_web.watcher() not implemented')\n\n\t\t\treturn {\n\t\t\t\tdestructor() {}\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texists( next? : boolean ) {\n\t\t\t\n\t\t\tlet exists = Boolean( this.stat() )\n\n\t\t\tif( next === undefined ) return exists\n\t\t\tif( next === exists ) return exists\n\n\t\t\tif( next ) this.parent().exists( true )\n\t\t\tthis.ensure()\n\t\t\tthis.reset()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\ttype() {\n\t\t\treturn this.stat()?.type ?? ''\n\t\t}\n\t\t\n\t\tname() {\n\t\t\treturn this.path().replace( /^.*\\//, '' )\n\t\t}\n\t\t\n\t\text() {\n\t\t\tconst match = /((?:\\.\\w+)+)$/.exec( this.path() )\n\t\t\treturn match ? match[ 1 ].substring( 1 ) : ''\n\t\t}\n\n\t\tabstract buffer( next? : Uint8Array ): Uint8Array\n\n\t\t@ $mol_mem\n\t\ttext(next?: string, virt?: 'virt') {\n\t\t\tif( virt ) {\n\t\t\t\tconst now = new Date\n\t\t\t\tthis.stat( {\n\t\t\t\t\ttype: 'file',\n\t\t\t\t\tsize: 0,\n\t\t\t\t\tatime: now,\n\t\t\t\t\tmtime: now,\n\t\t\t\t\tctime: now,\t\t\t\n\t\t\t\t}, 'virt' )\n\t\t\t\treturn next!\n\t\t\t}\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn $mol_charset_decode( this.buffer( undefined ) )\t\n\t\t\t} else {\n\t\t\t\tconst buffer = next === undefined ? undefined : $mol_charset_encode( next )\n\t\t\t\tthis.buffer( buffer )\n\t\t\t\treturn next\n\t\t\t}\n\t\t}\n\n\t\tabstract sub(): $mol_file[]\n\n\t\tabstract resolve(path: string): $mol_file\n\n\t\tabstract relate( base?: $mol_file ): string\n\t\t\n\t\tabstract append( next : Uint8Array | string ): void\n\t\t\n\t\tfind(\n\t\t\tinclude? : RegExp ,\n\t\t\texclude? : RegExp\n\t\t) {\n\t\t\tconst found = [] as $mol_file[]\n\t\t\tconst sub = this.sub()\n\n\t\t\tfor (const child of sub) {\n\t\t\t\tconst child_path = child.path()\n\n\t\t\t\tif( exclude && child_path.match( exclude ) ) continue\n\n\t\t\t\tif( !include || child_path.match( include ) ) found.push( child )\n\n\t\t\t\tif( child.type() === 'dir' ) {\n\t\t\t\t\tconst sub_child = child.find( include , exclude )\n\t\t\t\t\tfor (const child of sub_child) found.push(child)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn found\n\t\t}\n\n\t\tsize() {\n\t\t\tswitch( this.type() ) {\n\t\t\t\tcase 'file': return this.stat()?.size ?? 0\n\t\t\t\tdefault: return 0\n\t\t\t}\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n export function $mol_compare_array>(a: Value, b: Value): boolean {\n\t\tif (a === b) return true\n\t\tif (Object.getPrototypeOf(a) !== Object.getPrototypeOf(b)) return false\n\t\tif (a.length !== b.length) return false\n\n\t\tfor (let i = 0; i < a.length; i++)\n\t\t\tif (a[i] !== b[i]) return false\n\n\t\treturn true\n\t}\n}\n","namespace $ {\n\n\tfunction stat_convert(stat: ReturnType): null | $mol_file_stat {\n\t\t\n\t\tif( !stat ) return null\n\t\t\n\t\tlet type: $mol_file_type | undefined\n\t\tif (stat.isDirectory()) type = 'dir'\n\t\tif (stat.isFile()) type = 'file'\n\t\tif (stat.isSymbolicLink()) type = 'link'\n\n\t\tif (! type) return $mol_fail( new Error(`Unsupported file type`) )\n\n\t\treturn {\n\t\t\ttype, \n\t\t\tsize: Number(stat.size),\n\t\t\tatime: stat.atime,\n\t\t\tmtime: stat.mtime,\n\t\t\tctime: stat.ctime\n\t\t}\n\t}\n\n\tfunction buffer_normalize(buf: Buffer): Uint8Array {\n\t\treturn new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength)\n\t}\n\n\texport class $mol_file_node extends $mol_file {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ) {\n\t\t\treturn this.make({\n\t\t\t\tpath : $mol_const( path )\n\t\t\t})\n\t\t}\n\n\t\tstatic relative( path : string ) {\n\t\t\treturn this.absolute( $node.path.resolve( this.base, path ).replace( /\\\\/g , '/' ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\twatcher() {\n\n\t\t\tconst watcher = $node.chokidar.watch( this.path() , {\n\t\t\t\tpersistent : true ,\n\t\t\t\tignored : /(^\\.|___$)/ ,\n\t\t\t\tdepth : 0 ,\n\t\t\t\tignoreInitial : true ,\n\t\t\t\tawaitWriteFinish: {\n\t\t\t\t\tstabilityThreshold: 100,\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\twatcher\n\t\t\t.on( 'all' , ( type , path )=> {\n\t\t\t\t\n\t\t\t\tconst file = $mol_file.relative( path.replace( /\\\\/g , '/' ) )\n\n\t\t\t\tfile.reset()\n\t\t\t\t\n\t\t\t\tif( type === 'change' ) {\n\t\t\t\t\tthis.stat( null )\n\t\t\t\t} else {\n\t\t\t\t\tfile.parent().reset()\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t.on( 'error' , $mol_fail_log )\n\t\t\t\n\t\t\treturn {\n\t\t\t\tdestructor() {\n\t\t\t\t\twatcher.close()\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstat( next? : $mol_file_stat | null, virt?: 'virt' ) {\n\t\t\t\n\t\t\tlet stat = next\n\t\t\tconst path = this.path()\n\n\t\t\tthis.parent().watcher()\n\t\t\t\n\t\t\tif( virt ) return next!\n\t\t\t\n\t\t\ttry {\n\t\t\t\tstat = next ?? stat_convert($node.fs.statSync( path, { throwIfNoEntry: false } ))\n\t\t\t} catch( error: any ) {\n\t\t\t\tif (error.code === 'ENOENT') error = new $mol_file_not_found(`File not found`)\n\t\t\t\terror.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(error)\n\t\t\t}\n\n\t\t\treturn stat\n\t\t}\n\n\t\t@ $mol_mem\n\t\tensure() {\n\t\t\tconst path = this.path()\n\n\t\t\ttry {\n\t\t\t\t$node.fs.mkdirSync( path )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\tthis.$.$mol_fail_hidden(e)\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tbuffer( next? : Uint8Array ) {\n\n\t\t\tconst path = this.path()\n\t\t\tif( next === undefined ) {\n\n\t\t\t\tif( !this.stat() ) return new Uint8Array\n\t\t\t\t\n\t\t\t\ttry {\n\n\t\t\t\t\tconst prev = $mol_mem_cached( ()=> this.buffer() )\n\t\t\t\t\t\n\t\t\t\t\tnext = buffer_normalize( $node.fs.readFileSync( path ) )\n\n\t\t\t\t\tif( prev !== undefined && !$mol_compare_array( prev, next ) ) {\n\t\t\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\t\t\tplace: `$mol_file_node..buffer()`,\n\t\t\t\t\t\t\tmessage: 'Changed' ,\n\t\t\t\t\t\t\tpath: this.relate() ,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\treturn next\n\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\terror.message += '\\n' + path\n\t\t\t\t\treturn this.$.$mol_fail_hidden( error )\n\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.parent().exists( true )\n\t\t\t\n\t\t\tconst now = new Date\n\t\t\tthis.stat( {\n\t\t\t\ttype: 'file',\n\t\t\t\tsize: next.length,\n\t\t\t\tatime: now,\n\t\t\t\tmtime: now,\n\t\t\t\tctime: now,\n\t\t\t}, 'virt' )\n\n\t\t\ttry {\n\n\t\t\t\t$node.fs.writeFileSync( path, next )\n\n\t\t\t} catch( error: any ) {\n\n\t\t\t\terror.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden( error )\n\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\n\t\t}\n\t\t@ $mol_mem\n\t\tsub() : $mol_file[] {\n\t\t\tif (! this.exists() ) return []\n\t\t\tif ( this.type() !== 'dir') return []\n\n\t\t\tconst path = this.path()\n\t\t\tthis.stat()\n\n\t\t\ttry {\n\t\t\t\treturn $node.fs.readdirSync( path )\n\t\t\t\t\t.filter( name => !/^\\.+$/.test( name ) )\n\t\t\t\t\t.map( name => this.resolve( name ) )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(e)\n\t\t\t}\n\t\t}\n\t\t\n\t\tresolve( path : string ) {\n\t\t\treturn ( this.constructor as typeof $mol_file ).relative( $node.path.join( this.path() , path ) )\n\t\t}\n\t\t\n\t\trelate( base = ( this.constructor as typeof $mol_file ).relative( '.' )) {\n\t\t\treturn $node.path.relative( base.path() , this.path() ).replace( /\\\\/g , '/' )\n\t\t}\n\t\t\n\t\tappend( next : Uint8Array | string ) {\n\t\t\tconst path = this.path()\n\t\t\ttry {\n\t\t\t\t$node.fs.appendFileSync( path , next )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(e)\n\t\t\t}\n\t\t}\t\t\n\t}\n\n\t$.$mol_file = $mol_file_node\n}\n","namespace $ {\n\t\n\texport interface $mol_locale_dict {\n\t\t[ key : string ] : string\n\t}\n\t\n\t/**\n\t * Localisation in $mol framework\n\t * @see https://mol.hyoo.ru/#!section=docs/=s5aqnb_odub8l\n\t */\n\texport class $mol_locale extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic lang_default() {\n\t\t\treturn 'en'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic lang( next? : string ) {\n\t\t\treturn this.$.$mol_state_local.value( 'locale' , next ) || $mol_dom_context.navigator.language.replace( /-.*/ , '' ) || this.lang_default()\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic source( lang : string ) {\n\t\t\treturn JSON.parse( this.$.$mol_file.relative( `web.locale=${ lang }.json` ).text().toString() )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic texts( lang : string , next? : $mol_locale_dict ) : $mol_locale_dict {\n\t\t\tif( next ) return next\n\t\t\t\n\t\t\ttry {\n\t\t\t\treturn this.source( lang ).valueOf()\n\t\t\t} catch( error: any ) {\n\t\t\t\tif( $mol_fail_catch( error ) ) {\n\t\t\t\t\tconst def = this.lang_default()\n\t\t\t\t\tif( lang === def ) throw error\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic text( key : string ): string {\n\t\t\t\n\t\t\tconst lang = this.lang()\n\n\t\t\tconst target = this.texts( lang )[ key ]\n\t\t\tif( target ) return target\n\t\t\t\n\t\t\tthis.warn( key )\n\t\t\t\n\t\t\tconst en = this.texts( 'en' )[ key ]\n\t\t\tif( !en ) return key\n\t\t\t\n\t\t\t// try {\n\t\t\t// \treturn $mol_wire_sync( $hyoo_lingua_translate ).call( this.$, lang, en )\n\t\t\t// } catch( error ) {\n\t\t\t// \t$mol_fail_log( error )\n\t\t\t// }\n\t\t\t\n\t\t\treturn en\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic warn( key : string ) {\n\t\t\tconsole.warn( `Not translated to \"${ this.lang() }\": ${ key }` )\n\t\t\treturn null\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport class $mol_link extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\a\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"a\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_off \\\n\t\t * ```\n\t\t */\n\t\turi_off() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_native null\n\t\t * ```\n\t\t */\n\t\turi_native() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * external false\n\t\t * ```\n\t\t */\n\t\texternal() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \thref <= uri_toggle\n\t\t * \ttitle <= hint_safe\n\t\t * \ttarget <= target\n\t\t * \tdownload <= file_name\n\t\t * \tmol_link_current <= current\n\t\t * \trel <= relation\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\thref: this.uri_toggle(),\n\t\t\t\ttitle: this.hint_safe(),\n\t\t\t\ttarget: this.target(),\n\t\t\t\tdownload: this.file_name(),\n\t\t\t\tmol_link_current: this.current(),\n\t\t\t\trel: this.relation()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /$mol_view_content <= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * arg *\n\t\t * ```\n\t\t */\n\t\targ() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tclick?event <=> click?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tclick: (event?: any) => this.click(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_toggle \\\n\t\t * ```\n\t\t */\n\t\turi_toggle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_safe <= hint\n\t\t * ```\n\t\t */\n\t\thint_safe() {\n\t\t\treturn this.hint()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * target \\_self\n\t\t * ```\n\t\t */\n\t\ttarget() {\n\t\t\treturn \"_self\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * file_name \\\n\t\t * ```\n\t\t */\n\t\tfile_name() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current false\n\t\t * ```\n\t\t */\n\t\tcurrent() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * relation \\\n\t\t * ```\n\t\t */\n\t\trelation() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_click(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * click?event <=> event_click?event\n\t\t * ```\n\t\t */\n\t\tclick(event?: any) {\n\t\t\treturn this.event_click(event)\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\t/**\n\t * Decorates method to fiber to ensure it is executed only once inside other fiber from [mol_wire](../wire/README.md)\n\t * @see https://mol.hyoo.ru/#!section=docs/=1fcpsq_1wh0h2\n\t */\n\texport let $mol_action = $mol_wire_method\n}\n","namespace $ {\n\n\t/** State of arguments like `foo=bar xxx` */\n\texport class $mol_state_arg extends $mol_object {\n\t\t\n\t\tstatic prolog = ''\n\t\tstatic separator = ' '\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href( next? : string ) {\n\t\t\treturn next || process.argv.slice( 2 ).join( ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href_normal() {\n\t\t\treturn this.link({})\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic dict( next? : { [ key : string ] : string | null } ) {\n\t\t\tif( next !== void 0 ) this.href( this.make_link( next ) )\n\t\t\t\n\t\t\tvar href = this.href()\n\t\t\tvar chunks = href.split( ' ' )\n\t\t\t\n\t\t\tvar params : { [ key : string ] : string } = {}\n\t\t\tchunks.forEach(\n\t\t\t\tchunk => {\n\t\t\t\t\tif( !chunk ) return\n\t\t\t\t\tvar vals = chunk.split( '=' ).map( decodeURIComponent )\n\t\t\t\t\tparams[ vals.shift()! ] = vals.join('=')\n\t\t\t\t}\n\t\t\t)\n\t\t\t\n\t\t\treturn params as Readonly< typeof params >\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic value( key : string , next? : string | null ) {\n\t\t\tif( next === void 0 ) return this.dict()[ key ] ?? null\n\t\t\tthis.href( this.link( { [ key ] : next } ) )\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tstatic link( next : Record ) {\n\t\t\tconst params : Record = {}\n\t\t\t\n\t\t\tvar prev = this.dict()\n\t\t\tfor( var key in prev ) {\n\t\t\t\tparams[ key ] = prev[ key ]\n\t\t\t}\n\t\t\t\n\t\t\tfor( var key in next ) {\n\t\t\t\tparams[ key ] = next[ key ]\n\t\t\t}\n\t\t\t\n\t\t\treturn this.make_link( params )\n\t\t}\n\t\t\n\t\tstatic make_link( next : Record) {\n\t\t\tconst chunks : string[] = []\n\t\t\tfor( const key in next ) {\n\t\t\t\tif( next[ key ] !== null ) {\n\t\t\t\t\tchunks.push([key, next[key]!].map(encodeURIComponent).join('='))\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn chunks.join( ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tstatic go( next : { [ key : string ] : string | null } ) {\n\t\t\tthis.href( this.make_link( next ) )\n\t\t}\n\t\t\n\t\tconstructor( public prefix = '' ) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\tvalue( key : string , next? : string ) {\n\t\t\treturn ( this.constructor as typeof $mol_state_arg ).value( this.prefix + key , next )\n\t\t}\n\t\t\n\t\tsub( postfix : string ) {\n\t\t\treturn new ( this.constructor as typeof $mol_state_arg )( this.prefix + postfix + '.' )\n\t\t}\n\t\t\n\t\tlink( next : Record ) {\n\t\t\tconst prefix = this.prefix\n\t\t\tconst dict : Record = {}\n\t\t\tfor( var key in next ) {\n\t\t\t\tdict[ prefix + key ] = next[ key ]\n\t\t\t}\n\t\t\treturn ( this.constructor as typeof $mol_state_arg ).link( dict )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Dynamic hyperlink. It can add, change or remove parameters. A link that leads to the current page has [mol_link_current] attribute set to true.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_link_demo\n\t */\n\texport class $mol_link extends $.$mol_link {\n\t\t\n\t\t@ $mol_mem\n\t\turi_toggle() {\n\t\t\treturn this.current() ? this.uri_off() : this.uri()\n\t\t}\n\n\t\t@ $mol_mem\n\t\turi() {\n\t\t\treturn new this.$.$mol_state_arg( this.state_key() ).link( this.arg() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\turi_off() {\n\t\t\tconst arg2: Record = {}\n\t\t\tfor( let i in this.arg() ) arg2[i] = null\n\t\t\t\n\t\t\treturn new this.$.$mol_state_arg( this.state_key() ).link( arg2 )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_native() {\n\t\t\tconst base = this.$.$mol_state_arg.href()\n\t\t\treturn new URL( this.uri() , base )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcurrent() {\n\n\t\t\tconst base = this.$.$mol_state_arg.href_normal()\n\t\t\tconst target = this.uri_native().toString()\n\n\t\t\tif( base === target ) return true\n\t\t\t\n\t\t\tconst args = this.arg() as Record\n\t\t\t\n\t\t\tconst keys = Object.keys( args ).filter( key => args[ key ] != null )\n\t\t\tif( keys.length === 0 ) return false\n\n\t\t\tfor( const key of keys ) {\n\t\t\t\tif( this.$.$mol_state_arg.value( key ) != args[ key ] ) return false\n\t\t\t}\n\n\t\t\treturn true\n\t\t}\n\n\t\tfile_name() {\n\t\t\treturn null as unknown as string\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn Math.max( super.minimal_height(), 24 )\n\t\t}\n\t\t\n\t\texternal() {\n\t\t\treturn this.uri_native().origin !== $mol_dom_context.location.origin\n\t\t}\n\t\t\n\t\ttarget(): '_self' | '_blank' | '_top' | '_parent' | string {\n\t\t\treturn this.external() ? '_blank' : '_self'\n\t\t}\n\n\t\thint_safe() {\n\t\t\ttry {\n\t\t\t\treturn this.hint()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn ''\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst { rem } = $mol_style_unit\n\n\t$mol_style_define( $mol_link , {\n\t\t\n\t\ttextDecoration: 'none',\n\t\tcolor: $mol_theme.control,\n\t\tstroke: 'currentcolor',\n\t\tcursor: 'pointer',\n\t\tpadding: $mol_gap.text,\n\t\tboxSizing: 'border-box',\n\t\tposition: 'relative',\n\t\tminWidth: rem(2.5),\n\t\tgap: $mol_gap.space,\n\t\t\n\t\tborder: {\n\t\t\tradius: $mol_gap.round,\n\t\t},\n\n\t\t':hover': {\n\t\t\t\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.hover,\n\t\t\t},\n\t\t\t\n\t\t},\n\n\t\t':focus-visible': {\n\t\t\t\n\t\t\toutline: 'none',\n\t\t\t\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.hover,\n\t\t\t},\n\t\t\t\n\t\t},\n\n\t\t// ':has(:focus-visible)': {\n\t\t// \toutline: 'none',\n\t\t// \tbackground: {\n\t\t// \t\tcolor: $mol_theme.hover,\n\t\t// \t}\n\t\t// },\n\t\t\n\t\t':active': {\n\t\t\tcolor: $mol_theme.focus,\n\t\t},\n\n\t\t'@': {\n\t\t\tmol_link_current: {\n\t\t\t\t'true': {\n\t\t\t\t\tcolor: $mol_theme.current,\n\t\t\t\t\ttextShadow: '0 0',\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\n\t} )\n\n}\n","namespace $ {\n\texport class $mol_icon_delete extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19C6,20.1 6.9,21 8,21H16C17.1,21 18,20.1 18,19V7H6V19Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19C6,20.1 6.9,21 8,21H16C17.1,21 18,20.1 18,19V7H6V19Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_list extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * render_visible_only true\n\t\t * ```\n\t\t */\n\t\trender_visible_only() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * render_over 0\n\t\t * ```\n\t\t */\n\t\trender_over() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= rows\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.rows()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Empty $mol_view\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tEmpty() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Gap_before $mol_view style * paddingTop <= gap_before\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tGap_before() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.style = () => ({\n\t\t\t\tpaddingTop: this.gap_before()\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Gap_after $mol_view style * paddingTop <= gap_after\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tGap_after() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.style = () => ({\n\t\t\t\tpaddingTop: this.gap_after()\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_window /\n\t\t * \t0\n\t\t * \t0\n\t\t * ```\n\t\t */\n\t\tview_window() {\n\t\t\treturn [\n\t\t\t\t0,\n\t\t\t\t0\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rows /$mol_view\n\t\t * ```\n\t\t */\n\t\trows() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * gap_before 0\n\t\t * ```\n\t\t */\n\t\tgap_before() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * gap_after 0\n\t\t * ```\n\t\t */\n\t\tgap_after() {\n\t\t\treturn 0\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\tlet cache = null as null | boolean\n\texport function $mol_support_css_overflow_anchor( this: $ ) {\n\t\treturn cache ?? (\n\t\t\tcache = (\n\t\t\t\t!/Gecko\\//.test( navigator.userAgent ) // FF doesn't anchow while scroll animates\n\t\t\t\t&& this.$mol_dom_context.CSS?.supports( 'overflow-anchor:auto' )\n\t\t\t) ?? false\n\t\t)\n\t}\n\n}\n","namespace $.$$ {\n\n\t/**\n\t * The list of rows with lazy/virtual rendering support based on `minimal_height` of rows.\n\t * `mol_list` should contain only components that inherits `mol_view`. You should not place raw strings or numbers in list.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_list_demo\n\t */\n\texport class $mol_list extends $.$mol_list {\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\tconst rows = this.rows()\n\t\t\treturn ( rows.length === 0 ) ? [ this.Empty() ] : rows\n\t\t}\n\n\t\trender_visible_only() {\n\t\t\treturn this.$.$mol_support_css_overflow_anchor()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tview_window( next?: [ number , number ] ) : [ number , number ] {\n\t\t\t\n\t\t\tconst kids = this.sub()\n\t\t\t\n\t\t\tif( kids.length < 3 ) return [ 0 , kids.length ]\n\t\t\tif( this.$.$mol_print.active() ) return [ 0 , kids.length ]\n\t\t\t\n\t\t\tconst rect = this.view_rect()\n\t\t\tif( next ) return next\n\t\t\t\n\t\t\tlet [ min , max ] = $mol_mem_cached( ()=> this.view_window() ) ?? [ 0 , 0 ]\n\n\t\t\tlet max2 = max = Math.min( max , kids.length )\n\t\t\tlet min2 = min = Math.max( 0 , Math.min( min , max - 1 ) )\n\t\t\t\n\t\t\tconst anchoring = this.render_visible_only()\n\t\t\tconst window_height = this.$.$mol_window.size().height + 40\n\t\t\tconst over = Math.ceil( window_height * this.render_over() )\n\t\t\tconst limit_top = -over\n\t\t\tconst limit_bottom = window_height + over\n\n\t\t\tconst gap_before = $mol_mem_cached( ()=> this.gap_before() ) ?? 0\n\t\t\tconst gap_after = $mol_mem_cached( ()=> this.gap_after() ) ?? 0\n\n\t\t\tlet top = Math.ceil( rect?.top ?? 0 ) + gap_before\n\t\t\tlet bottom = Math.ceil( rect?.bottom ?? 0 ) - gap_after\n\n\t\t\t// change nothing when already covers all limits\n\t\t\tif( top <= limit_top && bottom >= limit_bottom ) {\n\t\t\t\treturn [ min2 , max2 ]\n\t\t\t}\n\n\t\t\t// jumps when fully over limits\n\t\t\tif( anchoring && (( bottom < limit_top )||( top > limit_bottom )) ) {\n\n\t\t\t\tmin = 0\n\t\t\t\ttop = Math.ceil( rect?.top ?? 0 )\n\t\t\t\t\n\t\t\t\twhile( min < ( kids.length - 1 ) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst height = kids[ min ].minimal_height()\n\t\t\t\t\tif( top + height >= limit_top ) break\n\t\t\t\t\t\n\t\t\t\t\ttop += height\n\t\t\t\t\t++ min\n\n\t\t\t\t}\n\n\t\t\t\tmin2 = min\n\t\t\t\tmax2 = max = min\n\t\t\t\tbottom = top\n\n\t\t\t}\n\n\t\t\tlet top2 = top\n\t\t\tlet bottom2 = bottom\n\n\t\t\t// force recalc min when overlapse top limit\n\t\t\tif( anchoring && ( top <= limit_top ) && ( bottom2 < limit_bottom ) ) {\n\t\t\t\tmin2 = Math.max( 0, max - 1 )\n\t\t\t\ttop2 = bottom\n\t\t\t}\n\n\t\t\t// force recalc max when overlapse bottom limit\n\t\t\tif( ( bottom >= limit_bottom ) && ( top2 >= limit_top ) ) {\n\t\t\t\tmax2 = Math.min( min + 1, kids.length )\n\t\t\t\tbottom2 = top\n\t\t\t}\n\n\t\t\t// extend max to cover bottom limit\n\t\t\twhile( bottom2 < limit_bottom && max2 < kids.length ) {\n\t\t\t\tbottom2 += kids[ max2 ].minimal_height()\n\t\t\t\t++ max2\n\t\t\t}\n\n\t\t\t// extend min to cover top limit\n\t\t\twhile( anchoring && (( top2 >= limit_top )&&( min2 > 0 )) ) {\n\t\t\t\t-- min2\n\t\t\t\ttop2 -= kids[ min2 ].minimal_height()\n\t\t\t}\n\n\t\t\treturn [ min2 , max2 ]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_before() {\n\t\t\tconst skipped = this.sub().slice( 0 , this.view_window()[0] )\n\t\t\treturn Math.max( 0 , skipped.reduce( ( sum , view )=> sum + view.minimal_height() , 0 ) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_after() {\n\t\t\tconst skipped = this.sub().slice( this.view_window()[1] )\n\t\t\treturn Math.max( 0 , skipped.reduce( ( sum , view )=> sum + view.minimal_height() , 0 ) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\t... this.gap_before() ? [ this.Gap_before() ] : [],\n\t\t\t\t... this.sub().slice( ... this.view_window() ),\n\t\t\t\t... this.gap_after() ? [ this.Gap_after() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\n\t\t\treturn this.sub().reduce( ( sum , view )=> {\n\n\t\t\t\ttry {\n\t\t\t\t\treturn sum + view.minimal_height() \n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t\treturn sum\n\t\t\t\t}\n\n\t\t\t} , 0 )\n\n\t\t}\n\n\t\tforce_render(\n\t\t\tpath : Set< $mol_view >,\n\t\t) {\n\n\t\t\tconst kids = this.rows()\n\n\t\t\tconst index = kids.findIndex( item => path.has( item ) )\n\n\t\t\tif( index >= 0 ) {\n\t\t\t\tconst win = this.view_window()\n\t\t\t\tif( index < win[0] || index >= win[1] ) {\n\t\t\t\t\tthis.view_window([ this.render_visible_only() ? index : 0, index + 1 ])\n\t\t\t\t}\n\t\t\t\t( kids[ index ] as $mol_view ).force_render( path )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/list/list.view.css\",\n \"[mol_list] {\\n\\twill-change: contents;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tflex-shrink: 0;\\n\\tmax-width: 100%;\\n\\t/* display: flex;\\n\\talign-items: stretch;\\n\\talign-content: stretch; */\\n\\ttransition: none;\\n\\tmin-height: 1.5rem;\\n}\\n\\n[mol_list_gap_before] ,\\n[mol_list_gap_after] {\\n\\tdisplay: block !important;\\n\\tflex: none;\\n\\ttransition: none;\\n\\toverflow-anchor: none;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_check extends $mol_button_minor {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_check_checked <= checked?\n\t\t * \taria-checked <= aria_checked\n\t\t * \trole <= aria_role\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_check_checked: this.checked(),\n\t\t\t\t\"aria-checked\": this.aria_checked(),\n\t\t\t\trole: this.aria_role()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /$mol_view_content\n\t\t * \t<= Icon\n\t\t * \t<= label\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon(),\n\t\t\t\tthis.label()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * checked? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tchecked(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * aria_checked \\false\n\t\t * ```\n\t\t */\n\t\taria_checked() {\n\t\t\treturn \"false\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * aria_role \\checkbox\n\t\t * ```\n\t\t */\n\t\taria_role() {\n\t\t\treturn \"checkbox\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon null\n\t\t * ```\n\t\t */\n\t\tIcon() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Title $mol_view sub / <= title\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTitle() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * label / <= Title\n\t\t * ```\n\t\t */\n\t\tlabel() {\n\t\t\treturn [\n\t\t\t\tthis.Title()\n\t\t\t] as readonly any[]\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\t\n\texport function $mol_maybe< Value >( value : Value | null | undefined ) : Value[] {\n\t\treturn ( value == null ) ? [] : [ value ]\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/check/check.css\",\n \"[mol_check] {\\n\\tflex: 0 0 auto;\\n\\tjustify-content: flex-start;\\n\\talign-content: center;\\n\\t/* align-items: flex-start; */\\n\\tborder: none;\\n\\tfont-weight: inherit;\\n\\tbox-shadow: none;\\n\\ttext-align: left;\\n\\tdisplay: inline-flex;\\n\\tflex-wrap: nowrap;\\n}\\n\\n[mol_check_title] {\\n\\tflex-shrink: 1;\\n}\\n\"\n) }","namespace $.$$ {\n\n\t/**\n\t * Checkbox UI component. See Variants for more concrete implementations.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_check_box_demo\n\t */\n\texport class $mol_check extends $.$mol_check {\n\n\t\tclick( next? : Event ) {\n\t\t\tif( next?.defaultPrevented ) return\n\t\t\tthis.checked( !this.checked() )\n\t\t\tif( next ) next.preventDefault()\n\t\t}\n\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\t... $mol_maybe( this.Icon() ) ,\n\t\t\t\t... this.label() ,\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\n\t\tlabel() {\n\t\t\treturn this.title() ? super.label() : []\n\t\t}\n\t\t\n\t\taria_checked() {\n\t\t\treturn String( this.checked() )\n\t\t}\n\n\t}\n}\n","namespace $ {\n\texport class $mol_check_list extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dictionary *\n\t\t * ```\n\t\t */\n\t\tdictionary() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Option* $mol_check\n\t\t * \tchecked? <=> option_checked*?\n\t\t * \tlabel <= option_label*\n\t\t * \tenabled <= option_enabled*\n\t\t * \thint <= option_hint*\n\t\t * \tminimal_height 24\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tOption(id: any) {\n\t\t\tconst obj = new this.$.$mol_check()\n\t\t\t\n\t\t\tobj.checked = (next?: any) => this.option_checked(id, next)\n\t\t\tobj.label = () => this.option_label(id)\n\t\t\tobj.enabled = () => this.option_enabled(id)\n\t\t\tobj.hint = () => this.option_hint(id)\n\t\t\tobj.minimal_height = () => 24\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * options *\n\t\t * ```\n\t\t */\n\t\toptions() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keys /string\n\t\t * ```\n\t\t */\n\t\tkeys() {\n\t\t\treturn [\n\t\t\t] as readonly string[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= items\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.items()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_checked*? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\toption_checked(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_title* \\\n\t\t * ```\n\t\t */\n\t\toption_title(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_label* / <= option_title*\n\t\t * ```\n\t\t */\n\t\toption_label(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.option_title(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_enabled* <= enabled\n\t\t * ```\n\t\t */\n\t\toption_enabled(id: any) {\n\t\t\treturn this.enabled()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_hint* \\\n\t\t * ```\n\t\t */\n\t\toption_hint(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * items /$mol_check\n\t\t * ```\n\t\t */\n\t\titems() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_check[]\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\t\n\t/**\n\t * List of checkboxes\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_check_list_demo\n\t */\n\texport class $mol_check_list extends $.$mol_check_list {\n\n\t\toptions() : { [ key : string ] : string } {\n\t\t\treturn {}\n\t\t}\n\n\t\toverride dictionary(next?: Record) {\n\t\t\treturn next ?? {}\n\t\t}\n\n\t\toverride option_checked(id: string, next?: boolean | null) {\n\t\t\tconst prev = this.dictionary()\n\t\t\tif (next === undefined) return prev[id] ?? null\n\n\t\t\tconst next_rec = { ... prev, [id]: next } as Record\n\t\t\tif (next === null) delete next_rec[id]\n\n\t\t\treturn this.dictionary(next_rec)[id] ?? null\n\t\t}\n\n\t\t@ $mol_mem\n\t\tkeys(): readonly string[] {\n\t\t\treturn Object.keys( this.options() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\titems() {\n\t\t\treturn this.keys().map( key => this.Option( key ) )\n\t\t}\n\t\t\n\t\toption_title( key : string ) {\n\t\t\treturn this.options()[key] || key\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/check/list/list.view.css\",\n \"[mol_check_list] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tflex: 1 1 auto;\\n\\tborder-radius: var(--mol_gap_round);\\n\\tgap: 1px;\\n}\\n\\n[mol_check_list_option] {\\n\\tflex: 0 1 auto;\\n}\\n\\n[mol_check_list_option]:where([mol_check_checked=\\\"true\\\"]) {\\n\\ttext-shadow: 0 0;\\n\\tcolor: var(--mol_theme_current);\\n}\\n\\n[mol_check_list_option]:where([mol_check_checked=\\\"true\\\"][disabled]) {\\n\\tcolor: var(--mol_theme_text);\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_switch extends $mol_check_list {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tvalue(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\t\n\texport class $mol_state_session< Value > extends $mol_object {\n\t\t\n\t\tstatic 'native()' : Pick< Storage , 'getItem'|'setItem'|'removeItem' >\n\t\tstatic native() {\n\t\t\tif( this['native()'] ) return this['native()']\n\n\t\t\tcheck : try {\n\t\t\t\tconst native = $mol_dom_context.sessionStorage\n\t\t\t\tif( !native ) break check\n\n\t\t\t\tnative.setItem( '' , '' )\n\t\t\t\tnative.removeItem( '' )\n\t\t\t\treturn this['native()'] = native\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.warn( error )\n\t\t\t}\n\n\t\t\treturn this['native()'] = {\n\t\t\t\tgetItem( key : string ) {\n\t\t\t\t\treturn (this as any)[ ':' + key ]\n\t\t\t\t} ,\n\t\t\t\tsetItem( key : string , value : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = value\n\t\t\t\t} ,\n\t\t\t\tremoveItem( key : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = void 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >( key : string , next? : Value ) : Value {\n\t\t\tif( next === void 0 ) return JSON.parse( this.native().getItem( key ) || 'null' )\n\t\t\t\n\t\t\tif( next === null ) this.native().removeItem( key )\n\t\t\telse this.native().setItem( key , JSON.stringify( next ) )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tprefix() { return '' }\n\t\t\n\t\tvalue( key : string , next? : Value ) {\n\t\t\treturn $mol_state_session.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Buttons which switching the state\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_switch_demo\n\t */\n\texport class $mol_switch extends $.$mol_switch {\n\n\t\tvalue( next? : any ) {\n\t\t\treturn $mol_state_session.value( `${ this }.value()` , next ) ?? ''\n\t\t}\n\t\t\n\t\toption_checked( key : string , next? : boolean ) {\n\t\t\tif( next === undefined ) return this.value() == key\n\t\t\tthis.value( next ? key : '' )\n\t\t\treturn next\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\texport class $mol_deck extends $mol_list {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * items /$mol_view\n\t\t * ```\n\t\t */\n\t\titems() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rows /$mol_view\n\t\t * \t<= Switch\n\t\t * \t<= Content\n\t\t * ```\n\t\t */\n\t\trows() {\n\t\t\treturn [\n\t\t\t\tthis.Switch(),\n\t\t\t\tthis.Content()\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current? \\0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"0\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * switch_options *\n\t\t * ```\n\t\t */\n\t\tswitch_options() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Switch $mol_switch\n\t\t * \tvalue? <=> current?\n\t\t * \toptions <= switch_options\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSwitch() {\n\t\t\tconst obj = new this.$.$mol_switch()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.current(next)\n\t\t\tobj.options = () => this.switch_options()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Content $mol_view\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tContent() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\t\n\t/**\n\t * The component which arrange content in multiple tabs.\n\t * @seehttps://mol.hyoo.ru/#!section=demos/demo=mol_deck_demo\n\t */\n\texport class $mol_deck extends $.$mol_deck {\n\t\t\n\t\tcurrent( next? : string ) {\n\t\t\treturn $mol_state_session.value( `${ this }.current()` , next ) || '0'\n\t\t}\n\t\t\n\t\tswitch_options() {\n\t\t\tlet options : Record< string , string > = {}\n\t\t\tthis.items().forEach( ( item , index ) => {\n\t\t\t\toptions[ String( index ) ] = item.title()\n\t\t\t} )\n\t\t\treturn options\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tContent() {\n\t\t\treturn this.items()[ Number( this.current() ) ]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\texport class $mol_icon_script extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2H8C6.3,2 5,3.3 5,5V16H16V17C16,17.6 16.4,18 17,18H18V5C18,4.4 18.4,4 19,4C19.6,4 20,4.4 20,5V6H22V5C22,3.3 20.7,2 19,2Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2H8C6.3,2 5,3.3 5,5V16H16V17C16,17.6 16.4,18 17,18H18V5C18,4.4 18.4,4 19,4C19.6,4 20,4.4 20,5V6H22V5C22,3.3 20.7,2 19,2Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_script_text extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2C20.7,2 22,3.3 22,5V6H20V5C20,4.4 19.6,4 19,4C18.4,4 18,4.4 18,5V18H17C16.4,18 16,17.6 16,17V16H5V5C5,3.3 6.3,2 8,2H19M8,6V8H15V6H8M8,10V12H14V10H8Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2C20.7,2 22,3.3 22,5V6H20V5C20,4.4 19.6,4 19,4C18.4,4 18,4.4 18,5V18H17C16.4,18 16,17.6 16,17V16H5V5C5,3.3 6.3,2 8,2H19M8,6V8H15V6H8M8,10V12H14V10H8Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_link_source extends $mol_link {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint @ \\Source code\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_link_source_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Icon\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_script_text\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_script_text()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_page extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\article\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"article\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \ttabIndex <= tabindex\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\ttabIndex: this.tabindex()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Head\n\t\t * \t<= Body\n\t\t * \t<= Foot\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Head(),\n\t\t\t\tthis.Body(),\n\t\t\t\tthis.Foot()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tabindex -1\n\t\t * ```\n\t\t */\n\t\ttabindex() {\n\t\t\treturn -1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Logo null\n\t\t * ```\n\t\t */\n\t\tLogo() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title_content /\n\t\t * \t<= Logo\n\t\t * \t<= title\n\t\t * ```\n\t\t */\n\t\ttitle_content() {\n\t\t\treturn [\n\t\t\t\tthis.Logo(),\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Title $mol_view\n\t\t * \tdom_name \\h1\n\t\t * \tsub <= title_content\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTitle() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.dom_name = () => \"h1\"\n\t\t\tobj.sub = () => this.title_content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tools /$mol_view_content\n\t\t * ```\n\t\t */\n\t\ttools() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Tools $mol_view sub <= tools\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTools() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => this.tools()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * head /\n\t\t * \t<= Title\n\t\t * \t<= Tools\n\t\t * ```\n\t\t */\n\t\thead() {\n\t\t\treturn [\n\t\t\t\tthis.Title(),\n\t\t\t\tthis.Tools()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Head $mol_view\n\t\t * \tminimal_height 64\n\t\t * \tdom_name \\header\n\t\t * \tsub <= head\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHead() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.minimal_height = () => 64\n\t\t\tobj.dom_name = () => \"header\"\n\t\t\tobj.sub = () => this.head()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * body /$mol_view\n\t\t * ```\n\t\t */\n\t\tbody() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Body_content $mol_view sub <= body\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tBody_content() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => this.body()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * body_content / <= Body_content\n\t\t * ```\n\t\t */\n\t\tbody_content() {\n\t\t\treturn [\n\t\t\t\tthis.Body_content()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * body_scroll_top?\n\t\t * ```\n\t\t */\n\t\tbody_scroll_top(next?: any) {\n\t\t\treturn this.Body().scroll_top(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Body $mol_scroll\n\t\t * \tscroll_top? => body_scroll_top?\n\t\t * \tsub <= body_content\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tBody() {\n\t\t\tconst obj = new this.$.$mol_scroll()\n\t\t\t\n\t\t\tobj.sub = () => this.body_content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * foot /$mol_view\n\t\t * ```\n\t\t */\n\t\tfoot() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Foot $mol_view\n\t\t * \tdom_name \\footer\n\t\t * \tsub <= foot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFoot() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.dom_name = () => \"footer\"\n\t\t\tobj.sub = () => this.foot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\tconst { per , rem } = $mol_style_unit\n\tconst { calc } = $mol_style_func\n\n\t$mol_style_define( $mol_page , {\n\n\t\tdisplay: 'flex' ,\n\t\tflex: {\n\t\t\tbasis: 'auto' ,\n\t\t\tdirection: 'column' ,\n\t\t},\n\t\tposition: 'relative' ,\n\t\talignSelf: 'stretch' ,\n\t\tmaxWidth: per(100) ,\n\t\tmaxHeight: per(100) ,\n\t\tboxSizing: 'border-box' ,\n\t\tcolor: $mol_theme.text ,\n\t\t// zIndex: 0 ,\n\t\t\n\t\t':focus': {\n\t\t\toutline: 'none',\n\t\t} ,\n\n\t\tHead: {\n\t\t\tdisplay: 'flex' ,\n\t\t\tflexWrap: 'wrap' ,\n\t\t\tjustifyContent: 'flex-end' ,\n\t\t\tflex: 'none',\n\t\t\tposition: 'relative' ,\n\t\t\tmargin: 0 ,\n\t\t\tminHeight: rem(4),\n\t\t\tpadding: $mol_gap.block ,\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card ,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tboxShadow: `0 0.5rem 0.5rem -0.5rem hsla(0,0%,0%,.25)` ,\n\t\t\tzIndex: 2,\n\t\t},\n\n\t\tTitle: {\n\n\t\t\tminHeight: rem(2),\n\t\t\tmargin: 0,\n\t\t\tpadding: $mol_gap.text,\n\t\t\tgap: $mol_gap.text,\n\t\t\twordBreak: 'normal',\n\t\t\ttextShadow: '0 0',\n\n\t\t\tfont: {\n\t\t\t\tsize: 'inherit',\n\t\t\t\tweight: 'normal',\n\t\t\t},\n\t\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 1,\n\t\t\t\tbasis: 'auto',\n\t\t\t},\n\n\t\t},\n\n\t\tTools: {\n\t\t\t\n\t\t\tflex: {\n\t\t\t\tbasis: 'auto',\n\t\t\t\tgrow: 1000,\n\t\t\t\tshrink: 1,\n\t\t\t},\n\t\t\tdisplay: 'flex',\n\t\t\tjustifyContent: 'flex-end',\n\t\t\talignItems: 'flex-start',\n\t\t\tflexWrap: 'wrap',\n\n\t\t},\n\n\t\tBody: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1000,\n\t\t\t\tshrink: 1,\n\t\t\t\tbasis: per(100),\n\t\t\t},\n\t\t},\n\t\t\n\t\tBody_content: {\n\t\t\tpadding: $mol_gap.block ,\n\t\t\tflex: {\n\t\t\t\tdirection: 'column',\n\t\t\t\tshrink: 1,\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tjustify: {\n\t\t\t\tself: 'stretch',\n\t\t\t},\n\t\t},\n\t\t\n\t\tFoot: {\n\t\t\tdisplay: 'flex',\n\t\t\tjustifyContent: 'space-between',\n\t\t\tflex: 'none',\n\t\t\tmargin: 0,\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card ,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tboxShadow: `0 -0.5rem 0.5rem -0.5rem hsla(0,0%,0%,.25)` ,\n\t\t\tzIndex: 1,\n\t\t\tpadding: $mol_gap.block ,\n\t\t\t':empty': {\n\t\t\t\tdisplay: 'none',\n\t\t\t},\n\t\t},\t\n\n\t} )\n\t\n}\n","namespace $ {\n\n\texport class $mol_store< Data > extends $mol_object2 {\n\n\t\tconstructor(\n\t\t\tpublic data_default? : Data\n\t\t) {\n\t\t\tsuper()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata( next? : Data ) {\n\t\t\treturn next === undefined ? this.data_default! : next\n\t\t}\n\n\t\tsnapshot( next? : string ) {\n\t\t\treturn JSON.stringify( this.data( next === undefined ? next : JSON.parse( next ) ) )\n\t\t}\n\n\t\tvalue< Key extends keyof Data >( key : Key , next? : Data[ Key ] ) {\n\t\t\t\n\t\t\tconst data = this.data()\n\t\t\tif( next === undefined ) return data && data[ key ]!\n\n\t\t\tconst Constr = Reflect.getPrototypeOf( data as any )!.constructor as new ()=> {}\n\t\t\t\n\t\t\tthis.data( Object.assign( new Constr , data , { [ key ] : next } ) )\n\n\t\t\treturn next!\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tselection<\n\t\t\tKey extends keyof Data\n\t\t>( key: Key, next = [ 0, 0 ] ) {\n\t\t\treturn next\n\t\t}\n\t\t\t\n\t\tsub<\n\t\t\tKey extends keyof Data ,\n\t\t\tLens extends $mol_store< Data[ Key ] > = $mol_store< NonNullable >\n\t\t>( key : Key , lens? : Lens ) {\n\n\t\t\tif( !lens ) lens = new $mol_store< Data[ Key ] >() as any\n\n\t\t\tconst data = lens!.data\n\t\t\tlens!.data = next => {\n\t\t\t\tif( next == undefined ) {\n\t\t\t\t\treturn this.value( key ) ?? lens!.data_default!\n\t\t\t\t}\n\t\t\t\treturn this.value( key , next )\n\t\t\t}\n\n\t\t\treturn lens!\n\n\t\t}\n\n\t\treset() {\n\t\t\tthis.data( this.data_default! )\n\t\t}\n\n\t\tactive() {\n\t\t\treturn true\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\tinterface Plot {\n\t\tid: string\n\t\ttype: 'matrix' | 'plot3d' | 'pd' | string\n\t\tjson: unknown\n\t}\n\n\texport class $visavis_plot extends $mol_store {\n\n\t\tid(next?: string) {\n\t\t\treturn this.value('id', next)\n\t\t}\n\n\t\ttype() {\n\t\t\treturn this.value('type')\n\t\t}\n\n\t\tjson() {\n\t\t\treturn this.value('json')\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\texport class $mol_icon_tick extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_check_box extends $mol_check {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_tick\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_tick()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/check/box/box.view.css\",\n \"[mol_check_box_icon] {\\n\\tborder-radius: var(--mol_gap_round);\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_line);\\n\\tcolor: var(--mol_theme_shade);\\n\\theight: 1rem;\\n\\talign-self: center;\\n}\\n\\n[mol_check]:not([mol_check_checked]) > [mol_check_box_icon] {\\n\\tfill: transparent;\\n}\\n\\n[mol_check]:not([disabled]) > [mol_check_box_icon] {\\n\\tbackground: var(--mol_theme_field);\\n\\tcolor: var(--mol_theme_text);\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_labeler extends $mol_list {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rows /\n\t\t * \t<= Label\n\t\t * \t<= Content\n\t\t * ```\n\t\t */\n\t\trows() {\n\t\t\treturn [\n\t\t\t\tthis.Label(),\n\t\t\t\tthis.Content()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * label /$mol_view_content <= title\n\t\t * ```\n\t\t */\n\t\tlabel() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Label $mol_view\n\t\t * \tminimal_height 32\n\t\t * \tsub <= label\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tLabel() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.minimal_height = () => 32\n\t\t\tobj.sub = () => this.label()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * content /\n\t\t * ```\n\t\t */\n\t\tcontent() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Content $mol_view\n\t\t * \tminimal_height 24\n\t\t * \tsub <= content\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tContent() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.minimal_height = () => 24\n\t\t\tobj.sub = () => this.content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/labeler/labeler.view.css\",\n \"[mol_labeler] {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-items: stretch;\\n\\tcursor: inherit;\\n}\\n\\n[mol_labeler_label] {\\n\\tmin-height: 2rem;\\n\\tcolor: var(--mol_theme_shade);\\n\\tpadding: .5rem .75rem 0;\\n\\tgap: 0 var(--mol_gap_block);\\n\\tflex-wrap: wrap;\\n}\\n\\n[mol_labeler_content] {\\n\\tdisplay: flex;\\n\\tpadding: var(--mol_gap_text);\\n}\\n\"\n) }","namespace $ {\n\texport class $visavis_matrix extends $mol_book2 {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot $visavis_plot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tplot() {\n\t\t\tconst obj = new this.$.$visavis_plot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * size 0\n\t\t * ```\n\t\t */\n\t\tsize() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * links_value_min? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tlinks_value_min(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * links_value_max? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tlinks_value_max(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\theatmap(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * matrix /\n\t\t * ```\n\t\t */\n\t\tmatrix() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap_colors /\n\t\t * \t\\rgb(150,0,90)\n\t\t * \t\\rgb(0,0,200)\n\t\t * \t\\rgb(0,25,255)\n\t\t * \t\\rgb(0,152,255)\n\t\t * \t\\rgb(44,255,150)\n\t\t * \t\\rgb(151,255,0)\n\t\t * \t\\rgb(255,234,0)\n\t\t * \t\\rgb(255,111,0)\n\t\t * \t\\rgb(255,0,0)\n\t\t * ```\n\t\t */\n\t\theatmap_colors() {\n\t\t\treturn [\n\t\t\t\t\"rgb(150,0,90)\",\n\t\t\t\t\"rgb(0,0,200)\",\n\t\t\t\t\"rgb(0,25,255)\",\n\t\t\t\t\"rgb(0,152,255)\",\n\t\t\t\t\"rgb(44,255,150)\",\n\t\t\t\t\"rgb(151,255,0)\",\n\t\t\t\t\"rgb(255,234,0)\",\n\t\t\t\t\"rgb(255,111,0)\",\n\t\t\t\t\"rgb(255,0,0)\"\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * colorset /\n\t\t * \t\\#3e3f95\n\t\t * \t\\#c00\n\t\t * \t\\#FE9A2E\n\t\t * \t\\#090\n\t\t * \t\\#f0f\n\t\t * \t\\#09f\n\t\t * \t\\#666\n\t\t * \t\\#0f3\n\t\t * \t\\#0ff\n\t\t * \t\\#90c\n\t\t * ```\n\t\t */\n\t\tcolorset() {\n\t\t\treturn [\n\t\t\t\t\"#3e3f95\",\n\t\t\t\t\"#c00\",\n\t\t\t\t\"#FE9A2E\",\n\t\t\t\t\"#090\",\n\t\t\t\t\"#f0f\",\n\t\t\t\t\"#09f\",\n\t\t\t\t\"#666\",\n\t\t\t\t\"#0f3\",\n\t\t\t\t\"#0ff\",\n\t\t\t\t\"#90c\"\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * order /number\n\t\t * ```\n\t\t */\n\t\torder() {\n\t\t\treturn [\n\t\t\t] as readonly number[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * order_current? \\nump\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\torder_current(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"nump\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_padding 32\n\t\t * ```\n\t\t */\n\t\tplot_padding() {\n\t\t\treturn 32\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * axis_width 24\n\t\t * ```\n\t\t */\n\t\taxis_width() {\n\t\t\treturn 24\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages /\n\t\t * \t<= Plot\n\t\t * \t<= Setup\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Plot(),\n\t\t\t\tthis.Setup()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_title \\\n\t\t * ```\n\t\t */\n\t\tplot_title() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Root $mol_svg\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tRoot() {\n\t\t\tconst obj = new this.$.$mol_svg()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_min $mol_view sub / <= links_value_min\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHeatmap_min() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.links_value_min()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap_color* \\\n\t\t * ```\n\t\t */\n\t\theatmap_color(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_color*0 $mol_view style * background <= heatmap_color*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tHeatmap_color(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.style = () => ({\n\t\t\t\tbackground: this.heatmap_color(id)\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_max $mol_view sub / <= links_value_max\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHeatmap_max() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.links_value_max()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap_color_list /\n\t\t * \t<= Heatmap_min\n\t\t * \t<= Heatmap_color*0\n\t\t * \t<= Heatmap_max\n\t\t * ```\n\t\t */\n\t\theatmap_color_list() {\n\t\t\treturn [\n\t\t\t\tthis.Heatmap_min(),\n\t\t\t\tthis.Heatmap_color(\"0\"),\n\t\t\t\tthis.Heatmap_max()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_legend $mol_list rows <= heatmap_color_list\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHeatmap_legend() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.rows = () => this.heatmap_color_list()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Side_right $mol_scroll sub / <= Heatmap_legend\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSide_right() {\n\t\t\tconst obj = new this.$.$mol_scroll()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Heatmap_legend()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_body /\n\t\t * \t<= Root\n\t\t * \t<= Side_right\n\t\t * ```\n\t\t */\n\t\tplot_body() {\n\t\t\treturn [\n\t\t\t\tthis.Root(),\n\t\t\t\tthis.Side_right()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * draw null\n\t\t * ```\n\t\t */\n\t\tdraw() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot $mol_page\n\t\t * \ttitle <= plot_title\n\t\t * \tbody <= plot_body\n\t\t * \tauto <= draw\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPlot() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.plot_title()\n\t\t\tobj.body = () => this.plot_body()\n\t\t\tobj.auto = () => this.draw()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * nonformers? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tnonformers(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nonformers $mol_check_box\n\t\t * \thint @ \\Continuous solid solutions and complete insolubility systems\n\t\t * \ttitle @ \\Show\n\t\t * \tchecked? <=> nonformers?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNonformers() {\n\t\t\tconst obj = new this.$.$mol_check_box()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$visavis_matrix_Nonformers_hint' )\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_matrix_Nonformers_title' )\n\t\t\tobj.checked = (next?: any) => this.nonformers(next)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nonformers_label $mol_labeler\n\t\t * \ttitle @ \\Non-formers\n\t\t * \tContent <= Nonformers\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNonformers_label() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_matrix_Nonformers_label_title' )\n\t\t\tobj.Content = () => this.Nonformers()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * order_dict *\n\t\t * \tnump @ \\Periodic number\n\t\t * \tnum @ \\Atomic number\n\t\t * \tsize @ \\Atomic size\n\t\t * \trea @ \\Atomic reactivity\n\t\t * \trpp @ \\Pseudopotential radii\n\t\t * \trion @ \\Ionic radii\n\t\t * \trcov @ \\Covalent radii\n\t\t * \trmet @ \\Metallic radii\n\t\t * \ttmelt @ \\Melting temperature\n\t\t * \teneg @ \\Electronegativity\n\t\t * ```\n\t\t */\n\t\torder_dict() {\n\t\t\treturn {\n\t\t\t\tnump: this.$.$mol_locale.text( '$visavis_matrix_order_dict_nump' ),\n\t\t\t\tnum: this.$.$mol_locale.text( '$visavis_matrix_order_dict_num' ),\n\t\t\t\tsize: this.$.$mol_locale.text( '$visavis_matrix_order_dict_size' ),\n\t\t\t\trea: this.$.$mol_locale.text( '$visavis_matrix_order_dict_rea' ),\n\t\t\t\trpp: this.$.$mol_locale.text( '$visavis_matrix_order_dict_rpp' ),\n\t\t\t\trion: this.$.$mol_locale.text( '$visavis_matrix_order_dict_rion' ),\n\t\t\t\trcov: this.$.$mol_locale.text( '$visavis_matrix_order_dict_rcov' ),\n\t\t\t\trmet: this.$.$mol_locale.text( '$visavis_matrix_order_dict_rmet' ),\n\t\t\t\ttmelt: this.$.$mol_locale.text( '$visavis_matrix_order_dict_tmelt' ),\n\t\t\t\teneg: this.$.$mol_locale.text( '$visavis_matrix_order_dict_eneg' )\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Order_switch $mol_switch\n\t\t * \tvalue? <=> order_current?\n\t\t * \toptions <= order_dict\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tOrder_switch() {\n\t\t\tconst obj = new this.$.$mol_switch()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.order_current(next)\n\t\t\tobj.options = () => this.order_dict()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Order_label $mol_labeler\n\t\t * \ttitle @ \\Sort by\n\t\t * \tContent <= Order_switch\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tOrder_label() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_matrix_Order_label_title' )\n\t\t\tobj.Content = () => this.Order_switch()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Setup $mol_page\n\t\t * \ttitle @ \\Setup\n\t\t * \tbody /\n\t\t * \t\t<= Nonformers_label\n\t\t * \t\t<= Order_label\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSetup() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_matrix_Setup_title' )\n\t\t\tobj.body = () => [\n\t\t\t\tthis.Nonformers_label(),\n\t\t\t\tthis.Order_label()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\texport function $mol_data_setup<\n\t\tValue extends $mol_data_value ,\n\t\tConfig = never\n\t>(\n\t\tvalue : Value ,\n\t\tconfig : Config ,\n\t) {\n\t\t\n\t\treturn Object.assign( value , {\n\t\t\tconfig ,\n\t\t\tValue : null as any as ReturnType< Value >\n\t\t} )\n\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * Checks for record of given fields with by its runtypes and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_record_demo\n\t */\n\texport function $mol_data_record<\n\t\tSub extends Record< string , $mol_data_value >\n\t>( sub : Sub ) {\n\n\t\ttype Input = $mol_type_partial_undefined<{\n\t\t\t[ key in keyof Sub ] : Parameters< Sub[key] >[0]\n\t\t}>\n\n\t\ttype Output = $mol_type_partial_undefined<{\n\t\t\t[ key in keyof Sub ] : ReturnType< Sub[key] >\n\t\t}>\n\n\t\treturn $mol_data_setup( ( val : Input ) => {\n\n\t\t\tlet res = {} as Output\n\t\t\t\n\t\t\tfor( const field in sub ) {\n\n\t\t\t\ttry {\n\t\t\t\t\tres[field as any as keyof Output ] =\n\t\t\t\t\t\tsub[field]( ( val as Input )[ field as any as keyof Input ] )\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\tif( error instanceof Promise ) return $mol_fail_hidden( error )\n\t\t\t\t\t\n\t\t\t\t\terror.message = `[${ JSON.stringify( field ) }] ${ error.message }`\n\t\t\t\t\treturn $mol_fail( error )\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn res as Readonly< Output >\n\t\t\t\n\t\t} , sub )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_error_mix extends AggregateError {\n\n\t\tname = '$mol_error_mix'\n\t\tconstructor( message: string, ... errors: Error[] ) {\n\t\t\tsuper(\n\t\t\t\terrors,\n\t\t\t\t[ message, ... errors.map( e => ' ' + e.message ) ].join( '\\n' ),\n\t\t\t)\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this.message\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_data_error extends $mol_error_mix {\n\t\tname = '$mol_data_error'\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * Checks for string and returns string type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_string_demo\n\t */\n\texport let $mol_data_string = ( val : string )=> {\n\t\t\n\t\tif( typeof val === 'string' ) return val\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a string` ) )\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for number and returns number type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_number_demo\n\t */\n\texport let $mol_data_number = ( val : number )=> {\n\t\t\n\t\tif( typeof val === 'number' ) return val\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a number` ) )\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for undefined or passing given runtype.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_optional_demo\n\t */\n\texport function $mol_data_optional<\n\t\tSub extends $mol_data_value,\n\t\tFallback extends undefined | ( ()=> ReturnType< Sub > )\n\t>( \n\t\tsub: Sub,\n\t\tfallback?: Fallback\n\t) {\n\n\t\treturn $mol_data_setup( ( val : Parameters[0] | undefined ) => {\n\t\t\t\n\t\t\tif( val === undefined ) {\n\t\t\t\ttype Res = Fallback extends undefined ? undefined : ReturnType< Extract< Fallback, ()=> any > >\n\t\t\t\treturn fallback?.() as Res\n\t\t\t}\n\t\t\t\n\t\t\treturn sub( val ) as ReturnType\n\t\t\t\n\t\t} , { sub, fallback } )\n\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for array of given runtype and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_array_demo\n\t */\n\texport function $mol_data_array< Sub extends $mol_data_value >( sub : Sub ) {\n\n\t\treturn $mol_data_setup( ( val : readonly Parameters< Sub >[0][] ) => {\n\t\t\t\n\t\t\tif( !Array.isArray( val ) ) return $mol_fail( new $mol_data_error( `${ val } is not an array` ) )\n\t\t\t\n\t\t\treturn val.map( ( item , index )=> {\n\n\t\t\t\ttry {\n\t\t\t\t\treturn sub( item )\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\tif( error instanceof Promise ) return $mol_fail_hidden( error )\n\t\t\t\t\t\n\t\t\t\t\terror.message = `[${ index }] ${ error.message }`\n\t\t\t\t\treturn $mol_fail( error )\n\n\t\t\t\t}\n\n\t\t\t} ) as readonly ReturnType< Sub >[]\n\t\t\t\n\t\t} , sub )\n\n\t}\n\t\t\t\n}\n","namespace $ {\n\n\t/** Dynamic sources import. */\n\texport class $mol_import extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic module( uri: string ): any {\n\t\t\t$mol_wire_solid()\n\t\t\treturn $mol_wire_sync( this ).module_async( uri )\n\t\t}\n\t\tstatic module_async( uri: string ) {\n\t\t\treturn import( uri )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tstatic script( uri: string ): any {\n\t\t\t$mol_wire_solid()\n\t\t\treturn $mol_wire_sync( this ).script_async( uri )\n\t\t}\n\n\t\tstatic script_async( uri: string ) {\n\t\t\t\n\t\t\tconst doc = $mol_dom_context.document\n\t\t\t\n\t\t\tconst script = doc.createElement( 'script' )\n\t\t\tscript.src = uri\n\t\t\tdoc.head.appendChild( script )\n\t\t\t\n\t\t\treturn new Promise< any >( ( done , fail ) => {\n\t\t\t\tscript.onload = ()=> done( $mol_dom_context )\n\t\t\t\tscript.onerror = ()=> fail( new Error( `Can not import ${ uri }` ) )\n\t\t\t} )\n\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tstatic style( uri: string ): any {\n\t\t\treturn $mol_wire_sync( this ).style_async( uri )\n\t\t}\n\n\t\tstatic style_async( uri: string ): any {\n\t\t\t\n\t\t\tconst doc = $mol_dom_context.document\n\t\t\t\n\t\t\tconst style = doc.createElement( 'link' )\n\t\t\tstyle.rel = 'stylesheet'\n\t\t\tstyle.href = uri\n\t\t\tdoc.head.appendChild( style )\n\t\t\t\n\t\t\treturn new Promise< CSSStyleSheet >( ( done , fail ) => {\n\t\t\t\tstyle.onload = ()=> done( style.sheet! )\n\t\t\t\tstyle.onerror = ()=> fail( new Error( `Can not import ${ uri }` ) )\n\t\t\t} )\n\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $visavis_lib extends $mol_object2 {\n\n\t\t@ $mol_mem\n\t\tstatic plotly() {\n\t\t\treturn $mol_import.script('/visavis/lib/bundle/plotly.custom.min.js').Plotly as any\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic pca() {\n\t\t\treturn $mol_import.script('/visavis/lib/bundle/pca.js').mlPca as any\n\t\t}\n\n\t\tstatic d3() {\n\t\t\treturn this.plotly().d3\n\t\t}\n\n\t}\n}\n","/**\n * Non-former compounds enumeration\n * based on a manually prepared by PV listing\n */\nnamespace $ {\n\n\t// 759 non-formers and ordered phases, 02/2023 by PV\n\n\texport const $visavis_nonformer_pd_bin = [[88, 23], [88, 41], [46, 78], [46, 82], [46, 5], [46, 26], [46, 23], [46, 28], [46, 25], [46, 31], [46, 76], [46, 24], [46, 41], [46, 27], [46, 75], [46, 81], [46, 74], [46, 44], [46, 43], [46, 13], [46, 80], [46, 91], [46, 22], [12, 3], [12, 82], [12, 47], [12, 54], [12, 30], [12, 31], [12, 79], [12, 48], [12, 18], [12, 10], [12, 81], [12, 13], [12, 49], [12, 80], [12, 29], [94, 23], [94, 41], [94, 92], [94, 93], [94, 91], [17, 6], [32, 78], [32, 82], [32, 81], [32, 80], [78, 5], [78, 26], [78, 25], [78, 31], [78, 41], [78, 27], [78, 14], [78, 77], [78, 44], [78, 43], [78, 13], [78, 73], [55, 19], [55, 62], [55, 25], [55, 63], [55, 56], [55, 24], [55, 41], [55, 59], [55, 27], [55, 60], [55, 58], [55, 20], [55, 61], [55, 37], [55, 21], [55, 22], [55, 38], [55, 69], [4, 82], [4, 47], [4, 28], [3, 82], [3, 30], [3, 31], [3, 48], [3, 2], [3, 10], [3, 13], [3, 49], [3, 29], [4, 30], [4, 31], [4, 79], [82, 47], [82, 26], [82, 23], [82, 28], [82, 25], [82, 30], [82, 31], [82, 79], [82, 41], [82, 40], [82, 75], [82, 14], [82, 74], [82, 50], [82, 13], [82, 49], [82, 72], [82, 22], [82, 29], [4, 81], [4, 50], [4, 49], [4, 51], [4, 80], [4, 29], [19, 57], [19, 26], [19, 62], [19, 25], [19, 56], [19, 70], [19, 24], [19, 41], [19, 10], [19, 59], [19, 60], [19, 93], [19, 20], [19, 37], [19, 64], [19, 21], [19, 68], [19, 22], [19, 38], [19, 69], [47, 23], [47, 25], [47, 30], [47, 31], [47, 24], [47, 41], [47, 81], [47, 13], [47, 80], [47, 29], [57, 23], [57, 62], [57, 71], [57, 56], [57, 2], [57, 24], [57, 41], [57, 40], [57, 59], [57, 60], [57, 58], [57, 93], [57, 20], [57, 61], [57, 72], [57, 89], [57, 21], [57, 91], [57, 22], [57, 73], [57, 39], [5, 25], [5, 26], [5, 28], [5, 31], [5, 76], [5, 27], [5, 7], [5, 43], [26, 28], [26, 25], [26, 79], [26, 24], [26, 27], [26, 75], [26, 81], [26, 45], [26, 77], [26, 74], [26, 44], [26, 43], [5, 45], [5, 77], [23, 54], [23, 28], [23, 65], [23, 67], [23, 62], [23, 63], [5, 44], [23, 79], [23, 66], [23, 18], [23, 56], [23, 2], [23, 70], [23, 11], [23, 41], [23, 10], [23, 59], [23, 92], [23, 81], [23, 60], [23, 58], [23, 93], [23, 36], [23, 20], [23, 61], [23, 64], [23, 89], [23, 68], [23, 91], [23, 22], [23, 73], [23, 38], [23, 69], [54, 71], [54, 2], [54, 11], [54, 41], [54, 40], [54, 58], [54, 36], [54, 72], [54, 21], [54, 22], [54, 39], [5, 42], [28, 25], [28, 76], [28, 2], [28, 41], [28, 10], [28, 40], [28, 27], [28, 75], [28, 81], [28, 74], [28, 44], [28, 43], [28, 72], [28, 42], [28, 80], [28, 22], [28, 73], [65, 67], [65, 63], [65, 66], [65, 70], [65, 41], [65, 93], [65, 61], [65, 72], [65, 64], [65, 89], [65, 21], [65, 68], [65, 22], [65, 73], [65, 38], [65, 69], [65, 39], [67, 63], [67, 71], [67, 66], [67, 2], [67, 70], [67, 41], [67, 40], [67, 93], [67, 20], [67, 61], [67, 72], [67, 64], [67, 89], [67, 21], [67, 68], [67, 22], [67, 73], [67, 38], [67, 69], [67, 39], [62, 71], [62, 56], [62, 24], [62, 41], [62, 40], [62, 93], [62, 20], [62, 72], [62, 89], [62, 91], [62, 22], [62, 73], [62, 38], [62, 69], [62, 39], [25, 0], [25, 48], [25, 18], [25, 56], [25, 2], [25, 11], [25, 10], [25, 75], [25, 81], [25, 43], [25, 37], [86, 41], [30, 31], [30, 79], [30, 48], [30, 81], [30, 74], [30, 13], [30, 49], [30, 80], [30, 29], [63, 66], [63, 2], [63, 70], [63, 41], [63, 93], [63, 20], [63, 61], [63, 72], [63, 64], [63, 89], [63, 21], [63, 68], [63, 22], [63, 73], [63, 38], [63, 69], [63, 39], [31, 79], [31, 48], [31, 81], [31, 13], [31, 49], [31, 80], [31, 29], [71, 18], [71, 2], [71, 11], [71, 10], [71, 40], [71, 58], [71, 36], [71, 20], [71, 72], [71, 89], [71, 21], [71, 91], [71, 38], [71, 69], [71, 39], [0, 41], [79, 76], [79, 41], [79, 40], [79, 75], [79, 81], [79, 74], [79, 43], [79, 50], [79, 22], [66, 2], [66, 70], [66, 41], [66, 93], [66, 20], [66, 61], [66, 72], [66, 64], [66, 89], [66, 68], [66, 22], [66, 73], [66, 38], [66, 69], [66, 39], [0, 29], [48, 41], [48, 13], [48, 72], [48, 22], [48, 29], [76, 75], [76, 45], [76, 77], [76, 74], [76, 44], [76, 43], [76, 42], [52, 15], [52, 33], [18, 2], [18, 11], [18, 41], [18, 40], [18, 36], [18, 72], [18, 21], [18, 22], [18, 39], [56, 2], [56, 70], [56, 24], [56, 41], [56, 40], [56, 59], [56, 60], [56, 58], [56, 93], [56, 74], [56, 20], [56, 61], [56, 72], [56, 89], [56, 21], [56, 91], [56, 22], [56, 73], [56, 69], [56, 39], [2, 70], [2, 11], [2, 24], [2, 41], [2, 10], [2, 40], [2, 59], [2, 27], [2, 60], [2, 58], [2, 93], [2, 36], [2, 20], [2, 61], [2, 72], [2, 64], [2, 21], [2, 68], [2, 22], [2, 38], [2, 39], [70, 41], [70, 40], [70, 59], [70, 93], [70, 61], [70, 72], [70, 64], [70, 89], [70, 21], [70, 68], [70, 22], [70, 73], [70, 38], [70, 69], [70, 39], [11, 24], [11, 41], [11, 10], [11, 40], [11, 36], [11, 21], [11, 91], [11, 22], [11, 39], [24, 81], [24, 43], [24, 37], [24, 80], [24, 69], [41, 10], [41, 40], [41, 59], [41, 92], [41, 90], [41, 81], [41, 60], [41, 58], [41, 93], [41, 87], [41, 36], [41, 20], [41, 61], [41, 37], [41, 72], [41, 64], [41, 42], [41, 89], [41, 21], [41, 80], [41, 68], [41, 22], [41, 73], [41, 38], [41, 69], [10, 40], [10, 36], [10, 37], [10, 72], [10, 21], [10, 22], [10, 39], [40, 93], [40, 36], [40, 20], [40, 61], [40, 72], [40, 89], [40, 21], [40, 80], [40, 91], [40, 22], [40, 73], [40, 38], [40, 69], [40, 39], [59, 60], [59, 58], [59, 93], [59, 20], [59, 61], [59, 37], [59, 72], [59, 89], [59, 21], [59, 91], [59, 22], [59, 73], [59, 69], [59, 39], [92, 93], [27, 75], [27, 81], [27, 45], [27, 74], [27, 44], [27, 43], [27, 42], [27, 80], [75, 45], [75, 77], [75, 74], [75, 44], [75, 43], [81, 50], [81, 13], [81, 49], [81, 80], [81, 73], [81, 29], [45, 77], [45, 74], [45, 44], [45, 43], [45, 42], [45, 73], [60, 58], [60, 93], [60, 61], [60, 89], [60, 22], [58, 93], [58, 61], [58, 72], [58, 89], [58, 21], [58, 91], [58, 22], [58, 73], [58, 69], [14, 50], [77, 43], [77, 42], [93, 61], [93, 72], [93, 64], [93, 21], [93, 68], [93, 22], [93, 73], [93, 38], [93, 69], [36, 72], [36, 21], [36, 22], [36, 39], [74, 44], [74, 43], [74, 50], [74, 49], [74, 42], [44, 43], [44, 42], [50, 13], [50, 73], [20, 37], [20, 72], [20, 64], [20, 89], [20, 21], [20, 91], [20, 22], [20, 73], [20, 38], [20, 69], [20, 39], [33, 51], [13, 49], [13, 80], [13, 29], [61, 72], [61, 64], [61, 89], [61, 68], [61, 91], [61, 22], [61, 73], [61, 38], [49, 29], [37, 21], [37, 22], [37, 38], [15, 51], [72, 64], [72, 89], [72, 21], [72, 80], [72, 68], [72, 91], [72, 38], [72, 69], [72, 39], [64, 89], [64, 21], [64, 68], [64, 22], [64, 73], [64, 38], [64, 69], [64, 39], [89, 21], [89, 68], [89, 91], [89, 22], [89, 73], [89, 38], [89, 69], [89, 39], [21, 68], [21, 22], [21, 73], [21, 38], [21, 69], [21, 39], [80, 22], [80, 29], [68, 22], [68, 73], [68, 38], [68, 69], [91, 22], [91, 73], [91, 38], [91, 69], [22, 73], [22, 38], [22, 69], [73, 38], [73, 69], [38, 69], [38, 39], [69, 39], [46, 45], [78, 23], [78, 28], [78, 24], [78, 45], [47, 11], [57, 67], [57, 63], [57, 66], [57, 70], [57, 64], [57, 68], [57, 38], [26, 25], [26, 76], [26, 77], [23, 25], [23, 27], [23, 21], [54, 18], [28, 24], [28, 45], [28, 77], [65, 56], [65, 59], [65, 60], [65, 58], [67, 56], [67, 59], [67, 60], [67, 58], [25, 76], [25, 24], [25, 27], [25, 45], [25, 44], [25, 22], [63, 56], [63, 59], [63, 60], [63, 58], [66, 56], [66, 59], [66, 60], [66, 58], [48, 80], [76, 27], [56, 64], [56, 68], [56, 38], [70, 60], [70, 58], [24, 27], [24, 22], [59, 64], [59, 68], [59, 38], [27, 77], [45, 22], [60, 64], [60, 68], [60, 38], [58, 64], [58, 68], [58, 38], [77, 74], [77, 44], [77, 73], [93, 39], [43, 22], [72, 22], [72, 73], [21, 91]];\n\n\t// 3511 non-formers derived from above\n\n\texport const $visavis_nonformer_pd_tri = {\n\t'x': [61, 70, 24, 94, 61, 69, 60, 13, 63, 28, 58, 29, 57, 57, 64, 3, 57, 56, 19, 39, 3, 21, 67, 69, 57, 77, 64, 20, 37, 57, 60, 70, 57, 56, 55, 56, 70, 55, 30, 65, 64, 58, 26, 41, 63, 4, 59, 3, 94, 37, 12, 59, 59, 46, 68, 58, 3, 60, 26, 55, 44, 20, 55, 71, 60, 31, 19, 58, 70, 56, 39, 59, 57, 68, 55, 3, 59, 26, 58, 66, 29, 14, 59, 19, 57, 3, 62, 55, 59, 65, 39, 11, 19, 3, 58, 66, 58, 25, 37, 57, 38, 65, 58, 39, 37, 60, 13, 20, 57, 62, 39, 11, 19, 55, 30, 57, 25, 64, 62, 92, 57, 75, 64, 66, 57, 58, 58, 58, 61, 58, 59, 20, 70, 62, 64, 3, 13, 11, 70, 60, 57, 77, 69, 69, 57, 29, 65, 56, 90, 25, 29, 65, 60, 3, 57, 57, 61, 58, 29, 60, 20, 26, 3, 25, 3, 57, 64, 58, 68, 62, 24, 60, 27, 60, 57, 21, 40, 59, 55, 58, 70, 3, 39, 57, 65, 65, 51, 56, 66, 65, 65, 64, 70, 69, 46, 63, 56, 57, 92, 56, 62, 64, 58, 71, 66, 57, 39, 61, 65, 70, 3, 12, 58, 94, 81, 21, 94, 25, 63, 65, 65, 20, 56, 20, 94, 20, 90, 14, 65, 11, 39, 39, 28, 39, 27, 3, 65, 59, 57, 20, 66, 60, 65, 64, 20, 81, 70, 26, 57, 41, 57, 3, 65, 63, 70, 70, 57, 66, 57, 59, 63, 66, 57, 58, 65, 59, 57, 3, 3, 65, 66, 13, 60, 59, 56, 59, 37, 65, 64, 39, 64, 56, 94, 68, 27, 67, 61, 62, 70, 29, 61, 75, 68, 57, 29, 66, 66, 75, 61, 90, 39, 26, 27, 37, 64, 65, 58, 56, 60, 20, 3, 65, 81, 59, 68, 68, 19, 70, 57, 55, 31, 75, 59, 75, 65, 65, 60, 65, 65, 57, 63, 3, 11, 29, 48, 62, 13, 13, 58, 57, 3, 59, 57, 64, 3, 13, 81, 75, 63, 69, 63, 4, 3, 11, 26, 81, 60, 39, 64, 3, 4, 25, 59, 67, 11, 75, 57, 24, 59, 47, 20, 12, 25, 29, 3, 28, 26, 3, 62, 66, 11, 65, 37, 64, 59, 59, 64, 40, 24, 70, 20, 27, 64, 21, 31, 3, 56, 3, 11, 64, 70, 67, 60, 20, 61, 57, 20, 59, 69, 37, 64, 70, 58, 60, 68, 66, 57, 70, 57, 27, 57, 39, 19, 59, 63, 31, 29, 58, 81, 64, 22, 31, 57, 69, 61, 4, 66, 70, 11, 3, 11, 56, 62, 57, 19, 39, 58, 62, 68, 27, 62, 38, 61, 70, 57, 65, 55, 20, 59, 61, 57, 40, 24, 29, 62, 58, 58, 57, 62, 58, 58, 20, 58, 58, 75, 29, 27, 57, 56, 64, 3, 57, 58, 39, 69, 57, 59, 20, 57, 59, 60, 94, 3, 3, 81, 13, 68, 19, 3, 11, 56, 65, 59, 65, 62, 65, 47, 60, 70, 66, 64, 60, 65, 3, 39, 63, 22, 75, 61, 20, 73, 65, 3, 81, 65, 68, 26, 57, 27, 3, 23, 30, 58, 57, 20, 67, 70, 63, 28, 39, 59, 67, 59, 59, 59, 65, 58, 3, 25, 56, 90, 3, 25, 67, 19, 57, 29, 58, 67, 58, 27, 58, 70, 81, 65, 37, 27, 27, 64, 64, 25, 29, 65, 3, 70, 3, 3, 62, 56, 57, 30, 20, 92, 59, 14, 3, 29, 56, 57, 30, 49, 66, 24, 70, 63, 25, 70, 41, 70, 70, 19, 58, 66, 23, 70, 57, 28, 57, 57, 63, 60, 72, 65, 65, 68, 75, 56, 71, 60, 37, 62, 92, 58, 46, 65, 63, 39, 3, 70, 48, 90, 56, 68, 19, 48, 13, 59, 60, 58, 57, 32, 20, 70, 11, 39, 56, 65, 57, 39, 58, 23, 3, 70, 70, 39, 61, 63, 57, 56, 27, 71, 39, 56, 19, 23, 65, 57, 77, 20, 65, 3, 68, 57, 57, 58, 27, 69, 11, 58, 55, 64, 75, 70, 12, 26, 19, 56, 37, 57, 39, 55, 65, 61, 57, 65, 58, 61, 72, 39, 4, 70, 60, 58, 55, 47, 62, 67, 70, 65, 70, 20, 65, 30, 61, 70, 72, 3, 3, 11, 59, 23, 68, 61, 65, 60, 38, 69, 64, 3, 47, 57, 90, 27, 58, 29, 70, 3, 29, 63, 37, 27, 65, 58, 65, 64, 30, 58, 39, 61, 3, 68, 3, 3, 70, 94, 57, 3, 29, 70, 57, 26, 12, 26, 60, 57, 24, 65, 3, 39, 71, 50, 3, 75, 70, 65, 55, 28, 20, 63, 40, 70, 19, 70, 39, 58, 58, 41, 23, 39, 26, 75, 94, 75, 20, 60, 11, 67, 58, 58, 61, 57, 66, 73, 60, 39, 38, 57, 24, 61, 57, 62, 39, 56, 73, 31, 57, 60, 3, 20, 59, 71, 66, 58, 11, 57, 65, 63, 20, 59, 61, 60, 57, 27, 59, 3, 71, 63, 3, 68, 70, 57, 64, 55, 57, 37, 57, 60, 90, 11, 58, 63, 11, 70, 64, 61, 55, 61, 64, 55, 65, 19, 57, 37, 3, 57, 58, 56, 56, 29, 60, 48, 60, 65, 59, 92, 60, 26, 11, 56, 62, 20, 20, 25, 60, 43, 55, 20, 3, 28, 26, 94, 70, 63, 75, 61, 29, 71, 69, 58, 20, 58, 75, 47, 12, 56, 20, 28, 81, 12, 56, 26, 59, 60, 67, 58, 58, 63, 65, 58, 21, 62, 61, 68, 57, 57, 56, 65, 47, 56, 70, 57, 3, 57, 81, 65, 57, 44, 62, 69, 58, 24, 70, 57, 59, 3, 29, 28, 70, 3, 55, 39, 26, 72, 57, 68, 77, 66, 56, 47, 19, 59, 60, 3, 56, 65, 57, 62, 23, 65, 67, 56, 57, 3, 65, 11, 59, 58, 68, 64, 65, 60, 3, 24, 71, 41, 65, 57, 26, 62, 90, 65, 65, 59, 68, 90, 39, 57, 31, 92, 58, 67, 61, 3, 24, 37, 58, 3, 70, 57, 61, 80, 58, 19, 20, 39, 60, 47, 28, 3, 55, 11, 64, 27, 5, 59, 57, 65, 75, 70, 61, 57, 4, 24, 58, 58, 3, 65, 65, 61, 21, 3, 57, 57, 58, 37, 57, 58, 40, 71, 62, 60, 60, 61, 11, 59, 57, 13, 57, 62, 64, 60, 65, 13, 23, 61, 58, 19, 59, 3, 57, 66, 71, 60, 59, 57, 81, 70, 76, 62, 94, 41, 59, 60, 67, 40, 61, 23, 59, 30, 3, 57, 24, 57, 57, 70, 70, 11, 27, 61, 4, 38, 70, 23, 75, 58, 3, 4, 39, 31, 56, 57, 3, 70, 14, 58, 64, 90, 47, 29, 58, 56, 77, 24, 57, 3, 20, 26, 58, 55, 41, 26, 65, 57, 62, 70, 13, 70, 55, 59, 26, 65, 71, 39, 3, 62, 28, 21, 30, 39, 58, 70, 65, 70, 65, 73, 80, 62, 27, 27, 57, 72, 26, 41, 64, 46, 61, 27, 64, 69, 60, 66, 65, 60, 62, 3, 90, 65, 64, 59, 72, 20, 22, 27, 56, 56, 70, 3, 58, 27, 70, 75, 28, 67, 24, 65, 58, 3, 60, 3, 60, 57, 57, 57, 47, 78, 29, 59, 26, 3, 39, 4, 3, 90, 67, 61, 90, 64, 70, 69, 55, 57, 3, 27, 56, 59, 58, 65, 38, 60, 3, 39, 24, 26, 61, 29, 60, 61, 58, 26, 92, 60, 66, 58, 57, 69, 57, 56, 69, 63, 70, 57, 72, 60, 11, 26, 3, 59, 65, 62, 27, 75, 44, 25, 59, 57, 66, 73, 4, 39, 48, 70, 11, 56, 20, 3, 27, 27, 70, 19, 65, 65, 21, 26, 26, 72, 65, 80, 19, 3, 68, 19, 58, 64, 3, 26, 29, 65, 59, 3, 66, 11, 70, 3, 55, 27, 37, 13, 23, 61, 3, 58, 58, 47, 58, 83, 67, 57, 65, 61, 65, 30, 58, 62, 90, 65, 59, 57, 67, 47, 3, 38, 27, 39, 58, 61, 62, 46, 80, 21, 70, 13, 67, 37, 69, 59, 64, 25, 24, 65, 23, 57, 57, 3, 39, 3, 93, 47, 27, 25, 63, 29, 65, 59, 65, 47, 81, 3, 60, 75, 70, 57, 25, 66, 59, 62, 63, 39, 58, 50, 60, 72, 81, 69, 26, 67, 70, 60, 55, 71, 30, 59, 57, 70, 70, 81, 65, 64, 57, 27, 70, 13, 81, 19, 39, 61, 58, 57, 58, 11, 65, 62, 55, 59, 66, 20, 71, 13, 59, 11, 77, 26, 67, 71, 94, 71, 20, 57, 58, 3, 25, 28, 3, 55, 3, 55, 72, 62, 59, 70, 65, 57, 25, 70, 57, 58, 57, 58, 20, 65, 66, 28, 28, 72, 20, 13, 60, 3, 61, 20, 27, 3, 68, 38, 59, 11, 11, 11, 46, 3, 3, 37, 27, 66, 57, 13, 11, 68, 38, 37, 39, 65, 37, 48, 20, 50, 70, 39, 70, 58, 56, 24, 57, 56, 64, 65, 56, 29, 71, 59, 68, 57, 25, 70, 3, 57, 57, 50, 57, 70, 58, 37, 81, 64, 39, 65, 26, 80, 56, 60, 58, 56, 57, 37, 56, 57, 71, 13, 3, 19, 80, 60, 55, 29, 70, 66, 80, 29, 39, 62, 66, 65, 73, 69, 3, 60, 11, 3, 65, 71, 90, 48, 90, 70, 60, 13, 65, 47, 70, 58, 27, 56, 60, 65, 65, 75, 39, 70, 21, 58, 59, 60, 66, 20, 58, 29, 14, 29, 31, 57, 65, 70, 19, 19, 71, 61, 59, 13, 62, 28, 29, 81, 56, 70, 26, 70, 55, 20, 3, 65, 20, 64, 64, 60, 65, 57, 61, 56, 57, 92, 20, 67, 39, 64, 70, 57, 37, 3, 61, 3, 38, 61, 68, 20, 3, 56, 65, 62, 58, 60, 26, 64, 55, 67, 39, 3, 3, 58, 3, 70, 19, 68, 29, 28, 28, 24, 39, 65, 66, 37, 3, 62, 77, 61, 56, 39, 60, 90, 19, 28, 29, 64, 27, 3, 69, 61, 68, 62, 70, 19, 66, 57, 70, 39, 70, 58, 27, 58, 47, 20, 81, 65, 4, 39, 60, 60, 4, 57, 49, 3, 28, 64, 64, 68, 29, 61, 72, 21, 24, 92, 65, 27, 30, 61, 56, 68, 28, 3, 12, 64, 27, 70, 70, 29, 60, 92, 62, 25, 61, 68, 60, 21, 66, 63, 39, 63, 60, 55, 57, 60, 30, 12, 75, 38, 26, 23, 62, 58, 11, 3, 70, 57, 3, 69, 73, 65, 28, 61, 94, 63, 90, 19, 62, 12, 65, 58, 57, 44, 57, 61, 70, 58, 27, 14, 68, 76, 72, 42, 62, 20, 67, 26, 57, 4, 68, 50, 60, 63, 57, 61, 66, 61, 81, 39, 56, 58, 23, 58, 70, 57, 3, 39, 62, 58, 47, 62, 11, 65, 59, 66, 68, 11, 61, 57, 66, 20, 60, 70, 3, 20, 55, 39, 62, 67, 66, 94, 58, 62, 57, 70, 59, 67, 71, 70, 37, 64, 67, 43, 58, 29, 57, 62, 57, 13, 55, 61, 76, 68, 64, 65, 58, 4, 29, 60, 20, 4, 29, 71, 59, 37, 70, 58, 72, 65, 27, 3, 70, 70, 70, 21, 57, 20, 58, 57, 94, 70, 68, 92, 66, 14, 65, 59, 58, 81, 67, 3, 39, 21, 29, 81, 60, 28, 62, 3, 70, 58, 59, 77, 68, 65, 66, 41, 57, 47, 72, 75, 57, 61, 39, 59, 11, 81, 64, 3, 59, 58, 25, 39, 56, 58, 64, 58, 25, 65, 60, 41, 3, 3, 13, 65, 65, 60, 38, 68, 12, 66, 64, 11, 62, 57, 58, 58, 68, 71, 26, 3, 61, 90, 81, 69, 43, 57, 3, 38, 58, 57, 3, 56, 57, 58, 55, 62, 3, 57, 57, 39, 90, 67, 58, 65, 57, 57, 55, 83, 25, 12, 68, 90, 24, 68, 65, 3, 58, 43, 59, 3, 57, 26, 27, 41, 27, 58, 75, 71, 63, 58, 77, 80, 39, 57, 81, 27, 61, 58, 65, 70, 61, 27, 65, 64, 66, 57, 57, 92, 57, 55, 65, 60, 3, 62, 57, 64, 58, 65, 58, 59, 57, 66, 3, 58, 66, 68, 57, 20, 63, 57, 3, 57, 71, 64, 3, 24, 57, 37, 65, 63, 27, 57, 37, 29, 37, 64, 68, 23, 66, 21, 65, 3, 68, 23, 57, 73, 73, 60, 23, 70, 57, 46, 21, 25, 70, 62, 58, 47, 60, 3, 57, 13, 57, 49, 23, 13, 56, 90, 55, 20, 13, 3, 70, 25, 26, 65, 60, 56, 57, 62, 39, 43, 55, 64, 66, 57, 70, 58, 77, 58, 65, 61, 59, 65, 80, 65, 59, 29, 26, 59, 30, 70, 48, 57, 31, 62, 27, 58, 65, 38, 24, 70, 63, 30, 20, 60, 58, 11, 81, 60, 3, 59, 59, 27, 65, 3, 61, 57, 59, 59, 70, 64, 67, 70, 3, 70, 71, 20, 65, 66, 38, 65, 59, 70, 48, 65, 57, 62, 3, 56, 64, 63, 57, 61, 58, 92, 55, 70, 57, 65, 63, 55, 61, 38, 29, 57, 57, 59, 68, 67, 70, 39, 24, 62, 3, 64, 21, 37, 90, 19, 67, 56, 37, 58, 59, 56, 3, 75, 63, 60, 55, 65, 55, 11, 57, 57, 65, 90, 3, 71, 65, 41, 48, 62, 4, 38, 46, 61, 57, 58, 57, 57, 19, 67, 60, 58, 60, 65, 68, 62, 61, 21, 55, 70, 59, 30, 70, 68, 61, 25, 56, 57, 70, 59, 68, 27, 27, 57, 62, 61, 70, 72, 59, 61, 61, 19, 23, 70, 3, 39, 90, 56, 58, 59, 56, 32, 58, 37, 70, 14, 3, 56, 68, 58, 39, 11, 70, 65, 62, 59, 56, 47, 41, 65, 61, 30, 65, 20, 69, 43, 63, 57, 70, 70, 58, 65, 29, 56, 57, 31, 65, 68, 59, 66, 71, 59, 57, 65, 71, 55, 26, 19, 65, 26, 66, 39, 65, 21, 64, 3, 25, 70, 62, 57, 31, 56, 60, 64, 63, 68, 4, 19, 81, 27, 23, 26, 57, 59, 73, 3, 30, 65, 20, 57, 70, 57, 3, 70, 3, 67, 59, 65, 70, 60, 31, 61, 56, 28, 39, 20, 13, 90, 26, 65, 3, 61, 26, 64, 66, 57, 70, 65, 65, 43, 58, 70, 11, 60, 67, 56, 26, 61, 64, 65, 57, 38, 57, 66, 81, 41, 94, 77, 70, 3, 59, 60, 58, 4, 66, 13, 57, 65, 63, 75, 60, 62, 55, 65, 12, 29, 3, 3, 39, 70, 3, 66, 20, 59, 57, 63, 65, 70, 22, 12, 73, 3, 81, 65, 64, 29, 3, 64, 29, 3, 70, 64, 59, 23, 57, 73, 65, 24, 65, 20, 64, 24, 24, 58, 38, 47, 39, 68, 62, 24, 57, 20, 90, 56, 58, 39, 55, 65, 19, 20, 65, 58, 70, 39, 64, 70, 58, 66, 39, 72, 29, 67, 11, 29, 14, 56, 61, 25, 20, 59, 60, 75, 64, 58, 57, 70, 13, 13, 65, 61, 58, 59, 66, 30, 37, 81, 20, 90, 64, 57, 60, 58, 65, 64, 70, 70, 37, 66, 4, 39, 56, 70, 65, 67, 61, 3, 58, 4, 30, 59, 65, 3, 66, 56, 67, 68, 20, 76, 59, 24, 57, 25, 70, 57, 58, 75, 81, 62, 27, 61, 58, 58, 57, 70, 29, 37, 70, 60, 81, 65, 62, 65, 3, 59, 12, 57, 90, 60, 63, 58, 64, 68, 20, 27, 70, 62, 39, 39, 23, 58, 55, 60, 3, 14, 70, 81, 65, 58, 70, 60, 59, 3, 70, 65, 57, 60, 61, 3, 64, 3, 94, 11, 39, 58, 72, 57, 67, 20, 60, 57, 70, 43, 3, 3, 4, 20, 19, 61, 57, 20, 60, 61, 70, 58, 66, 70, 29, 57, 69, 65, 57, 62, 3, 58, 21, 73, 60, 60, 57, 57, 20, 75, 65, 57, 57, 29, 3, 14, 64, 62, 11, 57, 90, 39, 57, 66, 57, 20, 59, 58, 71, 39, 3, 57, 60, 57, 3, 66, 30, 39, 3, 61, 59, 56, 26, 59, 81, 3, 60, 59, 59, 58, 65, 23, 26, 55, 68, 65, 19, 64, 57, 70, 67, 59, 12, 73, 3, 60, 69, 19, 55, 59, 56, 62, 70, 59, 57, 3, 70, 3, 73, 26, 61, 26, 66, 41, 68, 38, 66, 65, 60, 4, 63, 70, 58, 64, 81, 62, 57, 55, 29, 70, 58, 3, 64, 70, 75, 20, 70, 57, 77, 13, 57, 60, 13, 3, 67, 3, 31, 70, 3, 92, 70, 58, 26, 64, 65, 20, 58, 70, 73, 90, 20, 68, 62, 58, 59, 73, 3, 56, 3, 80, 64, 65, 58, 67, 39, 77, 57, 3, 69, 65, 59, 75, 27, 60, 57, 20, 56, 11, 55, 64, 57, 29, 3, 58, 20, 58, 30, 60, 23, 65, 72, 21, 57, 13, 4, 76, 47, 61, 3, 55, 58, 59, 3, 57, 60, 90, 68, 64, 71, 71, 58, 58, 3, 58, 3, 70, 3, 58, 55, 65, 58, 67, 39, 64, 64, 3, 27, 64, 27, 64, 3, 4, 64, 59, 70, 57, 81, 24, 65, 60, 63, 31, 3, 3, 56, 3, 59, 58, 66, 20, 28, 68, 56, 59, 58, 11, 29, 57, 57, 43, 22, 65, 72, 71, 73, 27, 11, 70, 25, 58, 59, 20, 60, 70, 13, 23, 58, 67, 65, 20, 60, 94, 23, 65, 23, 26, 71, 26, 20, 20, 37, 60, 27, 64, 63, 94, 61, 57, 31, 56, 27, 57, 55, 57, 58, 27, 12, 21, 62, 58, 3, 65, 55, 55, 58, 12, 19, 37, 56, 20, 59, 14, 39, 30, 3, 70, 57, 57, 72, 19, 71, 3, 48, 48, 64, 29, 70, 68, 65, 68, 43, 66, 29, 39, 57, 71, 24, 39, 3, 65, 65, 58, 64, 20, 73, 59, 3, 57, 69, 58, 56, 11, 68, 68, 48, 56, 75, 59, 71, 26, 3, 60, 57, 12, 58, 46, 64, 60, 59, 21, 27, 63, 39, 65, 57, 90, 3, 61, 81, 59, 20, 27, 3, 29, 65, 28, 3, 11, 57, 20, 38, 57, 57, 65, 42, 65, 13, 23, 60, 81, 65, 55, 60, 63, 57, 12, 3, 11, 57, 90, 58, 66, 60, 70, 31, 59, 63, 72, 94, 3, 29, 62, 64, 67, 29, 43, 39, 28, 66, 26, 73, 63, 27, 75, 57, 60, 65, 70, 19, 75, 55, 59, 70, 39, 70, 60, 62, 39, 58, 75, 58, 3, 39, 13, 3, 59, 63, 59, 61, 11, 13, 56, 39, 60, 27, 70, 80, 67, 59, 65, 77, 58, 69, 61, 70, 57, 62, 72, 73, 4, 61, 70, 67, 65, 58, 13, 20, 70, 55, 11, 65, 38, 43, 39, 22, 59, 27, 57, 75, 70, 60, 26, 59, 70, 58, 89, 30, 57, 56, 25, 66, 68, 57, 43, 59, 70, 25, 20, 46, 58, 57, 65, 56, 73, 60, 81, 3, 3, 13, 58, 28, 68, 59, 57, 28, 57, 57, 61, 58, 63, 61, 58, 3, 62, 65, 60, 37, 59, 39, 48, 3, 23, 61, 70, 65, 20, 65, 39, 37, 80, 57, 46, 19, 3, 59, 70, 57, 62, 58, 60, 47, 61, 70, 92, 20, 65, 58, 38, 27, 37, 22, 90, 70, 73, 57, 59, 37, 58, 58, 63, 57, 48, 63, 60, 11, 65, 90, 71, 65, 65, 66, 37, 3, 75, 61, 57, 57, 12, 60, 66, 65, 46, 55, 20, 57, 62, 80, 27, 58, 29, 57, 56, 57, 3, 90, 3, 30, 21, 62, 3, 3, 39, 22, 62, 3, 58, 69, 70, 20, 58, 60, 72, 27, 27, 20, 94, 23, 39, 66, 58, 28, 75, 58, 68, 24, 3, 63, 70, 31, 63, 3, 70, 62, 57, 58, 3, 39, 59, 59, 75, 60, 81, 70, 65, 25, 58, 19, 58, 28, 19, 65, 94, 57, 61, 57, 65, 29, 3, 65, 38, 61, 19, 64, 39, 58, 70, 68, 59, 63, 64, 3, 11, 62, 57, 31, 3, 27, 57, 70, 68, 81, 70, 27, 3, 37, 19, 66, 94, 3, 65, 57, 65, 65, 56, 64, 73, 57, 57, 32, 3, 29, 57, 65, 63, 58, 59, 57, 61, 62, 25, 58, 37, 57, 20, 62, 3, 39, 60, 61, 12, 57, 64, 63, 65, 55, 65, 48, 29, 64, 59, 57, 39, 28, 19, 60, 59, 57, 70, 66, 57, 58, 58, 39, 81, 60, 19, 3, 25, 67, 61, 58, 28, 24, 68, 58, 30, 62, 63, 26, 27, 62, 26, 69, 73, 67, 3, 70, 26, 60, 57, 12, 57, 39, 29, 37, 3, 26, 63, 60, 61, 62, 30, 81, 57, 69, 38, 39, 65, 57, 66, 55, 56, 59, 60, 69, 3, 64, 22, 21, 57, 58, 39, 62, 65, 3, 67, 62, 60, 11, 19, 25, 80, 68, 94, 20, 63, 76, 57, 23, 56, 60, 59, 39, 65, 58, 78, 68, 56, 59, 62, 31, 67, 13, 66, 11, 48, 65, 56, 20, 29, 27, 61, 30, 57, 38, 66, 63, 20, 63, 29, 4, 57, 60, 20, 70, 20, 3, 13, 3, 3, 59, 70, 3, 61, 66, 20, 55, 58, 65, 58],\n\t'y': [66, 64, 28, 23, 68, 71, 94, 30, 92, 44, 61, 43, 62, 70, 71, 72, 66, 70, 40, 40, 58, 92, 68, 23, 94, 46, 67, 39, 72, 70, 94, 39, 23, 57, 3, 38, 39, 59, 83, 61, 73, 63, 76, 23, 72, 13, 23, 68, 22, 11, 23, 60, 62, 44, 94, 40, 69, 64, 45, 23, 78, 71, 19, 73, 92, 14, 12, 90, 66, 60, 94, 64, 39, 41, 40, 39, 90, 29, 62, 39, 77, 51, 67, 3, 65, 60, 90, 40, 39, 70, 72, 24, 12, 68, 72, 67, 25, 26, 72, 65, 60, 62, 21, 67, 3, 90, 14, 57, 21, 64, 21, 38, 3, 37, 31, 61, 26, 69, 64, 22, 58, 80, 66, 67, 60, 73, 71, 60, 69, 69, 62, 57, 71, 71, 69, 59, 31, 22, 60, 64, 65, 46, 94, 90, 68, 28, 21, 38, 21, 27, 28, 58, 71, 61, 69, 94, 59, 67, 43, 66, 61, 29, 62, 47, 68, 65, 22, 64, 21, 68, 28, 92, 79, 94, 70, 24, 21, 69, 72, 67, 64, 58, 23, 21, 21, 59, 82, 70, 94, 64, 71, 68, 22, 23, 78, 94, 62, 62, 23, 61, 67, 90, 59, 22, 71, 21, 92, 60, 64, 68, 59, 25, 61, 22, 48, 23, 23, 26, 40, 39, 59, 60, 60, 65, 73, 70, 42, 50, 21, 24, 68, 67, 46, 22, 46, 64, 39, 39, 70, 70, 68, 62, 39, 68, 61, 30, 21, 27, 62, 23, 62, 59, 64, 90, 92, 68, 67, 39, 58, 71, 39, 68, 70, 61, 61, 66, 94, 58, 59, 61, 68, 49, 68, 60, 61, 66, 11, 61, 68, 90, 39, 61, 41, 90, 28, 90, 59, 71, 59, 47, 67, 77, 71, 63, 47, 23, 90, 83, 59, 21, 23, 47, 76, 3, 66, 68, 22, 22, 66, 69, 72, 21, 30, 69, 22, 21, 3, 21, 58, 12, 5, 77, 64, 28, 60, 73, 39, 66, 59, 40, 90, 65, 23, 75, 32, 64, 49, 48, 63, 65, 65, 23, 61, 68, 57, 31, 33, 46, 39, 73, 23, 30, 61, 12, 47, 30, 62, 73, 71, 65, 31, 29, 24, 24, 3, 44, 65, 82, 68, 46, 60, 24, 28, 5, 68, 76, 47, 68, 39, 69, 41, 40, 11, 39, 68, 62, 69, 73, 80, 68, 61, 29, 67, 22, 14, 71, 38, 61, 3, 21, 68, 71, 21, 58, 64, 39, 70, 90, 24, 3, 39, 59, 72, 39, 22, 90, 59, 67, 70, 45, 63, 24, 40, 62, 21, 50, 47, 64, 31, 68, 41, 50, 63, 71, 69, 13, 71, 69, 73, 64, 38, 57, 42, 69, 24, 73, 61, 69, 90, 76, 66, 20, 68, 23, 64, 73, 12, 60, 73, 62, 62, 22, 29, 28, 94, 59, 71, 23, 39, 68, 39, 61, 59, 71, 44, 76, 28, 73, 23, 90, 68, 70, 39, 71, 90, 63, 66, 70, 92, 92, 71, 23, 60, 58, 29, 30, 21, 12, 58, 41, 57, 90, 67, 70, 39, 66, 32, 68, 39, 67, 73, 62, 62, 71, 72, 21, 24, 47, 68, 65, 42, 68, 57, 47, 39, 40, 28, 68, 75, 24, 47, 50, 60, 24, 63, 68, 40, 23, 77, 69, 94, 90, 69, 68, 94, 58, 42, 65, 81, 57, 24, 57, 26, 69, 37, 64, 47, 39, 40, 69, 44, 22, 72, 14, 70, 3, 28, 77, 71, 66, 29, 42, 59, 12, 59, 62, 65, 41, 57, 66, 14, 39, 73, 71, 83, 58, 75, 20, 71, 48, 31, 68, 80, 66, 39, 27, 68, 23, 60, 90, 37, 64, 71, 26, 40, 58, 46, 59, 58, 90, 67, 22, 70, 59, 94, 80, 70, 40, 39, 11, 66, 41, 71, 45, 58, 24, 22, 58, 64, 5, 22, 57, 71, 37, 26, 81, 60, 67, 67, 94, 79, 39, 64, 23, 67, 38, 66, 64, 68, 62, 46, 65, 59, 64, 67, 24, 90, 68, 39, 80, 94, 69, 20, 3, 80, 64, 61, 44, 39, 70, 21, 72, 73, 66, 60, 78, 71, 12, 63, 3, 94, 46, 60, 92, 46, 37, 20, 12, 62, 24, 22, 90, 64, 68, 64, 61, 62, 21, 94, 30, 92, 39, 72, 19, 46, 69, 24, 92, 71, 90, 65, 66, 48, 94, 41, 92, 62, 40, 73, 68, 49, 90, 66, 64, 40, 20, 90, 21, 64, 76, 92, 73, 46, 67, 75, 21, 57, 47, 21, 11, 45, 67, 64, 58, 66, 49, 41, 67, 59, 59, 71, 64, 64, 71, 41, 65, 57, 28, 59, 21, 47, 25, 47, 24, 59, 29, 68, 71, 71, 22, 5, 59, 80, 66, 61, 19, 77, 21, 39, 21, 94, 3, 59, 94, 90, 39, 23, 29, 92, 29, 78, 22, 77, 70, 62, 38, 94, 67, 40, 90, 64, 71, 22, 66, 67, 39, 59, 29, 71, 61, 68, 94, 38, 23, 80, 94, 94, 21, 63, 39, 94, 22, 39, 40, 71, 60, 21, 58, 71, 67, 73, 71, 46, 62, 12, 24, 72, 64, 94, 60, 63, 67, 3, 67, 40, 59, 64, 92, 12, 21, 92, 4, 71, 66, 62, 23, 94, 39, 19, 70, 73, 70, 3, 64, 40, 92, 64, 39, 28, 22, 14, 69, 68, 67, 24, 92, 46, 3, 20, 68, 57, 57, 27, 62, 46, 73, 63, 57, 77, 28, 41, 39, 39, 28, 62, 75, 41, 71, 23, 58, 62, 43, 44, 24, 20, 70, 76, 48, 40, 21, 44, 72, 39, 69, 94, 39, 92, 62, 59, 22, 66, 66, 71, 64, 25, 22, 58, 44, 59, 66, 59, 73, 67, 23, 67, 39, 78, 39, 71, 68, 74, 92, 63, 60, 41, 78, 47, 72, 61, 41, 22, 47, 73, 62, 72, 76, 67, 60, 46, 37, 62, 66, 61, 70, 61, 61, 66, 24, 61, 94, 70, 62, 65, 68, 12, 42, 69, 73, 67, 67, 64, 59, 47, 94, 80, 64, 70, 77, 69, 21, 64, 61, 39, 24, 21, 69, 71, 80, 22, 59, 90, 64, 67, 26, 73, 59, 59, 73, 71, 23, 83, 41, 23, 63, 21, 39, 77, 44, 60, 37, 3, 23, 47, 51, 39, 40, 94, 28, 41, 68, 39, 14, 42, 71, 71, 39, 67, 62, 60, 92, 60, 60, 70, 68, 22, 24, 60, 73, 23, 66, 92, 66, 67, 22, 68, 22, 31, 61, 71, 68, 62, 61, 80, 80, 59, 90, 72, 66, 39, 68, 39, 94, 69, 71, 61, 48, 39, 46, 66, 93, 23, 66, 69, 21, 21, 69, 47, 66, 48, 62, 65, 28, 92, 58, 71, 69, 20, 80, 59, 14, 39, 64, 46, 77, 64, 67, 30, 92, 80, 59, 69, 65, 63, 47, 24, 42, 21, 77, 75, 61, 26, 76, 29, 58, 57, 70, 46, 63, 59, 29, 29, 68, 90, 68, 22, 30, 67, 19, 72, 27, 61, 90, 67, 58, 39, 46, 73, 49, 71, 63, 64, 69, 90, 23, 81, 42, 68, 75, 47, 69, 40, 28, 42, 90, 78, 66, 28, 66, 94, 66, 68, 68, 69, 68, 57, 41, 58, 67, 66, 40, 94, 41, 77, 38, 70, 90, 60, 68, 75, 68, 46, 46, 21, 26, 62, 64, 58, 39, 60, 39, 67, 58, 22, 76, 74, 83, 60, 27, 41, 21, 14, 72, 23, 42, 39, 40, 67, 94, 22, 12, 64, 60, 47, 23, 64, 92, 66, 20, 21, 39, 90, 29, 76, 62, 82, 67, 60, 60, 28, 23, 73, 94, 94, 58, 71, 67, 57, 22, 39, 39, 70, 90, 62, 72, 47, 94, 62, 68, 64, 29, 47, 45, 81, 68, 24, 94, 49, 49, 71, 83, 66, 72, 60, 25, 60, 76, 44, 94, 73, 70, 70, 22, 27, 29, 90, 39, 32, 41, 57, 90, 40, 39, 71, 65, 29, 76, 69, 69, 39, 67, 29, 63, 22, 72, 29, 22, 31, 24, 64, 57, 67, 72, 45, 94, 5, 68, 73, 66, 71, 69, 48, 41, 69, 92, 60, 62, 59, 21, 83, 65, 39, 75, 69, 23, 69, 66, 44, 83, 92, 59, 81, 94, 40, 22, 62, 69, 23, 48, 73, 47, 67, 66, 64, 68, 21, 24, 42, 80, 81, 39, 77, 64, 72, 58, 77, 30, 62, 62, 28, 40, 66, 44, 69, 60, 67, 41, 68, 92, 32, 22, 21, 31, 73, 44, 68, 90, 68, 37, 40, 31, 94, 63, 92, 64, 32, 58, 71, 66, 75, 21, 30, 28, 37, 90, 39, 62, 67, 39, 73, 58, 64, 3, 94, 40, 26, 73, 31, 90, 3, 44, 44, 23, 90, 73, 90, 69, 66, 21, 57, 23, 47, 65, 73, 67, 59, 40, 90, 68, 66, 64, 70, 81, 59, 39, 59, 60, 39, 71, 59, 68, 78, 45, 12, 69, 80, 67, 62, 67, 70, 29, 69, 21, 25, 64, 3, 23, 40, 74, 64, 71, 3, 80, 39, 60, 50, 40, 69, 20, 22, 41, 60, 11, 31, 65, 32, 64, 67, 39, 64, 62, 48, 39, 25, 94, 90, 25, 28, 22, 64, 22, 60, 27, 63, 61, 62, 63, 32, 68, 59, 71, 41, 47, 71, 68, 71, 77, 76, 70, 39, 62, 59, 59, 23, 20, 69, 90, 32, 39, 12, 77, 90, 73, 46, 66, 90, 32, 28, 22, 67, 39, 60, 22, 71, 69, 64, 24, 24, 61, 42, 73, 32, 22, 42, 71, 48, 60, 76, 24, 40, 80, 38, 39, 69, 68, 28, 92, 64, 22, 62, 64, 39, 39, 57, 71, 44, 50, 75, 32, 63, 58, 59, 22, 23, 94, 68, 62, 14, 64, 77, 75, 32, 61, 68, 83, 71, 59, 65, 67, 68, 57, 40, 67, 71, 70, 92, 90, 20, 58, 41, 58, 68, 68, 69, 69, 63, 72, 68, 68, 72, 23, 69, 90, 71, 39, 20, 61, 92, 63, 39, 27, 39, 12, 90, 90, 57, 73, 90, 22, 67, 37, 72, 43, 45, 47, 26, 21, 60, 68, 72, 65, 64, 46, 60, 61, 72, 64, 92, 12, 78, 46, 23, 47, 58, 90, 66, 21, 90, 25, 23, 69, 65, 60, 67, 94, 59, 75, 94, 42, 23, 29, 71, 50, 68, 66, 67, 30, 59, 31, 26, 44, 21, 24, 69, 42, 67, 90, 42, 48, 73, 90, 29, 50, 71, 63, 71, 77, 25, 92, 22, 28, 68, 67, 77, 68, 22, 71, 47, 90, 71, 69, 73, 68, 94, 90, 42, 64, 22, 60, 23, 14, 48, 47, 23, 47, 29, 92, 94, 26, 62, 67, 70, 94, 23, 29, 61, 47, 39, 40, 94, 40, 37, 71, 48, 59, 63, 60, 78, 71, 69, 90, 61, 28, 50, 90, 46, 12, 74, 64, 65, 71, 27, 62, 13, 69, 83, 73, 90, 60, 60, 90, 68, 30, 94, 61, 59, 24, 90, 66, 68, 12, 71, 39, 63, 32, 67, 3, 70, 64, 39, 94, 3, 60, 58, 39, 60, 62, 60, 41, 58, 3, 40, 66, 69, 39, 24, 21, 92, 62, 60, 66, 68, 90, 60, 73, 68, 21, 46, 69, 78, 67, 67, 64, 30, 59, 59, 78, 42, 66, 68, 60, 13, 43, 94, 57, 30, 45, 94, 60, 11, 59, 59, 12, 90, 47, 65, 69, 39, 73, 73, 71, 58, 67, 92, 73, 39, 40, 24, 69, 47, 39, 64, 68, 29, 21, 12, 71, 23, 83, 30, 67, 78, 68, 71, 39, 90, 71, 76, 24, 62, 22, 81, 71, 46, 21, 76, 90, 39, 72, 39, 72, 23, 39, 94, 62, 64, 26, 90, 63, 67, 40, 39, 28, 59, 71, 29, 67, 62, 32, 94, 73, 21, 21, 94, 41, 94, 69, 3, 73, 59, 22, 68, 71, 94, 77, 39, 59, 21, 49, 94, 28, 70, 59, 60, 21, 90, 58, 57, 39, 59, 19, 64, 73, 70, 66, 94, 40, 69, 71, 42, 94, 59, 22, 51, 29, 22, 90, 22, 29, 41, 69, 57, 92, 28, 67, 24, 62, 29, 29, 81, 78, 68, 77, 94, 41, 21, 46, 77, 21, 90, 23, 29, 39, 59, 59, 90, 66, 44, 70, 39, 67, 73, 69, 22, 61, 19, 60, 90, 71, 23, 60, 40, 60, 70, 90, 92, 68, 39, 59, 68, 39, 21, 41, 58, 92, 21, 58, 66, 73, 39, 58, 48, 69, 12, 64, 21, 47, 65, 12, 77, 72, 73, 94, 29, 94, 22, 64, 65, 73, 24, 39, 29, 41, 62, 26, 63, 41, 79, 24, 27, 60, 68, 59, 77, 22, 39, 58, 14, 63, 14, 24, 50, 25, 22, 3, 94, 14, 12, 92, 81, 77, 60, 68, 38, 63, 67, 67, 77, 72, 22, 69, 61, 94, 92, 76, 62, 39, 39, 90, 58, 83, 58, 39, 28, 27, 69, 50, 63, 26, 64, 83, 64, 78, 68, 58, 22, 26, 72, 72, 32, 21, 62, 69, 20, 48, 71, 21, 66, 90, 29, 94, 22, 39, 39, 62, 67, 64, 68, 23, 66, 12, 68, 22, 60, 58, 73, 20, 22, 39, 59, 31, 90, 58, 94, 62, 70, 67, 94, 68, 71, 59, 23, 3, 39, 90, 21, 73, 37, 64, 22, 44, 62, 92, 64, 23, 71, 68, 71, 47, 23, 39, 67, 92, 12, 73, 72, 71, 60, 11, 62, 24, 59, 60, 76, 24, 68, 37, 61, 19, 38, 58, 64, 71, 92, 40, 90, 60, 83, 14, 67, 49, 20, 78, 59, 23, 64, 58, 90, 3, 68, 64, 62, 66, 71, 94, 24, 62, 92, 24, 72, 90, 31, 60, 40, 62, 48, 57, 65, 60, 39, 73, 75, 28, 58, 39, 62, 39, 12, 67, 59, 62, 12, 49, 73, 65, 90, 24, 63, 62, 71, 20, 83, 90, 40, 59, 32, 68, 57, 40, 59, 73, 73, 69, 61, 94, 69, 21, 83, 29, 67, 62, 32, 59, 58, 22, 28, 94, 65, 71, 23, 39, 60, 77, 57, 64, 50, 67, 90, 39, 40, 23, 64, 22, 94, 41, 37, 27, 22, 70, 79, 67, 94, 59, 73, 67, 39, 23, 22, 39, 60, 14, 39, 39, 71, 73, 69, 31, 3, 23, 76, 80, 27, 65, 66, 41, 94, 49, 58, 70, 39, 67, 71, 67, 59, 59, 90, 62, 71, 63, 23, 80, 60, 64, 44, 68, 71, 30, 23, 28, 62, 94, 66, 27, 90, 22, 58, 90, 67, 39, 77, 60, 39, 23, 71, 94, 20, 76, 67, 90, 66, 21, 25, 42, 71, 30, 81, 93, 78, 66, 94, 69, 66, 69, 13, 90, 48, 68, 60, 72, 76, 69, 69, 73, 94, 25, 46, 68, 71, 71, 67, 62, 22, 22, 72, 70, 25, 22, 60, 24, 40, 22, 60, 47, 64, 94, 46, 40, 24, 44, 68, 21, 68, 71, 26, 64, 23, 24, 42, 58, 57, 39, 26, 83, 59, 21, 32, 73, 23, 92, 80, 59, 58, 23, 60, 63, 73, 3, 60, 37, 69, 66, 94, 72, 21, 66, 94, 59, 68, 68, 90, 42, 94, 12, 75, 47, 57, 71, 23, 57, 92, 68, 28, 39, 72, 60, 67, 48, 81, 62, 62, 22, 64, 24, 50, 12, 49, 23, 73, 68, 68, 90, 61, 39, 90, 59, 72, 73, 94, 31, 67, 70, 39, 60, 40, 64, 25, 63, 13, 32, 67, 39, 62, 94, 20, 90, 72, 94, 46, 94, 47, 58, 29, 21, 60, 67, 47, 42, 23, 77, 64, 68, 62, 65, 64, 28, 23, 40, 21, 48, 62, 64, 70, 68, 68, 92, 58, 21, 64, 72, 21, 94, 22, 61, 29, 63, 71, 92, 90, 42, 69, 22, 66, 67, 47, 21, 48, 90, 24, 59, 90, 60, 21, 67, 67, 94, 66, 60, 65, 73, 57, 22, 20, 41, 39, 21, 69, 71, 21, 21, 65, 64, 46, 23, 62, 32, 65, 41, 64, 62, 70, 64, 94, 90, 72, 69, 73, 46, 65, 94, 67, 21, 73, 25, 64, 41, 23, 62, 67, 68, 39, 60, 80, 66, 65, 40, 43, 69, 32, 39, 73, 12, 58, 41, 41, 73, 69, 59, 57, 66, 60, 40, 94, 58, 63, 62, 65, 58, 39, 31, 40, 61, 60, 22, 57, 27, 60, 49, 61, 71, 60, 90, 39, 58, 24, 45, 19, 69, 39, 24, 22, 90, 73, 90, 67, 23, 41, 12, 71, 90, 72, 12, 73, 64, 68, 63, 22, 61, 60, 66, 64, 41, 29, 59, 29, 90, 80, 23, 39, 90, 70, 39, 30, 39, 39, 64, 90, 14, 66, 67, 3, 83, 39, 92, 23, 68, 66, 28, 60, 94, 65, 45, 81, 22, 64, 48, 67, 23, 64, 75, 71, 59, 73, 69, 67, 77, 94, 64, 57, 60, 63, 23, 41, 69, 21, 24, 61, 62, 81, 65, 61, 64, 5, 69, 59, 64, 69, 92, 78, 65, 22, 71, 59, 73, 83, 29, 67, 61, 63, 21, 41, 3, 66, 58, 75, 12, 94, 57, 39, 48, 23, 26, 66, 90, 23, 39, 49, 31, 44, 32, 39, 57, 40, 21, 60, 69, 67, 69, 73, 69, 39, 73, 90, 68, 22, 58, 90, 72, 67, 61, 64, 19, 22, 69, 71, 68, 66, 94, 24, 83, 94, 44, 71, 57, 13, 39, 66, 24, 64, 29, 47, 69, 39, 90, 32, 61, 60, 59, 23, 39, 23, 68, 63, 46, 71, 39, 60, 60, 12, 47, 58, 68, 28, 41, 58, 92, 23, 23, 77, 22, 72, 29, 60, 64, 61, 64, 63, 80, 24, 60, 68, 60, 65, 67, 73, 29, 24, 29, 28, 90, 28, 39, 58, 22, 62, 75, 71, 94, 40, 62, 58, 50, 38, 75, 71, 41, 39, 62, 28, 24, 41, 92, 73, 39, 66, 37, 37, 64, 22, 73, 11, 64, 65, 68, 32, 68, 14, 61, 71, 66, 61, 40, 72, 22, 94, 31, 31, 39, 74, 60, 69, 64, 71, 78, 73, 46, 23, 70, 41, 29, 21, 57, 62, 39, 68, 66, 58, 81, 60, 59, 59, 24, 67, 70, 22, 90, 22, 32, 63, 47, 22, 73, 27, 25, 67, 61, 41, 61, 44, 21, 94, 64, 92, 29, 23, 69, 71, 60, 22, 60, 64, 29, 92, 65, 46, 61, 76, 94, 47, 64, 72, 62, 57, 20, 25, 90, 58, 82, 39, 31, 26, 24, 14, 58, 59, 92, 73, 66, 22, 26, 3, 65, 40, 64, 71, 21, 41, 14, 71, 39, 92, 22, 60, 47, 41, 66, 73, 47, 28, 71, 76, 71, 29, 81, 39, 46, 80, 70, 68, 70, 90, 3, 43, 19, 22, 63, 90, 22, 64, 66, 42, 68, 43, 60, 67, 69, 81, 57, 67, 90, 60, 64, 73, 30, 62, 22, 90, 77, 64, 32, 69, 69, 66, 44, 61, 94, 60, 64, 22, 94, 90, 22, 50, 67, 63, 71, 66, 39, 30, 57, 63, 72, 20, 94, 21, 77, 72, 42, 64, 29, 39, 50, 22, 42, 28, 60, 71, 94, 24, 5, 70, 60, 27, 24, 69, 39, 77, 68, 67, 26, 39, 44, 72, 61, 23, 63, 83, 66, 5, 72, 57, 50, 61, 79, 73, 68, 60, 47, 58, 70, 60, 90, 92, 67, 71, 29, 39, 60, 68, 41, 39, 68, 42, 68, 29, 60, 68, 21, 22, 69, 71, 3, 51, 66, 45, 73, 57, 66, 59, 60, 41, 63, 21, 77, 39, 66, 73, 65, 70, 61, 60, 28, 12, 23, 92, 94, 29, 70, 67, 11, 73, 73, 39, 67, 31, 94, 64, 3, 69, 21, 24, 22, 62, 73, 3, 73, 43, 64, 64, 66, 22, 90, 39, 40, 78, 37, 60, 61, 67, 83, 47, 61, 75, 90, 59, 70, 39, 92, 69, 14, 41, 90, 57, 39, 72, 23, 71, 29, 39, 90, 69, 70, 63, 68, 73, 47, 77, 25, 73, 83, 72, 42, 62, 77, 76, 60, 72, 26, 60, 21, 69, 32, 21, 59, 59, 94, 60, 67, 61, 21, 62, 92, 43, 40, 49, 23, 59, 26, 40, 22, 62, 47, 12, 60, 24, 64, 60, 66, 90, 43, 65, 62, 60, 23, 37, 21, 68, 63, 60, 72, 39, 40, 21, 58, 72, 64, 59, 75, 57, 28, 65, 71, 94, 31, 21, 47, 40, 73, 3, 23, 42, 57, 40, 59, 71, 67, 20, 90, 41, 39, 69, 5, 59, 78, 94, 59, 73, 69, 69, 64, 59, 69, 28, 39, 24, 41, 39, 71, 23, 68, 66, 59, 92, 70, 23, 40, 67, 37, 59, 83, 77, 67, 23, 60, 69, 47, 72, 67, 60, 64, 68, 23, 60, 59, 60, 90, 28, 64, 3, 58, 28, 94, 66, 62, 76, 42, 73, 60, 31, 39, 41, 46, 75, 39, 29, 94, 41, 73, 71, 68, 28, 73, 59, 23, 59, 40, 28, 3, 67, 47, 39, 90, 59, 39, 31, 31, 65, 73, 60, 69, 70, 67, 67, 72, 62, 39, 68, 42, 73, 69, 23, 73, 62, 68, 67, 90, 62, 65, 71, 94, 69, 3, 22, 81, 5, 71, 40, 57, 72, 44, 21, 47, 59, 90, 73, 69, 39, 60, 45, 41, 57, 94, 39, 75, 68, 81, 71, 38, 14, 59, 64, 65, 47, 29, 66, 48, 23, 20, 67, 90, 61, 90, 76, 49, 90, 94, 58, 39, 57, 69, 81, 58, 21, 60, 60, 58, 66, 71, 25, 12, 63, 23, 73],\n\t'z': [39, 23, 82, 42, 23, 74, 23, 49, 73, 79, 60, 46, 67, 73, 40, 22, 67, 21, 41, 41, 69, 24, 42, 42, 40, 45, 40, 69, 40, 21, 40, 71, 42, 39, 73, 26, 74, 22, 5, 39, 23, 40, 45, 42, 40, 49, 74, 71, 24, 23, 42, 67, 24, 6, 42, 22, 73, 21, 79, 24, 79, 94, 73, 22, 74, 32, 23, 73, 40, 22, 23, 71, 40, 23, 73, 42, 42, 46, 39, 67, 45, 82, 94, 24, 66, 42, 24, 41, 94, 69, 41, 42, 41, 69, 90, 71, 23, 82, 12, 23, 21, 24, 92, 23, 23, 21, 32, 69, 41, 42, 22, 26, 41, 72, 83, 42, 27, 24, 67, 74, 41, 51, 94, 23, 92, 42, 22, 73, 24, 94, 90, 71, 41, 23, 42, 94, 80, 23, 64, 42, 61, 6, 42, 23, 40, 77, 74, 42, 23, 28, 44, 67, 42, 68, 71, 42, 71, 94, 78, 69, 42, 79, 64, 82, 73, 22, 24, 90, 24, 73, 79, 22, 6, 74, 90, 42, 41, 22, 22, 90, 69, 73, 74, 22, 22, 73, 74, 64, 24, 69, 74, 23, 74, 74, 45, 41, 39, 39, 24, 62, 42, 73, 24, 42, 90, 42, 24, 62, 42, 90, 71, 48, 64, 41, 42, 42, 24, 28, 41, 74, 39, 21, 39, 21, 22, 63, 74, 83, 42, 29, 74, 42, 45, 41, 6, 22, 68, 24, 23, 42, 22, 64, 22, 69, 69, 32, 73, 79, 41, 29, 23, 42, 67, 73, 41, 72, 40, 68, 69, 42, 42, 24, 22, 42, 94, 39, 22, 62, 69, 67, 71, 31, 73, 39, 23, 23, 22, 64, 42, 42, 42, 42, 23, 42, 82, 40, 64, 42, 23, 82, 23, 46, 41, 92, 42, 24, 22, 51, 39, 73, 24, 77, 46, 40, 23, 94, 24, 23, 42, 22, 12, 23, 82, 24, 24, 23, 73, 92, 94, 40, 82, 44, 68, 78, 69, 23, 21, 39, 24, 73, 92, 73, 26, 78, 83, 73, 32, 31, 39, 69, 40, 24, 67, 90, 23, 50, 82, 44, 74, 23, 74, 32, 64, 40, 45, 48, 67, 42, 73, 64, 14, 44, 74, 74, 12, 78, 58, 74, 71, 44, 71, 48, 47, 82, 23, 45, 46, 94, 92, 24, 42, 73, 73, 68, 69, 67, 23, 41, 83, 21, 94, 28, 71, 24, 83, 42, 25, 62, 40, 23, 42, 40, 24, 22, 67, 24, 39, 92, 42, 73, 69, 92, 73, 67, 42, 42, 74, 71, 41, 6, 73, 74, 22, 92, 24, 5, 45, 40, 5, 40, 42, 82, 25, 42, 94, 50, 22, 24, 41, 39, 42, 22, 74, 90, 26, 41, 39, 71, 41, 45, 71, 39, 90, 74, 74, 22, 24, 39, 42, 90, 90, 41, 74, 82, 24, 68, 94, 26, 67, 94, 72, 60, 67, 74, 45, 78, 77, 22, 26, 74, 41, 68, 73, 22, 42, 40, 42, 25, 73, 74, 22, 74, 64, 72, 42, 83, 22, 22, 94, 23, 61, 73, 71, 22, 74, 40, 79, 24, 40, 24, 74, 42, 73, 24, 40, 92, 74, 83, 42, 69, 74, 24, 65, 42, 42, 21, 47, 69, 77, 28, 46, 82, 74, 74, 21, 24, 41, 42, 6, 24, 24, 73, 71, 22, 73, 61, 74, 94, 47, 21, 74, 24, 29, 94, 23, 69, 44, 21, 21, 71, 6, 23, 21, 82, 60, 24, 6, 44, 94, 40, 28, 79, 69, 23, 39, 42, 39, 42, 70, 74, 50, 94, 22, 23, 51, 23, 83, 21, 41, 5, 14, 90, 82, 39, 41, 79, 23, 74, 23, 22, 12, 21, 74, 29, 21, 39, 44, 64, 59, 42, 21, 41, 90, 22, 41, 44, 25, 41, 40, 3, 68, 74, 40, 6, 62, 42, 42, 71, 94, 82, 42, 60, 23, 24, 83, 48, 64, 71, 69, 41, 6, 71, 39, 42, 90, 39, 71, 66, 42, 94, 44, 68, 73, 68, 24, 42, 21, 73, 42, 77, 22, 71, 60, 42, 83, 73, 71, 6, 22, 24, 42, 22, 74, 22, 21, 6, 73, 23, 24, 12, 42, 45, 69, 23, 44, 72, 23, 23, 24, 42, 23, 22, 68, 90, 21, 71, 94, 22, 24, 49, 73, 73, 40, 42, 6, 42, 42, 24, 90, 42, 58, 42, 14, 23, 42, 73, 68, 22, 29, 90, 42, 74, 90, 24, 21, 22, 24, 24, 71, 45, 23, 23, 78, 21, 45, 22, 41, 79, 41, 72, 79, 23, 68, 22, 68, 32, 42, 21, 68, 72, 24, 24, 42, 90, 74, 71, 69, 47, 90, 74, 6, 26, 44, 42, 22, 42, 21, 41, 23, 23, 82, 68, 77, 69, 23, 12, 78, 42, 90, 22, 74, 40, 64, 41, 74, 68, 83, 83, 41, 45, 45, 42, 78, 94, 23, 20, 73, 24, 41, 23, 71, 40, 74, 67, 73, 42, 90, 83, 42, 23, 94, 42, 22, 29, 5, 24, 73, 73, 25, 68, 74, 24, 69, 41, 90, 68, 42, 21, 74, 94, 22, 23, 79, 69, 25, 74, 90, 94, 73, 39, 42, 94, 41, 90, 41, 42, 73, 41, 24, 41, 23, 13, 24, 90, 42, 42, 24, 90, 23, 23, 42, 25, 72, 68, 22, 22, 39, 22, 6, 23, 82, 94, 40, 68, 74, 24, 6, 26, 70, 69, 63, 21, 82, 69, 78, 22, 42, 68, 44, 45, 42, 41, 72, 46, 66, 28, 23, 24, 74, 71, 64, 28, 79, 26, 57, 69, 78, 32, 22, 23, 45, 73, 68, 24, 23, 67, 24, 66, 73, 74, 39, 42, 22, 90, 23, 42, 59, 45, 39, 23, 62, 29, 68, 49, 69, 74, 45, 71, 23, 41, 79, 22, 23, 92, 29, 74, 76, 40, 59, 23, 74, 76, 22, 68, 40, 45, 68, 23, 79, 41, 71, 90, 69, 60, 68, 94, 90, 26, 59, 42, 63, 42, 24, 22, 41, 74, 73, 41, 90, 42, 67, 62, 79, 24, 42, 68, 94, 44, 94, 74, 71, 62, 22, 74, 22, 73, 73, 32, 23, 90, 74, 39, 68, 28, 42, 69, 67, 22, 40, 24, 51, 23, 24, 39, 23, 23, 6, 45, 94, 3, 23, 24, 77, 82, 69, 41, 23, 77, 74, 94, 69, 50, 74, 73, 90, 22, 71, 90, 67, 23, 67, 74, 59, 73, 41, 26, 23, 22, 74, 67, 23, 73, 71, 42, 23, 24, 82, 66, 94, 73, 39, 60, 83, 44, 94, 41, 73, 73, 24, 22, 23, 73, 23, 73, 64, 5, 73, 44, 23, 42, 80, 68, 90, 24, 73, 71, 42, 71, 82, 94, 59, 47, 74, 60, 22, 71, 22, 82, 23, 32, 22, 21, 74, 76, 71, 94, 31, 74, 83, 64, 74, 58, 72, 82, 74, 74, 42, 76, 43, 90, 28, 46, 82, 61, 39, 22, 45, 74, 24, 74, 83, 42, 41, 71, 41, 14, 40, 3, 22, 83, 24, 22, 74, 59, 23, 6, 22, 14, 90, 42, 24, 24, 73, 74, 29, 82, 90, 45, 45, 24, 21, 44, 74, 21, 6, 68, 47, 69, 23, 71, 40, 23, 73, 42, 40, 74, 21, 21, 24, 41, 42, 74, 6, 60, 42, 41, 73, 23, 47, 71, 78, 79, 73, 79, 68, 94, 61, 22, 39, 69, 94, 40, 74, 44, 79, 76, 22, 76, 23, 24, 83, 73, 24, 74, 24, 22, 23, 23, 74, 22, 42, 21, 46, 42, 74, 23, 67, 21, 92, 73, 24, 47, 46, 24, 74, 90, 23, 71, 82, 74, 23, 40, 41, 73, 90, 24, 26, 24, 94, 72, 42, 41, 94, 12, 79, 41, 94, 71, 68, 79, 76, 79, 28, 73, 42, 73, 42, 32, 24, 42, 42, 22, 64, 27, 40, 78, 78, 73, 41, 73, 59, 42, 77, 47, 22, 21, 82, 23, 73, 40, 73, 92, 42, 69, 28, 46, 90, 23, 41, 90, 42, 24, 24, 73, 78, 42, 83, 74, 71, 94, 68, 41, 79, 42, 51, 40, 23, 69, 23, 42, 83, 74, 23, 74, 23, 39, 71, 23, 76, 60, 21, 28, 23, 42, 90, 42, 45, 76, 41, 94, 49, 23, 22, 42, 64, 73, 47, 83, 74, 83, 71, 68, 69, 23, 22, 42, 82, 83, 23, 40, 76, 22, 90, 24, 45, 49, 24, 71, 45, 22, 23, 79, 90, 23, 90, 42, 73, 74, 5, 42, 92, 32, 42, 79, 21, 74, 42, 73, 22, 32, 42, 94, 74, 90, 82, 69, 74, 42, 78, 24, 32, 82, 22, 92, 68, 74, 23, 74, 42, 68, 23, 24, 22, 73, 27, 74, 14, 73, 72, 45, 6, 42, 42, 23, 24, 23, 24, 24, 62, 29, 6, 62, 42, 42, 72, 22, 92, 42, 73, 66, 92, 29, 67, 67, 22, 90, 41, 23, 23, 94, 45, 6, 92, 94, 32, 42, 73, 69, 21, 82, 71, 42, 23, 24, 24, 29, 22, 79, 73, 40, 12, 44, 73, 69, 82, 73, 22, 60, 23, 23, 21, 40, 14, 70, 82, 40, 71, 24, 67, 64, 26, 42, 28, 24, 74, 23, 78, 24, 94, 41, 23, 44, 94, 67, 71, 41, 83, 23, 24, 23, 42, 32, 90, 71, 23, 76, 44, 39, 42, 69, 23, 66, 42, 61, 94, 41, 83, 71, 40, 44, 42, 41, 74, 24, 24, 83, 46, 23, 23, 74, 67, 42, 22, 23, 69, 26, 42, 42, 74, 22, 5, 41, 74, 74, 82, 90, 46, 74, 21, 76, 23, 24, 73, 90, 44, 22, 71, 41, 90, 22, 71, 24, 94, 41, 45, 82, 47, 83, 90, 60, 71, 41, 26, 42, 24, 23, 82, 90, 76, 77, 5, 64, 94, 76, 74, 23, 60, 71, 73, 42, 22, 69, 94, 40, 24, 24, 63, 23, 23, 61, 71, 90, 94, 73, 74, 22, 22, 71, 21, 26, 42, 24, 22, 69, 22, 66, 24, 73, 90, 44, 67, 41, 23, 22, 71, 22, 21, 41, 69, 3, 90, 42, 79, 46, 83, 73, 71, 69, 73, 71, 39, 44, 94, 39, 22, 40, 22, 26, 6, 44, 42, 83, 24, 73, 23, 73, 41, 23, 42, 71, 74, 90, 40, 41, 62, 46, 24, 79, 42, 47, 24, 32, 69, 94, 68, 14, 24, 32, 28, 6, 74, 42, 73, 74, 42, 73, 74, 42, 41, 24, 47, 5, 24, 42, 94, 45, 29, 22, 74, 46, 40, 42, 6, 90, 41, 73, 79, 42, 40, 71, 74, 73, 23, 41, 74, 66, 41, 68, 24, 82, 26, 46, 42, 83, 44, 73, 22, 29, 67, 23, 40, 23, 24, 74, 71, 45, 94, 73, 40, 41, 40, 24, 42, 67, 92, 94, 6, 94, 23, 92, 67, 79, 32, 22, 45, 40, 79, 71, 71, 74, 45, 66, 83, 94, 5, 42, 24, 62, 24, 40, 69, 31, 74, 60, 39, 42, 24, 68, 21, 24, 42, 41, 72, 6, 24, 29, 21, 67, 42, 24, 41, 68, 62, 22, 42, 68, 68, 42, 42, 59, 73, 24, 90, 69, 42, 23, 23, 64, 92, 67, 23, 40, 21, 41, 71, 42, 45, 90, 45, 69, 68, 24, 48, 73, 60, 45, 74, 67, 69, 62, 31, 28, 42, 65, 83, 79, 41, 90, 42, 60, 23, 41, 42, 76, 22, 22, 90, 23, 23, 22, 94, 73, 22, 42, 69, 22, 47, 23, 83, 23, 69, 90, 5, 74, 41, 74, 24, 5, 5, 23, 79, 24, 94, 42, 40, 24, 44, 42, 23, 74, 42, 42, 45, 73, 78, 74, 90, 73, 73, 40, 29, 94, 24, 66, 22, 47, 74, 23, 40, 21, 40, 82, 68, 24, 83, 23, 69, 82, 22, 42, 73, 23, 22, 42, 23, 22, 4, 23, 39, 41, 71, 74, 23, 6, 23, 67, 24, 32, 73, 45, 39, 22, 22, 74, 23, 40, 23, 71, 72, 72, 94, 23, 71, 40, 73, 73, 71, 24, 74, 73, 69, 42, 15, 79, 24, 73, 24, 28, 74, 71, 59, 73, 77, 74, 26, 74, 77, 6, 23, 45, 40, 45, 40, 23, 73, 78, 76, 42, 40, 42, 76, 42, 94, 42, 23, 67, 79, 39, 21, 40, 41, 73, 24, 39, 41, 40, 73, 23, 42, 42, 73, 69, 64, 23, 22, 24, 94, 39, 42, 90, 41, 42, 69, 41, 92, 68, 69, 42, 40, 25, 82, 22, 24, 94, 23, 79, 73, 22, 78, 41, 22, 74, 46, 74, 23, 40, 23, 42, 80, 22, 42, 83, 73, 47, 41, 23, 6, 74, 29, 42, 23, 92, 46, 24, 40, 92, 50, 24, 32, 29, 32, 26, 23, 42, 22, 83, 26, 23, 48, 45, 94, 40, 20, 39, 71, 69, 46, 41, 42, 42, 90, 40, 41, 78, 67, 73, 23, 24, 74, 5, 23, 67, 45, 82, 94, 32, 39, 82, 21, 5, 69, 79, 72, 39, 42, 29, 92, 73, 5, 23, 24, 22, 42, 14, 23, 23, 90, 74, 46, 74, 42, 71, 90, 68, 42, 73, 94, 74, 90, 22, 69, 41, 69, 90, 42, 42, 42, 23, 22, 82, 40, 71, 42, 23, 59, 73, 24, 94, 94, 74, 47, 23, 67, 24, 24, 74, 40, 42, 23, 79, 94, 41, 90, 42, 24, 73, 40, 83, 74, 68, 24, 22, 41, 74, 40, 73, 62, 41, 41, 42, 42, 69, 44, 74, 22, 42, 69, 22, 23, 63, 94, 94, 23, 73, 74, 62, 42, 83, 69, 14, 26, 79, 42, 24, 69, 25, 92, 72, 69, 71, 24, 24, 40, 40, 42, 69, 73, 42, 73, 23, 82, 73, 41, 71, 26, 64, 64, 67, 74, 22, 76, 76, 22, 68, 23, 94, 22, 90, 66, 64, 42, 26, 41, 21, 23, 42, 39, 23, 90, 26, 5, 22, 73, 72, 79, 21, 62, 73, 64, 22, 22, 23, 90, 74, 90, 42, 42, 42, 40, 67, 83, 74, 25, 23, 6, 74, 62, 73, 42, 90, 22, 46, 42, 68, 32, 73, 23, 72, 22, 24, 23, 42, 40, 42, 12, 28, 42, 42, 6, 94, 40, 90, 42, 42, 72, 44, 42, 94, 71, 50, 21, 92, 24, 42, 90, 83, 26, 47, 44, 42, 6, 90, 94, 74, 22, 31, 40, 71, 68, 68, 24, 24, 69, 24, 21, 74, 42, 25, 42, 82, 39, 42, 78, 21, 42, 50, 42, 46, 42, 73, 69, 29, 23, 23, 64, 21, 21, 40, 45, 22, 92, 24, 90, 40, 39, 44, 90, 24, 22, 23, 26, 74, 73, 14, 29, 24, 6, 22, 42, 42, 68, 23, 14, 23, 14, 41, 73, 41, 46, 24, 90, 23, 42, 23, 78, 72, 73, 94, 94, 39, 42, 23, 92, 64, 23, 24, 24, 42, 41, 41, 62, 82, 23, 74, 45, 21, 74, 78, 24, 42, 24, 94, 83, 73, 83, 42, 79, 71, 26, 24, 82, 42, 42, 22, 83, 23, 24, 41, 42, 94, 23, 74, 21, 21, 74, 72, 64, 42, 71, 90, 73, 41, 74, 24, 42, 60, 42, 40, 21, 82, 24, 42, 44, 32, 63, 90, 26, 61, 23, 69, 76, 22, 21, 22, 21, 83, 14, 71, 68, 74, 39, 74, 83, 42, 42, 26, 41, 22, 74, 92, 23, 94, 42, 42, 22, 22, 22, 50, 94, 23, 21, 39, 73, 69, 23, 25, 30, 82, 73, 67, 71, 42, 25, 24, 41, 23, 78, 74, 82, 21, 82, 41, 73, 74, 45, 82, 24, 45, 94, 22, 73, 24, 22, 76, 24, 73, 23, 82, 64, 66, 66, 42, 24, 24, 67, 41, 39, 21, 22, 23, 74, 71, 44, 40, 74, 73, 21, 74, 42, 24, 22, 21, 79, 74, 31, 21, 42, 68, 40, 62, 24, 90, 24, 74, 39, 69, 59, 42, 22, 74, 23, 74, 42, 41, 23, 23, 22, 74, 21, 66, 6, 24, 41, 83, 23, 42, 24, 92, 23, 90, 42, 24, 22, 22, 74, 79, 67, 24, 90, 73, 41, 26, 74, 74, 74, 66, 94, 42, 73, 23, 76, 23, 60, 21, 45, 24, 82, 73, 42, 26, 74, 23, 42, 42, 94, 23, 22, 74, 24, 73, 22, 42, 21, 92, 40, 41, 71, 5, 21, 39, 64, 74, 59, 46, 73, 31, 23, 73, 69, 22, 24, 73, 47, 6, 40, 24, 71, 42, 23, 73, 42, 42, 24, 26, 23, 42, 40, 22, 12, 42, 74, 22, 41, 42, 24, 62, 22, 94, 40, 81, 44, 62, 82, 73, 83, 74, 23, 74, 67, 74, 50, 73, 22, 42, 40, 32, 94, 74, 22, 42, 68, 24, 29, 21, 67, 47, 22, 22, 42, 6, 31, 41, 94, 32, 73, 24, 21, 83, 40, 23, 74, 94, 71, 46, 22, 90, 23, 94, 92, 42, 42, 42, 74, 74, 24, 73, 49, 61, 59, 67, 51, 71, 66, 24, 42, 23, 45, 70, 23, 94, 60, 23, 76, 83, 24, 69, 23, 22, 29, 40, 71, 24, 76, 40, 40, 70, 94, 31, 74, 44, 68, 92, 74, 94, 14, 32, 78, 82, 69, 67, 22, 42, 42, 22, 21, 42, 42, 42, 74, 23, 73, 24, 42, 64, 92, 41, 73, 24, 23, 24, 74, 24, 94, 22, 22, 40, 29, 76, 73, 45, 22, 58, 32, 71, 69, 42, 40, 82, 42, 22, 94, 23, 82, 71, 71, 22, 42, 42, 24, 23, 94, 78, 73, 23, 71, 39, 22, 77, 42, 71, 46, 23, 64, 22, 42, 49, 78, 41, 90, 47, 92, 73, 23, 24, 23, 82, 83, 67, 90, 42, 61, 73, 74, 42, 74, 47, 76, 23, 6, 21, 63, 24, 90, 83, 23, 73, 22, 39, 68, 83, 21, 80, 74, 42, 23, 68, 44, 42, 42, 74, 22, 94, 94, 24, 23, 73, 42, 23, 12, 23, 42, 72, 83, 72, 83, 42, 94, 71, 68, 73, 41, 74, 40, 32, 5, 23, 79, 71, 23, 39, 42, 45, 22, 6, 42, 66, 74, 79, 41, 60, 94, 69, 21, 42, 60, 42, 68, 60, 73, 74, 23, 22, 24, 21, 23, 82, 25, 77, 23, 41, 47, 28, 40, 24, 23, 69, 78, 42, 22, 42, 74, 45, 24, 90, 22, 39, 74, 24, 90, 28, 24, 39, 45, 60, 45, 24, 44, 23, 73, 73, 60, 25, 26, 21, 42, 74, 24, 32, 46, 74, 47, 94, 42, 73, 41, 90, 23, 29, 22, 94, 21, 39, 24, 22, 23, 82, 22, 24, 41, 23, 68, 83, 23, 39, 42, 46, 78, 41, 44, 94, 76, 23, 92, 44, 83, 67, 71, 68, 40, 22, 45, 13, 42, 21, 73, 23, 23, 69, 74, 74, 46, 40, 69, 74, 30, 42, 69, 41, 24, 66, 23, 31, 42, 24, 24, 46, 67, 5, 23, 73, 24, 78, 94, 74, 90, 42, 23, 41, 40, 23, 83, 24, 90, 42, 73, 22, 82, 25, 73, 40, 26, 73, 42, 6, 21, 74, 66, 75, 92, 83, 24, 74, 77, 74, 23, 74, 42, 82, 69, 42, 47, 42, 71, 41, 78, 74, 24, 79, 23, 79, 92, 59, 42, 21, 42, 23, 82, 40, 26, 83, 68, 6, 74, 94, 21, 77, 90, 60, 66, 42, 74, 68, 42, 42, 90, 66, 94, 23, 92, 94, 82, 40, 74, 42, 22, 73, 42, 94, 73, 22, 82, 94, 79, 22, 21, 22, 74, 67, 74, 94, 42, 44, 67, 71, 23, 22, 71, 62, 23, 78, 40, 24, 24, 24, 83, 24, 23, 24, 23, 74, 21, 73, 83, 42, 68, 42, 23, 92, 42, 23, 67, 23, 41, 42, 78, 23, 39, 73, 41, 74, 40, 22, 74, 22, 94, 60, 94, 42, 82, 59, 46, 42, 60, 74, 21, 73, 42, 32, 23, 23, 61, 67, 92, 74, 90, 28, 71, 74, 42, 60, 23, 21, 41, 6, 76, 23, 41, 42, 90, 74, 71, 46, 45, 42, 21, 47, 23, 73, 90, 5, 74, 64, 66, 23, 24, 42, 94, 92, 42, 73, 77, 73, 14, 24, 62, 44, 73, 24, 42, 82, 24, 24, 74, 67, 71, 39, 23, 77, 67, 69, 39, 42, 73, 22, 24, 90, 66, 73, 90, 21, 73, 22, 41, 24, 60, 80, 64, 45, 68, 42, 23, 82, 23, 44, 41, 23, 12, 74, 74, 25, 21, 68, 73, 94, 42, 22, 42, 21, 42, 82, 73, 79, 23, 64, 23, 74, 74, 22, 90, 24, 79, 23, 42, 74, 42, 41, 26, 41, 40, 69, 41, 63, 74, 73, 68, 41, 71, 5, 44, 68, 42, 64, 22, 79, 22, 69, 94, 23, 24, 42, 66, 71, 64, 40, 47, 22, 23, 39, 44, 74, 71, 92, 46, 82, 23, 68, 14, 73, 74, 79, 44, 69, 6, 22, 29, 23, 22, 41, 79, 74, 67, 24, 92, 22, 79, 42, 40, 82, 23, 22, 24, 42, 50, 14, 39, 22, 42, 42, 94, 42, 42, 12, 23, 71, 23, 74, 41, 90, 42, 41, 69, 69, 68, 42, 39, 42, 90, 73, 22, 73, 23, 82, 82, 90, 41, 58, 92, 45, 24, 44, 62, 23, 22, 94, 90, 90, 79, 42, 25, 23, 24, 50, 94, 32, 42, 22, 32, 94, 21, 94, 76, 77, 94, 32, 74, 23, 69, 74, 39, 40, 44, 31, 22, 24, 39, 23, 39, 94, 82, 67, 41, 66, 94, 60, 24, 23, 26, 23, 41, 24, 41],\n\t'labels': ['Pm-Dy-Y', 'Yb-Gd-V', 'Cr-Ni-Pb', 'Pu-V-Mo', 'Pm-Er-V', 'Tm-Lu-W', 'Nd-Pu-V', 'Al-Zn-In', 'Eu-U-Ta', 'Ni-Ru-Au', 'Ce-Pm-Nd', 'Cu-Tc-Pd', 'La-Sm-Ho', 'La-Yb-Ta', 'Gd-Lu-Zr', 'Li-Hf-Ti', 'La-Dy-Ho', 'Ba-Yb-Sc', 'K-Zr-Nb', 'Y-Zr-Nb', 'Li-Ce-Tm', 'Sc-U-Cr', 'Ho-Er-Mo', 'Tm-V-Mo', 'La-Pu-Zr', 'Ir-Pd-Rh', 'Gd-Ho-Zr', 'Ca-Y-Tm', 'Rb-Hf-Zr', 'La-Yb-Sc', 'Nd-Pu-Zr', 'Yb-Y-Lu', 'La-V-Mo', 'Ba-La-Y', 'Cs-Li-Ta', 'Ba-Sr-Fe', 'Yb-Y-W', 'Cs-Pr-Ti', 'Zn-Bi-B', 'Tb-Pm-Y', 'Gd-Ta-V', 'Ce-Eu-Zr', 'Fe-Os-Rh', 'Nb-V-Mo', 'Eu-Hf-Zr', 'Be-Al-In', 'Pr-V-W', 'Li-Er-Lu', 'Pu-Ti-Cr', 'Rb-Na-V', 'Mg-V-Mo', 'Pr-Nd-Ho', 'Pr-Sm-Cr', 'Pd-Ru-C', 'Er-Pu-Mo', 'Ce-Zr-Ti', 'Li-Tm-Ta', 'Nd-Gd-Sc', 'Fe-Rh-Au', 'Cs-V-Cr', 'Ru-Pt-Au', 'Ca-Lu-Pu', 'Cs-K-Ta', 'Lu-Ta-Ti', 'Nd-U-W', 'Ga-Si-Ge', 'K-Mg-V', 'Ce-Th-Ta', 'Yb-Dy-Zr', 'Ba-Nd-Ti', 'Y-Pu-V', 'Pr-Gd-Lu', 'La-Y-Zr', 'Er-Nb-V', 'Cs-Zr-Ta', 'Li-Y-Mo', 'Pr-Th-Mo', 'Fe-Cu-Pd', 'Ce-Sm-Y', 'Dy-Y-Ho', 'Cu-Ir-Rh', 'Si-Sb-Pb', 'Pr-Ho-Pu', 'K-Li-Cr', 'La-Tb-Dy', 'Li-Nd-Mo', 'Sm-Th-Cr', 'Cs-Zr-Nb', 'Pr-Y-Pu', 'Tb-Yb-Tm', 'Y-Hf-Nb', 'Na-Cr-Mo', 'K-Mg-Nb', 'Li-Er-Tm', 'Ce-Hf-Th', 'Dy-Ho-Lu', 'Ce-Mn-V', 'Mn-Fe-Pb', 'Rb-Hf-Mg', 'La-Tb-V', 'Sr-Nd-Sc', 'Tb-Sm-Cr', 'Ce-Sc-U', 'Y-Ho-V', 'Rb-Li-V', 'Nd-Th-Sc', 'Al-Si-Ge', 'Ca-La-Tm', 'La-Sc-Nb', 'Sm-Gd-Mo', 'Y-Sc-Ti', 'Na-Sr-Fe', 'K-Li-Nb', 'Cs-Rb-Hf', 'Zn-Ga-Bi', 'La-Pm-Mo', 'Mn-Fe-Co', 'Gd-Tm-Cr', 'Sm-Gd-Ho', 'U-Ti-W', 'La-Ce-Nb', 'Re-Hg-Sb', 'Gd-Dy-Pu', 'Dy-Ho-V', 'La-Nd-U', 'Ce-Ta-Mo', 'Ce-Lu-Ti', 'Ce-Nd-Ta', 'Pm-Tm-Cr', 'Ce-Tm-Pu', 'Pr-Sm-Th', 'Ca-La-Lu', 'Yb-Lu-Nb', 'Sm-Lu-V', 'Gd-Tm-Mo', 'Li-Pr-Pu', 'Al-Ga-Hg', 'Na-Ti-V', 'Yb-Nd-Gd', 'Nd-Gd-Mo', 'La-Tb-Pm', 'Ir-Pd-C', 'Tm-Pu-Mo', 'Tm-Th-V', 'La-Er-Zr', 'Cu-Ni-Ir', 'Tb-Sc-W', 'Ba-Sr-Mo', 'Th-Sc-V', 'Mn-Co-Ni', 'Cu-Ni-Ru', 'Tb-Ce-Ho', 'Nd-Lu-Mo', 'Li-Pm-Er', 'La-Tm-Lu', 'La-Pu-Mo', 'Pm-Pr-Lu', 'Ce-Ho-Pu', 'Cu-Tc-Pt', 'Nd-Dy-Tm', 'Ca-Pm-Mo', 'Fe-Cu-Au', 'Li-Sm-Gd', 'Mn-Ag-Pb', 'Li-Er-Ta', 'La-Tb-Ti', 'Gd-Ti-Cr', 'Ce-Gd-Th', 'Er-Sc-Cr', 'Sm-Er-Ta', 'Cr-Ni-Au', 'Nd-U-Ti', 'Co-Au-C', 'Nd-Pu-W', 'La-Yb-Th', 'Sc-Cr-Mo', 'Zr-Sc-Nb', 'Pr-Tm-Ti', 'Cs-Hf-Ti', 'Ce-Ho-Th', 'Yb-Gd-Tm', 'Li-Ce-Ta', 'Y-V-W', 'La-Sc-Ti', 'Tb-Sc-Ti', 'Tb-Pr-Ta', 'Sb-Pb-W', 'Ba-Yb-Gd', 'Dy-Pu-Cr', 'Tb-Gd-Tm', 'Tb-Lu-W', 'Gd-Er-V', 'Yb-Ti-W', 'Tm-V-W', 'Pd-Pt-Rh', 'Eu-Pu-Nb', 'Ba-Sm-Y', 'La-Sm-Y', 'U-V-Cr', 'Ba-Pm-Sm', 'Sm-Ho-Mo', 'Gd-Th-Ta', 'Ce-Pr-Cr', 'Lu-Ti-Mo', 'Dy-Lu-Th', 'La-Sc-Mo', 'Y-U-Cr', 'Pm-Nd-Sm', 'Tb-Gd-Mo', 'Yb-Er-Th', 'Li-Pr-Lu', 'Mg-Mn-Cd', 'Ce-Pm-Gd', 'Pu-Ti-Nb', 'Tl-Cd-Mo', 'Sc-V-Mo', 'Pu-V-Cr', 'Mn-Fe-Ni', 'Eu-Zr-Nb', 'Tb-Y-W', 'Tb-Pr-Y', 'Ca-Nd-Sc', 'Ba-Nd-Y', 'Ca-Tb-Sc', 'Pu-Ta-Ti', 'Ca-Yb-Eu', 'Th-Mo-W', 'Si-Sn-Bi', 'Tb-Sc-Mo', 'Na-Cr-Cu', 'Y-Er-W', 'Y-Ho-Mo', 'Ni-Pd-Rh', 'Y-Ti-Nb', 'Co-Pd-C', 'Li-Gd-Ti', 'Tb-Y-Er', 'Pr-Y-Cr', 'La-Yb-V', 'Ca-Yb-Mo', 'Dy-Er-Ti', 'Nd-Sm-Gd', 'Tb-Y-Ti', 'Gd-Er-Tm', 'Ca-Pm-Tm', 'Tl-Zn-Ge', 'Yb-Sc-Ta', 'Fe-Co-Au', 'La-Sm-Nb', 'Nb-V-Cu', 'La-Sm-V', 'Li-Pr-Mo', 'Tb-Gd-Ho', 'Eu-Th-Ta', 'Yb-U-Nb', 'Yb-Er-Hf', 'La-Ho-Zr', 'Dy-Y-Er', 'La-Ce-Tm', 'Pr-Lu-Mo', 'Eu-Y-Mo', 'Dy-Er-Cr', 'La-Yb-Ti', 'Ce-Pm-Mo', 'Tb-Pm-Pu', 'Pr-Dy-Y', 'La-Pu-Ti', 'Li-Ce-Sm', 'Li-Pr-Tm', 'Tb-Pm-Ho', 'Dy-Er-Lu', 'Al-In-Ga', 'Nd-Er-Ta', 'Pr-Nd-Y', 'Ba-Pm-V', 'Pr-Dy-V', 'Rb-Na-Ti', 'Tb-Pm-Gd', 'Gd-Er-Mo', 'Y-Th-Mo', 'Gd-Y-Mo', 'Ba-Pm-Mo', 'Pu-Nb-V', 'Er-Th-Mo', 'Co-Ni-Pb', 'Ho-Th-Zr', 'Pm-Pr-Gd', 'Sm-Lu-Mo', 'Yb-Pr-V', 'Cu-Ag-Pb', 'Pm-Ho-V', 'Re-Ir-Pd', 'Er-Lu-Nb', 'La-Eu-U', 'Cu-Ag-Mo', 'Dy-V-Cr', 'Dy-Th-Ti', 'Re-Bi-Sb', 'Pm-Pr-Y', 'Th-Sc-Ta', 'Y-V-Cr', 'Fe-Ag-Ir', 'Co-Os-Pd', 'Rb-Li-Zr', 'Gd-Dy-V', 'Tb-Er-Pu', 'Ce-Ti-Cr', 'Ba-Ti-V', 'Nd-Dy-Mo', 'Ca-Tm-Ti', 'Li-Hf-Mg', 'Tb-Sc-V', 'Tl-Zn-Pb', 'Pr-Tm-Cr', 'Er-Ti-Cr', 'Er-Sc-V', 'K-Li-Ta', 'Yb-Sc-U', 'La-Ce-Pu', 'Cs-Mg-Zr', 'Ga-B-Pb', 'Re-Ir-Ru', 'Pr-Gd-Er', 'Re-Ni-Pt', 'Tb-Nd-Tm', 'Tb-Ta-V', 'Nd-Y-Sc', 'Tb-Dy-Y', 'Tb-Pr-Cr', 'La-Zr-Ta', 'Eu-Th-U', 'Li-Tb-Ta', 'Na-V-Fe', 'Cu-Re-Pt', 'Cd-Ge-Bi', 'Sm-Gd-Ta', 'Al-In-Ge', 'Al-Cd-Ga', 'Ce-Eu-Y', 'La-Tb-Tm', 'Li-Tb-Zr', 'Pr-V-Cr', 'La-Pm-Ho', 'Gd-Er-Th', 'Li-La-V', 'Al-Ga-Sn', 'Tl-As-Pb', 'Re-Pd-Ru', 'Eu-Y-W', 'Tm-Ta-V', 'Eu-V-W', 'Be-Zn-Ge', 'Li-Pm-Gd', 'Na-Mg-Zr', 'Fe-Ag-Rh', 'Tl-Zn-Cd', 'Nd-Sm-Ho', 'Y-Ta-Mo', 'Gd-Lu-Ta', 'Li-Tb-Gd', 'Be-Ga-Si', 'Mn-Cu-Ru', 'Pr-Cr-W', 'Ho-Cr-W', 'Na-Li-Mg', 'Re-Ru-Pt', 'La-Tb-Ce', 'Cr-Pb-W', 'Pr-Er-Lu', 'Ag-Pd-Ru', 'Ca-Nd-Lu', 'Mg-Cr-Cd', 'Mn-Ni-Ag', 'Cu-B-Pb', 'Li-Er-V', 'Ni-Os-Rh', 'Fe-Ag-Pd', 'Li-Er-Pu', 'Sm-Y-U', 'Dy-Tm-Cr', 'Na-Nb-Mo', 'Tb-Zr-Ta', 'Rb-Na-Ta', 'Gd-Y-Er', 'Pr-Er-Tm', 'Pr-Sm-Ho', 'Gd-Tm-V', 'Zr-Ta-Nb', 'Cr-Hg-Bi', 'Yb-Er-Sc', 'Ca-Pm-Pu', 'Co-Cu-Ni', 'Gd-Ho-Lu', 'Sc-Ti-Cr', 'Ga-Si-Bi', 'Li-Lu-Mo', 'Ba-Sr-Mn', 'Li-Pm-Sm', 'Na-Li-Zr', 'Gd-Sc-V', 'Yb-Er-Mo', 'Ho-Lu-Zr', 'Nd-Sc-Cr', 'Ca-Ce-Ti', 'Pm-Gd-Ho', 'La-Y-Cr', 'Ca-Yb-Y', 'Pr-Th-U', 'Tm-Cr-Mo', 'Rb-Li-Ta', 'Gd-Y-Tm', 'Yb-Pr-U', 'Ce-Hf-Ta', 'Nd-Y-Ho', 'Er-Ti-Mo', 'Dy-Th-Mo', 'La-Pr-W', 'Yb-Ho-Lu', 'La-Yb-Nb', 'Co-Rh-C', 'La-Eu-Ta', 'Y-Cr-W', 'K-Zr-Ti', 'Pr-Sm-U', 'Eu-Sc-Cr', 'Ga-Sn-B', 'Cu-Ag-Rh', 'Ce-Gd-Zr', 'Tl-Ga-B', 'Gd-Er-Zr', 'Ti-Nb-Mo', 'Ga-Sn-Pb', 'La-Eu-Mn', 'Tm-Lu-Mo', 'Pm-Tm-Pu', 'Be-Al-Sn', 'Dy-Lu-Ti', 'Yb-Tm-Cr', 'Na-Ta-Nb', 'Li-Gd-Y', 'Na-Sr-Mo', 'Ba-La-Ti', 'Sm-Mo-W', 'La-Tm-Th', 'K-Cr-Fe', 'Y-Ta-Nb', 'Ce-Pm-Y', 'Sm-Tm-Lu', 'Er-Th-Nb', 'Co-Os-Rh', 'Sm-Dy-Lu', 'Sr-Ca-Y', 'Pm-Er-Th', 'Yb-V-W', 'La-Gd-W', 'Tb-Ta-Ti', 'Cs-Mg-Cr', 'Ca-Nd-Y', 'Pr-Ta-Mo', 'Pm-Sm-Th', 'La-Sm-Th', 'Zr-Ti-Nb', 'Cr-Cu-W', 'Cu-Ni-Pb', 'Sm-Pu-Cr', 'Ce-Pr-Er', 'Ce-Lu-Pu', 'La-V-Fe', 'Sm-Y-Ho', 'Ce-Er-Pu', 'Ce-Y-Hf', 'Ca-Pm-Nd', 'Ce-Pr-Ho', 'Ce-Lu-W', 'Re-Ru-Rh', 'Cu-Os-Pt', 'Co-Ni-Ir', 'La-Ta-Ti', 'Ba-V-Fe', 'Gd-Th-W', 'Li-Er-Nb', 'La-Yb-Er', 'Ce-Y-Ta', 'Y-Lu-Ti', 'Tm-Th-Mo', 'La-Eu-Zr', 'Pr-Dy-Mo', 'Ca-Yb-Mn', 'La-U-Ta', 'Pr-U-W', 'Nd-Lu-Ti', 'Pu-V-W', 'Li-Nd-Gd', 'Li-Ce-Hf', 'Tl-Cu-Mo', 'Al-Zn-Bi', 'Er-Sc-Ti', 'K-Mg-Ti', 'Li-Ce-Pu', 'Na-Nb-V', 'Ba-La-Pm', 'Tb-Th-Ta', 'Pr-Ho-Lu', 'Tb-Yb-Ti', 'Sm-Y-W', 'Tb-Dy-Zr', 'Ag-Ge-Au', 'Nd-Er-Cr', 'Yb-Y-Zr', 'Dy-Ho-Cr', 'Gd-Ta-W', 'Nd-Sm-Mo', 'Tb-Sm-Ta', 'Li-Lu-Cr', 'Y-Hf-Zr', 'Eu-Sc-U', 'Ti-Cr-W', 'Re-Ag-Bi', 'Pm-Er-Mo', 'Ca-Tb-Tm', 'Ta-Mo-W', 'Tb-Er-Cr', 'Li-La-Tb', 'Tl-Ag-Mo', 'Tb-Y-Mo', 'Er-Zr-Sc', 'Fe-Ni-Ag', 'La-Er-Tm', 'Co-Re-Ir', 'Li-Cr-Ni', 'V-Ag-Pd', 'Zn-Sn-Pb', 'Ce-Nd-W', 'La-Cr-W', 'Ca-Eu-Sc', 'Ho-Er-Cr', 'Yb-Zr-Nb', 'Eu-V-Mo', 'Ni-Ir-C', 'Y-Tm-Cr', 'Pr-Pu-Cr', 'Ho-Th-Ta', 'Pr-Tm-Lu', 'Pr-Er-Ti', 'Pr-Pu-Ta', 'Tb-Ce-Pm', 'Ce-Mo-W', 'Li-Tb-Pu', 'Mn-Tl-Ag', 'Ba-La-Sc', 'Th-Cr-W', 'Li-La-Cr', 'Mn-Fe-Cu', 'Ho-Tm-Pu', 'K-Rb-V', 'La-Gd-Tm', 'Cu-Ag-Ru', 'Ce-Y-Sc', 'Ho-Zr-Sc', 'Ce-Tm-Lu', 'Co-Ru-C', 'Ce-Ti-V', 'Yb-Hf-Sc', 'Tl-Si-Pb', 'Tb-Yb-Nd', 'Rb-Li-Cr', 'Co-Ni-C', 'Co-Ir-Ru', 'Gd-Lu-Pu', 'Gd-Dy-Zr', 'Mn-Cu-Ni', 'Cu-Mo-Au', 'Tb-Pr-Tm', 'Li-Mg-V', 'Yb-Pr-Y', 'Li-Sm-Mo', 'Li-Tb-Y', 'Sm-Nb-Mo', 'Ba-La-Yb', 'La-Dy-W', 'Zn-Si-Sn', 'Ca-Y-Pu', 'U-Ta-Ti', 'Pr-Lu-V', 'Si-Bi-Sb', 'Li-Ce-V', 'Cu-Re-Bi', 'Ba-Ca-Sc', 'La-Lu-Nb', 'Zn-Cd-B', 'In-Ga-Si', 'Dy-Er-Th', 'Cr-Hg-Pb', 'Yb-Dy-Y', 'Eu-Y-Nb', 'Mn-Co-Au', 'Yb-Er-V', 'Nb-V-W', 'Yb-Nd-V', 'Yb-Th-Ti', 'K-Rb-Mg', 'Ce-Gd-Sc', 'Dy-Lu-W', 'V-Fe-Cu', 'Yb-Zr-Sc', 'La-Ce-Y', 'Ni-Pd-Ru', 'La-Pr-Gd', 'La-Ce-Pr', 'Eu-Th-Mo', 'Nd-Ho-Sc', 'Hf-Ti-Nb', 'Tb-Yb-Th', 'Tb-Pr-Ti', 'Er-Pu-Nb', 'Re-Hg-Ru', 'Ba-Yb-Mn', 'Lu-Zr-Nb', 'Nd-Y-Zr', 'Rb-Na-Li', 'Sm-Dy-Er', 'U-Nb-W', 'Ce-Lu-Zr', 'Pd-Rh-C', 'Tb-Ce-Sm', 'Eu-Cr-Mo', 'Y-Ti-Mo', 'Li-Ce-Lu', 'Yb-Gd-Pu', 'Cd-B-Pb', 'Th-Ti-Mo', 'Ba-La-Nd', 'Er-Lu-V', 'K-Rb-Cr', 'Cd-Fe-Bi', 'Al-Tl-Cd', 'Pr-Nd-Gd', 'Nd-Ho-Lu', 'Ce-Ho-Tm', 'La-Pu-Nb', 'Ge-Au-C', 'Ca-Y-Lu', 'Yb-Gd-Y', 'Na-V-Mo', 'Y-Ho-Th', 'Ba-Sr-Y', 'Tb-Dy-Lu', 'La-Gd-Dy', 'Y-Er-Mo', 'Ce-Sm-Pu', 'V-Pd-Ru', 'Li-Tb-Er', 'Yb-Pr-Ta', 'Yb-Gd-Er', 'Y-Ho-Cr', 'Pm-Cr-Mo', 'Eu-Th-Sc', 'La-Er-Ta', 'Ba-Y-Mo', 'Co-Hg-Ir', 'Lu-Pu-Ti', 'Y-Tm-Lu', 'Ba-Ca-Nd', 'K-Li-Mo', 'V-Hg-Bi', 'Tb-Gd-Ta', 'La-Pm-Lu', 'Ir-Ru-C', 'Ca-Y-Ti', 'Tb-Yb-Cr', 'Li-Sc-Mo', 'Er-Hf-Ti', 'La-Ta-W', 'La-Dy-Ti', 'Ce-Nd-Sc', 'Co-Pt-C', 'Tm-Lu-Ta', 'Na-Mg-V', 'Ce-Eu-Cr', 'Cs-Li-Mg', 'Gd-Pu-Mo', 'Re-Pd-Rh', 'Yb-Nd-Tm', 'Mg-U-V', 'Fe-Pd-Ru', 'K-Rb-Hf', 'Ba-Ca-V', 'Rb-Mg-V', 'La-Sm-Cr', 'Y-Cr-Mo', 'Cs-Ti-V', 'Tb-Th-Ti', 'Pm-Gd-Er', 'La-Er-Th', 'Tb-Gd-Sc', 'Ce-Pm-Lu', 'Pm-Sm-Pu', 'Hf-Sc-Ti', 'Y-Pu-Cr', 'Be-Zn-In', 'Yb-U-Ta', 'Nd-Y-Ta', 'Ce-Hf-Zr', 'Cs-K-Mo', 'Ag-Pd-C', 'Sm-Tm-Mo', 'Ho-Cr-Mo', 'Yb-U-Cr', 'Tb-Lu-Th', 'Yb-Th-Mo', 'Ca-Tb-Ce', 'Tb-Dy-Mo', 'Zn-Cd-Si', 'Pm-Pu-V', 'Yb-Nb-Mo', 'Hf-U-Ta', 'Li-Sm-Er', 'Li-Zr-Ti', 'Na-Ta-Cu', 'Pr-Er-Th', 'V-In-Mo', 'Er-Th-W', 'Pm-Dy-Th', 'Tb-Gd-Cr', 'Nd-Zr-Sc', 'Sr-Ca-Ti', 'Tm-Th-Cr', 'Gd-Sc-Cr', 'Li-Gd-Lu', 'Ag-Os-Rh', 'La-U-V', 'Th-Ta-V', 'Co-Pd-Pt', 'Ce-Ho-Sc', 'Cu-Re-Rh', 'Yb-Sc-Ti', 'Li-La-Nb', 'Cu-Ag-Au', 'Eu-Sc-Nb', 'Rb-Na-Hf', 'Co-Rh-Au', 'Tb-Ho-V', 'Ce-Gd-Er', 'Tb-Ce-Ti', 'Gd-Dy-Er', 'Zn-In-Ge', 'Ce-Nb-Mo', 'Y-Ho-Sc', 'Pm-Pr-Er', 'Li-Pr-Hf', 'Er-Lu-Cr', 'Li-Gd-Cr', 'Li-Gd-Mo', 'Yb-Lu-Th', 'Pu-Nb-W', 'La-Tb-Lu', 'Li-La-Tm', 'Cu-Ni-Ag', 'Yb-Pr-Th', 'La-Sc-W', 'Fe-Ag-C', 'Mg-Mn-Fe', 'Fe-Ag-Ru', 'Nd-Cr-Mo', 'La-Pr-Ti', 'Cr-Cu-Mo', 'Tb-Er-Sc', 'Li-Lu-Nb', 'Y-Lu-V', 'Lu-Ti-V', 'Sn-B-Pb', 'Li-Pr-Er', 'Re-Hg-Ir', 'Yb-Dy-Tm', 'Tb-Pm-V', 'Cs-K-Mg', 'Ni-Ir-Pt', 'Ca-Sc-Mo', 'Eu-Y-Th', 'Zr-Sc-Ti', 'Yb-Pu-W', 'K-Li-Zr', 'Yb-Pr-Gd', 'Y-Pu-Nb', 'Ce-Th-W', 'Ce-Y-Er', 'Nb-V-Bi', 'V-Cu-Bi', 'Y-U-Nb', 'Fe-Cu-Rh', 'Re-Pt-Rh', 'Pu-Ti-Mo', 'Re-Ir-Pt', 'Ca-Yb-Pu', 'Nd-Sm-V', 'Na-Sr-Ca', 'Ho-Pu-Ta', 'Ce-Ho-Cr', 'Ce-Zr-Nb', 'Pm-Th-V', 'La-Gd-Lu', 'Dy-Lu-Zr', 'Ta-Ti-W', 'Nd-Dy-Ho', 'Y-Ho-Ta', 'Sr-Y-Mo', 'La-Pr-Th', 'Cr-Cu-Bi', 'Pm-Lu-Mo', 'La-Pm-V', 'Sm-Er-Pu', 'Y-Pu-Mo', 'Ba-Sr-Ti', 'Ta-V-Cu', 'Ga-Hg-B', 'La-Pu-Cr', 'Nd-Pu-Ta', 'Li-Sc-Ta', 'Ca-Eu-Mn', 'Pr-Y-Er', 'Lu-Pu-W', 'Dy-Ti-Cr', 'Ce-Y-Tm', 'Na-Zr-Nb', 'La-Lu-Th', 'Tb-Nd-Er', 'Eu-Sc-Mo', 'Ca-Ce-Sc', 'Pr-Lu-W', 'Pm-Ho-Pu', 'Nd-Ta-Ti', 'La-Lu-V', 'Co-Pd-Au', 'Pr-Sm-Tm', 'Li-Mg-Mn', 'Lu-Cr-W', 'Eu-Hf-Th', 'Li-Gd-Pu', 'Er-Pu-Ta', 'Yb-Nd-Y', 'La-Eu-Mo', 'Gd-Ho-Pu', 'Cs-Li-Nb', 'La-Ho-Th', 'Rb-Zr-Nb', 'La-Pr-Mo', 'Nd-Gd-Ta', 'Th-U-Nb', 'Na-Mg-Cr', 'Ce-Sc-Nb', 'Eu-U-V', 'Na-Be-Al', 'Yb-Lu-Cr', 'Gd-Dy-Th', 'Pm-Sm-Mo', 'Cs-V-Mo', 'Pm-Pu-Cr', 'Gd-Y-Th', 'Cs-K-V', 'Tb-Yb-V', 'K-Ta-Mo', 'La-Yb-Mn', 'Rb-Li-Hf', 'Li-Gd-Er', 'La-Zr-Ti', 'Ce-U-Ti', 'Ba-Gd-Y', 'Ba-Y-Ti', 'Cu-Ni-C', 'Nd-Ti-V', 'Cd-Si-Pb', 'Nd-Tm-Pu', 'Tb-Er-Zr', 'Pr-Ho-Er', 'U-Cr-W', 'Nd-U-Cr', 'Fe-Pd-C', 'Na-Li-Fe', 'Ba-Ca-Yb', 'Sm-Er-Tm', 'Ca-La-Eu', 'Ca-La-Sc', 'Mn-Co-Pb', 'Nd-Sm-Tm', 'Tc-Pd-Pt', 'Cs-Ta-Ti', 'Ca-Eu-Mo', 'Li-La-Er', 'Ni-Ir-Ru', 'Fe-Ni-Rh', 'Pu-Nb-Mo', 'Yb-Y-Nb', 'Eu-Y-Hf', 'Re-Ni-Pd', 'Pm-Sm-Dy', 'Cu-Re-Ni', 'Lu-Nb-V', 'Tm-Lu-Cr', 'Ce-V-W', 'Ca-Ce-Lu', 'Ce-Sm-Gd', 'Re-Tc-Ni', 'Ag-Ru-Au', 'Mg-Cr-Fe', 'Ba-Ca-La', 'Ca-Yb-Tm', 'Ni-Os-Pt', 'Tl-Cd-Ge', 'Mg-Zr-Ti', 'Ba-Sc-V', 'Fe-Ru-Rh', 'Pr-Hf-Ta', 'Nd-Y-Er', 'Ho-Tm-Cr', 'Ce-Pu-V', 'Ce-Y-Ho', 'Eu-U-Cr', 'Tb-Sm-Dy', 'Ce-Pr-Ta', 'Sc-Ti-W', 'Sm-Dy-Y', 'Pm-Dy-Mo', 'Er-Lu-Ti', 'La-Gd-Th', 'La-Mn-V', 'Ba-Ti-Mo', 'Tb-Ce-Pr', 'Ag-Ru-Rh', 'Ba-Pr-Y', 'Yb-Dy-V', 'La-Pr-Sm', 'Li-Ta-Cu', 'La-Ho-Er', 'Tl-V-In', 'Tb-Ho-Tm', 'La-Y-W', 'Ru-Pt-Rh', 'Sm-Y-Lu', 'Tm-Lu-V', 'Ce-Er-Nb', 'Cr-W-Au', 'Yb-U-Ti', 'La-Eu-V', 'Pr-Nd-U', 'Li-Nb-Cu', 'Cu-Pt-W', 'Ni-Ag-Os', 'Yb-Hf-Zr', 'Li-Pm-Pr', 'Cs-Nb-V', 'Y-Ti-W', 'Fe-Ag-Os', 'Hf-Ta-Ti', 'La-Sm-Er', 'Er-Hf-Zr', 'Ir-Os-Rh', 'Dy-Ho-Er', 'Ba-Nd-V', 'Ag-Pd-Au', 'K-Rb-Nb', 'Pr-Sm-Lu', 'Nd-Dy-Th', 'Li-Pm-Tm', 'Ba-Yb-Nd', 'Tb-Pm-Er', 'La-Pm-Pu', 'Sm-Dy-Th', 'V-Cr-Fe', 'Tb-Pm-Pr', 'Ho-Pu-Mo', 'Ba-Yb-Eu', 'La-Sm-Mo', 'Li-Tb-Cr', 'Tb-Er-Ti', 'Na-Mg-Nb', 'Pr-Mo-W', 'Ce-Tm-Ta', 'Er-Ta-Nb', 'Gd-Ho-Th', 'Tb-Ho-Mo', 'Nd-Gd-Ho', 'Li-Pr-Sm', 'Cr-Ag-Au', 'Lu-Pu-Cr', 'Nb-Hg-Mo', 'Tb-Gd-Er', 'La-Yb-Pu', 'Fe-Ir-Ru', 'Sm-Tm-Pu', 'Th-Sc-W', 'Tb-Gd-Lu', 'Tb-Pm-Sm', 'Pr-Y-Ti', 'Er-Cr-W', 'Th-Sc-Ti', 'Y-Tm-Ta', 'La-Lu-Ta', 'Ga-Hg-Ge', 'U-Ti-V', 'Ce-Pr-Th', 'Ho-Th-W', 'Pm-Gd-Y', 'Li-Ho-Er', 'Cr-Fe-Ni', 'Rb-Ta-Mo', 'Ce-Pr-Tm', 'Li-Pr-Ho', 'Yb-Ta-Ti', 'La-Lu-Zr', 'Pm-V-Cr', 'Hg-Bi-Sb', 'Ce-Nb-V', 'K-V-Cr', 'Ca-Eu-Y', 'Y-Sc-V', 'Nd-Y-V', 'Ag-Ir-C', 'Ni-Ru-Rh', 'Li-Nd-Pu', 'Cs-Rb-Li', 'Na-Li-V', 'Gd-V-Cr', 'Co-Ag-Ir', 'B-Sb-Pb', 'Pr-Y-Tm', 'La-Zr-Nb', 'Tb-Pu-V', 'Re-Ni-Ir', 'Yb-Nb-W', 'Pm-Er-Pu', 'La-Y-Tm', 'Be-Si-Sn', 'Cr-Mo-W', 'Ce-Lu-Ta', 'Ce-Lu-Th', 'Li-Y-Ti', 'Tb-Ho-Lu', 'Tb-Sm-Th', 'Pm-Nd-Ho', 'Sc-U-V', 'Li-Nd-Ho', 'La-Nd-W', 'La-Yb-Pr', 'Ce-Er-Ta', 'Rb-Ti-Nb', 'La-Cr-Fe', 'Ce-Nd-V', 'Zr-Ta-Ti', 'Lu-V-W', 'Sm-Dy-Ho', 'Nd-U-V', 'Nd-Dy-Ta', 'Pm-Ho-Lu', 'Na-Ti-Mo', 'Pr-Er-V', 'La-Ti-Cr', 'Al-Ga-Pb', 'La-Pm-Dy', 'Sm-Lu-Pu', 'Gd-Er-Ta', 'Nd-Sm-Y', 'Tb-Pm-Nd', 'Al-Hg-Bi', 'V-Hg-Ru', 'Pm-Pr-Pu', 'Ce-Th-Nb', 'K-Hf-Ta', 'Pr-Dy-Ta', 'Li-Y-Cr', 'La-Er-Ti', 'Dy-Y-V', 'Lu-Pu-Ta', 'Nd-Tm-V', 'Pr-Lu-Ta', 'La-Pm-Gd', 'Tl-Cd-B', 'Yb-Y-Ta', 'Os-Pd-Ru', 'Sm-Dy-V', 'Pu-Np-Mo', 'Nb-V-Hg', 'Pr-Dy-Er', 'Nd-Tm-Th', 'Ho-Sc-Cr', 'Zr-Sc-Ta', 'Pm-Tm-Lu', 'V-Ag-Mo', 'Pr-Dy-Lu', 'Zn-Cd-Pb', 'Li-Sm-Pu', 'La-Tb-Pr', 'Cr-Ni-Ag', 'La-U-W', 'La-Ce-Nd', 'Yb-Lu-Ti', 'Yb-Tm-Lu', 'Na-Ca-Ti', 'Co-Hg-Pb', 'Pm-Pr-V', 'Be-Si-Ge', 'Sr-Y-Ti', 'Yb-Gd-Sc', 'V-Pd-W', 'Re-Ir-Os', 'Ce-Gd-Lu', 'Li-Ho-Pu', 'Be-Zn-Ga', 'Y-U-W', 'Ga-Hg-Bi', 'Ba-Pr-Gd', 'La-Tm-W', 'Li-Tb-Ce', 'Yb-Eu-Hf', 'Si-Ag-Pb', 'Ce-Cr-W', 'Gd-Mo-W', 'Th-Sc-Mo', 'Ag-Ir-Os', 'Cu-Re-Tc', 'Ce-Pm-Th', 'Ba-Fe-Ni', 'Ir-Os-Pd', 'Cr-Cu-Pb', 'La-Ce-Pm', 'Li-La-Y', 'Ca-Yb-Ti', 'Fe-Pd-Rh', 'Ce-Eu-W', 'Cs-Pr-Cr', 'Nb-Cu-W', 'Fe-Cu-Bi', 'Tb-Er-Mo', 'La-Th-Nb', 'Sm-Er-Lu', 'Yb-Ti-Nb', 'Al-Zn-Si', 'Yb-Ho-Zr', 'Cs-K-Li', 'Pr-Hf-Ti', 'Fe-Co-Bi', 'Tb-Pm-Cr', 'Lu-Th-Ti', 'Y-Ho-W', 'Li-Ce-Pr', 'Sm-Y-V', 'Ni-Pd-C', 'Sc-Ta-Ti', 'Zn-In-Si', 'Y-Lu-Th', 'Ce-Eu-Mo', 'Yb-Gd-Cr', 'Tb-Tm-Cr', 'Yb-Th-Ta', 'Tb-V-W', 'Ta-Tl-Cu', 'Hg-Mo-Pb', 'Sm-Er-Th', 'Co-Re-Rh', 'Co-Ag-Rh', 'La-Tm-Cr', 'Hf-Zr-Sc', 'Fe-Ni-Ru', 'Nb-Mo-W', 'Gd-Th-Sc', 'Pd-Pt-C', 'Pm-Dy-Er', 'Co-Ni-Ag', 'Gd-Dy-Tm', 'Tm-Pu-V', 'Nd-Dy-Lu', 'Dy-Er-Zr', 'Tb-Er-V', 'Nd-Tm-Ta', 'Sm-Er-Mo', 'Li-La-Zr', 'Th-Nb-W', 'Tb-Ce-Sc', 'Gd-Ho-Sc', 'Pr-Dy-Cr', 'Hf-Zr-Nb', 'Ca-Pu-Mo', 'Ti-Nb-W', 'Co-Ir-C', 'Ba-Sr-Nd', 'Ba-Yb-Mo', 'Yb-Th-Nb', 'Li-Nd-Ta', 'Ce-Er-V', 'Co-Re-Ag', 'Yb-Er-Lu', 'Re-Pd-Pt', 'Ni-Pd-Au', 'Ho-Sc-Ta', 'Cr-Fe-Au', 'Tb-Sm-Er', 'Ce-Gd-Pu', 'Li-Ce-Pm', 'Nd-Y-Ti', 'Li-Nd-Y', 'Nd-Y-Tm', 'La-Ho-Pu', 'La-Ce-Zr', 'La-Ti-W', 'Ag-Os-Ru', 'Pt-W-Au', 'Cu-Bi-Os', 'Pr-Nd-Ti', 'Fe-Co-Os', 'Li-Nb-V', 'Y-Sc-Cr', 'Be-Si-Bi', 'Li-Hf-Ta', 'Th-V-Cr', 'Ho-Mo-W', 'Pm-Y-Cr', 'Th-Zr-Ti', 'Gd-Ho-V', 'Yb-Pu-V', 'Tm-Ti-W', 'Cs-Mg-Ti', 'La-Gd-Mo', 'Li-Nd-Sc', 'Co-Ag-Pd', 'Ba-V-Mo', 'Pr-Gd-W', 'Ce-U-V', 'Tb-Dy-Ho', 'Sr-Ca-Sc', 'Nd-Sc-U', 'Li-Y-Ta', 'Y-Th-Cr', 'Cr-Cu-Ag', 'Fe-Os-Pd', 'Pm-Sm-Cr', 'Cu-Pb-W', 'Nd-Ho-Th', 'Pm-Nd-V', 'Ce-Nd-Lu', 'Fe-Ni-Pb', 'U-V-W', 'Nd-Ta-V', 'Dy-Pu-Zr', 'Ce-Pu-Nb', 'La-Ce-Ta', 'Tm-Lu-Th', 'La-Ho-Cr', 'Ba-La-Fe', 'Tm-Ti-Cr', 'Eu-Y-Pu', 'Yb-Y-Hf', 'La-Yb-Mo', 'Hf-Th-Nb', 'Nd-Sm-Pu', 'Na-Hf-Mg', 'Fe-Ag-Au', 'Li-Pu-Nb', 'Pr-Sm-Pu', 'Tb-Er-Lu', 'Sm-Gd-Er', 'Co-Cu-Au', 'Re-Ag-Os', 'Ru-Rh-Au', 'Mn-Tl-Ni', 'Pr-Er-Ta', 'La-Cr-Mo', 'Dy-Pu-Ta', 'Ta-In-Mo', 'Be-In-Ge', 'Y-Lu-Cr', 'Cd-Bi-Mo', 'Yb-Dy-Mo', 'Na-Hf-Ti', 'Ba-Nd-Gd', 'Ca-Mn-Co', 'Li-Nd-Zr', 'Co-Os-Pt', 'Co-Ru-Pt', 'Yb-Pu-Ta', 'K-Ta-Nb', 'Tb-Yb-Ta', 'Tb-Yb-Pr', 'Sc-Ti-Mo', 'Fe-Co-Ir', 'Fe-Cu-Ag', 'Hf-Th-Ti', 'Tb-Y-Sc', 'Hg-Ge-Pb', 'K-Nb-V', 'Li-La-Ta', 'Er-Th-Zr', 'K-Zr-Ta', 'Ce-Y-U', 'Gd-Lu-Mo', 'Li-Tb-Tm', 'Fe-Cu-Ni', 'Cu-Os-Pd', 'Tb-Tm-Th', 'Pr-Tm-V', 'Li-Y-Nb', 'Dy-Ho-Th', 'Na-Cu-Mo', 'Yb-Eu-Cr', 'Li-Ti-Cr', 'Cs-Hf-Ta', 'Co-Cu-Pt', 'Rb-Ti-Mo', 'Al-Ga-Bi', 'V-Cr-W', 'Pm-Gd-Lu', 'Li-La-Pu', 'Ce-Ho-Er', 'Ce-Hf-Nb', 'Ag-Rh-Au', 'Ce-Pu-Mo', 'Bi-B-Sb', 'Ho-Er-Zr', 'La-Ta-V', 'Tb-Dy-Tm', 'Pm-Lu-V', 'Tb-Tm-Mo', 'Zn-Cd-Bi', 'Ce-Nb-W', 'Sm-Tm-V', 'Th-U-W', 'Tb-Nd-V', 'Pr-Sm-Y', 'La-Pr-Lu', 'Ho-Sc-V', 'Ag-Bi-Os', 'Li-Tb-Nd', 'Sr-Y-Sc', 'Co-Re-Ni', 'Y-Tm-V', 'Ce-V-Mo', 'Pm-Tm-Th', 'Sm-Dy-Mo', 'Pd-Ru-Rh', 'Hg-Bi-Os', 'Sc-U-Nb', 'Yb-Pr-Pu', 'Al-Tl-In', 'Ho-Pu-V', 'Rb-Zr-Ti', 'Tm-Ti-Mo', 'Pr-Sm-Gd', 'Gd-Tm-Ta', 'Mn-V-Ag', 'Cr-Cd-Bi', 'Tb-Ta-W', 'V-Ag-Bi', 'La-Ho-Lu', 'La-Dy-Er', 'Li-Gd-Tm', 'Y-Er-V', 'Li-Sc-Ti', 'Np-Cr-Mo', 'Ag-Mo-Pb', 'Co-Hg-Bi', 'Mn-Tl-V', 'Eu-Y-Zr', 'Cu-Ir-Os', 'Tb-Gd-Ti', 'Pr-Hf-Th', 'Tb-Ce-Cr', 'Ag-Ir-Rh', 'Tl-Zn-In', 'Li-Sm-Cr', 'Nd-Sm-Lu', 'Re-Ni-Rh', 'Yb-Zr-Ti', 'La-Dy-V', 'Mn-Ru-Au', 'Dy-Tm-Th', 'Pr-Nd-V', 'Sm-Ho-Th', 'Eu-Nb-Mo', 'Y-Er-Ta', 'Ce-U-W', 'Sn-Ge-B', 'Nd-Ti-Mo', 'Hf-Sc-U', 'Tl-Ga-Ge', 'Tm-Ta-Mo', 'Fe-Ru-Au', 'Ho-Er-Sc', 'Yb-Th-W', 'Nd-Er-Mo', 'Cs-Rb-Ta', 'Lu-Zr-Ti', 'Zn-Ga-Ge', 'Pr-Pu-Mo', 'La-Eu-Pu', 'Yb-U-W', 'Yb-Gd-Th', 'Tl-Ge-Pb', 'Tb-Ce-Tm', 'Gd-Lu-W', 'La-Dy-Mo', 'Co-Re-Pt', 'Yb-Sc-Cr', 'Al-Zn-Ge', 'Tl-Ni-Pb', 'K-Rb-Ti', 'Y-Th-U', 'Pm-Y-Er', 'Ce-Sm-W', 'La-Ho-V', 'Ce-Y-W', 'Na-Ta-Mo', 'Tb-Ce-Er', 'Sm-Gd-V', 'Cs-Li-Cr', 'Pr-Pu-Ti', 'Dy-Zr-Ta', 'Ca-Fe-Co', 'Lu-Ta-W', 'Al-Ga-Si', 'Pr-Th-Ta', 'Na-Li-Hf', 'Ir-Ru-Rh', 'Fe-Ru-C', 'Ho-V-Mo', 'Lu-Th-Mo', 'Pu-Ta-V', 'Lu-Th-Cr', 'Ca-Tm-V', 'La-Dy-Cr', 'Ce-Sc-Cr', 'Li-La-Sm', 'Mn-V-Cu', 'Ni-Ag-C', 'Li-Tb-Sm', 'Cs-Ta-Mo', 'Li-Ho-Mo', 'Cs-Pr-Hf', 'Hf-Zr-Ti', 'Sm-Th-U', 'Pr-Er-Mo', 'Yb-Dy-Ta', 'Tb-Gd-Dy', 'La-Yb-U', 'Mn-Tl-Cu', 'Yb-Pr-Ho', 'La-Y-Ho', 'Ce-Pr-Ti', 'La-Nd-Th', 'Ce-Y-Nb', 'Ca-Lu-V', 'Tb-Pr-V', 'Dy-Er-Pu', 'Ni-Pt-Rh', 'Ni-Rh-C', 'Hf-Mg-U', 'Ca-Tm-Pu', 'Al-Hg-Ge', 'Nd-Ho-Mo', 'Li-Sm-Ta', 'Pm-Ho-Tm', 'Ca-Yb-Sc', 'Co-Cu-Pb', 'Li-Tm-Lu', 'Er-Sc-Mo', 'Sr-Mn-V', 'Pr-Gd-Cr', 'Na-Li-Cr', 'Na-V-Cu', 'Na-Zr-Ti', 'Pd-W-Au', 'Li-Gd-Ta', 'Li-Lu-Zr', 'Rb-Li-Mg', 'Co-Hg-Ru', 'Dy-Y-Ta', 'La-Nd-Tm', 'Al-Sn-Pb', 'Na-Zr-Ta', 'Er-Tm-Ti', 'Sr-Ca-Nd', 'Rb-Ti-V', 'Y-Nb-V', 'Tb-Nd-Sc', 'Rb-Na-Zr', 'Cd-Ga-Si', 'Ca-Tb-Yb', 'Sn-Ge-Pb', 'Yb-Gd-Zr', 'Y-Ho-Lu', 'Yb-Y-Cr', 'Ce-Gd-Ho', 'Ba-Sm-Gd', 'Cr-Cd-Fe', 'La-Y-Mo', 'Ba-Mn-Ni', 'Gd-Pu-Cr', 'Tb-Th-W', 'Ba-Mn-V', 'Cu-Ni-Pt', 'Lu-Ti-Cr', 'Pr-Gd-Pu', 'Er-Ti-Nb', 'La-Nd-V', 'Mn-Co-Ru', 'Yb-Eu-Pu', 'Li-Pm-Ho', 'La-Sm-Lu', 'La-Eu-Nb', 'Sn-Ge-Bi', 'La-Er-V', 'Yb-Pr-Cr', 'Ce-Lu-V', 'Rb-Nb-Mo', 'Tl-Ag-Ge', 'Gd-Lu-Th', 'Y-Er-Lu', 'Tb-Lu-V', 'Fe-Ir-Os', 'Hg-Os-Ru', 'Ba-Yb-Y', 'Nd-Y-Mo', 'Ce-Sm-Tm', 'Ba-Pr-V', 'La-Pr-Dy', 'Rb-V-Mo', 'Ba-Ca-Pm', 'La-Tm-Pu', 'Lu-Th-Nb', 'Al-Ge-Bi', 'Li-Y-Lu', 'K-Mg-Zr', 'Hg-Ir-Ru', 'Nd-Th-Mo', 'Cs-Ta-Nb', 'Cu-Pd-W', 'Yb-Dy-Cr', 'Dy-Th-Cr', 'Hg-Ge-Bi', 'Cu-Ni-Pd', 'Y-Ti-V', 'Sm-Ho-V', 'Dy-Y-W', 'Tb-Nd-Ho', 'Ta-Ti-Mo', 'Tm-Lu-Ti', 'Li-Tm-V', 'Nd-Gd-Tm', 'Na-Cr-Fe', 'Li-Cr-Mo', 'Tb-Pm-Mo', 'Lu-Mo-W', 'Th-Ta-Ti', 'Cd-Ge-B', 'Th-Ti-Nb', 'Yb-Mo-W', 'Nd-Lu-W', 'Al-Cd-Pb', 'Tb-Nd-Th', 'Ag-Os-Pd', 'Yb-Cr-W', 'Ce-Zr-Sc', 'Co-Hg-Os', 'Ba-Sr-V', 'Nd-Y-Cr', 'Tb-Tm-Ta', 'Tb-Er-Th', 'Re-Ni-Ru', 'Y-U-Ti', 'Yb-Gd-Lu', 'Sc-Ti-Nb', 'Ce-Sm-Th', 'Pr-Gd-Ti', 'Nd-Y-Lu', 'Dy-Y-Cr', 'Ca-La-Pu', 'Ce-Lu-Nb', 'Cu-Ru-Rh', 'Si-Sn-Pb', 'Cu-Re-Ag', 'Ga-Ge-Bi', 'La-Eu-Th', 'Tb-Ce-Nd', 'Yb-Pr-Lu', 'K-Ti-Nb', 'K-V-Fe', 'Lu-Pu-Mo', 'Pm-Er-Cr', 'Pr-Sm-V', 'Al-Si-Pb', 'Sm-Gd-Th', 'Ni-Ir-Os', 'Cu-Re-Ir', 'Tl-Ge-B', 'Ba-Pm-Gd', 'Yb-Er-Pu', 'Fe-Bi-Os', 'Yb-Lu-W', 'Cs-Pr-V', 'Ca-Tb-Nd', 'Li-Ho-Lu', 'Tb-Er-Ta', 'Ca-La-Mo', 'Gd-Zr-Ti', 'Gd-Ho-Tm', 'Nd-Lu-Pu', 'Tb-Yb-Zr', 'La-U-Cr', 'Pm-Th-Cr', 'Ba-Ca-Eu', 'La-Ce-V', 'U-Nb-V', 'Ca-Ce-Pm', 'Ho-Er-Lu', 'Y-Er-Th', 'Gd-Tm-Pu', 'Yb-Tm-Ta', 'La-Eu-W', 'Rb-Hf-Ti', 'Li-Er-Ti', 'Pm-Er-Lu', 'Li-Hf-Sc', 'Sr-V-Fe', 'Pm-Tm-Mo', 'Er-Th-Cr', 'Ca-Lu-Ti', 'Li-Y-Tm', 'Ba-Ca-Ti', 'Tb-Pm-Dy', 'Sm-U-Cr', 'Ce-Eu-Ta', 'Nd-Y-Th', 'Fe-Co-Ru', 'Gd-Y-Ho', 'Cs-Mg-Nb', 'Ho-Th-V', 'Y-Th-Ti', 'Li-La-Lu', 'Li-Ta-Ti', 'Ce-Th-Sc', 'Li-Ti-Nb', 'Yb-Ho-Tm', 'K-Rb-Li', 'Er-Hf-Th', 'Cu-Tc-Mo', 'Ni-Rh-Au', 'Ni-Ag-Pd', 'Cr-Fe-Bi', 'Y-Sc-Ta', 'Tb-Nd-Lu', 'Dy-Er-Tm', 'Rb-Hf-Ta', 'Li-Tb-Lu', 'Sm-Gd-Y', 'Ir-Pd-Ru', 'Pm-Nd-Pu', 'Ba-Pm-Y', 'Y-Hf-Ti', 'Nd-Gd-Zr', 'Th-U-Ti', 'K-Mg-Fe', 'Ni-Pt-C', 'Cu-Pd-Ru', 'Gd-V-Mo', 'Co-Ag-Bi', 'Li-Ce-Cr', 'Tm-Th-Ta', 'Pm-Dy-V', 'Er-Sc-Ta', 'Sm-Th-Nb', 'Yb-Mn-V', 'K-V-Mo', 'Dy-Tm-Lu', 'La-Tb-W', 'Yb-Nd-Th', 'Y-Ho-Zr', 'Yb-Pu-Nb', 'Ce-Pr-Sm', 'Co-Re-Pd', 'Ce-Pu-Cr', 'Ag-Mo-Au', 'Ca-V-Mo', 'Tl-Cu-Ag', 'Tb-Lu-Cr', 'Be-Sn-Ge', 'Y-Er-Tm', 'Nd-Dy-Pu', 'Nd-Ho-Er', 'Be-Zn-Si', 'La-Pr-Cr', 'In-Ga-Ge', 'Li-Fe-Ni', 'Ni-Ru-C', 'Gd-Sc-W', 'Gd-Cr-Mo', 'Er-Tm-Ta', 'Cu-Mo-W', 'Pm-Ho-Mo', 'Hf-Th-Ta', 'Sc-Mo-W', 'Cr-Cd-Mo', 'U-Ta-Nb', 'Tb-Th-Cr', 'Co-Cu-Ag', 'Zn-Sn-B', 'Pm-Lu-Cr', 'Ba-Eu-Mo', 'Er-Lu-Pu', 'Ni-Ir-Rh', 'Li-Mn-Cu', 'Mg-U-Ti', 'Gd-Ti-W', 'Co-Ni-Pd', 'Yb-Er-Zr', 'Yb-Ho-Mo', 'Cu-Ir-C', 'Nd-Er-Th', 'U-Ti-Nb', 'Sm-Lu-Ta', 'Mn-Ag-Au', 'Pm-Th-Mo', 'Er-Lu-Zr', 'Nd-Tm-Lu', 'Sc-Ta-W', 'Dy-Er-Ta', 'Eu-Pu-V', 'Y-Th-Nb', 'Eu-Mo-W', 'Nd-Gd-Dy', 'Cs-Ti-Nb', 'La-Nd-Er', 'Nd-V-Cr', 'Zn-Si-Pb', 'Mg-Cd-Fe', 'Re-Ag-Pd', 'Sr-V-Mo', 'Fe-Ag-Bi', 'V-Cu-Ru', 'Sm-U-Ta', 'Ce-Pu-Ti', 'Na-Fe-Cu', 'Li-Sm-Ho', 'Yb-Ho-V', 'La-Yb-Zr', 'Li-Pu-V', 'Tm-V-Cr', 'Ta-Cu-W', 'Tb-Pm-Lu', 'Ni-Ag-Rh', 'Pm-Y-Pu', 'Pu-Zr-Ta', 'Eu-Pu-Zr', 'Th-Zr-Nb', 'K-Rb-Zr', 'Sm-Lu-Cr', 'Mg-Cd-Mo', 'Tb-Pr-Ho', 'Ce-Eu-U', 'La-Nd-Pu', 'Ru-Pt-C', 'La-Lu-Pu', 'Pm-Tm-V', 'Yb-Th-U', 'Ce-Pm-Ho', 'Co-Ni-Au', 'Si-Sn-Ge', 'Er-Th-Ti', 'Os-Pd-Rh', 'Hf-Mg-Zr', 'Mo-W-Au', 'Sm-Gd-Lu', 'Ca-Tb-Lu', 'Ho-Lu-W', 'Fe-Co-Rh', 'La-Sm-Dy', 'Be-Al-Bi', 'Er-Tm-Pu', 'Sn-Bi-B', 'Nd-Ta-Mo', 'Eu-Th-Cr', 'La-Nd-Sm', 'Pm-Nd-Cr', 'Dy-Th-Zr', 'Pm-Er-Tm', 'Tl-Zn-Ga', 'Y-Pu-W', 'Ba-Pm-Nd', 'Ce-Pr-Y', 'V-Cr-Mo', 'Ce-Th-Cr', 'Yb-Dy-Er', 'La-Er-Sc', 'Li-Mg-Cr', 'Y-Lu-Mo', 'Sm-Y-Nb', 'Ce-Eu-Hf', 'Ag-Ge-C', 'Sm-Ho-Cr', 'Na-Li-Cu', 'Tb-Yb-Sc', 'Pr-Gd-Ho', 'Dy-Y-Mo', 'Er-Pu-Cr', 'Na-Li-Nb', 'Pm-Nd-Er', 'La-Ce-Sm', 'Dy-Y-Ti', 'Ca-Nd-Mo', 'Nd-Sm-Er', 'Yb-Nd-Er', 'Li-Nb-Mo', 'Ca-Ce-Mo', 'Cs-Li-Pr', 'Y-Zr-Ta', 'Sm-Dy-Cr', 'Ho-Tm-Th', 'Dy-Y-Tm', 'Pu-Cr-Mo', 'Ce-Sc-V', 'Sm-U-V', 'La-Sm-Gd', 'Yb-Nd-U', 'Pr-Dy-Ho', 'Ho-Er-V', 'Lu-Th-Zr', 'Yb-Nd-Sc', 'Rb-Ta-Nb', 'Gd-Er-Lu', 'Ho-Sc-Mo', 'Tc-Pd-Rh', 'Ce-Tm-Th', 'Cu-Pt-Rh', 'La-Ho-Tm', 'Sm-Ho-Er', 'La-Gd-Cr', 'Al-Zn-Cd', 'Cs-Pr-Ta', 'Pm-Pr-Nd', 'Os-Pt-Rh', 'Er-Mo-W', 'Gd-Dy-Ho', 'Tb-Er-Tm', 'Ce-Nd-Sm', 'Be-Al-Ga', 'Cu-Tc-Ni', 'Nd-Pu-Mo', 'Ca-La-Tb', 'Be-Zn-Bi', 'Cu-Rh-Au', 'Lu-Pu-Nb', 'Pr-Nd-Th', 'Rb-Na-Mo', 'Yb-Pr-Nd', 'Ce-Pr-V', 'Hf-Mg-Nb', 'Tb-Th-Mo', 'Co-Ag-Os', 'Li-Tb-Ti', 'Yb-Tm-Ti', 'Yb-Y-Th', 'Yb-Ta-V', 'Sc-Ta-V', 'La-Lu-Ti', 'Ca-Ce-Pu', 'Ce-Ho-Ta', 'La-U-Ti', 'Pu-Ta-Mo', 'Yb-Y-Tm', 'Er-Zr-Ti', 'U-Cr-Ag', 'Dy-Tm-V', 'Si-Ag-Bi', 'Tb-Y-V', 'Pr-Gd-Tm', 'Ce-Er-Th', 'Tl-Cu-B', 'Ho-Sc-W', 'Li-Mg-Nb', 'Y-Lu-W', 'Sc-V-Cr', 'Cu-Bi-B', 'Tl-Zn-B', 'Nd-Ho-V', 'Ni-Pt-Au', 'Sm-Er-Cr', 'Li-Lu-Pu', 'Yb-Y-Mo', 'Ce-Th-Zr', 'Pr-Lu-Cr', 'Ir-Os-Ru', 'Er-Cr-Mo', 'Tb-Sm-V', 'Dy-Ti-W', 'Nb-Tl-Mo', 'La-Lu-Mo', 'Ag-Pd-Rh', 'Hf-Sc-Ta', 'Re-Os-Pt', 'La-Th-W', 'Pm-Y-Th', 'Y-Hf-Ta', 'Pr-Y-Ta', 'Na-Hf-Zr', 'Tl-V-Cu', 'Gd-Y-Pu', 'Li-Pu-Cr', 'Pr-Sm-Dy', 'Ce-Gd-Ti', 'Mn-Fe-Ag', 'Y-Th-W', 'Ba-Eu-V', 'Ce-Ho-Zr', 'Gd-Zr-Sc', 'Ce-Y-Zr', 'Mn-Ni-Pb', 'Tb-Pr-Er', 'Nd-Lu-Cr', 'Nb-Cu-Bi', 'Li-Ho-V', 'Li-Sm-Tm', 'Al-Ge-Pb', 'Tb-Pu-Ti', 'Tb-Ta-Mo', 'Nd-Sc-Ta', 'Sr-Sc-V', 'Er-Pu-Ti', 'Mg-Nb-Mo', 'Dy-Pu-V', 'Gd-Tm-Ti', 'Na-Li-Be', 'Sm-Ta-V', 'La-Pr-Y', 'Ce-Ti-Nb', 'Ce-Er-Lu', 'Er-Lu-W', 'Lu-Pu-V', 'Fe-Ir-C', 'Li-Y-V', 'Pm-Pr-Ho', 'Th-Sc-Cr', 'Tl-In-Ge', 'Tm-Pu-Ta', 'Tc-Ni-Rh', 'La-Yb-Y', 'Li-Pr-Ti', 'Sr-Nd-Ti', 'Ce-Sc-W', 'La-Th-V', 'Li-Ce-Zr', 'Ba-La-V', 'La-Y-Lu', 'Ce-Pr-Hf', 'Cs-K-Hf', 'Sm-Gd-Pu', 'Li-Ta-V', 'La-Yb-Lu', 'La-Dy-Zr', 'Y-Pu-Ta', 'Th-Zr-Ta', 'Ho-Tm-Lu', 'Ce-Lu-Cr', 'Tb-Mo-W', 'La-Pu-Ta', 'La-Pr-Tm', 'Cs-Ti-Mo', 'Bi-Sb-P', 'Mn-Cu-Au', 'Mg-Ti-Cr', 'Er-Th-Ta', 'Th-Ti-Cr', 'Cr-Cu-Ni', 'Er-Nb-W', 'Tb-Tm-Lu', 'Li-La-Pr', 'Ce-U-Ta', 'Tc-Ni-Ir', 'Pr-Ho-W', 'Li-Cr-Fe', 'La-Sm-W', 'Fe-Cu-Ir', 'Co-Cu-C', 'Nb-Tl-V', 'Co-Pt-Rh', 'Ce-Er-Zr', 'Re-Ir-Rh', 'Lu-Pu-Zr', 'Eu-Nb-V', 'Ce-Sc-Ta', 'Ir-Pd-Pt', 'Hg-Ir-Os', 'Y-Sc-Mo', 'La-Th-Zr', 'Tl-V-Mo', 'Co-Cu-Os', 'Pm-Y-Mo', 'Ce-Pr-Pu', 'Tb-Pr-Mo', 'Yb-Th-V', 'Pm-Dy-Ho', 'Co-Ru-Au', 'Tb-Yb-Y', 'Gd-Y-Sc', 'Dy-Ho-Zr', 'La-Ta-Nb', 'La-Tm-Ta', 'U-Ti-Cr', 'La-Pm-Y', 'Cs-K-Nb', 'Tb-Nd-Zr', 'Nd-Th-Ta', 'Li-Lu-V', 'Sm-V-Mo', 'La-Nd-Mo', 'Gd-Zr-Ta', 'Ce-Nd-Tm', 'Tb-Yb-Gd', 'Ce-Th-V', 'Pr-U-Ti', 'La-Er-Cr', 'Dy-Y-Pu', 'Li-Pr-Y', 'Ce-Er-Mo', 'Dy-Y-Th', 'Er-Sc-Nb', 'La-Nb-Mo', 'Ca-Ce-Tm', 'Eu-U-Nb', 'La-Sc-U', 'Li-Ce-Er', 'La-Dy-Tm', 'Lu-Ta-Mo', 'Gd-Y-Zr', 'Li-Ce-Mn', 'Cr-Cd-Pb', 'La-Tm-Ti', 'Rb-Mg-Cr', 'Tb-Gd-Pu', 'Eu-Sc-V', 'Co-Ag-Au', 'La-Tb-Ta', 'Rb-Mg-Ti', 'Cu-Ir-Pt', 'Rb-Hf-Nb', 'Gd-Ta-Ti', 'Er-Pu-W', 'V-Cu-Pd', 'Dy-Pu-W', 'Sc-Ti-V', 'Tb-Gd-Zr', 'Li-Tb-V', 'Er-Ta-Mo', 'V-Cr-Hg', 'La-Y-Ti', 'Ta-Cu-Mo', 'Ta-Nb-Bi', 'Nd-Sm-Ta', 'V-Fe-Ag', 'Yb-Eu-Nb', 'La-Nb-V', 'Pd-Au-C', 'Sc-Cr-W', 'Mn-Co-Cu', 'Yb-Nd-Mo', 'Sm-Er-V', 'Ce-Pr-U', 'Ag-Ir-Pd', 'Nd-Ti-Cr', 'Li-Y-Zr', 'La-Ce-U', 'Al-Si-Sn', 'La-Eu-Cr', 'In-Si-Ge', 'V-Cr-Cu', 'Al-Sn-Ge', 'Ba-Mn-Fe', 'Th-Ti-V', 'Cs-Li-Mo', 'Ca-Pu-Ti', 'Al-Si-Bi', 'Li-Mg-Fe', 'Yb-U-V', 'Mn-Tl-Cd', 'Fe-Ir-Rh', 'Tb-Nd-Pu', 'Nd-Er-Zr', 'Ba-Sr-Ca', 'La-Eu-Y', 'Sm-Ho-Lu', 'Y-Ho-Tm', 'Tc-Ir-Pd', 'Cs-Hf-Nb', 'Gd-Ti-Mo', 'Dy-Tm-Mo', 'La-Pm-Th', 'Yb-Pu-Zr', 'Ce-U-Nb', 'Ir-Os-Pt', 'Ce-Sm-Ho', 'Tb-Y-Ta', 'Pm-Y-V', 'Pr-Th-Cr', 'Tb-Ce-W', 'Hg-Bi-B', 'Tb-Ce-V', 'Pr-Y-Ho', 'Cu-Ni-Rh', 'Fe-Co-Pb', 'Pr-Tm-Pu', 'Zn-Sn-Ge', 'Yb-Eu-Y', 'Cd-Fe-Pb', 'La-Gd-Sc', 'Ga-Bi-B', 'Sm-Gd-Tm', 'Co-Pt-Au', 'Ce-Er-Hf', 'Tb-Ce-Y', 'Sr-Ti-Mo', 'Cr-Fe-Cu', 'Yb-Hf-U', 'Eu-Hf-Ta', 'Zn-Ge-B', 'Ca-Sc-V', 'Nd-Sm-Cr', 'Ce-Tm-Ti', 'Na-Ca-Mo', 'Tl-Cd-Si', 'Nd-Lu-V', 'Li-Sc-V', 'Pr-Dy-Th', 'Pr-Th-W', 'Co-Cu-Pd', 'Tb-Pu-W', 'Li-Ti-Mo', 'Pm-Y-Lu', 'La-Y-Th', 'Pr-Sm-Er', 'Pr-Ho-Mo', 'Yb-Gd-Ta', 'Gd-Er-Pu', 'Ho-V-W', 'Yb-Dy-Th', 'Li-Mg-Ti', 'Yb-Er-Tm', 'Lu-Ti-Nb', 'Ca-Nd-Tm', 'Tb-Ce-Th', 'Dy-Ta-Mo', 'Sr-Ca-Mo', 'Tb-Ti-Mo', 'Pr-Y-V', 'Yb-Pr-Ti', 'Cd-Ga-Pb', 'Tb-Th-Zr', 'La-Ce-Lu', 'Sm-Pu-Mo', 'Li-Sm-V', 'Ba-Yb-Pr', 'Gd-Ho-Ta', 'Eu-Pu-Cr', 'La-Er-Pu', 'Pm-Lu-Pu', 'Ce-Pr-W', 'U-V-Ag', 'Cs-Li-V', 'Yb-Y-Ho', 'La-Th-Cr', 'Tb-Sc-Cr', 'Eu-Ta-W', 'Cs-Rb-Zr', 'Pm-Gd-Mo', 'Sr-Ti-V', 'Cu-Ru-Au', 'La-Sm-Pu', 'La-U-Nb', 'Pr-Gd-Th', 'Er-V-Mo', 'Ho-Lu-Cr', 'Yb-Er-Ta', 'Y-Lu-Zr', 'Cr-Ag-Bi', 'Sm-V-W', 'Li-Y-Er', 'Gd-Ho-Cr', 'Sc-U-Ti', 'Rb-Mg-Nb', 'Th-Ta-W', 'K-Hf-Zr', 'Ho-Lu-Ta', 'Ba-Nd-Sm', 'Rb-Na-Nb', 'Ce-Sm-Nb', 'Pr-Cr-Mo', 'Ba-Pr-Mo', 'Li-Nd-Tm', 'Re-Os-Ru', 'Eu-Cr-W', 'Nd-Er-Ti', 'Cs-Rb-Mo', 'Tb-Pm-Tm', 'Cs-K-Ti', 'Na-Sr-V', 'La-Ce-Eu', 'La-Gd-Pu', 'Tb-Lu-Pu', 'Th-U-V', 'Li-Zr-Ta', 'Lu-Th-W', 'Tb-Nd-Sm', 'Nb-Bi-Mo', 'Cd-Si-Bi', 'Sm-Ho-Tm', 'Be-In-Si', 'Sr-Ca-Fe', 'Pd-Pt-Au', 'Pm-Pr-Mo', 'La-V-Cr', 'Ce-Gd-Tm', 'La-Ce-Mn', 'La-Th-U', 'K-Li-Hf', 'Ho-Er-Tm', 'Nd-Gd-Lu', 'Ce-Sm-Cr', 'Nd-Dy-Cr', 'Tb-Lu-Zr', 'Er-Pu-Zr', 'Sm-Cr-Mo', 'Pm-Sm-Tm', 'Sc-U-Ta', 'Cs-Cr-Mo', 'Yb-Hf-Ta', 'Pr-Th-V', 'Zn-Ga-Pb', 'Yb-Nd-Ta', 'Er-Zr-Nb', 'Pm-Sm-Lu', 'Mn-Cd-Fe', 'Ba-La-Gd', 'La-Tb-Gd', 'Yb-Nd-Ho', 'Pr-Y-W', 'Er-Ta-Ti', 'Co-Re-Os', 'Co-Ni-Os', 'La-Ce-Ti', 'Sm-Y-Er', 'Pm-Sm-V', 'Yb-Y-Pu', 'Hf-Mg-Ti', 'Pr-Ho-Th', 'Pm-Pr-Dy', 'Pm-Sm-Gd', 'K-Mg-Mo', 'V-In-Fe', 'Yb-Ta-Nb', 'Li-Tb-Sc', 'Y-Th-V', 'Th-Cr-Mo', 'Ba-Eu-Y', 'Ce-Sm-V', 'Pr-Lu-Th', 'Ba-Ca-Fe', 'Ge-Bi-B', 'Ce-Th-Ti', 'Rb-Zr-Ta', 'Yb-Pr-Hf', 'Si-Ge-Au', 'Li-Er-Sc', 'Ba-La-Sm', 'Er-Zr-Ta', 'Ce-Pr-Gd', 'Y-Ta-Ti', 'Na-Ta-Ti', 'Yb-Tm-V', 'Tb-Pm-Th', 'Sm-Pu-W', 'Pr-Tm-Th', 'Ba-Sc-Mo', 'Ag-Bi-Mo', 'Nb-Cu-Mo', 'Tb-Ho-Zr', 'Pm-Sm-Ho', 'Zn-Ge-Bi', 'Tb-Pr-W', 'Ca-Ce-Mn', 'Tm-Ti-V', 'Tc-Ni-C', 'Eu-Pu-W', 'La-Tb-Sm', 'Yb-Lu-Ta', 'Yb-V-Mo', 'Ce-Y-Th', 'Tb-Nd-Ti', 'Cu-Ir-Pd', 'Ba-La-Mo', 'La-Gd-Er', 'Ga-Sn-Ge', 'Tb-Ho-Ta', 'Er-Th-V', 'Pr-Y-Hf', 'Dy-Zr-Ti', 'Lu-V-Cr', 'Pr-Gd-V', 'La-Ti-Mo', 'Tb-Pu-Zr', 'Lu-Nb-Mo', 'Cs-Rb-Mg', 'Fe-Co-Ni', 'K-Ti-Mo', 'Tb-Yb-Mo', 'Fe-Au-C', 'Dy-Ho-Pu', 'Y-Pu-Zr', 'Tb-Pr-Th', 'Sc-Ta-Mo', 'Gd-Ho-Mo', 'Li-Y-Hf', 'Mn-V-Ru', 'Yb-Ti-Mo', 'Sm-Y-Pu', 'La-Nd-Lu', 'Ga-Si-Sn', 'Ba-Y-Sc', 'Nd-Y-U', 'Gd-Lu-Cr', 'Eu-Ta-Mo', 'Er-Tm-Th', 'Be-Ga-Bi', 'K-Li-Fe', 'Tl-V-Ag', 'Co-Os-Ru', 'V-Hg-Mo', 'Fe-Co-C', 'La-Tb-Th', 'Pr-Dy-Pu', 'Ta-Nb-W', 'Li-Pu-Ti', 'Zn-In-Ga', 'Tb-Ce-Zr', 'Ca-Yb-Lu', 'La-Y-Er', 'Yb-Ho-Er', 'La-Lu-Cr', 'Li-Ho-Cr', 'Yb-Pr-Tm', 'Li-Pr-Cr', 'Ho-Th-Sc', 'Pr-Sm-W', 'Tb-Lu-Mo', 'Yb-Eu-Mn', 'Nd-V-Mo', 'Ga-Hg-Pb', 'Pm-Nd-Y', 'Ba-Gd-Mo', 'Ni-Ru-Pt', 'Y-Er-Sc', 'Ca-Lu-Mo', 'Al-Zn-Sn', 'Th-V-Mo', 'Fe-Ni-Pd', 'Tb-Sm-Mo', 'Li-Pu-Ta', 'Pm-Dy-Tm', 'Fe-Co-Cu', 'Gd-Th-V', 'Dy-Ti-V', 'La-Ce-Gd', 'Yb-Th-Sc', 'Tb-Ho-Sc', 'Tb-Y-Zr', 'Tc-Ir-Rh', 'Ce-Nd-Ti', 'Yb-Y-U', 'Na-V-Cr', 'Nd-Lu-Th', 'Ho-Pu-Zr', 'Ba-Ca-Y', 'Fe-Os-Ru', 'Pm-Ho-Th', 'Gd-Th-Cr', 'Tb-Dy-Ti', 'La-Sc-V', 'Sr-Mn-Fe', 'La-Mo-W', 'Dy-Lu-Ta', 'Tl-Zn-Si', 'Nb-Tl-Cu', 'Pu-Np-Cr', 'Ir-Pt-C', 'Yb-Dy-Ti', 'Li-Pu-Mo', 'Pr-Tm-Mo', 'Nd-Dy-Er', 'Ce-Tm-V', 'Be-Al-Si', 'Dy-Th-V', 'Al-Cd-Si', 'La-Er-Nb', 'Tb-Nd-Ta', 'Eu-Hf-Nb', 'Re-Os-Pd', 'Nd-Tm-Cr', 'Sm-Tm-Th', 'Cs-Ta-V', 'Tb-Pu-Mo', 'Mg-Mn-V', 'Cu-Pd-Pt', 'Li-Er-Hf', 'Li-Lu-Ta', 'Y-Lu-Pu', 'Yb-Ho-Pu', 'Li-Sm-Y', 'Dy-Ti-Mo', 'Ca-Ti-V', 'Pr-Hf-U', 'La-Yb-Gd', 'Eu-Mn-V', 'Tb-Ti-Cr', 'Yb-Nd-Cr', 'Ti-Cr-Mo', 'Mg-Zr-Nb', 'Ta-Ti-Nb', 'Li-Nd-Sm', 'Tl-Ag-Pb', 'Tb-Gd-V', 'Gd-Pu-W', 'Cu-Pd-Rh', 'Li-Zr-Sc', 'Gd-Cr-W', 'Cu-Ru-Pt', 'Li-Er-Cr', 'Yb-Sc-Mo', 'Gd-Er-Cr', 'Pr-Lu-Pu', 'V-Fe-Bi', 'La-Gd-Ta', 'Ta-V-Bi', 'Tb-Cr-Mo', 'Cr-Mo-Au', 'Tb-Ce-Lu', 'Ca-La-Fe', 'Gd-Y-Cr', 'Cr-Fe-Pb', 'Cr-Bi-Mo', 'Ce-Pr-Mo', 'Sr-Sc-Ti', 'Ag-Ge-Bi', 'Y-Ta-V', 'Er-V-Cr', 'Sm-U-Nb', 'Cr-Hg-Mo', 'La-Pr-Pu', 'Ca-Ce-V', 'Th-V-W', 'Ba-Nd-Sc', 'Ce-Eu-Sc', 'Y-Ta-W', 'Cs-Li-Hf', 'Tb-Nd-Gd', 'K-Rb-Mo', 'Ca-Tm-Lu', 'Tb-Dy-Th', 'Ce-Pu-Ta', 'Yb-Hf-Nb', 'Y-Sc-W', 'Gd-Dy-Cr', 'Yb-Pu-Mo', 'Ce-Pr-Nd', 'Dy-Er-Mo', 'Y-Er-Zr', 'Hf-Th-Sc', 'Cu-Mo-Pb', 'Ho-Pu-Cr', 'Na-Mg-Mo', 'Cu-Re-Ru', 'Si-Ag-Ge', 'Ba-La-Eu', 'Pm-Lu-Th', 'Mn-V-Fe', 'Ca-La-Pm', 'Pr-U-V', 'Nd-Er-Tm', 'Re-Ni-Os', 'Gd-Y-Ti', 'Ce-Hf-Sc', 'La-Nd-Ti', 'Yb-Ho-Sc', 'Al-Cd-Bi', 'Al-Tl-Si', 'Tb-Sm-Lu', 'Pm-Sm-Er', 'Ce-Ti-W', 'Pr-Gd-Y', 'Dy-Cr-W', 'Zn-Sn-Bi', 'Rb-Mg-Mo', 'Tl-In-Mo', 'Ca-V-Fe', 'Th-Ta-Nb', 'Gd-Er-Ti', 'La-Er-W', 'Nd-Th-U', 'Ce-Pm-V', 'Tb-Y-Pu', 'Gd-Th-Mo', 'Yb-Pr-Mo', 'Yb-Hf-Ti', 'Rb-Ta-Ti', 'Dy-Pu-Ti', 'Be-Ga-Sn', 'Y-Ho-Pu', 'Ba-Yb-V', 'Yb-Y-Sc', 'Tb-Nd-Y', 'Ho-Zr-Ta', 'Pm-Gd-Tm', 'Li-Mn-V', 'Ce-Eu-Mn', 'Be-Al-Zn', 'Zn-Ge-Pb', 'Pr-Ho-Ta', 'Tb-Y-Ho', 'Li-Sm-Lu', 'Dy-Pu-Mo', 'Ba-Ca-Mn', 'Ho-Th-Cr', 'Er-Hf-Nb', 'Ca-Pu-V', 'Os-Pd-Pt', 'Pr-Pu-W', 'Cr-Ag-Pb', 'La-Ce-Sc', 'Mn-Cu-Pb', 'Yb-Sc-Nb', 'La-Nd-Ta', 'Ce-Ho-W', 'Re-Ag-Rh', 'Tl-Mo-Pb', 'Sm-V-Cr', 'Co-Ir-Rh', 'Pm-Gd-Pu', 'Ce-Er-Ti', 'Ce-Sm-Ta', 'La-Tb-Cr', 'Yb-Gd-Ti', 'Cu-Ni-Os', 'Rb-V-Cr', 'Yb-Zr-Ta', 'Nd-Sc-V', 'Tl-Cd-Pb', 'Tb-Sm-Gd', 'Sm-Gd-Dy', 'Tb-Yb-Dy', 'Li-Er-Mo', 'Pr-Er-Cr', 'Mg-U-Cr', 'La-Ce-Ho', 'Th-Sc-Nb', 'Nd-Gd-Y', 'Eu-Hf-Sc', 'Ce-Sc-Ti', 'Gd-Pu-V', 'Er-Ti-W', 'Ca-Pm-Lu', 'Co-Cu-Ru', 'Yb-Eu-Zr', 'Sm-Lu-W', 'Y-U-Ta', 'Y-Th-Sc', 'V-Mo-W', 'Ce-Tm-Mo', 'Cs-Ti-Cr', 'Nd-Dy-Ti', 'Li-Ho-Sc', 'Si-Ag-Au', 'Yb-Sc-W', 'Tl-Cd-Ga', 'Tb-Th-Sc', 'Ce-Cr-Mo', 'Yb-Pr-Er', 'Nd-Th-Zr', 'Pr-Nd-Sm', 'Li-Sc-Cr', 'Yb-Ho-Th', 'Tb-Ho-Cr', 'La-Pu-W', 'Nd-Dy-Y', 'Pm-Nd-Tm', 'Li-Tb-Pr', 'Gd-Ta-Mo', 'Li-La-Ti', 'Pu-Ti-W', 'Na-Ca-V', 'Y-Nb-W', 'Ce-Y-Mo', 'Hf-Sc-Nb', 'La-Tm-V', 'Ho-Lu-V', 'Ca-Sc-Ti', 'Nd-Sc-W', 'La-Tb-Sc', 'Yb-Gd-Dy', 'Tc-Pd-C', 'Li-V-Cr', 'Li-Sm-Nb', 'Be-Ge-Bi', 'Ca-Tb-V', 'K-Nb-Mo', 'Pm-Gd-Cr', 'La-Sm-U', 'Ca-Yb-V', 'Nd-Gd-Th', 'Pm-Pu-Mo', 'Yb-Th-Cr', 'Ce-Hf-Ti', 'Dy-Tm-Ti', 'Yb-Ta-W', 'Cu-Pd-Au', 'La-Tb-Ho', 'Tm-Pu-Cr', 'Tb-Ho-Th', 'La-Sc-Ta', 'Sm-Ta-Nb', 'Li-Mn-Fe', 'Ce-Gd-W', 'Sc-Nb-W', 'Ta-V-W', 'Nd-Sm-Dy', 'Nd-Ho-Pu', 'La-Er-Mo', 'La-Y-Ta', 'Ca-Nd-V', 'Re-Hg-Os', 'Tb-Dy-V', 'La-Tb-Nd', 'La-Zr-Sc', 'Cu-Tc-Rh', 'Li-Tm-Cr', 'Si-Ge-Pb', 'Gd-Y-Ta', 'Sm-Ta-Mo', 'Na-Mg-Fe', 'La-Ce-W', 'Th-Nb-V', 'Y-Nb-Mo', 'La-Ta-Mo', 'Dy-Tm-Pu', 'La-Pr-V', 'Ca-La-Ti', 'Pr-Dy-W', 'Ce-Nd-Cr', 'Lu-Zr-Ta', 'Y-Pu-Ti', 'Li-Ce-Mo', 'La-Eu-Sc', 'Nd-Sm-U', 'La-Tb-Zr', 'Li-Ce-Nb', 'Dy-Y-Lu', 'Zn-Ga-B', 'Y-Zr-Sc', 'Li-Pm-Y', 'Pm-Nd-Gd', 'Pr-Ti-W', 'Ba-La-Pr', 'Fe-Co-Pd', 'Pr-Nd-Ta', 'Tl-In-Ga', 'Li-Pm-V', 'Nd-Lu-Ta', 'Pr-Nd-Tm', 'Pr-Th-Ti', 'Ce-Y-Cr', 'Tb-Ce-Ta', 'V-Cr-Ag', 'Fe-Rh-C', 'Cs-K-Zr', 'Er-Tm-Cr', 'Tb-Y-Lu', 'K-Cr-Mo', 'Gd-Ti-V', 'La-Th-Ta', 'Yb-Ta-Mo', 'Ho-Th-Mo', 'Pr-Ho-Cr', 'Mg-V-Fe', 'Ta-Nb-V', 'Li-Mg-Mo', 'Nd-Lu-Zr', 'Tm-Th-Ti', 'K-Hf-Mg', 'Cs-Mg-Mo', 'Pr-Ta-W', 'Ba-Gd-Ti', 'Sm-Er-Nb', 'Yb-Eu-Mo', 'Pr-Ti-Cr', 'La-Pm-Sm', 'Li-Nd-Ti', 'Yb-Dy-Pu', 'Li-Gd-Zr', 'Ta-Nb-Tl', 'Fe-Cu-Ru', 'Pm-Pr-Sm', 'Fe-Cu-Pb', 'Dy-Th-Ta', 'Nb-Hg-Bi', 'Er-V-W', 'Sr-Y-V', 'Dy-Th-W', 'Tb-Yb-Ho', 'Nd-Y-W', 'Be-Zn-Sn', 'Eu-Y-Ta', 'Yb-Y-Ti', 'Ce-Gd-Mo', 'Gd-Th-Zr', 'Tl-Si-Ge', 'Sm-Dy-Pu', 'La-Ho-W', 'Cs-Li-Ti', 'Cu-Bi-Mo', 'Yb-Y-Er', 'Ce-U-Cr', 'Li-V-Cu', 'Gd-Er-Sc', 'Yb-Dy-Ho', 'Re-Ni-Ag', 'Ca-Nd-Ti', 'Yb-Pu-Ti', 'La-Tb-Mo', 'Ir-Rh-C', 'Al-Tl-Ga', 'La-Ti-Nb', 'Nd-Gd-Pu', 'Al-Cd-Ge', 'Li-Ho-Ta', 'Ho-V-Cr', 'Li-Gd-Sc', 'Ga-Re-Bi', 'Yb-Lu-Zr', 'Li-Pr-V', 'U-Ta-W', 'Yb-Tm-Pu', 'Ce-Ho-Lu', 'Fe-Ir-Pd', 'Gd-Pu-Ti', 'Tb-Gd-Th', 'Ca-La-V', 'Ce-Nd-Pu', 'Yb-Eu-U', 'Ta-V-Mo', 'Th-Nb-Mo', 'Ca-Tm-Mo', 'Er-Sc-W', 'Sm-Cr-W', 'Ce-Pm-Cr', 'Pr-Sm-Ta', 'Ta-Tl-In', 'Li-Tb-Pm', 'Ba-Pm-Pr', 'Li-Gd-Ho', 'Hg-B-Sb', 'Gd-Tm-Lu', 'Tb-Pr-Dy', 'Ce-Gd-Cr', 'Ho-Tm-Mo', 'Y-U-V', 'Ir-Pt-Rh', 'La-Tb-Yb', 'Li-Ti-V', 'Tm-Lu-Pu', 'Tb-Pr-Nd', 'Pr-Ta-V', 'Re-Bi-Os', 'Co-Cu-Bi', 'Nd-Ho-Cr', 'La-Pm-Tm', 'Ca-Eu-V', 'Ba-Sc-Ti', 'Na-Nb-Cu', 'Cs-Li-Zr', 'Gd-Dy-Lu', 'La-Ce-Cr', 'Cu-Re-Os', 'Li-Mg-Zr', 'Ce-Pu-Zr', 'Ca-La-Yb', 'Ce-Y-Pu', 'Zn-Cd-Ga', 'Nd-V-W', 'V-Fe-Ru', 'Tb-Dy-Er', 'Hf-Th-U', 'Sc-V-W', 'La-Y-Pu', 'Al-In-Si', 'Be-Ga-Ge', 'Os-Ru-Pt', 'Ag-Ge-Pb', 'Pm-Y-Tm', 'Li-La-Ho', 'Cs-Zr-Ti', 'Ce-Sc-Mo', 'Pr-Nd-Mo', 'Li-Tm-Ti', 'La-Ho-Sc', 'Nd-Tm-Mo', 'Th-Ta-Mo', 'Er-Tm-Mo', 'Gd-Y-W', 'Lu-Ta-V', 'Lu-Th-Ta', 'Ce-Er-Cr', 'Ce-Ti-Mo', 'Li-Ce-Gd', 'Ce-Th-U', 'Li-Hf-Nb', 'Yb-Ho-Ta', 'Li-Pm-Cr', 'Ce-Gd-V', 'Cs-K-Cr', 'Tb-Ti-W', 'Ce-Tm-Cr', 'Ho-Lu-Pu', 'Y-Er-Ti', 'Gd-Dy-Ti', 'Gd-Pu-Zr', 'Li-Cr-Cu', 'Co-Bi-Os', 'Gd-Pu-Ta', 'Co-Ru-Rh', 'Gd-Lu-Ti', 'Li-La-Ce', 'Be-Al-Ge', 'Gd-Y-Lu', 'Pr-Dy-Tm', 'Yb-Cr-Mo', 'La-Gd-Zr', 'Tl-Cu-Pb', 'Cr-Ag-Mo', 'Tb-Tm-Ti', 'Nd-Y-Pu', 'Eu-Th-V', 'Ga-Ge-Pb', 'Li-Pm-Lu', 'Li-Nd-Lu', 'Ba-Pr-Ti', 'Li-V-Mo', 'Pr-Y-Mo', 'Ce-V-Cr', 'Dy-Er-V', 'Ca-Eu-Pu', 'Ni-Pd-Pt', 'Er-Lu-Ta', 'Ba-Y-V', 'Pr-Nd-Lu', 'Ce-Nd-Y', 'Na-Mg-Ti', 'Cu-Ag-Ir', 'La-Ce-Mo', 'La-Er-Lu', 'Tc-Ni-Pd', 'Ti-Nb-V', 'Tb-Ce-Gd', 'Hf-U-Ti', 'Lu-V-Mo', 'Ta-V-In', 'Co-Ir-Pt', 'Na-Ti-Nb', 'Yb-Hf-Th', 'Mn-Cu-Ag', 'Ce-Nd-U', 'Pr-Gd-Ta', 'Ca-Pm-V', 'Nd-Gd-Cr', 'Yb-Eu-V', 'Al-Hg-Pb', 'V-Cr-Bi', 'Ce-Nd-Ho', 'Ho-Er-Th', 'Tb-Nd-Mo', 'Ca-Tb-Pm', 'Nd-Ho-Ta', 'Pu-Ta-W', 'V-Cu-Mo', 'Tb-Cr-W', 'V-Cu-Ag', 'Fe-Ni-Os', 'Lu-Th-V', 'Fe-Ni-C', 'Ca-Y-Sc', 'Ca-Ce-Eu', 'Rb-Ti-Cr', 'Nd-Sm-Th', 'Co-Re-Bi', 'Gd-Lu-V', 'Eu-Pu-Ta', 'Pu-Zr-Ti', 'Pm-Sm-Y', 'La-Ce-Er', 'Ga-Sn-Bi', 'Ba-Sr-Sc', 'Co-Re-Hg', 'La-Lu-W', 'Cs-Nb-Mo', 'La-Y-V', 'Ce-Sm-Er', 'Co-Ni-Ru', 'Mg-Cr-Mo', 'Sc-Nb-Mo', 'Sm-U-W', 'Ce-Ta-Ti', 'Li-Y-Pu', 'Tb-Dy-Pu', 'Cs-Rb-Cr', 'Cs-Rb-V', 'Ce-Gd-Ta', 'Mg-Ti-Mo', 'K-Ta-V', 'Rb-Na-Mg', 'Ba-Gd-V', 'Ca-Tb-Mo', 'Pr-Er-Hf', 'Si-Ge-Bi', 'Y-Er-Hf', 'Zn-Si-Bi', 'Li-Pm-Mo', 'Yb-Lu-Pu', 'La-Dy-Lu', 'La-Pm-Er', 'Hf-Zr-Ta', 'K-Hf-Nb', 'Lu-Ti-W', 'Li-Pu-Zr', 'Cd-Ga-Ge', 'Cd-Ga-B', 'Gd-Y-V', 'Cu-W-Au', 'Yb-Nd-Lu', 'Er-Tm-V', 'Tb-Gd-Y', 'Er-Lu-Mo', 'Tc-Pt-Rh', 'Dy-Ta-Ti', 'Cu-Pd-C', 'Y-V-Mo', 'La-Yb-Dy', 'Lu-Nb-W', 'Cr-Cu-Au', 'Y-Sc-Nb', 'Li-La-Nd', 'Tb-Sm-Pu', 'Tb-Y-Tm', 'Ce-Er-Sc', 'Gd-Dy-Mo', 'Ca-Ce-Nd', 'Ta-Tl-Mo', 'Pr-Nd-Er', 'Li-Pr-Nd', 'La-Pr-Ta', 'Tm-Cr-W', 'Ce-Ho-V', 'Ba-Yb-Ti', 'Na-Ti-Cr', 'Er-Th-Sc', 'Er-Ti-V', 'Cd-Ge-Pb', 'Ba-Eu-Mn', 'Re-Ag-Ir', 'Pr-Ti-V', 'Lu-Ta-Nb', 'Fe-Co-Ag', 'Li-Mn-Ni', 'Nd-Ho-Zr', 'La-Pm-Cr', 'Mg-Nb-V', 'Ce-Pm-Tm', 'Pd-Ru-Pt', 'Gd-Sc-Mo', 'Nd-Pu-Ti', 'Pr-Gd-Mo', 'Sc-U-W', 'Co-Cu-Rh', 'Eu-V-Cr', 'Y-Tm-Th', 'Tb-Lu-Ti', 'La-Nd-Y', 'Th-Ti-W', 'Li-Nd-Cr', 'Pm-Gd-Th', 'Tl-Cu-Ni', 'Pr-U-Cr', 'Ca-Tb-Y', 'Co-Pd-Rh', 'Li-Pm-Nd', 'Cu-Os-Rh', 'Tb-Pu-Cr', 'Ni-Ag-Ru', 'Li-Gd-V', 'Na-Hf-Ta', 'La-Sm-Ta', 'Ca-La-Nd', 'Sr-Ca-Mn', 'La-Mn-Fe', 'La-Th-Sc', 'Tb-Ce-Mo', 'Mo-Pb-W', 'Tb-Y-Cr', 'Al-Ga-Ge', 'V-Fe-Pd', 'Nd-Cr-W', 'Tl-Si-Ag', 'Tb-Ce-Pu', 'Cs-Pr-Mo', 'Nd-U-Ta', 'Eu-Ta-Nb', 'La-Dy-Th', 'Mg-Ti-V', 'Li-Fe-Cu', 'Na-Li-Ti', 'La-Tb-Pu', 'Th-Zr-Sc', 'Ce-Gd-Y', 'Dy-Lu-Cr', 'Nd-Sc-Ti', 'Yb-Nb-V', 'Ga-Si-Pb', 'Pr-Lu-Ti', 'Eu-Y-Cr', 'Hf-U-Nb', 'Pu-Ti-V', 'Li-Nd-Er', 'Cu-Ag-Bi', 'Sm-Nb-V', 'Gd-Dy-Y', 'Ho-Ta-Mo', 'Cu-Ag-Pd', 'Tc-Ni-Pt', 'Y-Lu-Nb', 'Ni-Os-Ru', 'Dy-Lu-Pu', 'Fe-Cu-Os', 'Ta-Tl-V', 'Eu-Y-U', 'Co-Pd-Ru', 'Re-Hg-Bi', 'La-Yb-Ho', 'Nd-Er-Lu', 'Tb-Yb-Er', 'Yb-Th-Zr', 'K-Li-Ti', 'Re-Tc-Rh', 'Cs-K-Al', 'Pr-Ti-Mo', 'Yb-Eu-Sc', 'Y-Th-Ta', 'Yb-Ti-V', 'Nd-Gd-V', 'Sm-Dy-Tm', 'Y-Mo-W', 'Ce-Er-W', 'Re-Tc-Pd', 'Ce-Nd-Zr', 'Li-Ho-Tm', 'Y-Tm-W', 'Al-Tl-Zn', 'Li-La-Mo', 'Pr-Ho-Tm', 'Eu-Th-Nb', 'Pr-Nd-Cr', 'Pm-Gd-Dy', 'Na-Ta-V', 'Al-Zn-Ga', 'Ba-Sm-Mo', 'Y-Ti-Cr', 'Nd-Th-Cr', 'Co-Ir-Pd', 'Yb-Gd-Ho', 'Hg-Ge-B', 'Ho-Tm-V', 'Pr-Tm-Ta', 'Tb-Dy-Cr', 'Ir-Ru-Pt', 'Ce-Pm-Pu', 'Tm-Pu-W', 'Pm-Nd-Th', 'Yb-Gd-Mo', 'La-Ti-V', 'Sm-Pu-Nb', 'Hf-Th-Zr', 'Ta-Ti-V', 'Be-Sn-Bi', 'Pm-Ho-Cr', 'Yb-Eu-Th', 'Ho-Lu-Mo', 'Tb-Dy-Ta', 'Ce-Y-Ti', 'Al-Zn-Pb', 'Ca-La-Mn', 'Yb-Eu-Ta', 'Cs-Hf-Zr', 'Na-Ca-Fe', 'Tb-Pu-Ta', 'Sr-Sc-Mo', 'Tc-Ir-C', 'Y-Hf-Sc', 'Ti-Mo-W', 'Pr-Gd-Dy', 'Co-Cu-Re', 'La-Y-U', 'Re-Sn-Bi', 'Yb-Ti-Cr', 'Nd-Mo-W', 'Fe-Ni-Ir', 'Pr-Nd-W', 'Yb-Lu-V', 'Ce-Pu-W', 'Ac-Cr-Mo', 'Zn-B-Pb', 'La-Yb-Tm', 'Ba-Nd-Mo', 'Mn-Co-Ag', 'Dy-Cr-Mo', 'Er-Tm-Lu', 'La-Y-Nb', 'Tc-Ir-Pt', 'Pr-Er-W', 'Yb-Ho-Cr', 'Mn-Fe-Au', 'Ca-Y-V', 'Pd-Ru-Au', 'Ce-Hf-U', 'La-Pm-Pr', 'Tb-V-Mo', 'Ba-Eu-Sc', 'Ta-Bi-Mo', 'Nd-Dy-V', 'Tl-B-Pb', 'Li-Hf-Zr', 'Li-La-Fe', 'Al-Sn-Bi', 'Ce-Pm-Er', 'Ni-Au-C', 'Er-Ta-W', 'Pr-Er-Pu', 'La-Nd-Sc', 'Ni-Ag-Ir', 'La-Ce-Th', 'La-Yb-Nd', 'Pm-Nd-Dy', 'Ce-Th-Mo', 'Eu-U-W', 'Pm-Ho-Er', 'Ce-Lu-Mo', 'Li-Cu-Mo', 'Sm-Y-Th', 'Tb-Nd-Dy', 'Nd-Er-Pu', 'Rb-Nb-V', 'Pr-Y-U', 'Y-Er-Pu', 'Cd-Mo-Pb', 'Li-Er-Zr', 'V-Cu-W', 'Pm-Nd-Mo', 'Yb-Er-Ti', 'Tb-Sc-Ta', 'Ca-Ti-Mo', 'Tb-Tm-Pu', 'Y-Lu-Ta', 'Rb-Li-Ti', 'Hg-Sb-Pb', 'La-Dy-Pu', 'Pd-Rh-Au', 'K-Ta-Ti', 'Li-La-Sc', 'Pr-Dy-Ti', 'Yb-Pr-W', 'La-Nd-Ho', 'Sm-Nb-W', 'Ce-Eu-Pu', 'Nd-Sc-Mo', 'Ag-Ir-Ru', 'Pm-Y-Ho', 'Yb-Dy-Lu', 'U-Ta-V', 'Ca-Tb-Ti', 'Tb-Yb-Lu', 'Ce-Pm-Sm', 'Sr-Nd-V', 'Co-Ni-Pt', 'Rb-Mg-Zr', 'Ti-V-Cr', 'Th-U-Cr', 'Yb-Pu-Cr', 'Ta-Cu-Bi', 'La-Yb-Cr', 'Pr-Ho-V', 'Rb-Na-Cr', 'Ce-Ta-V', 'Ce-Ta-W', 'Eu-Y-Sc', 'La-Ho-Ta', 'Cd-Ga-Bi', 'Eu-Pu-Mo', 'Nd-Gd-Er', 'Na-Li-Mo', 'Tb-Tm-V', 'Th-Sc-U', 'Lu-Cr-Mo', 'Tb-Ti-V', 'Tb-Sm-Ho', 'Dy-Ta-V', 'Rb-Li-Nb', 'Li-Ta-Mo', 'Re-Tc-Pt', 'Pm-Gd-V', 'La-Gd-Y', 'La-Dy-Ta', 'Mg-Ti-Nb', 'Nd-Th-W', 'Dy-Y-Zr', 'Tb-Zr-Ti', 'Pd-Pt-W', 'Cs-Rb-Ti', 'Ca-Nd-Pu', 'La-Pm-Nd', 'Sm-Ho-Pu', 'Hg-Bi-Mo', 'Co-Ag-Pb', 'Ce-Pm-Pr', 'Cu-Re-Pd', 'La-Th-Mo', 'Ba-Pr-Nd', 'La-Yb-W', 'Li-Y-Sc', 'Th-U-Ta', 'Li-Tm-Mo', 'Zn-Si-Ge', 'Sc-Nb-V', 'Sm-Th-V', 'Li-La-Pm', 'Li-Y-Ho', 'Y-Hf-U', 'Ti-V-W', 'Sm-Lu-Th', 'Li-Cu-Ni', 'Ce-Y-Lu', 'Tm-Th-W', 'Yb-Tm-Mo', 'Ca-Yb-Nd', 'Ce-Eu-V', 'Nd-Er-Sc', 'Hf-Ta-Nb', 'Co-Ag-C', 'Co-Ir-Os', 'Ca-Mn-V', 'Pu-Ta-Nb', 'V-Bi-Mo', 'Y-Hf-Th', 'Dy-Mo-W', 'Ce-Sm-Lu', 'Ni-Ir-Pd', 'Re-Os-Rh', 'Ce-Nd-Mo', 'Er-Hf-Sc', 'Cr-Fe-Ag', 'Li-Nd-V', 'Eu-Sc-Ta', 'Yb-Tm-Th', 'Ga-Ge-B', 'Eu-Sc-W', 'Li-Pr-Gd', 'Yb-Pr-Dy', 'Sm-Pu-V', 'La-Nd-Cr', 'Ce-Ho-Mo', 'Li-Pm-Pu', 'Y-Sc-U', 'Pr-Sm-Mo', 'Pr-U-Ta', 'Re-Tc-Ir', 'Nd-Zr-Ta', 'Tl-In-Si', 'Yb-V-Cr', 'Tb-Pr-Sm', 'Mn-Fe-Ru', 'Ce-Zr-Ta', 'K-Ti-Cr', 'Ce-Sm-Mo', 'Ni-Ag-Pb', 'K-Mg-Cr', 'Tb-Nd-Cr', 'Pu-Cr-W', 'La-Gd-Ho', 'Pm-Nd-Lu', 'La-Dy-Y', 'Tb-Th-V', 'Cu-Tc-Ir', 'Li-Tb-Ho', 'Tb-Sm-Tm', 'Sr-Nd-Y', 'Pm-V-Mo', 'K-Rb-Ta', 'Gd-Sc-Ti', 'Y-Er-Cr', 'Ce-Eu-Th', 'Yb-Nd-Dy', 'Er-Hf-Ta', 'Pr-Y-Th', 'Eu-Zr-Sc', 'Gd-Sc-Ta', 'Li-Ce-Ti', 'Na-Hf-Nb', 'Sm-Gd-Cr', 'La-Pr-Nd', 'Ga-Re-Hg', 'Li-La-Gd', 'Co-Ni-Rh', 'La-Tb-Er', 'Yb-Lu-Mo', 'Er-Pu-V', 'Tl-Ga-Pb', 'Yb-Sc-V', 'Co-Ag-Ru', 'Li-Zr-Nb', 'Rb-Ta-V', 'K-Li-Mg', 'Dy-V-W', 'Pu-Mo-W', 'Li-La-Mn', 'Tb-Zr-Sc', 'La-Pr-Er', 'Tb-Lu-Ta', 'Tb-Ho-Pu', 'Ba-Ca-Mo', 'Gd-Th-Ti', 'Ta-Nb-Mo', 'La-Y-Sc', 'La-Tm-Mo', 'Ge-B-Pb', 'Li-Pr-Ta', 'Cu-Pt-Au', 'La-Pu-V', 'Tb-Pr-Gd', 'Eu-Ta-V', 'Ce-Tm-W', 'Pr-Tm-W', 'La-Gd-Ti', 'Pm-Pr-Th', 'Sm-Tm-Cr', 'Mn-Ni-Au', 'Ce-Y-V', 'Rb-Cr-Mo', 'La-Nb-W', 'Ca-Y-Mo', 'Sm-Lu-Nb', 'Li-V-Fe', 'Y-Er-Nb', 'Nd-Dy-Zr', 'Pm-Pr-Tm', 'Mg-U-Nb', 'La-Yb-Eu', 'Gd-V-W', 'Eu-Zr-Ta', 'Tb-Ho-Er', 'Cs-Rb-Nb', 'Tb-Pr-Lu', 'Cd-Bi-B', 'Cu-Ir-Ru', 'Gd-Ho-Er', 'Pr-V-Mo', 'La-Nd-Gd', 'Y-Tm-Ti', 'Ni-Ag-Au', 'K-Hf-Ti', 'Nd-Ho-Tm', 'Pr-Nd-Pu', 'La-Gd-V', 'Yb-Er-Cr', 'Dy-V-Mo', 'La-Nd-Dy', 'Ce-Pr-Lu', 'Ce-Nd-Gd', 'Y-Th-Zr', 'Tl-Ni-Ag', 'Nd-Gd-Ti', 'K-Li-V', 'Li-Ce-Y', 'Mn-Ni-Ru', 'Ho-Pu-W', 'Pm-Dy-Lu', 'Ce-Sm-U', 'Ni-Os-Pd', 'Cr-Mo-Pb', 'Er-Ta-V', 'Ce-Nd-Er', 'Zn-Ga-Si', 'Sm-Y-Ta', 'Eu-Nb-W', 'Fe-Pd-Au', 'Co-Re-Ru', 'Sm-Y-Tm', 'Fe-Cu-C', 'Tm-Pu-Ti', 'Ta-Nb-Cu', 'Ho-Ta-V', 'Li-Lu-Ti', 'Yb-Er-Nb', 'Fe-Ni-Au', 'Nd-Ta-W', 'La-Pr-Ho', 'Mg-V-Cr', 'La-Pr-U', 'Y-Zr-Ti', 'Cu-Ni-Au', 'Rb-Li-Mo', 'Li-Ho-Zr', 'Fe-Ag-Pb', 'Eu-Y-V', 'Nd-Th-Ti', 'Pm-Pr-Cr', 'Sm-Y-Mo', 'Zn-Ga-Sn', 'Tl-Ga-Si', 'La-Tb-Y', 'Tm-Ta-Ti', 'Sr-Nd-Mo', 'Y-Tm-Mo', 'Tb-Yb-Pu', 'La-Ho-Mo', 'Dy-Ho-Mo', 'Cs-Hf-Mg', 'Ba-Sm-V', 'Pr-Y-Lu', 'Nd-Er-V', 'Tm-Mo-W', 'Li-Ta-Nb', 'Gd-Tm-Th', 'Ti-V-Mo', 'Sc-Ta-Nb', 'La-Sm-Tm', 'Ce-Er-Tm', 'Y-Ho-Er', 'Sm-Th-Mo', 'Tb-Sm-Y', 'Li-Tb-Mo', 'Ho-Lu-Th', 'Sm-Pu-Ta', 'Nd-Tm-Ti', 'Na-Li-Ta', 'K-Ti-V', 'Mn-Tl-Pb', 'Hg-B-Pb', 'Er-Lu-Th', 'Pu-Zr-Nb', 'Ca-La-Ce', 'Eu-Hf-U', 'Os-Ru-Rh', 'La-Sc-Cr', 'V-Ag-Ru', 'Ba-Pr-Sm', 'Nd-Th-V', 'Pr-Ta-Ti', 'Y-Tm-Pu', 'Tb-Y-Th', 'Ce-Nd-Th', 'Pt-Rh-Au', 'Er-Nb-Mo', 'Ba-La-Mn', 'Pr-Pu-V', 'Sm-Y-Cr', 'Ga-Re-Sn', 'Ho-Er-Pu', 'Al-Tl-Ge', 'Dy-Lu-Mo', 'Na-Sr-Ti', 'Cd-Si-Ge', 'Tb-Pr-Pu', 'Ba-Gd-Sc', 'Ca-Tb-Pu', 'Cu-Ag-Os', 'Co-Cu-Ir', 'Pm-Dy-Pu', 'Zn-Cd-Ge', 'La-V-W', 'Sr-Ca-V', 'Dy-Ho-Tm', 'Eu-Th-W', 'Ca-Pm-Y', 'Eu-Th-Zr', 'Cu-Os-Ru', 'Be-In-Ga', 'La-Th-Ti', 'Nd-Pu-Cr', 'Ca-Ce-Y', 'Yb-Y-V', 'Ca-La-Y', 'Li-Tm-Pu', 'Al-Tl-Pb', 'Li-Ce-Ho', 'Li-Sc-Nb', 'Pr-Nd-Dy', 'Yb-Nd-Pu', 'Li-Ce-Nd', 'Pm-Dy-Cr', 'Dy-Lu-V', 'Ca-Mn-Fe', 'Cs-Mg-V', 'Ce-Eu-Nb', 'Tb-V-Cr', 'Ce-Ta-Nb']\n\t}\n}\n","namespace $ {\n\t\n\t// 00 HHHHH HHHHH HHHHH LLLLL LLLLL LLLLL\n\t\n\tconst mask = 0b11111_11111_11111\n\t\n\texport function $mol_coord_pack( high: number, low: number ) {\n\t\treturn ( high << 17 >>> 2 ) | ( low & mask )\n\t}\n\n\texport function $mol_coord_high( pack: number ) {\n\t\treturn pack << 2 >> 17\n\t}\n\n\texport function $mol_coord_low( pack: number ) {\n\t\treturn ( pack << 17 ) >> 17\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst $visavis_matrix_json_node = $mol_data_record({\n\t\tname: $mol_data_string,\n\t\tnum: $mol_data_number,\n\t\tnump: $mol_data_number,\n\t\tsize: $mol_data_number,\n\t\trea: $mol_data_number,\n\t\trpp: $mol_data_number,\n\t\trion: $mol_data_number,\n\t\trcov: $mol_data_number,\n\t\trmet: $mol_data_number,\n\t\ttmelt: $mol_data_number,\n\t\teneg: $mol_data_number,\n\t\tcount: $mol_data_optional( $mol_data_number ),\n\t})\n\n\tconst $visavis_matrix_json_link = $mol_data_record({\n\t\tsource: $mol_data_number,\n\t\ttarget: $mol_data_number,\n\t\tvalue: $mol_data_number,\n\t\tcmt: $mol_data_string,\n\t\tcmp: $mol_data_optional( $mol_data_number ),\n\t})\n\n\tconst $visavis_matrix_json = $mol_data_record({\n\t\tpayload: $mol_data_record({\n\t\t\tnodes: $mol_data_array( $visavis_matrix_json_node ),\n\t\t\tlinks: $mol_data_array( $visavis_matrix_json_link )\n\t\t}),\n\t})\n\n\ttype Matrix_cell = {\n\t\tx: number\n\t\ty: number\n\t\tz: number\n\t\tcmt: string\n\t\tcmp: number\n\t\tnonformer: boolean \n\t}\n\n\texport class $visavis_matrix extends $.$visavis_matrix {\n\n\t\t@ $mol_mem\n\t\tjson() {\n\t\t\treturn $visavis_matrix_json( this.plot().json() as any )\n\t\t}\n\t\t\n\t\tnodes() {\n\t\t\treturn this.json().payload.nodes\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlinks() {\n\t\t\treturn this.json().payload.links.slice().sort( (a, b) => a.value - b.value )\n\t\t}\n\n\t\tlinks_value_min() {\n\t\t\treturn this.links()[0].value\n\t\t}\n\n\t\tlinks_value_max() {\n\t\t\treturn this.links().slice(-1)[0].value\n\t\t}\n\n\t\t@ $mol_mem\n\t\theatmap() {\n\t\t\treturn this.links().reduce( (heatmap, link) => {\n\t\t\t\tif (!heatmap && Math.floor(link.value) !== link.value) return true\n\t\t\t\telse if (link.cmp) return false\n\t\t\t\treturn heatmap\n\t\t\t}, false )\n\t\t}\n\n\t\tplot_title() {\n\t\t\treturn this.plot().id()\n\t\t}\n\n\t\tplot_body() {\n\t\t\treturn [\n\t\t\t\tthis.Root(),\n\t\t\t\t... this.heatmap() ? [ this.Side_right() ] : [],\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\torder() {\n\t\t\treturn $visavis_lib.d3().range(95).sort( (a: any, b: any) => (this.nodes() as any)[a][ this.order_current() ] - (this.nodes() as any)[b][ this.order_current() ] )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tmatrix() {\n\t\t\tconst matrix: Matrix_cell[][] = this.nodes().map( (node, i) => $visavis_lib.d3().range(95).map( (j: any) => ({ x: j, y: i, z: 0, cmt: '', cmp: 0, nonformer: false }) ) )\n\n\t\t\tfor (const link of this.links()) {\n\t\t\t\tmatrix[link.source][link.target].z += link.value;\n\t\t\t\tmatrix[link.target][link.source].z += link.value; // NB only AB-all\n\t\t\t\tmatrix[link.source][link.target].cmt = link.cmt;\n\t\t\t\tmatrix[link.target][link.source].cmt = link.cmt; // NB only AB-all\n\t\t\t\tmatrix[link.source][link.target].cmp = link.cmp || 0;\n\t\t\t\tmatrix[link.target][link.source].cmp = link.cmp || 0;\n\t\t\t}\n\n\t\t\tif (this.nonformers()) {\n\t\t\t\tfor (const item of $visavis_nonformer_pd_bin) {\n\t\t\t\t\tmatrix[item[0]][item[1]].z = 1;\n\t\t\t\t\tmatrix[item[1]][item[0]].z = 1; // NB only AB-all\n\t\t\t\t\tmatrix[item[0]][item[1]].nonformer = true;\n\t\t\t\t\tmatrix[item[1]][item[0]].nonformer = true; // NB only AB-all\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn matrix\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsize() {\n\t\t\tconst rect = this.Plot().Body().view_rect()\n\t\t\tif (!rect) return NaN\n\t\t\treturn Math.min(rect.width, rect.height) - this.plot_padding() - this.axis_width()\n\t\t}\n\n\t\t@ $mol_mem\n\t\topacity_scale() {\n\t\t\t// return $visavis_lib.d3().scaleLinear().domain([this.links_value_min(), this.links_value_max()]).range([0.2, 1]).clamp(true) // for new d3 version\n\t\t\treturn $visavis_lib.d3().scale.linear().domain([this.links_value_min(), this.links_value_max()]).range([0.2, 1]).clamp(true)\n\t\t}\n\n\t\topacity(index: number) {\n\t\t\treturn this.heatmap() ? 1 : this.opacity_scale()(index)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcolor_heatmap() {\n\t\t\t// return $visavis_lib.d3().scaleLinear().domain($visavis_lib.d3().range(0, 1, 1.0 / (this.heatmap_colors().length - 1))).range(this.heatmap_colors() as any) // for new d3 version\n\t\t\treturn $visavis_lib.d3().scale.linear().domain($visavis_lib.d3().range(0, 1, 1.0 / (this.heatmap_colors().length - 1))).range(this.heatmap_colors() as any)\n\t\t}\n\n\t\theatmap_color( index: number ) {\n\t\t\treturn this.heatmap_colors()[index]\n\t\t}\n\n\t\theatmap_color_list() {\n\t\t\treturn [\n\t\t\t\tthis.Heatmap_min(),\n\t\t\t\t... this.heatmap_colors().map( (_, index) => this.Heatmap_color(index) ),\n\t\t\t\tthis.Heatmap_max(),\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcolor_heatmap_scale() {\n\t\t\t// return $visavis_lib.d3().scaleLinear().domain([this.links_value_min(), this.links_value_max()]).range([0, 1]) // for new d3 version\n\t\t\treturn $visavis_lib.d3().scale.linear().domain([this.links_value_min(), this.links_value_max()]).range([0, 1])\n\t\t}\n\n\t\tcolor(index: number, cmp: number) {\n\t\t\tif (this.heatmap()) return cmp ? this.colorset()[1] : this.color_heatmap()( this.color_heatmap_scale()( index ) )\n\t\t\treturn this.colorset()[cmp] || '#ccc'\n\t\t}\n\n\t\t@ $mol_mem\n\t\trange() {\n\t\t\t// return $visavis_lib.d3().scaleBand().domain(this.order()).range([0, this.size()]) // for new d3 version\n\t\t\treturn $visavis_lib.d3().scale.ordinal().rangeBands([0, this.size()]).domain(this.order())\n\t\t}\n\n\t\tsvg_title_text(cell: Matrix_cell) {\n\t\t\tif (!cell.cmt) return ''\n\n\t\t\tconst text = `${cell.cmt}: ${cell.z}`\n\t\t\tconst title = !this.heatmap()\n\t\t\t\t? `${text} ${cell.z === 1 ? 'entry' : 'entries'}`\n\t\t\t\t: text\n\n\t\t\treturn title\n\t\t}\n\n\t\tcell_hovered(cell?: Matrix_cell | null) {\n\t\t\t$visavis_lib.d3().selectAll('.row text').classed('active', (_: any, index: number) => cell?.y === index)\n\t\t\t$visavis_lib.d3().selectAll('.column text').classed('active', (_: any, index: number) => cell?.x === index)\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tcell_selected(id: number, next?: boolean) {\n\t\t\t$mol_wire_solid()\n\t\t\treturn next ?? false\n\t\t}\n\n\t\t@ $mol_action\n\t\tcell_click(cell: Matrix_cell) {\n\t\t\tconst coords = [ $mol_coord_pack( cell.x, cell.y ), $mol_coord_pack( cell.y, cell.x ) ]\n\t\t\tcoords.forEach( coord => this.cell_selected( coord, !this.cell_selected(coord) ) )\n\t\t\t$visavis_lib.d3().selectAll('.cell').classed('visited', (item: any) => this.cell_selected( $mol_coord_pack( item.x, item.y ) ))\n\t\t\t// if (visavis.mpds_embedded) {\n\t\t\t// \twindow.open(window.location.protocol + '//' + window.location.host + '#search/binary%20' + term.cmt);\n\t\t\t// }\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tdraw_cells(node: SVGElement, row: Matrix_cell[]) {\n\t\t\t$visavis_lib.d3().select(node)\n\t\t\t\t.selectAll('.cell')\n\t\t\t\t.data(row.filter((d: any) => d.z))\n\t\t\t\t// .join('rect') // for new d3 version\n\t\t\t\t.enter().append('rect')\n\t\t\t\t.attr('class', (d: any) => d.nonformer ? 'nonformer cell' : 'cell')\n\t\t\t\t.attr('id', (d: any) => 'c_' + this.nodes()[d.x].num.toString() + '_' + this.nodes()[d.y].num.toString())\n\t\t\t\t.attr('x', (d: any) => this.range()(d.x) as any)\n\t\t\t\t// .attr('width', this.range().bandwidth()) // for new d3 version\n\t\t\t\t// .attr('height', this.range().bandwidth()) // for new d3 version\n\t\t\t\t.attr('width', this.range().rangeBand())\n\t\t\t\t.attr('height', this.range().rangeBand())\n\t\t\t\t.style('fill-opacity', (d: any) => this.opacity(d.z))\n\t\t\t\t.style('fill', (d: any) => this.color(d.z, d.cmp) )\n\t\t\t\t.on('mouseover', (event: MouseEvent, cell: unknown) => this.cell_hovered(cell as Matrix_cell))\n\t\t\t\t.on('mouseout', (event: MouseEvent) => this.cell_hovered(null))\n\t\t\t\t.on('click', (event: PointerEvent, cell: unknown) => this.cell_click(cell as Matrix_cell) )\n\t\t\t\t.append('svg:title').text((cell: any) => this.svg_title_text(cell))\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdraw() {\n\t\t\tif (Number.isNaN( this.size() )) return\n\n\t\t\tconst svg = $visavis_lib.d3().select('[visavis_matrix_root]')\n\t\t\t\t.attr('width', this.size() + this.axis_width())\n\t\t\t\t.attr('height', this.size() + this.axis_width())\n\t\t\t\t// .style('font-size', this.range().bandwidth()) // for new d3 version\n\t\t\t\t.style('font-size', this.range().rangeBand())\n\t\t\t\t.style('letter-spacing', '1px')\n\t\t\t\n\t\t\tconst group = svg\n\t\t\t\t[ svg.select('g').empty() ? 'append' : 'select' ]('g')\n\t\t\t\t.attr('transform', `translate(${this.axis_width()},${this.axis_width()})`)\n\n\t\t\tgroup.html(\"\")\n\t\t\n\t\t\tgroup.append('rect')\n\t\t\t\t.attr('class', 'bgmatrix')\n\t\t\t\t.attr('width', this.size())\n\t\t\t\t.attr('height', this.size());\n\n\t\t\tconst draw_cells = (node: any, row: Matrix_cell[]) => this.draw_cells(node, row)\n\t\t\n\t\t\tconst row = group.selectAll('.row')\n\t\t\t\t.data(this.matrix())\n\t\t\t\t// .join('g') // for new d3 version\n\t\t\t\t.enter().append('g')\n\t\t\t\t.attr('class', 'row')\n\t\t\t\t.attr('transform', (d: any, i: number) => 'translate(0,' + this.range()(i as any) + ')' )\n\t\t\t\t.each(function (this: any, row: any) { draw_cells(this, row) })\n\t\t\n\t\t\trow.append('line')\n\t\t\t\t.attr('x2', this.size());\n\t\t\n\t\t\trow.append('text')\n\t\t\t\t.attr('x', -6)\n\t\t\t\t// .attr('y', this.range().bandwidth() / 2) // for new d3 version\n\t\t\t\t.attr('y', this.range().rangeBand() / 2)\n\t\t\t\t.attr('dy', '.32em')\n\t\t\t\t.attr('text-anchor', 'end')\n\t\t\t\t.text((d: any, i: any)=> this.nodes()[i].name)\n\t\t\t\t\n\t\t\tconst column = group.selectAll('.column')\n\t\t\t\t.data(this.matrix())\n\t\t\t\t// .join('g') // for new d3 version\n\t\t\t\t.enter().append('g')\n\t\t\t\t.attr('class', 'column')\n\t\t\t\t.attr('transform', (d: any, i: any)=> 'translate(' + this.range()(i) + ')rotate(-90)');\n\t\t\n\t\t\tcolumn.append('line')\n\t\t\t\t.attr('x1', -this.size());\n\t\t\n\t\t\tcolumn.append('text')\n\t\t\t\t.attr('x', 6)\n\t\t\t\t// .attr('y', this.range().bandwidth() / 2) // for new d3 version\n\t\t\t\t.attr('y', this.range().rangeBand() / 2)\n\t\t\t\t.attr('dy', '.32em')\n\t\t\t\t.attr('text-anchor', 'start')\n\t\t\t\t.text((d: any, i: any) => this.nodes()[i].name);\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"visavis/matrix/matrix.view.css\",\n \"[visavis_matrix_plot] rect.nonformer {\\n\\tfill:url(#nonformer) !important;\\n\\tfill-opacity:1.0 !important;\\n}\\n\\n[visavis_matrix_plot] rect.visited{\\n\\tfill:#0f0 !important;\\n\\tfill-opacity:1.0 !important;\\n}\\n\\n[visavis_matrix_plot] rect.bgmatrix {\\n\\tfill:#f6f6f6;\\n}\\n\\n[visavis_matrix_plot] rect.bgmatrix.hidden {\\n\\tfill:#fff;\\n}\\n\\n[visavis_matrix_plot] line {\\n\\tstroke:#fff;\\n}\\n\\n[visavis_matrix_plot] text.active {\\n\\tfill:#f00;\\n\\tfont-weight:bold;\\n}\\n\"\n) }","namespace $.$$ {\n\n\tconst { per, rem, px } = $mol_style_unit\n\n\t$mol_style_define( $.$visavis_matrix, {\n\n\t\tflex: {\n\t\t\tbasis: rem(60),\n\t\t\tshrink: 0,\n\t\t},\n\n\t\tSide_right: {\n\t\t\tposition: 'absolute',\n\t\t\ttop: per(50),\n\t\t\tright: $mol_gap.space,\n\t\t\ttransform: 'translateY(-50%)'\n\t\t},\n\n\t\tHeatmap_color: {\n\t\t\twidth: rem(1),\n\t\t\theight: rem(1),\n\t\t\tmargin: px(1),\n\t\t},\n\n\t\tHeatmap_legend: {\n\t\t\talignItems: 'flex-end',\n\t\t\tflex: {\n\t\t\t\tdirection: 'column-reverse',\n\t\t\t},\n\t\t},\n\n\t\tRoot: {\n\t\t\tmargin: 'auto',\n\t\t},\n\n\t\tOrder_switch: {\n\t\t\tflex: {\n\t\t\t\tshrink: 1,\n\t\t\t},\n\t\t},\n\n\t\tPlot: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t},\n\n\t\tSetup: {\n\t\t\tflex: {\n\t\t\t\tbasis: rem(25),\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t\tBody: {\n\t\t\t\tpadding: $mol_gap.block,\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\texport class $mol_pop extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * showed? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tshowed(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * align_vert \\\n\t\t * ```\n\t\t */\n\t\talign_vert() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * align_hor \\\n\t\t * ```\n\t\t */\n\t\talign_hor() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * prefer \\vert\n\t\t * ```\n\t\t */\n\t\tprefer() {\n\t\t\treturn \"vert\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Anchor\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Anchor()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub_visible /\n\t\t * \t<= Anchor\n\t\t * \t<= Bubble\n\t\t * ```\n\t\t */\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\tthis.Anchor(),\n\t\t\t\tthis.Bubble()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Anchor null\n\t\t * ```\n\t\t */\n\t\tAnchor() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * align \\bottom_center\n\t\t * ```\n\t\t */\n\t\talign() {\n\t\t\treturn \"bottom_center\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * bubble_content /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tbubble_content() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * height_max 9999\n\t\t * ```\n\t\t */\n\t\theight_max() {\n\t\t\treturn 9999\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Bubble $mol_pop_bubble\n\t\t * \talign <= align\n\t\t * \tcontent <= bubble_content\n\t\t * \theight_max <= height_max\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tBubble() {\n\t\t\tconst obj = new this.$.$mol_pop_bubble()\n\t\t\t\n\t\t\tobj.align = () => this.align()\n\t\t\tobj.content = () => this.bubble_content()\n\t\t\tobj.height_max = () => this.height_max()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n\texport class $mol_pop_bubble extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= content\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.content()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style *\n\t\t * \t^\n\t\t * \tmaxHeight <= height_max\n\t\t * ```\n\t\t */\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t...super.style(),\n\t\t\t\tmaxHeight: this.height_max()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_pop_align <= align\n\t\t * \ttabindex 0\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_pop_align: this.align(),\n\t\t\t\ttabindex: 0\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * content /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tcontent() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * height_max 9999\n\t\t * ```\n\t\t */\n\t\theight_max() {\n\t\t\treturn 9999\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * align \\\n\t\t * ```\n\t\t */\n\t\talign() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\t/**\n\t * `Bubble` that can be shown anchored to `Anchor` element.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_pop_demo\n\t */\n\texport class $mol_pop extends $.$mol_pop {\n\t\t\n\t\t@ $mol_mem\n\t\tshowed( next = false ) {\n\t\t\tthis.focused()\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\tthis.Anchor() ,\n\t\t\t\t... this.showed() ? [ this.Bubble() ] : [] ,\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\theight_max() {\n\t\t\t\n\t\t\tconst viewport = this.$.$mol_window.size()\n\t\t\tconst rect_bubble = this.view_rect()!\n\t\t\tconst align = this.align_vert()\n\t\t\t\n\t\t\tif( align === 'bottom' ) return ( viewport.height - rect_bubble.bottom ) * .66\n\t\t\tif( align === 'top' ) return rect_bubble.top * .66\n\t\t\t\n\t\t\treturn 0\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign() {\n\t\t\tswitch( this.prefer() ) {\n\t\t\t\tcase 'hor': return `${ this.align_hor() }_${ this.align_vert() }`\n\t\t\t\tcase 'vert': return `${ this.align_vert() }_${ this.align_hor() }`\n\t\t\t\tdefault: return this.prefer()\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign_vert() {\n\t\t\tconst viewport = this.view_port()\n\t\t\t\n\t\t\tconst rect_pop = this.view_rect()\n\t\t\tif( !rect_pop ) return 'suspense'\n\t\t\t\n\t\t\treturn rect_pop.top > ( viewport.top + viewport.height / 2 ) ? 'top' : 'bottom'\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign_hor() {\n\t\t\tconst viewport = this.view_port()\n\t\t\t\n\t\t\tconst rect_pop = this.view_rect()\n\t\t\tif( !rect_pop ) return 'suspense'\n\t\t\t\n\t\t\treturn rect_pop.left > ( viewport.left + viewport.width / 2 ) ? 'left' : 'right'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tView_port() {\n\t\t\tconst view = new $mol_view\n\t\t\tview.dom_node = ()=> {\n\t\t\t\tlet node = this.dom_node() as HTMLElement\n\t\t\t\twhile( node = node.offsetParent! as HTMLElement ) {\n\t\t\t\t\tif( this.$.$mol_dom_context.getComputedStyle( node ).overflow !== 'visible' ) return node\n\t\t\t\t}\n\t\t\t\treturn this.$.$mol_dom_context.document.documentElement\n\t\t\t}\n\t\t\treturn view\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tview_port() {\n\t\t\treturn this.View_port().view_rect() ?? { ... this.$.$mol_window.size(), left: 0, top: 0 }\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/pop/pop.view.css\",\n \"[mol_pop] {\\n\\tposition: relative;\\n\\tdisplay: inline-flex;\\n}\\n\\n[mol_pop_bubble] {\\n\\tbox-shadow: 0 0 1rem hsla(0,0%,0%,.5);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_popup);\\n\\tbackground: var(--mol_theme_back);\\n\\tmax-width: none;\\n\\tmax-height: none;\\n\\t/* overflow: hidden;\\n\\toverflow-y: scroll;\\n\\toverflow-y: overlay; */\\n\\tword-break: normal;\\n\\twidth: max-content;\\n\\theight: max-content;\\n\\tflex-direction: column;\\n\\tmax-width: 80vw;\\n\\tmax-height: 80vw;\\n\\tcontain: paint;\\n}\\n\\n:where( [mol_pop_bubble] > * ) {\\n\\tbackground: var(--mol_theme_card);\\n}\\n\\n[mol_pop_bubble][mol_scroll] {\\n\\tbackground: var(--mol_theme_back);\\n}\\n\\n[mol_pop_bubble]:focus {\\n\\toutline: none;\\n}\\n\\n[mol_pop_align=\\\"suspense_suspense\\\"] {\\n\\topacity: 0;\\n}\\n\\n[mol_pop_align=\\\"left_top\\\"] {\\n\\ttransform: translate(-100%);\\n\\tleft: 0;\\n\\tbottom: 0;\\n}\\n\\n[mol_pop_align=\\\"left_center\\\"] {\\n\\ttransform: translate(-100%, -50%);\\n\\tleft: 0;\\n\\ttop: 50%;\\n}\\n\\n[mol_pop_align=\\\"left_bottom\\\"] {\\n\\ttransform: translate(-100%);\\n\\tleft: 0;\\n\\ttop: 0;\\n}\\n\\n[mol_pop_align=\\\"right_top\\\"] {\\n\\ttransform: translate(100%);\\n\\tright: 0;\\n\\tbottom: 0;\\n}\\n\\n[mol_pop_align=\\\"right_center\\\"] {\\n\\ttransform: translate(100%, -50%);\\n\\tright: 0;\\n\\ttop: 50%;\\n}\\n\\n[mol_pop_align=\\\"right_bottom\\\"] {\\n\\ttransform: translate(100%);\\n\\tright: 0;\\n\\ttop: 0;\\n}\\n\\n[mol_pop_align=\\\"center\\\"] {\\n\\tleft: 50%;\\n\\ttop: 50%;\\n\\ttransform: translate(-50%, -50%);\\n}\\n\\n[mol_pop_align=\\\"top_left\\\"] {\\n\\tright: 0;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"top_center\\\"] {\\n\\ttransform: translate(-50%);\\n\\tleft: 50%;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"top_right\\\"] {\\n\\tleft: 0;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_left\\\"] {\\n\\tright: 0;\\n\\ttop: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_center\\\"] {\\n\\ttransform: translate(-50%);\\n\\tleft: 50%;\\n\\ttop: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_right\\\"] {\\n\\tleft: 0;\\n\\ttop: 100%;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_pick extends $mol_pop {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tkeydown?event <=> keydown?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tkeydown: (event?: any) => this.keydown(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Anchor <= Trigger\n\t\t * ```\n\t\t */\n\t\tAnchor() {\n\t\t\treturn this.Trigger()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keydown?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeydown(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * trigger_enabled true\n\t\t * ```\n\t\t */\n\t\ttrigger_enabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clicks? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclicks(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * trigger_content /$mol_view_content <= title\n\t\t * ```\n\t\t */\n\t\ttrigger_content() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Trigger $mol_check\n\t\t * \tminimal_width 40\n\t\t * \tminimal_height 40\n\t\t * \tenabled <= trigger_enabled\n\t\t * \tchecked? <=> showed?\n\t\t * \tclicks? <=> clicks?\n\t\t * \tsub <= trigger_content\n\t\t * \thint <= hint\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTrigger() {\n\t\t\tconst obj = new this.$.$mol_check()\n\t\t\t\n\t\t\tobj.minimal_width = () => 40\n\t\t\tobj.minimal_height = () => 40\n\t\t\tobj.enabled = () => this.trigger_enabled()\n\t\t\tobj.checked = (next?: any) => this.showed(next)\n\t\t\tobj.clicks = (next?: any) => this.clicks(next)\n\t\t\tobj.sub = () => this.trigger_content()\n\t\t\tobj.hint = () => this.hint()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\t/**\n\t * Pop-up display and hide by mouse click, also hide by unfocus.\n\t * Based on [mol_pop](https://mol.hyoo.ru/#!section=demos/demo=mol_pop_demo) component.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_pick_demo\n\t */\n\texport class $mol_pick extends $.$mol_pick {\n\t\t\n\t\tkeydown( event : KeyboardEvent ) {\n\t\t\t\n\t\t\tif( !this.trigger_enabled() ) return\n\n\t\t\tif( event.defaultPrevented ) return \n\t\t\t\n\t\t\tif( event.keyCode === $mol_keyboard_code.escape ) {\n\t\t\t\tif( !this.showed() ) return\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.showed( false )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/pick/pick.view.css\",\n \"[mol_pick_trigger] {\\n\\talign-items: center;\\n\\tflex-grow: 1;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_hotkey extends $mol_plugin {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tkeydown?event <=> keydown?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tkeydown: (event?: any) => this.keydown(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * key *\n\t\t * ```\n\t\t */\n\t\tkey() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_ctrl false\n\t\t * ```\n\t\t */\n\t\tmod_ctrl() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_alt false\n\t\t * ```\n\t\t */\n\t\tmod_alt() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_shift false\n\t\t * ```\n\t\t */\n\t\tmod_shift() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keydown?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeydown(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\t/**\n\t * Plugin which adds handlers for keyboard keys.\n\t * @see [mol_keyboard_code](../keyboard/code/code.ts)\n\t */\n\texport class $mol_hotkey extends $.$mol_hotkey {\n\n\t\tkey() {\n\t\t\treturn super.key() as {\n\t\t\t\t[ key in keyof typeof $mol_keyboard_code ]? : ( event : KeyboardEvent )=> void\n\t\t\t}\n\t\t}\n\t\t\n\t\tkeydown( event? : KeyboardEvent ) {\n\n\t\t\tif( !event ) return\n\t\t\tif( event.defaultPrevented ) return\n\n\t\t\tlet name = $mol_keyboard_code[ event.keyCode ] as keyof typeof $mol_keyboard_code\n\t\t\t\n\t\t\tif( this.mod_ctrl() !== ( event.ctrlKey || event.metaKey ) ) return\n\t\t\tif( this.mod_alt() !== event.altKey ) return\n\t\t\tif( this.mod_shift() !== event.shiftKey ) return\n\t\t\t\n\t\t\tconst handle = this.key()[ name ]\n\t\t\tif( handle ) handle( event )\n\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\texport class $mol_nav extends $mol_plugin {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cycle? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcycle(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_ctrl false\n\t\t * ```\n\t\t */\n\t\tmod_ctrl() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_shift false\n\t\t * ```\n\t\t */\n\t\tmod_shift() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_alt false\n\t\t * ```\n\t\t */\n\t\tmod_alt() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keys_x? /\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeys_x(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keys_y? /\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeys_y(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current_x? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent_x(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current_y? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent_y(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_up?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_up(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_down?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_down(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_left?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_left(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_right?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_right(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tkeydown?event <=> event_key?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tkeydown: (event?: any) => this.event_key(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_key?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_key(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\t\n\t/**\n\t * Plugin which can navigate in list of items\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_nav_demo\n\t */\n\texport class $mol_nav extends $.$mol_nav {\n\t\t\n\t\tevent_key( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\t\t\tif( event.defaultPrevented ) return\n\t\t\t\n\t\t\tif( this.mod_ctrl() && !event.ctrlKey ) return\n\t\t\tif( this.mod_shift() && !event.shiftKey ) return\n\t\t\tif( this.mod_alt() && !event.altKey ) return\n\t\t\t\n\t\t\tswitch( event.keyCode ) {\n\t\t\t\tcase $mol_keyboard_code.up : return this.event_up( event )\n\t\t\t\tcase $mol_keyboard_code.down : return this.event_down( event )\n\t\t\t\tcase $mol_keyboard_code.left : return this.event_left( event )\n\t\t\t\tcase $mol_keyboard_code.right : return this.event_right( event )\n\t\t\t\tcase $mol_keyboard_code.pageUp : return this.event_up( event )\n\t\t\t\tcase $mol_keyboard_code.pageDown : return this.event_down( event )\n\t\t\t}\n\t\t}\n\t\t\n\t\tevent_up( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_y()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_y = this.index_y();\n\t\t\t\n\t\t\tconst index_old = index_y === null ? 0 : index_y\n\t\t\tconst index_new = ( index_old + keys.length - 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_old === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_y( this.keys_y()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_down( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_y()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_y = this.index_y();\n\t\t\t\n\t\t\tconst index_old = index_y === null ? keys.length - 1 : index_y;\n\t\t\tconst index_new = ( index_old + 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_new === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_y( this.keys_y()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_left( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_x()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_x = this.index_x();\n\t\t\t\n\t\t\tconst index_old = index_x === null ? 0 : index_x\n\t\t\tconst index_new = ( index_old + keys.length - 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_old === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_x( this.keys_x()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_right( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_x()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_x = this.index_x();\n\t\t\t\n\t\t\tconst index_old = index_x === null ? keys.length - 1 : index_x\n\t\t\tconst index_new = ( index_old + 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_new === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_x( this.keys_x()[ index_new ] )\n\t\t}\n\t\t\n\t\tindex_y() {\n\t\t\tlet index = this.keys_y().indexOf( this.current_y() )\n\t\t\tif( index < 0 ) return null\n\t\t\t\n\t\t\treturn index\n\t\t}\n\t\t\n\t\tindex_x() {\n\t\t\tlet index = this.keys_x().indexOf( this.current_x() )\n\t\t\tif( index < 0 ) return null\n\t\t\t\n\t\t\treturn index\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\texport class $mol_string extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\input\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"input\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 40\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 40\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * autocomplete false\n\t\t * ```\n\t\t */\n\t\tautocomplete() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection? /number\n\t\t * \t0\n\t\t * \t0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tselection(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t\t0,\n\t\t\t\t0\n\t\t\t] as readonly number[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * auto /\n\t\t * \t<= selection_watcher\n\t\t * \t<= error_report\n\t\t * ```\n\t\t */\n\t\tauto() {\n\t\t\treturn [\n\t\t\t\tthis.selection_watcher(),\n\t\t\t\tthis.error_report()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \tdisabled <= disabled\n\t\t * \tvalue <= value_changed?\n\t\t * \tplaceholder <= hint_visible\n\t\t * \tspellcheck <= spellcheck\n\t\t * \tautocomplete <= autocomplete_native\n\t\t * \tselectionEnd <= selection_end\n\t\t * \tselectionStart <= selection_start\n\t\t * \tinputMode <= keyboard\n\t\t * \tenterkeyhint <= enter\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\tdisabled: this.disabled(),\n\t\t\t\tvalue: this.value_changed(),\n\t\t\t\tplaceholder: this.hint_visible(),\n\t\t\t\tspellcheck: this.spellcheck(),\n\t\t\t\tautocomplete: this.autocomplete_native(),\n\t\t\t\tselectionEnd: this.selection_end(),\n\t\t\t\tselectionStart: this.selection_start(),\n\t\t\t\tinputMode: this.keyboard(),\n\t\t\t\tenterkeyhint: this.enter()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmaxlength <= length_max\n\t\t * \ttype <= type?\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmaxlength: this.length_max(),\n\t\t\t\ttype: this.type()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tinput?event <=> event_change?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tinput: (event?: any) => this.event_change(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plugins / <= Submit\n\t\t * ```\n\t\t */\n\t\tplugins() {\n\t\t\treturn [\n\t\t\t\tthis.Submit()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection_watcher null\n\t\t * ```\n\t\t */\n\t\tselection_watcher() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * error_report null\n\t\t * ```\n\t\t */\n\t\terror_report() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * disabled false\n\t\t * ```\n\t\t */\n\t\tdisabled() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tvalue(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value_changed? <=> value?\n\t\t * ```\n\t\t */\n\t\tvalue_changed(next?: any) {\n\t\t\treturn this.value(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_visible <= hint\n\t\t * ```\n\t\t */\n\t\thint_visible() {\n\t\t\treturn this.hint()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * spellcheck true\n\t\t * ```\n\t\t */\n\t\tspellcheck() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * autocomplete_native \\\n\t\t * ```\n\t\t */\n\t\tautocomplete_native() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection_end 0\n\t\t * ```\n\t\t */\n\t\tselection_end() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection_start 0\n\t\t * ```\n\t\t */\n\t\tselection_start() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keyboard \\text\n\t\t * ```\n\t\t */\n\t\tkeyboard() {\n\t\t\treturn \"text\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enter \\go\n\t\t * ```\n\t\t */\n\t\tenter() {\n\t\t\treturn \"go\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * length_max +Infinity\n\t\t * ```\n\t\t */\n\t\tlength_max() {\n\t\t\treturn +Infinity\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type? \\text\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\ttype(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"text\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_change?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_change(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit_with_ctrl false\n\t\t * ```\n\t\t */\n\t\tsubmit_with_ctrl() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsubmit(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Submit $mol_hotkey\n\t\t * \tmod_ctrl <= submit_with_ctrl\n\t\t * \tkey * enter?event <=> submit?event\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSubmit() {\n\t\t\tconst obj = new this.$.$mol_hotkey()\n\t\t\t\n\t\t\tobj.mod_ctrl = () => this.submit_with_ctrl()\n\t\t\tobj.key = () => ({\n\t\t\t\tenter: (event?: any) => this.submit(event)\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\t/**\n\t * An input field for entering single line text.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_string_demo\n\t */\n\texport class $mol_string extends $.$mol_string {\n\t\t\n\t\t@ $mol_action\n\t\tevent_change( next? : Event ) {\n\t\t\tif( !next ) return\n\t\t\tconst el = next.target as HTMLInputElement\n\t\t\tconst from = el.selectionStart\n\t\t\tconst to = el.selectionEnd\n\t\t\ttry {\n\t\t\t\tel.value = this.value_changed( el.value )\n\t\t\t} catch( error ) {\n\t\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\t\tif( error instanceof Error ) {\n\t\t\t\t\tel.setCustomValidity( error.message )\n\t\t\t\t\tel.reportValidity()\n\t\t\t\t}\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t}\n\t\t\tif( to === null ) return \n\t\t\tel.selectionEnd = to\n\t\t\tel.selectionStart = from\n\t\t\tthis.selection_change( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\terror_report() {\n\t\t\ttry {\n\t\t\t\tif( this.focused() ) this.value()\n\t\t\t} catch( error ) {\n\t\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\t\tif( error instanceof Error ) {\n\t\t\t\t\tel.setCustomValidity( error.message )\n\t\t\t\t\tel.reportValidity()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\thint_visible() {\n\t\t\treturn ( this.enabled() ? this.hint() : '' ) || ' '\n\t\t}\n\n\t\tdisabled() {\n\t\t\treturn !this.enabled()\n\t\t}\n\n\t\tautocomplete_native() {\n\t\t\treturn this.autocomplete() ? 'on' : 'off'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tselection_watcher() {\n\t\t\treturn new $mol_dom_listener(\n\t\t\t\tthis.$.$mol_dom_context.document,\n\t\t\t\t'selectionchange',\n\t\t\t\t$mol_wire_async( event => this.selection_change( event ) ),\n\t\t\t)\n\t\t}\n\t\t\n\t\tselection_change( event: Event ) {\n\t\t\t\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el !== this.$.$mol_dom_context.document.activeElement ) return\n\t\t\t\n\t\t\tconst [ from, to ] = this.selection([\n\t\t\t\tel.selectionStart!,\n\t\t\t\tel.selectionEnd!,\n\t\t\t])\n\t\t\t\n\t\t\tel.selectionEnd = to\n\t\t\tel.selectionStart = from\n\n\t\t\tif( to !== from && el.selectionEnd === el.selectionStart ) {\n\t\t\t\tel.selectionEnd = to\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tselection_start() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el.selectionStart === null ) return undefined as any as number\n\t\t\treturn this.selection()[0]\n\t\t}\n\n\t\tselection_end() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el.selectionEnd === null ) return undefined as any as number\n\t\t\treturn this.selection()[1]\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/string/string.view.css\",\n \"[mol_string] {\\n\\tbox-sizing: border-box;\\n\\toutline-offset: 0;\\n\\tborder: none;\\n\\tborder-radius: var(--mol_gap_round);\\n\\twhite-space: pre-line;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tposition: relative;\\n\\tfont: inherit;\\n\\tflex: 1 1 auto;\\n\\tbackground: transparent;\\n\\tmin-width: 0;\\n\\tcolor: inherit;\\n\\tbackground: var(--mol_theme_field);\\n}\\n\\n[mol_string]:disabled:not(:placeholder-shown) {\\n\\tbackground-color: transparent;\\n\\tcolor: var(--mol_theme_text);\\n}\\n\\n[mol_string]:where(:not(:disabled)) {\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_line);\\n}\\n\\n[mol_string]:where(:not(:disabled)):hover {\\n\\tbox-shadow: inset 0 0 0 2px var(--mol_theme_line);\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_string]:focus {\\n\\toutline: none;\\n\\tz-index: var(--mol_layer_focus);\\n\\tcolor: var(--mol_theme_text);\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_focus);\\n}\\n\\n[mol_string]::placeholder {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_string]::-ms-clear {\\n\\tdisplay: none;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_icon_cross extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12L19 6.41Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12L19 6.41Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_paragraph extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * line_height 24\n\t\t * ```\n\t\t */\n\t\tline_height() {\n\t\t\treturn 24\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * letter_width 7\n\t\t * ```\n\t\t */\n\t\tletter_width() {\n\t\t\treturn 7\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * width_limit +Infinity\n\t\t * ```\n\t\t */\n\t\twidth_limit() {\n\t\t\treturn +Infinity\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_width 0\n\t\t * ```\n\t\t */\n\t\trow_width() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\texport class $mol_paragraph extends $.$mol_paragraph {\n\n\t\t@ $mol_mem\n\t\tmaximal_width() {\n\n\t\t\tlet width = 0\n\t\t\tconst letter = this.letter_width()\n\t\t\t\n\t\t\tfor( const kid of this.sub() ) {\n\t\t\t\t\n\t\t\t\tif( !kid ) continue\n\t\t\t\t\n\t\t\t\tif( kid instanceof $mol_view ) {\n\t\t\t\t\twidth += kid.maximal_width()\n\t\t\t\t} else if( typeof kid !== 'object' ) {\n\t\t\t\t\twidth += String( kid ).length * letter\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn width\n\n\t\t}\n\n\t\twidth_limit() {\n\t\t\treturn this.$.$mol_window.size().width\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.letter_width()\n\t\t}\n\n\t\t@ $mol_mem\n\t\trow_width() {\n\t\t\treturn Math.max( Math.min( this.width_limit() , this.maximal_width() ) , this.letter_width() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\treturn Math.max( 1 , Math.ceil( this.maximal_width() / this.row_width() ) ) * this.line_height()\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/paragraph/paragraph.view.css\",\n \":where([mol_paragraph]) {\\n\\tmargin: 0;\\n\\tmax-width: 100%;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_dimmer extends $mol_paragraph {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * haystack \\\n\t\t * ```\n\t\t */\n\t\thaystack() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * needle \\\n\t\t * ```\n\t\t */\n\t\tneedle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= parts\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.parts()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Low* $mol_paragraph sub / <= string*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tLow(id: any) {\n\t\t\tconst obj = new this.$.$mol_paragraph()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.string(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * High* $mol_paragraph sub / <= string*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tHigh(id: any) {\n\t\t\tconst obj = new this.$.$mol_paragraph()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.string(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * parts /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tparts() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * string* \\\n\t\t * ```\n\t\t */\n\t\tstring(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","interface String {\n\t\n\tmatch< RE extends RegExp >( regexp: RE ): ReturnType<\n\t\tRE[ typeof Symbol.match ]\n\t>\n\t\n matchAll< RE extends RegExp >( regexp: RE ): ReturnType<\n\t\tRE[ typeof Symbol.matchAll ]\n\t>\n\t\n}\n\nnamespace $ {\n\t\n\ttype Groups_to_params = {\n\t\t[P in keyof T]?: T[P] | boolean | undefined;\n\t};\t\n\n\texport type $mol_regexp_source =\n\t| number\n\t| string\n\t| RegExp\n\t| { [ key in string ] : $mol_regexp_source }\n\t| readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\n\texport type $mol_regexp_groups< Source extends $mol_regexp_source >\n\t\n\t\t= Source extends number\n\t\t? {}\n\t\t\n\t\t: Source extends string\n\t\t? {}\n\t\t\n\t\t: Source extends $mol_regexp_source[]\n\t\t? $mol_type_merge< $mol_type_intersect< {\n\t\t\t[ key in Extract< keyof Source , number > ] : $mol_regexp_groups< Source[ key ] >\n\t\t}[ Extract< keyof Source , number > ] > >\n\t\t\n\t\t: Source extends RegExp\n\t\t? Record< string, string > extends NonNullable< NonNullable< ReturnType< Source['exec'] > >[ 'groups' ] >\n\t\t\t? {}\n\t\t\t: NonNullable< NonNullable< ReturnType< Source['exec'] > >[ 'groups' ] >\n\t\t\n\t\t: Source extends { readonly [ key in string ] : $mol_regexp_source }\n\t\t? $mol_type_merge< $mol_type_intersect< {\n\t\t\t[ key in keyof Source ] :\n\t\t\t\t$mol_type_merge<\n\t\t\t\t\t& $mol_type_override<\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treadonly [ k in Extract< keyof Source , string > ]: string\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treadonly [ k in key ]:\n\t\t\t\t\t\t\t\tSource[ key ] extends string\n\t\t\t\t\t\t\t\t\t? Source[ key ]\n\t\t\t\t\t\t\t\t\t: string\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t& $mol_regexp_groups< Source[ key ] >\n\t\t\t\t>\n\t\t}[ keyof Source ] > >\n\n\t\t: never\n\t\t\n\t/** Type safe reguar expression builder */\n\texport class $mol_regexp< Groups extends Record< string , string > > extends RegExp {\n\t\t\n\t\t/** Prefer to use $mol_regexp.from */\n\t\tconstructor( source : string , flags : string = 'gsu' , readonly groups : ( Extract< keyof Groups , string > )[] = [] ) {\n\t\t\tsuper( source , flags )\n\t\t}\n\t\t\n\t\t*[Symbol.matchAll] (str:string): IterableIterator< RegExpMatchArray & $mol_type_override< RegExpMatchArray, { groups?: { [ key in keyof Groups ] : string } } > > {\n\t\t\tconst index = this.lastIndex\n\t\t\tthis.lastIndex = 0\n\t\t\ttry {\n\t\t\t\twhile ( this.lastIndex < str.length ) {\n\t\t\t\t\tconst found = this.exec(str)\n\t\t\t\t\tif( !found ) break\n\t\t\t\t\tyield found\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tthis.lastIndex = index\n\t\t\t}\n\t\t}\n\t\t\n\t\t/** Parses input and returns found capture groups or null */\n\t\t[ Symbol.match ]( str : string ): null | RegExpMatchArray {\n\t\t\tconst res = [ ... this[Symbol.matchAll]( str ) ].filter( r => r.groups ).map( r => r[0] )\n\t\t\tif( !res.length ) return null\n\t\t\treturn res as RegExpMatchArray\n\t\t}\n\t\t\n\t\t/** Splits string by regexp edges */\n\t\t[ Symbol.split ]( str : string ): string[] {\n\t\t\t\n\t\t\tconst res = [] as string[]\n\t\t\tlet token_last = null\n\t\t\t\n\t\t\tfor( let token of this[Symbol.matchAll]( str ) ) {\n\t\t\t\tif( token.groups && ( token_last ? token_last.groups : true ) ) res.push( '' )\n\t\t\t\tres.push( token[0] )\n\t\t\t\ttoken_last = token\n\t\t\t}\n\t\t\t\n\t\t\tif( !res.length ) res.push( '' )\n\t\t\t\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttest( str : string ): boolean {\n\t\t\treturn Boolean( str.match( this) )\n\t\t}\n\t\t\n\t\texec( str : string ): RegExpExecArray & $mol_type_override< RegExpExecArray , { groups?: { [ key in keyof Groups ] : string } } > | null {\n\t\t\t\n\t\t\tconst from = this.lastIndex\n\t\t\tif( from >= str.length ) return null\n\t\t\t\n\t\t\tconst res = super.exec( str )\n\t\t\tif( res === null ) {\n\t\t\t\tthis.lastIndex = str.length\n\t\t\t\tif( !str ) return null\n\t\t\t\treturn Object.assign( [ str.slice( from ) ], {\n\t\t\t\t\tindex: from,\n\t\t\t\t\tinput: str,\n\t\t\t\t} ) as any\n\t\t\t}\n\n\t\t\tif( from === this.lastIndex ) {\n\t\t\t\t$mol_fail( new Error( 'Captured empty substring' ) )\n\t\t\t}\n\n\t\t\ttype Token = { [ key in keyof Groups ] : string } & { [ key : number ] : string }\n\t\t\tconst groups = {} as Token\n\t\t\t\n\t\t\tconst skipped = str.slice( from , this.lastIndex - res[0].length )\n\t\t\tif( skipped ) {\n\t\t\t\tthis.lastIndex = this.lastIndex - res[0].length\n\t\t\t\treturn Object.assign( [ skipped ], {\n\t\t\t\t\tindex: from,\n\t\t\t\t\tinput: res.input,\n\t\t\t\t} ) as any\n\t\t\t}\n\t\t\t\n\t\t\tfor( let i = 0 ; i < this.groups.length ; ++i ) {\n\t\t\t\tconst group = this.groups[ i ]\n\t\t\t\tgroups[ group ] = groups[ group ] || res[ i + 1 ] || '' as any\n\t\t\t}\n\n\t\t\treturn Object.assign( res, { groups } )\n\t\t}\n\t\t\n\t\tgenerate(\n\t\t\tparams: Groups_to_params< Groups >\n\t\t): string | null {\n\t\t\treturn null\n\t\t}\n\t\t\n\t\tget native() {\n\t\t\treturn new RegExp( this.source, this.flags )\n\t\t}\n\n\t\t/** Makes regexp that non-greedy repeats this pattern from min to max count */\n\t\tstatic repeat<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\tmin = 0 ,\n\t\t\tmax = Number.POSITIVE_INFINITY ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\t\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\tconst upper = Number.isFinite( max ) ? max : ''\n\t\t\t\n\t\t\tconst str = `(?:${ regexp.source }){${ min },${ upper }}?`\n\t\t\tconst regexp2 = new $mol_regexp( str , regexp.flags , regexp.groups )\n\t\t\t\n\t\t\tregexp2.generate = params => {\n\t\t\t\tconst res = regexp.generate( params )\n\t\t\t\tif( res ) return res\n\t\t\t\tif( min > 0 ) return res\n\t\t\t\treturn ''\n\t\t\t}\n\t\n\t\t\treturn regexp2\n\t\n\t\t}\n\n\t\t/** Makes regexp that greedy repeats this pattern from min to max count */\n\t\tstatic repeat_greedy<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\tmin = 0 ,\n\t\t\tmax = Number.POSITIVE_INFINITY ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\t\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\tconst upper = Number.isFinite( max ) ? max : ''\n\t\t\t\n\t\t\tconst str = `(?:${ regexp.source }){${ min },${ upper }}`\n\t\t\tconst regexp2 = new $mol_regexp( str , regexp.flags , regexp.groups )\n\t\t\t\n\t\t\tregexp2.generate = params => {\n\t\t\t\tconst res = regexp.generate( params )\n\t\t\t\tif( res ) return res\n\t\t\t\tif( min > 0 ) return res\n\t\t\t\treturn ''\n\t\t\t}\n\t\n\t\t\treturn regexp2\n\t\t}\n\n\t\t/** Makes regexp that match any of options */\n\t\tstatic vary<\n\t\t\tSources extends readonly $mol_regexp_source[]\n\t\t>(\n\t\t\tsources : Sources ,\n\t\t) {\n\t\t\t\n\t\t\tconst groups = [] as string[]\n\t\t\t\n\t\t\tconst chunks = sources.map( source => {\n\n\t\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\tgroups.push( ... regexp.groups )\n\t\t\t\t\n\t\t\t\treturn regexp.source\n\n\t\t\t} ) as any as readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\t\t\t\n\t\t\treturn new $mol_regexp< $mol_regexp_groups< Sources[number] > >(\n\t\t\t\t`(?:${ chunks.join('|') })` ,\n\t\t\t\t'' ,\n\t\t\t\tgroups as any[] ,\n\t\t\t)\n\t\t\t\n\t\t}\n\n\t\t/** Makes regexp that allow absent of this pattern */\n\t\tstatic optional<\n\t\t\tSource extends $mol_regexp_source\n\t\t>( source : Source ) {\n\t\t\treturn $mol_regexp.repeat_greedy( source , 0 , 1 )\n\t\t}\n\n\t\t/** Makes regexp that look ahead for pattern */\n\t\tstatic force_after( source : $mol_regexp_source ) {\n\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`(?=${ regexp.source })` ,\n\t\t\t\tregexp.flags ,\n\t\t\t\tregexp.groups ,\n\t\t\t)\n\n\t\t}\n\n\t\t/** Makes regexp that look ahead for pattern */\n\t\tstatic forbid_after( source : $mol_regexp_source ) {\n\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`(?!${ regexp.source })` ,\n\t\t\t\tregexp.flags ,\n\t\t\t\tregexp.groups ,\n\t\t\t)\n\n\t\t}\n\n\t\t/** Converts some js values to regexp */\n\t\tstatic from<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\t{ ignoreCase , multiline } : Partial< Pick< RegExp , 'ignoreCase' | 'multiline' > > = {\n\t\t\t\tignoreCase : false ,\n\t\t\t\tmultiline : false ,\n\t\t\t} ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\n\t\t\tlet flags = 'gsu'\n\t\t\tif( multiline ) flags += 'm'\n\t\t\tif( ignoreCase ) flags += 'i'\n\n\t\t\tif( typeof source === 'number' ) {\n\n\t\t\t\tconst src = `\\\\u{${ source.toString(16) }}`\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >( src , flags )\n\t\t\t\tregexp.generate = ()=> src\n\t\t\t\treturn regexp\n\n\t\t\t} if( typeof source === 'string' ) {\n\n\t\t\t\tconst src = source.replace( /[.*+?^${}()|[\\]\\\\]/g , '\\\\$&' ) \n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >( src , flags )\n\t\t\t\tregexp.generate = ()=> source\n\t\t\t\treturn regexp\n\n\t\t\t} else if( source instanceof $mol_regexp ) {\n\t\t\t\t\n\t\t\t\tconst regexp = new $mol_regexp( source.source, flags, source.groups )\n\t\t\t\tregexp.generate = params => source.generate( params )\n\t\t\t\treturn regexp\n\t\t\t\t\n\t\t\t} if( source instanceof RegExp ) {\n\n\n\t\t\t\tconst test = new RegExp( '|' + source.source )\n\t\t\t\tconst groups = Array.from(\n\t\t\t\t\t{ length : test.exec('')!.length - 1 } ,\n\t\t\t\t\t( _ , i )=> String( i + 1 ) ,\n\t\t\t\t)\n\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >(\n\t\t\t\t\tsource.source ,\n\t\t\t\t\tsource.flags ,\n\t\t\t\t\tgroups as any ,\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tregexp.generate = ()=> ''\n\n\t\t\t\treturn regexp\n\n\t\t\t} if( Array.isArray( source ) ) {\n\n\t\t\t\tconst patterns = source.map( src => Array.isArray( src )\n\t\t\t\t\t? $mol_regexp.optional( src as any )\n\t\t\t\t\t: $mol_regexp.from( src )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tconst chunks = patterns.map( pattern => pattern.source )\n\t\t\t\t\n\t\t\t\tconst groups = [] as ( Extract< keyof $mol_regexp_groups< Source > , string > )[]\n\n\t\t\t\tlet index = 0\n\t\t\n\t\t\t\tfor( const pattern of patterns ) {\n\t\t\t\t\t\n\t\t\t\t\tfor( let group of pattern.groups ) {\n\t\t\t\t\t\tif( Number( group ) >= 0 ) {\n\t\t\t\t\t\t\tgroups.push( String( index ++ ) as any )\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tgroups.push( group )\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst regexp = new $mol_regexp( chunks.join( '' ) , flags , groups )\n\t\t\t\t\n\t\t\t\tregexp.generate = params => {\n\t\t\t\t\tlet res = ''\n\t\t\t\t\tfor( const pattern of patterns ) {\n\t\t\t\t\t\tlet sub = pattern.generate( params )\n\t\t\t\t\t\tif( sub === null ) return ''\n\t\t\t\t\t\tres += sub\n\t\t\t\t\t}\n\t\t\t\t\treturn res\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn regexp\n\t\t\n\t\t\t} else {\n\n\t\t\t\tconst groups = [] as string[]\n\n\t\t\t\tconst chunks = Object.keys( source ).map( name => {\n\n\t\t\t\t\tgroups.push( name )\n\n\t\t\t\t\tconst regexp = $mol_regexp.from( (source as any)[ name ] )\n\t\t\t\t\tgroups.push( ... regexp.groups )\n\t\t\t\t\t\n\t\t\t\t\treturn `(${regexp.source})`\n\n\t\t\t\t} ) as any as readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >(\n\t\t\t\t\t`(?:${ chunks.join('|') })` ,\n\t\t\t\t\tflags ,\n\t\t\t\t\tgroups as any[] ,\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tconst validator = new RegExp( '^' + regexp.source + '$', flags )\n\t\t\t\tregexp.generate = (params: any) => {\n\t\t\t\t\t\n\t\t\t\t\tfor( let option in source ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( option in params ) {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( typeof params[ option ] === 'boolean' ) {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif( !params[ option as any ] ) continue\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tconst str = String( params[ option ] )\n\t\t\t\t\t\t\t\tif( str.match( validator ) ) return str\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t$mol_fail( new Error( `Wrong param: ${option}=${str}` ) )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif( typeof (source as any)[ option ] !== 'object' ) continue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst res = $mol_regexp.from( (source as any)[ option ] ).generate( params )\n\t\t\t\t\t\tif( res ) return res\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn regexp\n\n\t\t\t}\n\t\n\t\t}\n\n\t\t/** Makes regexp which includes only unicode category */\n\t\tstatic unicode_only( ... category: $mol_unicode_category ) {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`\\\\p{${ category.join( '=' ) }}`\n\t\t\t)\n\t\t}\n\n\t\t/** Makes regexp which excludes unicode category */\n\t\tstatic unicode_except( ... category: $mol_unicode_category ) {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`\\\\P{${ category.join( '=' ) }}`\n\t\t\t)\n\t\t}\n\n\t\tstatic char_range(\n\t\t\tfrom: number,\n\t\t\tto: number,\n\t\t): $mol_regexp<{}> {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`${ $mol_regexp.from( from ).source }-${ $mol_regexp.from( to ).source }`\n\t\t\t)\n\t\t}\n\n\t\tstatic char_only(\n\t\t\t... allowed: readonly [ $mol_regexp_source, ... $mol_regexp_source[] ]\n\t\t): $mol_regexp<{}> {\n\t\t\tconst regexp = allowed.map( f => $mol_regexp.from( f ).source ).join('')\n\t\t\treturn new $mol_regexp( `[${ regexp }]` )\n\t\t}\n\n\t\tstatic char_except(\n\t\t\t... forbidden: readonly [ $mol_regexp_source, ... $mol_regexp_source[] ]\n\t\t): $mol_regexp<{}> {\n\t\t\tconst regexp = forbidden.map( f => $mol_regexp.from( f ).source ).join('')\n\t\t\treturn new $mol_regexp( `[^${ regexp }]` )\n\t\t}\n\t\t\n\t\tstatic decimal_only = $mol_regexp.from( /\\d/gsu )\n\t\tstatic decimal_except = $mol_regexp.from( /\\D/gsu )\n\t\t\n\t\tstatic latin_only = $mol_regexp.from( /\\w/gsu )\n\t\tstatic latin_except = $mol_regexp.from( /\\W/gsu )\n\t\t\n\t\tstatic space_only = $mol_regexp.from( /\\s/gsu )\n\t\tstatic space_except = $mol_regexp.from( /\\S/gsu )\n\t\t\n\t\tstatic word_break_only = $mol_regexp.from( /\\b/gsu )\n\t\tstatic word_break_except = $mol_regexp.from( /\\B/gsu )\n\t\t\n\t\tstatic tab = $mol_regexp.from( /\\t/gsu )\n\t\tstatic slash_back = $mol_regexp.from( /\\\\/gsu )\n\t\tstatic nul = $mol_regexp.from( /\\0/gsu )\n\t\t\n\t\tstatic char_any = $mol_regexp.from( /./gsu )\n\t\tstatic begin = $mol_regexp.from( /^/gsu )\n\t\tstatic end = $mol_regexp.from( /$/gsu )\n\t\tstatic or = $mol_regexp.from( /|/gsu )\n\t\t\n\t\tstatic line_end = $mol_regexp.from({\n\t\t\twin_end: [ [ '\\r' ], '\\n' ],\n\t\t\tmac_end: '\\r',\n\t\t})\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t/**\n\t * Output text with dimmed mismatched substrings.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_dimmer_demo\n\t */\n\texport class $mol_dimmer extends $.$mol_dimmer {\n\t\t\n\t\tparts() {\n\t\t\tconst needle = this.needle()\n\t\t\tif( needle.length < 2 ) return [ this.haystack() ]\n\t\t\t\n\t\t\tlet chunks : any[] = []\n\t\t\tlet strings = this.strings()\n\t\t\t\n\t\t\tfor( let index = 0 ; index < strings.length ; index++ ) {\n\t\t\t\tif( strings[ index ] === '' ) continue\n\t\t\t\t\n\t\t\t\tchunks.push( ( index % 2 ) ? this.High( index ) : this.Low( index ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn chunks\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstrings() {\n\t\t\t\n\t\t\tconst options = this.needle().split( /\\s+/g ).filter( Boolean )\n\t\t\tif( !options.length ) return [ this.haystack() ]\n\t\t\t\n\t\t\tconst variants = { ... options } as Record< number, string >\n\t\t\tconst regexp = $mol_regexp.from( { needle: variants } , { ignoreCase: true } )\n\t\t\t\n\t\t\treturn this.haystack().split( regexp )\n\t\t}\n\t\t\n\t\tstring( index: number ) {\n\t\t\treturn this.strings()[ index ]\n\t\t}\n\t\t\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this, this.haystack() ) ) {\n\t\t\t\tyield [ ... path, this ]\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/dimmer/dimmer.view.css\",\n \"[mol_dimmer] {\\n\\tdisplay: block;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_dimmer_low] {\\n\\tdisplay: inline;\\n\\topacity: 0.8;\\n}\\n\\n[mol_dimmer_high] {\\n\\tdisplay: inline;\\n\\tcolor: var(--mol_theme_focus);\\n\\ttext-shadow: 0 0;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_search extends $mol_pop {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * query? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tquery(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * suggests /string\n\t\t * ```\n\t\t */\n\t\tsuggests() {\n\t\t\treturn [\n\t\t\t] as readonly string[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plugins /$mol_plugin\n\t\t * \t^\n\t\t * \t<= Hotkey\n\t\t * \t<= Nav\n\t\t * ```\n\t\t */\n\t\tplugins() {\n\t\t\treturn [\n\t\t\t\t...super.plugins(),\n\t\t\t\tthis.Hotkey(),\n\t\t\t\tthis.Nav()\n\t\t\t] as readonly $mol_plugin[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * showed? <=> suggests_showed?\n\t\t * ```\n\t\t */\n\t\tshowed(next?: any) {\n\t\t\treturn this.suggests_showed(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * align_hor \\right\n\t\t * ```\n\t\t */\n\t\talign_hor() {\n\t\t\treturn \"right\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Anchor $mol_view sub <= anchor_content\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tAnchor() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => this.anchor_content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * bubble_content /$mol_view_content <= Menu\n\t\t * ```\n\t\t */\n\t\tbubble_content() {\n\t\t\treturn [\n\t\t\t\tthis.Menu()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Suggest* $mol_button_minor\n\t\t * \tclick?event <=> suggest_select*?event\n\t\t * \tsub <= suggest_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tSuggest(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.click = (event?: any) => this.suggest_select(id, event)\n\t\t\tobj.sub = () => this.suggest_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clear? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclear(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Hotkey $mol_hotkey key * escape? <=> clear?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHotkey() {\n\t\t\tconst obj = new this.$.$mol_hotkey()\n\t\t\t\n\t\t\tobj.key = () => ({\n\t\t\t\tescape: (next?: any) => this.clear(next)\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * nav_components /$mol_view\n\t\t * ```\n\t\t */\n\t\tnav_components() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * nav_focused?component null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tnav_focused(component?: any) {\n\t\t\tif ( component !== undefined ) return component as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nav $mol_nav\n\t\t * \tkeys_y <= nav_components\n\t\t * \tcurrent_y?component <=> nav_focused?component\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNav() {\n\t\t\tconst obj = new this.$.$mol_nav()\n\t\t\t\n\t\t\tobj.keys_y = () => this.nav_components()\n\t\t\tobj.current_y = (component?: any) => this.nav_focused(component)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * suggests_showed? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsuggests_showed(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint @ \\Search...\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_search_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsubmit(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keyboard \\search\n\t\t * ```\n\t\t */\n\t\tkeyboard() {\n\t\t\treturn \"search\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enter \\search\n\t\t * ```\n\t\t */\n\t\tenter() {\n\t\t\treturn \"search\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * bring\n\t\t * ```\n\t\t */\n\t\tbring() {\n\t\t\treturn this.Query().bring()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Query $mol_string\n\t\t * \tvalue? <=> query?\n\t\t * \thint <= hint\n\t\t * \tsubmit?event <=> submit?event\n\t\t * \tenabled <= enabled\n\t\t * \tkeyboard <= keyboard\n\t\t * \tenter <= enter\n\t\t * \tbring => bring\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tQuery() {\n\t\t\tconst obj = new this.$.$mol_string()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.query(next)\n\t\t\tobj.hint = () => this.hint()\n\t\t\tobj.submit = (event?: any) => this.submit(event)\n\t\t\tobj.enabled = () => this.enabled()\n\t\t\tobj.keyboard = () => this.keyboard()\n\t\t\tobj.enter = () => this.enter()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Clear_icon $mol_icon_cross\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tClear_icon() {\n\t\t\tconst obj = new this.$.$mol_icon_cross()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Clear $mol_button_minor\n\t\t * \thint @ \\Clear\n\t\t * \tclick?event <=> clear?event\n\t\t * \tsub / <= Clear_icon\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tClear() {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$mol_search_Clear_hint' )\n\t\t\tobj.click = (event?: any) => this.clear(event)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Clear_icon()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * anchor_content /\n\t\t * \t<= Query\n\t\t * \t<= Clear\n\t\t * ```\n\t\t */\n\t\tanchor_content() {\n\t\t\treturn [\n\t\t\t\tthis.Query(),\n\t\t\t\tthis.Clear()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * menu_items /$mol_view\n\t\t * ```\n\t\t */\n\t\tmenu_items() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Menu $mol_list rows <= menu_items\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tMenu() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.rows = () => this.menu_items()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * suggest_select*?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tsuggest_select(id: any, event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * suggest_label* \\\n\t\t * ```\n\t\t */\n\t\tsuggest_label(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Suggest_label* $mol_dimmer\n\t\t * \thaystack <= suggest_label*\n\t\t * \tneedle <= query?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tSuggest_label(id: any) {\n\t\t\tconst obj = new this.$.$mol_dimmer()\n\t\t\t\n\t\t\tobj.haystack = () => this.suggest_label(id)\n\t\t\tobj.needle = () => this.query()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * suggest_content* /$mol_view_content <= Suggest_label*\n\t\t * ```\n\t\t */\n\t\tsuggest_content(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Suggest_label(id)\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\t\n\t/**\n\t * Search input with suggest and clear button.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_search_demo\n\t */\n\texport class $mol_search extends $.$mol_search {\n\t\t\n\t\t@ $mol_mem\n\t\tanchor_content() {\n\t\t\treturn [\n\t\t\t\tthis.Query(),\n\t\t\t\t... this.query() ? [ this.Clear() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsuggests_showed( next = true ) {\n\t\t\t\n\t\t\tthis.query()\n\t\t\t\n\t\t\tif( !this.focused() ) return false\n\n\t\t\treturn next\n\t\t}\n\n\t\tsuggest_selected( next? : string ) {\n\t\t\t\n\t\t\tif( next === undefined ) return\n\t\t\t\n\t\t\tthis.query( next )\n\t\t\tthis.Query().focused( true )\n\t\t\t\n\t\t}\n\t\t\n\t\tnav_components() {\n\t\t\treturn [\n\t\t\t\tthis.Query(),\n\t\t\t\t... this.menu_items(),\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tnav_focused( component? : $mol_view ) {\n\t\t\t\n\t\t\tif( !this.focused() ) return null\n\t\t\t\n\t\t\tif( component == null ) {\n\t\t\t\t\n\t\t\t\tfor( let comp of this.nav_components() ) {\n\t\t\t\t\tif( comp && comp.focused() ) return comp\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn null\n\t\t\t}\n\t\t\t\n\t\t\tif( this.suggests_showed() ) {\n\t\t\t\tthis.ensure_visible( component, \"center\" )\n\t\t\t\tcomponent.focused( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn component\n\t\t}\n\t\t\n\t\tsuggest_label( key: string ) {\n\t\t\treturn key\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmenu_items() {\n\t\t\treturn this.suggests().map( ( suggest : string ) => this.Suggest( suggest ) )\n\t\t}\n\t\t\n\t\tsuggest_select( id : string , event? : MouseEvent ) {\n\t\t\tthis.query( id )\n\t\t\tthis.Query().selection([ id.length, id.length ])\n\t\t\tthis.Query().focused( true )\n\t\t}\n\t\t\n\t\tclear( event? : Event ) {\n\t\t\tthis.query( '' )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/search/search.view.css\",\n \"[mol_search] {\\n\\talign-self: flex-start;\\n\\tflex: auto;\\n}\\n\\n[mol_search_anchor] {\\n\\tflex: 1 1 auto;\\n}\\n\\n[mol_search_query] {\\n\\tflex-grow: 1;\\n}\\n\\n[mol_search_menu] {\\n\\tmin-height: .75rem;\\n\\tdisplay: flex;\\n}\\n\\n[mol_search_suggest] {\\n\\ttext-align: left;\\n}\\n\\n[mol_search_suggest_label_high] {\\n\\tcolor: var(--mol_theme_shade);\\n\\ttext-shadow: none;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_icon_dots_vertical extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M12,16C13.1,16 14,16.9 14,18C14,19.1 13.1,20 12,20C10.9,20 10,19.1 10,18C10,16.9 10.9,16 12,16M12,10C13.1,10 14,10.9 14,12C14,13.1 13.1,14 12,14C10.9,14 10,13.1 10,12C10,10.9 10.9,10 12,10M12,4C13.1,4 14,4.9 14,6C14,7.1 13.1,8 12,8C10.9,8 10,7.1 10,6C10,4.9 10.9,4 12,4Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M12,16C13.1,16 14,16.9 14,18C14,19.1 13.1,20 12,20C10.9,20 10,19.1 10,18C10,16.9 10.9,16 12,16M12,10C13.1,10 14,10.9 14,12C14,13.1 13.1,14 12,14C10.9,14 10,13.1 10,12C10,10.9 10.9,10 12,10M12,4C13.1,4 14,4.9 14,6C14,7.1 13.1,8 12,8C10.9,8 10,7.1 10,6C10,4.9 10.9,4 12,4Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_select extends $mol_pick {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dictionary? *\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tdictionary(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * options /string\n\t\t * ```\n\t\t */\n\t\toptions() {\n\t\t\treturn [\n\t\t\t] as readonly string[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tvalue(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_label_default \\\n\t\t * ```\n\t\t */\n\t\toption_label_default() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Option_row* $mol_button_minor\n\t\t * \tevent_click?event <=> event_select*?event\n\t\t * \tsub <= option_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tOption_row(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.event_click = (event?: any) => this.event_select(id, event)\n\t\t\tobj.sub = () => this.option_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * No_options $mol_view sub / <= no_options_message\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNo_options() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.no_options_message()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plugins /\n\t\t * \t^\n\t\t * \t<= Nav\n\t\t * ```\n\t\t */\n\t\tplugins() {\n\t\t\treturn [\n\t\t\t\t...super.plugins(),\n\t\t\t\tthis.Nav()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint @ \\Pick..\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_select_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * bubble_content /\n\t\t * \t<= Filter\n\t\t * \t<= Bubble_pane\n\t\t * ```\n\t\t */\n\t\tbubble_content() {\n\t\t\treturn [\n\t\t\t\tthis.Filter(),\n\t\t\t\tthis.Bubble_pane()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Filter $mol_search\n\t\t * \tquery? <=> filter_pattern?\n\t\t * \thint <= filter_hint\n\t\t * \tsubmit?event <=> submit?event\n\t\t * \tenabled <= enabled\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFilter() {\n\t\t\tconst obj = new this.$.$mol_search()\n\t\t\t\n\t\t\tobj.query = (next?: any) => this.filter_pattern(next)\n\t\t\tobj.hint = () => this.filter_hint()\n\t\t\tobj.submit = (event?: any) => this.submit(event)\n\t\t\tobj.enabled = () => this.enabled()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Trigger_icon $mol_icon_dots_vertical\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTrigger_icon() {\n\t\t\tconst obj = new this.$.$mol_icon_dots_vertical()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_select*?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tevent_select(id: any, event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_label* \\\n\t\t * ```\n\t\t */\n\t\toption_label(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * filter_pattern? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tfilter_pattern(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Option_label* $mol_dimmer\n\t\t * \thaystack <= option_label*\n\t\t * \tneedle <= filter_pattern?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tOption_label(id: any) {\n\t\t\tconst obj = new this.$.$mol_dimmer()\n\t\t\t\n\t\t\tobj.haystack = () => this.option_label(id)\n\t\t\tobj.needle = () => this.filter_pattern()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_content* / <= Option_label*\n\t\t * ```\n\t\t */\n\t\toption_content(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Option_label(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * no_options_message @ \\No options\n\t\t * ```\n\t\t */\n\t\tno_options_message() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_select_no_options_message' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * nav_components /$mol_view\n\t\t * ```\n\t\t */\n\t\tnav_components() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * option_focused?component null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\toption_focused(component?: any) {\n\t\t\tif ( component !== undefined ) return component as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * nav_cycle? true\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tnav_cycle(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nav $mol_nav\n\t\t * \tkeys_y <= nav_components\n\t\t * \tcurrent_y?component <=> option_focused?component\n\t\t * \tcycle? <=> nav_cycle?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNav() {\n\t\t\tconst obj = new this.$.$mol_nav()\n\t\t\t\n\t\t\tobj.keys_y = () => this.nav_components()\n\t\t\tobj.current_y = (component?: any) => this.option_focused(component)\n\t\t\tobj.cycle = (next?: any) => this.nav_cycle(next)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * menu_content /$mol_view\n\t\t * ```\n\t\t */\n\t\tmenu_content() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Menu $mol_list rows <= menu_content\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tMenu() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.rows = () => this.menu_content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Bubble_pane $mol_scroll sub / <= Menu\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tBubble_pane() {\n\t\t\tconst obj = new this.$.$mol_scroll()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Menu()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * filter_hint @ \\Filter..\n\t\t * ```\n\t\t */\n\t\tfilter_hint() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_select_filter_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsubmit(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\texport function $mol_match_text< Variant >( query : string , values : ( variant : Variant )=> string[] ) {\n\t\tconst tags = query.toLowerCase().trim().split( /\\s+/ ).filter( tag => tag )\n\n\t\tif( tags.length === 0 ) return ()=> true\n\t\t\n\t\treturn ( variant : Variant )=> {\n\t\t\tconst vals = values( variant )\n\t\t\treturn tags.every( tag => vals.some( val => val.toLowerCase().indexOf( tag ) >= 0 ) )\n\t\t}\n\t}\n\n}\n","namespace $.$$ {\n\n\t/**\n\t * Allow user to select value from various options and displays current value.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_select_demo_colors\n\t */\n\texport class $mol_select extends $.$mol_select {\n\t\t\n\t\t@ $mol_mem\n\t\tfilter_pattern( next? : string ) {\n\t\t\tthis.focused()\n\t\t\t\n\t\t\treturn next || ''\n\t\t}\n\n\t\topen() {\n\t\t\tthis.showed( true )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toptions() {\n\t\t\treturn Object.keys( this.dictionary() ) as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toptions_filtered() {\n\t\t\tlet options = this.options()\n\t\t\toptions = options.filter( $mol_match_text( this.filter_pattern() , ( id : string )=> [ this.option_label( id ) ] ) )\n\n\t\t\tconst index = options.indexOf( this.value() )\n\t\t\tif( index >= 0 ) options = [ ... options.slice( 0 , index ) , ... options.slice( index + 1 ) ]\n\t\t\t\n\t\t\treturn options\n\t\t}\n\t\t\n\t\toption_label( id : string ) {\n\t\t\tconst value = this.dictionary()[ id ]\n\t\t\treturn (value == null ? id : value) || this.option_label_default()\n\t\t}\n\t\t\n\t\toption_rows() {\n\t\t\treturn this.options_filtered().map( ( option : string ) => this.Option_row( option ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toption_focused( component? : $mol_view ) {\n\t\t\tif( component == null ) {\n\t\t\t\tfor( let comp of this.nav_components() ) {\n\t\t\t\t\tif( comp && comp.focused() ) return comp\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn null\n\t\t\t}\n\t\t\t\n\t\t\tif( this.showed() ) {\n\t\t\t\tcomponent.focused( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn component\n\t\t}\n\n\t\tevent_select( id : string , event? : MouseEvent ) {\n\t\t\tthis.value( id )\n\t\t\tthis.showed( false )\n\t\t\tevent?.preventDefault()\n\t\t}\n\t\t\n\t\tnav_components() {\n\t\t\tif( this.options().length > 1 && this.Filter() ) {\n\t\t\t\treturn [ this.Filter() , ... this.option_rows() ]\n\t\t\t} else {\n\t\t\t\treturn this.option_rows()\n\t\t\t}\n\t\t}\n\n\t\ttrigger_content() {\n\t\t\treturn [\n\t\t\t\t... this.option_content( this.value() ),\n\t\t\t\tthis.Trigger_icon(),\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\tmenu_content() {\n\t\t\treturn [\n\t\t\t\t... this.option_rows(),\n\t\t\t\t... ( this.options_filtered().length === 0 ) ? [ this.No_options() ] : []\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/select/select.view.css\",\n \"[mol_select] {\\n\\tdisplay: flex;\\n\\tword-break: normal;\\n\\talign-self: flex-start;\\n}\\n\\n[mol_select_option_row] {\\n\\tmin-width: 100%;\\n\\tpadding: 0;\\n\\tjustify-content: flex-start;\\n}\\n\\n[mol_select_bubble] {\\n\\tmin-width: 100%;\\n}\\n\\n[mol_select_filter] {\\n\\tflex: 1 0 auto;\\n\\talign-self: stretch;\\n}\\n\\n[mol_select_option_label] {\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tmin-height: 1.5em;\\n\\tdisplay: block;\\n\\twhite-space: nowrap;\\n}\\n\\n[mol_select_clear_option_content] {\\n\\tpadding: .5em 1rem .5rem 0;\\n\\ttext-align: left;\\n\\tbox-shadow: var(--mol_theme_line);\\n\\tflex: 1 0 auto;\\n}\\n\\n[mol_select_no_options] {\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tdisplay: block;\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_select_trigger] {\\n\\tpadding: 0;\\n\\tflex: 1 1 auto;\\n\\tdisplay: flex;\\n}\\n\\n[mol_select_trigger] > * {\\n\\tmargin-right: -1rem;\\n}\\n\\n[mol_select_trigger] > *:last-child {\\n\\tmargin-right: 0;\\n}\\n\\n[mol_select_menu] {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\\n\"\n) }","namespace $ {\n\texport class $visavis_cube extends $mol_book2 {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot $visavis_plot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tplot() {\n\t\t\tconst obj = new this.$.$visavis_plot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\theatmap(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * order* /number\n\t\t * ```\n\t\t */\n\t\torder(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly number[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * order_current? \\nump\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\torder_current(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"nump\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * x_op false\n\t\t * ```\n\t\t */\n\t\tx_op() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * y_op false\n\t\t * ```\n\t\t */\n\t\ty_op() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * z_op false\n\t\t * ```\n\t\t */\n\t\tz_op() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * x_sort? \\nump\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tx_sort(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"nump\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * y_sort? \\nump\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\ty_sort(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"nump\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * z_sort? \\nump\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tz_sort(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"nump\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * colorset /\n\t\t * \t\\#3e3f95\n\t\t * \t\\#c00\n\t\t * \t\\#FE9A2E\n\t\t * \t\\#090\n\t\t * \t\\#f0f\n\t\t * \t\\#09f\n\t\t * \t\\#666\n\t\t * \t\\#0f3\n\t\t * \t\\#0ff\n\t\t * \t\\#90c\n\t\t * ```\n\t\t */\n\t\tcolorset() {\n\t\t\treturn [\n\t\t\t\t\"#3e3f95\",\n\t\t\t\t\"#c00\",\n\t\t\t\t\"#FE9A2E\",\n\t\t\t\t\"#090\",\n\t\t\t\t\"#f0f\",\n\t\t\t\t\"#09f\",\n\t\t\t\t\"#666\",\n\t\t\t\t\"#0f3\",\n\t\t\t\t\"#0ff\",\n\t\t\t\t\"#90c\"\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap_colors /\n\t\t * \t\\rgb(150,0,90)\n\t\t * \t\\rgb(0,0,200)\n\t\t * \t\\rgb(0,25,255)\n\t\t * \t\\rgb(0,152,255)\n\t\t * \t\\rgb(44,255,150)\n\t\t * \t\\rgb(151,255,0)\n\t\t * \t\\rgb(255,234,0)\n\t\t * \t\\rgb(255,111,0)\n\t\t * \t\\rgb(255,0,0)\n\t\t * ```\n\t\t */\n\t\theatmap_colors() {\n\t\t\treturn [\n\t\t\t\t\"rgb(150,0,90)\",\n\t\t\t\t\"rgb(0,0,200)\",\n\t\t\t\t\"rgb(0,25,255)\",\n\t\t\t\t\"rgb(0,152,255)\",\n\t\t\t\t\"rgb(44,255,150)\",\n\t\t\t\t\"rgb(151,255,0)\",\n\t\t\t\t\"rgb(255,234,0)\",\n\t\t\t\t\"rgb(255,111,0)\",\n\t\t\t\t\"rgb(255,0,0)\"\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages /\n\t\t * \t<= Plot\n\t\t * \t<= Setup\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Plot(),\n\t\t\t\tthis.Setup()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_title \\\n\t\t * ```\n\t\t */\n\t\tplot_title() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Root $mol_view\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tRoot() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value_min 0\n\t\t * ```\n\t\t */\n\t\tvalue_min() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_min $mol_view sub / <= value_min\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHeatmap_min() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.value_min()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap_color* \\\n\t\t * ```\n\t\t */\n\t\theatmap_color(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_color*0 $mol_view style * background <= heatmap_color*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tHeatmap_color(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.style = () => ({\n\t\t\t\tbackground: this.heatmap_color(id)\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value_max 0\n\t\t * ```\n\t\t */\n\t\tvalue_max() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_max $mol_view sub / <= value_max\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHeatmap_max() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.value_max()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * heatmap_color_list /\n\t\t * \t<= Heatmap_min\n\t\t * \t<= Heatmap_color*0\n\t\t * \t<= Heatmap_max\n\t\t * ```\n\t\t */\n\t\theatmap_color_list() {\n\t\t\treturn [\n\t\t\t\tthis.Heatmap_min(),\n\t\t\t\tthis.Heatmap_color(\"0\"),\n\t\t\t\tthis.Heatmap_max()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap_legend $mol_list rows <= heatmap_color_list\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHeatmap_legend() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.rows = () => this.heatmap_color_list()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Side_right $mol_scroll sub / <= Heatmap_legend\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSide_right() {\n\t\t\tconst obj = new this.$.$mol_scroll()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Heatmap_legend()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_body /\n\t\t * \t<= Root\n\t\t * \t<= Side_right\n\t\t * ```\n\t\t */\n\t\tplot_body() {\n\t\t\treturn [\n\t\t\t\tthis.Root(),\n\t\t\t\tthis.Side_right()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * draw null\n\t\t * ```\n\t\t */\n\t\tdraw() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot $mol_page\n\t\t * \ttitle <= plot_title\n\t\t * \tbody <= plot_body\n\t\t * \tauto <= draw\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPlot() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.plot_title()\n\t\t\tobj.body = () => this.plot_body()\n\t\t\tobj.auto = () => this.draw()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * nonformers? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tnonformers(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nonformers $mol_check_box\n\t\t * \thint @ \\Continuous solid solutions and complete insolubility systems\n\t\t * \ttitle @ \\Show\n\t\t * \tchecked? <=> nonformers?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNonformers() {\n\t\t\tconst obj = new this.$.$mol_check_box()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$visavis_cube_Nonformers_hint' )\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_cube_Nonformers_title' )\n\t\t\tobj.checked = (next?: any) => this.nonformers(next)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nonformers_label $mol_labeler\n\t\t * \ttitle @ \\Non-formers\n\t\t * \tContent <= Nonformers\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNonformers_label() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_cube_Nonformers_label_title' )\n\t\t\tobj.Content = () => this.Nonformers()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * order_dict *\n\t\t * \tnump @ \\Periodic number\n\t\t * \tnum @ \\Atomic number\n\t\t * \tsize @ \\Atomic size\n\t\t * \trea @ \\Atomic reactivity\n\t\t * \trpp @ \\Pseudopotential radii\n\t\t * \trion @ \\Ionic radii\n\t\t * \trcov @ \\Covalent radii\n\t\t * \trmet @ \\Metallic radii\n\t\t * \ttmelt @ \\Melting temperature\n\t\t * \teneg @ \\Electronegativity\n\t\t * ```\n\t\t */\n\t\torder_dict() {\n\t\t\treturn {\n\t\t\t\tnump: this.$.$mol_locale.text( '$visavis_cube_order_dict_nump' ),\n\t\t\t\tnum: this.$.$mol_locale.text( '$visavis_cube_order_dict_num' ),\n\t\t\t\tsize: this.$.$mol_locale.text( '$visavis_cube_order_dict_size' ),\n\t\t\t\trea: this.$.$mol_locale.text( '$visavis_cube_order_dict_rea' ),\n\t\t\t\trpp: this.$.$mol_locale.text( '$visavis_cube_order_dict_rpp' ),\n\t\t\t\trion: this.$.$mol_locale.text( '$visavis_cube_order_dict_rion' ),\n\t\t\t\trcov: this.$.$mol_locale.text( '$visavis_cube_order_dict_rcov' ),\n\t\t\t\trmet: this.$.$mol_locale.text( '$visavis_cube_order_dict_rmet' ),\n\t\t\t\ttmelt: this.$.$mol_locale.text( '$visavis_cube_order_dict_tmelt' ),\n\t\t\t\teneg: this.$.$mol_locale.text( '$visavis_cube_order_dict_eneg' )\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * X_order_select $mol_select\n\t\t * \tvalue? <=> x_sort?\n\t\t * \tdictionary <= order_dict\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tX_order_select() {\n\t\t\tconst obj = new this.$.$mol_select()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.x_sort(next)\n\t\t\tobj.dictionary = () => this.order_dict()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * X_order_label $mol_labeler\n\t\t * \ttitle @ \\X sort by\n\t\t * \tContent <= X_order_select\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tX_order_label() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_cube_X_order_label_title' )\n\t\t\tobj.Content = () => this.X_order_select()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Y_order_select $mol_select\n\t\t * \tvalue? <=> y_sort?\n\t\t * \tdictionary <= order_dict\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tY_order_select() {\n\t\t\tconst obj = new this.$.$mol_select()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.y_sort(next)\n\t\t\tobj.dictionary = () => this.order_dict()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Y_order_label $mol_labeler\n\t\t * \ttitle @ \\Y sort by\n\t\t * \tContent <= Y_order_select\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tY_order_label() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_cube_Y_order_label_title' )\n\t\t\tobj.Content = () => this.Y_order_select()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Z_order_select $mol_select\n\t\t * \tvalue? <=> z_sort?\n\t\t * \tdictionary <= order_dict\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tZ_order_select() {\n\t\t\tconst obj = new this.$.$mol_select()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.z_sort(next)\n\t\t\tobj.dictionary = () => this.order_dict()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Z_order_label $mol_labeler\n\t\t * \ttitle @ \\Z sort by\n\t\t * \tContent <= Z_order_select\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tZ_order_label() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_cube_Z_order_label_title' )\n\t\t\tobj.Content = () => this.Z_order_select()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Setup $mol_page\n\t\t * \ttitle @ \\Setup\n\t\t * \tbody /\n\t\t * \t\t<= Nonformers_label\n\t\t * \t\t<= X_order_label\n\t\t * \t\t<= Y_order_label\n\t\t * \t\t<= Z_order_label\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSetup() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_cube_Setup_title' )\n\t\t\tobj.body = () => [\n\t\t\t\tthis.Nonformers_label(),\n\t\t\t\tthis.X_order_label(),\n\t\t\t\tthis.Y_order_label(),\n\t\t\t\tthis.Z_order_label()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\t/**\n\t * Checks for boolean and returns boolean type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_boolean_demo\n\t */\n\texport let $mol_data_boolean = ( val : boolean )=> {\n\t\t\n\t\tif( typeof val === 'boolean' ) return val\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a boolean` ) )\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for null or passing given runtype.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_nullable_demo\n\t */\n\texport function $mol_data_nullable< Sub extends $mol_data_value >( sub : Sub ) {\n\n\t\treturn $mol_data_setup( ( val : Parameters[0] | null ) => {\n\t\t\t\n\t\t\tif( val === null ) return null\n\t\t\t\n\t\t\treturn sub( val ) as ReturnType\n\t\t\t\n\t\t} , sub )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $lib_d3 extends $mol_object2 {\n\n\t\t@ $mol_mem\n\t\tstatic all() {\n\t\t\treturn $mol_import.script('https://cdn.jsdelivr.net/npm/d3@7').d3 as any\n\t\t}\n\n\t}\n}\n","namespace $.$$ {\n\n\texport const $visavis_element_prop = {\n\t\t\"num\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],\n\t\t\"nump\":[0,1,112,2,8,82,88,94,100,106,113,3,9,83,89,95,101,107,114,4,10,14,46,50,54,58,62,66,70,74,78,84,90,96,102,108,115,5,11,15,47,51,55,59,63,67,71,75,79,85,91,97,103,109,116,6,12,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,48,52,56,60,64,68,72,76,80,86,92,98,104,110,117,7,13,17,19,21,23,25,27,29],\n\t\t\"size\":[0,0.040000098,0.05525814,0.32352134,0.149871021,0.15316946,0.152079019,0.147837836,0.141252647,0.130400994,0.118123987,0.578463822,0.235527361,0.222322819,0.208407341,0.19392461,0.178988166,0.160596861,0.14201091,0.692195698,0.671411055,0.64709144,0.440998616,0.425579654,0.410235863,0.394967358,0.379774576,0.364658122,0.349618659,0.334656835,0.310912262,0.287688252,0.264934676,0.242609734,0.220678182,0.195297025,0.170450145,0.832019702,0.797564264,0.762242103,0.515950935,0.494387183,0.473421463,0.452993466,0.433052136,0.413553912,0.394461351,0.375742041,0.347395886,0.319938571,0.293280312,0.267345197,0.242068451,0.213172397,0.185071259,0.910157427,0.868793456,0.828185801,0.810462652,0.793233638,0.776484764,0.760190637,0.744322073,0.728849599,0.713745039,0.698982175,0.684536953,0.670387461,0.65651381,0.642897972,0.629523601,0.616375866,0.588840308,0.562314966,0.536696361,0.51189659,0.487840384,0.464462811,0.441707474,0.419525064,0.386690726,0.355029594,0.324425963,0.294781292,0.266010922,0.233351806,0.201712905,1.0,0.952025289,0.905996701,0.885161237,0.864979518,0.845420273,0.826445343,0.808015348,0.790092251],\n\t\t\"rea\":[0,2.953092434,2.137675759,0.365119614,0.788170962,0.771198036,0.776727701,0.799010527,0.836260342,0.905851889,0.999999998,0.204202895,0.501529786,0.531317421,0.56679379,0.609123241,0.659954172,0.735531107,0.831795156,0.170651143,0.175933932,0.182546051,0.267855686,0.27756023,0.28794164,0.299072783,0.311037111,0.323930772,0.337865225,0.352970489,0.379927077,0.410597187,0.445860802,0.486888901,0.535277144,0.604842736,0.693011946,0.141972584,0.148105917,0.154969119,0.228944225,0.238930116,0.249511262,0.260763114,0.272770822,0.28563141,0.299456427,0.31437522,0.340027017,0.369208334,0.402768213,0.441840692,0.487977621,0.554124213,0.63826219,0.129784127,0.135963256,0.142629814,0.145748835,0.148914495,0.1521266,0.155387322,0.158700099,0.162069084,0.165498855,0.168994276,0.172560424,0.17620256,0.179926127,0.183736755,0.187640284,0.191642784,0.200604451,0.210067301,0.22009463,0.230757519,0.242136549,0.254323886,0.267425828,0.281565982,0.305474062,0.332715889,0.364101522,0.400717379,0.444056906,0.506205582,0.58560451,0.118123987,0.124076522,0.130380151,0.133449119,0.136562756,0.139722208,0.142930186,0.146190276,0.149506576],\n\t\t\"rpp\":[0,1.25,0,1.61,1.08,0.795,0.64,0.54,0.465,0.405,0,2.65,2.03,1.675,1.42,1.24,1.1,1.01,0,3.69,3.0,2.75,2.58,2.43,2.44,2.22,2.11,2.02,2.18,2.04,1.88,1.695,1.56,1.415,1.285,1.2,0,4.1,3.21,2.94,2.825,2.76,2.72,2.65,2.605,2.52,2.45,2.375,2.215,2.05,1.88,1.765,1.67,1.585,0,4.31,3.402,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.91,2.79,2.735,2.68,2.65,2.628,2.7,2.66,2.41,2.235,2.09,1.997,1.9,1.83,0,4.37,3.53,0,0,0,0,0,0,0],\n\t\t\"rion\":[0,0,0,0.6,0.3,0.2,0.15,0.12,0.1,0.09,0,0.96,0.63,0.5,0.42,0.36,0.32,0.28,0,1.33,0.96,0.8,0.68,0.65,0.62,0.6,0.59,0.62,0.59,0.96,0.78,0.63,0.53,0.46,0.41,0.37,0,1.49,1.11,0.93,0.8,0.77,0.75,0.72,0.69,0.75,0.85,1.12,0.93,0.76,0.65,0.57,0.51,0.46,0,1.65,1.26,1.06,1.05,1.04,1.03,1.02,1.01,1.01,1.0,0.99,0.98,0.97,0.96,0.95,0.94,0.93,0.8,0.77,0.75,0.72,0.69,0.81,0.9,1.11,0.97,0.9,0.83,0.77,0.56,0.51,0,1.74,1.34,1.14,1.11,1.08,1.05,1.04,1.03,1.02],\n\t\t\"rcov\":[0,30.0,0,123.0,89.0,88.0,77.0,70.0,66.0,58.0,0,0,136.0,125.0,117.0,110.0,104.0,99.0,0,203.0,174.0,144.0,132.0,0,0,117.0,116.0,116.0,115.0,117.0,125.0,125.0,122.0,121.0,117.0,114.0,0,217.0,192.0,162.0,145.0,134.0,129.0,0,124.0,125.0,128.0,134.0,141.0,150.0,140.0,141.0,137.0,133.0,0,235.0,198.0,169.0,165.0,165.0,164.0,0,166.0,185.0,161.0,159.0,159.0,158.0,157.0,156.0,170.0,156.0,144.0,134.0,130.0,128.0,126.0,126.0,129.0,134.0,144.0,155.0,154.0,152.0,153.0,0,0,0,0,0,0,0,0,0,0,0],\n\t\t\"rmet\":[0,0.78,0,1.562,1.128,0.98,0.916,0.88,0.89,0,0,1.911,1.602,1.432,1.319,1.28,1.27,0,0,2.376,1.974,1.941,1.462,1.346,1.36,1.304,1.274,1.252,1.246,1.278,1.394,1.411,1.369,1.39,1.4,0,0,2.546,2.151,1.801,1.602,1.468,1.4,1.36,1.339,1.345,1.376,1.445,1.568,1.663,1.623,1.59,1.6,0,0,2.731,2.243,1.877,1.715,1.828,1.821,1.81,1.802,1.799,1.802,1.782,1.773,1.766,1.757,1.746,1.74,1.734,1.58,1.467,1.408,1.375,1.353,1.357,1.387,1.442,1.573,1.716,1.75,1.7,1.76,0,0,2.8,2.26,1.878,1.798,1.63,1.56,1.555,1.58,1.81],\n\t\t\"tmelt\":[0,0.003664921,0.00026178,0.118586387,0.405759162,0.673560209,1.0,0.016492147,0.014397906,0.014136126,0.006544503,0.097120419,0.241361257,0.244240838,0.440575916,0.082984293,0.10104712,0.045026178,0.021989529,0.088219895,0.290837696,0.47434555,0.506020942,0.566230366,0.557591623,0.397382199,0.473298429,0.462827225,0.451832461,0.354973822,0.181413613,0.079319372,0.317015707,0.285340314,0.128272251,0.069633508,0.030628272,0.081675393,0.273036649,0.470157068,0.556282723,0.717539267,0.756544503,0.640052356,0.67617801,0.586125654,0.477748691,0.323036649,0.155497382,0.112565445,0.132198953,0.236649215,0.189267016,0.101308901,0.042146597,0.079057592,0.261256545,0.312303665,0.280366492,0.315183246,0.338743455,0.377225131,0.352094241,0.286649215,0.414921466,0.427486911,0.439790576,0.456282723,0.469895288,0.47591623,0.287172775,0.504973822,0.653141361,0.856806283,0.964136126,0.903926702,0.868586387,0.702356021,0.535340314,0.35,0.061256545,0.15104712,0.157329843,0.142408377,0.137958115,0.15052356,0.052879581,0.078534031,0.254712042,0.346335079,0.528795812,0.553141361,0.368062827,0.239005236,0.239267016,0.331675393],\n\t\t\"eneg\":[0,3.69,6.29,2.32,3.71,4.88,6.08,7.31,8.5,9.7,10.92,2.27,3.37,4.21,5.08,5.95,6.79,7.64,8.5,2.08,3.0,3.11,3.19,3.27,3.41,3.4,3.47,3.53,3.59,3.74,3.7,4.37,5.09,5.82,6.53,7.21,7.93,2.04,2.89,3.04,3.14,3.25,3.41,3.35,3.47,3.57,3.73,3.81,3.6,4.19,4.83,5.47,6.08,6.69,7.29,1.97,2.76,2.89,2.86,2.83,2.85,2.87,2.89,2.91,3.02,2.95,2.97,2.99,3.0,3.02,3.04,3.11,3.3,3.45,3.48,3.5,3.57,3.6,3.71,3.84,3.82,4.34,4.92,5.47,6.01,6.56,7.12,2.02,2.78,2.93,3.02,2.98,2.98,2.98,2.96,2.97]\n\t} as const\n\n\n\texport const $visavis_element_list = [null, 'H', 'He', 'Li', 'Be', 'B', 'C', 'N', 'O', 'F', 'Ne', 'Na', 'Mg', 'Al', 'Si', 'P', 'S', 'Cl', 'Ar', 'K', 'Ca', 'Sc', 'Ti', 'V', 'Cr', 'Mn', 'Fe', 'Co', 'Ni', 'Cu', 'Zn', 'Ga', 'Ge', 'As', 'Se', 'Br', 'Kr', 'Rb', 'Sr', 'Y', 'Zr', 'Nb', 'Mo', 'Tc', 'Ru', 'Rh', 'Pd', 'Ag', 'Cd', 'In', 'Sn', 'Sb', 'Te', 'I', 'Xe', 'Cs', 'Ba', 'La', 'Ce', 'Pr', 'Nd', 'Pm', 'Sm', 'Eu', 'Gd', 'Tb', 'Dy', 'Ho', 'Er', 'Tm', 'Yb', 'Lu', 'Hf', 'Ta', 'W', 'Re', 'Os', 'Ir', 'Pt', 'Au', 'Hg', 'Tl', 'Pb', 'Bi', 'Po', 'At', 'Rn', 'Fr', 'Ra', 'Ac', 'Th', 'Pa', 'U', 'Np', 'Pu', 'Am'] as const\n\n\texport const $visavis_elemental_names = {\n\t\t\"num\": \"atomic number\",\n\t\t\"nump\": \"periodic number\",\n\t\t\"size\": \"atomic size\",\n\t\t\"rea\": \"atomic reactivity\",\n\t\t\"rpp\": \"pseudopotential radii\",\n\t\t\"rion\": \"ionic radii\",\n\t\t\"rcov\": \"covalent radii\",\n\t\t\"rmet\": \"metallic radii\",\n\t\t\"tmelt\": \"melting temperature\",\n\t\t\"eneg\": \"electronegativity\"\n\t} as const\n}\n","namespace $ {\n\n\texport class $lib_plotly extends $mol_object2 {\n\n\t\t@ $mol_mem\n\t\tstatic all() {\n\t\t\treturn $mol_import.script('https://cdn.plot.ly/plotly-2.16.1.min.js').Plotly as any //typeof import('plotly.js')\n\t\t}\n\n\t}\n}\n","namespace $.$$ {\n\n\tconst $visavis_cube_json = $mol_data_record({\n\t\tpayload: $mol_data_record({\n\t\t\ttcube: $mol_data_optional( $mol_data_boolean ),\n\t\t\tpoints: $mol_data_record({\n\t\t\t\tx: $mol_data_array( $mol_data_number ),\n\t\t\t\ty: $mol_data_array( $mol_data_number ),\n\t\t\t\tz: $mol_data_array( $mol_data_number ),\n\t\t\t\tv: $mol_data_array( $mol_data_number ),\n\t\t\t\tlabels: $mol_data_array( $mol_data_string ),\n\t\t\t}),\n\t\t\tfixel: $mol_data_nullable( $mol_data_boolean ),\n\t\t\txtitle: $mol_data_optional( $mol_data_string ),\n\t\t\tytitle: $mol_data_optional( $mol_data_string ),\n\t\t\tztitle: $mol_data_optional( $mol_data_string ),\n\t\t}),\n\t})\n\n\texport class $visavis_cube extends $.$visavis_cube {\n\n\t\tplot_body() {\n\t\t\treturn [\n\t\t\t\tthis.Root(),\n\t\t\t\t... this.heatmap() ? [ this.Side_right() ] : [],\n\t\t\t]\n\t\t}\n\n\t\tplot_title() {\n\t\t\treturn this.plot().id()\n\t\t}\n\n\t\tjson() {\n\t\t\treturn $visavis_cube_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tvalue_list() {\n\t\t\treturn this.json().payload.points.v.slice().sort( (a, b) => a - b )\n\t\t}\n\n\t\tvalue_min() {\n\t\t\treturn this.value_list()[0]\n\t\t}\n\n\t\tvalue_max() {\n\t\t\treturn this.value_list().slice(-1)[0]\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\torder(order: string) {\n\t\t\treturn $lib_d3.all().range(95).sort( (a: any, b: any) => ($visavis_element_prop as any)[order][a + 1] - ($visavis_element_prop as any)[order][b + 1] ) as number[]\n\t\t}\n\n\t\t@ $mol_mem\n\t\theatmap() {\n\t\t\treturn this.json().payload.points.v.some(val => Math.floor(val) !== val)\n\t\t}\n\n\t\theatmap_color( index: number ) {\n\t\t\treturn this.heatmap_colors()[index]\n\t\t}\n\n\t\theatmap_color_list() {\n\t\t\treturn [\n\t\t\t\tthis.Heatmap_min(),\n\t\t\t\t... this.heatmap_colors().map( (_, index) => this.Heatmap_color(index) ),\n\t\t\t\tthis.Heatmap_max(),\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tmarker() {\n\t\t\treturn {\n\t\t\t\tcolor: this.heatmap() ? this.json().payload.points.v : this.colorset()[0],\n\t\t\t\t... this.heatmap() ? { colorscale: 'Rainbow' } : {},\n\t\t\t\tsize: 4,\n\t\t\t\topacity: 0.9\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata_nonformers() {\n\t\t\tconst { x, y, z, labels } = $visavis_nonformer_pd_tri\n\t\t\treturn {\n\t\t\t\ttype: \"scatter3d\",\n\t\t\t\ttext: labels,\n\t\t\t\tmode: \"markers\",\n\t\t\t\thoverinfo: \"text\",\n\t\t\t\tmarker: {color: \"#ccc\", size: 4, opacity: 0.9},\n\t\t\t\tprojection: {x: {show: true, opacity: 0.25}, y: {show: true, opacity: 0.25}, z: {show: true, opacity: 0.25}},\n\t\t\t\t...this.convert_to_axes(x, y, z, this.x_sort(), this.y_sort(), this.z_sort())\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\ttype: \"scatter3d\",\n\t\t\t\ttext: this.json().payload.points.labels,\n\t\t\t\tmode: \"markers\",\n\t\t\t\thoverinfo: \"text\",\n\t\t\t\tmarker: this.marker(),\n\t\t\t\tprojection: {x: {show: true, opacity: 0.05}, y: {show: true, opacity: 0.05}, z: {show: true, opacity: 0.05}},\n\t\t\t\t...this.convert_to_axes(this.json().payload.points.x, this.json().payload.points.y, this.json().payload.points.z, this.x_sort(), this.y_sort(), this.z_sort())\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata_shown() {\n\t\t\treturn [\n\t\t\t\t... this.nonformers() ? [this.data_nonformers()] : [],\n\t\t\t\tthis.data(),\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tscene() {\n\t\t\treturn {\n\t\t\t\taspectmode: 'cube',\n\t\t\t\txaxis: {\n\t\t\t\t\ttitle: 'x_sort',\n\t\t\t\t\trange: [1, 95],\n\t\t\t\t\ttitlefont: {color: this.x_op() ? '#000' : '#fff', size: 10},\n\t\t\t\t\tbackgroundcolor: '#fbfbfb',\n\t\t\t\t\tgridcolor: '#fff',\n\t\t\t\t\tshowbackground: true,\n\t\t\t\t\tshowticklabels: !this.x_op(),\n\t\t\t\t\tshowline: false,\n\t\t\t\t\ttickfont: {size: 11},\n\t\t\t\t\tticktext: this.order_els(this.x_sort()).slice(0, 95).filter(function(el, idx){ return idx % 2 === 0 }),\n\t\t\t\t\ttickvals: $lib_d3.all().range(1, 96, 2)\n\t\t\t\t},\n\t\t\t\tyaxis: {\n\t\t\t\t\ttitle: 'y_sort',\n\t\t\t\t\trange: [1, 95],\n\t\t\t\t\ttitlefont: {color: this.y_op() ? '#000' : '#fff', size: 10},\n\t\t\t\t\tbackgroundcolor: '#f6f6f6',\n\t\t\t\t\tgridcolor: '#fff',\n\t\t\t\t\tshowbackground: true,\n\t\t\t\t\tshowticklabels: !this.y_op(),\n\t\t\t\t\tshowline: false,\n\t\t\t\t\ttickfont: {size: 11},\n\t\t\t\t\tticktext: this.order_els(this.y_sort()).slice(0, 95).filter(function(el, idx){ return idx % 2 === 0 }),\n\t\t\t\t\ttickvals: $lib_d3.all().range(1, 96, 2)\n\t\t\t\t},\n\t\t\t\tzaxis: {\n\t\t\t\t\ttitle: 'z_sort',\n\t\t\t\t\trange: [1, 95],\n\t\t\t\t\ttitlefont: {color: this.z_op() ? '#000' : '#fff', size: 10},\n\t\t\t\t\tbackgroundcolor: '#eee',\n\t\t\t\t\tgridcolor: '#fff',\n\t\t\t\t\tshowbackground: true,\n\t\t\t\t\tshowticklabels: !this.z_op(),\n\t\t\t\t\tshowline: false,\n\t\t\t\t\ttickfont: {size: 11},\n\t\t\t\t\tticktext: this.order_els(this.z_sort()).slice(0, 95).filter(function(el, idx){ return idx % 2 === 0 }),\n\t\t\t\t\ttickvals: $lib_d3.all().range(1, 96, 2)\n\t\t\t\t},\n\t\t\t\tcamera: {projection: {type: 'perspective'}},\n\t\t\t}\t\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdraw() {\n\t\t\tthis.Root().view_rect()\n\n\t\t\treturn $lib_plotly.all().react(\n\t\t\t\tthis.Root().dom_node() as HTMLElement,\n\t\t\t\tthis.data_shown() as any, \n\t\t\t\t{\n\t\t\t\t\tfont: {family: \"Exo2\"},\n\t\t\t\t\tshowlegend: false,\n\t\t\t\t\tscene: this.scene() as any,\n\t\t\t\t\tmargin: {\n\t\t\t\t\t\tl: 0,\n\t\t\t\t\t\tr: 0,\n\t\t\t\t\t\tb: 0,\n\t\t\t\t\t\tt: 0,\n\t\t\t\t\t\tpad: 0\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{displaylogo: false, displayModeBar: false, staticPlot: false},\n\t\t\t)\n\t\t}\n\n\n\t\tter_op(op: 'sum' | 'diff' | 'product' | 'ratio' | 'max' | 'min', a: number, b: number, c: number){\n\t\t\tswitch (op){\n\t\t\t\tcase 'sum': return a + b + c;\n\t\t\t\tcase 'diff': return Math.abs(a - b) + Math.abs(a - c) + Math.abs(b - c);\n\t\t\t\tcase 'product': return (a * b) + (a * c) + (b * c);\n\t\t\t\tcase 'ratio': return (a / b) + (a / c) + (b / c);\n\t\t\t\tcase 'max': return ((a > b && a > c) ? a : ((b > a && b > c) ? b : c));\n\t\t\t\tcase 'min': return ((a < b && a < c) ? a : ((b < a && b < c) ? b : c));\n\t\t\t}\n\t\t}\n\n\t\tconvert_to_axes(x_src: readonly number[], y_src: readonly number[], z_src: readonly number[], x_sort: any, y_sort: any, z_sort: any, x_op?: any, y_op?: any, z_op?: any){\n\t\t\t//console.log(x_src, y_src, z_src, x_sort, y_sort, z_sort, x_op, y_op, z_op);\n\t\t\tvar converted = {'x': [], 'y': [], 'z': []};\n\t\t\n\t\t\tif (x_op){\n\t\t\t\tvar x_temp = [];\n\t\t\t\tfor (var i = 0; i < x_src.length; i++){\n\t\t\t\t\t//console.log('x', $visavis_elementals[x_sort][x_src[i]], $visavis_elementals[x_sort][y_src[i]], $visavis_elementals[x_sort][z_src[i]], ter_op(x_op, $visavis_elementals[x_sort][x_src[i]], $visavis_elementals[x_sort][y_src[i]], $visavis_elementals[x_sort][z_src[i]]));\n\t\t\n\t\t\t\t\tx_temp.push( this.ter_op(x_op, ($visavis_element_prop as any)[x_sort][x_src[i]], ($visavis_element_prop as any)[x_sort][y_src[i]], ($visavis_element_prop as any)[x_sort][z_src[i]]) );\n\t\t\t\t}\n\t\t\t\tvar x_renorm = $lib_d3.all().scaleQuantize().range($visavis_element_prop.num.slice(1)).domain([$lib_d3.all().min(x_temp), $lib_d3.all().max(x_temp)]);\n\t\t\t\t//console.log(x_temp);\n\t\t\t\tconverted['x'] = x_temp.map(x_renorm);\n\t\t\n\t\t\t} else {\n\t\t\t\tfor (var i = 0; i < x_src.length; i++){\n\t\t\t\t\t(converted['x'] as any).push( (x_sort == 'num') ? x_src[i] : this.order(x_sort).indexOf(x_src[i] - 1) + 1 ); // FIXME first elementals item belongs to X, i.e. 0\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (y_op){\n\t\t\t\tvar y_temp = [];\n\t\t\t\tfor (var i = 0; i < y_src.length; i++){\n\t\t\t\t\t//console.log('y', $visavis_elementals[y_sort][x_src[i]], $visavis_elementals[y_sort][y_src[i]], $visavis_elementals[y_sort][z_src[i]], ter_op(y_op, $visavis_elementals[y_sort][x_src[i]], $visavis_elementals[y_sort][y_src[i]], $visavis_elementals[y_sort][z_src[i]]));\n\t\t\n\t\t\t\t\ty_temp.push( this.ter_op(y_op, ($visavis_element_prop as any)[y_sort][x_src[i]], ($visavis_element_prop as any)[y_sort][y_src[i]], ($visavis_element_prop as any)[y_sort][z_src[i]]) );\n\t\t\t\t}\n\t\t\t\tvar y_renorm = $lib_d3.all().scaleQuantize().range($visavis_element_prop.num.slice(1)).domain([$lib_d3.all().min(y_temp), $lib_d3.all().max(y_temp)]);\n\t\t\t\t//console.log(y_temp);\n\t\t\t\tconverted['y'] = y_temp.map(y_renorm);\n\t\t\n\t\t\t} else {\n\t\t\t\tfor (var i = 0; i < y_src.length; i++){\n\t\t\t\t\t(converted['y'] as any).push( (y_sort == 'num') ? y_src[i] : this.order(y_sort).indexOf(y_src[i] - 1) + 1 ); // FIXME first elementals item belongs to X, i.e. 0\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (z_op){\n\t\t\t\tvar z_temp = [];\n\t\t\t\tfor (var i = 0; i < z_src.length; i++){\n\t\t\t\t\t//console.log('z', $visavis_elementals[z_sort][x_src[i]], $visavis_elementals[z_sort][y_src[i]], $visavis_elementals[z_sort][z_src[i]], ter_op(z_op, $visavis_elementals[z_sort][x_src[i]], $visavis_elementals[z_sort][y_src[i]], $visavis_elementals[z_sort][z_src[i]]));\n\t\t\n\t\t\t\t\tz_temp.push( this.ter_op(z_op, ($visavis_element_prop as any)[z_sort][x_src[i]], ($visavis_element_prop as any)[z_sort][y_src[i]], ($visavis_element_prop as any)[z_sort][z_src[i]]) );\n\t\t\t\t}\n\t\t\t\tvar z_renorm = $lib_d3.all().scaleQuantize().range($visavis_element_prop.num.slice(1)).domain([$lib_d3.all().min(z_temp), $lib_d3.all().max(z_temp)]);\n\t\t\t\t//console.log(z_temp);\n\t\t\t\tconverted['z'] = z_temp.map(z_renorm);\n\t\t\n\t\t\t} else {\n\t\t\t\tfor (var i = 0; i < z_src.length; i++){\n\t\t\t\t\t(converted['z'] as any).push( (z_sort == 'num') ? z_src[i] : this.order(z_sort).indexOf(z_src[i] - 1) + 1 ); // FIXME first elementals item belongs to X, i.e. 0\n\t\t\t\t}\n\t\t\t}\n\t\t\t//console.log(converted);\n\t\t\treturn converted;\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\torder_els(prop: string){\n\t\t\treturn $visavis_element_list.slice(1).sort(function(a, b){\n\t\t\t\treturn ($visavis_element_prop as any)[prop][$visavis_element_list.indexOf(a)] - ($visavis_element_prop as any)[prop][$visavis_element_list.indexOf(b)]\n\t\t\t});\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { per, rem, px } = $mol_style_unit\n\n\t$mol_style_define( $visavis_cube, {\n\n\t\tPlot: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t},\n\n\t\tSetup: {\n\t\t\tflex: {\n\t\t\t\tbasis: rem(25),\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t\tBody: {\n\t\t\t\tpadding: $mol_gap.block,\n\t\t\t},\n\t\t},\n\n\t\tRoot: {\n\t\t\twidth: $mol_style_unit.per(100),\n\t\t\theight: $mol_style_unit.per(100),\n\t\t},\n\n\t\tX_order_label: {\n\t\t\tzIndex: 3,\n\t\t},\n\n\t\tY_order_label: {\n\t\t\tzIndex: 2,\n\t\t},\n\n\t\tZ_order_label: {\n\t\t\tzIndex: 1,\n\t\t},\n\n\t\tSide_right: {\n\t\t\tposition: 'absolute',\n\t\t\ttop: per(50),\n\t\t\tright: $mol_gap.space,\n\t\t\ttransform: 'translateY(-50%)'\n\t\t},\n\n\t\tHeatmap_color: {\n\t\t\twidth: rem(1),\n\t\t\theight: rem(1),\n\t\t\tmargin: px(1),\n\t\t},\n\n\t\tHeatmap_legend: {\n\t\t\talignItems: 'flex-end',\n\t\t\tflex: {\n\t\t\t\tdirection: 'column-reverse',\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\texport class $visavis_phase extends $mol_book2 {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot $visavis_plot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tplot() {\n\t\t\tconst obj = new this.$.$visavis_plot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * colors_by_nphases *\n\t\t * \t1 \\#d1cde6\n\t\t * \talt_1 \\#9cf\n\t\t * \t3 \\#fc6\n\t\t * \t4 \\#FCD3C2\n\t\t * \t5 \\#CCE7D4\n\t\t * \tdefault \\#eee\n\t\t * ```\n\t\t */\n\t\tcolors_by_nphases() {\n\t\t\treturn {\n\t\t\t\t1: \"#d1cde6\",\n\t\t\t\talt_1: \"#9cf\",\n\t\t\t\t3: \"#fc6\",\n\t\t\t\t4: \"#FCD3C2\",\n\t\t\t\t5: \"#CCE7D4\",\n\t\t\t\tdefault: \"#eee\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * line *\n\t\t * \tphase * width 0.2\n\t\t * \tcompound *\n\t\t * \t\twidth 5\n\t\t * \t\tcolor \\#d1cde6\n\t\t * \tdefault *\n\t\t * \t\twidth 0.5\n\t\t * \t\tcolor \\#666\n\t\t * ```\n\t\t */\n\t\tline() {\n\t\t\treturn {\n\t\t\t\tphase: {\n\t\t\t\t\twidth: 0.2\n\t\t\t\t} as Record< string, any >,\n\t\t\t\tcompound: {\n\t\t\t\t\twidth: 5,\n\t\t\t\t\tcolor: \"#d1cde6\"\n\t\t\t\t} as Record< string, any >,\n\t\t\t\tdefault: {\n\t\t\t\t\twidth: 0.5,\n\t\t\t\t\tcolor: \"#666\"\n\t\t\t\t} as Record< string, any >\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * is_triangle false\n\t\t * ```\n\t\t */\n\t\tis_triangle() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * triangle *\n\t\t * \tdatamock / *\n\t\t * \t\ta /\n\t\t * \t\tb /\n\t\t * \t\tc /\n\t\t * \t\ttype \\scatterternary\n\t\t * \tlayout *\n\t\t * \t\thovermode \\closest\n\t\t * \t\tfont *\n\t\t * \t\t\tsize 20\n\t\t * \t\t\tcolor \\#333\n\t\t * \t\t\tfamily \\Exo2\n\t\t * \t\tternary *\n\t\t * \t\t\taaxis *\n\t\t * \t\t\t\ttitle <= json_title_a\n\t\t * \t\t\t\tticks \\\n\t\t * \t\t\t\tshowline true\n\t\t * \t\t\t\tshowgrid false\n\t\t * \t\t\t\tfixedrange true\n\t\t * \t\t\t\tlinewidth 1\n\t\t * \t\t\tbaxis *\n\t\t * \t\t\t\ttitle <= json_title_b\n\t\t * \t\t\t\tticks \\\n\t\t * \t\t\t\tshowline true\n\t\t * \t\t\t\tshowgrid false\n\t\t * \t\t\t\tfixedrange true\n\t\t * \t\t\t\tlinewidth 1\n\t\t * \t\t\tcaxis *\n\t\t * \t\t\t\ttitle <= json_title_c\n\t\t * \t\t\t\tticks \\\n\t\t * \t\t\t\tshowline true\n\t\t * \t\t\t\tshowgrid false\n\t\t * \t\t\t\tfixedrange true\n\t\t * \t\t\t\tlinewidth 1\n\t\t * \t\tshapes <= layout_shapes\n\t\t * \t\tannotations <= annotations\n\t\t * ```\n\t\t */\n\t\ttriangle() {\n\t\t\treturn {\n\t\t\t\tdatamock: [\n\t\t\t\t\t{\n\t\t\t\t\t\ta: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\tb: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\tc: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\ttype: \"scatterternary\"\n\t\t\t\t\t} as Record< string, any >\n\t\t\t\t] as readonly any[],\n\t\t\t\tlayout: {\n\t\t\t\t\thovermode: \"closest\",\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tsize: 20,\n\t\t\t\t\t\tcolor: \"#333\",\n\t\t\t\t\t\tfamily: \"Exo2\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\tternary: {\n\t\t\t\t\t\taaxis: {\n\t\t\t\t\t\t\ttitle: this.json_title_a(),\n\t\t\t\t\t\t\tticks: \"\",\n\t\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\t\tlinewidth: 1\n\t\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t\tbaxis: {\n\t\t\t\t\t\t\ttitle: this.json_title_b(),\n\t\t\t\t\t\t\tticks: \"\",\n\t\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\t\tlinewidth: 1\n\t\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t\tcaxis: {\n\t\t\t\t\t\t\ttitle: this.json_title_c(),\n\t\t\t\t\t\t\tticks: \"\",\n\t\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\t\tlinewidth: 1\n\t\t\t\t\t\t} as Record< string, any >\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\tshapes: this.layout_shapes(),\n\t\t\t\t\tannotations: this.annotations()\n\t\t\t\t} as Record< string, any >\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * triangle_shape_fix *\n\t\t * \ttype \\path\n\t\t * \tpath \\M 0,0 L 0.5,0.866 L 1,0\n\t\t * \tline * width 0\n\t\t * ```\n\t\t */\n\t\ttriangle_shape_fix() {\n\t\t\treturn {\n\t\t\t\ttype: \"path\",\n\t\t\t\tpath: \"M 0,0 L 0.5,0.866 L 1,0\",\n\t\t\t\tline: {\n\t\t\t\t\twidth: 0\n\t\t\t\t} as Record< string, any >\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * triangle_annotations / *\n\t\t * \ttext <= triangle_annotation_text\n\t\t * \tx: -0.25\n\t\t * \ty: 0.96\n\t\t * \tshowarrow false\n\t\t * \txref \\papper\n\t\t * \tyref \\papper\n\t\t * \tfont *\n\t\t * \t\tsize 15\n\t\t * \t\tfamily \\Exo2\n\t\t * ```\n\t\t */\n\t\ttriangle_annotations() {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttext: this.triangle_annotation_text(),\n\t\t\t\t\t\"x:\": -0.25,\n\t\t\t\t\t\"y:\": 0.96,\n\t\t\t\t\tshowarrow: false,\n\t\t\t\t\txref: \"papper\",\n\t\t\t\t\tyref: \"papper\",\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tsize: 15,\n\t\t\t\t\t\tfamily: \"Exo2\"\n\t\t\t\t\t} as Record< string, any >\n\t\t\t\t} as Record< string, any >\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rectangle *\n\t\t * \tdatamock /\n\t\t * \t\t*\n\t\t * \t\t\tx /\n\t\t * \t\t\ty /\n\t\t * \t\t\ttype \\scatter\n\t\t * \t\t\txaxis \\x\n\t\t * \t\t\tyaxis \\y\n\t\t * \t\t*\n\t\t * \t\t\tx /\n\t\t * \t\t\ty /\n\t\t * \t\t\ttype \\scatter\n\t\t * \t\t\txaxis \\x2\n\t\t * \t\t\tyaxis \\y2\n\t\t * \tlayout *\n\t\t * \t\thovermode \\closest\n\t\t * \t\tfont *\n\t\t * \t\t\tsize 16\n\t\t * \t\t\tcolor \\#333\n\t\t * \t\t\tfamily \\Exo2\n\t\t * \t\txaxis *\n\t\t * \t\t\ttitle \\at. %\n\t\t * \t\t\trange <= json_comp_range\n\t\t * \t\t\tfixedrange true\n\t\t * \t\t\tshowticks <= show_ticks\n\t\t * \t\t\tshowline true\n\t\t * \t\t\tzeroline false\n\t\t * \t\t\tshowgrid false\n\t\t * \t\t\tticklen 4\n\t\t * \t\t\ttickfont * size 12\n\t\t * \t\t\thoverformat \\.2r\n\t\t * \t\txaxis2 *\n\t\t * \t\t\trange <= json_comp_range\n\t\t * \t\t\tfixedrange true\n\t\t * \t\t\tshowticks <= show_ticks\n\t\t * \t\t\tshowline true\n\t\t * \t\t\tzeroline false\n\t\t * \t\t\tshowgrid false\n\t\t * \t\t\tticklen 4\n\t\t * \t\t\ttickfont * size 12\n\t\t * \t\t\tside \\top\n\t\t * \t\t\toverlaying \\x\n\t\t * \t\tyaxis *\n\t\t * \t\t\ttitle \\T, °C\n\t\t * \t\t\trange <= json_temp\n\t\t * \t\t\tfixedrange true\n\t\t * \t\t\tshowticks <= show_ticks\n\t\t * \t\t\tshowticklabels <= data_demo\n\t\t * \t\t\tshowline true\n\t\t * \t\t\tzeroline false\n\t\t * \t\t\tshowgrid false\n\t\t * \t\t\tticklen 4\n\t\t * \t\t\ttickfont * size 12\n\t\t * \t\t\thoverformat \\.2r\n\t\t * \t\tyaxis2 *\n\t\t * \t\t\trange <= json_temp\n\t\t * \t\t\tfixedrange true\n\t\t * \t\t\tshowticks <= show_ticks\n\t\t * \t\t\tshowticklabels <= data_demo\n\t\t * \t\t\tshowline true\n\t\t * \t\t\tzeroline false\n\t\t * \t\t\tshowgrid false\n\t\t * \t\t\tticklen 4\n\t\t * \t\t\ttickfont * size 12\n\t\t * \t\t\tside \\right\n\t\t * \t\t\toverlaying \\y\n\t\t * \t\tshapes <= layout_shapes\n\t\t * \t\tannotations <= annotations\n\t\t * ```\n\t\t */\n\t\trectangle() {\n\t\t\treturn {\n\t\t\t\tdatamock: [\n\t\t\t\t\t{\n\t\t\t\t\t\tx: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\ty: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\txaxis: \"x\",\n\t\t\t\t\t\tyaxis: \"y\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t{\n\t\t\t\t\t\tx: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\ty: [\n\t\t\t\t\t\t] as readonly any[],\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\txaxis: \"x2\",\n\t\t\t\t\t\tyaxis: \"y2\"\n\t\t\t\t\t} as Record< string, any >\n\t\t\t\t] as readonly any[],\n\t\t\t\tlayout: {\n\t\t\t\t\thovermode: \"closest\",\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tsize: 16,\n\t\t\t\t\t\tcolor: \"#333\",\n\t\t\t\t\t\tfamily: \"Exo2\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\txaxis: {\n\t\t\t\t\t\ttitle: \"at. %\",\n\t\t\t\t\t\trange: this.json_comp_range(),\n\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\tshowticks: this.show_ticks(),\n\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\tzeroline: false,\n\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\tticklen: 4,\n\t\t\t\t\t\ttickfont: {\n\t\t\t\t\t\t\tsize: 12\n\t\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t\thoverformat: \".2r\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\txaxis2: {\n\t\t\t\t\t\trange: this.json_comp_range(),\n\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\tshowticks: this.show_ticks(),\n\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\tzeroline: false,\n\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\tticklen: 4,\n\t\t\t\t\t\ttickfont: {\n\t\t\t\t\t\t\tsize: 12\n\t\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t\tside: \"top\",\n\t\t\t\t\t\toverlaying: \"x\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\tyaxis: {\n\t\t\t\t\t\ttitle: \"T, °C\",\n\t\t\t\t\t\trange: this.json_temp(),\n\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\tshowticks: this.show_ticks(),\n\t\t\t\t\t\tshowticklabels: this.data_demo(),\n\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\tzeroline: false,\n\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\tticklen: 4,\n\t\t\t\t\t\ttickfont: {\n\t\t\t\t\t\t\tsize: 12\n\t\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t\thoverformat: \".2r\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\tyaxis2: {\n\t\t\t\t\t\trange: this.json_temp(),\n\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\tshowticks: this.show_ticks(),\n\t\t\t\t\t\tshowticklabels: this.data_demo(),\n\t\t\t\t\t\tshowline: true,\n\t\t\t\t\t\tzeroline: false,\n\t\t\t\t\t\tshowgrid: false,\n\t\t\t\t\t\tticklen: 4,\n\t\t\t\t\t\ttickfont: {\n\t\t\t\t\t\t\tsize: 12\n\t\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\t\tside: \"right\",\n\t\t\t\t\t\toverlaying: \"y\"\n\t\t\t\t\t} as Record< string, any >,\n\t\t\t\t\tshapes: this.layout_shapes(),\n\t\t\t\t\tannotations: this.annotations()\n\t\t\t\t} as Record< string, any >\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rectangle_annotations /\n\t\t * \t*\n\t\t * \t\ttext <= json_title_a\n\t\t * \t\tx -0.03\n\t\t * \t\ty -0.11\n\t\t * \t\tshowarrow false\n\t\t * \t\txref \\papper\n\t\t * \t\tyref \\papper\n\t\t * \t\tfont *\n\t\t * \t\t\tsize 20\n\t\t * \t\t\tfamily \\Exo2\n\t\t * \t*\n\t\t * \t\ttext <= json_title_b\n\t\t * \t\tx 1.03\n\t\t * \t\ty -0.11\n\t\t * \t\tshowarrow false\n\t\t * \t\txref \\papper\n\t\t * \t\tyref \\papper\n\t\t * \t\tfont *\n\t\t * \t\t\tsize 20\n\t\t * \t\t\tfamily \\Exo2\n\t\t * ```\n\t\t */\n\t\trectangle_annotations() {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttext: this.json_title_a(),\n\t\t\t\t\tx: -0.03,\n\t\t\t\t\ty: -0.11,\n\t\t\t\t\tshowarrow: false,\n\t\t\t\t\txref: \"papper\",\n\t\t\t\t\tyref: \"papper\",\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tsize: 20,\n\t\t\t\t\t\tfamily: \"Exo2\"\n\t\t\t\t\t} as Record< string, any >\n\t\t\t\t} as Record< string, any >,\n\t\t\t\t{\n\t\t\t\t\ttext: this.json_title_b(),\n\t\t\t\t\tx: 1.03,\n\t\t\t\t\ty: -0.11,\n\t\t\t\t\tshowarrow: false,\n\t\t\t\t\txref: \"papper\",\n\t\t\t\t\tyref: \"papper\",\n\t\t\t\t\tfont: {\n\t\t\t\t\t\tsize: 20,\n\t\t\t\t\t\tfamily: \"Exo2\"\n\t\t\t\t\t} as Record< string, any >\n\t\t\t\t} as Record< string, any >\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * annotation *\n\t\t * \tshow_arrow false\n\t\t * \tfont *\n\t\t * \t\tsize 13\n\t\t * \t\tfamily \\Exo2\n\t\t * ```\n\t\t */\n\t\tannotation() {\n\t\t\treturn {\n\t\t\t\tshow_arrow: false,\n\t\t\t\tfont: {\n\t\t\t\t\tsize: 13,\n\t\t\t\t\tfamily: \"Exo2\"\n\t\t\t\t} as Record< string, any >\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * annotation_textangle* 0\n\t\t * ```\n\t\t */\n\t\tannotation_textangle(id: any) {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_options *\n\t\t * \tdisplaylogo false\n\t\t * \tdisplayModeBar false\n\t\t * \tstaticPlot false\n\t\t * ```\n\t\t */\n\t\tplot_options() {\n\t\t\treturn {\n\t\t\t\tdisplaylogo: false,\n\t\t\t\tdisplayModeBar: false,\n\t\t\t\tstaticPlot: false\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages / <= Plot\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Plot()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * json_title_a \\\n\t\t * ```\n\t\t */\n\t\tjson_title_a() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * json_title_b \\\n\t\t * ```\n\t\t */\n\t\tjson_title_b() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * json_title_c \\\n\t\t * ```\n\t\t */\n\t\tjson_title_c() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * layout_shapes /\n\t\t * ```\n\t\t */\n\t\tlayout_shapes() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * annotations /\n\t\t * ```\n\t\t */\n\t\tannotations() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * triangle_annotation_text \\\n\t\t * ```\n\t\t */\n\t\ttriangle_annotation_text() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * json_comp_range /\n\t\t * ```\n\t\t */\n\t\tjson_comp_range() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * show_ticks false\n\t\t * ```\n\t\t */\n\t\tshow_ticks() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * json_temp /\n\t\t * ```\n\t\t */\n\t\tjson_temp() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * data_demo false\n\t\t * ```\n\t\t */\n\t\tdata_demo() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_title \\\n\t\t * ```\n\t\t */\n\t\tplot_title() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * label? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tlabel(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Label $mol_view sub / <= label?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tLabel() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.label()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mousemove null\n\t\t * ```\n\t\t */\n\t\tmousemove() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Root $mol_view\n\t\t * \tdom_name \\div\n\t\t * \tevent * mousemove <= mousemove\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tRoot() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.dom_name = () => \"div\"\n\t\t\tobj.event = () => ({\n\t\t\t\tmousemove: this.mousemove()\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * draw null\n\t\t * ```\n\t\t */\n\t\tdraw() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot $mol_page\n\t\t * \ttitle <= plot_title\n\t\t * \tbody /\n\t\t * \t\t<= Label\n\t\t * \t\t<= Root\n\t\t * \tauto <= draw\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPlot() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.plot_title()\n\t\t\tobj.body = () => [\n\t\t\t\tthis.Label(),\n\t\t\t\tthis.Root()\n\t\t\t] as readonly any[]\n\t\t\tobj.auto = () => this.draw()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\t/**\n\t * Checks for equality to given value and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_const_demo\n\t */\n\texport function $mol_data_const< Val >( ref : Val ) {\n\n\t\treturn $mol_data_setup( ( val : Val ) => {\n\t\t\t\n\t\t\tif( $mol_compare_deep( val , ref ) ) return ref\n\t\t\t\n\t\t\treturn $mol_fail( new $mol_data_error( `${ JSON.stringify( val ) } is not ${ JSON.stringify( ref ) }` ) )\n\n\t\t} , ref )\n\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for dictionary which maps strings to given runtype and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_dict_demo\n\t */\n\texport function $mol_data_dict< Sub extends $mol_data_value >( sub : Sub ) {\n\n\t\treturn $mol_data_setup( ( val : Readonly< Record< string , ReturnType< Sub > > > ) => {\n\t\t\t\n\t\t\tif( Object.getPrototypeOf( val ) !== Object.prototype ) {\n\t\t\t\treturn $mol_fail( new $mol_data_error( `${ val } is not an Object` ) )\n\t\t\t}\n\n\t\t\tconst res = {} as Record< string , ReturnType< Sub > >\n\t\t\t\n\t\t\tfor( const field in val as Object ) {\n\n\t\t\t\ttry {\n\t\t\t\t\tres[ field ] = sub( ( val as any )[ field ] )\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\tif( error instanceof Promise ) return $mol_fail_hidden( error )\n\t\t\t\t\t\n\t\t\t\t\terror.message = `[${ JSON.stringify( field ) }] ${ error.message }`\n\t\t\t\t\treturn $mol_fail( error )\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn res as Readonly< Record< string , ReturnType< Sub > > >\n\t\t\t\n\t\t} , sub )\n\n\t}\n\t\t\t\n}\n","namespace $.$$ {\n\n\tconst Label_json = ( val: any ) => {\n\t\tif( !Array.isArray( val ) ) return $mol_fail( new $mol_data_error( `${ val } is not a array` ) )\n\t\tif( val.length < 2 || val.length > 3 ) return $mol_fail( new $mol_data_error( `${ val } should have 2 or 3 items` ) )\n\n\t\tconst check = { 0: val[ 0 ], 1: val[ 1 ], 2: val[ 2 ] }\n\t\tconst obj = $mol_data_record( {\n\t\t\t0: $mol_data_string,\n\t\t\t1: $mol_data_array( $mol_data_number ),\n\t\t\t2: $mol_data_nullable( $mol_data_number ),\n\t\t} )( check )\n\t\treturn Object.values( obj ) as [ string, number[], null | number ]\n\t}\n\n\t// source https://developer.mpds.io/mpds.schema.json#/definitions/phase_diagram\n\tconst $visavis_phase_rect_json = $mol_data_record( {\n\t\t// both\n\t\tnaxes: $mol_data_number,\n\t\tarity: $mol_data_number,\n\t\tdiatype: $mol_data_string,\n\t\tchemical_elements: $mol_data_array( $mol_data_string ),\n\t\ttemp: $mol_data_array( $mol_data_number ),\n\t\tlabels: $mol_data_array( Label_json ), // Array<[string, number[], null | number]>\n\t\tshapes: $mol_data_array( $mol_data_record( {\n\t\t\tkind: $mol_data_string,\n\t\t\tsvgpath: $mol_data_string,\n\t\t\tlabel: $mol_data_optional( $mol_data_string ),\n\t\t\tphase: $mol_data_optional( $mol_data_string ),\n\t\t\tnphases: $mol_data_optional( $mol_data_number ),\n\t\t\tis_solid: $mol_data_optional( $mol_data_boolean ),\n\t\t\tphase_id: $mol_data_optional( $mol_data_number ),\n\t\t\treflabel: $mol_data_optional( $mol_data_number ),\n\t\t\tchemical_elements: $mol_data_optional( $mol_data_array( $mol_data_string ) ),\n\t\t} ) ),\n\t\tentry: $mol_data_string,\n\t\tobject_type: $mol_data_string,\n\t\tuse_visavis_type: $mol_data_const( 'pd' ),\n\t\t\n\t\ttitle_a: $mol_data_optional( $mol_data_string ),\n\t\ttitle_b: $mol_data_optional( $mol_data_string ),\n\t\tobject_repr: $mol_data_optional( $mol_data_string ),\n\t\t// rect\n\t\tcomp_end: $mol_data_optional( $mol_data_dict( $mol_data_number ) ),\n\t\tcomp_range: $mol_data_optional( $mol_data_array( $mol_data_number ) ),\n\t\tcomp_start: $mol_data_optional( $mol_data_dict( $mol_data_number ) ),\n\t\t// triangle\n\t\ttitle_c: $mol_data_optional( $mol_data_string ),\n\t\tcomp_a: $mol_data_optional( $mol_data_dict( $mol_data_number ) ),\n\t\tcomp_b: $mol_data_optional( $mol_data_dict( $mol_data_number ) ),\n\t\tcomp_c: $mol_data_optional( $mol_data_dict( $mol_data_number ) ),\n\t\trange_a: $mol_data_optional( $mol_data_array( $mol_data_number ) ),\n\t\trange_b: $mol_data_optional( $mol_data_array( $mol_data_number ) ),\n\t\trange_c: $mol_data_optional( $mol_data_array( $mol_data_number ) ),\n\t} )\n\n\tfunction get_rect_pd_compound( comp: any, obj_left: any, obj_right: any ) {\n\t\tconst els = Object.keys( obj_left ).sort()\n\t\tlet formula = ''\n\t\tlet coeff = 0\n\n\t\tels.forEach( function( el ) {\n\t\t\tif( obj_right[ el ] == obj_left[ el ] )\n\t\t\t\tformula += el + ' × ' + obj_left[ el ].toFixed( 2 ) + ', '\n\n\t\t\telse if( obj_right[ el ] > obj_left[ el ] ) {\n\t\t\t\tcoeff = obj_left[ el ] + comp * ( obj_right[ el ] - obj_left[ el ] )\n\t\t\t\tcoeff = Math.round( coeff * 100 ) / 100\n\t\t\t\tif( !coeff ) return\n\t\t\t\tformula += el + ' × ' + coeff.toFixed( 2 ) + ', '\n\n\t\t\t} else {\n\t\t\t\tcoeff = obj_left[ el ] - ( comp * ( obj_left[ el ] - obj_right[ el ] ) )\n\t\t\t\tcoeff = Math.round( coeff * 100 ) / 100\n\t\t\t\tif( !coeff ) return\n\t\t\t\tformula += el + ' × ' + coeff.toFixed( 2 ) + ', '\n\t\t\t}\n\t\t} )\n\n\t\treturn formula.substr( 0, formula.length - 2 )\n\t}\n\n\tfunction get_tri_pd_compound( a: any, b: any, c: any, obj_a: any, obj_b: any, obj_c: any ) {\n\t\tconst els = Object.keys( obj_a ).sort()\n\t\tlet formula = ''\n\t\tlet coeff = 0\n\n\t\tels.forEach( function( el ) {\n\t\t\tcoeff = Math.round( ( obj_a[ el ] * a + obj_b[ el ] * b + obj_c[ el ] * c ) * 100 ) / 100\n\t\t\tif( !coeff ) return\n\t\t\tformula += el + ' × ' + coeff.toFixed( 2 ) + ', '\n\t\t} )\n\n\t\treturn formula.substr( 0, formula.length - 2 )\n\t}\n\n\texport function inside_triangle( x: number, y: number, x1: number, y1: number, x2: number, y2: number, x3: number, y3: number ) {\n\t\tfunction fAB( x: number, y: number, x1: number, y1: number, x2: number, y2: number, x3: number, y3: number ) {\n\t\t\treturn ( y - y1 ) * ( x2 - x1 ) - ( x - x1 ) * ( y2 - y1 )\n\t\t}\n\n\t\tfunction fBC( x: number, y: number, x1: number, y1: number, x2: number, y2: number, x3: number, y3: number ) {\n\t\t\treturn ( y - y2 ) * ( x3 - x2 ) - ( x - x2 ) * ( y3 - y2 )\n\t\t}\n\n\t\tfunction fCA( x: number, y: number, x1: number, y1: number, x2: number, y2: number, x3: number, y3: number ) {\n\t\t\treturn ( y - y3 ) * ( x1 - x3 ) - ( x - x3 ) * ( y1 - y3 )\n\t\t}\n\n\t\tif( fAB( x, y, x1, y1, x2, y2, x3, y3 ) * fBC( x, y, x1, y1, x2, y2, x3, y3 ) > 0 && fBC( x, y, x1, y1, x2, y2, x3, y3 ) * fCA( x, y, x1, y1, x2, y2, x3, y3 ) > 0 ) return true\n\t\telse return false\n\t}\n\n\texport function cartesian_to_ternary( x: number, y: number ) {\n\t\tconst b = y / ( Math.sqrt( 3 ) / 2 ),\n\t\t\ta = 1 - ( x + ( y / Math.sqrt( 3 ) ) ),\n\t\t\tc = 1 - a - b\n\t\treturn [ a, b, c ]\n\t}\n\n\t// TODO FIXME this should be done on the server\n\texport function fix_comp_impossible( comp_range: any, obj_left: any, obj_right: any ) {\n\t\tif( comp_range[ 1 ] - comp_range[ 0 ] == 100 ) return false\n\n\t\tconst els = Object.keys( obj_left )\n\t\tlet count = 0\n\t\tlet fixed = {} as any\n\n\t\tif( els.length > 2 )\n\t\t\treturn false\n\n\t\tfor( const el in obj_left ) {\n\t\t\tif( ( obj_right[ el ] == 0 && obj_left[ el ] == 1 ) || ( obj_left[ el ] == 0 && obj_right[ el ] == 1 ) )\n\t\t\t\tcount++\n\t\t}\n\n\t\tif( count == els.length ) {\n\t\t\tfixed = { comp_start: obj_left, comp_end: obj_right }\n\n\t\t\tif( fixed.comp_start[ els[ 0 ] ] == 0 ) {\n\t\t\t\tfixed.comp_start[ els[ 0 ] ] = comp_range[ 0 ] / 100\n\t\t\t\tfixed.comp_start[ els[ 1 ] ] = 1 - ( comp_range[ 0 ] / 100 )\n\t\t\t\tfixed.comp_end[ els[ 0 ] ] = comp_range[ 1 ] / 100\n\t\t\t\tfixed.comp_end[ els[ 1 ] ] = 1 - ( comp_range[ 1 ] / 100 )\n\t\t\t} else {\n\t\t\t\tfixed.comp_start[ els[ 0 ] ] = 1 - ( comp_range[ 0 ] / 100 )\n\t\t\t\tfixed.comp_start[ els[ 1 ] ] = comp_range[ 0 ] / 100\n\t\t\t\tfixed.comp_end[ els[ 0 ] ] = 1 - ( comp_range[ 1 ] / 100 )\n\t\t\t\tfixed.comp_end[ els[ 1 ] ] = comp_range[ 1 ] / 100\n\t\t\t}\n\t\t\treturn fixed\n\t\t}\n\t\treturn false\n\t}\n\n\texport class $visavis_phase extends $.$visavis_phase {\n\n\t\tplot_title() {\n\t\t\treturn this.plot().id()\n\t\t}\n\n\t\tjson() {\n\t\t\treturn $visavis_phase_rect_json( this.plot().json() as any )\n\t\t}\n\n\t\tjson_title_b() {\n\t\t\treturn this.json().title_b ?? ''\n\t\t}\n\n\t\tjson_title_a() {\n\t\t\treturn this.json().title_a ?? ''\n\t\t}\n\n\t\tjson_title_c() {\n\t\t\treturn this.json().title_c ?? ''\n\t\t}\n\n\t\tjson_comp_range() {\n\t\t\treturn this.json().comp_range ?? []\n\t\t}\n\n\t\tjson_temp() {\n\t\t\treturn this.json().temp\n\t\t}\n\n\t\tdata_demo() {\n\t\t\treturn !this.json().comp_a && !this.json().comp_start\n\t\t}\n\n\t\tshow_ticks() {\n\t\t\treturn this.json().labels.length > 0\n\t\t}\n\n\t\tis_triangle() {\n\t\t\treturn this.json().naxes === 3\n\t\t}\n\n\t\t@$mol_mem\n\t\tlayout_shapes() {\n\t\t\tconst list = this.json().shapes.map( obj => ( {\n\t\t\t\ttype: 'path',\n\t\t\t\tpath: obj.svgpath,\n\t\t\t\tline: this.line()[ obj.kind ] ?? this.line().default,\n\t\t\t\t...obj.kind !== 'phase' && obj.kind !== 'compound' ? { fillOpacity: 0 } : {},\n\t\t\t\t...obj.kind === 'phase' ? {\n\t\t\t\t\tfillcolor: !obj.is_solid && obj.nphases === 1 ? this.colors_by_nphases().alt_1 : this.colors_by_nphases()[ obj.nphases! ] ?? this.colors_by_nphases().default\n\t\t\t\t} : {},\n\t\t\t} ) )\n\n\t\t\treturn this.is_triangle() ? [ this.triangle_shape_fix(), ...list ] : list\n\t\t}\n\n\t\tannotation_textangle( label: ReturnType ) {\n\t\t\treturn label[ 0 ].replace( /<\\/?sub>/g, '' ).length > 10 ? -65 : 0\n\t\t}\n\n\t\t@$mol_mem\n\t\tannotations() {\n\t\t\tconst list = this.json().labels.map( label => ( {\n\t\t\t\tx: label[ 1 ][ 0 ],\n\t\t\t\ty: label[ 1 ][ 1 ],\n\t\t\t\ttext: label[ 0 ],\n\t\t\t\tshowarrow: this.annotation().show_arrow,\n\t\t\t\tfont: this.annotation().font,\n\t\t\t\ttextangle: this.annotation_textangle( label )\n\t\t\t} ) )\n\n\t\t\treturn [\n\t\t\t\t...list,\n\t\t\t\t...this.json().title_c && this.json().arity > 2 && !this.data_demo() ? this.triangle_annotations() : [],\n\t\t\t\t...this.json().naxes === 2 ? this.rectangle_annotations() : [],\n\t\t\t]\n\t\t}\n\n\t\tmouseover() {\n\t\t\tconst that = $lib_d3.all().select( this )\n\t\t\tconsole.log( that )\n\t\t\tconst idx = that.attr( 'data-index' )\n\n\t\t\t// if (json.naxes == 3){\n\t\t\t// if (idx == 0) return false;\n\t\t\t// idx--;\n\t\t\t// }\n\n\t\t\tthat.attr( 'data-state', that.style( 'fill' ) )\n\t\t\tthat.style( { 'cursor': 'pointer', 'fill': '#3e3f95' } )\n\t\t}\n\n\t\tmouseout() {}\n\n\t\tclick() {}\n\n\t\tmousemove() {}\n\n\t\t@$mol_action\n\t\tsubscribe_events() {\n\t\t\tconst d3 = $lib_d3.all()\n\t\t\tconsole.log('is trinagle', this.is_triangle())\n\n\t\t\tif ( this.is_triangle() ) this.pd_fix_triangle()\n\n\t\t\t// skip unsupported PD types\n\t\t\tif ( this.json().diatype && this.json().diatype.indexOf( 'projection' ) !== -1 ) return\n\n\t\t\tconst json = this.json()\n\t\t\tconst is_triangle = this.is_triangle()\n\n\t\t\tconst figures = d3.selectAll('[visavis_phase_root] .shapelayer path')\n\t\t\tfigures.on('mouseover', function(this: any) {\n\t\t\t\tconst that = d3.select(this)\n\t\t\t\tlet idx = that.attr('data-index')\n\n\t\t\t\tif (is_triangle){\n\t\t\t\t\tif (idx == 0) return false;\n\t\t\t\t\tidx--;\n\t\t\t\t}\n\n\t\t\t\tthat.attr('data-state', that.style('fill'));\n\t\t\t\tthat.style('cursor', 'pointer');\n\t\t\t\tthat.style('fill', '#3e3f95');\n\n\t\t\t\tconst reflabel = json.shapes[idx]?.reflabel\n\t\t\t\tif (reflabel !== undefined && json.labels[reflabel] !== undefined){\n\t\t\t\t\td3.select(`g.annotation[data-index=\"'${reflabel}'\"]`).select('text').style('fill', '#f30');\n\t\t\t\t}\n\t\t\t\t// original\n\t\t\t\t// if (visavis.pd_phases[idx] !== undefined && json.labels[visavis.pd_phases[idx]] !== undefined){\n\t\t\t\t// \tPlotly.d3.select('g.annotation[data-index=\"' + visavis.pd_phases[idx] + '\"]').select('text').style('fill', '#f30');\n\t\t\t\t// }\n\t\t\t})\n\n\t\t\tfigures.on('mouseout', function(this: any) {\n\t\t\t\tconst that = d3.select(this)\n\t\t\t\tconst state = that.attr('data-state')\n\n\t\t\t\tif (state){\n\t\t\t\t\tthat.style('fill', state)\n\t\t\t\t\tthat.style('cursor', 'default')\n\t\t\t\t\td3.selectAll('[visavis_phase_root] g.annotation').select('text').style('fill', '#000');\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tconst canvas = this.Root().dom_node() as any\n\n\t\t\t// rectangle\n\t\t\tif (!this.is_triangle()) {\n\t\t\t\tconst fixed = fix_comp_impossible(json.comp_range, json.comp_start, json.comp_end);\n\t\t\t\tconst comp_start = fixed?.comp_start ?? json.comp_start\n\t\t\t\tconst comp_end = fixed?.comp_end ?? json.comp_end\n\n\t\t\t\tconst xaxis = canvas._fullLayout.xaxis\n\t\t\t\tconst yaxis = canvas._fullLayout.yaxis\n\t\t\t\tconst margin_l = canvas._fullLayout.margin.l\n\t\t\t\tconst margin_t = canvas._fullLayout.margin.t\n\n\t\t\t\tconst self = this\n\n\t\t\t\tcanvas.addEventListener('mousemove', $mol_wire_async((evt: any) => {\n\t\t\t\t\tconst comp = xaxis.p2c(evt.layerX - margin_l)\n\t\t\t\t\tconst temp = parseInt(yaxis.p2c(evt.layerY - margin_t));\n\n\t\t\t\t\tif (comp > json.comp_range![0] && comp < json.comp_range![1] && temp > json.temp[0] && temp < json.temp[1]){\n\t\t\t\t\t\tconst label = get_rect_pd_compound((comp - json.comp_range![0]) / (json.comp_range![1] - json.comp_range![0]), comp_start, comp_end) + ' at T = ' + temp + ' °C';\n\t\t\t\t\t\tself.label(label)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.label('')\n\t\t\t\t\t}\n\t\t\t\t}))\n\t\t\t}\n\t\t}\n\n\t\t@$mol_mem\n\t\tdraw() {\n\t\t\tconst { datamock, layout } = this.is_triangle() ? this.triangle() : this.rectangle()\n\n\t\t\t// with $mol_wire_sync not working \n\t\t\tconst promise = $lib_plotly.all().react(\n\t\t\t\tthis.Root().dom_node() as HTMLElement,\n\t\t\t\tdatamock,\n\t\t\t\tlayout,\n\t\t\t\tthis.plot_options(),\n\t\t\t)\n\n\t\t\tpromise.then( () => this.subscribe_events() )\n\t\t}\n\n\t\tpd_fix_triangle() {\n\t\t\tconst d3 = $lib_d3.all()\n\n\t\t\tfunction make_absolute_context( element: SVGGraphicsElement, root: HTMLElement ) {\n\t\t\t\treturn function( x: number, y: number ) {\n\t\t\t\t\tvar offset = root.getBoundingClientRect()\n\t\t\t\t\tvar matrix = element.getScreenCTM()\n\t\t\t\t\treturn {\n\t\t\t\t\t\tx: ( matrix!.a * x ) + ( matrix!.c * y ) + matrix!.e - offset.left,\n\t\t\t\t\t\ty: ( matrix!.b * x ) + ( matrix!.d * y ) + matrix!.f - offset.top\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction get_absolute_coords( el: SVGGraphicsElement, ref: HTMLElement ) {\n\t\t\t\tconst fn = make_absolute_context( el, ref )\n\t\t\t\tconst b = el.getBBox()\n\t\t\t\treturn fn( b.x, b.y )\n\t\t\t}\n\n\t\t\tconst svgroot = d3.select( \"[visavis_phase_root] svg.main-svg\" )[ 0 ][ 0 ] // window\n\t\t\tlet graph_node = d3.select( \"[visavis_phase_root] g.toplevel.plotbg\" )[ 0 ][ 0 ] // graph frame\n\t\t\tconst graph_coords = get_absolute_coords( graph_node, svgroot )\n\t\t\tconst svg_el = d3.select( \"[visavis_phase_root] g.layer-above\" ) // actual drawing\n\t\t\tlet svg_node = svg_el[ 0 ][ 0 ]\n\n\t\t\tgraph_node = graph_node.getBoundingClientRect()\n\t\t\tsvg_node = svg_node.getBoundingClientRect()\n\n\t\t\tconst scaleX = graph_node.width / svg_node.width\n\t\t\tconst scaleY = graph_node.height / svg_node.height\n\t\t\tconst centerX = graph_coords.x + graph_node.width / 2\n\t\t\tconst centerY = graph_coords.y + graph_node.height // NB!\n\n\t\t\tconst origdims = [] as number[]\n\n\t\t\td3.selectAll( \"[visavis_phase_root] text.annotation-text\" ).each( function( this: any ) {\n\t\t\t\torigdims.push( parseInt( this.getBoundingClientRect().left ) )\n\t\t\t} )\n\n\t\t\tsvg_el.attr( \"transform\", \"translate(\" + ( -centerX * ( scaleX - 1 ) ) + \", \" + ( -centerY * ( scaleY - 1 ) ) + \") scale(\" + scaleX + \", \" + scaleY + \")\" )\n\n\t\t\td3.selectAll( \"[visavis_phase_root] g.annotation\" ).each( function( this: any, d: any, i: any ) {\n\t\t\t\td3.select( this ).attr( \"transform\", \"translate(\" + ( -centerX * ( scaleX - 1 ) ) + \", \" + ( -centerY * ( scaleY - 1 ) ) + \") scale(\" + scaleX + \", \" + scaleY + \") translate(\" + ( -origdims[ i ] / 1.25 ) + \", 0) scale(1.75, 1)\" )\n\t\t\t} )\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"visavis/phase/phase.view.css\",\n \"path{pointer-events:painted;}\\ng{pointer-events:painted;}\\n\"\n) }","namespace $.$$ {\n\n\tconst { per, rem, px } = $mol_style_unit\n\n\t$mol_style_define( $visavis_phase, {\n\n\t\tPlot: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t},\n\n\t\tRoot: {\n\t\t\twidth: $mol_style_unit.per(100),\n\t\t\theight: $mol_style_unit.per(100),\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\texport class $visavis_plot_plotly extends $mol_page {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot $visavis_plot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tplot() {\n\t\t\tconst obj = new this.$.$visavis_plot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * json *\n\t\t * ```\n\t\t */\n\t\tjson() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages / <= Plot\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Plot()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_options *\n\t\t * \tdisplaylogo false\n\t\t * \tdisplayModeBar false\n\t\t * \tstaticPlot false\n\t\t * ```\n\t\t */\n\t\tplot_options() {\n\t\t\treturn {\n\t\t\t\tdisplaylogo: false,\n\t\t\t\tdisplayModeBar: false,\n\t\t\t\tstaticPlot: false\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_title \\\n\t\t * ```\n\t\t */\n\t\tplot_title() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * draw null\n\t\t * ```\n\t\t */\n\t\tdraw() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Root $mol_view auto <= draw\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tRoot() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.auto = () => this.draw()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * error_showed? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\terror_showed(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Error $mol_view sub / <= error_showed?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tError() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.error_showed()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_body /\n\t\t * \t<= Root\n\t\t * \t<= Error\n\t\t * ```\n\t\t */\n\t\tplot_body() {\n\t\t\treturn [\n\t\t\t\tthis.Root(),\n\t\t\t\tthis.Error()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot $mol_page\n\t\t * \ttitle <= plot_title\n\t\t * \tbody <= plot_body\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPlot() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.plot_title()\n\t\t\tobj.body = () => this.plot_body()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\texport class $visavis_plot_plotly extends $.$visavis_plot_plotly {\n\n\t\tplot_title() {\n\t\t\treturn this.plot().id()\n\t\t}\n\n\t\tjson() {\n\t\t\treturn this.plot().json() as any\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\t\t\treturn {\n\t\t\t\tfont: {family: \"Exo2\", size: 13}\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\tconst json = this.json()\n\n\t\t\treturn json\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdraw() {\n\t\t\ttry {\n\n\t\t\t\t$mol_wire_sync( $lib_plotly.all() ).react(\n\t\t\t\t\tthis.Root().dom_node() as HTMLElement,\n\t\t\t\t\tthis.data(), \n\t\t\t\t\tthis.layout(),\n\t\t\t\t\tthis.plot_options(),\n\t\t\t\t)\t\n\n\t\t\t\tthis.subscribe_events() \n\t\t\t\tthis.error_showed( null )\n\n\t\t\t} catch( error: any ) {\n\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\tthis.error_showed( error )\n\n\t\t\t}\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t$mol_style_define( $visavis_plot_plotly, {\n\n\t\tPlot: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tRoot: {\n\t\t\twidth: '100%',\n\t\t\theight: '100%',\n\t\t},\n\n\t\tError: {\n\t\t\tposition: \"absolute\",\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\texport class $visavis_bar extends $visavis_plot_plotly {\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\tconst Payload = $mol_data_record({\n\t\tx: $mol_data_array( $mol_data_number ),\n\t\tdx: $mol_data_number,\n\t\ty: $mol_data_array( $mol_data_number ),\n\t\txtitle: $mol_data_optional( $mol_data_string ),\n\t\tytitle: $mol_data_optional( $mol_data_string ),\n\t})\n\n\texport const $visavis_bar_json = $mol_data_record({\n\t\tpayload: Payload,\n\t\tpayload2: $mol_data_optional( Payload ),\n\t})\n\n\texport class $visavis_bar extends $.$visavis_bar {\n\n\t\tjson() {\n\t\t\treturn $visavis_bar_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n\n\t\t\tconst d3 = $lib_d3.all()\n\n\t\t\tconst json = this.json() as any\n\n\t\t\tif (json.payload2 && json.p1ayload2.x && json.payload2.y) return\n\t\t\t\n\t\t\t// warn_demo();1\n\t\t\t// if (visavis.mpds_embedded) document.getElementById('expander').style.display = 'block';\n\t\t\tconst paths = d3.selectAll('g.point path')\n\t\t\tpaths.on('mouseover', function(this: any){\n\t\t\t\tconst selection = d3.select(this)\n\t\t\t\tselection.style('fill', '#E36868');\n\t\t\t\tselection.style('cursor', 'pointer');\n\t\t\t})\n\t\t\tpaths.on('mouseout', function(this: any){\n\t\t\t\tconst selection = d3.select(this)\n\t\t\t\tselection.style('fill', '#3e3f95');\n\t\t\t\tselection.style('cursor', 'default');\n\t\t\t})\n\t\t\t// paths.on('click', function(evt){\n\t\t\t// \tif (visavis.mpds_embedded){\n\t\t\t// \t\twindow.parent.wmgui.visavis_terminating = true;\n\t\t\t// \t\twindow.parent.location.hash = window.parent.wmgui.aug_search_cmd(\"years\", evt.x);\n\t\t\t// \t}\n\t\t\t// });\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\t\t\tconst json = this.json()\n\t\t\treturn {\n\t\t\t\tshowlegend: json.payload2 ? true : false,\n\t\t\t\tlegend: {x: 0, y: 1, font: {family: \"Exo2\", size: 17}},\n\t\t\t\txaxis: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tzeroline: false,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\tdtick: json.payload.dx || 0.05,\n\t\t\t\t\ttitle: json.payload.xtitle\n\t\t\t\t\t//rangemode: \"nonnegative\"\n\t\t\t\t},\n\t\t\t\tyaxis: {\n\t\t\t\t\tfixedrange: true,\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: true,\n\t\t\t\t\tshowline: false,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tticklen: 0,\n\t\t\t\t\ttitle: json.payload.ytitle,\n\t\t\t\t\trangemode: \"nonnegative\",\n\t\t\t\t\ttype: \"log\", tickfont: {family: \"Exo2\", size: 17}\n\t\t\t\t},\n\t\t\t\tfont: {family: \"Exo2\", size: 13}\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\n\t\t\tconst json = this.json()\n\n\t\t\tconst payload = [{type: \"bar\", x: json.payload.x, y: json.payload.y, marker: {color: \"#3e3f95\"}, name: 'bar'}]\n\t\t\t\n\t\t\tif (json.payload2 && json.payload2.x && json.payload2.y){\n\t\t\t\tpayload.push({type: \"bar\", x: json.payload2.x, y: json.payload2.y, marker: {color: \"#e36868\"}, name: 'bar'});\n\t\t\t}\n\n\t\t\treturn payload\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t$mol_style_define( $visavis_bar, {\n\n\t\tPlot: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tRoot: {\n\t\t\twidth: '100%',\n\t\t\theight: '100%',\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\texport class $visavis_discovery extends $visavis_plot_plotly {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages /\n\t\t * \t<= Plot\n\t\t * \t<= Setup\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Plot(),\n\t\t\t\tthis.Setup()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * elemental_checked*? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\telemental_checked(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * elementals_dict *\n\t\t * ```\n\t\t */\n\t\telementals_dict() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Elementals_check $mol_check_list\n\t\t * \toption_checked*? <=> elemental_checked*?\n\t\t * \toptions <= elementals_dict\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tElementals_check() {\n\t\t\tconst obj = new this.$.$mol_check_list()\n\t\t\t\n\t\t\tobj.option_checked = (id: any, next?: any) => this.elemental_checked(id, next)\n\t\t\tobj.options = () => this.elementals_dict()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Elementals $mol_labeler\n\t\t * \ttitle \\Elementals on\n\t\t * \tContent <= Elementals_check\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tElementals() {\n\t\t\tconst obj = new this.$.$mol_labeler()\n\t\t\t\n\t\t\tobj.title = () => \"Elementals on\"\n\t\t\tobj.Content = () => this.Elementals_check()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Setup $mol_page\n\t\t * \ttitle @ \\Setup\n\t\t * \tbody / <= Elementals\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSetup() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_discovery_Setup_title' )\n\t\t\tobj.body = () => [\n\t\t\t\tthis.Elementals()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\tconst Point = $mol_data_array( $mol_data_number )\n\n\tconst Payload = $mol_data_record({\n\t\tpoints: $mol_data_array( Point ),\n\t})\n\n\tconst Discover_item = $mol_data_record({\n\t\tpoints: $mol_data_array( Point ),\n\t\tname: $mol_data_string\n\t})\n\n\ttype Elementals_dict = typeof $visavis_elemental_names\n\n\texport const $visavis_discovery_json = $mol_data_record({\n\t\tpayload: Payload,\n\t\tanswerto: $mol_data_string,\n\t})\n\n\tfunction discover(\n\t\telementals_on: (keyof Elementals_dict)[], \n\t\tfirst: typeof Discover_item.Value, \n\t\tsecond?: typeof Discover_item.Value\n\t) {\n\t\tconst mlPca: any = $visavis_lib.pca()\n\t\tif (!mlPca) return $mol_fail( new $mol_data_error('Sorry, your web-browser is too old for this task') );\n\t\n\t\t// if (!first.points.length || (second && !second.points.length)) return urge('Error: not enough data for analysis');\n\t\t// ^ this will be validated in Discover_item()\n\n\t\tlet\tgiven_separation = 0;\n\t\t// given_separation = false;\n\n\t\tfunction elements_data( element_ids: readonly number[] ){\n\t\t\tconst prop_array: number[] = []\n\t\t\tconst label_parts: string[] = []\n\n\t\t\telement_ids.forEach( element_id => {\n\t\t\t\tconst props = elementals_on.map( prop_name => $visavis_element_prop[ prop_name ][ element_id ])\n\t\t\t\tconst name = $visavis_element_list[ element_id ]!\n\t\t\t\tprop_array.push( ...props )\n\t\t\t\tlabel_parts.push( name );\n\t\t\t})\n\n\t\t\tconst label = label_parts.filter( x => x ).join('-')\n\t\t\treturn { prop_array, label }\n\t\t}\n\n\t\tconst to_predict: number[][] = []\n\t\tconst labels: string[] = []\n\n\t\tfirst.points.forEach( element_ids => {\n\t\t\tconst { prop_array, label } = elements_data( element_ids )\n\n\t\t\tto_predict.push( prop_array );\n\t\t\tlabels.push( label );\n\t\t})\n\t\n\t\tif (second){\n\t\t\tgiven_separation = to_predict.length;\n\n\t\t\tsecond.points.forEach( element_ids => {\n\t\t\t\tconst { prop_array, label } = elements_data( element_ids )\n\t\n\t\t\t\t// discard points in the *second* that are already in the *first*\n\t\t\t\tif (labels.includes( label )) {\n\t\t\t\t\tto_predict.push( prop_array );\n\t\t\t\t\tlabels.push( label );\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif (to_predict.length == given_separation) {\n\t\t\t\treturn $mol_fail( new $mol_data_error('Error: a selected dataset is fully included into a reference dataset') )\n\t\t\t}\n\t\t}\n\t\n\t\tif (to_predict.length > 21000) return $mol_fail( new $mol_data_error('Error: too much data for analysis') )\n\t\n\t\tconst pca = new mlPca( to_predict )\n\t\tconst predicted = pca.predict( to_predict, {nComponents: 2} );\n\t\n\t\tif (second){\n\t\t\treturn [{\n\t\t\t\tdiscovery: predicted.slice(0, given_separation),\n\t\t\t\tlabels: labels.slice(0, given_separation),\n\t\t\t\tname: first.name\n\t\t\t}, {\n\t\t\t\tdiscovery: predicted.slice(given_separation),\n\t\t\t\tlabels: labels.slice(given_separation),\n\t\t\t\tname: second.name\n\t\t\t}];\n\t\t}\n\t\treturn [{\n\t\t\tdiscovery: predicted,\n\t\t\tlabels: labels,\n\t\t\tname: first.name\n\t\t}];\n\t}\n\n\texport class $visavis_discovery extends $.$visavis_discovery {\n\n\t\tjson() {\n\t\t\treturn $visavis_discovery_json( this.plot().json() as any )\n\t\t}\n\n\t\telementals_dict() {\n\t\t\treturn $visavis_elemental_names\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n\n\t\t\tconst d3 = $lib_d3.all()\n\n\t\t\tconst json = this.json() as any\n\n\t\t\t// if (visavis.mpds_embedded) {\n\t\t\t// \tdocument.getElementById('expander').style.display = 'block';\n\t\t\t// } else {\n\t\t\t// \treturn\n\t\t\t// }\n\n\t\t\t// Plotly.d3.select('#visavis').on('click', function(evt){\n\t\t\t// \tif (visavis.cache.type != 'discovery') return false;\n\n\t\t\t// \tevt = evt || window.event;\n\t\t\t// \tvar node = evt.target,\n\t\t\t// \t\tindex = 0;\n\t\t\t// \tif (node.tagName != 'path' || node.getAttribute('class') != 'point') return false;\n\n\t\t\t// \tvar oflag = node.style.opacity;\n\t\t\t// \tnode.style.fill = '#0f0';\n\t\t\t// \twhile ((node = node.previousElementSibling)){\n\t\t\t// \t\tindex++;\n\t\t\t// \t}\n\t\t\t// \tvar label = [],\n\t\t\t// \t\tpoint = (oflag == 1) ? visavis.cache.ref.points[index] : visavis.cache.cmp.points[index];\n\t\t\t// \tif (!point) return false;\n\n\t\t\t// \tpoint.forEach(function(i){\n\t\t\t// \t\tlabel.push(visavis.chem_els[i]);\n\t\t\t// \t});\n\t\t\t// \tlabel = label.filter(function(x){ return x }).join('-');\n\t\t\t// \twindow.open(window.location.protocol + \"//\" + window.location.host + window.parent.wmgui.aug_search_cmd(\"elements\", label));\n\t\t\t// });\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\t\t\treturn {\n\t\t\t\tshowlegend: false,\n\t\t\t\thovermode: \"closest\",\n\t\t\t\txaxis: { showgrid: false },\n\t\t\t\tyaxis: { showgrid: false },\n\t\t\t\tmargin: {\n\t\t\t\t\tl: 0,\n\t\t\t\t\tr: 0,\n\t\t\t\t\tb: 0,\n\t\t\t\t\tt: 0,\n\t\t\t\t\tpad: 0\n\t\t\t\t},\n\t\t\t\tannotations: [\n\t\t\t\t\t{ \n\t\t\t\t\t\tx: 0.63, \n\t\t\t\t\t\ty: 0.97, \n\t\t\t\t\t\txref: 'paper', \n\t\t\t\t\t\tyref: 'paper', \n\t\t\t\t\t\txanchor: 'right', \n\t\t\t\t\t\tyanchor: 'bottom', \n\t\t\t\t\t\ttext: 'Second Principal Component (a1x + b1y + c1z + ...)', \n\t\t\t\t\t\tshowarrow: false, \n\t\t\t\t\t\tbgcolor: '#fff', \n\t\t\t\t\t\tfont: { family: \"Exo2\", size: 14 } \n\t\t\t\t\t},\n\t\t\t\t\t{ \n\t\t\t\t\t\tx: 0.97, \n\t\t\t\t\t\ty: 0.67, \n\t\t\t\t\t\txref: 'paper', \n\t\t\t\t\t\tyref: 'paper', \n\t\t\t\t\t\txanchor: 'left', \n\t\t\t\t\t\tyanchor: 'top', \n\t\t\t\t\t\ttext: 'First Principal Component (a2x + b2y + c2z + ...)', \n\t\t\t\t\t\tshowarrow: false, \n\t\t\t\t\t\tbgcolor: '#fff', \n\t\t\t\t\t\ttextangle: 270, \n\t\t\t\t\t\tfont: { family: \"Exo2\", size: 14 } \n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\telementals_on() {\n\t\t\tconst elementals_on: (keyof Elementals_dict)[] = []\n\n\t\t\tObject.keys( this.elementals_dict() ).forEach( key => {\n\t\t\t\tif (this.elemental_checked(key)) {\n\t\t\t\t\telementals_on.push( key as keyof Elementals_dict )\n\t\t\t\t}\n\t\t\t} )\n\n\t\t\tif (elementals_on.length === 0) return $mol_fail( new $mol_data_error('At least one property must be enabled') )\n\n\t\t\treturn elementals_on\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\telemental_checked(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn id === 'nump' ? true : false //nump on by default\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\n\t\t\tconst json = this.json()\n\n\t\t\tconst elementals_on = this.elementals_on()\n\n\t\t\t// if (visavis.cache && visavis.cache.type == 'discovery'){\n\t\t\t// \tvar ref = {points: visavis.cache.ref.points, name: visavis.cache.ref.name},\n\t\t\t// \t\tcmp = {points: json.payload.points, name: json.answerto};\n\t\t\t// \tvisavis.cache.cmp = cmp;\n\t\t\n\t\t\t// } else {\n\t\t\t// \tvar ref = {points: json.payload.points, name: json.answerto},\n\t\t\t// \t\tcmp = false;\n\t\t\t// \tvisavis.cache = {ref: ref, type: 'discovery'};\n\t\t\t// }\n\n\t\t\tconst result = discover(elementals_on, Discover_item({points: json.payload.points, name: json.answerto}));\n\t\t\tif (!result || !result[0].discovery) return;\n\t\t\n\t\t\tconst traces = [];\n\t\t\n\t\t\tfor (let i = 0; i < result.length; i++){\n\t\t\t\tconst dscolor = (i == 0) ? '#3e3f95' : '#900'\n\t\t\t\tconst oflag = (i == 0) ? 1 : 0.9\n\t\t\t\ttraces.push({\n\t\t\t\t\tx: result[i].discovery.map((item: any) => item[0] ),\n\t\t\t\t\ty: result[i].discovery.map((item: any) => item[1] ),\n\t\t\t\t\ttext: result[i].labels,\n\t\t\t\t\tmode: 'markers',\n\t\t\t\t\ttype: 'scatter',\n\t\t\t\t\thoverinfo: 'text',\n\t\t\t\t\tmarker: {size: 6, color: dscolor, opacity: oflag, symbol: 'square'}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn traces\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t$mol_style_define( $visavis_discovery, {\n\n\t\tSetup: {\n\t\t\tflex: {\n\t\t\t\tbasis: '25rem',\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t\tBody: {\n\t\t\t\tpadding: $mol_gap.block,\n\t\t\t},\n\t\t},\n\t\t\n\t} )\n\n}\n","namespace $ {\n\texport class $visavis_eigen extends $visavis_plot_plotly {\n\t}\n\t\n}\n\n","namespace $ {\n\n\t/**\n\t * Checks for some of given runtype or throws error.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_variant_demo\n\t */\n\texport function $mol_data_variant< Sub extends $mol_data_value[] >( ... sub : Sub ) {\n\n\t\treturn $mol_data_setup( ( val : Parameters< Sub[ number ] >[0] ) => {\n\t\t\t\n\t\t\tconst errors = [] as Error[]\n\t\t\t\n\t\t\tfor( const type of sub ) {\n\n\t\t\t\tlet hidden = $.$mol_fail_hidden\n\n\t\t\t\ttry {\n\n\t\t\t\t\t$.$mol_fail = $.$mol_fail_hidden\n\n\t\t\t\t\treturn type( val ) as ReturnType< Sub[ number ] >\n\n\t\t\t\t} catch ( error ) {\n\n\t\t\t\t\t$.$mol_fail = hidden\n\n\t\t\t\t\tif( error instanceof $mol_data_error ) {\n\t\t\t\t\t\terrors.push( error )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_fail_hidden( error )\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn $mol_fail( new $mol_data_error( `${val} is not any of variants` , ... errors ) )\n\n\t\t} , sub )\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst Bands_matrix = $mol_data_record({\n\t\tbands: $mol_data_array( $mol_data_array( $mol_data_number ) ),\n\t\tkpoints: $mol_data_array( $mol_data_array( $mol_data_number ) ),\n\t})\n\ttype Bands_matrix = ReturnType\n\n\tconst Dos_matrix = $mol_data_record({\n\t\tdos: $mol_data_array( $mol_data_number ),\n\t\tlevels: $mol_data_array( $mol_data_number ),\n\t})\n\ttype Dos_matrix = ReturnType\n\n\texport const $visavis_eigen_json = $mol_data_record( {\n\t\tsample: $mol_data_record( {\n\t\t\tmaterial: $mol_data_record( {\n\t\t\t\tchemical_formula: $mol_data_string,\n\t\t\t\tchemical_elements: $mol_data_array( $mol_data_string ),\n\t\t\t\tcondition: $mol_data_array( $mol_data_record( {\n\t\t\t\t\tscalar: $mol_data_array( $mol_data_record( { value: $mol_data_number } ) ),\n\t\t\t\t\tname: $mol_data_string,\n\t\t\t\t\tunits: $mol_data_optional( $mol_data_string ),\n\t\t\t\t}) ),\n\t\t\t\tphase: $mol_data_string,\n\t\t\t\tphase_id: $mol_data_number,\n\t\t\t\tentry: $mol_data_string,\n\t\t\t\tobject_repr: $mol_data_optional( $mol_data_string),\n\t\t\t}),\n\t\t\tmeasurement: $mol_data_array( $mol_data_record( {\n\t\t\t\tdata_type: $mol_data_string, //enum: [\"peer_reviewed\", \"machine_learning\", \"ab_initio\"]\n\t\t\t\tproperty: $mol_data_record( {\n\t\t\t\t\tunits: $mol_data_string,\n\t\t\t\t\tscalar: $mol_data_optional( $mol_data_variant( $mol_data_string, $mol_data_number ) ),\n\t\t\t\t\tmatrix: $mol_data_variant(\n\t\t\t\t\t\tBands_matrix,\n\t\t\t\t\t\tDos_matrix,\n\t\t\t\t\t),\n\t\t\t\t\tname: $mol_data_string,\n\t\t\t\t\tcategory: $mol_data_string,\n\t\t\t\t\tdomain: $mol_data_string,\n\t\t\t\t}),\n\t\t\t\tcondition: $mol_data_optional( $mol_data_array( $mol_data_record( {\n\t\t\t\t\tunits: $mol_data_string,\n\t\t\t\t\tscalar: $mol_data_number,\n\t\t\t\t\t// range: {},\n\t\t\t\t\tname: $mol_data_string,\n\t\t\t\t\trefers_to: $mol_data_optional( $mol_data_string ),\n\t\t\t\t} ) ) ),\n\t\t\t\traw_data: $mol_data_optional( $mol_data_string ),\n\t\t\t}) ),\n\t\t}),\n\t\tversion: $mol_data_string,\n\t\tobject_type: $mol_data_string,\n\t\treference: $mol_data_record( {\n\t\t\tentry: $mol_data_string,\n\t\t\tphase: $mol_data_optional( $mol_data_string ),\n\t\t}),\n\t})\n\n\texport class $visavis_eigen extends $.$visavis_eigen {\n\n\t\tjson() {\n\t\t\treturn $visavis_eigen_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tbands_matrix(): Bands_matrix | null {\n\t\t\tconst matrix = this.json().sample.measurement[0].property.matrix as Bands_matrix;\n\t\t\tif (matrix.bands){\n\t\t\t\treturn matrix\n\t\t\t} else {\n\t\t\t\treturn null\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdos_matrix(): Dos_matrix | null {\n\t\t\tconst matrix = this.json().sample.measurement[0].property.matrix as Dos_matrix;\n\t\t\tif (matrix.dos){\n\t\t\t\treturn matrix\n\t\t\t} else {\n\t\t\t\treturn null\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n\t\t\t// if (visavis.mpds_embedded) document.getElementById('cross').style.display = 'block';\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\tconst dataset = [];\n\n\t\t\tconst bands_matrix = this.bands_matrix()\n\t\t\tconst dos_matrix = this.dos_matrix()\n\n\t\t\tif (bands_matrix){\n\t\t\t\tfor (let i = 0; i < bands_matrix.bands.length; i++){\n\t\t\t\t\tdataset.push({\n\t\t\t\t\t\tx: $lib_d3.all().range(bands_matrix.bands[i].length),\n\t\t\t\t\t\ty: bands_matrix.bands[i],\n\t\t\t\t\t\tmode: \"lines\",\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmarker: {color: \"#000\"}\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t} else if (dos_matrix) {\n\t\t\t\tdataset.push({\n\t\t\t\t\tx: dos_matrix.levels,\n\t\t\t\t\ty: dos_matrix.dos,\n\t\t\t\t\tmode: \"lines\",\n\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\tmarker: {color: \"#000\"}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// return notify('Cannot get plot data, please, try again');\n\t\t\t\t// ^ it will be validated id $visavis_eigen_json()\n\t\t\t}\n\n\t\t\treturn dataset\t\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\n\t\t\tconst bands_matrix = this.bands_matrix()\n\n\t\t\tlet xaxis: Object = {}\n\t\t\tlet x_title = ''\n\t\t\tlet y_title = ''\n\n\t\t\tif (bands_matrix){\n\t\t\t\tconst x_labels = [];\n\t\t\t\tfor (let i = 0; i < bands_matrix.kpoints.length; i++){\n\t\t\t\t\tx_labels.push( (bands_matrix.kpoints[i][0] == 0 && bands_matrix.kpoints[i][1] == 0 && bands_matrix.kpoints[i][2] == 0) ? 'Г' : '' );\n\t\t\t\t}\n\t\t\t\tx_title = 'k'\n\t\t\t\ty_title = 'E - EF, eV'\n\t\t\t\txaxis = {\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tzeroline: false,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\ttickmode: 'array',\n\t\t\t\t\ttickvals: $lib_d3.all().range(bands_matrix.kpoints.length),\n\t\t\t\t\tticktext: x_labels,\n\t\t\t\t\ttickfont: {size: 20}\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tx_title = 'E - EF, eV'\n\t\t\t\ty_title = 'Total density of states'\n\t\t\t\txaxis = {\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tzeroline: false,\n\t\t\t\t\tshowgrid: true,\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\ttitle: x_title\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tshowlegend: false,\n\t\t\t\txaxis: xaxis,\n\t\t\t\tyaxis: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tzeroline: true,\n\t\t\t\t\tzerolinecolor: '#6cf',\n\t\t\t\t\tzerolinewidth: 3,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\ttitle: y_title\n\t\t\t\t},\n\t\t\t\tfont: {family: \"Exo2\", size: 13}\n\t\t\t}\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\texport class $visavis_pie extends $visavis_plot_plotly {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * colorset /\n\t\t * \t\\#3e3f95\n\t\t * \t\\#c00\n\t\t * \t\\#FE9A2E\n\t\t * \t\\#090\n\t\t * \t\\#f0f\n\t\t * \t\\#09f\n\t\t * \t\\#666\n\t\t * \t\\#0f3\n\t\t * \t\\#0ff\n\t\t * \t\\#90c\n\t\t * ```\n\t\t */\n\t\tcolorset() {\n\t\t\treturn [\n\t\t\t\t\"#3e3f95\",\n\t\t\t\t\"#c00\",\n\t\t\t\t\"#FE9A2E\",\n\t\t\t\t\"#090\",\n\t\t\t\t\"#f0f\",\n\t\t\t\t\"#09f\",\n\t\t\t\t\"#666\",\n\t\t\t\t\"#0f3\",\n\t\t\t\t\"#0ff\",\n\t\t\t\t\"#90c\"\n\t\t\t] as readonly any[]\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\t/**\n\t * Checks for value of given enum and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_enum_demo\n\t */\n\texport function $mol_data_enum<\n\t\tDict extends Record< number | string , number | string >\n\t>( name : string , dict : Dict ) {\n\n\t\ttype Value = Dict[ keyof Dict ]\n\n\t\tconst index = {} as Record< Value , keyof Dict >\n\n\t\tfor( let key in dict ) {\n\t\t\tif( Number.isNaN( Number( key ) ) ) {\n\t\t\t\tindex[ dict[ key ] ] = key\n\t\t\t}\n\t\t}\n\n\t\treturn $mol_data_setup( ( value : Value ) => {\n\n\t\t\tif ( typeof index[ value ] !== 'string' ) {\n\t\t\t\treturn $mol_fail( new $mol_data_error( `${value} is not value of ${name} enum` ) )\n\t\t\t}\n\n\t\t\treturn value\n\n\t\t} , { name , dict } )\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst Facet_names = {props: 'properties', elements: 'elements', classes: 'classes', lattices: 'crystal systems'} as const\n\n\texport const $visavis_pie_json = $mol_data_record( {\n\t\tpayload: $mol_data_array( $mol_data_record( {\n\t\t\tfacet: $mol_data_enum( 'facet', {props: 'props', elements: 'elements', classes: 'classes', lattices: 'lattices'} as const ),\n\t\t\tvalue: $mol_data_string,\n\t\t\tcount: $mol_data_number,\n\t\t} ) ),\n\t\ttotal_count: $mol_data_number,\n\t})\n\n\n\t// Get pre-define coordinates for piechart labels (FIXME?)\n\tfunction locate_label(values: number[][]){\n\t\tlet x = 0\n\t\tlet y = 0\n\t\tconst left = values[0]\n\t\tconst top = values[1]\n\n\t\tif (left[0] == 0 && left[1] == 0.32) x = 0.08;\n\t\telse if (left[0] == 0.67 && left[1] == 1) x = 0.92;\n\t\telse if (left[0] == 0 && left[1] == 0.49) x = 0.17;\n\t\telse if (left[0] == 0.51 && left[1] == 1) x = 0.83;\n\t\telse x = left.reduce(function(a, b){ return a + b }, 0)/2; // avg\n\n\t\ty = top[0];\n\t\tif (y <= 0.03) y = 0;\n\t\telse if (y == 0.34) y = 0.318;\n\t\telse if (y == 0.53) y = 0.51;\n\n\t\treturn {x: x, y: y};\n\t}\n\n\texport class $visavis_pie extends $.$visavis_pie {\n\n\t\tjson() {\n\t\t\treturn $visavis_pie_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n\t\t\t// warn_demo();\n\t\t\t// if (visavis.mpds_embedded) document.getElementById('expander').style.display = 'block';\n\n\t\t\t// Plotly.d3.selectAll('g.slice').on({'click': function(evt){\n\t\t\t// var value = evt.text.split(' -1) return;\n\t\t\t// visavis.evtfuse = 0;\n\t\t\t// for (var p in visavis.facet_names){\n\t\t\t// if (visavis.facet_names[p] == name) found_fct = p;\n\t\t\t// }\n\t\t\t// if (!found_fct) return;\n\t\t\t// if (found_fct == 'elements') value = value.replace(/,\\s/g, '-'); // FIXME?\n\t\t\t// if (visavis.mpds_embedded) window.parent.location.hash = window.parent.wmgui.aug_search_cmd(found_fct, value);\n\t\t\t// } else {\n\t\t\t// if (value.indexOf('other ') > -1) return;\n\t\t\t// if (visavis.evtfuse > 1) return;\n\t\t\t// visavis.evtfuse = visavis.evtfuse ? visavis.evtfuse + 1 : 1;\n\t\t\t// visavis.evtbuff = value;\n\t\t\t// var reevt = document.createEvent('Event');\n\t\t\t// reevt.initEvent('click', false, true);\n\t\t\t// Plotly.d3.select(this.parentNode.firstChild).node().dispatchEvent(reevt);\n\t\t\t// }\n\t\t\t// }});\n\t\t}\n\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\n\t\t\tconst data = this.data()\n\t\t\tconst tot_count = this.tot_count()\n\t\t\tconst xy_domains = this.xy_domains()\n\n\t\t\tconst annotations_layout = {showarrow: false, font: {size: 13, family: \"Exo2\"}, borderpad: 0, bgcolor: '#fff'}\n\t\t\tconst annotations = data.map((pie, loc_count) => {\n\t\t\t\tlet label = pie.name + ' distribution';\n\t\t\t\tlabel = 'Fig. ' + (loc_count+1) + '. ' + label.charAt(0).toUpperCase() + label.slice(1);\n\t\t\t\treturn Object.assign({text: label}, locate_label(xy_domains[tot_count]![loc_count]), annotations_layout);\n\t\t\t})\n\n\t\t\treturn {showlegend: false, font: {family: \"Exo2\"}, annotations}\n\t\t}\n\n\t\t@ $mol_mem\n\t\txy_domains() {\n\t\t\treturn [\n\t\t\t\tnull,\n\t\t\t\t[[[0, 1], [0.03, 1]]],\n\t\t\t\t[[[0, 0.49], [0, 1]], [[0.51, 1], [0, 1]]],\n\t\t\t\t[[[0, 0.49], [0.53, 1]], [[0.51, 1], [0.53, 1]], [[0, 0.49], [0.03, 0.49]]],\n\t\t\t\t[[[0, 0.49], [0.53, 1]], [[0.51, 1], [0.53, 1]], [[0, 0.49], [0.03, 0.49]], [[0.51, 1], [0.03, 0.49]]],\n\t\t\t\t[[[0, 0.32], [0.51, 1]], [[0.33, 0.66], [0.51, 1]], [[0.67, 1], [0.51, 1]], [[0, 0.32], [0, 0.49]], [[0.33, 0.66], [0, 0.49]]],\n\t\t\t\t[[[0, 0.32], [0.51, 1]], [[0.33, 0.66], [0.51, 1]], [[0.67, 1], [0.51, 1]], [[0, 0.32], [0, 0.49]], [[0.33, 0.66], [0, 0.49]], [[0.67, 1], [0, 0.49]]],\n\t\t\t\t[[[0, 0.32], [0.68, 1]], [[0.33, 0.66], [0.68, 1]], [[0.67, 1], [0.68, 1]], [[0, 0.32], [0.34, 0.65]], [[0.33, 0.66], [0.34, 0.65]], [[0.67, 1], [0.34, 0.65]], [[0, 0.32], [0.02, 0.31]]],\n\t\t\t\t[[[0, 0.32], [0.68, 1]], [[0.33, 0.66], [0.68, 1]], [[0.67, 1], [0.68, 1]], [[0, 0.32], [0.34, 0.65]], [[0.33, 0.66], [0.34, 0.65]], [[0.67, 1], [0.34, 0.65]], [[0, 0.32], [0.02, 0.31]], [[0.33, 0.66], [0.02, 0.31]]]\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tenter_metrics() {\n\t\t\treturn this.json().total_count/150\n\t\t}\n\n\t\t@ $mol_mem\n\t\ttot_count() {\n\t\t\tlet tot_count = 0\n\n\t\t\tconst json = this.json()\n\t\t\tconst enter_metrics = this.enter_metrics()\n\t\t\tlet recent_facet: null | keyof typeof Facet_names = null;\n\n\t\t\tfor (let i = 0; i < json.payload.length; i++){\n\t\t\t\tif (json.payload[i].count < enter_metrics || json.payload[i].count > (json.total_count - enter_metrics)) continue;\n\t\t\n\t\t\t\tif (json.payload[i].facet == \"classes\") tot_count++;\n\t\t\t\telse {\n\t\t\t\t\tif (json.payload[i].facet != recent_facet) tot_count++;\n\t\t\t\t\trecent_facet = json.payload[i].facet;\n\t\t\t\t}\n\t\t\t}\n\t\t\n\t\t\tif (!tot_count) return $mol_fail( new $mol_data_error('Warning: not enough data for analysis') )\n\t\t\treturn tot_count\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\n\t\t\tconst json = this.json()\n\n\t\t\tif (!json.total_count || json.total_count == 1) {\n\t\t\t\treturn $mol_fail( new $mol_data_error('Warning: not enough data for analysis') )\n\t\t\t}\n\n\t\t\tconst data: any[] = []\n\t\t\tconst classes = []\n\t\t\tconst tot_count = this.tot_count()\n\t\t\tconst xy_domains = this.xy_domains()\n\t\t\tconst enter_metrics = this.enter_metrics()\n\t\t\n\t\t\tlet recent_facet: null | keyof typeof Facet_names = null;\n\t\t\n\t\t\tlet loc_count = 0\n\t\t\tfor (let i = 0; i < json.payload.length; i++){\n\t\t\t\tif (json.payload[i].count < enter_metrics || json.payload[i].count > (json.total_count - enter_metrics)) continue;\n\t\t\n\t\t\t\t// special case of interlacing classes\n\t\t\t\tif (json.payload[i].facet == \"classes\"){\n\t\t\t\t\tclasses.push({\n\t\t\t\t\t\ttype: \"pie\",\n\t\t\t\t\t\tname: Facet_names[json.payload[i].facet],\n\t\t\t\t\t\tvalues: [json.payload[i].count, json.total_count - json.payload[i].count],\n\t\t\t\t\t\ttext: [json.payload[i].value, \"other classes\"],\n\t\t\t\t\t\tdomain: {x: xy_domains[tot_count]![loc_count][0], y: xy_domains[tot_count]![loc_count][1]},\n\t\t\t\t\t\thoverinfo: \"text+percent+name\",\n\t\t\t\t\t\ttextinfo: \"text+percent\",\n\t\t\t\t\t\ttextposition: \"inside\",\n\t\t\t\t\t\thole: 0.3/tot_count,\n\t\t\t\t\t\tmarker: {colors: this.colorset()}\n\t\t\t\t\t});\n\t\t\t\t\tloc_count++;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\n\t\t\t\t// other facets\n\t\t\t\tif (json.payload[i].facet != recent_facet){\n\t\t\t\t\tif (recent_facet){\n\t\t\t\t\t\t// rest of data, not loaded\n\t\t\t\t\t\tconst sum = data[data.length - 1].values.reduce(function(a: number, b: number){ return a + b }, 0);\n\t\t\t\t\t\tif (sum < json.total_count){\n\t\t\t\t\t\t\tdata[data.length - 1].values.push(json.total_count - sum);\n\t\t\t\t\t\t\tdata[data.length - 1].text.push(\"other \" + Facet_names[recent_facet]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (loc_count > 8) break;\n\t\t\t\t\tdata.push({\n\t\t\t\t\t\ttype: \"pie\",\n\t\t\t\t\t\tname: Facet_names[json.payload[i].facet],\n\t\t\t\t\t\tvalues: [],\n\t\t\t\t\t\ttext: [],\n\t\t\t\t\t\tdomain: {x: xy_domains[tot_count]![loc_count][0], y: xy_domains[tot_count]![loc_count][1]},\n\t\t\t\t\t\thoverinfo: \"text+percent+name\",\n\t\t\t\t\t\ttextinfo: \"text+percent\",\n\t\t\t\t\t\ttextposition: \"inside\",\n\t\t\t\t\t\thole: 0.3/tot_count,\n\t\t\t\t\t\tmarker: {colors: this.colorset()}\n\t\t\t\t\t});\n\t\t\t\t\tloc_count++;\n\t\t\t\t}\n\t\t\n\t\t\t\trecent_facet = json.payload[i].facet;\n\t\t\t\tdata[data.length - 1].values.push(json.payload[i].count);\n\t\t\t\tdata[data.length - 1].text.push(json.payload[i].value);\n\t\t\t}\n\t\t\tif (data.length){\n\t\t\t\t// NB FIXME once again: rest of data, not loaded\n\t\t\t\tconst sum = data[data.length - 1].values.reduce(function(a: number, b: number){ return a + b }, 0);\n\t\t\t\tif (sum < json.total_count){\n\t\t\t\t\tdata[data.length - 1].values.push(json.total_count - sum);\n\t\t\t\t\tdata[data.length - 1].text.push(\"other \" + Facet_names[recent_facet!]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (classes) data.push(...classes);\n\n\t\t\treturn data\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport class $visavis_scatter extends $visavis_plot_plotly {\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\texport const $visavis_scatter_json = $mol_data_record( {\n\t\tsample: $mol_data_record( {\n\t\t\tmaterial: $mol_data_record( {\n\t\t\t\tchemical_formula: $mol_data_string,\n\t\t\t\tchemical_elements: $mol_data_array( $mol_data_string ),\n\t\t\t\tcondition: $mol_data_array( $mol_data_record( {\n\t\t\t\t\tscalar: $mol_data_array( $mol_data_record( { value: $mol_data_number } ) ),\n\t\t\t\t\tname: $mol_data_string,\n\t\t\t\t\tunits: $mol_data_optional( $mol_data_string ),\n\t\t\t\t}) ),\n\t\t\t\tphase: $mol_data_string,\n\t\t\t\tphase_id: $mol_data_number,\n\t\t\t\tentry: $mol_data_string,\n\t\t\t\tobject_repr: $mol_data_optional( $mol_data_string),\n\t\t\t}),\n\t\t\tmeasurement: $mol_data_array( $mol_data_record( {\n\t\t\t\tdata_type: $mol_data_string, //enum: [\"peer_reviewed\", \"machine_learning\", \"ab_initio\"]\n\t\t\t\tproperty: $mol_data_record( {\n\t\t\t\t\tunits: $mol_data_string,\n\t\t\t\t\tscalar: $mol_data_optional( $mol_data_variant( $mol_data_string, $mol_data_number ) ),\n\t\t\t\t\tmatrix: $mol_data_array( $mol_data_array( $mol_data_number ) ),\n\t\t\t\t\tname: $mol_data_string,\n\t\t\t\t\tcategory: $mol_data_string,\n\t\t\t\t\tdomain: $mol_data_string,\n\t\t\t\t}),\n\t\t\t\tcondition: $mol_data_optional( $mol_data_array( $mol_data_record( {\n\t\t\t\t\tunits: $mol_data_string,\n\t\t\t\t\tscalar: $mol_data_number,\n\t\t\t\t\t// range: {},\n\t\t\t\t\tname: $mol_data_string,\n\t\t\t\t\trefers_to: $mol_data_optional( $mol_data_string ),\n\t\t\t\t} ) ) ),\n\t\t\t\traw_data: $mol_data_optional( $mol_data_string ),\n\t\t\t}) ),\n\t\t}),\n\t\tversion: $mol_data_string,\n\t\tobject_type: $mol_data_string,\n\t\treference: $mol_data_record( {\n\t\t\tentry: $mol_data_string,\n\t\t\tphase: $mol_data_optional( $mol_data_string ),\n\t\t}),\n\t})\n\texport class $visavis_scatter extends $.$visavis_scatter {\n\n\t\tjson() {\n\t\t\t// notify('Cannot get plot data, please, try again');\n\t\t\treturn $visavis_scatter_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n // if (visavis.mpds_embedded) document.getElementById('cross').style.display = 'block';\n\t\t}\n\n\t\t@ $mol_mem\n\t\tp_data() {\n\t\t\treturn this.json().sample.measurement[0].property.matrix.map( item => item[0] )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tt_data() {\n\t\t\treturn this.json().sample.measurement[0].property.matrix.map( item => item[1] )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tp_data_sum() {\n\t\t\treturn this.p_data().reduce( (a, b) => a + b, 0 )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tt_data_sum() {\n\t\t\treturn this.t_data().reduce( (a, b) => a + b, 0 )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tx_data_type() {\n\t\t\tconst p_data = this.p_data()\n\t\t\tconst p_data_sum = this.p_data_sum()\n\t\t\tconst t_data = this.t_data()\n\t\t\tconst t_data_sum = this.t_data_sum()\n\t\t\tif (Math.abs(t_data[0] - t_data_sum/t_data.length) < 0.1 && Math.abs(p_data[0] - p_data_sum/p_data.length) > 0.1){\n\t\t\t\treturn 'pressure'\n\t\t\t} else if (Math.abs(t_data[0] - t_data_sum/t_data.length) > 0.1 && Math.abs(p_data[0] - p_data_sum/p_data.length) > 0.1){\n\t\t\t\treturn $mol_fail( new $mol_data_error('Sorry, plotting both temperature and pressure is not yet supported') )\n\t\t\t\t// return 'pressure and temperature'\n\t\t\t} else {\n\t\t\t\treturn 'temperature'\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tx_data() {\n\t\t\tswitch (this.x_data_type()) {\n\t\t\t\tcase 'pressure':\n\t\t\t\t\treturn this.p_data()\n\t\t\t\tcase 'temperature':\n\t\t\t\t\treturn this.t_data()\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tx_title() {\n\t\t\tconst dict = {\n\t\t\t\t'pressure': 'P, Gpa',\n\t\t\t\t'temperature': 'T, K',\n\t\t\t} as const\n\n\t\t\treturn dict[ this.x_data_type() ]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\tconst json = this.json()\n\n\t\t\tconst x_data = this.x_data()\n\t\t\n\t\t\tconst array = json.sample.measurement[0].property.matrix;\n\t\t\tif (array[0][2] == array[0][3] && array[0][3] == array[0][4]){\n\t\t\t\t// cubic\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\t\tname: \"a\",\n\t\t\t\t\t\tx: x_data,\n\t\t\t\t\t\ty: array.map(function(item){ return item[2] }),\n\t\t\t\t\t\tmarker: {color: \"#3e3f95\", symbol: \"square\", size: 8}\n\t\t\t\t\t}\n\t\t\t\t];\n\t\t\t} else if (array[0][2] == array[0][3] && array[0][3] != array[0][4]){\n\t\t\t\t// tetragonal, hexagonal, trigonal\n\t\t\t\tconst delta_a = array[0][4] - array[0][2];\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\t\tname: \"a\",\n\t\t\t\t\t\tx: x_data,\n\t\t\t\t\t\ty: array.map(function(item){ return item[2] }),\n\t\t\t\t\t\tmarker: {color: \"#3e3f95\", symbol: \"square\", size: 8}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\t\tname: \"b\",\n\t\t\t\t\t\tx: x_data,\n\t\t\t\t\t\ty: array.map(function(item){ return item[4] - delta_a }),\n\t\t\t\t\t\tmarker: {color: \"#E36868\", symbol: \"circle\", size: 7}\n\t\t\t\t\t}\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// orthorhombic, monoclinic, triclinic\n\t\t\t\tconst delta_a = array[0][4] - array[0][2]\n\t\t\t\tconst delta_b = array[0][3] - array[0][2]\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\t\tname: \"a\",\n\t\t\t\t\t\tx: x_data,\n\t\t\t\t\t\ty: array.map(function(item){ return item[2] }),\n\t\t\t\t\t\tmarker: {color: \"#3e3f95\", symbol: \"square\", size: 8}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\t\tname: \"b\",\n\t\t\t\t\t\tx: x_data,\n\t\t\t\t\t\ty: array.map(function(item){ return item[3] - delta_b }),\n\t\t\t\t\t\tmarker: {color: \"#E36868\", symbol: \"circle\", size: 7}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\t\tname: \"c\",\n\t\t\t\t\t\tx: x_data,\n\t\t\t\t\t\ty: array.map(function(item){ return item[4] - delta_a }),\n\t\t\t\t\t\tmarker: {color: \"#acc2b3\", symbol: \"diamond\", size: 7}\n\t\t\t\t\t}\n\t\t\t\t];\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\n\t\t\tconst array = this.json().sample.measurement[0].property.matrix;\n\t\t\tlet y_comment = '';\n\t\t\tif (array[0][2] == array[0][3] && array[0][3] == array[0][4]){\n\t\t\t\t// cubic\n\t\t\t} else if (array[0][2] == array[0][3] && array[0][3] != array[0][4]){\n\t\t\t\t// tetragonal, hexagonal, trigonal\n\t\t\t\ty_comment = ' (diff.)';\n\t\t\t} else {\n\t\t\t\t// orthorhombic, monoclinic, triclinic\n\t\t\t\ty_comment = ' (diff.)';\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tshowlegend: true,\n\t\t\t\tlegend: {x: 100, y: 1, font: {family: \"Exo2\", size: 14}},\n\t\t\t\txaxis: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: true,\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tzeroline: false,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\ttitle: this.x_title()\n\t\t\t\t},\n\t\t\t\tyaxis: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: true,\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tzeroline: false,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\ttitle: 'Cell parameters' + y_comment + ', A'\n\t\t\t\t},\n\t\t\t\tfont: {family: \"Exo2\", size: 13}\n\t\t\t}\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\texport class $visavis_customscatter extends $visavis_plot_plotly {\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\texport const $visavis_customscatter_json = $mol_data_record({\n\t\tplots: $mol_data_array(\n\t\t\t$mol_data_record( {\n\t\t\t\tname: $mol_data_string,\n\t\t\t\ttype: $mol_data_string,\n\t\t\t\tmode: $mol_data_string,\n\t\t\t\tinterpolation: $mol_data_string,\n\t\t\t\tx: $mol_data_array( $mol_data_number ),\n\t\t\t\ty: $mol_data_array( $mol_data_number ),\n\t\t\t} )\n\t\t),\n\t\txtitle: $mol_data_optional( $mol_data_string ),\n\t\tytitle: $mol_data_optional( $mol_data_string ),\n\t\txlog: $mol_data_nullable( $mol_data_boolean ),\n\t\tylog: $mol_data_nullable( $mol_data_boolean ),\n\t})\n\n\texport class $visavis_customscatter extends $.$visavis_customscatter {\n\n\t\tjson() {\n\t\t\treturn $visavis_customscatter_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_action\n\t\tsubscribe_events() {\n // // document.getElementById('visavis').on('plotly_legendclick', function(){ return false }); // requires at least v1.37\n // // yet another iframe communication API for mpds-labs via postMessage\n // // API CORRECT\n // if (window.parent) window.parent.postMessage({type: 'nplots', nplots: json.plots.length}, '*');\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\t\t\tconst json = this.json()\n\t\t\treturn {\n\t\t\t\tshowlegend: true,\n\t\t\t\tlegend: {x: 100, y: 1, font: {family: \"Exo2\", size: 14}},\n\t\t\t\txaxis: {\n\t\t\t\t\ttype: json.xlog ? 'log' : '-',\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: true,\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tzeroline: true,\n\t\t\t\t\tzerolinecolor: '#999',\n\t\t\t\t\tzerolinewidth: 0.5,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\ttitle: json.xtitle\n\t\t\t\t},\n\t\t\t\tyaxis: {\n\t\t\t\t\ttype: json.ylog ? 'log' : '-',\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: true,\n\t\t\t\t\tshowline: true,\n\t\t\t\t\tshowticklabels: true,\n\t\t\t\t\tzeroline: true,\n\t\t\t\t\tzerolinecolor: '#999',\n\t\t\t\t\tzerolinewidth: 0.5,\n\t\t\t\t\tticklen: 4,\n\t\t\t\t\ttitle: json.ytitle\n\t\t\t\t},\n\t\t\t\tfont: {family: \"Exo2\", size: 13},\n\t\t\t\tmargin: {\n\t\t\t\t\tt: 0,\n\t\t\t\t\tr: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\tconst json = this.json()\n\n\t\t\treturn json.plots\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\texport class $visavis_heatmap extends $visavis_plot_plotly {\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\t// export const $visavis_heatmap_json = \n\n\texport class $visavis_heatmap extends $.$visavis_heatmap {\n\n\t\tjson() {\n\t\t\treturn this.plot().json() as any\n\t\t\t// return $visavis_heatmap_json( this.plot().json() as any )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlayout() {\n\t\t\treturn {\n\t\t\t\tshowlegend: false,\n\t\t\t\thovermode: \"closest\",\n\t\t\t\txaxis: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\tshowline: true, //false,\n\t\t\t\t\tzeroline: false, //true,\n\t\t\t\t\tshowticklabels: false\n\t\t\t\t},\n\t\t\t\txaxis2: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\tshowline: true, //false,\n\t\t\t\t\tzeroline: false, //true,\n\t\t\t\t\tshowticklabels: false,\n\t\t\t\t\tside: \"top\",\n\t\t\t\t\toverlaying: 'x'\n\t\t\t\t},\n\t\t\t\tyaxis: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\tshowline: true, //false,\n\t\t\t\t\tzeroline: false, //true,\n\t\t\t\t\tshowticklabels: false\n\t\t\t\t},\n\t\t\t\tyaxis2: {\n\t\t\t\t\tautorange: true,\n\t\t\t\t\tshowgrid: false,\n\t\t\t\t\tshowline: true, //false,\n\t\t\t\t\tzeroline: false, //true,\n\t\t\t\t\tshowticklabels: false,\n\t\t\t\t\tside: \"right\",\n\t\t\t\t\toverlaying: 'y'\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\n\t\t\tconst json = this.json()\n\n\t\t\tlet data_x = json.payload.x\n\t\t\tlet data_y = json.payload.y\n\t\t\tlet data_z = json.payload.z\n\n\t\t\tif (!json.odet) {\n\t\t\t\tconst dice = Math.floor(Math.random() * 100) % 3;\n\t\t\t\tif (dice === 0){\n\t\t\t\t\tdata_x = json.payload.x\n\t\t\t\t\tdata_y = json.payload.y\n\t\t\t\t\tdata_z = json.payload.z\n\t\t\t\t} else if (dice === 1){\n\t\t\t\t\tdata_x = json.payload.x\n\t\t\t\t\tdata_y = json.payload.z\n\t\t\t\t\tdata_z = json.payload.y\n\t\t\t\t} else {\n\t\t\t\t\tdata_x = json.payload.y\n\t\t\t\t\tdata_y = json.payload.z\n\t\t\t\t\tdata_z = json.payload.x\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\tmode: \"markers\",\n\t\t\t\t\thoverinfo: \"text\",\n\t\t\t\t\tx: data_x,\n\t\t\t\t\ty: data_y,\n\t\t\t\t\ttext: json.payload.labels || Array(data_x.length).fill('Point'),\n\t\t\t\t\tmarker: {color: data_z, colorscale: 'Rainbow', size: 4, opacity: 0.9}\n\t\t\t\t},\n\t\t\t\t{x: [], y: [], type: 'scatter', xaxis: 'x', yaxis: 'y'},\n\t\t\t\t{x: [], y: [], type: 'scatter', xaxis: 'x2', yaxis: 'y2'}\n\t\t\t]\t\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\texport class $visavis_graph extends $mol_book2 {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot $visavis_plot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tplot() {\n\t\t\tconst obj = new this.$.$visavis_plot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages / <= Plot\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Plot()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_title \\\n\t\t * ```\n\t\t */\n\t\tplot_title() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * draw null\n\t\t * ```\n\t\t */\n\t\tdraw() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Root $mol_view auto <= draw\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tRoot() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.auto = () => this.draw()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_body / <= Root\n\t\t * ```\n\t\t */\n\t\tplot_body() {\n\t\t\treturn [\n\t\t\t\tthis.Root()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot $mol_page\n\t\t * \ttitle <= plot_title\n\t\t * \tbody <= plot_body\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPlot() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => this.plot_title()\n\t\t\tobj.body = () => this.plot_body()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\tconst Link = $mol_data_record({\n\t\tsource: $mol_data_string,\n\t\ttype: $mol_data_string,\n\t\ttarget: $mol_data_variant( $mol_data_string, $mol_data_number ),\n\t})\n\n\ttype Link = ReturnType\n\n\ttype Node = {\n\t\tname: string\n\t\tindex?: number\n\t\tpx?: number\n\t\tpy?: number\n\t\tweight?: number\n\t\tx?: number\n\t\ty?: number\n\t}\n\n\ttype Edge = {\n\t\tsource: Node,\n\t\ttype: string,\n\t\ttarget: Node,\n\t}\n\n\texport const $visavis_graph_json = $mol_data_record({\n\t\terror: $mol_data_nullable( $mol_data_string ),\n\t\twarning: $mol_data_nullable( $mol_data_string ),\n\t\tgraph_rel: $mol_data_string,\n\t\tpayload: $mol_data_array( Link ),\n\t})\n\n\texport class $visavis_graph extends $.$visavis_graph {\n\n\t\t@ $mol_mem\n\t\tjson() {\n\t\t\treturn $visavis_graph_json( this.plot().json() as any )\n\t\t}\n\t\t\n\t\tplot_title() {\n\t\t\treturn this.plot().id()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdata() {\n\t\t\tconst json = this.json()\n\n\t\t\tconst nodes: Record = {}\n\t\t\tconst edges: Edge[] = []\n\n\t\t\tconst labels: Record = {}\n\t\t\tconst radii: Record = {}\n\t\t\tconst foci: Record = {}\n\t\t\tlet counter = 0\n\t\t\n\t\t\tconst visavis_cache = {ref: json.payload, type: 'graph'};\n\t\t\tconst visavis_graph_default_rel = json.graph_rel || 'prel';\n\t\t\n\t\t\t// filter edges and compute the distinct nodes from the links\n\t\t\tvisavis_cache.ref.forEach( (link) => {\n\t\t\t\tif (link.type == visavis_graph_default_rel){\n\t\t\t\t\tfoci[link.source] = link.source.substr(0, 1); // setting default color\n\t\t\t\t\tconst sourceNode = nodes[link.source] || (nodes[link.source] = {name: link.source});\n\t\t\t\t\tconst targetNode = nodes[link.target] || (nodes[link.target] = {name: String(link.target)});\n\t\t\t\t\tconst lrep = { source: sourceNode, type: link.type, target: targetNode };\n\t\t\t\t\tedges.push(lrep);\n\t\t\t\t\tcounter++;\n\t\t\n\t\t\t\t} else if (link.type == 'label'){\n\t\t\t\t\tlabels[link.source] = String(link.target);\n\t\t\n\t\t\t\t} else if (link.type == 'radius'){\n\t\t\t\t\tconst radius = Math.min($mol_data_number(link.target as number), 36)\n\t\t\t\t\t// link.target = radius;\n\t\t\t\t\tradii[link.source] = radius + 2;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (!counter) return $mol_fail( new $mol_data_error('Warning: nothing to show') )\n\t\t\n\t\t\tconst circle_cls = visavis_graph_default_rel.substr(0, 1)\n\t\t\tconst text_cls = (counter > 25) ? \"micro\" : \"macro\"\n\t\t\t\n\t\t\tconst table: Record = {}\n\n\t\t\tObject.keys(nodes).forEach( ( p,i ) => {\n\t\t\t\ttable[p] = i++;\n\t\t\t})\n\n\t\t\treturn { nodes, edges, labels, radii, foci, table, circle_cls, text_cls }\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdraw() {\n\t\t\t// const predefined_h;\n\t\t\t// if (window.location.hash.indexOf('visavis_height=') !== -1){\n\t\t\t// \t// internal client-only URL param (to be ignored by the server)\n\t\t\t// \tpredefined_h = window.location.hash.split('visavis_height=');\n\t\t\t// \tpredefined_h = predefined_h[predefined_h.length - 1];\n\t\t\t// \tpredefined_h = parseInt(predefined_h.split('&')[0]);\n\t\t\t// }\n\t\t\t// var width = predefined_h ? document.body.clientWidth : document.body.clientWidth - 15,\n\t\t\t// \theight = predefined_h || parseInt(0.8 * width);\n\t\t\n\t\t\t// reset_canvas();\n\t\t\n\t\t\tconst { nodes, edges, labels, radii, foci, table, circle_cls, text_cls } = this.data()\n\t\t\t\n\t\t\tconst d3 = $visavis_lib.d3()\n\t\t\tconst svg = d3.select('[visavis_graph_root]').append('svg')\n\t\t\t\t// .attr(\"width\", width)\n\t\t\t\t// .attr(\"height\", height);\n\t\t\n\t\t\tconst visavis_force = d3.layout.force()\n\t\t\t\t// .size([width, height])\n\t\t\t\t.nodes(d3.values(nodes))\n\t\t\t\t.links(edges)\n\t\t\t\t.linkDistance(90)\n\t\t\t\t.gravity(0.3)\n\t\t\t\t.charge(-2500)\n\t\t\t\t.on(\"tick\", tick);\n\t\t\n\t\t\tconst drag = visavis_force.drag()\n\t\t\t\t.on(\"dragstart\", function(this: any, d: any){\n\t\t\t\t\td3.select(this).classed(\"fixed\", d.fixed = true);\n\t\t\t\t});\n\t\t\n\t\t\tconst path = svg.append(\"g\").selectAll(\"path\")\n\t\t\t\t.data(visavis_force.links())\n\t\t\t\t.enter().append(\"path\")\n\t\t\t\t.attr(\"class\", function(d: any){ return \"edge \" + d.type; });\n\t\t\n\t\t\tconst circle = svg.append(\"g\").selectAll(\"circle\")\n\t\t\t\t.data(visavis_force.nodes())\n\t\t\t\t.enter().append(\"circle\")\n\t\t\t\t.attr(\"r\", function(d: any, i: any){ return radii[d.name] || 10 })\n\t\t\t\t.attr(\"id\", function(d: any, i: any){ return \"c_\" + table[d.name] })\n\t\t\t\t.attr(\"class\", function(d: any, i: any){ return foci[d.name] || circle_cls })\n\t\t\t\t.call(drag);\n\t\t\n\t\t\tconst text = svg.append(\"g\").selectAll(\"g\")\n\t\t\t\t.data(visavis_force.nodes())\n\t\t\t\t.enter().append(\"g\");\n\t\t\n\t\t\t// a copy of the text with a thick white stroke for legibility\n\t\t\ttext.append(\"text\")\n\t\t\t\t.attr(\"x\", -20)\n\t\t\t\t.attr(\"y\", -10)\n\t\t\t\t.attr(\"class\", \"shadow \" + text_cls)\n\t\t\t\t.attr(\"id\", function(d: any, i: any){ return \"s_\" + table[d.name] })\n\t\t\t\t.html(function(d: any){ return labels[d.name] });\n\t\t\n\t\t\ttext.append(\"text\")\n\t\t\t\t.attr(\"x\", -20)\n\t\t\t\t.attr(\"y\", -10)\n\t\t\t\t.attr(\"class\", \"captions \" + text_cls)\n\t\t\t\t.attr(\"id\", function(d: any, i: any){ return \"t_\" + table[d.name] })\n\t\t\t\t.html(function(d: any){ return labels[d.name] })\n\t\t\t\t.call(drag);\n\t\t\n\t\t\t// text.on(\"click\", function(d: any){\n\t\t\t// \tif (visavis.mpds_embedded){\n\t\t\t// \t\tvar found_fct = visavis.graph_mapping[d.name.charAt(0)],\n\t\t\t// \t\t\tvalue = labels[d.name];\n\t\t\t// \t\tif (found_fct == 'codens') value = value.split(\"'\")[0]; // FIXME years lost\n\t\t\t// \t\telse if (found_fct == 'formulae') value = window.parent.WMCORE.termify_formulae(value.split(\",\")[0]);\n\t\t\t// \t\twindow.parent.location.hash = window.parent.wmgui.aug_search_cmd(found_fct, value);\n\t\t\t// \t}\n\t\t\t// });\n\t\t\n\t\t\tfunction tick(){\n\t\t\t\tpath.attr(\"d\", direct);\n\t\t\t\tcircle.attr(\"transform\", transform);\n\t\t\t\ttext.attr(\"transform\", transform);\n\t\t\t}\n\t\t\n\t\t\tfunction direct(d: Edge){\n\t\t\t\treturn \"M\" + d.source.x + \",\" + d.source.y + \" \" + d.target.x + \",\" + d.target.y;\n\t\t\t}\n\t\t\n\t\t\tfunction transform(d: Node){\n\t\t\t\treturn \"translate(\" + d.x + \",\" + d.y + \")\";\n\t\t\t}\n\t\t\n\t\t\tvisavis_force.start();\n\t\t\t// for (var i = 400; i > 0; i--) visavis_force.tick();\n\t\t\t// visavis_force.stop();\n\t\t\t// hide_preloader();\n\t\t\t// hide_messages();\n\t\t\t// warn_demo();\n\t\t\t// if (visavis.mpds_embedded) document.getElementById('expander').style.display = 'block';\n\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"visavis/graph/graph.view.css\",\n \"[visavis_graph_plot] svg {\\n\\twidth: 100%;\\n\\theight: 100%;\\n}\\n\\n[visavis_graph_plot] .edge {\\n\\tfill: none;\\n\\tstroke: #ddd;\\n\\tstroke-width: 1px;\\n}\\n\\n[visavis_graph_plot] .edge.prel {\\n\\tstroke: #FE9A2E;\\n}\\n\\n[visavis_graph_plot] .edge.hrel {\\n\\tstroke: #3e3f95;\\n}\\n\\n[visavis_graph_plot] .edge.trel {\\n\\tstroke: #3e3f95;\\n}\\n\\n[visavis_graph_plot] .edge.arel {\\n\\tstroke: #E36868;\\n}\\n\\n[visavis_graph_plot] .edge.grel {\\n\\tstroke: #acc2b3;\\n}\\n\\n[visavis_graph_plot] circle {\\n\\tcursor: move;\\n\\tfill: #ccc;\\n}\\n\\n[visavis_graph_plot] circle.f {\\n\\tfill: #acc2b3;\\n}\\n\\n[visavis_graph_plot] circle.p {\\n\\tfill: #FE9A2E;\\n}\\n\\n[visavis_graph_plot] circle.h, circle.t {\\n\\tfill: #3e3f95;\\n}\\n\\n[visavis_graph_plot] circle.a {\\n\\tfill: #E36868;\\n}\\n\\n[visavis_graph_plot] text.micro {\\n\\tfont-size: 11px;\\n\\tletter-spacing: -0.5px;\\n}\\n\\n[visavis_graph_plot] text.macro {\\n\\tfont-size: 14px;\\n\\tletter-spacing: 0.5px;\\n}\\n\\n[visavis_graph_plot] text.captions {\\n\\tcursor: pointer;\\n\\tfill: #333;\\n}\\n\\n[visavis_graph_plot] text.shadow {\\n\\tstroke: #fff;\\n\\tstroke-width: 3px;\\n\\tstroke-opacity: 0.8;\\n}\\n\"\n) }","namespace $.$$ {\n\n\t$mol_style_define( $.$visavis_graph, {\n\n\t\tRoot: {\n\t\t\twidth: '100%',\n\t\t\theight: '100%',\n\t\t},\n\n\t\tPlot: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\texport class $visavis_app extends $mol_book2 {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr * mol_theme \\$mol_theme_light\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\tmol_theme: \"$mol_theme_light\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pages /\n\t\t * \t<= Menu\n\t\t * \t<= Matrix*plot\n\t\t * \t<= Cube*plot\n\t\t * \t<= Phase*plot\n\t\t * \t<= Bar*plot\n\t\t * \t<= Discovery*plot\n\t\t * \t<= Eigen*plot\n\t\t * \t<= Pie*plot\n\t\t * \t<= Scatter*plot\n\t\t * \t<= Customscatter*plot\n\t\t * \t<= Heatmap*plot\n\t\t * \t<= Graph*plot\n\t\t * ```\n\t\t */\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Menu(),\n\t\t\t\tthis.Matrix(\"plot\"),\n\t\t\t\tthis.Cube(\"plot\"),\n\t\t\t\tthis.Phase(\"plot\"),\n\t\t\t\tthis.Bar(\"plot\"),\n\t\t\t\tthis.Discovery(\"plot\"),\n\t\t\t\tthis.Eigen(\"plot\"),\n\t\t\t\tthis.Pie(\"plot\"),\n\t\t\t\tthis.Scatter(\"plot\"),\n\t\t\t\tthis.Customscatter(\"plot\"),\n\t\t\t\tthis.Heatmap(\"plot\"),\n\t\t\t\tthis.Graph(\"plot\")\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * files_read? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tfiles_read(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Upload $mol_button_open\n\t\t * \thint @ \\Upload a plot from MPDS in JSON\n\t\t * \taccept \\application/json\n\t\t * \tfiles? <=> files_read?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tUpload() {\n\t\t\tconst obj = new this.$.$mol_button_open()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$visavis_app_Upload_hint' )\n\t\t\tobj.accept = () => \"application/json\"\n\t\t\tobj.files = (next?: any) => this.files_read(next)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot_id* \\\n\t\t * ```\n\t\t */\n\t\tplot_id(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot_link* $mol_link\n\t\t * \targ * file <= plot_id*\n\t\t * \ttitle <= plot_id*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPlot_link(id: any) {\n\t\t\tconst obj = new this.$.$mol_link()\n\t\t\t\n\t\t\tobj.arg = () => ({\n\t\t\t\tfile: this.plot_id(id)\n\t\t\t} as Record< string, any >)\n\t\t\tobj.title = () => this.plot_id(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * history_drop*? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\thistory_drop(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot_drop_icon* $mol_icon_delete\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPlot_drop_icon(id: any) {\n\t\t\tconst obj = new this.$.$mol_icon_delete()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot_drop* $mol_button_minor\n\t\t * \tclick? <=> history_drop*?\n\t\t * \tsub / <= Plot_drop_icon*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPlot_drop(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.click = (next?: any) => this.history_drop(id, next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Plot_drop_icon(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Plot*0 $mol_view sub /\n\t\t * \t<= Plot_link*\n\t\t * \t<= Plot_drop*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPlot(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Plot_link(id),\n\t\t\t\tthis.Plot_drop(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * history_rows / <= Plot*0\n\t\t * ```\n\t\t */\n\t\thistory_rows() {\n\t\t\treturn [\n\t\t\t\tthis.Plot(\"0\")\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * History $mol_list\n\t\t * \ttitle @ \\Uploads\n\t\t * \trows <= history_rows\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHistory() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_app_History_title' )\n\t\t\tobj.rows = () => this.history_rows()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * example_title* \\\n\t\t * ```\n\t\t */\n\t\texample_title(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Example*0 $mol_link\n\t\t * \targ * file <= example_title*\n\t\t * \ttitle <= example_title*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tExample(id: any) {\n\t\t\tconst obj = new this.$.$mol_link()\n\t\t\t\n\t\t\tobj.arg = () => ({\n\t\t\t\tfile: this.example_title(id)\n\t\t\t} as Record< string, any >)\n\t\t\tobj.title = () => this.example_title(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * example_rows / <= Example*0\n\t\t * ```\n\t\t */\n\t\texample_rows() {\n\t\t\treturn [\n\t\t\t\tthis.Example(\"0\")\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Examples $mol_list\n\t\t * \ttitle @ \\Examples\n\t\t * \trows <= example_rows\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tExamples() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.title = () => this.$.$mol_locale.text( '$visavis_app_Examples_title' )\n\t\t\tobj.rows = () => this.example_rows()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Deck $mol_deck items /\n\t\t * \t<= History\n\t\t * \t<= Examples\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tDeck() {\n\t\t\tconst obj = new this.$.$mol_deck()\n\t\t\t\n\t\t\tobj.items = () => [\n\t\t\t\tthis.History(),\n\t\t\t\tthis.Examples()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Source $mol_link_source uri \\https://github.com/mpds-io/visavis\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSource() {\n\t\t\tconst obj = new this.$.$mol_link_source()\n\t\t\t\n\t\t\tobj.uri = () => \"https://github.com/mpds-io/visavis\"\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Menu $mol_page\n\t\t * \ttitle \\Vis-a-vis\n\t\t * \ttools / <= Upload\n\t\t * \tbody / <= Deck\n\t\t * \tfoot / <= Source\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tMenu() {\n\t\t\tconst obj = new this.$.$mol_page()\n\t\t\t\n\t\t\tobj.title = () => \"Vis-a-vis\"\n\t\t\tobj.tools = () => [\n\t\t\t\tthis.Upload()\n\t\t\t] as readonly any[]\n\t\t\tobj.body = () => [\n\t\t\t\tthis.Deck()\n\t\t\t] as readonly any[]\n\t\t\tobj.foot = () => [\n\t\t\t\tthis.Source()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plot* $visavis_plot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tplot(id: any) {\n\t\t\tconst obj = new this.$.$visavis_plot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Matrix*plot $visavis_matrix plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tMatrix(id: any) {\n\t\t\tconst obj = new this.$.$visavis_matrix()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cube*plot $visavis_cube plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCube(id: any) {\n\t\t\tconst obj = new this.$.$visavis_cube()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Phase*plot $visavis_phase plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPhase(id: any) {\n\t\t\tconst obj = new this.$.$visavis_phase()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Bar*plot $visavis_bar plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tBar(id: any) {\n\t\t\tconst obj = new this.$.$visavis_bar()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Discovery*plot $visavis_discovery plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tDiscovery(id: any) {\n\t\t\tconst obj = new this.$.$visavis_discovery()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Eigen*plot $visavis_eigen plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tEigen(id: any) {\n\t\t\tconst obj = new this.$.$visavis_eigen()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Pie*plot $visavis_pie plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPie(id: any) {\n\t\t\tconst obj = new this.$.$visavis_pie()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Scatter*plot $visavis_scatter plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tScatter(id: any) {\n\t\t\tconst obj = new this.$.$visavis_scatter()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Customscatter*plot $visavis_customscatter plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCustomscatter(id: any) {\n\t\t\tconst obj = new this.$.$visavis_customscatter()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Heatmap*plot $visavis_heatmap plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tHeatmap(id: any) {\n\t\t\tconst obj = new this.$.$visavis_heatmap()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Graph*plot $visavis_graph plot <= plot*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tGraph(id: any) {\n\t\t\tconst obj = new this.$.$visavis_graph()\n\t\t\t\n\t\t\tobj.plot = () => this.plot(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\n\texport type $mol_blob = Blob\n\n\texport let $mol_blob = ( $node.buffer?.Blob ?? $mol_dom_context.Blob ) as any as {\n\t\tprototype: Blob;\n\t\tnew(blobParts?: readonly BlobPart[], options?: BlobPropertyBag): Blob;\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_blob_text( blob: $mol_blob ) {\n\t\treturn new Promise< string >( ( done, fail )=> {\n\t\t\tconst reader = new FileReader\n\t\t\treader.onerror = fail\n\t\t\treader.onload = event => done( event.target!.result as string )\n\t\t\treader.readAsText( blob )\n\t\t} )\n\t}\n\n}\n","namespace $ {\n\n\texport async function $mol_blob_json( blob: $mol_blob ) {\n\t\tconst json = await $mol_blob_text( blob )\n\t\treturn JSON.parse(json)\n\t}\n\n}\n","namespace $.$$ {\n\n\texport class $visavis_app extends $.$visavis_app {\n\n\t\t@ $mol_action\n\t\tfiles_read(next: readonly File[]) {\n\t\t\tconst data = $mol_wire_sync( $mol_blob_json )( next[0] )\n\n\t\t\tconst plot = new $visavis_plot({\n\t\t\t\tid: next[0].name,\n\t\t\t\ttype: data.use_visavis_type ?? 'unknown',\n\t\t\t\tjson: data,\n\t\t\t})\n\n\t\t\tthis.history_add( plot )\n\t\t}\n\n\t\t@ $mol_action\n\t\thistory_add(plot: $visavis_plot) {\n\t\t\tconst duplicates = this.history_plots().filter( id => id.replace(/\\[\\d+?\\]/, '') === plot.id() )\n\t\t\tconst count = Math.max( ... duplicates.map( id => Number( id.match(/\\[(\\d+?)\\]$/)?.[1] ?? 0 ) ) )\n\t\t\tconst postfix = duplicates.length ? `[${ count + 1 }]` : ''\n\n\t\t\tplot.id( `${ plot.id() }${ postfix }` )\n\n\t\t\tthis.history_plot(plot.id(), plot )\n\t\t\tthis.history_plots( [ ...this.history_plots(), plot.id() ] )\n\t\t}\n\n\t\t@ $mol_action\n\t\thistory_drop(id: string) {\n\t\t\tthis.history_plot(id, null)\n\t\t\tthis.history_plots( this.history_plots().filter( plot_id => plot_id !== id ) )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\thistory_plots(next?: string[]) {\n\t\t\treturn this.$.$mol_state_local.value( `${this}.history_plots()` , next ) ?? []\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\thistory_plot(id: string, next?: $visavis_plot | null) {\n\t\t\tconst json = this.$.$mol_state_local.value( `${this}.history_plot('${id}')` , next && next.data() )\n\t\t\treturn json ? new $visavis_plot( json ) : null\n\t\t}\n\n\t\t@ $mol_mem\n\t\thistory_rows() {\n\t\t\treturn this.history_plots().map( (id)=> this.Plot(id) ).reverse()\n\t\t}\n\n\t\tplot_id(id: string) {\n\t\t\treturn id \n\t\t}\n\n\t\tplot_opened(next?: string | null) {\n\t\t\treturn this.$.$mol_state_arg.value( 'file' , next ) ?? ''\n\t\t}\n\n\t\tPlot_opened() {\n\t\t\tconst id = this.plot_opened()\n\t\t\tif (!id) return []\n\n\t\t\tconst plot = this.history_plot( id )\n\t\t\tif (!plot) return []\n\n\t\t\tswitch( plot.type() ) {\n\t\t\t\tcase 'matrix': return this.Matrix( plot ).pages()\n\t\t\t\tcase 'plot3d': return this.Cube( plot ).pages()\n\t\t\t\tcase 'pd': return this.Phase( plot ).pages()\n\t\t\t\tcase 'bar': return this.Bar( plot ).pages()\n\t\t\t\tcase 'discovery': return this.Discovery( plot ).pages()\n\t\t\t\tcase 'eigenplot': return this.Eigen( plot ).pages()\n\t\t\t\tcase 'pie': return this.Pie( plot ).pages()\n\t\t\t\tcase 'scatter': return this.Scatter( plot ).pages()\n\t\t\t\tcase 'customscatter': return this.Customscatter( plot ).pages()\n\t\t\t\tcase 'heatmap': return this.Heatmap( plot ).pages()\n\t\t\t\tcase 'graph': return this.Graph( plot ).pages()\n\t\t\t\tdefault: return []\n\t\t\t}\n\t\t}\n\n\t\tplot(plot: $visavis_plot) {\n\t\t\treturn plot\n\t\t}\n\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Menu(),\n\t\t\t\t... this.Plot_opened(),\n\t\t\t]\n\t\t}\n\n\t\tPlaceholder() {\n\t\t\treturn this.Plot_opened().length > 0 ? null as any : super.Placeholder()\n\t\t}\n\n\t}\n\n}\n","namespace $.$$ {\n\n\tconst { rem, per } = $mol_style_unit\n\tconst { calc } = $mol_style_func\n\n\t$mol_style_define( $.$visavis_app, {\n\n\t\tMenu: {\n\t\t\tflex: {\n\t\t\t\tbasis: rem(25),\n\t\t\t\tshrink: 0,\n\t\t\t},\n\t\t\tBody: {\n\t\t\t\tpadding: $mol_gap.block,\n\t\t\t},\n\t\t\tFoot: {\n\t\t\t\tpadding: $mol_gap.block,\n\t\t\t},\n\t\t},\n\n\t\tPlot_link: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\n\texport function $mol_test( set : { [ name : string ] : string | ( ( context : $ )=> void ) } ) {\n\t\t\n\t\tfor( let name in set ) {\n\n\t\t\tconst code = set[ name ]\n\t\t\tconst test = ( typeof code === 'string' ) ? new Function( '' , code ) as ()=> void : code\n\t\t\t\n\t\t\t$mol_test_all.push( test )\n\t\t}\n\n\t\t$mol_test_schedule()\n\t}\n\n\texport let $mol_test_mocks = [] as Array< ( context : $ )=> void >\n\n\texport const $mol_test_all = [] as Array< ( context : $ )=> any >\n\n\texport async function $mol_test_run() {\n\n\t\tfor( var test of $mol_test_all ) {\n\n\t\t\tlet context = Object.create( $$ )\n\t\t\tfor( let mock of $mol_test_mocks ) await mock( context )\n\t\t\t\n\t\t\tconst res = test( context )\n\t\t\tif( $mol_promise_like( res ) ) {\n\t\t\t\tawait new Promise( ( done, fail )=> {\n\t\t\t\t\tres.then( done, fail )\n\t\t\t\t\tsetTimeout( ()=> fail( new Error( 'Test timeout: ' + test.name ) ), 1000 )\n\t\t\t\t} )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t$$.$mol_log3_done({\n\t\t\tplace: '$mol_test',\n\t\t\tmessage: 'All tests passed',\n\t\t\tcount: $mol_test_all.length,\n\t\t})\n\t\t\n\t}\n\t\n\tlet scheduled = false\n\texport function $mol_test_schedule() {\n\n\t\tif( scheduled ) return\n\t\tscheduled = true\n\n\t\tsetTimeout( async ()=> {\n\t\t\t\n\t\t\tscheduled = false\n \t\t\t\n\t\t\tawait $mol_test_run()\n\t\t\t$$.$mol_test_complete()\n\t\t\t\n\t\t} , 1000 )\n\t\t\n\t}\n\n\t$mol_test_mocks.push( context => {\n\t\tlet seed = 0\n\n\t\tcontext.Math = Object.create( Math )\n\t\tcontext.Math.random = ()=> Math.sin( seed++ )\n\n\t\tconst forbidden = [ 'XMLHttpRequest' , 'fetch' ] as const\n\n\t\tfor( let api of forbidden ) {\n\t\t\tcontext[ api ] = new Proxy( function(){} as any , {\n\t\t\t\tget() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t\tapply() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t} )\n\t\t}\n\t\t\n\t} )\n\n\t$mol_test({\n\n\t\t'mocked Math.random'( $ ) {\n\t\t\tconsole.assert( $.Math.random() === 0 )\n\t\t\tconsole.assert( $.Math.random() === Math.sin(1) )\n\t\t} ,\n\n\t\t'forbidden XMLHttpRequest'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void new $.XMLHttpRequest )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'XMLHttpRequest is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t\t'forbidden fetch'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void $.fetch('') )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'fetch is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t})\n\n}\n","namespace $ {\n\t\n\texport function $mol_test_complete() {\n\t\tprocess.exit(0)\n\t}\n\t\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_log3_come = ()=> {}\n\t\t$.$mol_log3_done = ()=> {}\n\t\t$.$mol_log3_fail = ()=> {}\n\t\t$.$mol_log3_warn = ()=> {}\n\t\t$.$mol_log3_rise = ()=> {}\n\t\t$.$mol_log3_area = ()=> ()=> {}\n\t} )\n\n}\n","namespace $ {\n\n\texport let $mol_jsx_prefix = ''\n\texport let $mol_jsx_crumbs = ''\n\n\texport let $mol_jsx_booked = null as null | Set< string >\n\t\n\texport let $mol_jsx_document : $mol_jsx.JSX.ElementClass['ownerDocument'] = {\n\t\tgetElementById : ()=> null ,\n\t\tcreateElementNS : ( space: string, name : string )=> $mol_dom_context.document.createElementNS( space, name ) as any,\n\t\tcreateDocumentFragment : ()=> $mol_dom_context.document.createDocumentFragment(),\n\t}\n\t\n\texport const $mol_jsx_frag = ''\n\n\t/**\n\t * JSX adapter that makes DOM tree.\n\t * Generates global unique ids for every DOM-element by components tree with ids.\n\t * Ensures all local ids are unique.\n\t * Can reuse an existing nodes by GUIDs when used inside [`mol_jsx_attach`](https://github.com/hyoo-ru/mam_mol/tree/master/jsx/attach).\n\t */\n\texport function $mol_jsx<\n\t\tProps extends $mol_jsx.JSX.IntrinsicAttributes,\n\t\tChildren extends Array< Node | string >\n\t>(\n\t\tElem : string\n\t\t\t| ( ( props : Props , ... children : Children ) => Element ) ,\n\t\tprops : Props ,\n\t\t... childNodes : Children\n\t) : Element | DocumentFragment {\n\n\t\tconst id = props && props.id || ''\n\t\tconst guid = id ? $mol_jsx_prefix ? $mol_jsx_prefix + '/'+ id : id : $mol_jsx_prefix\n\t\tconst crumbs_self = id ? $mol_jsx_crumbs.replace( /(\\S+)/g, `$1_${ id.replace( /\\/.*/i, '' ) }` ) : $mol_jsx_crumbs\n\t\t\n\t\tif( Elem && $mol_jsx_booked ) {\n\t\t\tif( $mol_jsx_booked.has( id ) ) {\n\t\t\t\t$mol_fail( new Error( `JSX already has tag with id ${ JSON.stringify( guid ) }` ) )\n\t\t\t} else {\n\t\t\t\t$mol_jsx_booked.add( id )\n\t\t\t}\n\t\t}\n\n\t\tlet node: Element | DocumentFragment | null = guid ? $mol_jsx_document.getElementById( guid ) : null\n\n\t\tif( $mol_jsx_prefix ) {\n\t\t\t\n\t\t\tconst prefix_ext = $mol_jsx_prefix\n\t\t\tconst booked_ext = $mol_jsx_booked\n\t\t\tconst crumbs_ext = $mol_jsx_crumbs\n\t\t\t\n\t\t\tfor( const field in props ) {\n\t\t\t\t\n\t\t\t\tconst func = props[ field ]\n\t\t\t\tif( typeof func !== 'function' ) continue\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tconst wrapper = function( this: any, ... args: any[] ) {\n\t\t\t\t\t\n\t\t\t\t\tconst prefix = $mol_jsx_prefix\n\t\t\t\t\tconst booked = $mol_jsx_booked\n\t\t\t\t\tconst crumbs = $mol_jsx_crumbs\n\t\t\t\t\t\n\t\t\t\t\ttry {\n\t\t\n\t\t\t\t\t\t$mol_jsx_prefix = prefix_ext\n\t\t\t\t\t\t$mol_jsx_booked = booked_ext\n\t\t\t\t\t\t$mol_jsx_crumbs = crumbs_ext\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn func.call( this, ... args )\n\t\t\t\t\t\t\n\t\t\t\t\t} finally {\n\t\t\t\t\t\t\n\t\t\t\t\t\t$mol_jsx_prefix = prefix\n\t\t\t\t\t\t$mol_jsx_booked = booked\n\t\t\t\t\t\t$mol_jsx_crumbs = crumbs\n\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t$mol_func_name_from( wrapper, func )\n\t\t\t\tprops[ field ] = wrapper as any\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tif( typeof Elem !== 'string' ) {\n\n\t\t\tif( 'prototype' in Elem ) {\n\n\t\t\t\tconst view = node && (node as any)[ String(Elem) ] || new ( Elem as any )\n\t\t\t\t\n\t\t\t\tObject.assign( view , props )\n\t\t\t\tview[ Symbol.toStringTag ] = guid\n\t\t\t\t\n\t\t\t\tview.childNodes = childNodes\n\t\t\t\t\n\t\t\t\tif( !view.ownerDocument ) view.ownerDocument = $mol_jsx_document\n\t\t\t\tview.className = ( crumbs_self ? crumbs_self + ' ' : '' ) + ( Elem['name'] || Elem )\n\t\t\t\t\n\t\t\t\tnode = view.valueOf()\n\t\t\t\t\n\t\t\t\t;(node as any)![ String(Elem) ] = view\n\t\t\t\t\n\t\t\t\treturn node!\n\n\t\t\t} else {\n\n\t\t\t\tconst prefix = $mol_jsx_prefix\n\t\t\t\tconst booked = $mol_jsx_booked\n\t\t\t\tconst crumbs = $mol_jsx_crumbs\n\t\t\t\t\n\t\t\t\ttry {\n\t\n\t\t\t\t\t$mol_jsx_prefix = guid\n\t\t\t\t\t$mol_jsx_booked = new Set\n\t\t\t\t\t$mol_jsx_crumbs = ( crumbs_self ? crumbs_self + ' ' : '' ) + ( Elem['name'] || Elem )\n\t\n\t\t\t\t\treturn ( Elem as any )( props , ... childNodes )\n\t\t\t\t\t\n\t\t\t\t} finally {\n\n\t\t\t\t\t$mol_jsx_prefix = prefix\n\t\t\t\t\t$mol_jsx_booked = booked\n\t\t\t\t\t$mol_jsx_crumbs = crumbs\n\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( !node ) {\n\t\t\tnode = Elem\n\t\t\t\t? $mol_jsx_document.createElementNS( props?.xmlns ?? 'http://www.w3.org/1999/xhtml', Elem )\n\t\t\t\t: $mol_jsx_document.createDocumentFragment()\n\t\t}\n\n\t\t$mol_dom_render_children( node , ( [] as ( Node | string )[] ).concat( ... childNodes ) )\n\t\tif( !Elem ) return node\n\n\t\tif( guid ) ( node as Element ).id = guid\n\t\tfor( const key in props ) {\n\t\t\tif( key === 'id' ) continue\n\t\t\t\n\t\t\tif( typeof props[ key ] === 'string' ) {\n\t\t\t\t\n\t\t\t\tif( typeof (node as any)[ key ] === 'string' ) (node as any)[ key ] = props[ key ]\n\t\t\t\t;( node as Element ).setAttribute( key , (props as any)[ key ] )\n\t\t\t\t\n\t\t\t} else if(\n\t\t\t\tprops[ key ] &&\n\t\t\t\ttypeof props[ key ] === 'object' &&\n\t\t\t\tReflect.getPrototypeOf( props[ key ] as any ) === Reflect.getPrototypeOf({})\n\t\t\t) {\n\n\t\t\t\tif( typeof (node as any)[ key ] === 'object' ) {\n\t\t\t\t\tObject.assign( ( node as any )[ key ] , props[ key ] )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\t(node as any)[ key ] = props[ key ]\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( $mol_jsx_crumbs ) ( node as Element ).className = ( (props as any)?.['class'] ? (props as any)['class'] + ' ' : '' ) + crumbs_self\n\n\t\treturn node\n\n\t}\n\n\texport declare namespace $mol_jsx.JSX {\n\n\t\texport interface Element extends HTMLElement {\n\t\t\tclass?: string\n\t\t}\n\t\t\n\t\texport interface ElementClass {\n\t\t\tattributes : {}\n\t\t\townerDocument : Pick< Document , 'getElementById' | 'createElementNS' | 'createDocumentFragment' >\n\t\t\tchildNodes : Array< Node | string >\n\t\t\tvalueOf() : Element\n\t\t}\n\t\t\n\t\ttype OrString< Dict > = {\n\t\t\t[ key in keyof Dict ]: Dict[ key ] | string\n\t\t}\n\t\t\n\t\t/** Props for html elements */\n\t\texport type IntrinsicElements = {\n\t\t\t[ key in keyof ElementTagNameMap ]? : $.$mol_type_partial_deep< OrString<\n\t\t\t\t& Element\n\t\t\t\t& IntrinsicAttributes\n\t\t\t\t& ElementTagNameMap[ key ]\n\t\t\t> >\n\t\t}\n\t\t\n\t\t/** Additional undeclared props */\n\t\texport interface IntrinsicAttributes {\n\t\t\tid? : string\n\t\t\txmlns? : string\n\t\t}\n\t\t\n\t\texport interface ElementAttributesProperty {\n\t\t\tattributes : {\n\t\t\t}\n\t\t}\n\t\t\n\t\t// export type IntrinsicClassAttributes< Class > = $.$mol_type_partial_deep< Omit< Class , 'valueOf' > >\n\t\t\n\t\tinterface ElementChildrenAttribute {\n\t\t}\n\t\n\t}\n\n}\n","/** @jsx $mol_jsx */\nnamespace $ {\n\t\n\t$mol_test({\n\t\t\n\t\t'Make empty div'() {\n\t\t\t$mol_assert_equal( (
).outerHTML , '
' )\n\t\t} ,\n\t\t\n\t\t'Define native field'() {\n\t\t\t\n\t\t\tconst dom = as HTMLInputElement\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '' )\n\t\t\t$mol_assert_equal( dom.value, '123' )\n\n\t\t} ,\n\t\t\n\t\t'Define classes'() {\n\t\t\t\n\t\t\tconst dom =
\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '
' )\n\n\t\t} ,\n\t\t\n\t\t'Define styles'() {\n\t\t\t\n\t\t\tconst dom =
\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '
' )\n\n\t\t} ,\n\t\t\n\t\t'Define dataset'() {\n\t\t\t\n\t\t\tconst dom =
\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '
' )\n\n\t\t} ,\n\t\t\n\t\t'Define attributes'() {\n\t\t\t\n\t\t\tconst dom =