smoothly 1.0.0-alpha.13 → 1.0.0-alpha.131
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{Listenable-63ea2d90.js → Data-e345d3cd.js} +74 -4
- package/dist/cjs/Data-e345d3cd.js.map +1 -0
- package/dist/cjs/Observers-6450f075.js +25 -0
- package/dist/cjs/Observers-6450f075.js.map +1 -0
- package/dist/cjs/{getLanguage-430ecf04.js → getLanguage-28ce96e4.js} +1111 -890
- package/dist/cjs/getLanguage-28ce96e4.js.map +1 -0
- package/dist/cjs/{index-8352a4e0.js → index-6ae370b4.js} +12 -43
- package/dist/cjs/index-6ae370b4.js.map +1 -0
- package/dist/cjs/index.cjs.js +386 -22
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +4 -3
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/redirect-2e5d4524.js +104 -0
- package/dist/cjs/redirect-2e5d4524.js.map +1 -0
- package/dist/cjs/smoothly-accordion_70.cjs.entry.js +17204 -0
- package/dist/cjs/smoothly-accordion_70.cjs.entry.js.map +1 -0
- package/dist/cjs/smoothly-address-display.cjs.entry.js +1 -1
- package/dist/cjs/smoothly-address.cjs.entry.js +1 -1
- package/dist/cjs/smoothly-addresses.cjs.entry.js +1 -1
- package/dist/cjs/smoothly-color.cjs.entry.js +1 -1
- package/dist/cjs/smoothly-country.cjs.entry.js +9 -9
- package/dist/cjs/smoothly-country.cjs.entry.js.map +1 -1
- package/dist/cjs/smoothly-display-date-time.cjs.entry.js +26 -0
- package/dist/cjs/smoothly-display-date-time.cjs.entry.js.map +1 -0
- package/dist/cjs/smoothly-google-font.cjs.entry.js +1 -1
- package/dist/cjs/smoothly-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/smoothly-reorder.cjs.entry.js +4 -4
- package/dist/cjs/smoothly-reorder.cjs.entry.js.map +1 -1
- package/dist/cjs/smoothly-trigger-sink.cjs.entry.js +4 -4
- package/dist/cjs/smoothly-trigger-sink.cjs.entry.js.map +1 -1
- package/dist/cjs/smoothly-trigger-source.cjs.entry.js +6 -6
- package/dist/cjs/smoothly-trigger-source.cjs.entry.js.map +1 -1
- package/dist/cjs/smoothly.cjs.js +4 -3
- package/dist/cjs/smoothly.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +23 -12
- package/dist/collection/components/Button.js +16 -2
- package/dist/collection/components/Button.js.map +1 -1
- package/dist/collection/components/accordion/index.js +32 -12
- package/dist/collection/components/accordion/index.js.map +1 -1
- package/dist/collection/components/accordion-item/index.js +18 -25
- package/dist/collection/components/accordion-item/index.js.map +1 -1
- package/dist/collection/components/app/index.js +147 -1
- package/dist/collection/components/app/index.js.map +1 -1
- package/dist/collection/components/app/room/index.js +240 -0
- package/dist/collection/components/app/room/index.js.map +1 -0
- package/dist/collection/components/app/room/style.css +55 -0
- package/dist/collection/components/app/style.css +89 -101
- package/dist/collection/components/app-demo/index.js +5 -19
- package/dist/collection/components/app-demo/index.js.map +1 -1
- package/dist/collection/components/backtotop/index.js +3 -3
- package/dist/collection/components/backtotop/index.js.map +1 -1
- package/dist/collection/components/burger/index.js +174 -0
- package/dist/collection/components/burger/index.js.map +1 -0
- package/dist/collection/components/burger/style.css +22 -0
- package/dist/collection/components/button/index.js +10 -23
- package/dist/collection/components/button/index.js.map +1 -1
- package/dist/collection/components/button/style.css +13 -17
- package/dist/collection/components/button-demo/index.js +6 -2
- package/dist/collection/components/button-demo/index.js.map +1 -1
- package/dist/collection/components/button-demo/style.css +1 -0
- package/dist/collection/components/calendar/generate.js +1 -1
- package/dist/collection/components/calendar/generate.js.map +1 -1
- package/dist/collection/components/checkbox/index.js +25 -3
- package/dist/collection/components/checkbox/index.js.map +1 -1
- package/dist/collection/components/country/index.js +1 -1
- package/dist/collection/components/display/index.js +24 -3
- package/dist/collection/components/display/index.js.map +1 -1
- package/dist/collection/components/display-amount/index.js +1 -1
- package/dist/collection/components/display-demo/index.js +1 -1
- package/dist/collection/components/display-demo/index.js.map +1 -1
- package/dist/collection/components/filter/index.js +1 -1
- package/dist/collection/components/filter/index.js.map +1 -1
- package/dist/collection/components/filter/input/index.js +16 -9
- package/dist/collection/components/filter/input/index.js.map +1 -1
- package/dist/collection/components/form/index.js +132 -9
- package/dist/collection/components/form/index.js.map +1 -1
- package/dist/collection/components/form/style.css +9 -16
- package/dist/collection/components/frame/index.js +1 -2
- package/dist/collection/components/frame/index.js.map +1 -1
- package/dist/collection/components/icon/index.js +29 -38
- package/dist/collection/components/icon/index.js.map +1 -1
- package/dist/collection/components/icon-demo/index.js.map +1 -1
- package/dist/collection/components/icon-demo/style.css +1 -0
- package/dist/collection/components/input/Changeable.js +8 -0
- package/dist/collection/components/input/Changeable.js.map +1 -0
- package/dist/collection/components/input/Clearable.js.map +1 -0
- package/dist/collection/components/input/Input.js +2 -0
- package/dist/collection/components/input/Input.js.map +1 -0
- package/dist/collection/components/input/Looks.js +2 -0
- package/dist/collection/components/input/Looks.js.map +1 -0
- package/dist/collection/components/input/Submittable.js +8 -0
- package/dist/collection/components/input/Submittable.js.map +1 -0
- package/dist/collection/components/input/clear/index.js +237 -0
- package/dist/collection/components/input/clear/index.js.map +1 -0
- package/dist/collection/components/input/clear/style.css +254 -0
- package/dist/collection/components/{input-date → input/date}/index.js +160 -3
- package/dist/collection/components/input/date/index.js.map +1 -0
- package/dist/collection/components/{input-date-range → input/date/range}/index.js +161 -23
- package/dist/collection/components/input/date/range/index.js.map +1 -0
- package/dist/collection/components/input/date/range/style.css +69 -0
- package/dist/collection/components/input/date/style.css +58 -0
- package/dist/collection/components/input/demo/index.js +95 -0
- package/dist/collection/components/input/demo/index.js.map +1 -0
- package/dist/collection/components/{input-demo → input/demo}/style.css +1 -0
- package/dist/collection/components/input/file/index.js +305 -0
- package/dist/collection/components/input/file/index.js.map +1 -0
- package/dist/collection/components/input/file/style.css +85 -0
- package/dist/collection/components/input/index.js +131 -8
- package/dist/collection/components/input/index.js.map +1 -1
- package/dist/collection/components/{input-month → input/month}/index.js +5 -5
- package/dist/collection/components/input/month/index.js.map +1 -0
- package/dist/collection/components/{selector → input/select}/index.js +176 -5
- package/dist/collection/components/input/select/index.js.map +1 -0
- package/dist/collection/components/input/select/style.css +80 -0
- package/dist/collection/components/input/style.css +23 -8
- package/dist/collection/components/notification/index.js +45 -8
- package/dist/collection/components/notification/index.js.map +1 -1
- package/dist/collection/components/notification/style.css +25 -1
- package/dist/collection/components/notifier/style.css +1 -3
- package/dist/collection/components/picker/demo/index.js +91 -0
- package/dist/collection/components/picker/demo/index.js.map +1 -0
- package/dist/collection/components/picker/demo/style.css +26 -0
- package/dist/collection/components/picker/index.js +197 -396
- package/dist/collection/components/picker/index.js.map +1 -1
- package/dist/collection/components/picker/menu/index.js +422 -0
- package/dist/collection/components/picker/menu/index.js.map +1 -0
- package/dist/collection/components/picker/menu/style.css +44 -0
- package/dist/collection/components/picker/option/index.js +298 -0
- package/dist/collection/components/picker/option/index.js.map +1 -0
- package/dist/collection/components/picker/option/style.css +30 -0
- package/dist/collection/components/picker/slot-elements/index.js +109 -0
- package/dist/collection/components/picker/slot-elements/index.js.map +1 -0
- package/dist/collection/components/picker/slot-elements/style.css +3 -0
- package/dist/collection/components/picker/slotted-elements/index.js +84 -0
- package/dist/collection/components/picker/slotted-elements/index.js.map +1 -0
- package/dist/collection/components/picker/slotted-elements/style.css +3 -0
- package/dist/collection/components/picker/style.css +60 -144
- package/dist/collection/components/radio/index.js +4 -4
- package/dist/collection/components/radio/index.js.map +1 -1
- package/dist/collection/components/radio-button/index.js +35 -10
- package/dist/collection/components/radio-button/index.js.map +1 -1
- package/dist/collection/components/select-demo/index.js +0 -87
- package/dist/collection/components/select-demo/index.js.map +1 -1
- package/dist/collection/components/spinner/style.css +1 -0
- package/dist/collection/components/submit/index.js +64 -5
- package/dist/collection/components/submit/index.js.map +1 -1
- package/dist/collection/components/submit/style.css +224 -0
- package/dist/collection/components/summary/index.js +44 -1
- package/dist/collection/components/summary/index.js.map +1 -1
- package/dist/collection/components/svg/style.css +2 -2
- package/dist/collection/components/table/cell/index.js +1 -1
- package/dist/collection/components/table/cell/index.js.map +1 -1
- package/dist/collection/components/table/cell/style.css +19 -10
- package/dist/collection/components/table/demo/filtered/index.js +4 -3
- package/dist/collection/components/table/demo/filtered/index.js.map +1 -1
- package/dist/collection/components/table/demo/index.js +8 -2
- package/dist/collection/components/table/demo/index.js.map +1 -1
- package/dist/collection/components/table/demo/style.css +2 -0
- package/dist/collection/components/table/expandable/cell/index.js +14 -14
- package/dist/collection/components/table/expandable/cell/index.js.map +1 -1
- package/dist/collection/components/table/expandable/cell/style.css +32 -22
- package/dist/collection/components/table/expandable/row/index.js +9 -32
- package/dist/collection/components/table/expandable/row/index.js.map +1 -1
- package/dist/collection/components/table/expandable/row/style.css +32 -29
- package/dist/collection/components/table/footer/index.js +19 -0
- package/dist/collection/components/table/footer/index.js.map +1 -0
- package/dist/collection/components/table/footer/style.css +13 -0
- package/dist/collection/components/table/header/style.css +2 -2
- package/dist/collection/components/table/index.js +55 -12
- package/dist/collection/components/table/index.js.map +1 -1
- package/dist/collection/components/table/row/index.js +37 -5
- package/dist/collection/components/table/row/index.js.map +1 -1
- package/dist/collection/components/table/row/style.css +4 -1
- package/dist/collection/components/table/style.css +0 -2
- package/dist/collection/components/table/testing/data.js +28 -0
- package/dist/collection/components/table/testing/data.js.map +1 -0
- package/dist/collection/components/table/testing/index.js +28 -0
- package/dist/collection/components/table/testing/index.js.map +1 -0
- package/dist/collection/components/table/testing/style.css +22 -0
- package/dist/collection/components/theme/color/index.js +48 -0
- package/dist/collection/components/theme/color/index.js.map +1 -0
- package/dist/collection/components/theme/color/style.css +8 -0
- package/dist/collection/components/theme/color/variant/index.js +66 -0
- package/dist/collection/components/theme/color/variant/index.js.map +1 -0
- package/dist/collection/components/theme/color/variant/style.css +18 -0
- package/dist/collection/components/theme/colors/index.js +30 -0
- package/dist/collection/components/theme/colors/index.js.map +1 -0
- package/dist/collection/components/theme/colors/style.css +7 -0
- package/dist/collection/components/toggle-switch/index.js +69 -17
- package/dist/collection/components/toggle-switch/index.js.map +1 -1
- package/dist/collection/components/toggle-switch/style.css +19 -12
- package/dist/collection/components/trigger-source/index.js +3 -3
- package/dist/collection/components/trigger-source/index.js.map +1 -1
- package/dist/collection/global/Observers.js +22 -0
- package/dist/collection/global/Observers.js.map +1 -0
- package/dist/collection/global/index.js +5 -0
- package/dist/collection/global/index.js.map +1 -0
- package/dist/collection/index.js +2 -3
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/model/Data.js.map +1 -0
- package/dist/collection/model/Icon.js +23 -0
- package/dist/collection/model/Icon.js.map +1 -0
- package/dist/collection/model/Listenable.js +2 -2
- package/dist/collection/model/Listenable.js.map +1 -1
- package/dist/collection/model/Notice.js +1 -1
- package/dist/collection/model/Notice.js.map +1 -1
- package/dist/collection/model/Option.js.map +1 -1
- package/dist/collection/model/index.js +3 -0
- package/dist/collection/model/index.js.map +1 -1
- package/dist/collection/model/redirect.js +8 -0
- package/dist/collection/model/redirect.js.map +1 -0
- package/dist/collection/smoothly.js +3 -0
- package/dist/collection/smoothly.js.map +1 -0
- package/dist/custom-elements/index.d.ts +94 -34
- package/dist/custom-elements/index.js +5360 -16302
- package/dist/custom-elements/index.js.map +1 -1
- package/dist/esm/{Listenable-fb6f4723.js → Data-37e7c0b9.js} +75 -5
- package/dist/esm/Data-37e7c0b9.js.map +1 -0
- package/dist/esm/Observers-5f08e828.js +25 -0
- package/dist/esm/Observers-5f08e828.js.map +1 -0
- package/dist/esm/{getLanguage-cccb8418.js → getLanguage-5233a597.js} +1111 -890
- package/dist/esm/getLanguage-5233a597.js.map +1 -0
- package/dist/esm/{index-7b57a52c.js → index-c196715a.js} +12 -42
- package/dist/esm/index-c196715a.js.map +1 -0
- package/dist/esm/index.js +388 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +5 -4
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/redirect-b0f87e88.js +101 -0
- package/dist/esm/redirect-b0f87e88.js.map +1 -0
- package/dist/esm/smoothly-accordion_70.entry.js +17131 -0
- package/dist/esm/smoothly-accordion_70.entry.js.map +1 -0
- package/dist/esm/smoothly-address-display.entry.js +1 -1
- package/dist/esm/smoothly-address.entry.js +1 -1
- package/dist/esm/smoothly-addresses.entry.js +1 -1
- package/dist/esm/smoothly-color.entry.js +1 -1
- package/dist/esm/smoothly-country.entry.js +9 -9
- package/dist/esm/smoothly-country.entry.js.map +1 -1
- package/dist/esm/smoothly-display-date-time.entry.js +22 -0
- package/dist/esm/smoothly-display-date-time.entry.js.map +1 -0
- package/dist/esm/smoothly-google-font.entry.js +1 -1
- package/dist/esm/smoothly-radio-group.entry.js +1 -1
- package/dist/esm/smoothly-reorder.entry.js +2 -2
- package/dist/esm/smoothly-reorder.entry.js.map +1 -1
- package/dist/esm/smoothly-trigger-sink.entry.js +2 -2
- package/dist/esm/smoothly-trigger-source.entry.js +4 -4
- package/dist/esm/smoothly-trigger-source.entry.js.map +1 -1
- package/dist/esm/smoothly.js +5 -4
- package/dist/esm/smoothly.js.map +1 -1
- package/dist/smoothly/index.esm.js +1 -1
- package/dist/smoothly/index.esm.js.map +1 -1
- package/dist/smoothly/{p-d4182274.entry.js → p-1efa3261.entry.js} +2 -2
- package/dist/smoothly/p-2a0c2387.js +2 -0
- package/dist/smoothly/p-2a0c2387.js.map +1 -0
- package/dist/smoothly/{p-e136b93e.entry.js → p-4d743f07.entry.js} +2 -2
- package/dist/smoothly/p-4ff439dd.entry.js +2 -0
- package/dist/smoothly/{p-5b28795c.entry.js.map → p-4ff439dd.entry.js.map} +1 -1
- package/dist/smoothly/{p-be2ff772.entry.js → p-5edb65c6.entry.js} +2 -2
- package/dist/smoothly/{p-c49d2094.entry.js → p-663ccbd0.entry.js} +2 -2
- package/dist/smoothly/p-73442332.entry.js +2 -0
- package/dist/smoothly/p-73442332.entry.js.map +1 -0
- package/dist/smoothly/{p-940af6d3.entry.js → p-9992c8c4.entry.js} +2 -2
- package/dist/smoothly/p-a6c4c2d4.entry.js +2 -0
- package/dist/smoothly/p-a6c4c2d4.entry.js.map +1 -0
- package/dist/smoothly/p-b9cb0514.js +2 -0
- package/dist/smoothly/p-b9cb0514.js.map +1 -0
- package/dist/smoothly/p-c833c402.js +2 -0
- package/dist/smoothly/p-c833c402.js.map +1 -0
- package/dist/smoothly/p-ce4e6f44.entry.js +2 -0
- package/dist/smoothly/p-ce4e6f44.entry.js.map +1 -0
- package/dist/smoothly/p-d0b8061e.js +3 -0
- package/dist/smoothly/p-d0b8061e.js.map +1 -0
- package/dist/smoothly/{p-79025273.entry.js → p-dbd1afa9.entry.js} +2 -2
- package/dist/smoothly/p-ede93d69.js +2 -0
- package/dist/smoothly/p-ede93d69.js.map +1 -0
- package/dist/smoothly/{p-712b362e.entry.js → p-f96e41aa.entry.js} +2 -2
- package/dist/smoothly/p-ff8acb9b.entry.js +2 -0
- package/dist/smoothly/p-ff8acb9b.entry.js.map +1 -0
- package/dist/smoothly/smoothly.esm.js +1 -1
- package/dist/smoothly/smoothly.esm.js.map +1 -1
- package/dist/types/components/Button.d.ts +1 -2
- package/dist/types/components/accordion/index.d.ts +1 -1
- package/dist/types/components/accordion-item/index.d.ts +5 -4
- package/dist/types/components/app/index.d.ts +25 -0
- package/dist/types/components/app/room/index.d.ts +25 -0
- package/dist/types/components/app-demo/index.d.ts +2 -0
- package/dist/types/components/backtotop/index.d.ts +1 -1
- package/dist/types/components/burger/index.d.ts +15 -0
- package/dist/types/components/button/index.d.ts +2 -2
- package/dist/types/components/checkbox/index.d.ts +4 -2
- package/dist/types/components/display/index.d.ts +1 -0
- package/dist/types/components/filter/input/index.d.ts +1 -1
- package/dist/types/components/form/index.d.ts +16 -3
- package/dist/types/components/frame/index.d.ts +1 -1
- package/dist/types/components/icon/index.d.ts +3 -9
- package/dist/types/components/input/Changeable.d.ts +7 -0
- package/dist/types/components/input/Input.d.ts +10 -0
- package/dist/types/components/input/Looks.d.ts +1 -0
- package/dist/types/components/input/Submittable.d.ts +6 -0
- package/dist/types/components/input/clear/index.d.ts +17 -0
- package/dist/types/components/input/date/index.d.ts +28 -0
- package/dist/types/components/input/date/range/index.d.ts +33 -0
- package/dist/types/components/input/demo/index.d.ts +8 -0
- package/dist/types/components/input/file/index.d.ts +24 -0
- package/dist/types/components/input/index.d.ts +17 -4
- package/dist/types/components/{input-month → input/month}/index.d.ts +1 -1
- package/dist/types/components/{selector → input/select}/index.d.ts +15 -3
- package/dist/types/components/notification/index.d.ts +3 -1
- package/dist/types/components/picker/demo/index.d.ts +18 -0
- package/dist/types/components/picker/index.d.ts +33 -45
- package/dist/types/components/picker/menu/index.d.ts +53 -0
- package/dist/types/components/picker/option/index.d.ts +23 -0
- package/dist/types/components/picker/slot-elements/index.d.ts +15 -0
- package/dist/types/components/picker/slotted-elements/index.d.ts +8 -0
- package/dist/types/components/radio/index.d.ts +1 -1
- package/dist/types/components/radio-button/index.d.ts +3 -5
- package/dist/types/components/select-demo/index.d.ts +0 -9
- package/dist/types/components/submit/index.d.ts +6 -1
- package/dist/types/components/summary/index.d.ts +4 -0
- package/dist/types/components/table/demo/filtered/index.d.ts +1 -1
- package/dist/types/components/table/expandable/cell/index.d.ts +4 -4
- package/dist/types/components/table/expandable/row/index.d.ts +3 -7
- package/dist/types/components/table/footer/index.d.ts +3 -0
- package/dist/types/components/table/index.d.ts +6 -3
- package/dist/types/components/table/row/index.d.ts +3 -1
- package/dist/types/components/table/testing/data.d.ts +5 -0
- package/dist/types/components/table/testing/index.d.ts +4 -0
- package/dist/types/components/theme/color/index.d.ts +5 -0
- package/dist/types/components/theme/color/variant/index.d.ts +6 -0
- package/dist/types/components/theme/colors/index.d.ts +3 -0
- package/dist/types/components/toggle-switch/index.d.ts +7 -2
- package/dist/types/components/trigger-source/index.d.ts +1 -1
- package/dist/types/components.d.ts +490 -226
- package/dist/types/global/Observers.d.ts +8 -0
- package/dist/types/global/index.d.ts +4 -0
- package/dist/types/index.d.ts +1 -4
- package/dist/types/model/Icon.d.ts +8 -0
- package/dist/types/model/Notice.d.ts +1 -1
- package/dist/types/model/Option.d.ts +24 -6
- package/dist/types/model/index.d.ts +4 -1
- package/dist/types/model/redirect.d.ts +1 -0
- package/dist/types/smoothly.d.ts +3 -0
- package/package.json +16 -16
- package/dist/cjs/Listenable-63ea2d90.js.map +0 -1
- package/dist/cjs/getLanguage-430ecf04.js.map +0 -1
- package/dist/cjs/index-8352a4e0.js.map +0 -1
- package/dist/cjs/index-b282ee83.js +0 -865
- package/dist/cjs/index-b282ee83.js.map +0 -1
- package/dist/cjs/smoothly-accordion_61.cjs.entry.js +0 -28113
- package/dist/cjs/smoothly-accordion_61.cjs.entry.js.map +0 -1
- package/dist/collection/components/App.js +0 -71
- package/dist/collection/components/App.js.map +0 -1
- package/dist/collection/components/form/Clearable.js.map +0 -1
- package/dist/collection/components/form/Data.js.map +0 -1
- package/dist/collection/components/input-date/index.js.map +0 -1
- package/dist/collection/components/input-date/style.css +0 -39
- package/dist/collection/components/input-date-range/index.js.map +0 -1
- package/dist/collection/components/input-date-range/style.css +0 -51
- package/dist/collection/components/input-demo/index.js +0 -45
- package/dist/collection/components/input-demo/index.js.map +0 -1
- package/dist/collection/components/input-month/index.js.map +0 -1
- package/dist/collection/components/menu-options/index.js +0 -413
- package/dist/collection/components/menu-options/index.js.map +0 -1
- package/dist/collection/components/menu-options/style.css +0 -18
- package/dist/collection/components/option/index.js +0 -270
- package/dist/collection/components/option/index.js.map +0 -1
- package/dist/collection/components/option/style.css +0 -42
- package/dist/collection/components/room/index.js +0 -90
- package/dist/collection/components/room/index.js.map +0 -1
- package/dist/collection/components/select/index.js +0 -108
- package/dist/collection/components/select/index.js.map +0 -1
- package/dist/collection/components/select/style.css +0 -20
- package/dist/collection/components/selector/index.js.map +0 -1
- package/dist/collection/components/selector/style.css +0 -46
- package/dist/esm/Listenable-fb6f4723.js.map +0 -1
- package/dist/esm/getLanguage-cccb8418.js.map +0 -1
- package/dist/esm/index-2e948fc3.js +0 -861
- package/dist/esm/index-2e948fc3.js.map +0 -1
- package/dist/esm/index-7b57a52c.js.map +0 -1
- package/dist/esm/smoothly-accordion_61.entry.js +0 -28049
- package/dist/esm/smoothly-accordion_61.entry.js.map +0 -1
- package/dist/smoothly/p-06337b89.js +0 -2
- package/dist/smoothly/p-06337b89.js.map +0 -1
- package/dist/smoothly/p-21341e18.entry.js +0 -2
- package/dist/smoothly/p-21341e18.entry.js.map +0 -1
- package/dist/smoothly/p-5b28795c.entry.js +0 -2
- package/dist/smoothly/p-5b6351f6.js +0 -2
- package/dist/smoothly/p-5b6351f6.js.map +0 -1
- package/dist/smoothly/p-70280a11.js +0 -2
- package/dist/smoothly/p-70280a11.js.map +0 -1
- package/dist/smoothly/p-b49664d8.entry.js +0 -2
- package/dist/smoothly/p-b49664d8.entry.js.map +0 -1
- package/dist/smoothly/p-b82efb2e.entry.js +0 -2
- package/dist/smoothly/p-b82efb2e.entry.js.map +0 -1
- package/dist/smoothly/p-c88ae468.js +0 -3
- package/dist/smoothly/p-c88ae468.js.map +0 -1
- package/dist/types/components/App.d.ts +0 -5
- package/dist/types/components/input-date/index.d.ts +0 -14
- package/dist/types/components/input-date-range/index.d.ts +0 -23
- package/dist/types/components/input-demo/index.d.ts +0 -3
- package/dist/types/components/menu-options/index.d.ts +0 -35
- package/dist/types/components/option/index.d.ts +0 -32
- package/dist/types/components/room/index.d.ts +0 -7
- package/dist/types/components/select/index.d.ts +0 -14
- /package/dist/collection/components/{form → input}/Clearable.js +0 -0
- /package/dist/collection/components/{input-month → input/month}/style.css +0 -0
- /package/dist/collection/{components/form → model}/Data.js +0 -0
- /package/dist/smoothly/{p-d4182274.entry.js.map → p-1efa3261.entry.js.map} +0 -0
- /package/dist/smoothly/{p-e136b93e.entry.js.map → p-4d743f07.entry.js.map} +0 -0
- /package/dist/smoothly/{p-be2ff772.entry.js.map → p-5edb65c6.entry.js.map} +0 -0
- /package/dist/smoothly/{p-c49d2094.entry.js.map → p-663ccbd0.entry.js.map} +0 -0
- /package/dist/smoothly/{p-940af6d3.entry.js.map → p-9992c8c4.entry.js.map} +0 -0
- /package/dist/smoothly/{p-79025273.entry.js.map → p-dbd1afa9.entry.js.map} +0 -0
- /package/dist/smoothly/{p-712b362e.entry.js.map → p-f96e41aa.entry.js.map} +0 -0
- /package/dist/types/components/{form → input}/Clearable.d.ts +0 -0
- /package/dist/types/{components/form → model}/Data.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"smoothly-accordion.smoothly-accordion-item.smoothly-app.smoothly-app-demo.smoothly-app-room.smoothly-back-to-top.smoothly-burger.smoothly-button.smoothly-button-demo.smoothly-calendar.smoothly-checkbox.smoothly-dialog.smoothly-dialog-demo.smoothly-display.smoothly-display-amount.smoothly-display-demo.smoothly-filter.smoothly-filter-input.smoothly-form.smoothly-frame.smoothly-icon.smoothly-icon-demo.smoothly-input.smoothly-input-clear.smoothly-input-date.smoothly-input-date-range.smoothly-input-demo.smoothly-input-file.smoothly-input-month.smoothly-input-select.smoothly-item.smoothly-notification.smoothly-notifier.smoothly-picker.smoothly-picker-demo.smoothly-picker-menu.smoothly-picker-option.smoothly-popup.smoothly-quiet.smoothly-radio.smoothly-radio-button.smoothly-radio-button-item.smoothly-select-demo.smoothly-skeleton.smoothly-slot-elements.smoothly-slotted-elements.smoothly-spinner.smoothly-submit.smoothly-summary.smoothly-svg.smoothly-tab.smoothly-tab-switch.smoothly-table.smoothly-table-cell.smoothly-table-demo.smoothly-table-demo-filtered.smoothly-table-expandable-cell.smoothly-table-expandable-row.smoothly-table-footer.smoothly-table-header.smoothly-table-row.smoothly-table-testing.smoothly-theme-color.smoothly-theme-color-variant.smoothly-theme-colors.smoothly-toggle.smoothly-toggle-switch.smoothly-trigger.smoothly-tuple.smoothly-urlencoded.entry.js","mappings":"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gB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,OAAO;AAChC,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,OAAO;AAChC,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,OAAO;AAChC,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,OAAO;AAChC,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,OAAO;AAChC,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,OAAO;AAChC,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,OAAO;AAChC,gBAAgB,KAAK,IAAI,OAAO;AAChC,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,OAAO;AAChC,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,OAAO;AAChC,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,OAAO;AAChC,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,OAAO;AAChC,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,OAAO;AAChC,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,OAAO;AAChC,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,OAAO;AAChC,gBAAgB,KAAK,IAAI,OAAO;AAChC,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,OAAO;AAChC,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,KAAK;AAC9B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,IAAI,MAAM;AAC/B,gBAAgB,KAAK,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EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,CAAC,CAAC;AACF,MAAM,mBAAmB,GAAG;AAC5B,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,OAAO;AACf,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,CAAC;;AC1uBM,IAAI,MAAM,CAAC;AAClB,CAAC,UAAU,MAAM,EAAE;AACnB,IAAI,MAAM,CAAC,KAAK,GAAG;AACnB,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,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d,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,CAAC,CAAC;AACF,MAAM,cAAc,GAAG;AACvB,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE,IAAI;AACb,CAAC;;AClyBM,IAAI,MAAM,CAAC;AAClB,CAAC,UAAU,MAAM,EAAE;AACnB,IAAI,MAAM,CAAC,KAAK,GAAG;AACnB,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,KAAK,CAAC;AACN,IAAI,SAAS,EAAE,CAAC,KAAK,EAAE;AACvB,QAAQ,OAAO,OAAO,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7F,KAAK;AACL,IAAI,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;AACnB,IAAI,SAAS,IAAI,CAAC,OAAO,EAAE;AAC3B,QAAQ,OAAO,OAAO,OAAO,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;AACjG,KAAK;AACL,IAAI,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;AACvB,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AAC5B,MAAM,cAAc,GAAG;AACvB,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,CAAC;;AClgBM,IAAI,OAAO,CAAC;AACnB,CAAC,UAAU,OAAO,EAAE;AACpB,IAAI,OAAO,CAAC,KAAK,GAAG;AACpB,QAAQ,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;AACxH,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AACxH,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AACzH,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AACzH,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AACzH,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AACzH,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AACzH,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AACzH,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AACzH,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AACzH,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AACjF,KAAK,CAAC;AACN,IAAI,SAAS,EAAE,CAAC,KAAK,EAAE;AACvB,QAAQ,QAAQ,OAAO,KAAK,IAAI,QAAQ;AACxC,YAAY,KAAK,IAAI,CAAC;AACtB,YAAY,KAAK,IAAI,GAAG;AACxB,YAAY,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;AACnC,YAAY,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC3C,KAAK;AACL,IAAI,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;AACpB,IAAI,SAAS,IAAI,CAAC,OAAO,EAAE;AAC3B,QAAQ,OAAO,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3F,KAAK;AACL,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;AACxB,CAAC,EAAE,OAAO,KAAK,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;AAC9B,MAAM,eAAe,GAAG;AACxB,IAAI,EAAE,EAAE,CAAC;AACT,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,CAAC;AACT,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,CAAC;;ACxRD,MAAM,UAAU,GAAG;AACnB,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,CAAC,CAAC;AACK,IAAI,QAAQ,CAAC;AACpB,CAAC,UAAU,QAAQ,EAAE;AACrB,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;AACrC,IAAI,SAAS,EAAE,CAAC,QAAQ,EAAE;AAC1B,QAAQ,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACjD,KAAK;AACL,IAAI,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;AACrB,IAAI,SAAS,IAAI,CAAC,YAAY,EAAE;AAChC,QAAQ,OAAO;AACf,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,KAAK,EAAE,KAAK;AACxB,SAAS,CAAC,YAAY,CAAC,CAAC;AACxB,KAAK;AACL,IAAI,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,IAAI,SAAS,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE;AACpC,QAAQ,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpE,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;AACnD,QAAQ,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7E,QAAQ,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,QAAQ,IAAI,aAAa,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,EAAE;AACpI,KAAK;AACL,IAAI,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;AAC3B,IAAI,SAAS,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;AAC3C,QAAQ,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AAClF,KAAK;AACL,IAAI,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;AACvB,IAAI,SAAS,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE;AACnD,QAAQ,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,WAAW,EAAE,QAAQ,CAAC,CAAC;AACtE,KAAK;AACL,IAAI,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,IAAI,SAAS,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE;AACtE,QAAQ,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,YAAY,EAAE,cAAc,IAAI,QAAQ,CAAC,CAAC;AACzF,KAAK;AACL,IAAI,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,IAAI,SAAS,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE;AACrD,QAAQ,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AACvF,KAAK;AACL,IAAI,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,IAAI,SAAS,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE;AACvC,QAAQ,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC1D,QAAQ,OAAO,OAAO,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,IAAI,QAAQ,CAAC,GAAG,MAAM,CAAC;AAC1F,KAAK;AACL,IAAI,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,IAAI,SAAS,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE;AACzC,QAAQ,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC1D,QAAQ,OAAO,OAAO,QAAQ,IAAI,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,QAAQ,CAAC,GAAG,MAAM,CAAC;AACxG,KAAK;AACL,IAAI,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;AACnC,IAAI,SAAS,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE;AACzC,QAAQ,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC1D,QAAQ,OAAO,QAAQ,IAAI,SAAS;AACpC,cAAc,IAAI;AAClB,cAAc,KAAK,CAAC,MAAM,CAAC;AAC3B,kBAAkB,KAAK;AACvB,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,QAAQ,CAAC;AAC7E,KAAK;AACL,IAAI,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;AACnC,IAAI,SAAS,aAAa,CAAC,QAAQ,EAAE;AACrC,QAAQ,OAAO;AACf,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,SAAS;AAC1B,YAAY,GAAG,EAAE,SAAS;AAC1B,YAAY,GAAG,EAAE,SAAS;AAC1B,YAAY,GAAG,EAAE,SAAS;AAC1B,YAAY,GAAG,EAAE,SAAS;AAC1B,YAAY,GAAG,EAAE,SAAS;AAC1B,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,SAAS;AAC1B,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,SAAS;AAC1B,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,SAAS;AAC1B,YAAY,GAAG,EAAE,SAAS;AAC1B,YAAY,GAAG,EAAE,SAAS;AAC1B,YAAY,GAAG,EAAE,SAAS;AAC1B,YAAY,GAAG,EAAE,SAAS;AAC1B,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,YAAY,GAAG,EAAE,CAAC;AAClB,SAAS,CAAC,QAAQ,CAAC,CAAC;AACpB,KAAK;AACL,IAAI,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;AAC3C,CAAC,EAAE,QAAQ,KAAK,QAAQ,GAAG,EAAE,CAAC,CAAC;;ACtlBxB,IAAI,YAAY,CAAC;AACxB,CAAC,UAAU,YAAY,EAAE;AACzB,IAAI,YAAY,CAAC,KAAK,GAAG;AACzB,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,KAAK,CAAC;AACN,IAAI,SAAS,EAAE,CAAC,KAAK,EAAE;AACvB,QAAQ,OAAO,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClD,KAAK;AACL,IAAI,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;AACzB,IAAI,SAAS,IAAI,CAAC,QAAQ,EAAE;AAC5B,QAAQ,OAAO;AACf,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,YAAY,GAAG,EAAE,KAAK;AACtB,SAAS,CAAC,QAAQ,CAAC,CAAC;AACpB,KAAK;AACL,IAAI,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;AAC7B,IAAI,SAAS,aAAa,CAAC,YAAY,EAAE;AACzC,QAAQ,OAAO;AACf,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,KAAK,EAAE,SAA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Z,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,QAAQ;AACZ,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,IAAI;AACR,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,QAAQ;AACZ,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,GAAG;AACP,CAAC,CAAC;AACF,MAAM,cAAc,GAAG;AACvB,IAAI,QAAQ,EAAE,CAAC;AACf,IAAI,QAAQ,EAAE,CAAC;AACf,IAAI,QAAQ,EAAE,CAAC;AACf,IAAI,QAAQ,EAAE,CAAC;AACf,IAAI,QAAQ,EAAE,CAAC;AACf,IAAI,QAAQ,EAAE,CAAC;AACf,IAAI,QAAQ,EAAE,CAAC;AACf,IAAI,QAAQ,EAAE,CAAC;AACf,IAAI,QAAQ,EAAE,CAAC;AACf,IAAI,QAAQ,EAAE,CAAC;AACf,IAAI,IAAI,EAAE,EAAE;AACZ,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,IAAI,EAAE,EAAE;AACZ,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,IAAI,EAAE,EAAE;AACZ,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,GAAG,EAAE,EAAE;AACX,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,EAAE;AACT,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,QAAQ,EAAE,GAAG;AACjB,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,IAAI,CAAC,EAAE,GAAG;AACV,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I;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,KAAK,IAAI,IAAI;AAC7B,gBAAgB,K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AAI,OAAO;AAC5B,YAAY,KAAK,IAAI,QAAQ;AAC7B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,QAAQ;AAC7B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,QAAQ;AAC7B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,YAAY;AACjC,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,QAAQ;AAC7B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,YAAY;AACjC,YAAY,KAAK,IAAI,YAAY;AACjC,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,QAAQ;AAC7B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,YAAY;AACjC,YAAY,KAAK,IAAI,QAAQ;AAC7B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,QAAQ;AAC7B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,QAAQ;AAC7B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,QAAQ;AAC7B,YAAY,KAAK,IAAI,QAAQ;AAC7B,YAAY,KAAK,IAAI,QAAQ;AAC7B,YAAY,KAAK,IAAI,QAAQ;AAC7B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,QAAQ;AAC7B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,QAAQ;AAC7B,YAAY,KAAK,IAAI,QAAQ;AAC7B,YAAY,KAAK,IAAI,QAAQ;AAC7B,YAAY,KAAK,IAAI,QAAQ;AAC7B,YAAY,KAAK,IAAI,QAAQ;AAC7B,YAAY,KAAK,IAAI,QAAQ;AAC7B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,OAAO;AAC5B,YAAY,KAAK,IAAI,YAAY;AACjC,YAAY,KAAK,IAAI,YAAY;AACjC,YAAY,KAAK,IAAI,YAAY;AACjC,YAAY,KAAK,IAAI,YAAY;AAC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YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,KAAK;AACjB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,KAAK;AACjB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,KAAK;AACjB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,KAAK;AACjB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,KAAK;AACjB,YAAY,KAAK;AACjB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,KAAK;AACjB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,KAAK;AACjB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,KAAK;AACjB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,KAAK;AACjB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,KAAK;AACjB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,KAAK;AACjB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,KAAK;AACjB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,IAAI;AAChB,YAAY,KAAK;AACjB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,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","names":["Observers","styleCss","lexer","parse","URLPattern","isoly.Date","Date","generate.weekdays","generate.month","create","isoly.Language","langly.create","translation.create","handlers","add","Handler","isoly.DateTime","isoly.Currency","getLocale","DateTime","Locale","Language","Currency","Error","this","fs","path","String_1","Utilities_1","mend_1","Source_1","lexer_1","global","Array_1","Object_1","Number_1","Boolean_1","Expression_1","parse_1","resolve_1","require$$1","Clearable","selectively.and","selectively.any","selectively.includes","selectivelyCreate","selectively.lesserThan","selectively.greaterThan","selectively.startsWith","selectively.endsWith","fields","Header","to","CamelCase.from","from","CamelCase.to","RequestHeader","Serializer.serialize","Parser.parse","__classPrivateFieldGet","__classPrivateFieldSet","Socket","ArrayBuffer","String","SocketJson","SocketString","SocketArrayBuffer","SocketFactory","Response","ResponseHeader","Platform.Response","ResponseLike","FormData","Parser.add","Search.parse","Serializer.add","Search.stringify","http.fetch","http.Search.stringify","isoly.DateRange","generate.years","generate.months","selectively.filter"],"sources":["./src/global/index.ts","./src/components/accordion/style.css?tag=smoothly-accordion&encapsulation=scoped","./src/components/accordion/index.tsx","./src/components/accordion-item/style.css?tag=smoothly-accordion-item&encapsulation=scoped","./src/components/accordion-item/index.tsx","./src/components/app/style.css?tag=smoothly-app","./src/components/app/index.tsx","./src/components/app-demo/index.tsx","./node_modules/urlpattern-polyfill/dist/urlpattern.js","./node_modules/urlpattern-polyfill/index.js","./src/components/app/room/style.css?tag=smoothly-app-room&encapsulation=scoped","./src/components/app/room/index.tsx","./src/components/backtotop/style.scss?tag=smoothly-back-to-top&encapsulation=scoped","./src/components/backtotop/index.tsx","./src/components/burger/style.css?tag=smoothly-burger&encapsulation=scoped","./src/components/burger/index.tsx","./src/components/Button.tsx","./src/components/button/style.css?tag=smoothly-button&encapsulation=scoped","./src/components/button/index.tsx","./src/components/button-demo/style.css?tag=smoothly-button-demo","./src/components/button-demo/index.tsx","./src/components/calendar/generate.ts","./src/components/calendar/style.css?tag=smoothly-calendar&encapsulation=scoped","./src/components/calendar/index.tsx","./node_modules/langly/dist/create.js","./src/components/checkbox/translation/sv.ts","./src/components/checkbox/translation/index.ts","./src/components/checkbox/style.css?tag=smoothly-checkbox&encapsulation=scoped","./src/components/checkbox/index.tsx","./src/components/dialog/style.css?tag=smoothly-dialog&encapsulation=scoped","./src/components/dialog/index.tsx","./src/components/dialog-demo/index.tsx","./node_modules/tidily/dist/mjs/getAdjecentWordBreakIndex.js","./node_modules/tidily/dist/mjs/Selection.js","./node_modules/tidily/dist/mjs/State.js","./node_modules/tidily/dist/mjs/StateEditor.js","./node_modules/tidily/dist/mjs/Action.js","./node_modules/tidily/dist/mjs/Handler/base.js","./node_modules/tidily/dist/mjs/Handler/card-csc.js","./node_modules/tidily/dist/mjs/Handler/card-expires.js","./node_modules/tidily/dist/mjs/Handler/card-number.js","./node_modules/tidily/node_modules/isoly/dist/mjs/CallingCode.js","./node_modules/tidily/node_modules/isoly/dist/mjs/CountryCode/Alpha2.js","./node_modules/tidily/node_modules/isoly/dist/mjs/CountryCode/Alpha3.js","./node_modules/tidily/node_modules/isoly/dist/mjs/CountryCode/Numeric.js","./node_modules/tidily/node_modules/isoly/dist/mjs/Currency.js","./node_modules/tidily/node_modules/isoly/dist/mjs/CurrencyCode.js","./node_modules/tidily/node_modules/isoly/dist/mjs/Date.js","./node_modules/tidily/node_modules/isoly/dist/mjs/DateRange.js","./node_modules/tidily/node_modules/isoly/dist/mjs/DateSpan.js","./node_modules/tidily/node_modules/isoly/dist/mjs/TimeZoneOffset.js","./node_modules/tidily/node_modules/isoly/dist/mjs/DateTime.js","./node_modules/tidily/node_modules/isoly/dist/mjs/Encoding/Transcoder.js","./node_modules/tidily/node_modules/isoly/dist/mjs/Encoding/Iso88591.js","./node_modules/tidily/node_modules/isoly/dist/mjs/Encoding/Utf8.js","./node_modules/tidily/node_modules/isoly/dist/mjs/Encoding/index.js","./node_modules/tidily/node_modules/isoly/dist/mjs/Language.js","./node_modules/tidily/node_modules/isoly/dist/mjs/Locale.js","./node_modules/tidily/node_modules/isoly/dist/mjs/TimeRange.js","./node_modules/tidily/node_modules/isoly/dist/mjs/TimeSpan.js","./node_modules/tidily/node_modules/isoly/dist/mjs/TimeZone.js","./node_modules/tidily/dist/mjs/DateFormat.js","./node_modules/tidily/dist/mjs/Handler/date/Base.js","./node_modules/tidily/dist/mjs/Handler/date/dmy.js","./node_modules/tidily/dist/mjs/Handler/date/mdy.js","./node_modules/tidily/dist/mjs/Handler/date/ymd.js","./node_modules/tidily/dist/mjs/Handler/date-time.js","./node_modules/tidily/dist/mjs/Handler/divisor.js","./node_modules/tidily/dist/mjs/Handler/duration.js","./node_modules/tidily/dist/mjs/Handler/identity-number.js","./node_modules/tidily/dist/mjs/Handler/password.js","./node_modules/tidily/dist/mjs/Handler/percent.js","./node_modules/tidily/dist/mjs/Handler/phonePrefix.js","./node_modules/tidily/dist/mjs/Handler/phone.js","./node_modules/tidily/dist/mjs/Handler/postal-code.js","./node_modules/tidily/dist/mjs/Handler/price.js","./node_modules/tidily/dist/mjs/Handler/text.js","./src/components/display/style.css?tag=smoothly-display&encapsulation=scoped","./src/components/display/index.tsx","./src/components/display-amount/style.css?tag=smoothly-display-amount&encapsulation=scoped","./src/components/display-amount/index.tsx","./src/components/display-demo/index.tsx","./node_modules/selectively/dist/Rule.js","./node_modules/selectively/dist/Always.js","./node_modules/selectively/dist/Any.js","./node_modules/selectively/dist/And.js","./node_modules/selectively/dist/Criteria.js","./node_modules/@cogneco/mend/build/Error/Level.js","./node_modules/@cogneco/mend/build/Error/Message.js","./node_modules/@cogneco/mend/build/Error/ConsoleHandler.js","./node_modules/@cogneco/mend/build/Error/Position.js","./node_modules/@cogneco/mend/build/Error/Location.js","./node_modules/@cogneco/mend/build/Error/Region.js","./node_modules/@cogneco/mend/build/Error/index.js","./node_modules/@cogneco/mend/build/Uri/User.js","./node_modules/@cogneco/mend/build/Uri/Endpoint.js","./node_modules/@cogneco/mend/build/Uri/Authority.js","./node_modules/@cogneco/mend/build/Uri/Locator.js","./node_modules/@cogneco/mend/build/Uri/index.js","./node_modules/@cogneco/mend/build/IO/Device.js","./node_modules/@cogneco/mend/build/IO/InDevice.js","./node_modules/@cogneco/mend/build/IO/Reader.js","./node_modules/@cogneco/mend/build/IO/BufferedReader.js","./node_modules/@cogneco/mend/build/IO/fs.browser.js","./node_modules/@cogneco/mend/build/IO/path.browser.js","./node_modules/@cogneco/mend/build/IO/StringReader.js","./node_modules/@cogneco/mend/build/IO/FileReader.js","./node_modules/@cogneco/mend/build/IO/FolderReader.js","./node_modules/@cogneco/mend/build/Utilities/Enumerator.js","./node_modules/@cogneco/mend/build/Utilities/Enumerable.js","./node_modules/@cogneco/mend/build/Utilities/ArrayEnumerator.js","./node_modules/@cogneco/mend/build/Utilities/BufferedEnumerator.js","./node_modules/@cogneco/mend/build/Utilities/String.js","./node_modules/@cogneco/mend/build/Utilities/index.js","./node_modules/@cogneco/mend/build/IO/OutDevice.js","./node_modules/@cogneco/mend/build/IO/Writer.js","./node_modules/@cogneco/mend/build/IO/Indenter.js","./node_modules/@cogneco/mend/build/IO/PrefixReader.js","./node_modules/@cogneco/mend/build/IO/FileWriter.js","./node_modules/@cogneco/mend/build/IO/TillReader.js","./node_modules/@cogneco/mend/build/IO/UntilReader.js","./node_modules/@cogneco/mend/build/IO/index.js","./node_modules/@cogneco/mend/build/index.js","./node_modules/selectively/dist/lexer/Source.js","./node_modules/selectively/dist/lexer/index.js","./node_modules/selectively/dist/Type/Base.js","./node_modules/selectively/dist/Type/Array.js","./node_modules/selectively/dist/Type/Cursor.js","./node_modules/selectively/dist/Type/Completion.js","./node_modules/selectively/dist/Type/Boolean.js","./node_modules/selectively/dist/Type/Completor.js","./node_modules/selectively/dist/Type/Number.js","./node_modules/selectively/dist/Type/Object.js","./node_modules/selectively/dist/Type/String.js","./node_modules/selectively/dist/Type/Union.js","./node_modules/selectively/dist/Type/index.js","./node_modules/selectively/dist/EndsWith.js","./node_modules/selectively/dist/Every.js","./node_modules/selectively/dist/FunctionCall.js","./node_modules/selectively/dist/Expression.js","./node_modules/selectively/dist/Value.js","./node_modules/selectively/dist/GreaterThan.js","./node_modules/selectively/dist/GreaterThanOrEqual.js","./node_modules/selectively/dist/Has.js","./node_modules/selectively/dist/Includes.js","./node_modules/selectively/dist/Some.js","./node_modules/selectively/dist/Is.js","./node_modules/selectively/dist/LesserThan.js","./node_modules/selectively/dist/LesserThanOrEqual.js","./node_modules/selectively/dist/Match.js","./node_modules/selectively/dist/Not.js","./node_modules/selectively/dist/Or.js","./node_modules/selectively/dist/parse/Source.js","./node_modules/selectively/dist/parse/parse.js","./node_modules/selectively/dist/parse/Expression.js","./node_modules/selectively/dist/parse/Every.js","./node_modules/selectively/dist/parse/Some.js","./node_modules/selectively/dist/parse/group.js","./node_modules/selectively/dist/parse/GreaterThan.js","./node_modules/selectively/dist/parse/GreaterThanOrEqual.js","./node_modules/selectively/dist/parse/LesserThan.js","./node_modules/selectively/dist/parse/LesserThanOrEqual.js","./node_modules/selectively/dist/parse/Not.js","./node_modules/selectively/dist/parse/Has.js","./node_modules/selectively/dist/Within.js","./node_modules/selectively/dist/parse/Within.js","./node_modules/selectively/dist/parse/FunctionCall.js","./node_modules/selectively/dist/Property.js","./node_modules/selectively/dist/parse/Property.js","./node_modules/selectively/dist/parse/Includes.js","./node_modules/selectively/dist/StartsWith.js","./node_modules/selectively/dist/parse/StartsWith.js","./node_modules/selectively/dist/parse/EndsWith.js","./node_modules/selectively/dist/InfixOperator.js","./node_modules/selectively/dist/parse/InfixOperator.js","./node_modules/selectively/dist/parse/Value.js","./node_modules/selectively/dist/parse/Is.js","./node_modules/selectively/dist/parse/ignore.js","./node_modules/selectively/dist/parse/index.js","./node_modules/selectively/dist/resolve/resolve.js","./node_modules/selectively/dist/resolve/And.js","./node_modules/selectively/dist/resolve/replace.js","./node_modules/selectively/dist/resolve/Endswith.js","./node_modules/selectively/dist/resolve/Every.js","./node_modules/selectively/dist/resolve/FunctionCall.js","./node_modules/selectively/dist/resolve/GreaterThan.js","./node_modules/selectively/dist/resolve/GreaterThanOrEqual.js","./node_modules/selectively/dist/resolve/Has.js","./node_modules/selectively/dist/resolve/Includes.js","./node_modules/selectively/dist/resolve/LesserThan.js","./node_modules/selectively/dist/resolve/LesserThanOrEqual.js","./node_modules/selectively/dist/resolve/Not.js","./node_modules/selectively/dist/resolve/Or.js","./node_modules/selectively/dist/resolve/Property.js","./node_modules/selectively/dist/resolve/Some.js","./node_modules/selectively/dist/resolve/Startswith.js","./node_modules/selectively/dist/resolve/Is.js","./node_modules/selectively/dist/resolve/index.js","./node_modules/selectively/dist/Tuple.js","./node_modules/selectively/dist/selectively.js","./node_modules/selectively/dist/index.js","./src/components/filter/Clearable.ts","./src/components/filter/style.css?tag=smoothly-filter&encapsulation=shadow","./src/components/filter/index.tsx","./src/components/filter/input/style.css?tag=smoothly-filter-input&encapsulation=shadow","./src/components/filter/input/index.tsx","./node_modules/cloudly-http/dist/Method.js","./node_modules/cloudly-http/dist/Parser.js","./node_modules/cloudly-http/dist/Serializer.js","./node_modules/cloudly-http/dist/CamelCase.js","./node_modules/cloudly-http/dist/Request/Header.js","./node_modules/cloudly-http/dist/Request/index.js","./node_modules/cloudly-http/dist/Platform.js","./node_modules/cloudly-http/dist/Socket/Socket.js","./node_modules/cloudly-http/dist/Socket/ArrayBuffer.js","./node_modules/cloudly-http/dist/Socket/Json.js","./node_modules/cloudly-http/dist/Socket/String.js","./node_modules/cloudly-http/dist/Socket/Factory.js","./node_modules/cloudly-http/dist/Socket/index.js","./node_modules/cloudly-http/dist/Response/Header.js","./node_modules/cloudly-http/dist/Response/Like.js","./node_modules/cloudly-http/dist/Response/index.js","./node_modules/cloudly-http/dist/fetch.js","./node_modules/cloudly-http/dist/FormData.js","./node_modules/cloudly-http/dist/Search.js","./node_modules/cloudly-http/dist/index.js","./src/components/input/Clearable.ts","./src/components/form/style.css?tag=smoothly-form","./src/components/form/index.tsx","./src/components/frame/style.css?tag=smoothly-frame&encapsulation=scoped","./src/components/frame/index.tsx","./src/components/icon/style.css?tag=smoothly-icon&encapsulation=scoped","./src/components/icon/index.tsx","./src/components/icon-demo/style.css?tag=smoothly-icon-demo&encapsulation=scoped","./src/components/icon-demo/index.tsx","./src/components/input/style.css?tag=smoothly-input&encapsulation=scoped","./src/components/input/index.tsx","./src/components/input/Changeable.ts","./src/components/input/clear/style.css?tag=smoothly-input-clear&encapsulation=scoped","./src/components/input/clear/index.tsx","./src/components/input/date/style.css?tag=smoothly-input-date&encapsulation=scoped","./src/components/input/date/index.tsx","./src/components/input/date/range/style.scss?tag=smoothly-input-date-range&encapsulation=scoped","./src/components/input/date/range/index.tsx","./src/components/input/demo/style.css?tag=smoothly-input-demo","./src/components/input/demo/index.tsx","./src/components/input/file/style.css?tag=smoothly-input-file&encapsulation=scoped","./src/components/input/file/index.tsx","./src/components/input/month/style.css?tag=smoothly-input-month&encapsulation=scoped","./src/components/input/month/index.tsx","./src/components/input/select/style.css?tag=smoothly-input-select&encapsulation=scoped","./src/components/input/select/index.tsx","./src/components/item/style.css?tag=smoothly-item&encapsulation=scoped","./src/components/item/index.tsx","./src/components/notification/style.css?tag=smoothly-notification&encapsulation=scoped","./src/components/notification/index.tsx","./src/components/notifier/style.css?tag=smoothly-notifier&encapsulation=scoped","./src/components/notifier/index.tsx","./src/components/picker/style.css?tag=smoothly-picker&encapsulation=scoped","./src/components/picker/index.tsx","./src/components/picker/demo/style.css?tag=smoothly-picker-demo&encapsulation=scoped","./src/components/picker/demo/index.tsx","./src/components/picker/menu/style.css?tag=smoothly-picker-menu&encapsulation=scoped","./src/components/picker/menu/index.tsx","./src/components/picker/option/style.css?tag=smoothly-picker-option&encapsulation=shadow","./src/components/picker/option/index.tsx","./src/components/popup/style.css?tag=smoothly-popup&encapsulation=scoped","./src/components/popup/index.tsx","./src/components/quiet/style.css?tag=smoothly-quiet&encapsulation=scoped","./src/components/quiet/index.tsx","./src/components/radio/style.css?tag=smoothly-radio&encapsulation=scoped","./src/components/radio/index.tsx","./src/components/radio-button/style.css?tag=smoothly-radio-button&encapsulation=scoped","./src/components/radio-button/index.tsx","./src/components/radio-button/item/style.css?tag=smoothly-radio-button-item&encapsulation=scoped","./src/components/radio-button/item/index.tsx","./src/components/select-demo/style.css?tag=smoothly-select-demo&encapsulation=scoped","./src/components/select-demo/index.tsx","./src/components/skeleton/style.css?tag=smoothly-skeleton&encapsulation=scoped","./src/components/skeleton/index.tsx","./src/components/picker/slot-elements/style.css?tag=smoothly-slot-elements&encapsulation=scoped","./src/components/picker/slot-elements/index.tsx","./src/components/picker/slotted-elements/style.css?tag=smoothly-slotted-elements&encapsulation=scoped","./src/components/picker/slotted-elements/index.tsx","./src/components/spinner/style.scss?tag=smoothly-spinner&encapsulation=scoped","./src/components/spinner/index.tsx","./src/components/input/Submittable.ts","./src/components/submit/style.css?tag=smoothly-submit&encapsulation=scoped","./src/components/submit/index.tsx","./src/components/summary/style.css?tag=smoothly-summary&encapsulation=scoped","./src/components/summary/index.tsx","./src/components/svg/style.css?tag=smoothly-svg&encapsulation=scoped","./src/components/svg/index.tsx","./src/components/tab/style.css?tag=smoothly-tab&encapsulation=scoped","./src/components/tab/index.tsx","./src/components/tab-switch/style.css?tag=smoothly-tab-switch&encapsulation=scoped","./src/components/tab-switch/index.tsx","./src/components/table/style.css?tag=smoothly-table&encapsulation=scoped","./src/components/table/index.tsx","./src/components/table/cell/style.css?tag=smoothly-table-cell&encapsulation=scoped","./src/components/table/cell/index.tsx","./src/components/table/demo/style.css?tag=smoothly-table-demo&encapsulation=scoped","./src/components/table/demo/index.tsx","./src/components/table/Selector.tsx","./src/components/table/demo/filtered/style.css?tag=smoothly-table-demo-filtered&encapsulation=scoped","./src/components/table/demo/filtered/index.tsx","./src/components/table/expandable/cell/style.css?tag=smoothly-table-expandable-cell&encapsulation=scoped","./src/components/table/expandable/cell/index.tsx","./src/components/table/expandable/row/style.css?tag=smoothly-table-expandable-row&encapsulation=scoped","./src/components/table/expandable/row/index.tsx","./src/components/table/footer/style.css?tag=smoothly-table-footer&encapsulation=scoped","./src/components/table/footer/index.tsx","./src/components/table/header/style.css?tag=smoothly-table-header&encapsulation=scoped","./src/components/table/header/index.tsx","./src/components/table/row/style.css?tag=smoothly-table-row&encapsulation=scoped","./src/components/table/row/index.tsx","./src/components/table/testing/data.ts","./src/components/table/testing/style.css?tag=smoothly-table-testing&encapsulation=scoped","./src/components/table/testing/index.tsx","./src/components/theme/color/style.css?tag=smoothly-theme-color&encapsulation=scoped","./src/components/theme/color/index.tsx","./src/components/theme/color/variant/style.css?tag=smoothly-theme-color-variant&encapsulation=scoped","./src/components/theme/color/variant/index.tsx","./src/components/theme/colors/style.css?tag=smoothly-theme-colors&encapsulation=scoped","./src/components/theme/colors/index.tsx","./src/components/toggle/style.css?tag=smoothly-toggle&encapsulation=scoped","./src/components/toggle/toggle.tsx","./src/components/toggle-switch/style.css?tag=smoothly-toggle-switch&encapsulation=shadow","./src/components/toggle-switch/index.tsx","./src/components/trigger/style.css?tag=smoothly-trigger&encapsulation=scoped","./src/components/trigger/index.tsx","./src/components/tuple/index.tsx","./src/components/urlencoded/index.tsx"],"sourcesContent":["import { Observers } from \"./Observers\"\nexport default function () {\n\treturn { Observers }\n}\n","smoothly-accordion-item {\n\tborder: 1px solid rgb(var(--smoothly-dark-color));\n\tborder-bottom: none;\n}\nsmoothly-accordion-item:first-of-type {\n\tborder-top-left-radius: 4px;\n\tborder-top-right-radius: 4px;\n\tmargin-top: 0.4em;\n}\nsmoothly-accordion-item:last-of-type {\n\tborder-bottom-left-radius: 4px;\n\tborder-bottom-right-radius: 4px;\n\tborder-bottom: 1px solid rgb(var(--smoothly-dark-color));\n\tmargin-bottom: 0.6em;\n}\nsmoothly-accordion-item[open] {\n\tborder-color: rgb(var(--smoothly-primary-color));\n\tborder-bottom: 1px solid rgb(var(--smoothly-primary-color));\n}\nsmoothly-accordion-item[open] + smoothly-accordion-item {\n\tborder-top: none;\n}\n","import { Component, Element, h, Listen, Method, Prop, Watch } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-accordion\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyAccordion {\n\tprivate items: HTMLSmoothlyAccordionItemElement[] = []\n\t@Element() me: HTMLElement\n\t@Prop({ mutable: true }) value?: string\n\t@Watch(\"value\")\n\tvalueChanged(value: string | undefined) {\n\t\tthis.updateItems()\n\t}\n\t@Listen(\"smoothlyOpen\")\n\t@Listen(\"smoothlyClose\")\n\thandleOpenClose(event: CustomEvent<{ name: string; open: boolean }>) {\n\t\tif (event.detail.open)\n\t\t\tthis.value = event.detail.name\n\t\telse if (this.value == event.detail.name)\n\t\t\tthis.value = undefined\n\t}\n\t@Listen(\"smoothlyAccordionItemWillLoad\")\n\tonAccordionItemDidLoad(ev: Event) {\n\t\tconst item = ev.target as HTMLSmoothlyAccordionItemElement\n\t\tthis.items.push(item)\n\t\tif (this.value == undefined && item.open)\n\t\t\tthis.value = item.name\n\t\telse\n\t\t\tthis.updateItems()\n\t}\n\tcomponentDidLoad() {\n\t\tthis.updateItems()\n\t}\n\tprivate updateItems() {\n\t\tlet hasChecked = false\n\t\tfor (const item of this.items)\n\t\t\tif ((item.open = !hasChecked && item.name == this.value))\n\t\t\t\thasChecked = true\n\t}\n\t@Method()\n\tasync removeItem(el: HTMLSmoothlyAccordionItemElement) {\n\t\tconst index = this.items.indexOf(el)\n\t\tif (index > -1)\n\t\t\tthis.items.splice(index, 1)\n\t}\n\trender() {\n\t\treturn [<slot></slot>]\n\t}\n}\n",":host {\n\tdisplay: block;\n}\n:host[hidden] {\n\tdisplay: none;\n}\ndetails {\n\tpadding: 0;\n}\ndetails > summary > span {\n\tfloat: right;\n\tmargin: 0.2em;\n\tfont-size: 60%;\n}\ndetails > summary {\n\tfont-size: 120%;\n\tlist-style-type: none;\n\tcursor: pointer;\n\tpadding: 0.4em;\n\tcolor: rgb(var(--smoothly-text-tint));\n}\ndetails > fieldset {\n\tborder: none;\n\tmargin: 0;\n\tpadding: 0;\n}\n:host[open] > details > summary {\n\tcolor: rgb(var(--smoothly-primary-contrast));\n\tbackground: rgb(var(--smoothly-primary-color));\n}\ndetails > summary::-webkit-details-marker {\n\tdisplay: none;\n}\ndetails > summary > svg {\n\twidth: 1em;\n\theight: auto;\n\tmargin-bottom: -0.2em;\n\tmargin-right: 0.4em;\n}\n:host[open] > details > summary > svg {\n\tfill: rgb(var(--smoothly-primary-contrast));\n}\n:host:not([open]) > details > summary > svg {\n\tfill: rgb(var(--smoothly-text-tint));\n}\n","import { Component, Element, Event, EventEmitter, h, Prop, Watch } from \"@stencil/core\"\nimport { SmoothlyAccordion } from \"../accordion\"\n\n@Component({\n\ttag: \"smoothly-accordion-item\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyAccordionItem {\n\t@Prop() name: string\n\t@Prop() brand?: string | string[]\n\t@Prop({ mutable: true, reflect: true }) open?: boolean\n\t@Element() element: HTMLSmoothlyAccordionItemElement\n\t@Event() smoothlyAccordionItemWillLoad!: EventEmitter<(parent: SmoothlyAccordion) => void>\n\t@Event() smoothlyOpen!: EventEmitter<{ name: string; open: boolean }>\n\t@Event() smoothlyClose!: EventEmitter<{ name: string; open: boolean }>\n\tprivate parent?: SmoothlyAccordion\n\t@Watch(\"open\")\n\topenChanged(isChecked: boolean) {\n\t\tthis.open = isChecked\n\t\tif (isChecked) {\n\t\t\tthis.smoothlyOpen.emit({\n\t\t\t\topen: true,\n\t\t\t\tname: this.name,\n\t\t\t})\n\t\t}\n\t}\n\tcomponentWillLoad() {\n\t\tconst summary = this.element.getElementsByTagName(\"summary\")\n\t\tif (summary.length > 0) {\n\t\t\tconst onClick = (e: UIEvent) => {\n\t\t\t\tif (this.open)\n\t\t\t\t\tthis.smoothlyClose.emit({ open: this.open, name: this.name })\n\t\t\t\telse\n\t\t\t\t\tthis.open = true\n\t\t\t\te.preventDefault()\n\t\t\t}\n\t\t\tsummary[0].addEventListener(\"click\", onClick)\n\t\t\tsummary[0].addEventListener(\"touch\", onClick)\n\t\t}\n\t\tthis.smoothlyAccordionItemWillLoad.emit(parent => {\n\t\t\tthis.parent = parent\n\t\t})\n\t}\n\tdisconnectedCallback() {\n\t\tthis.parent?.removeItem(this.element)\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<details open={this.open}>\n\t\t\t\t<summary>\n\t\t\t\t\t{this.open ? (\n\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n\t\t\t\t\t\t\t<path d=\"M256 48C141.6 48 48 141.6 48 256s93.6 208 208 208 208-93.6 208-208S370.4 48 256 48zm-42.7 318.9L106.7 260.3l29.9-29.9 76.8 76.8 162.1-162.1 29.9 29.9-192.1 191.9z\" />\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n\t\t\t\t\t\t\t<path d=\"M256 48C141.601 48 48 141.601 48 256s93.601 208 208 208 208-93.601 208-208S370.399 48 256 48zm0 374.399c-91.518 0-166.399-74.882-166.399-166.399S164.482 89.6 256 89.6 422.4 164.482 422.4 256 347.518 422.399 256 422.399z\" />\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.name}\n\t\t\t\t\t{typeof this.brand == \"string\" ? (\n\t\t\t\t\t\t<span class={this.brand.toLowerCase()}>{this.brand}</span>\n\t\t\t\t\t) : Array.isArray(this.brand) ? (\n\t\t\t\t\t\tthis.brand.map(b => <span class={b.toLowerCase()}>{b}</span>)\n\t\t\t\t\t) : (\n\t\t\t\t\t\t[]\n\t\t\t\t\t)}\n\t\t\t\t</summary>\n\t\t\t\t<fieldset disabled={!this.open} name={this.name}>\n\t\t\t\t\t<slot />\n\t\t\t\t</fieldset>\n\t\t\t</details>\n\t\t)\n\t}\n}\n","smoothly-app {\n\t--margin: -0.5rem;\n\tdisplay: block;\n\tscrollbar-width: none;\n\tmargin-left: var(--margin);\n\tmargin-right: var(--margin);\n\tmargin-top: var(--margin);\n}\nsmoothly-app[hidden] {\n\tdisplay: none;\n}\nsmoothly-app > smoothly-notifier {\n\tbackground: none;\n}\nsmoothly-app > smoothly-notifier > header {\n\tposition: sticky;\n\ttop: 0;\n\tz-index: 5;\n\twidth: 100%;\n\theight: 5rem;\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-shadow: 0 2px 5px 0 rgba(var(--smoothly-dark-shadow));\n\tborder-bottom: 1px solid rgba(var(--smoothly-dark-color));\n\tbackground: rgba(var(--smoothly-color));\n\tcolor: rgba(var(--smoothly-color-contrast));\n}\nsmoothly-app > smoothly-notifier > header > nav {\n\twidth: 100%;\n\tflex-shrink: 2;\n\theight: 100%;\n}\n\nsmoothly-app > smoothly-notifier > header > nav,\nsmoothly-app > smoothly-notifier > header > nav > ul {\n\tdisplay: flex;\n\tmargin: 0;\n}\nsmoothly-app > smoothly-notifier > header > h1 {\n\tmargin-left: 1rem;\n\tmargin-bottom: 0.8em;\n\tdisplay: flex;\n\theight: 100%;\n}\nsmoothly-app > smoothly-notifier > header > h1 > a {\n\tdisplay: inline-block;\n\talign-self: center;\n\tsize: 100%;\n\tbackground-position-y: center;\n\ttext-decoration: none;\n\twhite-space: nowrap;\n}\nsmoothly-app > smoothly-notifier > header > nav > ul li a {\n\tline-height: 1.6cm;\n}\nsmoothly-app > smoothly-notifier > header > nav > ul li a {\n\tline-height: 1.6cm;\n}\nsmoothly-app > smoothly-notifier > header > nav > ul {\n\twidth: 100%;\n}\nsmoothly-app > smoothly-notifier > header > nav > ul > div.nav-start-container {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 100%;\n}\nsmoothly-app > smoothly-notifier > header > nav > ul > div.nav-end-container {\n\tdisplay: flex;\n\tgap: 1rem;\n\talign-items: center;\n\theight: 100%;\n\tmargin-left: auto;\n\tmargin-right: 1rem;\n}\nsmoothly-app > smoothly-notifier > header > nav > ul > [slot=\"nav-end\"] {\n\twidth: fit-content;\n\tgap: 0.5em;\n\talign-self: center;\n\theight: fit-content;\n\tmargin-left: 10rem;\n}\nsmoothly-app > smoothly-notifier > header > nav > ul li a {\n\tdisplay: flex;\n\theight: 2.3rem;\n\ttext-decoration: none;\n\talign-items: center;\n\talign-self: center;\n}\n\n@media screen and (max-width: 900px) {\n\tsmoothly-app > smoothly-notifier > header > nav {\n\t\twidth: 50dvw;\n\t\tmax-width: 15rem;\n\t\ttop: 100%;\n\t\tposition: absolute;\n\t\tright: 0;\n\t\theight: auto;\n\t}\n\tsmoothly-app > smoothly-notifier > header > nav,\n\tsmoothly-app > smoothly-notifier > header > nav > ul {\n\t\tflex-direction: column;\n\t\tbackground-color: rgba(var(--smoothly-color));\n\t}\n\tsmoothly-app > smoothly-notifier > header > nav > ul {\n\t\tpadding: 1.5rem;\n\t\tbox-sizing: border-box;\n\t}\n\tsmoothly-app > smoothly-notifier > header > nav > ul li {\n\t\tmargin-right: 0;\n\t\tmargin-bottom: 1em;\n\t\twidth: 100%;\n\t}\n\n\tsmoothly-app > smoothly-notifier > header > smoothly-burger {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t}\n\tsmoothly-app > smoothly-notifier > header > nav > ul > [slot=\"nav-start\"] {\n\t\tdisplay: none;\n\t}\n\tsmoothly-app > smoothly-notifier > header > nav > ul > div.nav-start-container,\n\tsmoothly-app > smoothly-notifier > header > nav > ul > div.nav-end-container {\n\t\tflex-direction: column;\n\t\tmargin: 0;\n\t\talign-items: start;\n\t\tjustify-content: center;\n\t\tgap: 1em;\n\t}\n\tsmoothly-app > smoothly-notifier > header > nav > ul > div.nav-start-container > *:last-child {\n\t\tmargin-bottom: 1em;\n\t}\n}\nsmoothly-app > smoothly-notifier > header > nav:not(.menu-open) {\n\tdisplay: none;\n}\n","import { Component, h, Listen, Method, Prop, State, Watch } from \"@stencil/core\"\nimport { SmoothlyAppRoomCustomEvent } from \"../../components\"\nimport { Color } from \"../../model\"\n\ntype Room = {\n\telement: HTMLSmoothlyAppRoomElement\n}\n@Component({\n\ttag: \"smoothly-app\",\n\tstyleUrl: \"style.css\",\n\tscoped: false,\n})\nexport class SmoothlyApp {\n\t@Prop() label = \"App\"\n\t@Prop() color: Color\n\t@Prop({ mutable: true, reflect: true }) menuOpen = false\n\t@State() selected?: Room\n\tprivate burgerVisibility: boolean\n\tprivate burgerElement?: HTMLElement\n\tprivate navElement?: HTMLElement\n\tmainElement?: HTMLElement\n\trooms: Record<string, Room | undefined> = {}\n\t@Method()\n\tselectRoom(path: string) {\n\t\tthis.rooms[path]?.element.setSelected(true)\n\t}\n\t@Watch(\"selected\")\n\tasync selectedChanged() {\n\t\tObject.values(this.rooms).forEach(\n\t\t\troom => room?.element.path != this.selected?.element.path && room?.element.setSelected(false)\n\t\t)\n\t\tconst content = await this.selected?.element.getContent()\n\t\tif (this.mainElement && content) {\n\t\t\tthis.mainElement.innerHTML = \"\"\n\t\t\tthis.mainElement.appendChild(content)\n\t\t}\n\t}\n\tburgerVisibilityHandler(event: CustomEvent<boolean>) {\n\t\tthis.burgerVisibility = event.detail\n\t}\n\tburgerStatusHandler(event: CustomEvent<boolean>) {\n\t\tevent.stopPropagation()\n\t\tthis.menuOpen = event.detail\n\t}\n\t@Listen(\"popstate\", { target: \"window\" })\n\tasync locationChangeHandler(event: PopStateEvent) {\n\t\tthis.rooms[event.state.smoothlyPath]?.element.setSelected(true, { history: true })\n\t}\n\t@Listen(\"smoothlyRoomSelected\")\n\troomSelectedHandler(event: SmoothlyAppRoomCustomEvent<{ history: boolean }>) {\n\t\tthis.selected = { element: event.target }\n\t\tif (this.burgerVisibility)\n\t\t\tthis.menuOpen = false\n\t\tif (!event.detail.history) {\n\t\t\tconst path = this.selected.element.path.toString()\n\t\t\tconst location = new URL(window.location.pathname == path ? window.location.href : window.location.origin)\n\t\t\tlocation.pathname = path\n\t\t\twindow.history.pushState({ smoothlyPath: path }, \"\", location.href)\n\t\t}\n\t}\n\t@Listen(\"smoothlyRoomLoaded\")\n\troomLoadedHandler(event: SmoothlyAppRoomCustomEvent<{ selected: boolean }>) {\n\t\tconst room = (this.rooms[event.target.path.toString()] = { element: event.target })\n\t\tif (room.element.selected) {\n\t\t\tthis.selected = room\n\t\t\twindow.history.replaceState({ smoothlyPath: room.element.path }, \"\", window.location.href)\n\t\t}\n\t}\n\t@Listen(\"click\", { target: \"window\" })\n\tclickHandler(event: MouseEvent) {\n\t\tif (this.burgerVisibility)\n\t\t\tif (event.composedPath().some(e => e == this.burgerElement || e == this.navElement))\n\t\t\t\t!this.menuOpen\n\t\t\telse\n\t\t\t\tthis.menuOpen = false\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<smoothly-notifier>\n\t\t\t\t<header color={this.color}>\n\t\t\t\t\t<h1>\n\t\t\t\t\t\t<a href={\"\"}>{this.label}</a>\n\t\t\t\t\t</h1>\n\t\t\t\t\t<slot name=\"header\"></slot>\n\t\t\t\t\t<nav ref={e => (this.navElement = e)} class={{ \"menu-open\": this.menuOpen }}>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<div class={\"nav-start-container\"}>\n\t\t\t\t\t\t\t\t<slot name=\"nav-start\"></slot>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<slot> </slot>\n\t\t\t\t\t\t\t<div class={\"nav-end-container\"}>\n\t\t\t\t\t\t\t\t<slot name=\"nav-end\"></slot>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</nav>\n\t\t\t\t\t<smoothly-burger\n\t\t\t\t\t\tref={e => (this.burgerElement = e)}\n\t\t\t\t\t\topen={this.menuOpen}\n\t\t\t\t\t\tonNavStatus={e => this.burgerStatusHandler(e)}\n\t\t\t\t\t\tonVisibleStatus={e => this.burgerVisibilityHandler(e)}\n\t\t\t\t\t/>\n\t\t\t\t</header>\n\t\t\t\t<main ref={e => (this.mainElement = e)}></main>\n\t\t\t</smoothly-notifier>\n\t\t)\n\t}\n}\n","import { Component, h, Prop } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-app-demo\",\n})\nexport class SmoothlyAppDemo {\n\t@Prop() baseUrl: string\n\tapp?: HTMLSmoothlyAppElement\n\trender() {\n\t\treturn (\n\t\t\t<smoothly-app color=\"dark\" label=\"Smoothly Demo\" ref={e => (this.app = e)}>\n\t\t\t\t<smoothly-trigger slot=\"nav-start\" type=\"link\" name=\"logout\">\n\t\t\t\t\t<smoothly-icon toolTip={\"Log out\"} name=\"log-out\" size=\"medium\"></smoothly-icon>\n\t\t\t\t</smoothly-trigger>\n\t\t\t\t<smoothly-app-room path=\"/root\" label=\"root\">\n\t\t\t\t\t<smoothly-button type=\"link\" link=\"/redirect\">\n\t\t\t\t\t\tTo redirect\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t<smoothly-button type=\"link\" link=\"/redirect\">\n\t\t\t\t\t\tTo /redirect\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t<smoothly-button type=\"link\" link={new URL(\"/redirect\", window.location.origin).href}>\n\t\t\t\t\t\tTo new URL(\"redirect\")\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t<smoothly-button type=\"link\" link=\"redirect/nested\">\n\t\t\t\t\t\tTo redirect nested\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t</smoothly-app-room>\n\t\t\t\t<smoothly-app-room path=\"/links\" label=\"Links\">\n\t\t\t\t\t<smoothly-input type=\"text\">Default</smoothly-input>\n\t\t\t\t\t<div style={{ padding: \"1em\", maxWidth: \"12em\" }}>\n\t\t\t\t\t\t<smoothly-button fill=\"solid\" color=\"danger\" link=\"https://google.com\">\n\t\t\t\t\t\t\topen\n\t\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t\t<smoothly-button\n\t\t\t\t\t\t\tfill=\"solid\"\n\t\t\t\t\t\t\tcolor=\"danger\"\n\t\t\t\t\t\t\tlink=\"https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf\"\n\t\t\t\t\t\t\ttype=\"download\">\n\t\t\t\t\t\t\tdownload\n\t\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t\t<smoothly-button fill=\"solid\" color=\"danger\" onClick={() => alert(\"clicked\")}>\n\t\t\t\t\t\t\taction\n\t\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t\t<smoothly-button disabled fill=\"solid\" color=\"danger\" onClick={() => alert(\"clicked\")}>\n\t\t\t\t\t\t\taction\n\t\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t\t<smoothly-button type=\"link\" fill=\"clear\" color=\"danger\" onClick={() => alert(\"clicked\")}>\n\t\t\t\t\t\t\taction link\n\t\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t</div>\n\t\t\t\t</smoothly-app-room>\n\t\t\t\t<smoothly-app-room path=\"/input\" label=\"Input\">\n\t\t\t\t\t<smoothly-input-demo />\n\t\t\t\t</smoothly-app-room>\n\t\t\t\t<smoothly-app-room path=\"/button\" label=\"Button\">\n\t\t\t\t\t<smoothly-button-demo />\n\t\t\t\t</smoothly-app-room>\n\t\t\t\t<smoothly-app-room path=\"/dialog\" label=\"Dialog\">\n\t\t\t\t\t<smoothly-dialog-demo />\n\t\t\t\t</smoothly-app-room>\n\t\t\t\t<smoothly-app-room path=\"/display\" label=\"Display\" icon=\"eye-outline\">\n\t\t\t\t\t<smoothly-display-demo />\n\t\t\t\t</smoothly-app-room>\n\t\t\t\t<smoothly-app-room path=\"/table\" label=\"Table\">\n\t\t\t\t\t<smoothly-table-demo />\n\t\t\t\t</smoothly-app-room>\n\t\t\t\t<smoothly-app-room path=\"/select\" label=\"Select\">\n\t\t\t\t\t<smoothly-select-demo />\n\t\t\t\t</smoothly-app-room>\n\t\t\t\t<smoothly-app-room path=\"/icon\" label=\"Icon\">\n\t\t\t\t\t<smoothly-icon-demo />\n\t\t\t\t</smoothly-app-room>\n\t\t\t\t<smoothly-app-room path=\"/old\" label=\"Old\" to=\"select\"></smoothly-app-room>\n\t\t\t\t<smoothly-app-room path=\"/redirect\" label=\"Redirect\">\n\t\t\t\t\t<smoothly-button type=\"link\" link=\"/input\">\n\t\t\t\t\t\tTo input\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t<smoothly-button type=\"link\" link=\"../button\">\n\t\t\t\t\t\tTo button\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t<smoothly-button type=\"link\" link={new URL(\"/hidden\", window.location.origin).href}>\n\t\t\t\t\t\tTo hidden\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t<smoothly-button type=\"link\" link=\"/redirect\">\n\t\t\t\t\t\tTo redirect\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t<smoothly-button type=\"link\" link=\"nested\">\n\t\t\t\t\t\tTo redirect nested, relative path\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t</smoothly-app-room>\n\t\t\t\t<smoothly-app-room path=\"/hidden\">\n\t\t\t\t\t<p>hello world!</p>\n\t\t\t\t</smoothly-app-room>\n\t\t\t\t<smoothly-app-room path=\"/redirect/nested\">this is a nested room</smoothly-app-room>\n\t\t\t</smoothly-app>\n\t\t)\n\t}\n\tcomponentDidRender() {\n\t\tthis.app?.selectRoom(\"/root\")\n\t}\n}\n","// src/path-to-regex-modified.ts\nvar regexIdentifierStart = /[$_\\p{ID_Start}]/u;\nvar regexIdentifierPart = /[$_\\u200C\\u200D\\p{ID_Continue}]/u;\nfunction isASCII(str, extended) {\n return (extended ? /^[\\x00-\\xFF]*$/ : /^[\\x00-\\x7F]*$/).test(str);\n}\nfunction lexer(str, lenient = false) {\n const tokens = [];\n let i = 0;\n while (i < str.length) {\n const char = str[i];\n const ErrorOrInvalid = function(msg) {\n if (!lenient)\n throw new TypeError(msg);\n tokens.push({ type: \"INVALID_CHAR\", index: i, value: str[i++] });\n };\n if (char === \"*\") {\n tokens.push({ type: \"ASTERISK\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"+\" || char === \"?\") {\n tokens.push({ type: \"MODIFIER\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"\\\\\") {\n tokens.push({ type: \"ESCAPED_CHAR\", index: i++, value: str[i++] });\n continue;\n }\n if (char === \"{\") {\n tokens.push({ type: \"OPEN\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"}\") {\n tokens.push({ type: \"CLOSE\", index: i, value: str[i++] });\n continue;\n }\n if (char === \":\") {\n let name = \"\";\n let j = i + 1;\n while (j < str.length) {\n const code = str.substr(j, 1);\n if (j === i + 1 && regexIdentifierStart.test(code) || j !== i + 1 && regexIdentifierPart.test(code)) {\n name += str[j++];\n continue;\n }\n break;\n }\n if (!name) {\n ErrorOrInvalid(`Missing parameter name at ${i}`);\n continue;\n }\n tokens.push({ type: \"NAME\", index: i, value: name });\n i = j;\n continue;\n }\n if (char === \"(\") {\n let count = 1;\n let pattern = \"\";\n let j = i + 1;\n let error = false;\n if (str[j] === \"?\") {\n ErrorOrInvalid(`Pattern cannot start with \"?\" at ${j}`);\n continue;\n }\n while (j < str.length) {\n if (!isASCII(str[j], false)) {\n ErrorOrInvalid(`Invalid character '${str[j]}' at ${j}.`);\n error = true;\n break;\n }\n if (str[j] === \"\\\\\") {\n pattern += str[j++] + str[j++];\n continue;\n }\n if (str[j] === \")\") {\n count--;\n if (count === 0) {\n j++;\n break;\n }\n } else if (str[j] === \"(\") {\n count++;\n if (str[j + 1] !== \"?\") {\n ErrorOrInvalid(`Capturing groups are not allowed at ${j}`);\n error = true;\n break;\n }\n }\n pattern += str[j++];\n }\n if (error) {\n continue;\n }\n if (count) {\n ErrorOrInvalid(`Unbalanced pattern at ${i}`);\n continue;\n }\n if (!pattern) {\n ErrorOrInvalid(`Missing pattern at ${i}`);\n continue;\n }\n tokens.push({ type: \"PATTERN\", index: i, value: pattern });\n i = j;\n continue;\n }\n tokens.push({ type: \"CHAR\", index: i, value: str[i++] });\n }\n tokens.push({ type: \"END\", index: i, value: \"\" });\n return tokens;\n}\nfunction parse(str, options = {}) {\n const tokens = lexer(str);\n const { prefixes = \"./\" } = options;\n const defaultPattern = `[^${escapeString(options.delimiter === void 0 ? \"/#?\" : options.delimiter)}]+?`;\n const result = [];\n let key = 0;\n let i = 0;\n let path = \"\";\n let nameSet = /* @__PURE__ */ new Set();\n const tryConsume = (type) => {\n if (i < tokens.length && tokens[i].type === type)\n return tokens[i++].value;\n };\n const tryConsumeModifier = () => {\n const r = tryConsume(\"MODIFIER\");\n if (r) {\n return r;\n }\n return tryConsume(\"ASTERISK\");\n };\n const mustConsume = (type) => {\n const value = tryConsume(type);\n if (value !== void 0)\n return value;\n const { type: nextType, index } = tokens[i];\n throw new TypeError(`Unexpected ${nextType} at ${index}, expected ${type}`);\n };\n const consumeText = () => {\n let result2 = \"\";\n let value;\n while (value = tryConsume(\"CHAR\") || tryConsume(\"ESCAPED_CHAR\")) {\n result2 += value;\n }\n return result2;\n };\n const DefaultEncodePart = (value) => {\n return value;\n };\n const encodePart = options.encodePart || DefaultEncodePart;\n while (i < tokens.length) {\n const char = tryConsume(\"CHAR\");\n const name = tryConsume(\"NAME\");\n let pattern = tryConsume(\"PATTERN\");\n if (!name && !pattern && tryConsume(\"ASTERISK\")) {\n pattern = \".*\";\n }\n if (name || pattern) {\n let prefix = char || \"\";\n if (prefixes.indexOf(prefix) === -1) {\n path += prefix;\n prefix = \"\";\n }\n if (path) {\n result.push(encodePart(path));\n path = \"\";\n }\n const finalName = name || key++;\n if (nameSet.has(finalName)) {\n throw new TypeError(`Duplicate name '${finalName}'.`);\n }\n nameSet.add(finalName);\n result.push({\n name: finalName,\n prefix: encodePart(prefix),\n suffix: \"\",\n pattern: pattern || defaultPattern,\n modifier: tryConsumeModifier() || \"\"\n });\n continue;\n }\n const value = char || tryConsume(\"ESCAPED_CHAR\");\n if (value) {\n path += value;\n continue;\n }\n const open = tryConsume(\"OPEN\");\n if (open) {\n const prefix = consumeText();\n const name2 = tryConsume(\"NAME\") || \"\";\n let pattern2 = tryConsume(\"PATTERN\") || \"\";\n if (!name2 && !pattern2 && tryConsume(\"ASTERISK\")) {\n pattern2 = \".*\";\n }\n const suffix = consumeText();\n mustConsume(\"CLOSE\");\n const modifier = tryConsumeModifier() || \"\";\n if (!name2 && !pattern2 && !modifier) {\n path += prefix;\n continue;\n }\n if (!name2 && !pattern2 && !prefix) {\n continue;\n }\n if (path) {\n result.push(encodePart(path));\n path = \"\";\n }\n result.push({\n name: name2 || (pattern2 ? key++ : \"\"),\n pattern: name2 && !pattern2 ? defaultPattern : pattern2,\n prefix: encodePart(prefix),\n suffix: encodePart(suffix),\n modifier\n });\n continue;\n }\n if (path) {\n result.push(encodePart(path));\n path = \"\";\n }\n mustConsume(\"END\");\n }\n return result;\n}\nfunction escapeString(str) {\n return str.replace(/([.+*?^${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\nfunction flags(options) {\n return options && options.ignoreCase ? \"ui\" : \"u\";\n}\nfunction regexpToRegexp(path, keys) {\n if (!keys)\n return path;\n const groupsRegex = /\\((?:\\?<(.*?)>)?(?!\\?)/g;\n let index = 0;\n let execResult = groupsRegex.exec(path.source);\n while (execResult) {\n keys.push({\n name: execResult[1] || index++,\n prefix: \"\",\n suffix: \"\",\n modifier: \"\",\n pattern: \"\"\n });\n execResult = groupsRegex.exec(path.source);\n }\n return path;\n}\nfunction arrayToRegexp(paths, keys, options) {\n const parts = paths.map((path) => pathToRegexp(path, keys, options).source);\n return new RegExp(`(?:${parts.join(\"|\")})`, flags(options));\n}\nfunction stringToRegexp(path, keys, options) {\n return tokensToRegexp(parse(path, options), keys, options);\n}\nfunction tokensToRegexp(tokens, keys, options = {}) {\n const {\n strict = false,\n start = true,\n end = true,\n encode = (x) => x\n } = options;\n const endsWith = `[${escapeString(options.endsWith === void 0 ? \"\" : options.endsWith)}]|$`;\n const delimiter = `[${escapeString(options.delimiter === void 0 ? \"/#?\" : options.delimiter)}]`;\n let route = start ? \"^\" : \"\";\n for (const token of tokens) {\n if (typeof token === \"string\") {\n route += escapeString(encode(token));\n } else {\n const prefix = escapeString(encode(token.prefix));\n const suffix = escapeString(encode(token.suffix));\n if (token.pattern) {\n if (keys)\n keys.push(token);\n if (prefix || suffix) {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n const mod = token.modifier === \"*\" ? \"?\" : \"\";\n route += `(?:${prefix}((?:${token.pattern})(?:${suffix}${prefix}(?:${token.pattern}))*)${suffix})${mod}`;\n } else {\n route += `(?:${prefix}(${token.pattern})${suffix})${token.modifier}`;\n }\n } else {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n route += `((?:${token.pattern})${token.modifier})`;\n } else {\n route += `(${token.pattern})${token.modifier}`;\n }\n }\n } else {\n route += `(?:${prefix}${suffix})${token.modifier}`;\n }\n }\n }\n if (end) {\n if (!strict)\n route += `${delimiter}?`;\n route += !options.endsWith ? \"$\" : `(?=${endsWith})`;\n } else {\n const endToken = tokens[tokens.length - 1];\n const isEndDelimited = typeof endToken === \"string\" ? delimiter.indexOf(endToken[endToken.length - 1]) > -1 : endToken === void 0;\n if (!strict) {\n route += `(?:${delimiter}(?=${endsWith}))?`;\n }\n if (!isEndDelimited) {\n route += `(?=${delimiter}|${endsWith})`;\n }\n }\n return new RegExp(route, flags(options));\n}\nfunction pathToRegexp(path, keys, options) {\n if (path instanceof RegExp)\n return regexpToRegexp(path, keys);\n if (Array.isArray(path))\n return arrayToRegexp(path, keys, options);\n return stringToRegexp(path, keys, options);\n}\n\n// src/url-utils.ts\nvar DEFAULT_OPTIONS = {\n delimiter: \"\",\n prefixes: \"\",\n sensitive: true,\n strict: true\n};\nvar HOSTNAME_OPTIONS = {\n delimiter: \".\",\n prefixes: \"\",\n sensitive: true,\n strict: true\n};\nvar PATHNAME_OPTIONS = {\n delimiter: \"/\",\n prefixes: \"/\",\n sensitive: true,\n strict: true\n};\nfunction isAbsolutePathname(pathname, isPattern) {\n if (!pathname.length) {\n return false;\n }\n if (pathname[0] === \"/\") {\n return true;\n }\n if (!isPattern) {\n return false;\n }\n if (pathname.length < 2) {\n return false;\n }\n if ((pathname[0] == \"\\\\\" || pathname[0] == \"{\") && pathname[1] == \"/\") {\n return true;\n }\n return false;\n}\nfunction maybeStripPrefix(value, prefix) {\n if (value.startsWith(prefix)) {\n return value.substring(prefix.length, value.length);\n }\n return value;\n}\nfunction maybeStripSuffix(value, suffix) {\n if (value.endsWith(suffix)) {\n return value.substr(0, value.length - suffix.length);\n }\n return value;\n}\nfunction treatAsIPv6Hostname(value) {\n if (!value || value.length < 2) {\n return false;\n }\n if (value[0] === \"[\") {\n return true;\n }\n if ((value[0] === \"\\\\\" || value[0] === \"{\") && value[1] === \"[\") {\n return true;\n }\n return false;\n}\nvar SPECIAL_SCHEMES = [\n \"ftp\",\n \"file\",\n \"http\",\n \"https\",\n \"ws\",\n \"wss\"\n];\nfunction isSpecialScheme(protocol_regexp) {\n if (!protocol_regexp) {\n return true;\n }\n for (const scheme of SPECIAL_SCHEMES) {\n if (protocol_regexp.test(scheme)) {\n return true;\n }\n }\n return false;\n}\nfunction canonicalizeHash(hash, isPattern) {\n hash = maybeStripPrefix(hash, \"#\");\n if (isPattern || hash === \"\") {\n return hash;\n }\n const url = new URL(\"https://example.com\");\n url.hash = hash;\n return url.hash ? url.hash.substring(1, url.hash.length) : \"\";\n}\nfunction canonicalizeSearch(search, isPattern) {\n search = maybeStripPrefix(search, \"?\");\n if (isPattern || search === \"\") {\n return search;\n }\n const url = new URL(\"https://example.com\");\n url.search = search;\n return url.search ? url.search.substring(1, url.search.length) : \"\";\n}\nfunction canonicalizeHostname(hostname, isPattern) {\n if (isPattern || hostname === \"\") {\n return hostname;\n }\n if (treatAsIPv6Hostname(hostname)) {\n return ipv6HostnameEncodeCallback(hostname);\n } else {\n return hostnameEncodeCallback(hostname);\n }\n}\nfunction canonicalizePassword(password, isPattern) {\n if (isPattern || password === \"\") {\n return password;\n }\n const url = new URL(\"https://example.com\");\n url.password = password;\n return url.password;\n}\nfunction canonicalizeUsername(username, isPattern) {\n if (isPattern || username === \"\") {\n return username;\n }\n const url = new URL(\"https://example.com\");\n url.username = username;\n return url.username;\n}\nfunction canonicalizePathname(pathname, protocol, isPattern) {\n if (isPattern || pathname === \"\") {\n return pathname;\n }\n if (protocol && !SPECIAL_SCHEMES.includes(protocol)) {\n const url = new URL(`${protocol}:${pathname}`);\n return url.pathname;\n }\n const leadingSlash = pathname[0] == \"/\";\n pathname = new URL(\n !leadingSlash ? \"/-\" + pathname : pathname,\n \"https://example.com\"\n ).pathname;\n if (!leadingSlash) {\n pathname = pathname.substring(2, pathname.length);\n }\n return pathname;\n}\nfunction canonicalizePort(port, protocol, isPattern) {\n if (defaultPortForProtocol(protocol) === port) {\n port = \"\";\n }\n if (isPattern || port === \"\") {\n return port;\n }\n return portEncodeCallback(port);\n}\nfunction canonicalizeProtocol(protocol, isPattern) {\n protocol = maybeStripSuffix(protocol, \":\");\n if (isPattern || protocol === \"\") {\n return protocol;\n }\n return protocolEncodeCallback(protocol);\n}\nfunction defaultPortForProtocol(protocol) {\n switch (protocol) {\n case \"ws\":\n case \"http\":\n return \"80\";\n case \"wws\":\n case \"https\":\n return \"443\";\n case \"ftp\":\n return \"21\";\n default:\n return \"\";\n }\n}\nfunction protocolEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n if (/^[-+.A-Za-z0-9]*$/.test(input))\n return input.toLowerCase();\n throw new TypeError(`Invalid protocol '${input}'.`);\n}\nfunction usernameEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n const url = new URL(\"https://example.com\");\n url.username = input;\n return url.username;\n}\nfunction passwordEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n const url = new URL(\"https://example.com\");\n url.password = input;\n return url.password;\n}\nfunction hostnameEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n if (/[\\t\\n\\r #%/:<>?@[\\]^\\\\|]/g.test(input)) {\n throw new TypeError(`Invalid hostname '${input}'`);\n }\n const url = new URL(\"https://example.com\");\n url.hostname = input;\n return url.hostname;\n}\nfunction ipv6HostnameEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n if (/[^0-9a-fA-F[\\]:]/g.test(input)) {\n throw new TypeError(`Invalid IPv6 hostname '${input}'`);\n }\n return input.toLowerCase();\n}\nfunction portEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n if (/^[0-9]*$/.test(input) && parseInt(input) <= 65535) {\n return input;\n }\n throw new TypeError(`Invalid port '${input}'.`);\n}\nfunction standardURLPathnameEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n const url = new URL(\"https://example.com\");\n url.pathname = input[0] !== \"/\" ? \"/-\" + input : input;\n if (input[0] !== \"/\") {\n return url.pathname.substring(2, url.pathname.length);\n }\n return url.pathname;\n}\nfunction pathURLPathnameEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n const url = new URL(`data:${input}`);\n return url.pathname;\n}\nfunction searchEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n const url = new URL(\"https://example.com\");\n url.search = input;\n return url.search.substring(1, url.search.length);\n}\nfunction hashEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n const url = new URL(\"https://example.com\");\n url.hash = input;\n return url.hash.substring(1, url.hash.length);\n}\n\n// src/url-pattern-parser.ts\nvar Parser = class {\n constructor(input) {\n this.tokenList = [];\n this.internalResult = {};\n this.tokenIndex = 0;\n this.tokenIncrement = 1;\n this.componentStart = 0;\n this.state = 0 /* INIT */;\n this.groupDepth = 0;\n this.hostnameIPv6BracketDepth = 0;\n this.shouldTreatAsStandardURL = false;\n this.input = input;\n }\n get result() {\n return this.internalResult;\n }\n parse() {\n this.tokenList = lexer(this.input, true);\n for (; this.tokenIndex < this.tokenList.length; this.tokenIndex += this.tokenIncrement) {\n this.tokenIncrement = 1;\n if (this.tokenList[this.tokenIndex].type === \"END\") {\n if (this.state === 0 /* INIT */) {\n this.rewind();\n if (this.isHashPrefix()) {\n this.changeState(9 /* HASH */, 1);\n } else if (this.isSearchPrefix()) {\n this.changeState(8 /* SEARCH */, 1);\n this.internalResult.hash = \"\";\n } else {\n this.changeState(7 /* PATHNAME */, 0);\n this.internalResult.search = \"\";\n this.internalResult.hash = \"\";\n }\n continue;\n } else if (this.state === 2 /* AUTHORITY */) {\n this.rewindAndSetState(5 /* HOSTNAME */);\n continue;\n }\n this.changeState(10 /* DONE */, 0);\n break;\n }\n if (this.groupDepth > 0) {\n if (this.isGroupClose()) {\n this.groupDepth -= 1;\n } else {\n continue;\n }\n }\n if (this.isGroupOpen()) {\n this.groupDepth += 1;\n continue;\n }\n switch (this.state) {\n case 0 /* INIT */:\n if (this.isProtocolSuffix()) {\n this.internalResult.username = \"\";\n this.internalResult.password = \"\";\n this.internalResult.hostname = \"\";\n this.internalResult.port = \"\";\n this.internalResult.pathname = \"\";\n this.internalResult.search = \"\";\n this.internalResult.hash = \"\";\n this.rewindAndSetState(1 /* PROTOCOL */);\n }\n break;\n case 1 /* PROTOCOL */:\n if (this.isProtocolSuffix()) {\n this.computeShouldTreatAsStandardURL();\n let nextState = 7 /* PATHNAME */;\n let skip = 1;\n if (this.shouldTreatAsStandardURL) {\n this.internalResult.pathname = \"/\";\n }\n if (this.nextIsAuthoritySlashes()) {\n nextState = 2 /* AUTHORITY */;\n skip = 3;\n } else if (this.shouldTreatAsStandardURL) {\n nextState = 2 /* AUTHORITY */;\n }\n this.changeState(nextState, skip);\n }\n break;\n case 2 /* AUTHORITY */:\n if (this.isIdentityTerminator()) {\n this.rewindAndSetState(3 /* USERNAME */);\n } else if (this.isPathnameStart() || this.isSearchPrefix() || this.isHashPrefix()) {\n this.rewindAndSetState(5 /* HOSTNAME */);\n }\n break;\n case 3 /* USERNAME */:\n if (this.isPasswordPrefix()) {\n this.changeState(4 /* PASSWORD */, 1);\n } else if (this.isIdentityTerminator()) {\n this.changeState(5 /* HOSTNAME */, 1);\n }\n break;\n case 4 /* PASSWORD */:\n if (this.isIdentityTerminator()) {\n this.changeState(5 /* HOSTNAME */, 1);\n }\n break;\n case 5 /* HOSTNAME */:\n if (this.isIPv6Open()) {\n this.hostnameIPv6BracketDepth += 1;\n } else if (this.isIPv6Close()) {\n this.hostnameIPv6BracketDepth -= 1;\n }\n if (this.isPortPrefix() && !this.hostnameIPv6BracketDepth) {\n this.changeState(6 /* PORT */, 1);\n } else if (this.isPathnameStart()) {\n this.changeState(7 /* PATHNAME */, 0);\n } else if (this.isSearchPrefix()) {\n this.changeState(8 /* SEARCH */, 1);\n } else if (this.isHashPrefix()) {\n this.changeState(9 /* HASH */, 1);\n }\n break;\n case 6 /* PORT */:\n if (this.isPathnameStart()) {\n this.changeState(7 /* PATHNAME */, 0);\n } else if (this.isSearchPrefix()) {\n this.changeState(8 /* SEARCH */, 1);\n } else if (this.isHashPrefix()) {\n this.changeState(9 /* HASH */, 1);\n }\n break;\n case 7 /* PATHNAME */:\n if (this.isSearchPrefix()) {\n this.changeState(8 /* SEARCH */, 1);\n } else if (this.isHashPrefix()) {\n this.changeState(9 /* HASH */, 1);\n }\n break;\n case 8 /* SEARCH */:\n if (this.isHashPrefix()) {\n this.changeState(9 /* HASH */, 1);\n }\n break;\n case 9 /* HASH */:\n break;\n case 10 /* DONE */:\n break;\n }\n }\n }\n changeState(newState, skip) {\n switch (this.state) {\n case 0 /* INIT */:\n break;\n case 1 /* PROTOCOL */:\n this.internalResult.protocol = this.makeComponentString();\n break;\n case 2 /* AUTHORITY */:\n break;\n case 3 /* USERNAME */:\n this.internalResult.username = this.makeComponentString();\n break;\n case 4 /* PASSWORD */:\n this.internalResult.password = this.makeComponentString();\n break;\n case 5 /* HOSTNAME */:\n this.internalResult.hostname = this.makeComponentString();\n break;\n case 6 /* PORT */:\n this.internalResult.port = this.makeComponentString();\n break;\n case 7 /* PATHNAME */:\n this.internalResult.pathname = this.makeComponentString();\n break;\n case 8 /* SEARCH */:\n this.internalResult.search = this.makeComponentString();\n break;\n case 9 /* HASH */:\n this.internalResult.hash = this.makeComponentString();\n break;\n case 10 /* DONE */:\n break;\n }\n this.changeStateWithoutSettingComponent(newState, skip);\n }\n changeStateWithoutSettingComponent(newState, skip) {\n this.state = newState;\n this.componentStart = this.tokenIndex + skip;\n this.tokenIndex += skip;\n this.tokenIncrement = 0;\n }\n rewind() {\n this.tokenIndex = this.componentStart;\n this.tokenIncrement = 0;\n }\n rewindAndSetState(newState) {\n this.rewind();\n this.state = newState;\n }\n safeToken(index) {\n if (index < 0) {\n index = this.tokenList.length - index;\n }\n if (index < this.tokenList.length) {\n return this.tokenList[index];\n }\n return this.tokenList[this.tokenList.length - 1];\n }\n isNonSpecialPatternChar(index, value) {\n const token = this.safeToken(index);\n return token.value === value && (token.type === \"CHAR\" || token.type === \"ESCAPED_CHAR\" || token.type === \"INVALID_CHAR\");\n }\n isProtocolSuffix() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \":\");\n }\n nextIsAuthoritySlashes() {\n return this.isNonSpecialPatternChar(this.tokenIndex + 1, \"/\") && this.isNonSpecialPatternChar(this.tokenIndex + 2, \"/\");\n }\n isIdentityTerminator() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \"@\");\n }\n isPasswordPrefix() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \":\");\n }\n isPortPrefix() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \":\");\n }\n isPathnameStart() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \"/\");\n }\n isSearchPrefix() {\n if (this.isNonSpecialPatternChar(this.tokenIndex, \"?\")) {\n return true;\n }\n if (this.tokenList[this.tokenIndex].value !== \"?\") {\n return false;\n }\n const previousToken = this.safeToken(this.tokenIndex - 1);\n return previousToken.type !== \"NAME\" && previousToken.type !== \"PATTERN\" && previousToken.type !== \"CLOSE\" && previousToken.type !== \"ASTERISK\";\n }\n isHashPrefix() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \"#\");\n }\n isGroupOpen() {\n return this.tokenList[this.tokenIndex].type == \"OPEN\";\n }\n isGroupClose() {\n return this.tokenList[this.tokenIndex].type == \"CLOSE\";\n }\n isIPv6Open() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \"[\");\n }\n isIPv6Close() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \"]\");\n }\n makeComponentString() {\n const token = this.tokenList[this.tokenIndex];\n const componentCharStart = this.safeToken(this.componentStart).index;\n return this.input.substring(componentCharStart, token.index);\n }\n computeShouldTreatAsStandardURL() {\n const options = {};\n Object.assign(options, DEFAULT_OPTIONS);\n options.encodePart = protocolEncodeCallback;\n const regexp = pathToRegexp(this.makeComponentString(), void 0, options);\n this.shouldTreatAsStandardURL = isSpecialScheme(regexp);\n }\n};\n\n// src/url-pattern.ts\nvar COMPONENTS = [\n \"protocol\",\n \"username\",\n \"password\",\n \"hostname\",\n \"port\",\n \"pathname\",\n \"search\",\n \"hash\"\n];\nvar DEFAULT_PATTERN = \"*\";\nfunction extractValues(url, baseURL) {\n if (typeof url !== \"string\") {\n throw new TypeError(`parameter 1 is not of type 'string'.`);\n }\n const o = new URL(url, baseURL);\n return {\n protocol: o.protocol.substring(0, o.protocol.length - 1),\n username: o.username,\n password: o.password,\n hostname: o.hostname,\n port: o.port,\n pathname: o.pathname,\n search: o.search != \"\" ? o.search.substring(1, o.search.length) : void 0,\n hash: o.hash != \"\" ? o.hash.substring(1, o.hash.length) : void 0\n };\n}\nfunction processBaseURLString(input, isPattern) {\n if (!isPattern) {\n return input;\n }\n return escapePatternString(input);\n}\nfunction applyInit(o, init, isPattern) {\n let baseURL;\n if (typeof init.baseURL === \"string\") {\n try {\n baseURL = new URL(init.baseURL);\n o.protocol = processBaseURLString(baseURL.protocol.substring(0, baseURL.protocol.length - 1), isPattern);\n o.username = processBaseURLString(baseURL.username, isPattern);\n o.password = processBaseURLString(baseURL.password, isPattern);\n o.hostname = processBaseURLString(baseURL.hostname, isPattern);\n o.port = processBaseURLString(baseURL.port, isPattern);\n o.pathname = processBaseURLString(baseURL.pathname, isPattern);\n o.search = processBaseURLString(baseURL.search.substring(1, baseURL.search.length), isPattern);\n o.hash = processBaseURLString(baseURL.hash.substring(1, baseURL.hash.length), isPattern);\n } catch {\n throw new TypeError(`invalid baseURL '${init.baseURL}'.`);\n }\n }\n if (typeof init.protocol === \"string\") {\n o.protocol = canonicalizeProtocol(init.protocol, isPattern);\n }\n if (typeof init.username === \"string\") {\n o.username = canonicalizeUsername(init.username, isPattern);\n }\n if (typeof init.password === \"string\") {\n o.password = canonicalizePassword(init.password, isPattern);\n }\n if (typeof init.hostname === \"string\") {\n o.hostname = canonicalizeHostname(init.hostname, isPattern);\n }\n if (typeof init.port === \"string\") {\n o.port = canonicalizePort(init.port, o.protocol, isPattern);\n }\n if (typeof init.pathname === \"string\") {\n o.pathname = init.pathname;\n if (baseURL && !isAbsolutePathname(o.pathname, isPattern)) {\n const slashIndex = baseURL.pathname.lastIndexOf(\"/\");\n if (slashIndex >= 0) {\n o.pathname = processBaseURLString(baseURL.pathname.substring(0, slashIndex + 1), isPattern) + o.pathname;\n }\n }\n o.pathname = canonicalizePathname(o.pathname, o.protocol, isPattern);\n }\n if (typeof init.search === \"string\") {\n o.search = canonicalizeSearch(init.search, isPattern);\n }\n if (typeof init.hash === \"string\") {\n o.hash = canonicalizeHash(init.hash, isPattern);\n }\n return o;\n}\nfunction escapePatternString(value) {\n return value.replace(/([+*?:{}()\\\\])/g, \"\\\\$1\");\n}\nfunction escapeRegexpString(value) {\n return value.replace(/([.+*?^${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\nfunction tokensToPattern(tokens, options) {\n const wildcardPattern = \".*\";\n const segmentWildcardPattern = `[^${escapeRegexpString(options.delimiter === void 0 ? \"/#?\" : options.delimiter)}]+?`;\n const regexIdentifierPart2 = /[$_\\u200C\\u200D\\p{ID_Continue}]/u;\n let result = \"\";\n for (let i = 0; i < tokens.length; ++i) {\n const token = tokens[i];\n const lastToken = i > 0 ? tokens[i - 1] : null;\n const nextToken = i < tokens.length - 1 ? tokens[i + 1] : null;\n if (typeof token === \"string\") {\n result += escapePatternString(token);\n continue;\n }\n if (token.pattern === \"\") {\n if (token.modifier === \"\") {\n result += escapePatternString(token.prefix);\n continue;\n }\n result += `{${escapePatternString(token.prefix)}}${token.modifier}`;\n continue;\n }\n const customName = typeof token.name !== \"number\";\n const optionsPrefixes = options.prefixes !== void 0 ? options.prefixes : \"./\";\n let needsGrouping = token.suffix !== \"\" || token.prefix !== \"\" && (token.prefix.length !== 1 || !optionsPrefixes.includes(token.prefix));\n if (!needsGrouping && customName && token.pattern === segmentWildcardPattern && token.modifier === \"\" && nextToken && !nextToken.prefix && !nextToken.suffix) {\n if (typeof nextToken === \"string\") {\n const code = nextToken.length > 0 ? nextToken[0] : \"\";\n needsGrouping = regexIdentifierPart2.test(code);\n } else {\n needsGrouping = typeof nextToken.name === \"number\";\n }\n }\n if (!needsGrouping && token.prefix === \"\" && lastToken && typeof lastToken === \"string\" && lastToken.length > 0) {\n const code = lastToken[lastToken.length - 1];\n needsGrouping = optionsPrefixes.includes(code);\n }\n if (needsGrouping) {\n result += \"{\";\n }\n result += escapePatternString(token.prefix);\n if (customName) {\n result += `:${token.name}`;\n }\n if (token.pattern === wildcardPattern) {\n if (!customName && (!lastToken || typeof lastToken === \"string\" || lastToken.modifier || needsGrouping || token.prefix !== \"\")) {\n result += \"*\";\n } else {\n result += `(${wildcardPattern})`;\n }\n } else if (token.pattern === segmentWildcardPattern) {\n if (!customName) {\n result += `(${segmentWildcardPattern})`;\n }\n } else {\n result += `(${token.pattern})`;\n }\n if (token.pattern === segmentWildcardPattern && customName && token.suffix !== \"\") {\n if (regexIdentifierPart2.test(token.suffix[0])) {\n result += \"\\\\\";\n }\n }\n result += escapePatternString(token.suffix);\n if (needsGrouping) {\n result += \"}\";\n }\n result += token.modifier;\n }\n return result;\n}\nvar URLPattern = class {\n constructor(init = {}, baseURLOrOptions, options) {\n this.regexp = {};\n this.keys = {};\n this.component_pattern = {};\n try {\n let baseURL = void 0;\n if (typeof baseURLOrOptions === \"string\") {\n baseURL = baseURLOrOptions;\n } else {\n options = baseURLOrOptions;\n }\n if (typeof init === \"string\") {\n const parser = new Parser(init);\n parser.parse();\n init = parser.result;\n if (baseURL === void 0 && typeof init.protocol !== \"string\") {\n throw new TypeError(`A base URL must be provided for a relative constructor string.`);\n }\n init.baseURL = baseURL;\n } else {\n if (!init || typeof init !== \"object\") {\n throw new TypeError(`parameter 1 is not of type 'string' and cannot convert to dictionary.`);\n }\n if (baseURL) {\n throw new TypeError(`parameter 1 is not of type 'string'.`);\n }\n }\n if (typeof options === \"undefined\") {\n options = { ignoreCase: false };\n }\n const ignoreCaseOptions = { ignoreCase: options.ignoreCase === true };\n const defaults = {\n pathname: DEFAULT_PATTERN,\n protocol: DEFAULT_PATTERN,\n username: DEFAULT_PATTERN,\n password: DEFAULT_PATTERN,\n hostname: DEFAULT_PATTERN,\n port: DEFAULT_PATTERN,\n search: DEFAULT_PATTERN,\n hash: DEFAULT_PATTERN\n };\n this.pattern = applyInit(defaults, init, true);\n if (defaultPortForProtocol(this.pattern.protocol) === this.pattern.port) {\n this.pattern.port = \"\";\n }\n let component;\n for (component of COMPONENTS) {\n if (!(component in this.pattern))\n continue;\n const options2 = {};\n const pattern = this.pattern[component];\n this.keys[component] = [];\n switch (component) {\n case \"protocol\":\n Object.assign(options2, DEFAULT_OPTIONS);\n options2.encodePart = protocolEncodeCallback;\n break;\n case \"username\":\n Object.assign(options2, DEFAULT_OPTIONS);\n options2.encodePart = usernameEncodeCallback;\n break;\n case \"password\":\n Object.assign(options2, DEFAULT_OPTIONS);\n options2.encodePart = passwordEncodeCallback;\n break;\n case \"hostname\":\n Object.assign(options2, HOSTNAME_OPTIONS);\n if (treatAsIPv6Hostname(pattern)) {\n options2.encodePart = ipv6HostnameEncodeCallback;\n } else {\n options2.encodePart = hostnameEncodeCallback;\n }\n break;\n case \"port\":\n Object.assign(options2, DEFAULT_OPTIONS);\n options2.encodePart = portEncodeCallback;\n break;\n case \"pathname\":\n if (isSpecialScheme(this.regexp.protocol)) {\n Object.assign(options2, PATHNAME_OPTIONS, ignoreCaseOptions);\n options2.encodePart = standardURLPathnameEncodeCallback;\n } else {\n Object.assign(options2, DEFAULT_OPTIONS, ignoreCaseOptions);\n options2.encodePart = pathURLPathnameEncodeCallback;\n }\n break;\n case \"search\":\n Object.assign(options2, DEFAULT_OPTIONS, ignoreCaseOptions);\n options2.encodePart = searchEncodeCallback;\n break;\n case \"hash\":\n Object.assign(options2, DEFAULT_OPTIONS, ignoreCaseOptions);\n options2.encodePart = hashEncodeCallback;\n break;\n }\n try {\n const tokens = parse(pattern, options2);\n this.regexp[component] = tokensToRegexp(tokens, this.keys[component], options2);\n this.component_pattern[component] = tokensToPattern(tokens, options2);\n } catch {\n throw new TypeError(`invalid ${component} pattern '${this.pattern[component]}'.`);\n }\n }\n } catch (err) {\n throw new TypeError(`Failed to construct 'URLPattern': ${err.message}`);\n }\n }\n test(input = {}, baseURL) {\n let values = {\n pathname: \"\",\n protocol: \"\",\n username: \"\",\n password: \"\",\n hostname: \"\",\n port: \"\",\n search: \"\",\n hash: \"\"\n };\n if (typeof input !== \"string\" && baseURL) {\n throw new TypeError(`parameter 1 is not of type 'string'.`);\n }\n if (typeof input === \"undefined\") {\n return false;\n }\n try {\n if (typeof input === \"object\") {\n values = applyInit(values, input, false);\n } else {\n values = applyInit(values, extractValues(input, baseURL), false);\n }\n } catch (err) {\n return false;\n }\n let component;\n for (component of COMPONENTS) {\n if (!this.regexp[component].exec(values[component])) {\n return false;\n }\n }\n return true;\n }\n exec(input = {}, baseURL) {\n let values = {\n pathname: \"\",\n protocol: \"\",\n username: \"\",\n password: \"\",\n hostname: \"\",\n port: \"\",\n search: \"\",\n hash: \"\"\n };\n if (typeof input !== \"string\" && baseURL) {\n throw new TypeError(`parameter 1 is not of type 'string'.`);\n }\n if (typeof input === \"undefined\") {\n return;\n }\n try {\n if (typeof input === \"object\") {\n values = applyInit(values, input, false);\n } else {\n values = applyInit(values, extractValues(input, baseURL), false);\n }\n } catch (err) {\n return null;\n }\n let result = {};\n if (baseURL) {\n result.inputs = [input, baseURL];\n } else {\n result.inputs = [input];\n }\n let component;\n for (component of COMPONENTS) {\n let match = this.regexp[component].exec(values[component]);\n if (!match) {\n return null;\n }\n let groups = {};\n for (let [i, key] of this.keys[component].entries()) {\n if (typeof key.name === \"string\" || typeof key.name === \"number\") {\n let value = match[i + 1];\n groups[key.name] = value;\n }\n }\n result[component] = {\n input: values[component] || \"\",\n groups\n };\n }\n return result;\n }\n get protocol() {\n return this.component_pattern.protocol;\n }\n get username() {\n return this.component_pattern.username;\n }\n get password() {\n return this.component_pattern.password;\n }\n get hostname() {\n return this.component_pattern.hostname;\n }\n get port() {\n return this.component_pattern.port;\n }\n get pathname() {\n return this.component_pattern.pathname;\n }\n get search() {\n return this.component_pattern.search;\n }\n get hash() {\n return this.component_pattern.hash;\n }\n};\nexport {\n URLPattern\n};\n","import { URLPattern } from \"./dist/urlpattern.js\";\n\nexport { URLPattern };\n\nif (!globalThis.URLPattern) {\n globalThis.URLPattern = URLPattern;\n}\n",":host {\n\tdisplay: flex;\n\tjustify-content: center;\n\ttext-align: center;\n\tcursor: pointer;\n}\n\n:not(:host[label], :host[icon]),\n:host[disabled] {\n\tdisplay: none;\n}\n\n:host>main {\n\tdisplay: none;\n}\n\n:host>li {\n\theight: 100%;\n\tlist-style: none;\n}\n\n:host>li>a {\n\tpadding: 0 1.5em;\n\theight: 100%;\n}\n\n:host[selected]>li>a {\n\tdisplay: flex;\n\tcolor: rgb(var(--smoothly-color-contrast));\n\tbackground: rgb(var(--smoothly-color-shade));\n}\n\n:host:hover>li>a {\n\tcolor: rgb(var(--smoothly-color-contrast));\n\tbackground-color: rgb(var(--smoothly-color-tint));\n\ttransition: 0.2s;\n}\n\n:host>li>a>smoothly-icon {\n\talign-self: inherit;\n\tmargin-bottom: 1em;\n}\n\n@media screen and (max-width: 900px) {\n\t:host>li>a {\n\t\tpadding: 0;\n\t}\n\n\t:host>li>a {\n\t\tmargin-left: -1.5rem;\n\t\tmargin-right: -1.5rem;\n\t\tpadding-left: 1.5rem;\n\t\tpadding-right: 1.5rem;\n\t}\n}\n","import { Component, Event, EventEmitter, h, Host, Method, Prop } from \"@stencil/core\"\nimport \"urlpattern-polyfill\"\nimport { Icon } from \"../../../model\"\n\n@Component({\n\ttag: \"smoothly-app-room\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyAppRoom {\n\t@Prop({ reflect: true }) label?: string\n\t@Prop({ reflect: true }) icon?: Icon\n\t@Prop({ reflect: true }) disabled: boolean\n\t@Prop() path: string | URLPattern = \"\"\n\t@Prop() to?: string\n\t@Prop({ reflect: true, mutable: true }) selected?: boolean\n\t@Event() smoothlyRoomSelected: EventEmitter<{ history: boolean }>\n\t@Event() smoothlyRoomLoaded: EventEmitter<{ selected: boolean }>\n\tprivate contentElement?: HTMLElement\n\n\tcomponentWillLoad() {\n\t\tthis.selected = (typeof this.path == \"string\" ? new URLPattern({ pathname: this.path }) : this.path).test(\n\t\t\twindow.location\n\t\t)\n\t\tthis.smoothlyRoomLoaded.emit({ selected: this.selected })\n\t}\n\n\t@Method()\n\tasync getContent(): Promise<HTMLElement | undefined> {\n\t\treturn this.contentElement\n\t}\n\t@Method()\n\tasync setSelected(selected: boolean, options?: { history?: boolean }): Promise<void> {\n\t\tthis.selected = selected\n\t\tif (selected)\n\t\t\tthis.smoothlyRoomSelected.emit({ history: !!options?.history })\n\t}\n\n\tclickHandler(event: MouseEvent) {\n\t\tif (!event.metaKey && !event.ctrlKey && event.which != 2 && event.button != 1) {\n\t\t\tevent.preventDefault()\n\t\t\tthis.setSelected(true)\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<li>\n\t\t\t\t\t<a href={typeof this.path == \"string\" ? this.path : this.path.pathname} onClick={e => this.clickHandler(e)}>\n\t\t\t\t\t\t{this.icon ? <smoothly-icon name={this.icon} toolTip={this.label}></smoothly-icon> : this.label}\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t\t<main ref={e => (this.contentElement = e)}>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</main>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tbackground-color: rgba(var(--smoothly-default-color), 1);\n\topacity: var(--opacity);\n\tpointer-events: var(--pointer-events);\n\ttransition: opacity 400ms;\n\tz-index: 3;\n\tborder-radius: 50%;\n\tbox-shadow: var(--smoothly-shadow);\n\theight: 3rem;\n\twidth: 3rem;\n\tposition: fixed;\n\tbottom: var(--bottom);\n\tright: var(--right);\n\toutline: none;\n\tcursor: pointer;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n}\n","import { Component, h, Host, Prop, State } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-back-to-top\",\n\tstyleUrl: \"style.scss\",\n\tscoped: true,\n})\nexport class SmoothlyBackToTop {\n\t@Prop() opacity = \"0.5\"\n\t@Prop() bottom = \"1rem\"\n\t@Prop() right = \"1rem\"\n\t@State() visible: boolean\n\tcomponentWillLoad() {\n\t\twindow.addEventListener(\"scroll\", () => {\n\t\t\tthis.visible = document.body.scrollTop > 20 || document.documentElement.scrollTop > 20\n\t\t})\n\t}\n\trender() {\n\t\tconst cssVariables = {\n\t\t\t\"--opacity\": this.visible ? this.opacity : \"0\",\n\t\t\t\"--pointer-events\": this.visible ? \"auto\" : \"none\",\n\t\t\t\"--bottom\": this.bottom,\n\t\t\t\"--right\": this.right,\n\t\t}\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tstyle={cssVariables}\n\t\t\t\tonClick={() =>\n\t\t\t\t\twindow.scrollTo({\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tbehavior: \"smooth\",\n\t\t\t\t\t})\n\t\t\t\t}>\n\t\t\t\t<smoothly-icon name=\"caret-up-outline\"></smoothly-icon>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host([visible]){\ndisplay: flex;\njustify-content: center;\nalign-items: center;\nheight: 100%;\n}\n:host([visible]) .burger smoothly-icon{\n\tfont-size: 1.7em;\n\tcursor: pointer;\n\tmargin-right: 1em;\n}\n:host:not([visible]){\n\tdisplay: none;\n}\n:host:not([open]) smoothly-icon{\n\ttransform: rotate(0deg);\n\ttransition: transform 100ms ease-in-out;\n}\n:host([open]) smoothly-icon{\n\ttransform: rotate(-90deg);\n\ttransition: transform 100ms ease-in-out;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Prop, State, Watch } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-burger\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyBurger {\n\t@Element() element: HTMLSmoothlyBurgerElement\n\t@Prop({ mutable: true, reflect: true }) visible: boolean\n\t@Prop({ mutable: true, reflect: true }) open = false\n\t@Prop({ reflect: true }) mediaQuery = \"(max-width: 900px)\"\n\t@State() history: boolean\n\t@Event() navStatus: EventEmitter<boolean>\n\t@Event() visibleStatus: EventEmitter<boolean>\n\n\tcomponentWillLoad() {\n\t\tthis.history = window.matchMedia(this.mediaQuery).matches\n\t\tif (!window.matchMedia(this.mediaQuery).matches)\n\t\t\tthis.visible = false\n\t\telse\n\t\t\tthis.visible = true\n\t\tthis.navStatus.emit(!this.visible)\n\t\tthis.visibleStatus.emit(this.visible)\n\t}\n\n\t@Watch(\"open\")\n\topenChanged() {\n\t\tthis.navStatus.emit(this.open)\n\t}\n\n\t@Listen(\"click\")\n\tclickHandler(event: MouseEvent) {\n\t\tif (this.visible)\n\t\t\tthis.open = !this.open\n\t}\n\n\t@Listen(\"resize\", { target: \"window\" })\n\tresizeHandler() {\n\t\tconst result = window.matchMedia(this.mediaQuery).matches\n\t\tif (result != this.history) {\n\t\t\tif (result) {\n\t\t\t\tthis.visible = true\n\t\t\t\tthis.open = false\n\t\t\t} else {\n\t\t\t\tthis.visible = false\n\t\t\t\tthis.open = false\n\t\t\t}\n\t\t\tthis.visibleStatus.emit(this.visible)\n\t\t\tthis.navStatus.emit(!this.visible)\n\t\t}\n\t\tthis.history = result\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<span class=\"burger\">\n\t\t\t\t\t<smoothly-icon name=\"menu\" />\n\t\t\t\t</span>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n","import { FunctionalComponent, h } from \"@stencil/core\"\nimport { redirect } from \"../model\"\n\nexport const Button: FunctionalComponent<Button.Properties> = ({ disabled, type, link }) => {\n\treturn disabled && (link || type == \"link\") ? (\n\t\t<slot></slot>\n\t) : type == \"link\" ? (\n\t\t<a href={link} onClick={!link || !local(link) ? undefined : e => (e.preventDefault(), redirect(convert(link)))}>\n\t\t\t<slot name=\"start\"></slot>\n\t\t\t<slot></slot>\n\t\t\t<slot name=\"end\"></slot>\n\t\t</a>\n\t) : type == \"download\" ? (\n\t\t<a href={link} target=\"_blank\" download>\n\t\t\t<slot name=\"start\"></slot>\n\t\t\t<slot></slot>\n\t\t\t<slot name=\"end\"></slot>\n\t\t</a>\n\t) : (\n\t\t<button disabled={disabled}>\n\t\t\t<slot name=\"start\"></slot>\n\t\t\t<slot></slot>\n\t\t\t<slot name=\"end\"></slot>\n\t\t</button>\n\t)\n}\nfunction convert(path: string): string {\n\tlet result: ReturnType<typeof convert>\n\tif (path.startsWith(window.location.origin))\n\t\tresult = new URL(path).pathname\n\telse if (path.match(/^\\//))\n\t\tresult = new URL(path, window.location.origin).pathname\n\telse\n\t\tresult = new URL(`${window.location.pathname.replace(/\\/+$/, \"\")}/${path}`, window.location.origin).pathname\n\n\treturn result\n}\n\nfunction local(path: string): boolean {\n\treturn new URL(path, window.location.origin).origin == window.location.origin\n}\nexport namespace Button {\n\texport interface Properties {\n\t\tdisabled: boolean\n\t\ttype: \"link\" | \"button\" | \"download\"\n\t\tlink?: string\n\t}\n}\n","@import \"../color/style.css\";\n\n:host{\n\tdisplay: inline-block;\n\tmargin: 1em;\n\tbox-sizing: border-box;\n\tborder-radius: 0.5rem;\n\tborder: solid 1px;\n\ttransition: background 150ms ease-in-out;\n\tcursor: pointer;\n}\n:host([type=link]){\n\tdisplay: inline;\n\tborder: none;\n}\n:host([disabled]){\n\topacity: 0.5;\n\tpointer-events: none;\n}\na,\nbutton{\n\tfont-size: 110%;\n\tfont-weight: 400;\n\tborder: none;\n\tbackground-color: transparent;\n\tcursor: pointer;\n\tdisplay: inline-flex;\n\tgap: 0.5rem;\n}\nbutton {\n\tjustify-content: center;\n\theight: 100%;\n\twidth: 100%;\n\tborder-radius: 0.5rem;\n\tmin-width: 8em;\n\talign-items: center;\n}\n:host(:not([size=icon])) > button {\n\tpadding: 0.8em;\n}\n:host([size=icon]) > button{\n\tpadding: 0.5em;\n}\n:host([shape=rounded]) > button,\n:host([shape=rounded]){\n\tborder-radius: 2rem;\n}\n:host([type=button]) > a {\n\ttext-align: center;\n\ttext-decoration: inherit;\n\twidth: calc(100% - 0.6em);\n}\n:host([size=small]) > button{\n\tfont-size: 100%;\n}\n:host([size=large]) > button{\n\tfont-size: 130%;\n}\n:host(:not([size=icon])){\n\tmin-width: 8em;\n}\n:host([size=flexible]) {\n\tmin-width: unset;\n\tpadding: 0;\n\tmargin: 0;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tborder: none;\n}\n:host([size=flexible]) > button {\n\tmin-width: unset;\n\tpadding: 0;\n\tmargin: 0 !important;\n}\n:host([expand]) {\n\twidth: 100%;\n}\n:host([expand=full]) {\n\tborder-left: none;\n\tborder-right: none;\n\tborder-radius: 0;\n}\n:host([shape=rounded]) > button,\n:host([shape=rounded]){\n\tborder-radius: 2rem;\n}\n:host(:not([fill=clear]):hover),\n:host(:not([fill=clear]):focus),\t\n:host(:not([fill=clear]):active){\n\tborder-color: rgb(var(--smoothly-color-tint)) !important;\n\tbackground: rgb(var(--smoothly-color-tint)) !important;\n}\n:host(:not([fill=clear]):hover) > button,\n:host(:not([fill=clear]):focus) > button,\n:host(:not([fill=clear]):active) > button,\n:host(:not([fill=clear]):hover) ::slotted(smoothly-icon),\n:host(:not([fill=clear]):focus) ::slotted(smoothly-icon),\n:host(:not([fill=clear]):active) ::slotted(smoothly-icon){\n\tcolor: rgb(var(--smoothly-color-contrast)) !important;\n\tstroke: rgb(var(--smoothly-color-contrast)) !important;\n\tfill: rgb(var(--smoothly-color-contrast)) !important;\n}\n:host([fill=clear]:hover) > button,\n:host([fill=clear]:focus) > button,\n:host([fill=clear]:active) > button{\n\tcolor: rgb(var(--smoothly-color-tint)) !important;\n\tstroke: rgb(var(--smoothly-color-tint)) !important;\n\tfill: rgb(var(--smoothly-color-tint)) !important;\n}\n:host([disabled]){\n\topacity: 0.5;\n\tpointer-events: none;\n}\n:host(:not([fill])),\n:host([fill=default]) {\n\tbackground: rgb(var(--smoothly-color));\n\tborder-color: transparent;\n}\n:host([fill=solid]) {\n\tbackground: rgb(var(--smoothly-color));\n\tborder-color: rgb(var(--smoothly-color));\n}\n:host([fill=solid]) > button,\n:host([fill=default]) > button{\n\tstroke: rgb(var(--smoothly-color-contrast));\n\tfill: rgb(var(--smoothly-color-contrast));\n\tcolor: rgb(var(--smoothly-color-contrast));\n}\n:host([fill=outline]) > button,\n:host([fill=clear]) > button{\n\tstroke: rgb(var(--smoothly-color));\n\tfill: rgb(var(--smoothly-color));\n\tcolor: rgb(var(--smoothly-color));\n}\n:host([fill=outline]) {\n\tbackground: transparent;\n\tborder-color: rgb(var(--smoothly-color));\n}\n:host([fill=clear]) {\n\tbackground: transparent;\n\tborder-color: transparent;\n}\n::slotted(smoothly-icon[slot=start]),\n::slotted(smoothly-icon[slot=end]){\n\tfont-size: 0.65em;\n}\n:host([hidden]){\n\tdisplay: none;\n}\n","import { Component, h, Prop } from \"@stencil/core\"\nimport { Color, Fill } from \"../../model\"\nimport { Button } from \"../Button\"\n\n@Component({\n\ttag: \"smoothly-button\",\n\tstyleUrl: \"../button/style.css\",\n\tscoped: true,\n})\nexport class SmoothlyButton {\n\t@Prop({ reflect: true }) color?: Color\n\t@Prop({ reflect: true }) expand?: \"block\" | \"full\"\n\t@Prop({ reflect: true }) fill?: Fill\n\t@Prop({ reflect: true }) disabled = false\n\t@Prop({ reflect: true }) type: Button.Properties[\"type\"] = \"button\"\n\t@Prop({ reflect: true }) size: \"small\" | \"large\" | \"icon\" | \"flexible\"\n\t@Prop({ reflect: true }) shape?: \"rounded\"\n\t@Prop() link?: string\n\n\trender() {\n\t\treturn (\n\t\t\t<Button disabled={this.disabled} type={this.type} link={this.link}>\n\t\t\t\t<slot />\n\t\t\t</Button>\n\t\t)\n\t}\n}\n","smoothly-button-demo {\n\tdisplay: block;\n\tmargin: 1rem;\n}\n\nsmoothly-button-demo > section > div {\n\tdisplay: flex;\n\talign-items: center;\n}\n","import { Component, h } from \"@stencil/core\"\n@Component({\n\ttag: \"smoothly-button-demo\",\n\tstyleUrl: \"style.css\",\n})\nexport class SmoothlyButtonDemo {\n\trender() {\n\t\treturn [\n\t\t\t<h2>Theme</h2>,\n\t\t\t<smoothly-theme-colors></smoothly-theme-colors>,\n\t\t\t<h2>Buttons</h2>,\n\t\t\t<section>\n\t\t\t\t<h4>Toggle button</h4>\n\t\t\t\t<smoothly-toggle>\n\t\t\t\t\t<smoothly-icon name=\"card\" fill=\"solid\" slot=\"icon-slot\"></smoothly-icon>\n\t\t\t\t</smoothly-toggle>\n\t\t\t\t<smoothly-toggle>\n\t\t\t\t\t<smoothly-icon name=\"briefcase\" slot=\"icon-slot\"></smoothly-icon>\n\t\t\t\t</smoothly-toggle>\n\t\t\t\t<smoothly-toggle>\n\t\t\t\t\t<smoothly-icon name=\"airplane\" slot=\"icon-slot\"></smoothly-icon>\n\t\t\t\t</smoothly-toggle>\n\t\t\t\t<h4>Toggle switches</h4>\n\t\t\t\t<smoothly-toggle-switch\n\t\t\t\t\tcheckmark={false}\n\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\tdisabled={false}\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tonSmoothlyToggleSwitchChange={e => {\n\t\t\t\t\t\tconsole.log(\"toggleSwitch \", e.detail)\n\t\t\t\t\t}}></smoothly-toggle-switch>\n\t\t\t\t<smoothly-toggle-switch disabled={false}></smoothly-toggle-switch>\n\t\t\t\t<smoothly-toggle-switch disabled={false} size=\"large\"></smoothly-toggle-switch>\n\t\t\t\t<h4>Links with icons</h4>\n\t\t\t\t<smoothly-button type=\"link\">\n\t\t\t\t\t<smoothly-icon name=\"checkmark-circle\" slot=\"start\"></smoothly-icon>\n\t\t\t\t\ttype link\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-button type=\"button\" color=\"warning\" fill=\"default\">\n\t\t\t\t\t<smoothly-icon name=\"call\" slot=\"start\"></smoothly-icon>\n\t\t\t\t\t<a href=\"https://google.com\">link</a>\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-button link=\"https://google.com\" type=\"link\">\n\t\t\t\t\t<smoothly-icon name=\"arrow-forward\" slot=\"end\"></smoothly-icon>\n\t\t\t\t\tlink + type link\n\t\t\t\t</smoothly-button>\n\t\t\t\t<h4>Size and Color test</h4>\n\t\t\t\t<smoothly-button color=\"primary\" fill=\"solid\" size=\"small\" shape=\"rounded\">\n\t\t\t\t\tColor Primary + Small\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-button color=\"secondary\" fill=\"solid\" shape=\"rounded\">\n\t\t\t\t\tColor Secondary + Default\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-button color=\"warning\" fill=\"solid\" size=\"large\">\n\t\t\t\t\tColor Warning + Large\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-button color=\"danger\" fill=\"solid\" size=\"small\" shape=\"rounded\">\n\t\t\t\t\tColor Danger + Small\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-button color=\"success\" fill=\"solid\" size=\"small\" shape=\"rounded\">\n\t\t\t\t\tColor Success + Small\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-button color=\"tertiary\" fill=\"solid\" size=\"small\" shape=\"rounded\">\n\t\t\t\t\tColor Tertiary + Small\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-button color=\"dark\" fill=\"solid\" size=\"small\" shape=\"rounded\">\n\t\t\t\t\tColor Dark + Small\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-button color=\"medium\" fill=\"solid\" size=\"small\" shape=\"rounded\">\n\t\t\t\t\tColor Medium + Small\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-button color=\"light\" fill=\"solid\" size=\"small\" shape=\"rounded\">\n\t\t\t\t\tColor Light + Small\n\t\t\t\t</smoothly-button>\n\t\t\t\t<h4>Expand examples</h4>\n\t\t\t\t<smoothly-button color=\"secondary\" fill=\"solid\" expand=\"full\">\n\t\t\t\t\tColor Secondary + Default\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-button color=\"warning\" fill=\"solid\" expand=\"block\">\n\t\t\t\t\tColor Warning + Large\n\t\t\t\t</smoothly-button>\n\t\t\t\t<h4>Fill examples</h4>\n\t\t\t\t<div>\n\t\t\t\t\t<smoothly-button shape=\"rounded\" color=\"primary\" fill=\"solid\">\n\t\t\t\t\t\t<smoothly-icon name=\"checkmark-circle\" slot=\"start\"></smoothly-icon>\n\t\t\t\t\t\tFill Solid\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t<smoothly-button shape=\"rounded\" color=\"secondary\" fill=\"outline\">\n\t\t\t\t\t\t<smoothly-icon name=\"checkmark-circle\" slot=\"start\" fill=\"clear\"></smoothly-icon>\n\t\t\t\t\t\tFill Outline\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t<smoothly-button shape=\"rounded\" color=\"tertiary\" fill=\"clear\">\n\t\t\t\t\t\t<smoothly-icon name=\"checkmark-circle\" slot=\"start\" fill=\"clear\"></smoothly-icon>\n\t\t\t\t\t\tFill Clear\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t<smoothly-button size=\"icon\" shape=\"rounded\" color=\"success\" fill=\"solid\">\n\t\t\t\t\t\t<smoothly-icon name=\"basketball\" fill=\"solid\"></smoothly-icon>\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t</div>\n\t\t\t\t<h4>Buttons with Icon in \"start\"</h4>\n\t\t\t\t<div>\n\t\t\t\t\t<smoothly-button shape=\"rounded\" fill=\"solid\" color=\"warning\">\n\t\t\t\t\t\t<smoothly-icon name=\"checkmark-circle\" slot=\"start\"></smoothly-icon>\n\t\t\t\t\t\tCheck\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t<smoothly-button shape=\"rounded\" fill=\"solid\" color=\"secondary\">\n\t\t\t\t\t\t<smoothly-icon name=\"basketball\" slot=\"start\"></smoothly-icon>\n\t\t\t\t\t\tCheck\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t<smoothly-button shape=\"rounded\" fill=\"solid\" color=\"success\">\n\t\t\t\t\t\t<smoothly-icon name=\"call\" slot=\"start\"></smoothly-icon>\n\t\t\t\t\t\tCheck\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t<smoothly-button size=\"icon\" fill=\"solid\" shape=\"rounded\" color=\"success\">\n\t\t\t\t\t\t<smoothly-icon name=\"call\"></smoothly-icon>\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t</div>\n\t\t\t\t<h4>Buttons with Icon in \"end\"</h4>\n\t\t\t\t<smoothly-button fill=\"solid\" color=\"light\">\n\t\t\t\t\tGo Forward\n\t\t\t\t\t<smoothly-icon name=\"arrow-forward\" slot=\"end\"></smoothly-icon>\n\t\t\t\t</smoothly-button>\n\t\t\t\t<h4>Test for icon button</h4>\n\t\t\t\t<div>\n\t\t\t\t\t<smoothly-button size=\"icon\" fill=\"solid\" shape=\"rounded\" color=\"success\">\n\t\t\t\t\t\t<smoothly-icon name=\"call\"></smoothly-icon>\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t<smoothly-button size=\"icon\" shape=\"rounded\" color=\"warning\" fill=\"solid\">\n\t\t\t\t\t\t<smoothly-icon name=\"search-outline\"></smoothly-icon>\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t<smoothly-button size=\"icon\" shape=\"rounded\" color=\"secondary\">\n\t\t\t\t\t\t<smoothly-icon name=\"checkmark-circle\"></smoothly-icon>\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t</div>\n\t\t\t\t<h4>Link examples</h4>\n\t\t\t\t<div>\n\t\t\t\t\t<smoothly-button type=\"link\">type link</smoothly-button>\n\t\t\t\t\t<smoothly-button type=\"button\" fill=\"clear\">\n\t\t\t\t\t\t<a href=\"https://google.com\">link</a>\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t<smoothly-button link=\"https://google.com\" type=\"link\">\n\t\t\t\t\t\tlink + type link\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t</div>\n\t\t\t\t<h4>Disabled buttons</h4>\n\t\t\t\t<div>\n\t\t\t\t\t<smoothly-button disabled fill=\"solid\" color=\"secondary\">\n\t\t\t\t\t\tDisabled\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t<smoothly-button type=\"link\" link=\"https://google.com\" disabled>\n\t\t\t\t\t\tDisabled link\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t</div>\n\t\t\t</section>,\n\t\t\t<smoothly-back-to-top />,\n\t\t]\n\t}\n}\n","import * as isoly from \"isoly\"\n\nexport function month(date: isoly.Date): isoly.Date[][] {\n\tconst d = new Date(date)\n\td.setDate(1)\n\tlet day = -((d.getDay() + 6) % 7) + 1\n\tconst result: string[][] = []\n\tfor (let row = 0; row < 6; row++) {\n\t\tconst r = []\n\t\tfor (let column = 0; column < 7; column++) {\n\t\t\tconst d = new Date(date)\n\t\t\td.setUTCDate(day++)\n\t\t\tr.push(isoly.Date.create(d))\n\t\t}\n\t\tif (row < 5 || isoly.Date.firstOfMonth(r[0]) == isoly.Date.firstOfMonth(date))\n\t\t\tresult.push(r)\n\t}\n\treturn result\n}\n\nexport function weekdays(): string[] {\n\tconst day = new globalThis.Date()\n\tday.setDate(day.getDate() - day.getDay() + 1)\n\tconst result: string[] = []\n\tfor (let i = 0; i < 7; i++) {\n\t\tresult.push(day.toLocaleString(undefined, { weekday: \"short\" }))\n\t\tday.setDate(day.getDate() + 1)\n\t}\n\treturn result\n}\n\nexport function months(current: isoly.Date): { date: isoly.Date; name: string; selected?: boolean }[] {\n\tconst day = new globalThis.Date(current)\n\tconst result: { date: isoly.Date; name: string; selected?: boolean }[] = []\n\tfor (let i = 0; i < 12; i++) {\n\t\tday.setMonth(i, 28)\n\t\tconst date = isoly.Date.create(day)\n\t\tresult.push({\n\t\t\tdate,\n\t\t\tname: day.toLocaleString(undefined, { month: \"long\" }),\n\t\t\tselected: date.substr(0, 7) == current.substr(0, 7),\n\t\t})\n\t}\n\treturn result\n}\nexport function years(current: isoly.Date): { date: isoly.Date; name: string; selected?: boolean }[] {\n\tconst day = new globalThis.Date(current)\n\tconst start = new Date().getFullYear() - 10\n\tconst end = new Date().getFullYear() + 10\n\tconst result: { date: isoly.Date; name: string; selected?: boolean }[] = []\n\tfor (let i = start; i <= end; i++) {\n\t\tday.setFullYear(i)\n\t\tconst date = isoly.Date.create(day)\n\t\tresult.push({\n\t\t\tdate,\n\t\t\tname: day.toLocaleString(undefined, { year: \"numeric\" }),\n\t\t\tselected: date == current,\n\t\t})\n\t}\n\treturn result\n}\n",":host {\n\tdisplay: block;\n\t--other-month-opacity: 0.5;\n\tmargin-bottom: 1rem;\n}\n:host > smoothly-input-month {\n\twidth: calc(100% - 1em);\n\tpadding: 0.5em 0.5em 0 0.5em;\n}\n:host > table {\n\ttable-layout: fixed;\n\twidth: 100%;\n}\nth,\ntd {\n\ttext-align: center;\n\tpadding: 0.5em;\n\tmin-width: 2em;\n\tbackground-color: rgb(var(--smoothly-default-shade));\n\tcursor: pointer;\n\tuser-select: none;\n}\ntd.currentMonth {\n\tcolor: rgb(var(--smoothly-default-contrast));\n}\ntd:not(.currentMonth) {\n\tcolor: rgba(var(--smoothly-default-contrast), var(--other-month-opacity));\n}\ntd:nth-child(6):not(.currentMonth).selected,\ntd:nth-child(6):not(.currentMonth).dateRange,\ntd:nth-child(7):not(.currentMonth).selected,\ntd:nth-child(7):not(.currentMonth).dateRange {\n\tcolor: rgba(var(--smoothly-default-contrast));\n}\ntd:nth-child(6),\ntd:nth-child(7) {\n\tcolor: rgb(var(--smoothly-danger-tint));\n}\ntd:nth-child(6):not(.currentMonth),\ntd:nth-child(7):not(.currentMonth) {\n\tcolor: rgba(var(--smoothly-danger-tint), var(--other-month-opacity));\n}\ntd:not(.selected, .disable):hover {\n\tcolor: rgb(var(--smoothly-primary-contrast));\n\tbackground: rgb(var(--smoothly-primary-tint));\n}\ntd.selected {\n\tcolor: rgb(var(--smoothly-primary-contrast));\n\tbackground: rgb(var(--smoothly-primary-color));\n}\ntd:not(.selected, .dateRange):not(:hover).today {\n\tbackground: rgb(var(--smoothly-dark-tint));\n\tcolor: rgb(var(--smoothly-dark-contrast));\n}\ntd.dateRange {\n\tcolor: rgb(var(--smoothly-primary-contrast));\n\tbackground: rgb(var(--smoothly-primary-tint));\n}\ntd.disable {\n\tcursor: not-allowed;\n\tbackground-color: rgb(var(--smoothly-default-tint), 0.5);\n\tcolor: rgb(var(--smoothly-default-contrast), 0.5);\n}\n","import { Component, Element, Event, EventEmitter, h, Prop, State, Watch } from \"@stencil/core\"\nimport { Date, DateRange } from \"isoly\"\nimport * as generate from \"./generate\"\n\n@Component({\n\ttag: \"smoothly-calendar\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class Calendar {\n\t@Element() element: HTMLTableRowElement\n\t@Prop({ mutable: true }) month?: Date\n\t@Prop({ mutable: true }) value: Date = Date.now()\n\t@Prop({ mutable: true }) start?: Date\n\t@Prop({ mutable: true }) end?: Date\n\t@Prop({ mutable: true }) max: Date\n\t@Prop({ mutable: true }) min: Date\n\t@Prop({ reflect: true }) doubleInput: boolean\n\t@Event() valueChanged: EventEmitter<Date>\n\t@Event() startChanged: EventEmitter<Date>\n\t@Event() endChanged: EventEmitter<Date>\n\t@Event() dateSet: EventEmitter<Date>\n\t@Event() dateRangeSet: EventEmitter<DateRange>\n\tprivate frozenDate: Date\n\t@State() firstSelected: boolean\n\t@Watch(\"start\")\n\tonStart(next: Date) {\n\t\tthis.startChanged.emit(next)\n\t}\n\t@Watch(\"end\")\n\tonEnd(next: Date) {\n\t\tthis.endChanged.emit(next)\n\t}\n\tprivate clickCounter = 0\n\tprivate onClick(date: Date) {\n\t\tthis.valueChanged.emit((this.value = date))\n\t\tthis.clickCounter += 1\n\t\tif (this.doubleInput) {\n\t\t\tif (this.clickCounter % 2 == 1)\n\t\t\t\tthis.start = this.end = this.frozenDate = date\n\t\t\telse {\n\t\t\t\tif (this.start && date > this.start)\n\t\t\t\t\tthis.end = date\n\t\t\t\telse\n\t\t\t\t\tthis.start = date\n\t\t\t}\n\t\t}\n\t\t!this.doubleInput && this.dateSet.emit(this.value)\n\t\tthis.doubleInput &&\n\t\t\tthis.clickCounter % 2 == 0 &&\n\t\t\tthis.start &&\n\t\t\tthis.end &&\n\t\t\tthis.dateRangeSet.emit({ start: this.start, end: this.end })\n\t}\n\tprivate onHover(date: Date) {\n\t\tif (this.doubleInput && this.clickCounter % 2 == 1) {\n\t\t\tif (date < this.frozenDate) {\n\t\t\t\tthis.start = date\n\t\t\t\tthis.end = this.frozenDate\n\t\t\t} else {\n\t\t\t\tthis.start = this.frozenDate\n\t\t\t\tthis.end = date\n\t\t\t}\n\t\t}\n\t}\n\trender() {\n\t\treturn [\n\t\t\t<smoothly-input-month\n\t\t\t\tvalue={this.month ?? this.value}\n\t\t\t\tonValueChanged={event => {\n\t\t\t\t\tthis.month = event.detail\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}}></smoothly-input-month>,\n\t\t\t<table>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t{generate.weekdays().map(day => (\n\t\t\t\t\t\t\t<th>{day}</th>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t{generate.month(this.month ?? this.value).map(week => (\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t{week.map(date => (\n\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\ttabindex={1}\n\t\t\t\t\t\t\t\tonMouseOver={() => {\n\t\t\t\t\t\t\t\t\t!this.doubleInput && (this.min || this.max) && (date < this.min || date > this.max)\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: this.onHover(date)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t(this.min || this.max) && (date < this.min || date > this.max) ? undefined : () => this.onClick(date)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclass={(date == this.value ? [\"selected\"] : [])\n\t\t\t\t\t\t\t\t\t.concat(\n\t\t\t\t\t\t\t\t\t\t...(date == Date.now() ? [\"today\"] : []),\n\t\t\t\t\t\t\t\t\t\tDate.firstOfMonth(this.month ?? this.value) == Date.firstOfMonth(date) ? [\"currentMonth\"] : [],\n\t\t\t\t\t\t\t\t\t\tthis.doubleInput\n\t\t\t\t\t\t\t\t\t\t\t? this.start == date || this.end == date\n\t\t\t\t\t\t\t\t\t\t\t\t? [\"selected\"]\n\t\t\t\t\t\t\t\t\t\t\t\t: date >= (this.start ?? \"\") && date <= (this.end ?? \"\")\n\t\t\t\t\t\t\t\t\t\t\t\t? [\"dateRange\"]\n\t\t\t\t\t\t\t\t\t\t\t\t: []\n\t\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t.concat(...(this.min || this.max ? (date < this.min || date > this.max ? [\"disable\"] : []) : \"\"))\n\t\t\t\t\t\t\t\t\t.join(\" \")}>\n\t\t\t\t\t\t\t\t{date.substring(8, 10)}\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</tr>\n\t\t\t\t))}\n\t\t\t</table>,\n\t\t]\n\t}\n}\n","import * as isoly from \"isoly\";\nimport { getLanguage } from \"./getLanguage\";\nexport function create(translations, language) {\n let result;\n if (!language) {\n const translation = translations;\n result = (message, ...argument) => {\n const r = translation[message];\n return !r\n ? fallback(message, ...argument)\n : typeof r == \"function\"\n ? r(...argument)\n : argument.length > 0\n ? fallback(r, ...argument)\n : r;\n };\n }\n else {\n if (!isoly.Language.is(language))\n language = getLanguage(language);\n const translation = language && translations[language];\n result = translation ? create(translation) : fallback;\n }\n return result;\n}\nfunction fallback(message, ...argument) {\n return argument.length > 0 ? argument.reduce((r, a, i) => r.replace(\"$\" + i, a), message) : message;\n}\n//# sourceMappingURL=create.js.map","export const sv = {\n\t\"Select all\": \"Markera alla\",\n\t\"Deselect all\": \"Avmarkera alla\",\n\tSelect: \"Markera\",\n\tDeselect: \"Avmarkera\",\n}\n","import * as isoly from \"isoly\"\nimport * as langly from \"langly\"\nimport { sv } from \"./sv\"\n\nexport function create(language: isoly.Language | HTMLElement): langly.Translate {\n\treturn langly.create(\n\t\t{\n\t\t\tsv,\n\t\t},\n\t\tlanguage\n\t)\n}\n","* {\n\tbox-sizing: border-box;\n}\n\n:host {\n\tdisplay: block;\n}\n\n:host > main {\n\tdisplay: flex;\n\talign-items: center;\n\twidth: fit-content;\n\theight: max-content;\n\tmargin: 0.3rem 0;\n\tline-height: 0;\n}\n\n:host > main > label {\n\tdisplay:flex;\n\tjustify-content: center;\n\talign-items: center;\n\tmargin: 0 0.2em;\n}\n\n:host > main > div {\n\tborder: 1px solid rgb(var(--smoothly-color-contrast));\n}\n\n:host > main > div > smoothly-icon {\n\tdisplay: flex;\n\tjustify-content: center;\t\n\talign-items: center;\n}\n\n:host:not([checked]) > main > div > smoothly-icon,\n:host:not([intermediate]) > main > div > smoothly-icon {\n\tstroke: rgb(var(--smoothly-color-contrast));\n}\n\n:host[disabled] > main > div {\n\tborder: 1px solid rgb(var(--smoothly-color-contrast), 0.3);\n}\n\n::slotted([slot=expansion]) {\n\tdisplay: none;\n\tbackground-color: rgb(var(--smoothly-secondary-color));\n\tcolor: rgb(var(--smoothly-secondary-contrast));\n}\n\n[checked]::slotted([slot=expansion]) {\n\tdisplay: block;\n\tpadding: 0.5em;\n\tborder-radius: 5px;\n\tmargin: 0.5rem 0;\n}\n\n[checked]::slotted([slot=expansion])::before {\n\tcontent: \"\\25B2\";\n\tposition: relative;\n\ttop: -1.35em;\n\tleft: 2rem;\n\tcolor: rgb(var(--smoothly-secondary-color))\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, State } from \"@stencil/core\"\nimport * as langly from \"langly\"\nimport { Clearable } from \"../filter/Clearable\"\nimport * as translation from \"./translation\"\n@Component({\n\ttag: \"smoothly-checkbox\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyCheckbox implements Clearable {\n\t@Element() element: HTMLElement\n\t@Prop() size: \"tiny\" | \"small\" | \"medium\" | \"large\" = \"tiny\"\n\t@Prop({ mutable: true, reflect: true }) checked = false\n\t@Prop({ mutable: true, reflect: true }) intermediate = false\n\t@Prop() name: string\n\t@Prop() value: any\n\t@Prop({ reflect: true }) disabled: boolean\n\t@Event() smoothlyInput: EventEmitter<Record<string, any>>\n\t@State() t: langly.Translate\n\n\tcomponentWillLoad() {\n\t\tthis.t = translation.create(this.element)\n\t}\n\n\t@Method()\n\tasync toggle(): Promise<void> {\n\t\tif (!this.disabled) {\n\t\t\tconst checked = this.intermediate || this.checked == false\n\t\t\tthis.smoothlyInput.emit({\n\t\t\t\t[this.name]: checked ? this.value : undefined,\n\t\t\t})\n\t\t\tthis.checked = checked\n\t\t}\n\t}\n\t@Method()\n\tasync clear() {\n\t\tthis.checked = false\n\t\tthis.smoothlyInput.emit({\n\t\t\t[this.name]: undefined,\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<main>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\t\ttoolTip={this.t(!this.checked ? \"Select\" : \"De-select\")}\n\t\t\t\t\t\t\tonClick={e => {\n\t\t\t\t\t\t\t\tthis.toggle()\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\tname={\n\t\t\t\t\t\t\t\tthis.intermediate && !this.checked\n\t\t\t\t\t\t\t\t\t? \"remove-outline\"\n\t\t\t\t\t\t\t\t\t: this.checked && !this.intermediate\n\t\t\t\t\t\t\t\t\t? \"checkmark-outline\"\n\t\t\t\t\t\t\t\t\t: \"empty\"\n\t\t\t\t\t\t\t}></smoothly-icon>\n\t\t\t\t\t</div>\n\t\t\t\t\t<label htmlFor={this.name}>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</label>\n\t\t\t\t</main>\n\t\t\t\t<slot name=\"expansion\" />\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: block;\n\tposition: fixed;\n\tleft: 0;\n\ttop: 0;\n\twidth: 100%;\n\theight: 100%;\n\tz-index: 1;\n\t/* stylelint-disable-next-line declaration-no-important */\n\tbackground: rgba(var(--smoothly-default-color), var(--smoothly-semitransparent)) !important;\n}\n:host[hidden] {\n\tdisplay: none;\n}\n:host > header {\n\tborder-top-left-radius: 8px;\n\tborder-top-right-radius: 8px;\n\tmargin-top: 2em;\n\tcolor: rgb(var(--smoothly-primary-contrast));\n\tbackground: rgb(var(--smoothly-primary-color));\n\tborder-color: rgb(var(--smoothly-primary-color));\n}\n:host:not([header]) header {\n\tborder: none;\n}\n:host > * {\n\tposition: relative;\n\tcolor: rgb(var(--smoothly-default-contrast));\n\tbackground-color: rgb(var(--smoothly-default-color));\n\tborder-color: rgb(var(--smoothly-color));\n\tborder-width: 1px;\n\tborder-style: solid;\n\tmax-width: 40em;\n\twidth: calc(100vw - 4em - 2px);\n\tmax-height: calc(100vh - 6em - 2px);\n\theight: auto;\n\tmargin-left: auto;\n\tmargin-right: auto;\n\tborder-collapse: collapse;\n}\n:host > main {\n\tborder-bottom-left-radius: 8px;\n\tborder-bottom-right-radius: 8px;\n\tmargin-bottom: 2em;\n\tborder: 1px solid rgb(var(--smoothly-default-contrast));\n\tbox-sizing: border-box;\n\toverflow: hidden;\n}\n:host:not([header]) main {\n\tborder-radius: 8px;\n}\n:host > * > smoothly-trigger {\n\tposition: absolute;\n\tright: -2em;\n\ttop: -2em;\n\tz-index: 1;\n\tborder-color: transparent;\n}\n:host > * > smoothly-trigger:hover {\n\tborder-color: transparent;\n}\n:host smoothly-icon {\n\tbackground-color: rgb(var(--smoothly-color));\n\tborder-radius: 50%;\n}\n:host > * > * {\n\tmargin: 10px;\n}\n","import { Component, h, Listen, Prop } from \"@stencil/core\"\nimport { Color, Trigger } from \"../../model\"\n\n@Component({\n\ttag: \"smoothly-dialog\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyDialog {\n\t@Prop({ reflect: true }) color: Color | undefined\n\t@Prop({ mutable: true, reflect: true }) open = true\n\t@Prop({ reflect: true }) closable = false\n\t@Prop({ reflect: true }) header: string | undefined\n\t@Listen(\"trigger\")\n\tTriggerListener(event: CustomEvent<Trigger>) {\n\t\tif (Trigger.is(event.detail) && event.detail.name == \"close\")\n\t\t\tthis.open = false\n\t}\n\thostData() {\n\t\treturn {\n\t\t\tstyle: {\n\t\t\t\tdisplay: this.open ? \"block\" : \"none\",\n\t\t\t},\n\t\t}\n\t}\n\trender() {\n\t\treturn [\n\t\t\t<header>\n\t\t\t\t{this.closable ? (\n\t\t\t\t\t<smoothly-trigger fill=\"clear\" name=\"close\">\n\t\t\t\t\t\t<smoothly-icon name=\"close-circle\" fill=\"solid\" color={this.color}></smoothly-icon>\n\t\t\t\t\t</smoothly-trigger>\n\t\t\t\t) : (\n\t\t\t\t\t[]\n\t\t\t\t)}\n\t\t\t\t{this.header ? <h1>{this.header}</h1> : <slot name=\"header\"></slot>}\n\t\t\t</header>,\n\t\t\t<main>\n\t\t\t\t<slot></slot>\n\t\t\t</main>,\n\t\t]\n\t}\n}\n//\n","import { Component, h } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-dialog-demo\",\n})\nexport class SmoothlyDialogDemo {\n\trender() {\n\t\treturn (\n\t\t\t<smoothly-dialog color=\"default\" style={{ \"margin-top\": \"6vh\" }} closable>\n\t\t\t\t<smoothly-frame url=\"https://www.wikipedia.org/\" name=\"parent\" style={{ height: \"80vh\" }}></smoothly-frame>\n\t\t\t</smoothly-dialog>\n\t\t)\n\t}\n}\n","function getForwardWordBreakIndex(str, index, wordRegex) {\n let result = 0;\n while (wordRegex.exec(str) != null) {\n result = wordRegex.lastIndex;\n if (wordRegex.lastIndex > index)\n break;\n }\n wordRegex.lastIndex <= index && (result = str.length);\n return result;\n}\nfunction getBackwardWordBreakIndex(str, index, wordRegex) {\n let result = 0;\n let execArray;\n while ((execArray = wordRegex.exec(str)) != null) {\n if (wordRegex.lastIndex - execArray[0].length < index)\n result = wordRegex.lastIndex - execArray[0].length;\n else\n break;\n }\n return result;\n}\nexport function getAdjecentWordBreakIndex(str, index, direction) {\n const wordRegex = /([\\wåäöüéáúíóßðœøæñµçþ_]+|[@-]+)/gi;\n return direction == \"backward\"\n ? getBackwardWordBreakIndex(str, index, wordRegex)\n : getForwardWordBreakIndex(str, index, wordRegex);\n}\n//# sourceMappingURL=getAdjecentWordBreakIndex.js.map","export var Selection;\n(function (Selection) {\n function getCursor(selection) {\n return selection.direction == \"backward\" ? selection.start : selection.end;\n }\n Selection.getCursor = getCursor;\n function getStalker(selection) {\n return selection.direction != \"backward\" ? selection.start : selection.end;\n }\n Selection.getStalker = getStalker;\n})(Selection || (Selection = {}));\n//# sourceMappingURL=Selection.js.map","export var State;\n(function (State) {\n function copy(state) {\n return {\n value: state.value,\n selection: { start: state.selection.start, end: state.selection.end, direction: state.selection.direction },\n };\n }\n State.copy = copy;\n})(State || (State = {}));\n//# sourceMappingURL=State.js.map","export class StateEditor {\n constructor(state) {\n this.value = state.value;\n this.selection = { start: state.selection?.start, end: state.selection?.end, direction: state.selection?.direction };\n }\n get(index, length = 1) {\n return this.value.substr(index, length);\n }\n is(index, ...character) {\n const c = this.get(index);\n return character.some(d => c == d);\n }\n isDigit(index) {\n const character = this.get(index);\n return character >= \"0\" && character <= \"9\";\n }\n match(matcher) {\n return this.value.match(matcher);\n }\n replace(start, end, value) {\n let result;\n if (typeof start == \"string\" && typeof end == \"string\") {\n let s;\n result = this;\n while ((s = result.value.indexOf(start)) > -1)\n result = result.replace(s, s + start.length, end);\n }\n else if (typeof start == \"number\" && typeof end == \"number\") {\n const state = {\n value: this.value,\n selection: { start: this.selection.start, end: this.selection.end, direction: this.selection.direction },\n };\n if (!value)\n value = \"\";\n state.value = this.value.slice(0, start) + value + this.value.slice(end, this.value.length);\n if (this.selection.start >= end)\n state.selection.start = this.selection.start + value.length - end + start;\n else if (this.selection.start > start && this.selection.start < end)\n state.selection.start = Math.min(this.selection.start, start + value.length);\n if (this.selection.end >= end)\n state.selection.end = this.selection.end + value.length - end + start;\n else if (this.selection.end > start && this.selection.end < end)\n state.selection.end = Math.min(this.selection.end, start + value.length);\n result = new StateEditor(state);\n }\n return result || this;\n }\n insert(index, value) {\n return this.replace(index, index, value);\n }\n append(value) {\n return this.insert(this.value.length, value);\n }\n prepend(value) {\n return this.insert(0, value);\n }\n suffix(value) {\n return new StateEditor({ value: this.value + value, selection: this.selection });\n }\n delete(start, end) {\n let result;\n if (!this.value)\n result = this;\n else if (typeof start == \"string\") {\n let s;\n result = this;\n while (start && (s = result.value.indexOf(start)) > -1)\n result = result.delete(s, s + start.length);\n }\n else\n result = this.replace(start, end || start + 1, \"\");\n return result;\n }\n truncate(end) {\n return this.value.length >= end ? this.delete(end, this.value.length) : this;\n }\n pad(length, padding, index) {\n let result = this;\n while (length > result.value.length + padding.length)\n result = result.insert(index, padding);\n if (length > result.value.length)\n result = result.insert(index, padding.substring(0, length - result.value.length));\n return result;\n }\n padEnd(length, padding) {\n return this.pad(length, padding, this.value.length);\n }\n padStart(length, padding) {\n return this.pad(length, padding, 0);\n }\n map(mapping) {\n let result = this;\n let j = 0;\n for (let i = 0; i < this.value.length; i++) {\n const replacement = mapping(this.get(i), i);\n result = result.replace(j, j + 1, replacement);\n j += replacement.length;\n }\n return result;\n }\n static copy(state) {\n return new StateEditor({ ...state });\n }\n static create() {\n return new StateEditor({ value: \"\", selection: { start: 0, end: 0 } });\n }\n static modify(state) {\n return new StateEditor(typeof state == \"string\" ? { value: state, selection: { start: state.length, end: state.length } } : state);\n }\n}\n//# sourceMappingURL=StateEditor.js.map","import { getAdjecentWordBreakIndex } from \"./getAdjecentWordBreakIndex\";\nimport { Selection } from \"./Selection\";\nimport { State } from \"./State\";\nimport { StateEditor } from \"./StateEditor\";\nexport var Action;\n(function (Action) {\n function apply(formatter, state, action) {\n let result = State.copy(formatter.unformat(StateEditor.copy(state)));\n if (state.autocomplete == \"cc-exp\" && /^\\d\\d \\/$/g.test(state.value))\n action?.key && (action.key = \"Backspace\");\n if (action) {\n if (action.ctrlKey || action.metaKey) {\n if (action.key == \"a\")\n select(result, 0, result.value.length, \"forward\");\n else if ([\"ArrowLeft\", \"ArrowRight\"].includes(action.key) && state?.type != \"password\")\n result = ctrlArrow(formatter, state, action);\n else if ([\"Delete\", \"Backspace\"].includes(action.key) && state?.type != \"password\")\n result = ctrlBackspaceDelete(formatter, state, action);\n }\n else if ([\"ArrowLeft\", \"ArrowRight\", \"Home\", \"End\"].includes(action.key))\n arrowHomeEnd(result, action);\n else if ([\"Delete\", \"Backspace\"].includes(action.key)) {\n result.selection.start == result.selection.end &&\n select(result, result.selection.start + (action.key == \"Backspace\" ? -1 : 0), result.selection.end + (action.key == \"Delete\" ? 1 : 0));\n erase(result);\n }\n else if (action.key != \"Unidentified\") {\n erase(result);\n formatter.allowed(action.key, result) && replace(result, action.key);\n }\n }\n return formatter.format(StateEditor.copy(result));\n }\n Action.apply = apply;\n function paste(formatter, state, pasted) {\n const result = State.copy(formatter.unformat(StateEditor.copy(state)));\n replace(result, pasted);\n return formatter.format(StateEditor.copy(result));\n }\n Action.paste = paste;\n function ctrlArrow(formatter, state, action) {\n let cursorPosition = Selection.getCursor(state.selection);\n let stalkPosition = Selection.getStalker(state.selection);\n cursorPosition = getAdjecentWordBreakIndex(state.value, cursorPosition, action.key == \"ArrowLeft\" ? \"backward\" : \"forward\");\n stalkPosition = action.shiftKey ? stalkPosition : cursorPosition;\n return State.copy(formatter.unformat(StateEditor.copy({\n ...state,\n selection: {\n start: Math.min(stalkPosition, cursorPosition),\n end: Math.max(stalkPosition, cursorPosition),\n direction: stalkPosition < cursorPosition ? \"forward\" : stalkPosition > cursorPosition ? \"backward\" : \"none\",\n },\n })));\n }\n function ctrlBackspaceDelete(formatter, state, action) {\n const cursorPosition = Selection.getCursor(state.selection);\n const adjecentIndex = getAdjecentWordBreakIndex(state.value, cursorPosition, action.key == \"Backspace\" ? \"backward\" : \"forward\");\n const result = State.copy(formatter.unformat(StateEditor.copy({\n ...state,\n selection: {\n start: Math.min(cursorPosition, adjecentIndex),\n end: Math.max(cursorPosition, adjecentIndex),\n direction: \"none\",\n },\n })));\n result.value = result.value.substring(0, result.selection.start) + result.value.substring(result.selection.end);\n result.selection.end = result.selection.start;\n return result;\n }\n function arrowHomeEnd(state, action) {\n let cursorPosition = Selection.getCursor(state.selection);\n let stalkPosition = Selection.getStalker(state.selection);\n cursorPosition =\n action.key == \"Home\"\n ? 0\n : action.key == \"End\"\n ? state.value.length\n : state.selection.start == state.selection.end || action.shiftKey\n ? Math.min(Math.max(cursorPosition + (action.key == \"ArrowLeft\" ? -1 : 1), 0), state.value.length)\n : action.key == \"ArrowLeft\"\n ? state.selection.start\n : state.selection.end;\n stalkPosition = action.shiftKey ? stalkPosition : cursorPosition;\n state.selection.direction =\n stalkPosition < cursorPosition ? \"forward\" : stalkPosition > cursorPosition ? \"backward\" : \"none\";\n state.selection.start = Math.min(stalkPosition, cursorPosition);\n state.selection.end = Math.max(stalkPosition, cursorPosition);\n }\n function select(state, from, to, direction) {\n state.selection.start = from;\n state.selection.end = to;\n direction && (state.selection.direction = direction);\n }\n function erase(state) {\n replace(state, \"\");\n }\n function replace(state, insertString) {\n state.value =\n state.value.substring(0, state.selection.start) + insertString + state.value.substring(state.selection.end);\n state.selection.start = state.selection.start + insertString.length;\n state.selection.end = state.selection.start;\n }\n})(Action || (Action = {}));\n//# sourceMappingURL=Action.js.map","import { StateEditor } from \"../StateEditor\";\nconst handlers = {};\nexport function add(type, create) {\n handlers[type] = create;\n}\nexport function get(type, ...argument) {\n const create = handlers[type];\n return create && create(argument);\n}\nexport function format(data, type, ...argument) {\n const handler = get(type, ...argument);\n return handler\n ? handler.format(StateEditor.modify(handler.toString(typeof data == \"string\" ? parse(data, type, argument) : data)))\n .value\n : \"\";\n}\nexport function parse(value, type, ...argument) {\n const handler = get(type, argument);\n return handler ? handler.fromString(handler.unformat(StateEditor.modify(value)).value) : undefined;\n}\n//# sourceMappingURL=base.js.map","import { add } from \"./base\";\nclass Handler {\n toString(data) {\n return typeof data == \"string\" ? data : \"\";\n }\n fromString(value) {\n return typeof value == \"string\" ? value : undefined;\n }\n format(unformatted) {\n return { ...unformatted, type: \"tel\", autocomplete: \"cc-csc\", length: [3, 3], pattern: /^\\d{3}$/ };\n }\n unformat(formatted) {\n return formatted;\n }\n allowed(symbol, state) {\n return state.value.length < 3 && symbol >= \"0\" && symbol <= \"9\";\n }\n}\nadd(\"card-csc\", () => new Handler());\n//# sourceMappingURL=card-csc.js.map","import { add } from \"./base\";\nclass Handler {\n toString(data) {\n return Array.isArray(data) && data.length == 2 && typeof data[0] == \"number\" && typeof data[1] == \"number\"\n ? data[0].toString().padStart(2, \"0\") + data[1].toString().padStart(2, \"0\")\n : \"\";\n }\n fromString(value) {\n return typeof value == \"string\" && value.length == 4\n ? [Number.parseInt(value.slice(0, 2)), Number.parseInt(value.slice(2))]\n : undefined;\n }\n format(unformatted) {\n let result = unformatted;\n if (unformatted.value.length > 0 && !unformatted.is(0, \"0\", \"1\"))\n result = result.prepend(\"0\");\n if (result.value.length > 1)\n result = result.insert(2, \" / \");\n return { ...result, type: \"tel\", autocomplete: \"cc-exp\", length: [7, 7], pattern: /^(0[1-9]|1[012]) \\/ \\d\\d$/ };\n }\n unformat(formatted) {\n return formatted.delete(\" / \");\n }\n allowed(symbol, state) {\n return state.value.length < 4 && symbol >= \"0\" && symbol <= \"9\";\n }\n}\nadd(\"card-expires\", () => new Handler());\n//# sourceMappingURL=card-expires.js.map","import { add } from \"./base\";\nclass Handler {\n toString(data) {\n return typeof data == \"string\" ? data : \"\";\n }\n fromString(value) {\n return typeof value == \"string\" ? value : undefined;\n }\n format(unformatted) {\n const issuer = getIssuer(unformatted.value);\n const result = unformatted.map((symbol, index) => (index != 0 && index % 4 == 0 && index + 1 < issuer.length[0] ? \" \" : \"\") + symbol);\n return {\n ...result,\n type: \"tel\",\n autocomplete: \"cc-number\",\n length: issuer.length.slice(1),\n pattern: issuer.verification,\n classes: [\"issuer-\" + issuer.icon],\n };\n }\n unformat(formatted) {\n return formatted.delete(\" \");\n }\n allowed(symbol, state) {\n const issuer = getIssuer(state.value);\n return symbol >= \"0\" && symbol <= \"9\" && state.value.length < issuer.length[0];\n }\n}\nadd(\"card-number\", () => new Handler());\nfunction getIssuer(value) {\n let result = defaultIssuer;\n for (const key in issuers)\n if (Object.prototype.hasOwnProperty.call(issuers, key) && issuers[key].identification.test(value)) {\n result = { ...defaultIssuer, name: key, ...issuers[key] };\n break;\n }\n return result;\n}\nconst defaultIssuer = {\n name: \"unknown\",\n verification: /^\\d{19}$/,\n identification: /^\\d/,\n length: [16, 16, 19],\n icon: \"generic\",\n};\nconst issuers = {\n amex: {\n verification: /^3[47][0-9]{2}\\s[0-9]{4}\\s[0-9]{4}\\s[0-9]{3}$/,\n identification: /^3[47]/,\n length: [15, 18, 18],\n icon: \"amex\",\n },\n dankort: {\n verification: /^(5019)\\s[0-9]{4}\\s[0-9]{4}\\s[0-9]{4}$/,\n identification: /^(5019)\\d+/,\n length: [16, 19, 19],\n icon: \"generic\",\n },\n diners: {\n verification: /^3(?:0[0-5]|[68][0-9])[0-9]\\s[0-9]{4}\\s[0-9]{4}\\s[0-9]{2}$/,\n identification: /^3(?:0[0-5]|[68][0-9])/,\n length: [14, 17, 17],\n icon: \"diners\",\n },\n discover: {\n verification: /^6(?:011|5[0-9]{2})\\s[0-9]{4}\\s[0-9]{4}\\s[0-9]{4}$/,\n identification: /^6(?:011|5[0-9]{2})/,\n length: [16, 19, 19],\n icon: \"generic\",\n },\n electron: {\n verification: /^((4026|4405|4508|4844|4913|4917)\\s[0-9]{4}\\s[0-9]{4}\\s[0-9]{4})|((4175)\\s(00)[0-9]{2}\\s[0-9]{4}\\s[0-9]{4})$/,\n identification: /^(4026|417500|4405|4508|4844|4913|4917)/,\n length: [16, 19, 19],\n icon: \"generic\",\n },\n interpayment: {\n verification: /^(636)[0-9]\\s[0-9]{4}\\s[0-9]{4}\\s[0-9]{4}$/,\n identification: /^(636)/,\n length: [16, 19, 19],\n icon: \"generic\",\n },\n jcb: {\n verification: /^((?:2131|1800)\\s[0-9]{4}\\s[0-9]{4}\\s[0-9]{4})|(35[0-9]{2}\\s[0-9]{4}\\s[0-9]{4}\\s[0-9]{4})$/,\n identification: /^(?:2131|1800|35\\d{3})/,\n length: [16, 19, 19],\n icon: \"generic\",\n },\n unionpay: {\n verification: /^(62|88)[0-9]{2}\\s[0-9]{4}\\s[0-9]{4}\\s[0-9]{4}$/,\n identification: /^(62|88)/,\n length: [16, 19, 19],\n icon: \"generic\",\n },\n maestro: {\n verification: /^(5018|5020|5038|5612|5893|6304|6759|6761|6762|6763|0604|6390)\\s[0-9]{4}\\s[0-9]{4}\\s[0-9]{4}$/,\n identification: /^(5018|5020|5038|5612|5893|6304|6759|6761|6762|6763|0604|6390)/,\n length: [16, 19, 19],\n icon: \"maestro\",\n },\n mastercard: {\n verification: /^5[1-5][0-9]{2}\\s[0-9]{4}\\s[0-9]{4}\\s[0-9]{4}$/,\n identification: /^5[1-5][0-9]/,\n length: [16, 19, 19],\n icon: \"mastercard\",\n },\n visa: {\n verification: /^4[0-9]{3}\\s[0-9]{4}\\s[0-9]{4}\\s[0-9](?:[0-9]{3})?$/,\n identification: /^4[0-9]/,\n length: [16, 16, 19],\n icon: \"visa\",\n },\n};\n//# sourceMappingURL=card-number.js.map","export var CallingCode;\n(function (CallingCode) {\n function is(value) {\n return (typeof value == \"string\" &&\n value.length <= 5 &&\n (value == \"+93\" ||\n value == \"+358\" ||\n value == \"+355\" ||\n value == \"+213\" ||\n value == \"+1684\" ||\n value == \"+376\" ||\n value == \"+244\" ||\n value == \"+1264\" ||\n value == \"+672\" ||\n value == \"+1268\" ||\n value == \"+54\" ||\n value == \"+374\" ||\n value == \"+297\" ||\n value == \"+61\" ||\n value == \"+43\" ||\n value == \"+994\" ||\n value == \"+1242\" ||\n value == \"+973\" ||\n value == \"+880\" ||\n value == \"+1246\" ||\n value == \"+375\" ||\n value == \"+32\" ||\n value == \"+501\" ||\n value == \"+229\" ||\n value == \"+1441\" ||\n value == \"+975\" ||\n value == \"+591\" ||\n value == \"+387\" ||\n value == \"+267\" ||\n value == \"+55\" ||\n value == \"+246\" ||\n value == \"+673\" ||\n value == \"+359\" ||\n value == \"+226\" ||\n value == \"+257\" ||\n value == \"+855\" ||\n value == \"+237\" ||\n value == \"+1\" ||\n value == \"+238\" ||\n value == \"+345\" ||\n value == \"+236\" ||\n value == \"+235\" ||\n value == \"+56\" ||\n value == \"+86\" ||\n value == \"+61\" ||\n value == \"+61\" ||\n value == \"+57\" ||\n value == \"+269\" ||\n value == \"+242\" ||\n value == \"+243\" ||\n value == \"+682\" ||\n value == \"+506\" ||\n value == \"+225\" ||\n value == \"+385\" ||\n value == \"+53\" ||\n value == \"+357\" ||\n value == \"+420\" ||\n value == \"+45\" ||\n value == \"+253\" ||\n value == \"+1767\" ||\n value == \"+1849\" ||\n value == \"+593\" ||\n value == \"+20\" ||\n value == \"+503\" ||\n value == \"+240\" ||\n value == \"+291\" ||\n value == \"+372\" ||\n value == \"+251\" ||\n value == \"+500\" ||\n value == \"+298\" ||\n value == \"+679\" ||\n value == \"+358\" ||\n value == \"+33\" ||\n value == \"+594\" ||\n value == \"+689\" ||\n value == \"+241\" ||\n value == \"+220\" ||\n value == \"+995\" ||\n value == \"+49\" ||\n value == \"+233\" ||\n value == \"+350\" ||\n value == \"+30\" ||\n value == \"+299\" ||\n value == \"+1473\" ||\n value == \"+590\" ||\n value == \"+1671\" ||\n value == \"+502\" ||\n value == \"+44\" ||\n value == \"+224\" ||\n value == \"+245\" ||\n value == \"+592\" ||\n value == \"+509\" ||\n value == \"+379\" ||\n value == \"+504\" ||\n value == \"+852\" ||\n value == \"+36\" ||\n value == \"+354\" ||\n value == \"+91\" ||\n value == \"+62\" ||\n value == \"+98\" ||\n value == \"+964\" ||\n value == \"+353\" ||\n value == \"+44\" ||\n value == \"+972\" ||\n value == \"+39\" ||\n value == \"+1876\" ||\n value == \"+81\" ||\n value == \"+44\" ||\n value == \"+962\" ||\n value == \"+77\" ||\n value == \"+254\" ||\n value == \"+686\" ||\n value == \"+850\" ||\n value == \"+82\" ||\n value == \"+965\" ||\n value == \"+996\" ||\n value == \"+856\" ||\n value == \"+371\" ||\n value == \"+961\" ||\n value == \"+266\" ||\n value == \"+231\" ||\n value == \"+218\" ||\n value == \"+423\" ||\n value == \"+370\" ||\n value == \"+352\" ||\n value == \"+853\" ||\n value == \"+389\" ||\n value == \"+261\" ||\n value == \"+265\" ||\n value == \"+60\" ||\n value == \"+960\" ||\n value == \"+223\" ||\n value == \"+356\" ||\n value == \"+692\" ||\n value == \"+596\" ||\n value == \"+222\" ||\n value == \"+230\" ||\n value == \"+262\" ||\n value == \"+52\" ||\n value == \"+691\" ||\n value == \"+373\" ||\n value == \"+377\" ||\n value == \"+976\" ||\n value == \"+382\" ||\n value == \"+1664\" ||\n value == \"+212\" ||\n value == \"+258\" ||\n value == \"+95\" ||\n value == \"+264\" ||\n value == \"+674\" ||\n value == \"+977\" ||\n value == \"+31\" ||\n value == \"+599\" ||\n value == \"+687\" ||\n value == \"+64\" ||\n value == \"+505\" ||\n value == \"+227\" ||\n value == \"+234\" ||\n value == \"+683\" ||\n value == \"+672\" ||\n value == \"+1670\" ||\n value == \"+47\" ||\n value == \"+968\" ||\n value == \"+92\" ||\n value == \"+680\" ||\n value == \"+970\" ||\n value == \"+507\" ||\n value == \"+675\" ||\n value == \"+595\" ||\n value == \"+51\" ||\n value == \"+63\" ||\n value == \"+872\" ||\n value == \"+48\" ||\n value == \"+351\" ||\n value == \"+1939\" ||\n value == \"+974\" ||\n value == \"+40\" ||\n value == \"+7\" ||\n value == \"+250\" ||\n value == \"+262\" ||\n value == \"+590\" ||\n value == \"+290\" ||\n value == \"+1869\" ||\n value == \"+1758\" ||\n value == \"+590\" ||\n value == \"+508\" ||\n value == \"+1784\" ||\n value == \"+685\" ||\n value == \"+378\" ||\n value == \"+239\" ||\n value == \"+966\" ||\n value == \"+221\" ||\n value == \"+381\" ||\n value == \"+248\" ||\n value == \"+232\" ||\n value == \"+65\" ||\n value == \"+421\" ||\n value == \"+386\" ||\n value == \"+677\" ||\n value == \"+252\" ||\n value == \"+27\" ||\n value == \"+211\" ||\n value == \"+500\" ||\n value == \"+34\" ||\n value == \"+94\" ||\n value == \"+249\" ||\n value == \"+597\" ||\n value == \"+47\" ||\n value == \"+268\" ||\n value == \"+46\" ||\n value == \"+41\" ||\n value == \"+963\" ||\n value == \"+886\" ||\n value == \"+992\" ||\n value == \"+255\" ||\n value == \"+66\" ||\n value == \"+670\" ||\n value == \"+228\" ||\n value == \"+690\" ||\n value == \"+676\" ||\n value == \"+1868\" ||\n value == \"+216\" ||\n value == \"+90\" ||\n value == \"+993\" ||\n value == \"+1649\" ||\n value == \"+688\" ||\n value == \"+256\" ||\n value == \"+380\" ||\n value == \"+971\" ||\n value == \"+44\" ||\n value == \"+1\" ||\n value == \"+598\" ||\n value == \"+998\" ||\n value == \"+678\" ||\n value == \"+58\" ||\n value == \"+84\" ||\n value == \"+1284\" ||\n value == \"+1340\" ||\n value == \"+681\" ||\n value == \"+967\" ||\n value == \"+260\" ||\n value == \"+263\"));\n }\n CallingCode.is = is;\n function from(country) {\n return alpha2toCallingCode[country];\n }\n CallingCode.from = from;\n function to(callingCode) {\n return callingCodetoAlpha2[callingCode];\n }\n CallingCode.to = to;\n function seperate(phoneNumber) {\n let result = [undefined, phoneNumber];\n if (phoneNumber.substring(0, 1) == \"+\") {\n for (let end = 5; end > 1; end--) {\n const callingCode = phoneNumber.substring(0, end);\n if (CallingCode.is(callingCode)) {\n result = [callingCode, phoneNumber.substring(end)];\n break;\n }\n }\n }\n return result;\n }\n CallingCode.seperate = seperate;\n})(CallingCode || (CallingCode = {}));\nconst callingCodetoAlpha2 = {\n \"+93\": \"AF\",\n \"+358\": [\"FI\", \"AX\"],\n \"+355\": \"AL\",\n \"+213\": \"DZ\",\n \"+1684\": \"AS\",\n \"+376\": \"AD\",\n \"+244\": \"AO\",\n \"+1264\": \"AI\",\n \"+672\": [\"NF\", \"AQ\"],\n \"+1268\": \"AG\",\n \"+54\": \"AR\",\n \"+374\": \"AM\",\n \"+297\": \"AW\",\n \"+61\": [\"AU\", \"CX\", \"CC\"],\n \"+43\": \"AT\",\n \"+994\": \"AZ\",\n \"+1242\": \"BS\",\n \"+973\": \"BH\",\n \"+880\": \"BD\",\n \"+1246\": \"BB\",\n \"+375\": \"BY\",\n \"+32\": \"BE\",\n \"+501\": \"BZ\",\n \"+229\": \"BJ\",\n \"+1441\": \"BM\",\n \"+975\": \"BT\",\n \"+591\": \"BO\",\n \"+599\": \"BQ\",\n \"+387\": \"BA\",\n \"+267\": \"BW\",\n \"+55\": \"BR\",\n \"+246\": \"IO\",\n \"+673\": \"BN\",\n \"+359\": \"BG\",\n \"+226\": \"BF\",\n \"+257\": \"BI\",\n \"+855\": \"KH\",\n \"+237\": \"CM\",\n \"+1\": [\"US\", \"CA\"],\n \"+238\": \"CV\",\n \"+345\": \"KY\",\n \"+236\": \"CF\",\n \"+235\": \"TD\",\n \"+56\": \"CL\",\n \"+86\": \"CN\",\n \"+57\": \"CO\",\n \"+269\": \"KM\",\n \"+242\": \"CG\",\n \"+243\": \"CD\",\n \"+682\": \"CK\",\n \"+506\": \"CR\",\n \"+225\": \"CI\",\n \"+385\": \"HR\",\n \"+53\": \"CU\",\n \"+357\": \"CY\",\n \"+420\": \"CZ\",\n \"+45\": \"DK\",\n \"+253\": \"DJ\",\n \"+1767\": \"DM\",\n \"+1849\": \"DO\",\n \"+593\": \"EC\",\n \"+20\": \"EG\",\n \"+503\": \"SV\",\n \"+240\": \"GQ\",\n \"+291\": \"ER\",\n \"+372\": \"EE\",\n \"+251\": \"ET\",\n \"+500\": [\"FK\", \"GS\"],\n \"+298\": \"FO\",\n \"+679\": \"FJ\",\n \"+33\": \"FR\",\n \"+594\": \"GF\",\n \"+689\": \"PF\",\n \"+241\": \"GA\",\n \"+220\": \"GM\",\n \"+995\": \"GE\",\n \"+49\": \"DE\",\n \"+233\": \"GH\",\n \"+350\": \"GI\",\n \"+30\": \"GR\",\n \"+299\": \"GL\",\n \"+1473\": \"GD\",\n \"+590\": [\"GP\", \"BL\", \"MF\"],\n \"+1671\": \"GU\",\n \"+502\": \"GT\",\n \"+44\": [\"GB\", \"JE\", \"IM\", \"GG\"],\n \"+224\": \"GN\",\n \"+245\": \"GW\",\n \"+592\": \"GY\",\n \"+595\": \"PY\",\n \"+509\": \"HT\",\n \"+379\": \"VA\",\n \"+504\": \"HN\",\n \"+852\": \"HK\",\n \"+36\": \"HU\",\n \"+354\": \"IS\",\n \"+91\": \"IN\",\n \"+62\": \"ID\",\n \"+98\": \"IR\",\n \"+964\": \"IQ\",\n \"+353\": \"IE\",\n \"+972\": \"IL\",\n \"+39\": \"IT\",\n \"+1876\": \"JM\",\n \"+81\": \"JP\",\n \"+962\": \"JO\",\n \"+77\": \"KZ\",\n \"+254\": \"KE\",\n \"+686\": \"KI\",\n \"+850\": \"KP\",\n \"+82\": \"KR\",\n \"+965\": \"KW\",\n \"+996\": \"KG\",\n \"+856\": \"LA\",\n \"+371\": \"LV\",\n \"+961\": \"LB\",\n \"+266\": \"LS\",\n \"+231\": \"LR\",\n \"+218\": \"LY\",\n \"+423\": \"LI\",\n \"+370\": \"LT\",\n \"+352\": \"LU\",\n \"+853\": \"MO\",\n \"+389\": \"MK\",\n \"+261\": \"MG\",\n \"+265\": \"MW\",\n \"+60\": \"MY\",\n \"+960\": \"MV\",\n \"+223\": \"ML\",\n \"+356\": \"MT\",\n \"+692\": \"MH\",\n \"+596\": \"MQ\",\n \"+222\": \"MR\",\n \"+230\": \"MU\",\n \"+262\": [\"RE\", \"YT\"],\n \"+52\": \"MX\",\n \"+691\": \"FM\",\n \"+373\": \"MD\",\n \"+377\": \"MC\",\n \"+976\": \"MN\",\n \"+382\": \"ME\",\n \"+1664\": \"MS\",\n \"+212\": \"MA\",\n \"+258\": \"MZ\",\n \"+95\": \"MM\",\n \"+264\": \"NA\",\n \"+674\": \"NR\",\n \"+977\": \"NP\",\n \"+31\": \"NL\",\n \"+687\": \"NC\",\n \"+64\": \"NZ\",\n \"+505\": \"NI\",\n \"+227\": \"NE\",\n \"+234\": \"NG\",\n \"+683\": \"NU\",\n \"+1670\": \"MP\",\n \"+47\": [\"NO\", \"SJ\"],\n \"+968\": \"OM\",\n \"+92\": \"PK\",\n \"+680\": \"PW\",\n \"+970\": \"PS\",\n \"+507\": \"PA\",\n \"+675\": \"PG\",\n \"+51\": \"PE\",\n \"+63\": \"PH\",\n \"+872\": \"PN\",\n \"+48\": \"PL\",\n \"+351\": \"PT\",\n \"+1939\": \"PR\",\n \"+974\": \"QA\",\n \"+40\": \"RO\",\n \"+7\": \"RU\",\n \"+250\": \"RW\",\n \"+290\": \"SH\",\n \"+1869\": \"KN\",\n \"+1758\": \"LC\",\n \"+508\": \"PM\",\n \"+1784\": \"VC\",\n \"+685\": \"WS\",\n \"+378\": \"SM\",\n \"+239\": \"ST\",\n \"+966\": \"SA\",\n \"+221\": \"SN\",\n \"+381\": \"RS\",\n \"+248\": \"SC\",\n \"+232\": \"SL\",\n \"+65\": \"SG\",\n \"+421\": \"SK\",\n \"+386\": \"SI\",\n \"+677\": \"SB\",\n \"+252\": \"SO\",\n \"+27\": \"ZA\",\n \"+211\": \"SS\",\n \"+34\": \"ES\",\n \"+94\": \"LK\",\n \"+249\": \"SD\",\n \"+597\": \"SR\",\n \"+268\": \"SZ\",\n \"+46\": \"SE\",\n \"+41\": \"CH\",\n \"+963\": \"SY\",\n \"+886\": \"TW\",\n \"+992\": \"TJ\",\n \"+255\": \"TZ\",\n \"+66\": \"TH\",\n \"+670\": \"TL\",\n \"+228\": \"TG\",\n \"+690\": \"TK\",\n \"+676\": \"TO\",\n \"+1868\": \"TT\",\n \"+216\": \"TN\",\n \"+90\": \"TR\",\n \"+993\": \"TM\",\n \"+1649\": \"TC\",\n \"+688\": \"TV\",\n \"+256\": \"UG\",\n \"+380\": \"UA\",\n \"+971\": \"AE\",\n \"+598\": \"UY\",\n \"+998\": \"UZ\",\n \"+678\": \"VU\",\n \"+58\": \"VE\",\n \"+84\": \"VN\",\n \"+1284\": \"VG\",\n \"+1340\": \"VI\",\n \"+681\": \"WF\",\n \"+967\": \"YE\",\n \"+260\": \"ZM\",\n \"+263\": \"ZW\",\n};\nconst alpha2toCallingCode = {\n AF: \"+93\",\n AX: \"+358\",\n AL: \"+355\",\n DZ: \"+213\",\n AS: \"+1684\",\n AD: \"+376\",\n AO: \"+244\",\n AI: \"+1264\",\n AQ: \"+672\",\n AG: \"+1268\",\n AR: \"+54\",\n AM: \"+374\",\n AW: \"+297\",\n AU: \"+61\",\n AT: \"+43\",\n AZ: \"+994\",\n BS: \"+1242\",\n BH: \"+973\",\n BD: \"+880\",\n BB: \"+1246\",\n BY: \"+375\",\n BE: \"+32\",\n BZ: \"+501\",\n BJ: \"+229\",\n BM: \"+1441\",\n BT: \"+975\",\n BO: \"+591\",\n BQ: \"+599\",\n BA: \"+387\",\n BW: \"+267\",\n BR: \"+55\",\n IO: \"+246\",\n BN: \"+673\",\n BG: \"+359\",\n BF: \"+226\",\n BI: \"+257\",\n KH: \"+855\",\n CM: \"+237\",\n CA: \"+1\",\n CV: \"+238\",\n KY: \"+345\",\n CF: \"+236\",\n TD: \"+235\",\n CL: \"+56\",\n CN: \"+86\",\n CX: \"+61\",\n CC: \"+61\",\n CO: \"+57\",\n KM: \"+269\",\n CG: \"+242\",\n CD: \"+243\",\n CK: \"+682\",\n CR: \"+506\",\n CI: \"+225\",\n HR: \"+385\",\n CU: \"+53\",\n CY: \"+357\",\n CZ: \"+420\",\n DK: \"+45\",\n DJ: \"+253\",\n DM: \"+1767\",\n DO: \"+1849\",\n EC: \"+593\",\n EG: \"+20\",\n SV: \"+503\",\n GQ: \"+240\",\n ER: \"+291\",\n EE: \"+372\",\n ET: \"+251\",\n FK: \"+500\",\n FO: \"+298\",\n FJ: \"+679\",\n FI: \"+358\",\n FR: \"+33\",\n GF: \"+594\",\n PF: \"+689\",\n GA: \"+241\",\n GM: \"+220\",\n GE: \"+995\",\n DE: \"+49\",\n GH: \"+233\",\n GI: \"+350\",\n GR: \"+30\",\n GL: \"+299\",\n GD: \"+1473\",\n GP: \"+590\",\n GU: \"+1671\",\n GT: \"+502\",\n GG: \"+44\",\n GN: \"+224\",\n GW: \"+245\",\n GY: \"+592\",\n HT: \"+509\",\n VA: \"+379\",\n HN: \"+504\",\n HK: \"+852\",\n HU: \"+36\",\n IS: \"+354\",\n IN: \"+91\",\n ID: \"+62\",\n IR: \"+98\",\n IQ: \"+964\",\n IE: \"+353\",\n IM: \"+44\",\n IL: \"+972\",\n IT: \"+39\",\n JM: \"+1876\",\n JP: \"+81\",\n JE: \"+44\",\n JO: \"+962\",\n KZ: \"+77\",\n KE: \"+254\",\n KI: \"+686\",\n KP: \"+850\",\n KR: \"+82\",\n KW: \"+965\",\n KG: \"+996\",\n LA: \"+856\",\n LV: \"+371\",\n LB: \"+961\",\n LS: \"+266\",\n LR: \"+231\",\n LY: \"+218\",\n LI: \"+423\",\n LT: \"+370\",\n LU: \"+352\",\n MO: \"+853\",\n MK: \"+389\",\n MG: \"+261\",\n MW: \"+265\",\n MY: \"+60\",\n MV: \"+960\",\n ML: \"+223\",\n MT: \"+356\",\n MH: \"+692\",\n MQ: \"+596\",\n MR: \"+222\",\n MU: \"+230\",\n YT: \"+262\",\n MX: \"+52\",\n FM: \"+691\",\n MD: \"+373\",\n MC: \"+377\",\n MN: \"+976\",\n ME: \"+382\",\n MS: \"+1664\",\n MA: \"+212\",\n MZ: \"+258\",\n MM: \"+95\",\n NA: \"+264\",\n NR: \"+674\",\n NP: \"+977\",\n NL: \"+31\",\n NC: \"+687\",\n NZ: \"+64\",\n NI: \"+505\",\n NE: \"+227\",\n NG: \"+234\",\n NU: \"+683\",\n NF: \"+672\",\n MP: \"+1670\",\n NO: \"+47\",\n OM: \"+968\",\n PK: \"+92\",\n PW: \"+680\",\n PS: \"+970\",\n PA: \"+507\",\n PG: \"+675\",\n PY: \"+595\",\n PE: \"+51\",\n PH: \"+63\",\n PN: \"+872\",\n PL: \"+48\",\n PT: \"+351\",\n PR: \"+1939\",\n QA: \"+974\",\n RO: \"+40\",\n RU: \"+7\",\n RW: \"+250\",\n RE: \"+262\",\n BL: \"+590\",\n SH: \"+290\",\n KN: \"+1869\",\n LC: \"+1758\",\n MF: \"+590\",\n PM: \"+508\",\n VC: \"+1784\",\n WS: \"+685\",\n SM: \"+378\",\n ST: \"+239\",\n SA: \"+966\",\n SN: \"+221\",\n RS: \"+381\",\n SC: \"+248\",\n SL: \"+232\",\n SG: \"+65\",\n SK: \"+421\",\n SI: \"+386\",\n SB: \"+677\",\n SO: \"+252\",\n ZA: \"+27\",\n SS: \"+211\",\n GS: \"+500\",\n ES: \"+34\",\n LK: \"+94\",\n SD: \"+249\",\n SR: \"+597\",\n SJ: \"+47\",\n SZ: \"+268\",\n SE: \"+46\",\n CH: \"+41\",\n SY: \"+963\",\n TW: \"+886\",\n TJ: \"+992\",\n TZ: \"+255\",\n TH: \"+66\",\n TL: \"+670\",\n TG: \"+228\",\n TK: \"+690\",\n TO: \"+676\",\n TT: \"+1868\",\n TN: \"+216\",\n TR: \"+90\",\n TM: \"+993\",\n TC: \"+1649\",\n TV: \"+688\",\n UG: \"+256\",\n UA: \"+380\",\n AE: \"+971\",\n GB: \"+44\",\n US: \"+1\",\n UY: \"+598\",\n UZ: \"+998\",\n VU: \"+678\",\n VE: \"+58\",\n VN: \"+84\",\n VG: \"+1284\",\n VI: \"+1340\",\n WF: \"+681\",\n YE: \"+967\",\n ZM: \"+260\",\n ZW: \"+263\",\n};\n//# sourceMappingURL=CallingCode.js.map","export var Alpha2;\n(function (Alpha2) {\n Alpha2.types = [\n \"AD\",\n \"AE\",\n \"AF\",\n \"AG\",\n \"AI\",\n \"AL\",\n \"AM\",\n \"AO\",\n \"AQ\",\n \"AR\",\n \"AS\",\n \"AT\",\n \"AU\",\n \"AW\",\n \"AX\",\n \"AZ\",\n \"BA\",\n \"BB\",\n \"BD\",\n \"BE\",\n \"BF\",\n \"BG\",\n \"BH\",\n \"BI\",\n \"BJ\",\n \"BL\",\n \"BM\",\n \"BN\",\n \"BO\",\n \"BQ\",\n \"BR\",\n \"BS\",\n \"BT\",\n \"BV\",\n \"BW\",\n \"BY\",\n \"BZ\",\n \"CA\",\n \"CC\",\n \"CD\",\n \"CF\",\n \"CG\",\n \"CH\",\n \"CI\",\n \"CK\",\n \"CL\",\n \"CM\",\n \"CN\",\n \"CO\",\n \"CR\",\n \"CU\",\n \"CV\",\n \"CW\",\n \"CX\",\n \"CY\",\n \"CZ\",\n \"DE\",\n \"DJ\",\n \"DK\",\n \"DM\",\n \"DO\",\n \"DZ\",\n \"EC\",\n \"EE\",\n \"EG\",\n \"EH\",\n \"ER\",\n \"ES\",\n \"ET\",\n \"FI\",\n \"FJ\",\n \"FK\",\n \"FM\",\n \"FO\",\n \"FR\",\n \"GA\",\n \"GB\",\n \"GD\",\n \"GE\",\n \"GF\",\n \"GG\",\n \"GH\",\n \"GI\",\n \"GL\",\n \"GM\",\n \"GN\",\n \"GP\",\n \"GQ\",\n \"GR\",\n \"GS\",\n \"GT\",\n \"GU\",\n \"GW\",\n \"GY\",\n \"HK\",\n \"HM\",\n \"HN\",\n \"HR\",\n \"HT\",\n \"HU\",\n \"ID\",\n \"IE\",\n \"IL\",\n \"IM\",\n \"IN\",\n \"IO\",\n \"IQ\",\n \"IR\",\n \"IS\",\n \"IT\",\n \"JE\",\n \"JM\",\n \"JO\",\n \"JP\",\n \"KE\",\n \"KG\",\n \"KH\",\n \"KI\",\n \"KM\",\n \"KN\",\n \"KP\",\n \"KR\",\n \"KW\",\n \"KY\",\n \"KZ\",\n \"LA\",\n \"LB\",\n \"LC\",\n \"LI\",\n \"LK\",\n \"LR\",\n \"LS\",\n \"LT\",\n \"LU\",\n \"LV\",\n \"LY\",\n \"MA\",\n \"MC\",\n \"MD\",\n \"ME\",\n \"MF\",\n \"MG\",\n \"MH\",\n \"MK\",\n \"ML\",\n \"MM\",\n \"MN\",\n \"MO\",\n \"MP\",\n \"MQ\",\n \"MR\",\n \"MS\",\n \"MT\",\n \"MU\",\n \"MV\",\n \"MW\",\n \"MX\",\n \"MY\",\n \"MZ\",\n \"NA\",\n \"NC\",\n \"NE\",\n \"NF\",\n \"NG\",\n \"NI\",\n \"NL\",\n \"NO\",\n \"NP\",\n \"NR\",\n \"NU\",\n \"NZ\",\n \"OM\",\n \"PA\",\n \"PE\",\n \"PF\",\n \"PG\",\n \"PH\",\n \"PK\",\n \"PL\",\n \"PM\",\n \"PN\",\n \"PR\",\n \"PS\",\n \"PT\",\n \"PW\",\n \"PY\",\n \"QA\",\n \"RE\",\n \"RO\",\n \"RS\",\n \"RU\",\n \"RW\",\n \"SA\",\n \"SB\",\n \"SC\",\n \"SD\",\n \"SE\",\n \"SG\",\n \"SH\",\n \"SI\",\n \"SJ\",\n \"SK\",\n \"SL\",\n \"SM\",\n \"SN\",\n \"SO\",\n \"SR\",\n \"SS\",\n \"ST\",\n \"SV\",\n \"SX\",\n \"SY\",\n \"SZ\",\n \"TC\",\n \"TD\",\n \"TF\",\n \"TG\",\n \"TH\",\n \"TJ\",\n \"TK\",\n \"TL\",\n \"TM\",\n \"TN\",\n \"TO\",\n \"TR\",\n \"TT\",\n \"TV\",\n \"TW\",\n \"TZ\",\n \"UA\",\n \"UG\",\n \"UM\",\n \"US\",\n \"UY\",\n \"UZ\",\n \"VA\",\n \"VC\",\n \"VE\",\n \"VG\",\n \"VI\",\n \"VN\",\n \"VU\",\n \"WF\",\n \"WS\",\n \"XK\",\n \"YE\",\n \"YT\",\n \"ZA\",\n \"ZM\",\n \"ZW\",\n ];\n function is(value) {\n return Alpha2.types.includes(value);\n }\n Alpha2.is = is;\n function from(country) {\n return typeof country == \"number\" ? numericToAlpha2[country] : alpha3ToAlpha2[country];\n }\n Alpha2.from = from;\n function isEEA(country) {\n const eea = [\n \"AT\",\n \"BE\",\n \"BG\",\n \"HR\",\n \"CY\",\n \"DK\",\n \"EE\",\n \"FI\",\n \"FR\",\n \"DE\",\n \"GR\",\n \"HU\",\n \"IS\",\n \"IE\",\n \"IT\",\n \"LV\",\n \"LT\",\n \"MT\",\n \"NL\",\n \"NO\",\n \"PL\",\n \"PT\",\n \"RO\",\n \"SI\",\n \"ES\",\n \"SE\",\n \"LI\",\n \"LU\",\n \"SK\",\n \"CZ\",\n ];\n return eea.includes(country);\n }\n Alpha2.isEEA = isEEA;\n})(Alpha2 || (Alpha2 = {}));\nconst numericToAlpha2 = {\n \"4\": \"AF\",\n \"248\": \"AX\",\n \"8\": \"AL\",\n \"12\": \"DZ\",\n \"16\": \"AS\",\n \"20\": \"AD\",\n \"24\": \"AO\",\n \"660\": \"AI\",\n \"10\": \"AQ\",\n \"28\": \"AG\",\n \"32\": \"AR\",\n \"51\": \"AM\",\n \"533\": \"AW\",\n \"36\": \"AU\",\n \"40\": \"AT\",\n \"31\": \"AZ\",\n \"44\": \"BS\",\n \"48\": \"BH\",\n \"50\": \"BD\",\n \"52\": \"BB\",\n \"112\": \"BY\",\n \"56\": \"BE\",\n \"84\": \"BZ\",\n \"204\": \"BJ\",\n \"60\": \"BM\",\n \"64\": \"BT\",\n \"68\": \"BO\",\n \"535\": \"BQ\",\n \"70\": \"BA\",\n \"72\": \"BW\",\n \"74\": \"BV\",\n \"76\": \"BR\",\n \"86\": \"IO\",\n \"96\": \"BN\",\n \"100\": \"BG\",\n \"854\": \"BF\",\n \"108\": \"BI\",\n \"132\": \"CV\",\n \"116\": \"KH\",\n \"120\": \"CM\",\n \"124\": \"CA\",\n \"136\": \"KY\",\n \"140\": \"CF\",\n \"148\": \"TD\",\n \"152\": \"CL\",\n \"156\": \"CN\",\n \"162\": \"CX\",\n \"166\": \"CC\",\n \"170\": \"CO\",\n \"174\": \"KM\",\n \"178\": \"CG\",\n \"180\": \"CD\",\n \"184\": \"CK\",\n \"188\": \"CR\",\n \"384\": \"CI\",\n \"191\": \"HR\",\n \"192\": \"CU\",\n \"531\": \"CW\",\n \"196\": \"CY\",\n \"203\": \"CZ\",\n \"208\": \"DK\",\n \"262\": \"DJ\",\n \"212\": \"DM\",\n \"214\": \"DO\",\n \"218\": \"EC\",\n \"818\": \"EG\",\n \"222\": \"SV\",\n \"226\": \"GQ\",\n \"232\": \"ER\",\n \"233\": \"EE\",\n \"748\": \"SZ\",\n \"231\": \"ET\",\n \"238\": \"FK\",\n \"234\": \"FO\",\n \"242\": \"FJ\",\n \"246\": \"FI\",\n \"250\": \"FR\",\n \"254\": \"GF\",\n \"258\": \"PF\",\n \"260\": \"TF\",\n \"266\": \"GA\",\n \"270\": \"GM\",\n \"268\": \"GE\",\n \"276\": \"DE\",\n \"280\": \"DE\",\n \"288\": \"GH\",\n \"292\": \"GI\",\n \"300\": \"GR\",\n \"304\": \"GL\",\n \"308\": \"GD\",\n \"312\": \"GP\",\n \"316\": \"GU\",\n \"320\": \"GT\",\n \"831\": \"GG\",\n \"324\": \"GN\",\n \"624\": \"GW\",\n \"328\": \"GY\",\n \"332\": \"HT\",\n \"334\": \"HM\",\n \"336\": \"VA\",\n \"340\": \"HN\",\n \"344\": \"HK\",\n \"348\": \"HU\",\n \"352\": \"IS\",\n \"356\": \"IN\",\n \"360\": \"ID\",\n \"364\": \"IR\",\n \"368\": \"IQ\",\n \"372\": \"IE\",\n \"833\": \"IM\",\n \"376\": \"IL\",\n \"380\": \"IT\",\n \"388\": \"JM\",\n \"392\": \"JP\",\n \"832\": \"JE\",\n \"400\": \"JO\",\n \"398\": \"KZ\",\n \"404\": \"KE\",\n \"296\": \"KI\",\n \"408\": \"KP\",\n \"410\": \"KR\",\n \"414\": \"KW\",\n \"417\": \"KG\",\n \"418\": \"LA\",\n \"428\": \"LV\",\n \"422\": \"LB\",\n \"426\": \"LS\",\n \"430\": \"LR\",\n \"434\": \"LY\",\n \"438\": \"LI\",\n \"440\": \"LT\",\n \"442\": \"LU\",\n \"446\": \"MO\",\n \"450\": \"MG\",\n \"454\": \"MW\",\n \"458\": \"MY\",\n \"462\": \"MV\",\n \"466\": \"ML\",\n \"470\": \"MT\",\n \"584\": \"MH\",\n \"474\": \"MQ\",\n \"478\": \"MR\",\n \"480\": \"MU\",\n \"175\": \"YT\",\n \"484\": \"MX\",\n \"583\": \"FM\",\n \"498\": \"MD\",\n \"492\": \"MC\",\n \"496\": \"MN\",\n \"499\": \"ME\",\n \"500\": \"MS\",\n \"504\": \"MA\",\n \"508\": \"MZ\",\n \"104\": \"MM\",\n \"516\": \"NA\",\n \"520\": \"NR\",\n \"524\": \"NP\",\n \"528\": \"NL\",\n \"540\": \"NC\",\n \"554\": \"NZ\",\n \"558\": \"NI\",\n \"562\": \"NE\",\n \"566\": \"NG\",\n \"570\": \"NU\",\n \"574\": \"NF\",\n \"807\": \"MK\",\n \"580\": \"MP\",\n \"578\": \"NO\",\n \"512\": \"OM\",\n \"586\": \"PK\",\n \"585\": \"PW\",\n \"275\": \"PS\",\n \"591\": \"PA\",\n \"598\": \"PG\",\n \"600\": \"PY\",\n \"604\": \"PE\",\n \"608\": \"PH\",\n \"612\": \"PN\",\n \"616\": \"PL\",\n \"620\": \"PT\",\n \"630\": \"PR\",\n \"634\": \"QA\",\n \"638\": \"RE\",\n \"642\": \"RO\",\n \"643\": \"RU\",\n \"646\": \"RW\",\n \"652\": \"BL\",\n \"654\": \"SH\",\n \"659\": \"KN\",\n \"662\": \"LC\",\n \"663\": \"MF\",\n \"666\": \"PM\",\n \"670\": \"VC\",\n \"882\": \"WS\",\n \"674\": \"SM\",\n \"678\": \"ST\",\n \"682\": \"SA\",\n \"686\": \"SN\",\n \"688\": \"RS\",\n \"690\": \"SC\",\n \"694\": \"SL\",\n \"702\": \"SG\",\n \"534\": \"SX\",\n \"703\": \"SK\",\n \"705\": \"SI\",\n \"90\": \"SB\",\n \"706\": \"SO\",\n \"710\": \"ZA\",\n \"239\": \"GS\",\n \"728\": \"SS\",\n \"724\": \"ES\",\n \"144\": \"LK\",\n \"729\": \"SD\",\n \"740\": \"SR\",\n \"744\": \"SJ\",\n \"752\": \"SE\",\n \"756\": \"CH\",\n \"760\": \"SY\",\n \"158\": \"TW\",\n \"762\": \"TJ\",\n \"834\": \"TZ\",\n \"764\": \"TH\",\n \"626\": \"TL\",\n \"768\": \"TG\",\n \"772\": \"TK\",\n \"776\": \"TO\",\n \"780\": \"TT\",\n \"788\": \"TN\",\n \"792\": \"TR\",\n \"795\": \"TM\",\n \"796\": \"TC\",\n \"798\": \"TV\",\n \"800\": \"UG\",\n \"804\": \"UA\",\n \"784\": \"AE\",\n \"826\": \"GB\",\n \"840\": \"US\",\n \"581\": \"UM\",\n \"858\": \"UY\",\n \"860\": \"UZ\",\n \"548\": \"VU\",\n \"862\": \"VE\",\n \"704\": \"VN\",\n \"92\": \"VG\",\n \"850\": \"VI\",\n \"876\": \"WF\",\n \"732\": \"EH\",\n \"887\": \"YE\",\n \"894\": \"ZM\",\n \"716\": \"ZW\",\n \"926\": \"XK\",\n};\nconst alpha3ToAlpha2 = {\n AFG: \"AF\",\n ALA: \"AX\",\n ALB: \"AL\",\n DZA: \"DZ\",\n ASM: \"AS\",\n AND: \"AD\",\n AGO: \"AO\",\n AIA: \"AI\",\n ATA: \"AQ\",\n ATG: \"AG\",\n ARG: \"AR\",\n ARM: \"AM\",\n ABW: \"AW\",\n AUS: \"AU\",\n AUT: \"AT\",\n AZE: \"AZ\",\n BHS: \"BS\",\n BHR: \"BH\",\n BGD: \"BD\",\n BRB: \"BB\",\n BLR: \"BY\",\n BEL: \"BE\",\n BLZ: \"BZ\",\n BEN: \"BJ\",\n BMU: \"BM\",\n BTN: \"BT\",\n BOL: \"BO\",\n BES: \"BQ\",\n BIH: \"BA\",\n BWA: \"BW\",\n BVT: \"BV\",\n BRA: \"BR\",\n IOT: \"IO\",\n BRN: \"BN\",\n BGR: \"BG\",\n BFA: \"BF\",\n BDI: \"BI\",\n CPV: \"CV\",\n KHM: \"KH\",\n CMR: \"CM\",\n CAN: \"CA\",\n CYM: \"KY\",\n CAF: \"CF\",\n TCD: \"TD\",\n CHL: \"CL\",\n CHN: \"CN\",\n CXR: \"CX\",\n CCK: \"CC\",\n COL: \"CO\",\n COM: \"KM\",\n COG: \"CG\",\n COD: \"CD\",\n COK: \"CK\",\n CRI: \"CR\",\n CIV: \"CI\",\n HRV: \"HR\",\n CUB: \"CU\",\n CUW: \"CW\",\n CYP: \"CY\",\n CZE: \"CZ\",\n DNK: \"DK\",\n DJI: \"DJ\",\n DMA: \"DM\",\n DOM: \"DO\",\n ECU: \"EC\",\n EGY: \"EG\",\n SLV: \"SV\",\n GNQ: \"GQ\",\n ERI: \"ER\",\n EST: \"EE\",\n SWZ: \"SZ\",\n ETH: \"ET\",\n FLK: \"FK\",\n FRO: \"FO\",\n FJI: \"FJ\",\n FIN: \"FI\",\n FRA: \"FR\",\n GUF: \"GF\",\n PYF: \"PF\",\n ATF: \"TF\",\n GAB: \"GA\",\n GMB: \"GM\",\n GEO: \"GE\",\n DEU: \"DE\",\n GHA: \"GH\",\n GIB: \"GI\",\n GRC: \"GR\",\n GRL: \"GL\",\n GRD: \"GD\",\n GLP: \"GP\",\n GUM: \"GU\",\n GTM: \"GT\",\n GGY: \"GG\",\n GIN: \"GN\",\n GNB: \"GW\",\n GUY: \"GY\",\n HTI: \"HT\",\n HMD: \"HM\",\n VAT: \"VA\",\n HND: \"HN\",\n HKG: \"HK\",\n HUN: \"HU\",\n ISL: \"IS\",\n IND: \"IN\",\n IDN: \"ID\",\n IRN: \"IR\",\n IRQ: \"IQ\",\n IRL: \"IE\",\n IMN: \"IM\",\n ISR: \"IL\",\n ITA: \"IT\",\n JAM: \"JM\",\n JPN: \"JP\",\n JEY: \"JE\",\n JOR: \"JO\",\n KAZ: \"KZ\",\n KEN: \"KE\",\n KIR: \"KI\",\n PRK: \"KP\",\n KOR: \"KR\",\n KWT: \"KW\",\n KGZ: \"KG\",\n LAO: \"LA\",\n LVA: \"LV\",\n LBN: \"LB\",\n LSO: \"LS\",\n LBR: \"LR\",\n LBY: \"LY\",\n LIE: \"LI\",\n LTU: \"LT\",\n LUX: \"LU\",\n MAC: \"MO\",\n MDG: \"MG\",\n MWI: \"MW\",\n MYS: \"MY\",\n MDV: \"MV\",\n MLI: \"ML\",\n MLT: \"MT\",\n MHL: \"MH\",\n MTQ: \"MQ\",\n MRT: \"MR\",\n MUS: \"MU\",\n MYT: \"YT\",\n MEX: \"MX\",\n FSM: \"FM\",\n MDA: \"MD\",\n MCO: \"MC\",\n MNG: \"MN\",\n MNE: \"ME\",\n MSR: \"MS\",\n MAR: \"MA\",\n MOZ: \"MZ\",\n MMR: \"MM\",\n NAM: \"NA\",\n NRU: \"NR\",\n NPL: \"NP\",\n NLD: \"NL\",\n NCL: \"NC\",\n NZL: \"NZ\",\n NIC: \"NI\",\n NER: \"NE\",\n NGA: \"NG\",\n NIU: \"NU\",\n NFK: \"NF\",\n MKD: \"MK\",\n MNP: \"MP\",\n NOR: \"NO\",\n OMN: \"OM\",\n PAK: \"PK\",\n PLW: \"PW\",\n PSE: \"PS\",\n PAN: \"PA\",\n PNG: \"PG\",\n PRY: \"PY\",\n PER: \"PE\",\n PHL: \"PH\",\n PCN: \"PN\",\n POL: \"PL\",\n PRT: \"PT\",\n PRI: \"PR\",\n QAT: \"QA\",\n REU: \"RE\",\n ROU: \"RO\",\n RUS: \"RU\",\n RWA: \"RW\",\n BLM: \"BL\",\n SHN: \"SH\",\n KNA: \"KN\",\n LCA: \"LC\",\n MAF: \"MF\",\n SPM: \"PM\",\n VCT: \"VC\",\n WSM: \"WS\",\n SMR: \"SM\",\n STP: \"ST\",\n SAU: \"SA\",\n SEN: \"SN\",\n SRB: \"RS\",\n SYC: \"SC\",\n SLE: \"SL\",\n SGP: \"SG\",\n SXM: \"SX\",\n SVK: \"SK\",\n SVN: \"SI\",\n SLB: \"SB\",\n SOM: \"SO\",\n ZAF: \"ZA\",\n SGS: \"GS\",\n SSD: \"SS\",\n ESP: \"ES\",\n LKA: \"LK\",\n SDN: \"SD\",\n SUR: \"SR\",\n SJM: \"SJ\",\n SWE: \"SE\",\n CHE: \"CH\",\n SYR: \"SY\",\n TWN: \"TW\",\n TJK: \"TJ\",\n TZA: \"TZ\",\n THA: \"TH\",\n TLS: \"TL\",\n TGO: \"TG\",\n TKL: \"TK\",\n TON: \"TO\",\n TTO: \"TT\",\n TUN: \"TN\",\n TUR: \"TR\",\n TKM: \"TM\",\n TCA: \"TC\",\n TUV: \"TV\",\n UGA: \"UG\",\n UKR: \"UA\",\n ARE: \"AE\",\n GBR: \"GB\",\n USA: \"US\",\n UMI: \"UM\",\n URY: \"UY\",\n UZB: \"UZ\",\n VUT: \"VU\",\n VEN: \"VE\",\n VNM: \"VN\",\n VGB: \"VG\",\n VIR: \"VI\",\n WLF: \"WF\",\n ESH: \"EH\",\n YEM: \"YE\",\n ZMB: \"ZM\",\n ZWE: \"ZW\",\n XKX: \"XK\",\n};\n//# sourceMappingURL=Alpha2.js.map","import { Alpha2 } from \"./Alpha2\";\nexport var Alpha3;\n(function (Alpha3) {\n Alpha3.types = [\n \"ABW\",\n \"AFG\",\n \"AGO\",\n \"AIA\",\n \"ALA\",\n \"ALB\",\n \"AND\",\n \"ARE\",\n \"ARG\",\n \"ARM\",\n \"ASM\",\n \"ATA\",\n \"ATF\",\n \"ATG\",\n \"AUS\",\n \"AUT\",\n \"AZE\",\n \"BDI\",\n \"BEL\",\n \"BEN\",\n \"BES\",\n \"BFA\",\n \"BGD\",\n \"BGR\",\n \"BHR\",\n \"BHS\",\n \"BIH\",\n \"BLM\",\n \"BLR\",\n \"BLZ\",\n \"BMU\",\n \"BOL\",\n \"BRA\",\n \"BRB\",\n \"BRN\",\n \"BTN\",\n \"BVT\",\n \"BWA\",\n \"CAF\",\n \"CAN\",\n \"CCK\",\n \"CHE\",\n \"CHL\",\n \"CHN\",\n \"CIV\",\n \"CMR\",\n \"COD\",\n \"COG\",\n \"COK\",\n \"COL\",\n \"COM\",\n \"CPV\",\n \"CRI\",\n \"CUB\",\n \"CUW\",\n \"CXR\",\n \"CYM\",\n \"CYP\",\n \"CZE\",\n \"DEU\",\n \"DJI\",\n \"DMA\",\n \"DNK\",\n \"DOM\",\n \"DZA\",\n \"ECU\",\n \"EGY\",\n \"ERI\",\n \"ESH\",\n \"ESP\",\n \"EST\",\n \"ETH\",\n \"FIN\",\n \"FJI\",\n \"FLK\",\n \"FRA\",\n \"FRO\",\n \"FSM\",\n \"GAB\",\n \"GBR\",\n \"GEO\",\n \"GGY\",\n \"GHA\",\n \"GIB\",\n \"GIN\",\n \"GLP\",\n \"GMB\",\n \"GNB\",\n \"GNQ\",\n \"GRC\",\n \"GRD\",\n \"GRL\",\n \"GTM\",\n \"GUF\",\n \"GUM\",\n \"GUY\",\n \"HKG\",\n \"HMD\",\n \"HND\",\n \"HRV\",\n \"HTI\",\n \"HUN\",\n \"IDN\",\n \"IMN\",\n \"IND\",\n \"IOT\",\n \"IRL\",\n \"IRN\",\n \"IRQ\",\n \"ISL\",\n \"ISR\",\n \"ITA\",\n \"JAM\",\n \"JEY\",\n \"JOR\",\n \"JPN\",\n \"KAZ\",\n \"KEN\",\n \"KGZ\",\n \"KHM\",\n \"KIR\",\n \"KNA\",\n \"KOR\",\n \"KWT\",\n \"LAO\",\n \"LBN\",\n \"LBR\",\n \"LBY\",\n \"LCA\",\n \"LIE\",\n \"LKA\",\n \"LSO\",\n \"LTU\",\n \"LUX\",\n \"LVA\",\n \"MAC\",\n \"MAF\",\n \"MAR\",\n \"MCO\",\n \"MDA\",\n \"MDG\",\n \"MDV\",\n \"MEX\",\n \"MHL\",\n \"MKD\",\n \"MLI\",\n \"MLT\",\n \"MMR\",\n \"MNE\",\n \"MNG\",\n \"MNP\",\n \"MOZ\",\n \"MRT\",\n \"MSR\",\n \"MTQ\",\n \"MUS\",\n \"MWI\",\n \"MYS\",\n \"MYT\",\n \"NAM\",\n \"NCL\",\n \"NER\",\n \"NFK\",\n \"NGA\",\n \"NIC\",\n \"NIU\",\n \"NLD\",\n \"NOR\",\n \"NPL\",\n \"NRU\",\n \"NZL\",\n \"OMN\",\n \"PAK\",\n \"PAN\",\n \"PCN\",\n \"PER\",\n \"PHL\",\n \"PLW\",\n \"PNG\",\n \"POL\",\n \"PRI\",\n \"PRK\",\n \"PRT\",\n \"PRY\",\n \"PSE\",\n \"PYF\",\n \"QAT\",\n \"REU\",\n \"ROU\",\n \"RUS\",\n \"RWA\",\n \"SAU\",\n \"SDN\",\n \"SEN\",\n \"SGP\",\n \"SGS\",\n \"SHN\",\n \"SJM\",\n \"SLB\",\n \"SLE\",\n \"SLV\",\n \"SMR\",\n \"SOM\",\n \"SPM\",\n \"SRB\",\n \"SSD\",\n \"STP\",\n \"SUR\",\n \"SVK\",\n \"SVN\",\n \"SWE\",\n \"SWZ\",\n \"SXM\",\n \"SYC\",\n \"SYR\",\n \"TCA\",\n \"TCD\",\n \"TGO\",\n \"THA\",\n \"TJK\",\n \"TKL\",\n \"TKM\",\n \"TLS\",\n \"TON\",\n \"TTO\",\n \"TUN\",\n \"TUR\",\n \"TUV\",\n \"TWN\",\n \"TZA\",\n \"UGA\",\n \"UKR\",\n \"UMI\",\n \"URY\",\n \"USA\",\n \"UZB\",\n \"VAT\",\n \"VCT\",\n \"VEN\",\n \"VGB\",\n \"VIR\",\n \"VNM\",\n \"VUT\",\n \"WLF\",\n \"WSM\",\n \"XKX\",\n \"YEM\",\n \"ZAF\",\n \"ZMB\",\n \"ZWE\",\n ];\n function is(value) {\n return typeof value == \"string\" && value.length == 3 && Alpha3.types.includes(value);\n }\n Alpha3.is = is;\n function from(country) {\n return typeof country == \"number\" ? from(Alpha2.from(country)) : alpha2ToAlpha3[country];\n }\n Alpha3.from = from;\n})(Alpha3 || (Alpha3 = {}));\nconst alpha2ToAlpha3 = {\n AF: \"AFG\",\n AX: \"ALA\",\n AL: \"ALB\",\n DZ: \"DZA\",\n AS: \"ASM\",\n AD: \"AND\",\n AO: \"AGO\",\n AI: \"AIA\",\n AQ: \"ATA\",\n AG: \"ATG\",\n AR: \"ARG\",\n AM: \"ARM\",\n AW: \"ABW\",\n AU: \"AUS\",\n AT: \"AUT\",\n AZ: \"AZE\",\n BS: \"BHS\",\n BH: \"BHR\",\n BD: \"BGD\",\n BB: \"BRB\",\n BY: \"BLR\",\n BE: \"BEL\",\n BZ: \"BLZ\",\n BJ: \"BEN\",\n BM: \"BMU\",\n BT: \"BTN\",\n BO: \"BOL\",\n BQ: \"BES\",\n BA: \"BIH\",\n BW: \"BWA\",\n BV: \"BVT\",\n BR: \"BRA\",\n IO: \"IOT\",\n BN: \"BRN\",\n BG: \"BGR\",\n BF: \"BFA\",\n BI: \"BDI\",\n CV: \"CPV\",\n KH: \"KHM\",\n CM: \"CMR\",\n CA: \"CAN\",\n KY: \"CYM\",\n CF: \"CAF\",\n TD: \"TCD\",\n CL: \"CHL\",\n CN: \"CHN\",\n CX: \"CXR\",\n CC: \"CCK\",\n CO: \"COL\",\n KM: \"COM\",\n CG: \"COG\",\n CD: \"COD\",\n CK: \"COK\",\n CR: \"CRI\",\n CI: \"CIV\",\n HR: \"HRV\",\n CU: \"CUB\",\n CW: \"CUW\",\n CY: \"CYP\",\n CZ: \"CZE\",\n DK: \"DNK\",\n DJ: \"DJI\",\n DM: \"DMA\",\n DO: \"DOM\",\n EC: \"ECU\",\n EG: \"EGY\",\n SV: \"SLV\",\n GQ: \"GNQ\",\n ER: \"ERI\",\n EE: \"EST\",\n SZ: \"SWZ\",\n ET: \"ETH\",\n FK: \"FLK\",\n FO: \"FRO\",\n FJ: \"FJI\",\n FI: \"FIN\",\n FR: \"FRA\",\n GF: \"GUF\",\n PF: \"PYF\",\n TF: \"ATF\",\n GA: \"GAB\",\n GM: \"GMB\",\n GE: \"GEO\",\n DE: \"DEU\",\n GH: \"GHA\",\n GI: \"GIB\",\n GR: \"GRC\",\n GL: \"GRL\",\n GD: \"GRD\",\n GP: \"GLP\",\n GU: \"GUM\",\n GT: \"GTM\",\n GG: \"GGY\",\n GN: \"GIN\",\n GW: \"GNB\",\n GY: \"GUY\",\n HT: \"HTI\",\n HM: \"HMD\",\n VA: \"VAT\",\n HN: \"HND\",\n HK: \"HKG\",\n HU: \"HUN\",\n IS: \"ISL\",\n IN: \"IND\",\n ID: \"IDN\",\n IR: \"IRN\",\n IQ: \"IRQ\",\n IE: \"IRL\",\n IM: \"IMN\",\n IL: \"ISR\",\n IT: \"ITA\",\n JM: \"JAM\",\n JP: \"JPN\",\n JE: \"JEY\",\n JO: \"JOR\",\n KZ: \"KAZ\",\n KE: \"KEN\",\n KI: \"KIR\",\n KP: \"PRK\",\n KR: \"KOR\",\n KW: \"KWT\",\n KG: \"KGZ\",\n LA: \"LAO\",\n LV: \"LVA\",\n LB: \"LBN\",\n LS: \"LSO\",\n LR: \"LBR\",\n LY: \"LBY\",\n LI: \"LIE\",\n LT: \"LTU\",\n LU: \"LUX\",\n MO: \"MAC\",\n MG: \"MDG\",\n MW: \"MWI\",\n MY: \"MYS\",\n MV: \"MDV\",\n ML: \"MLI\",\n MT: \"MLT\",\n MH: \"MHL\",\n MQ: \"MTQ\",\n MR: \"MRT\",\n MU: \"MUS\",\n YT: \"MYT\",\n MX: \"MEX\",\n FM: \"FSM\",\n MD: \"MDA\",\n MC: \"MCO\",\n MN: \"MNG\",\n ME: \"MNE\",\n MS: \"MSR\",\n MA: \"MAR\",\n MZ: \"MOZ\",\n MM: \"MMR\",\n NA: \"NAM\",\n NR: \"NRU\",\n NP: \"NPL\",\n NL: \"NLD\",\n NC: \"NCL\",\n NZ: \"NZL\",\n NI: \"NIC\",\n NE: \"NER\",\n NG: \"NGA\",\n NU: \"NIU\",\n NF: \"NFK\",\n MK: \"MKD\",\n MP: \"MNP\",\n NO: \"NOR\",\n OM: \"OMN\",\n PK: \"PAK\",\n PW: \"PLW\",\n PS: \"PSE\",\n PA: \"PAN\",\n PG: \"PNG\",\n PY: \"PRY\",\n PE: \"PER\",\n PH: \"PHL\",\n PN: \"PCN\",\n PL: \"POL\",\n PT: \"PRT\",\n PR: \"PRI\",\n QA: \"QAT\",\n RE: \"REU\",\n RO: \"ROU\",\n RU: \"RUS\",\n RW: \"RWA\",\n BL: \"BLM\",\n SH: \"SHN\",\n KN: \"KNA\",\n LC: \"LCA\",\n MF: \"MAF\",\n PM: \"SPM\",\n VC: \"VCT\",\n WS: \"WSM\",\n SM: \"SMR\",\n ST: \"STP\",\n SA: \"SAU\",\n SN: \"SEN\",\n RS: \"SRB\",\n SC: \"SYC\",\n SL: \"SLE\",\n SG: \"SGP\",\n SX: \"SXM\",\n SK: \"SVK\",\n SI: \"SVN\",\n SB: \"SLB\",\n SO: \"SOM\",\n ZA: \"ZAF\",\n GS: \"SGS\",\n SS: \"SSD\",\n ES: \"ESP\",\n LK: \"LKA\",\n SD: \"SDN\",\n SR: \"SUR\",\n SJ: \"SJM\",\n SE: \"SWE\",\n CH: \"CHE\",\n SY: \"SYR\",\n TW: \"TWN\",\n TJ: \"TJK\",\n TZ: \"TZA\",\n TH: \"THA\",\n TL: \"TLS\",\n TG: \"TGO\",\n TK: \"TKL\",\n TO: \"TON\",\n TT: \"TTO\",\n TN: \"TUN\",\n TR: \"TUR\",\n TM: \"TKM\",\n TC: \"TCA\",\n TV: \"TUV\",\n UG: \"UGA\",\n UA: \"UKR\",\n AE: \"ARE\",\n GB: \"GBR\",\n US: \"USA\",\n UM: \"UMI\",\n UY: \"URY\",\n UZ: \"UZB\",\n VU: \"VUT\",\n VE: \"VEN\",\n VN: \"VNM\",\n VG: \"VGB\",\n VI: \"VIR\",\n WF: \"WLF\",\n EH: \"ESH\",\n YE: \"YEM\",\n ZM: \"ZMB\",\n ZW: \"ZWE\",\n XK: \"XKX\",\n};\n//# sourceMappingURL=Alpha3.js.map","import { Alpha2 } from \"./Alpha2\";\nexport var Numeric;\n(function (Numeric) {\n Numeric.types = [\n 4, 8, 10, 12, 16, 20, 24, 28, 31, 32, 36, 40, 44, 48, 50, 51, 52, 56, 60, 64, 68, 70, 72, 74, 76, 84, 86, 90, 92,\n 96, 100, 104, 108, 112, 116, 120, 124, 132, 136, 140, 144, 148, 152, 156, 158, 162, 166, 170, 174, 175, 178, 180,\n 184, 188, 191, 192, 196, 203, 204, 208, 212, 214, 218, 222, 226, 231, 232, 233, 234, 238, 239, 242, 246, 248, 250,\n 254, 258, 260, 262, 266, 268, 270, 275, 276, 280, 288, 292, 296, 300, 304, 308, 312, 316, 320, 324, 328, 332, 334,\n 336, 340, 344, 348, 352, 356, 360, 364, 368, 372, 376, 380, 384, 388, 392, 398, 400, 404, 408, 410, 414, 417, 418,\n 422, 426, 428, 430, 434, 438, 440, 442, 446, 450, 454, 458, 462, 466, 470, 474, 478, 480, 484, 492, 496, 498, 499,\n 500, 504, 508, 512, 516, 520, 524, 528, 531, 533, 534, 535, 540, 548, 554, 558, 562, 566, 570, 574, 578, 580, 581,\n 583, 584, 585, 586, 591, 598, 600, 604, 608, 612, 616, 620, 624, 626, 630, 634, 638, 642, 643, 646, 652, 654, 659,\n 660, 662, 663, 666, 670, 674, 678, 682, 686, 688, 690, 694, 702, 703, 704, 705, 706, 710, 716, 724, 728, 729, 732,\n 740, 744, 748, 752, 756, 760, 762, 764, 768, 772, 776, 780, 784, 788, 792, 795, 796, 798, 800, 804, 807, 818, 826,\n 831, 832, 833, 834, 840, 850, 854, 858, 860, 862, 876, 882, 887, 894, 926,\n ];\n function is(value) {\n return (typeof value == \"number\" &&\n value >= 0 &&\n value <= 999 &&\n Number.isInteger(value) &&\n Numeric.types.includes(value));\n }\n Numeric.is = is;\n function from(country) {\n return country.length == 2 ? alpha2ToNumeric[country] : from(Alpha2.from(country));\n }\n Numeric.from = from;\n})(Numeric || (Numeric = {}));\nconst alpha2ToNumeric = {\n AF: 4,\n AX: 248,\n AL: 8,\n DZ: 12,\n AS: 16,\n AD: 20,\n AO: 24,\n AI: 660,\n AQ: 10,\n AG: 28,\n AR: 32,\n AM: 51,\n AW: 533,\n AU: 36,\n AT: 40,\n AZ: 31,\n BS: 44,\n BH: 48,\n BD: 50,\n BB: 52,\n BY: 112,\n BE: 56,\n BZ: 84,\n BJ: 204,\n BM: 60,\n BT: 64,\n BO: 68,\n BQ: 535,\n BA: 70,\n BW: 72,\n BV: 74,\n BR: 76,\n IO: 86,\n BN: 96,\n BG: 100,\n BF: 854,\n BI: 108,\n CV: 132,\n KH: 116,\n CM: 120,\n CA: 124,\n KY: 136,\n CF: 140,\n TD: 148,\n CL: 152,\n CN: 156,\n CX: 162,\n CC: 166,\n CO: 170,\n KM: 174,\n CG: 178,\n CD: 180,\n CK: 184,\n CR: 188,\n CI: 384,\n HR: 191,\n CU: 192,\n CW: 531,\n CY: 196,\n CZ: 203,\n DK: 208,\n DJ: 262,\n DM: 212,\n DO: 214,\n EC: 218,\n EG: 818,\n SV: 222,\n GQ: 226,\n ER: 232,\n EE: 233,\n SZ: 748,\n ET: 231,\n FK: 238,\n FO: 234,\n FJ: 242,\n FI: 246,\n FR: 250,\n GF: 254,\n PF: 258,\n TF: 260,\n GA: 266,\n GM: 270,\n GE: 268,\n DE: 276,\n GH: 288,\n GI: 292,\n GR: 300,\n GL: 304,\n GD: 308,\n GP: 312,\n GU: 316,\n GT: 320,\n GG: 831,\n GN: 324,\n GW: 624,\n GY: 328,\n HT: 332,\n HM: 334,\n VA: 336,\n HN: 340,\n HK: 344,\n HU: 348,\n IS: 352,\n IN: 356,\n ID: 360,\n IR: 364,\n IQ: 368,\n IE: 372,\n IM: 833,\n IL: 376,\n IT: 380,\n JM: 388,\n JP: 392,\n JE: 832,\n JO: 400,\n KZ: 398,\n KE: 404,\n KI: 296,\n KP: 408,\n KR: 410,\n KW: 414,\n KG: 417,\n LA: 418,\n LV: 428,\n LB: 422,\n LS: 426,\n LR: 430,\n LY: 434,\n LI: 438,\n LT: 440,\n LU: 442,\n MO: 446,\n MG: 450,\n MW: 454,\n MY: 458,\n MV: 462,\n ML: 466,\n MT: 470,\n MH: 584,\n MQ: 474,\n MR: 478,\n MU: 480,\n YT: 175,\n MX: 484,\n FM: 583,\n MD: 498,\n MC: 492,\n MN: 496,\n ME: 499,\n MS: 500,\n MA: 504,\n MZ: 508,\n MM: 104,\n NA: 516,\n NR: 520,\n NP: 524,\n NL: 528,\n NC: 540,\n NZ: 554,\n NI: 558,\n NE: 562,\n NG: 566,\n NU: 570,\n NF: 574,\n MK: 807,\n MP: 580,\n NO: 578,\n OM: 512,\n PK: 586,\n PW: 585,\n PS: 275,\n PA: 591,\n PG: 598,\n PY: 600,\n PE: 604,\n PH: 608,\n PN: 612,\n PL: 616,\n PT: 620,\n PR: 630,\n QA: 634,\n RE: 638,\n RO: 642,\n RU: 643,\n RW: 646,\n BL: 652,\n SH: 654,\n KN: 659,\n LC: 662,\n MF: 663,\n PM: 666,\n VC: 670,\n WS: 882,\n SM: 674,\n ST: 678,\n SA: 682,\n SN: 686,\n RS: 688,\n SC: 690,\n SL: 694,\n SG: 702,\n SX: 534,\n SK: 703,\n SI: 705,\n SB: 90,\n SO: 706,\n ZA: 710,\n GS: 239,\n SS: 728,\n ES: 724,\n LK: 144,\n SD: 729,\n SR: 740,\n SJ: 744,\n SE: 752,\n CH: 756,\n SY: 760,\n TW: 158,\n TJ: 762,\n TZ: 834,\n TH: 764,\n TL: 626,\n TG: 768,\n TK: 772,\n TO: 776,\n TT: 780,\n TN: 788,\n TR: 792,\n TM: 795,\n TC: 796,\n TV: 798,\n UG: 800,\n UA: 804,\n AE: 784,\n GB: 826,\n US: 840,\n UM: 581,\n UY: 858,\n UZ: 860,\n VU: 548,\n VE: 862,\n VN: 704,\n VG: 92,\n VI: 850,\n WF: 876,\n EH: 732,\n YE: 887,\n ZM: 894,\n ZW: 716,\n XK: 926,\n};\n//# sourceMappingURL=Numeric.js.map","const currencies = [\n \"AED\",\n \"AFN\",\n \"ALL\",\n \"AMD\",\n \"ANG\",\n \"AOA\",\n \"ARS\",\n \"AUD\",\n \"AWG\",\n \"AZN\",\n \"BAM\",\n \"BBD\",\n \"BDT\",\n \"BGN\",\n \"BHD\",\n \"BIF\",\n \"BMD\",\n \"BND\",\n \"BOB\",\n \"BOV\",\n \"BRL\",\n \"BSD\",\n \"BTN\",\n \"BWP\",\n \"BYN\",\n \"BZD\",\n \"CAD\",\n \"CDF\",\n \"CHE\",\n \"CHF\",\n \"CHW\",\n \"CLF\",\n \"CLP\",\n \"CNY\",\n \"COP\",\n \"COU\",\n \"CRC\",\n \"CUC\",\n \"CUP\",\n \"CVE\",\n \"CZK\",\n \"DJF\",\n \"DKK\",\n \"DOP\",\n \"DZD\",\n \"EGP\",\n \"ERN\",\n \"ETB\",\n \"EUR\",\n \"FJD\",\n \"FKP\",\n \"GBP\",\n \"GEL\",\n \"GHS\",\n \"GIP\",\n \"GMD\",\n \"GNF\",\n \"GTQ\",\n \"GYD\",\n \"HKD\",\n \"HNL\",\n \"HRK\",\n \"HTG\",\n \"HUF\",\n \"IDR\",\n \"ILS\",\n \"INR\",\n \"IQD\",\n \"IRR\",\n \"ISK\",\n \"JMD\",\n \"JOD\",\n \"JPY\",\n \"KES\",\n \"KGS\",\n \"KHR\",\n \"KMF\",\n \"KPW\",\n \"KRW\",\n \"KWD\",\n \"KYD\",\n \"KZT\",\n \"LAK\",\n \"LBP\",\n \"LKR\",\n \"LRD\",\n \"LSL\",\n \"LYD\",\n \"MAD\",\n \"MDL\",\n \"MGA\",\n \"MKD\",\n \"MMK\",\n \"MNT\",\n \"MOP\",\n \"MRU\",\n \"MUR\",\n \"MVR\",\n \"MWK\",\n \"MXN\",\n \"MXV\",\n \"MYR\",\n \"MZN\",\n \"NAD\",\n \"NGN\",\n \"NIO\",\n \"NOK\",\n \"NPR\",\n \"NZD\",\n \"OMR\",\n \"PAB\",\n \"PEN\",\n \"PGK\",\n \"PHP\",\n \"PKR\",\n \"PLN\",\n \"PYG\",\n \"QAR\",\n \"RON\",\n \"RSD\",\n \"RUB\",\n \"RWF\",\n \"SAR\",\n \"SBD\",\n \"SCR\",\n \"SDG\",\n \"SEK\",\n \"SGD\",\n \"SHP\",\n \"SLL\",\n \"SOS\",\n \"SRD\",\n \"SSP\",\n \"STN\",\n \"SVC\",\n \"SYP\",\n \"SZL\",\n \"THB\",\n \"TJS\",\n \"TMT\",\n \"TND\",\n \"TOP\",\n \"TRY\",\n \"TTD\",\n \"TWD\",\n \"TZS\",\n \"UAH\",\n \"UGX\",\n \"USD\",\n \"USN\",\n \"UYI\",\n \"UYU\",\n \"UYW\",\n \"UZS\",\n \"VES\",\n \"VND\",\n \"VUV\",\n \"WST\",\n \"XAF\",\n \"XAG\",\n \"XAU\",\n \"XBA\",\n \"XBB\",\n \"XBC\",\n \"XBD\",\n \"XCD\",\n \"XDR\",\n \"XOF\",\n \"XPD\",\n \"XPF\",\n \"XPT\",\n \"XSU\",\n \"XTS\",\n \"XUA\",\n \"XXX\",\n \"YER\",\n \"ZAR\",\n \"ZMW\",\n \"ZWL\",\n];\nexport var Currency;\n(function (Currency) {\n Currency.types = [...currencies];\n function is(currency) {\n return Currency.types.includes(currency);\n }\n Currency.is = is;\n function from(currencyCode) {\n return {\n \"784\": \"AED\",\n \"971\": \"AFN\",\n \"008\": \"ALL\",\n \"051\": \"AMD\",\n \"532\": \"ANG\",\n \"973\": \"AOA\",\n \"032\": \"ARS\",\n \"036\": \"AUD\",\n \"533\": \"AWG\",\n \"944\": \"AZN\",\n \"977\": \"BAM\",\n \"052\": \"BBD\",\n \"050\": \"BDT\",\n \"975\": \"BGN\",\n \"048\": \"BHD\",\n \"108\": \"BIF\",\n \"060\": \"BMD\",\n \"096\": \"BND\",\n \"068\": \"BOB\",\n \"984\": \"BOV\",\n \"986\": \"BRL\",\n \"044\": \"BSD\",\n \"064\": \"BTN\",\n \"072\": \"BWP\",\n \"933\": \"BYN\",\n \"084\": \"BZD\",\n \"124\": \"CAD\",\n \"976\": \"CDF\",\n \"947\": \"CHE\",\n \"756\": \"CHF\",\n \"948\": \"CHW\",\n \"990\": \"CLF\",\n \"152\": \"CLP\",\n \"156\": \"CNY\",\n \"170\": \"COP\",\n \"970\": \"COU\",\n \"188\": \"CRC\",\n \"931\": \"CUC\",\n \"192\": \"CUP\",\n \"132\": \"CVE\",\n \"203\": \"CZK\",\n \"262\": \"DJF\",\n \"208\": \"DKK\",\n \"214\": \"DOP\",\n \"012\": \"DZD\",\n \"818\": \"EGP\",\n \"232\": \"ERN\",\n \"230\": \"ETB\",\n \"978\": \"EUR\",\n \"242\": \"FJD\",\n \"238\": \"FKP\",\n \"826\": \"GBP\",\n \"981\": \"GEL\",\n \"936\": \"GHS\",\n \"292\": \"GIP\",\n \"270\": \"GMD\",\n \"324\": \"GNF\",\n \"320\": \"GTQ\",\n \"328\": \"GYD\",\n \"344\": \"HKD\",\n \"340\": \"HNL\",\n \"191\": \"HRK\",\n \"332\": \"HTG\",\n \"348\": \"HUF\",\n \"360\": \"IDR\",\n \"376\": \"ILS\",\n \"356\": \"INR\",\n \"368\": \"IQD\",\n \"364\": \"IRR\",\n \"352\": \"ISK\",\n \"388\": \"JMD\",\n \"400\": \"JOD\",\n \"392\": \"JPY\",\n \"404\": \"KES\",\n \"417\": \"KGS\",\n \"116\": \"KHR\",\n \"174\": \"KMF\",\n \"408\": \"KPW\",\n \"410\": \"KRW\",\n \"414\": \"KWD\",\n \"136\": \"KYD\",\n \"398\": \"KZT\",\n \"418\": \"LAK\",\n \"422\": \"LBP\",\n \"144\": \"LKR\",\n \"430\": \"LRD\",\n \"426\": \"LSL\",\n \"434\": \"LYD\",\n \"504\": \"MAD\",\n \"498\": \"MDL\",\n \"969\": \"MGA\",\n \"807\": \"MKD\",\n \"104\": \"MMK\",\n \"496\": \"MNT\",\n \"446\": \"MOP\",\n \"929\": \"MRU\",\n \"480\": \"MUR\",\n \"462\": \"MVR\",\n \"454\": \"MWK\",\n \"484\": \"MXN\",\n \"979\": \"MXV\",\n \"458\": \"MYR\",\n \"943\": \"MZN\",\n \"516\": \"NAD\",\n \"566\": \"NGN\",\n \"558\": \"NIO\",\n \"578\": \"NOK\",\n \"524\": \"NPR\",\n \"554\": \"NZD\",\n \"512\": \"OMR\",\n \"590\": \"PAB\",\n \"604\": \"PEN\",\n \"598\": \"PGK\",\n \"608\": \"PHP\",\n \"586\": \"PKR\",\n \"985\": \"PLN\",\n \"600\": \"PYG\",\n \"634\": \"QAR\",\n \"946\": \"RON\",\n \"941\": \"RSD\",\n \"643\": \"RUB\",\n \"646\": \"RWF\",\n \"682\": \"SAR\",\n \"090\": \"SBD\",\n \"690\": \"SCR\",\n \"938\": \"SDG\",\n \"752\": \"SEK\",\n \"702\": \"SGD\",\n \"654\": \"SHP\",\n \"694\": \"SLL\",\n \"706\": \"SOS\",\n \"968\": \"SRD\",\n \"728\": \"SSP\",\n \"930\": \"STN\",\n \"222\": \"SVC\",\n \"760\": \"SYP\",\n \"748\": \"SZL\",\n \"764\": \"THB\",\n \"972\": \"TJS\",\n \"934\": \"TMT\",\n \"788\": \"TND\",\n \"776\": \"TOP\",\n \"949\": \"TRY\",\n \"780\": \"TTD\",\n \"901\": \"TWD\",\n \"834\": \"TZS\",\n \"980\": \"UAH\",\n \"800\": \"UGX\",\n \"840\": \"USD\",\n \"997\": \"USN\",\n \"940\": \"UYI\",\n \"858\": \"UYU\",\n \"927\": \"UYW\",\n \"860\": \"UZS\",\n \"928\": \"VES\",\n \"704\": \"VND\",\n \"548\": \"VUV\",\n \"882\": \"WST\",\n \"950\": \"XAF\",\n \"961\": \"XAG\",\n \"959\": \"XAU\",\n \"955\": \"XBA\",\n \"956\": \"XBB\",\n \"957\": \"XBC\",\n \"958\": \"XBD\",\n \"951\": \"XCD\",\n \"960\": \"XDR\",\n \"952\": \"XOF\",\n \"964\": \"XPD\",\n \"953\": \"XPF\",\n \"962\": \"XPT\",\n \"994\": \"XSU\",\n \"963\": \"XTS\",\n \"965\": \"XUA\",\n \"999\": \"XXX\",\n \"886\": \"YER\",\n \"710\": \"ZAR\",\n \"967\": \"ZMW\",\n \"932\": \"ZWL\",\n }[currencyCode];\n }\n Currency.from = from;\n function round(value, currency) {\n const decimalDigits = Currency.decimalDigits(currency) ?? 2;\n const factor = Math.pow(10, decimalDigits);\n const decimals = (value.toString().split(\".\")?.[1]?.length ?? 0) - 1;\n return (Math.round((value + (decimals <= decimalDigits + 5 ? Number.EPSILON : Math.pow(10, -decimals))) * factor) / factor);\n }\n Currency.round = round;\n function add(currency, value1, value2) {\n return round(round(value1, currency) + round(value2, currency), currency);\n }\n Currency.add = add;\n function divide(currency, amount, denominator) {\n return round(round(amount, currency) / denominator, currency);\n }\n Currency.divide = divide;\n function multiply(currency, amount, multiplicand, outputCurrency) {\n return round(round(amount, currency) * multiplicand, outputCurrency ?? currency);\n }\n Currency.multiply = multiply;\n function subtract(currency, minuend, subtrahend) {\n return round(round(minuend, currency) - round(subtrahend, currency), currency);\n }\n Currency.subtract = subtract;\n function toMinor(amount, currency) {\n const decimals = Currency.decimalDigits(currency);\n return typeof decimals == \"number\" ? Math.round(amount * 10 ** decimals) : amount;\n }\n Currency.toMinor = toMinor;\n function fromMinor(amount, currency) {\n const decimals = Currency.decimalDigits(currency);\n return typeof decimals == \"number\" ? Currency.divide(currency, amount, 10 ** decimals) : amount;\n }\n Currency.fromMinor = fromMinor;\n function isRounded(amount, currency) {\n const decimals = Currency.decimalDigits(currency);\n return decimals == undefined\n ? true\n : isNaN(amount)\n ? false\n : (amount.toString().split(\".\")[1]?.length ?? 0) <= decimals;\n }\n Currency.isRounded = isRounded;\n function decimalDigits(currency) {\n return {\n AED: 2,\n AFN: 2,\n ALL: 2,\n AMD: 2,\n ANG: 2,\n AOA: 2,\n ARS: 2,\n AUD: 2,\n AWG: 2,\n AZN: 2,\n BAM: 2,\n BBD: 2,\n BDT: 2,\n BGN: 2,\n BHD: 3,\n BIF: 0,\n BMD: 2,\n BND: 2,\n BOB: 2,\n BOV: 2,\n BRL: 2,\n BSD: 2,\n BTN: 2,\n BWP: 2,\n BYN: 2,\n BZD: 2,\n CAD: 2,\n CDF: 2,\n CHE: 2,\n CHF: 2,\n CHW: 2,\n CLF: 4,\n CLP: 0,\n CNY: 2,\n COP: 2,\n COU: 2,\n CRC: 2,\n CUC: 2,\n CUP: 2,\n CVE: 2,\n CZK: 2,\n DJF: 0,\n DKK: 2,\n DOP: 2,\n DZD: 2,\n EGP: 2,\n ERN: 2,\n ETB: 2,\n EUR: 2,\n FJD: 2,\n FKP: 2,\n GBP: 2,\n GEL: 2,\n GHS: 2,\n GIP: 2,\n GMD: 2,\n GNF: 0,\n GTQ: 2,\n GYD: 2,\n HKD: 2,\n HNL: 2,\n HRK: 2,\n HTG: 2,\n HUF: 2,\n IDR: 2,\n ILS: 2,\n INR: 2,\n IQD: 3,\n IRR: 2,\n ISK: 0,\n JMD: 2,\n JOD: 3,\n JPY: 0,\n KES: 2,\n KGS: 2,\n KHR: 2,\n KMF: 0,\n KPW: 2,\n KRW: 0,\n KWD: 3,\n KYD: 2,\n KZT: 2,\n LAK: 2,\n LBP: 2,\n LKR: 2,\n LRD: 2,\n LSL: 2,\n LYD: 3,\n MAD: 2,\n MDL: 2,\n MGA: 2,\n MKD: 2,\n MMK: 2,\n MNT: 2,\n MOP: 2,\n MRU: 2,\n MUR: 2,\n MVR: 2,\n MWK: 2,\n MXN: 2,\n MXV: 2,\n MYR: 2,\n MZN: 2,\n NAD: 2,\n NGN: 2,\n NIO: 2,\n NOK: 2,\n NPR: 2,\n NZD: 2,\n OMR: 3,\n PAB: 2,\n PEN: 2,\n PGK: 2,\n PHP: 2,\n PKR: 2,\n PLN: 2,\n PYG: 0,\n QAR: 2,\n RON: 2,\n RSD: 2,\n RUB: 2,\n RWF: 0,\n SAR: 2,\n SBD: 2,\n SCR: 2,\n SDG: 2,\n SEK: 2,\n SGD: 2,\n SHP: 2,\n SLL: 2,\n SOS: 2,\n SRD: 2,\n SSP: 2,\n STN: 2,\n SVC: 2,\n SYP: 2,\n SZL: 2,\n THB: 2,\n TJS: 2,\n TMT: 2,\n TND: 3,\n TOP: 2,\n TRY: 2,\n TTD: 2,\n TWD: 2,\n TZS: 2,\n UAH: 2,\n UGX: 0,\n USD: 2,\n USN: 2,\n UYI: 0,\n UYU: 2,\n UYW: 4,\n UZS: 2,\n VES: 2,\n VND: 0,\n VUV: 0,\n WST: 2,\n XAF: 0,\n XAG: undefined,\n XAU: undefined,\n XBA: undefined,\n XBB: undefined,\n XBC: undefined,\n XBD: undefined,\n XCD: 2,\n XDR: undefined,\n XOF: 0,\n XPD: undefined,\n XPF: 0,\n XPT: undefined,\n XSU: undefined,\n XTS: undefined,\n XUA: undefined,\n XXX: undefined,\n YER: 2,\n ZAR: 2,\n ZMW: 2,\n ZWL: 2,\n }[currency];\n }\n Currency.decimalDigits = decimalDigits;\n})(Currency || (Currency = {}));\n//# sourceMappingURL=Currency.js.map","export var CurrencyCode;\n(function (CurrencyCode) {\n CurrencyCode.types = [\n \"008\",\n \"012\",\n \"032\",\n \"036\",\n \"044\",\n \"048\",\n \"050\",\n \"051\",\n \"052\",\n \"060\",\n \"064\",\n \"068\",\n \"072\",\n \"084\",\n \"090\",\n \"096\",\n \"104\",\n \"108\",\n \"116\",\n \"124\",\n \"132\",\n \"136\",\n \"144\",\n \"152\",\n \"156\",\n \"170\",\n \"174\",\n \"188\",\n \"191\",\n \"192\",\n \"203\",\n \"208\",\n \"214\",\n \"222\",\n \"230\",\n \"232\",\n \"238\",\n \"242\",\n \"262\",\n \"270\",\n \"292\",\n \"320\",\n \"324\",\n \"328\",\n \"332\",\n \"340\",\n \"344\",\n \"348\",\n \"352\",\n \"356\",\n \"360\",\n \"364\",\n \"368\",\n \"376\",\n \"388\",\n \"392\",\n \"398\",\n \"400\",\n \"404\",\n \"408\",\n \"410\",\n \"414\",\n \"417\",\n \"418\",\n \"422\",\n \"426\",\n \"430\",\n \"434\",\n \"446\",\n \"454\",\n \"458\",\n \"462\",\n \"480\",\n \"484\",\n \"496\",\n \"498\",\n \"504\",\n \"512\",\n \"516\",\n \"524\",\n \"532\",\n \"533\",\n \"548\",\n \"554\",\n \"558\",\n \"566\",\n \"578\",\n \"586\",\n \"590\",\n \"598\",\n \"600\",\n \"604\",\n \"608\",\n \"634\",\n \"643\",\n \"646\",\n \"654\",\n \"682\",\n \"690\",\n \"694\",\n \"702\",\n \"704\",\n \"706\",\n \"710\",\n \"728\",\n \"748\",\n \"752\",\n \"756\",\n \"760\",\n \"764\",\n \"776\",\n \"780\",\n \"784\",\n \"788\",\n \"800\",\n \"807\",\n \"818\",\n \"826\",\n \"834\",\n \"840\",\n \"858\",\n \"860\",\n \"882\",\n \"886\",\n \"901\",\n \"927\",\n \"928\",\n \"929\",\n \"930\",\n \"931\",\n \"932\",\n \"933\",\n \"934\",\n \"936\",\n \"938\",\n \"940\",\n \"941\",\n \"943\",\n \"944\",\n \"946\",\n \"947\",\n \"948\",\n \"949\",\n \"950\",\n \"951\",\n \"952\",\n \"953\",\n \"955\",\n \"956\",\n \"957\",\n \"958\",\n \"959\",\n \"960\",\n \"961\",\n \"962\",\n \"963\",\n \"964\",\n \"965\",\n \"967\",\n \"968\",\n \"969\",\n \"970\",\n \"971\",\n \"972\",\n \"973\",\n \"975\",\n \"976\",\n \"977\",\n \"978\",\n \"979\",\n \"980\",\n \"981\",\n \"984\",\n \"985\",\n \"986\",\n \"990\",\n \"994\",\n \"997\",\n \"999\",\n ];\n function is(value) {\n return CurrencyCode.types.includes(value);\n }\n CurrencyCode.is = is;\n function from(currency) {\n return {\n ALL: \"008\",\n DZD: \"012\",\n ARS: \"032\",\n AUD: \"036\",\n BSD: \"044\",\n BHD: \"048\",\n BDT: \"050\",\n AMD: \"051\",\n BBD: \"052\",\n BMD: \"060\",\n BTN: \"064\",\n BOB: \"068\",\n BWP: \"072\",\n BZD: \"084\",\n SBD: \"090\",\n BND: \"096\",\n MMK: \"104\",\n BIF: \"108\",\n KHR: \"116\",\n CAD: \"124\",\n CVE: \"132\",\n KYD: \"136\",\n LKR: \"144\",\n CLP: \"152\",\n CNY: \"156\",\n COP: \"170\",\n KMF: \"174\",\n CRC: \"188\",\n HRK: \"191\",\n CUP: \"192\",\n CZK: \"203\",\n DKK: \"208\",\n DOP: \"214\",\n SVC: \"222\",\n ETB: \"230\",\n ERN: \"232\",\n FKP: \"238\",\n FJD: \"242\",\n DJF: \"262\",\n GMD: \"270\",\n GIP: \"292\",\n GTQ: \"320\",\n GNF: \"324\",\n GYD: \"328\",\n HTG: \"332\",\n HNL: \"340\",\n HKD: \"344\",\n HUF: \"348\",\n ISK: \"352\",\n INR: \"356\",\n IDR: \"360\",\n IRR: \"364\",\n IQD: \"368\",\n ILS: \"376\",\n JMD: \"388\",\n JPY: \"392\",\n KZT: \"398\",\n JOD: \"400\",\n KES: \"404\",\n KPW: \"408\",\n KRW: \"410\",\n KWD: \"414\",\n KGS: \"417\",\n LAK: \"418\",\n LBP: \"422\",\n LSL: \"426\",\n LRD: \"430\",\n LYD: \"434\",\n MOP: \"446\",\n MWK: \"454\",\n MYR: \"458\",\n MVR: \"462\",\n MUR: \"480\",\n MXN: \"484\",\n MNT: \"496\",\n MDL: \"498\",\n MAD: \"504\",\n OMR: \"512\",\n NAD: \"516\",\n NPR: \"524\",\n ANG: \"532\",\n AWG: \"533\",\n VUV: \"548\",\n NZD: \"554\",\n NIO: \"558\",\n NGN: \"566\",\n NOK: \"578\",\n PKR: \"586\",\n PAB: \"590\",\n PGK: \"598\",\n PYG: \"600\",\n PEN: \"604\",\n PHP: \"608\",\n QAR: \"634\",\n RUB: \"643\",\n RWF: \"646\",\n SHP: \"654\",\n SAR: \"682\",\n SCR: \"690\",\n SLL: \"694\",\n SGD: \"702\",\n VND: \"704\",\n SOS: \"706\",\n ZAR: \"710\",\n SSP: \"728\",\n SZL: \"748\",\n SEK: \"752\",\n CHF: \"756\",\n SYP: \"760\",\n THB: \"764\",\n TOP: \"776\",\n TTD: \"780\",\n AED: \"784\",\n TND: \"788\",\n UGX: \"800\",\n MKD: \"807\",\n EGP: \"818\",\n GBP: \"826\",\n TZS: \"834\",\n USD: \"840\",\n UYU: \"858\",\n UZS: \"860\",\n WST: \"882\",\n YER: \"886\",\n TWD: \"901\",\n UYW: \"927\",\n VES: \"928\",\n MRU: \"929\",\n STN: \"930\",\n CUC: \"931\",\n ZWL: \"932\",\n BYN: \"933\",\n TMT: \"934\",\n GHS: \"936\",\n SDG: \"938\",\n UYI: \"940\",\n RSD: \"941\",\n MZN: \"943\",\n AZN: \"944\",\n RON: \"946\",\n CHE: \"947\",\n CHW: \"948\",\n TRY: \"949\",\n XAF: \"950\",\n XCD: \"951\",\n XOF: \"952\",\n XPF: \"953\",\n XBA: \"955\",\n XBB: \"956\",\n XBC: \"957\",\n XBD: \"958\",\n XAU: \"959\",\n XDR: \"960\",\n XAG: \"961\",\n XPT: \"962\",\n XTS: \"963\",\n XPD: \"964\",\n XUA: \"965\",\n ZMW: \"967\",\n SRD: \"968\",\n MGA: \"969\",\n COU: \"970\",\n AFN: \"971\",\n TJS: \"972\",\n AOA: \"973\",\n BGN: \"975\",\n CDF: \"976\",\n BAM: \"977\",\n EUR: \"978\",\n MXV: \"979\",\n UAH: \"980\",\n GEL: \"981\",\n BOV: \"984\",\n PLN: \"985\",\n BRL: \"986\",\n CLF: \"990\",\n XSU: \"994\",\n USN: \"997\",\n XXX: \"999\",\n }[currency];\n }\n CurrencyCode.from = from;\n function decimalDigits(currencyCode) {\n return {\n \"008\": 2,\n \"012\": 2,\n \"032\": 2,\n \"036\": 2,\n \"044\": 2,\n \"048\": 3,\n \"050\": 2,\n \"051\": 2,\n \"052\": 2,\n \"060\": 2,\n \"064\": 2,\n \"068\": 2,\n \"072\": 2,\n \"084\": 2,\n \"090\": 2,\n \"096\": 2,\n \"104\": 2,\n \"108\": 0,\n \"116\": 2,\n \"124\": 2,\n \"132\": 2,\n \"136\": 2,\n \"144\": 2,\n \"152\": 0,\n \"156\": 2,\n \"170\": 2,\n \"174\": 0,\n \"188\": 2,\n \"191\": 2,\n \"192\": 2,\n \"203\": 2,\n \"208\": 2,\n \"214\": 2,\n \"222\": 2,\n \"230\": 2,\n \"232\": 2,\n \"238\": 2,\n \"242\": 2,\n \"262\": 0,\n \"270\": 2,\n \"292\": 2,\n \"320\": 2,\n \"324\": 0,\n \"328\": 2,\n \"332\": 2,\n \"340\": 2,\n \"344\": 2,\n \"348\": 2,\n \"352\": 0,\n \"356\": 2,\n \"360\": 2,\n \"364\": 2,\n \"368\": 3,\n \"376\": 2,\n \"388\": 2,\n \"392\": 0,\n \"398\": 2,\n \"400\": 3,\n \"404\": 2,\n \"408\": 2,\n \"410\": 0,\n \"414\": 3,\n \"417\": 2,\n \"418\": 2,\n \"422\": 2,\n \"426\": 2,\n \"430\": 2,\n \"434\": 3,\n \"446\": 2,\n \"454\": 2,\n \"458\": 2,\n \"462\": 2,\n \"480\": 2,\n \"484\": 2,\n \"496\": 2,\n \"498\": 2,\n \"504\": 2,\n \"512\": 3,\n \"516\": 2,\n \"524\": 2,\n \"532\": 2,\n \"533\": 2,\n \"548\": 0,\n \"554\": 2,\n \"558\": 2,\n \"566\": 2,\n \"578\": 2,\n \"586\": 2,\n \"590\": 2,\n \"598\": 2,\n \"600\": 0,\n \"604\": 2,\n \"608\": 2,\n \"634\": 2,\n \"643\": 2,\n \"646\": 0,\n \"654\": 2,\n \"682\": 2,\n \"690\": 2,\n \"694\": 2,\n \"702\": 2,\n \"704\": 0,\n \"706\": 2,\n \"710\": 2,\n \"728\": 2,\n \"748\": 2,\n \"752\": 2,\n \"756\": 2,\n \"760\": 2,\n \"764\": 2,\n \"776\": 2,\n \"780\": 2,\n \"784\": 2,\n \"788\": 3,\n \"800\": 0,\n \"807\": 2,\n \"818\": 2,\n \"826\": 2,\n \"834\": 2,\n \"840\": 2,\n \"858\": 2,\n \"860\": 2,\n \"882\": 2,\n \"886\": 2,\n \"901\": 2,\n \"927\": 4,\n \"928\": 2,\n \"929\": 2,\n \"930\": 2,\n \"931\": 2,\n \"932\": 2,\n \"933\": 2,\n \"934\": 2,\n \"936\": 2,\n \"938\": 2,\n \"940\": 0,\n \"941\": 2,\n \"943\": 2,\n \"944\": 2,\n \"946\": 2,\n \"947\": 2,\n \"948\": 2,\n \"949\": 2,\n \"950\": 0,\n \"951\": 2,\n \"952\": 0,\n \"953\": 0,\n \"955\": undefined,\n \"956\": undefined,\n \"957\": undefined,\n \"958\": undefined,\n \"959\": undefined,\n \"960\": undefined,\n \"961\": undefined,\n \"962\": undefined,\n \"963\": undefined,\n \"964\": undefined,\n \"965\": undefined,\n \"967\": 2,\n \"968\": 2,\n \"969\": 2,\n \"970\": 2,\n \"971\": 2,\n \"972\": 2,\n \"973\": 2,\n \"975\": 2,\n \"976\": 2,\n \"977\": 2,\n \"978\": 2,\n \"979\": 2,\n \"980\": 2,\n \"981\": 2,\n \"984\": 2,\n \"985\": 2,\n \"986\": 2,\n \"990\": 4,\n \"994\": undefined,\n \"997\": 2,\n \"999\": undefined,\n }[currencyCode];\n }\n CurrencyCode.decimalDigits = decimalDigits;\n})(CurrencyCode || (CurrencyCode = {}));\n//# sourceMappingURL=CurrencyCode.js.map","export var Date;\n(function (Date) {\n function is(value) {\n return (typeof value == \"string\" &&\n value.length == 10 &&\n new globalThis.Date(value).toString() != \"Invalid Date\" &&\n create(new globalThis.Date(value)) == value);\n }\n Date.is = is;\n function parse(value, time) {\n return new globalThis.Date(value + (time ?? \"T12:00:00.000Z\"));\n }\n Date.parse = parse;\n function create(value) {\n return value.toISOString().substring(0, 10);\n }\n Date.create = create;\n function now() {\n return create(new globalThis.Date());\n }\n Date.now = now;\n function localize(value, locale, timezone) {\n return ((is(value) ? parse(value) : value)\n .toLocaleString(locale ? locale : Intl.DateTimeFormat().resolvedOptions().locale, {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n timeZone: timezone ?? Intl.DateTimeFormat().resolvedOptions().timeZone,\n })\n .substring(0, 10)\n // See DateTime:localize for note.\n .replaceAll(\" \", \" \"));\n }\n Date.localize = localize;\n function next(date, days = 1) {\n let result;\n if (typeof days == \"number\") {\n const r = parse(date);\n r.setDate(r.getDate() + days);\n result = Date.create(r);\n }\n else {\n result = date;\n if (days.years)\n result = nextYear(result, days.years);\n if (days.months)\n result = nextMonth(result, days.months);\n if (days.days)\n result = next(result, days.days);\n }\n return result;\n }\n Date.next = next;\n function previous(date, days = 1) {\n let result;\n if (typeof days == \"number\") {\n const r = parse(date);\n r.setDate(r.getDate() - days);\n result = Date.create(r);\n }\n else {\n result = date;\n if (days.years)\n result = previousYear(result, days.years);\n if (days.months)\n result = previousMonth(result, days.months);\n if (days.days)\n result = previous(result, days.days);\n }\n return result;\n }\n Date.previous = previous;\n function nextMonth(date, months = 1) {\n const result = parse(date);\n result.setMonth(result.getMonth() + months);\n return Date.create(result);\n }\n Date.nextMonth = nextMonth;\n function previousMonth(date, months = 1) {\n return nextMonth(date, -months);\n }\n Date.previousMonth = previousMonth;\n function nextYear(date, years = 1) {\n const result = parse(date);\n result.setFullYear(result.getFullYear() + years);\n return Date.create(result);\n }\n Date.nextYear = nextYear;\n function previousYear(date, years = 1) {\n return nextYear(date, -years);\n }\n Date.previousYear = previousYear;\n function firstOfYear(date) {\n const result = parse(date);\n result.setMonth(0);\n result.setDate(1);\n return Date.create(result);\n }\n Date.firstOfYear = firstOfYear;\n function lastOfYear(date) {\n const result = parse(date);\n result.setFullYear(result.getFullYear() + 1);\n result.setMonth(0);\n result.setDate(0);\n return Date.create(result);\n }\n Date.lastOfYear = lastOfYear;\n function firstOfMonth(date) {\n const result = parse(date);\n result.setDate(1);\n return Date.create(result);\n }\n Date.firstOfMonth = firstOfMonth;\n function lastOfMonth(date) {\n const result = parse(date);\n result.setMonth(result.getMonth() + 1);\n result.setDate(0);\n return Date.create(result);\n }\n Date.lastOfMonth = lastOfMonth;\n function firstOfWeek(date) {\n const result = parse(date);\n const relativeDay = result.getDate() - (result.getDay() || 7) + 1;\n result.setDate(relativeDay);\n return Date.create(result);\n }\n Date.firstOfWeek = firstOfWeek;\n function lastOfWeek(date) {\n const result = parse(date);\n const relativeDay = result.getDate() - result.getDay() + 7;\n result.setDate(relativeDay);\n return Date.create(result);\n }\n Date.lastOfWeek = lastOfWeek;\n function getYear(date) {\n return Number.parseInt(date.substring(0, 4));\n }\n Date.getYear = getYear;\n function getMonth(date) {\n return Number.parseInt(date.substring(5, 7));\n }\n Date.getMonth = getMonth;\n function getWeek(date) {\n const parsed = new globalThis.Date(date);\n parsed.setHours(0, 0, 0, 0);\n parsed.setDate(parsed.getDate() + 3 - ((parsed.getDay() + 6) % 7));\n const week1 = new globalThis.Date(parsed.getFullYear(), 0, 4);\n return 1 + Math.round(((parsed.getTime() - week1.getTime()) / 86400000 - 3 + ((week1.getDay() + 6) % 7)) / 7);\n }\n Date.getWeek = getWeek;\n function getDay(date) {\n return Number.parseInt(date.substring(8, 10));\n }\n Date.getDay = getDay;\n function getWeekDay(date, locale, options) {\n const format = options?.format ?? \"long\";\n return locale\n ? new globalThis.Date(date).toLocaleDateString(locale, { weekday: format })\n : new globalThis.Date(date).getDay();\n }\n Date.getWeekDay = getWeekDay;\n function nextWeekday(date, days = 1, holidays = []) {\n const holidaySet = new Set(holidays);\n let result = next(date, days);\n let weekday = getWeekDay(result);\n while (weekday == 6 || weekday == 0 || holidaySet.has(result)) {\n result = next(result, weekday == 6 ? 2 : 1);\n weekday = getWeekDay(result);\n }\n return result;\n }\n Date.nextWeekday = nextWeekday;\n function span(date, relative) {\n return {\n years: getYear(date) - getYear(relative),\n months: getMonth(date) - getMonth(relative),\n days: getDay(date) - getDay(relative),\n };\n }\n Date.span = span;\n Date.epochStart = \"0000-01-01\";\n Date.epochEnd = \"9999-12-31\";\n function invert(date) {\n return `${(9999 - getYear(date)).toFixed(0).padStart(4, \"0\")}-${(13 - getMonth(date))\n .toFixed(0)\n .padStart(2, \"0\")}-${(32 - getDay(date)).toFixed(0).padStart(2, \"0\")}`;\n }\n Date.invert = invert;\n})(Date || (Date = {}));\n//# sourceMappingURL=Date.js.map","import { Date } from \"./Date\";\nexport var DateRange;\n(function (DateRange) {\n function is(value) {\n return typeof value == \"object\" && Date.is(value.start) && Date.is(value.end);\n }\n DateRange.is = is;\n function create(start, end) {\n return !Date.is(end)\n ? create(start, Date.next(start, end))\n : start <= end\n ? { start, end }\n : { start: end, end: start };\n }\n DateRange.create = create;\n function toDates(value, includeLast = true) {\n const result = [];\n for (let current = value.start; includeLast ? current <= value.end : current < value.end; current = Date.next(current))\n result.push(current);\n return result;\n }\n DateRange.toDates = toDates;\n function getDays(value) {\n const result = value.start <= value.end\n ? Math.ceil((new globalThis.Date(value.end).getTime() - new globalThis.Date(value.start).getTime()) / (1000 * 3600 * 24))\n : -getDays({ start: value.end, end: value.start });\n return result;\n }\n DateRange.getDays = getDays;\n})(DateRange || (DateRange = {}));\n//# sourceMappingURL=DateRange.js.map","export var DateSpan;\n(function (DateSpan) {\n function is(value) {\n return (typeof value == \"object\" &&\n (typeof value.years == \"number\" || value.years == undefined) &&\n (typeof value.months == \"number\" || value.months == undefined) &&\n (typeof value.days == \"number\" || value.days == undefined) &&\n (typeof value.years == \"number\" || typeof value.months == \"number\" || typeof value.days == \"number\"));\n }\n DateSpan.is = is;\n})(DateSpan || (DateSpan = {}));\n//# sourceMappingURL=DateSpan.js.map","export var TimeZoneOffset;\n(function (TimeZoneOffset) {\n TimeZoneOffset.values = [\n \"-12:00\",\n \"-11:00\",\n \"-10:00\",\n \"-09:30\",\n \"-09:00\",\n \"-08:00\",\n \"-07:00\",\n \"-06:00\",\n \"-05:00\",\n \"-04:00\",\n \"-03:30\",\n \"-03:00\",\n \"-02:00\",\n \"-01:00\",\n \"-00:00\",\n \"Z\",\n \"+00:00\",\n \"+01:00\",\n \"+02:00\",\n \"+03:00\",\n \"+03:30\",\n \"+04:00\",\n \"+04:30\",\n \"+05:00\",\n \"+05:30\",\n \"+05:45\",\n \"+06:00\",\n \"+06:30\",\n \"+07:00\",\n \"+08:00\",\n \"+08:45\",\n \"+09:00\",\n \"+09:30\",\n \"+10:00\",\n \"+10:30\",\n \"+11:00\",\n \"+12:00\",\n \"+12:45\",\n \"+13:00\",\n \"+14:00\",\n ];\n function is(value) {\n return typeof value == \"string\" && TimeZoneOffset.values.includes(value);\n }\n TimeZoneOffset.is = is;\n})(TimeZoneOffset || (TimeZoneOffset = {}));\n//# sourceMappingURL=TimeZoneOffset.js.map","import { Date } from \"./Date\";\nimport { TimeZoneOffset } from \"./TimeZoneOffset\";\nexport var DateTime;\n(function (DateTime) {\n function isHours(v) {\n return (v[0] >= \"0\" && v[0] <= \"1\" && v[1] >= \"0\" && v[1] <= \"9\") || (v[0] == \"2\" && v[1] >= \"0\" && v[1] <= \"3\");\n }\n function isMinutes(v) {\n return v[0] >= \"0\" && v[0] <= \"5\" && v[1] >= \"0\" && v[1] <= \"9\";\n }\n function isSeconds(v) {\n return (v[0] >= \"0\" && v[0] <= \"5\" && v[1] >= \"0\" && v[1] <= \"9\") || v == \"60\" || v == \"61\";\n }\n function is(value) {\n // 2019-04-01T01\n // 2019-04-01T01Z\n // 2019-04-01T01+01:00\n // 2019-04-01T01:11\n // 2019-04-01T01:11Z\n // 2019-04-01T01:11+01:00\n // 2019-04-01T01:11:29\n // 2019-04-01T01:11:29Z\n // 2019-04-01T01:11:29+01:00\n // 2019-04-01T01:11:29.000\n // 2019-04-01T01:11:29.000Z\n // 2019-04-01T01:11:29.000+01:00\n // 01234567890123456789012345678\n // 0 1 2\n return (typeof value == \"string\" &&\n value.length >= 13 &&\n value.length <= 29 &&\n Date.is(value.substring(0, 10)) &&\n value[10] == \"T\" &&\n isHours(value.substring(11, 13)) &&\n (value.length == 13 ||\n TimeZoneOffset.is(value.substring(13)) ||\n (value[13] == \":\" &&\n value.length >= 16 &&\n isMinutes(value.substring(14, 16)) &&\n (value.length == 16 ||\n TimeZoneOffset.is(value.substring(16)) ||\n (value[16] == \":\" &&\n value.length >= 19 &&\n isSeconds(value.substring(17, 19)) &&\n (value.length == 19 ||\n TimeZoneOffset.is(value.substring(19)) ||\n (value[19] == \".\" &&\n value.length >= 23 &&\n [...value.substring(20, 23)].every(c => c >= \"0\" && c <= \"9\") &&\n (value.length == 23 || TimeZoneOffset.is(value.substring(23))))))))));\n }\n DateTime.is = is;\n function parse(value) {\n return new globalThis.Date(DateTime.truncate(value, \"milliseconds\"));\n }\n DateTime.parse = parse;\n function create(value, resolution = \"seconds\") {\n if (typeof value == \"number\") {\n switch (resolution) {\n case \"days\":\n value = value * 24;\n // fallthrough...\n case \"hours\":\n value = value * 60;\n // fallthrough...\n case \"minutes\":\n value = value * 60;\n // fallthrough...\n case \"seconds\":\n value = value * 1000;\n // fallthrough...\n case \"milliseconds\":\n }\n value = new globalThis.Date(value);\n }\n return fixIncorrect(value.toISOString());\n }\n DateTime.create = create;\n function fixIncorrect(value) {\n if (value.length == 22 && value.match(/\\.\\dZ$/))\n value = value.substring(0, 21) + \"00Z\";\n else if (value.length == 23 && value.match(/\\.\\d\\dZ$/))\n value = value.substring(0, 22) + \"0Z\";\n return value;\n }\n DateTime.fixIncorrect = fixIncorrect;\n /**\n * Return local time with offset.\n * Note: During DST-change, this might be wrong.\n */\n function fromLocalDateTime(localDateTime, timeZone) {\n // Cut off any time-zone-information:\n // TODO: Use the information, and just change offset.\n localDateTime = localDateTime.replace(/(Z|([+-].{5}))?$/, \"\");\n // Create a Date object with the specified time as UTC\n const utcDateTime = new globalThis.Date(`${localDateTime}Z`);\n const localDate = new globalThis.Date(utcDateTime.toLocaleString(\"sv-SE\", { timeZone: timeZone }).replace(\" \", \"T\") + \"Z\");\n // Calculate the time difference in minutes\n const diffInMinutes = (localDate.getTime() - utcDateTime.getTime()) / 60000;\n // Calculate the timezone's offset in hours and minutes\n const offsetHours = Math.floor(Math.abs(diffInMinutes) / 60)\n .toString()\n .padStart(2, \"0\");\n const offsetMinutes = (Math.abs(diffInMinutes) % 60).toString().padStart(2, \"0\");\n // Create the timezone string\n const timeZoneString = `${diffInMinutes >= 0 ? \"+\" : \"-\"}${offsetHours}:${offsetMinutes}`;\n // Return the formatted date string with timezone information\n return `${localDateTime}${timeZoneString}`;\n }\n DateTime.fromLocalDateTime = fromLocalDateTime;\n function now() {\n return create(new globalThis.Date());\n }\n DateTime.now = now;\n function localize(value, formatOrLocale, localeOrTimeZone) {\n let result;\n if (typeof formatOrLocale == \"object\") {\n // formatOrLocale is Format\n // localeOrTimeZone is Locale | undefined\n const localeString = localeOrTimeZone ? localeOrTimeZone : Intl.DateTimeFormat().resolvedOptions().locale;\n result = (is(value) ? parse(value) : value)\n .toLocaleString(localeString, formatOrLocale)\n // For consistency, replace NNBSP with space:\n // Unicode has decided to use `Narrow No-Break Space (NNBSP)` (U+202F) instead of space in some cases.\n // It breaks tests, when running in different environments.\n // https://icu.unicode.org/download/72#:~:text=In%20many%20formatting%20patterns%2C%20ASCII%20spaces%20are%20replaced%20with%20Unicode%20spaces%20(e.g.%2C%20a%20%22thin%20space%22)\n // This can be removed, with a breaking change and updated tests, when all systems use updated versions of ICU.\n .replaceAll(\" \", \" \");\n }\n else {\n // formatOrLocale is Locale | undefined\n // localeOrTimeZone is timeZone | undefined\n const precision = is(value) ? DateTime.precision(value) : \"milliseconds\";\n result = localize(value, {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: precision == \"minutes\" || precision == \"seconds\" || precision == \"milliseconds\" ? \"2-digit\" : undefined,\n second: precision == \"seconds\" || precision == \"milliseconds\" ? \"2-digit\" : undefined,\n timeZone: localeOrTimeZone,\n }, formatOrLocale);\n }\n return result;\n }\n DateTime.localize = localize;\n /** @deprecated Use timeZoneOffset() */\n function timeZone(value) {\n return timeZoneOffset(value);\n }\n DateTime.timeZone = timeZone;\n function timeZoneOffset(value) {\n const result = value[value.length - 1] == \"Z\" ? \"Z\" : value.substring(value.length - 6);\n return TimeZoneOffset.is(result) ? result : \"\";\n }\n DateTime.timeZoneOffset = timeZoneOffset;\n function timeZoneShort(value) {\n return parse(value).getTimezoneOffset();\n }\n DateTime.timeZoneShort = timeZoneShort;\n function precision(value) {\n const zone = timeZoneOffset(value);\n const time = value.substring(0, value.length - zone.length).split(\"T\", 2)[1];\n let result;\n switch (time.length) {\n case 2:\n result = \"hours\";\n break;\n case 5:\n result = \"minutes\";\n break;\n case 8:\n result = \"seconds\";\n break;\n default:\n case 12:\n result = \"milliseconds\";\n break;\n }\n return result;\n }\n DateTime.precision = precision;\n function truncate(value, precision) {\n const zone = timeZoneOffset(value);\n // eslint-disable-next-line prefer-const\n let [date, time] = value.split(\"T\", 2);\n time = time.substring(0, time.length - zone.length);\n switch (time.length) {\n case 2:\n time += \":00:00.000\";\n break;\n case 5:\n time += \":00.000\";\n break;\n case 8:\n time += \".000\";\n break;\n }\n let result;\n switch (precision) {\n case \"hours\":\n result = time.substring(0, 2);\n break;\n case \"minutes\":\n result = time.substring(0, 5);\n break;\n case \"seconds\":\n result = time.substring(0, 8);\n break;\n case \"milliseconds\":\n result = time.substring(0, 12);\n break;\n }\n return date + \"T\" + result + zone;\n }\n DateTime.truncate = truncate;\n function epoch(value, resolution = \"seconds\") {\n let result = (typeof value == \"string\" ? parse(value) : value).getTime();\n switch (resolution) {\n case \"days\":\n result = Math.round(result / 24);\n // fallthrough...\n case \"hours\":\n result = Math.round(result / 60);\n // fallthrough...\n case \"minutes\":\n result = Math.round(result / 60);\n // fallthrough...\n case \"seconds\":\n result = Math.round(result / 1000);\n // fallthrough...\n case \"milliseconds\":\n }\n return result;\n }\n DateTime.epoch = epoch;\n function next(time, span = 1) {\n let result;\n if (typeof span == \"number\")\n result = nextSecond(time, span);\n else {\n result = time;\n if (span.years)\n result = nextYear(result, span.years);\n if (span.months)\n result = nextMonth(result, span.months);\n if (span.days)\n result = nextDay(result, span.days);\n if (span.hours)\n result = nextHour(result, span.hours);\n if (span.minutes)\n result = nextMinute(result, span.minutes);\n if (span.seconds)\n result = nextSecond(result, span.seconds);\n if (span.milliseconds)\n result = nextMillisecond(result, span.milliseconds);\n }\n return result;\n }\n DateTime.next = next;\n function previous(time, span = 1) {\n let result;\n if (typeof span == \"number\")\n result = previousSecond(time, span);\n else {\n result = time;\n if (span.years)\n result = previousYear(result, span.years);\n if (span.months)\n result = previousMonth(result, span.months);\n if (span.days)\n result = previousDay(result, span.days);\n if (span.hours)\n result = previousHour(result, span.hours);\n if (span.minutes)\n result = previousMinute(result, span.minutes);\n if (span.seconds)\n result = previousSecond(result, span.seconds);\n if (span.milliseconds)\n result = previousMillisecond(result, span.milliseconds);\n }\n return result;\n }\n DateTime.previous = previous;\n function nextMillisecond(time, milliseconds = 1) {\n const result = parse(time);\n result.setMilliseconds(result.getMilliseconds() + milliseconds);\n return DateTime.create(result);\n }\n DateTime.nextMillisecond = nextMillisecond;\n function previousMillisecond(time, milliseconds = 1) {\n return nextMillisecond(time, -milliseconds);\n }\n DateTime.previousMillisecond = previousMillisecond;\n function nextSecond(time, seconds = 1) {\n const result = parse(time);\n result.setSeconds(result.getSeconds() + seconds);\n return DateTime.create(result);\n }\n DateTime.nextSecond = nextSecond;\n function previousSecond(time, seconds = 1) {\n return nextSecond(time, -seconds);\n }\n DateTime.previousSecond = previousSecond;\n function nextMinute(time, minutes = 1) {\n const result = parse(time);\n result.setMinutes(result.getMinutes() + minutes);\n return DateTime.create(result);\n }\n DateTime.nextMinute = nextMinute;\n function previousMinute(time, minutes = 1) {\n return nextMinute(time, -minutes);\n }\n DateTime.previousMinute = previousMinute;\n function nextHour(time, hours = 1) {\n const result = parse(time);\n result.setHours(result.getHours() + hours);\n return DateTime.create(result);\n }\n DateTime.nextHour = nextHour;\n function previousHour(time, hours = 1) {\n return nextHour(time, -hours);\n }\n DateTime.previousHour = previousHour;\n function nextDay(time, days = 1) {\n const result = parse(time);\n const offset = result.getTimezoneOffset();\n result.setDate(result.getDate() + days);\n result.setMinutes(result.getMinutes() + offset - result.getTimezoneOffset()); // handle changing potential daylight saving time\n return DateTime.create(result);\n }\n DateTime.nextDay = nextDay;\n function previousDay(time, days = 1) {\n return nextDay(time, -days);\n }\n DateTime.previousDay = previousDay;\n function nextMonth(time, months = 1) {\n const result = parse(time);\n const offset = result.getTimezoneOffset();\n result.setMonth(result.getMonth() + months);\n result.setMinutes(result.getMinutes() + offset - result.getTimezoneOffset()); // handle changing potential daylight saving time\n return DateTime.create(result);\n }\n DateTime.nextMonth = nextMonth;\n function previousMonth(time, months = 1) {\n return nextMonth(time, -months);\n }\n DateTime.previousMonth = previousMonth;\n function nextYear(time, years = 1) {\n const result = parse(time);\n result.setFullYear(result.getFullYear() + years);\n return DateTime.create(result);\n }\n DateTime.nextYear = nextYear;\n function previousYear(time, years = 1) {\n return nextYear(time, -years);\n }\n DateTime.previousYear = previousYear;\n function getDate(time) {\n return time.substring(0, 10);\n }\n DateTime.getDate = getDate;\n function getTime(time) {\n return time.substring(11);\n }\n DateTime.getTime = getTime;\n function getYear(time) {\n return Number.parseInt(time.substring(0, 4));\n }\n DateTime.getYear = getYear;\n function getMonth(time) {\n return Number.parseInt(time.substring(5, 7));\n }\n DateTime.getMonth = getMonth;\n function getDay(time) {\n return Number.parseInt(time.substring(8, 10));\n }\n DateTime.getDay = getDay;\n function getHour(time) {\n return Number.parseInt(time.substring(11, 13));\n }\n DateTime.getHour = getHour;\n function getMinute(time) {\n return Number.parseInt(time.substring(14, 16));\n }\n DateTime.getMinute = getMinute;\n function getSecond(time) {\n return Number.parseInt(time.substring(17, 19));\n }\n DateTime.getSecond = getSecond;\n function getMillisecond(time) {\n return Number.parseInt(time.substring(20, 23));\n }\n DateTime.getMillisecond = getMillisecond;\n function span(time, relative, greatestUnit = \"years\") {\n let result;\n if (greatestUnit == \"years\") {\n result = {\n ...Date.span(time, relative),\n hours: getHour(time) - getHour(relative),\n minutes: getMinute(time) - getMinute(relative),\n seconds: getSecond(time) - getSecond(relative),\n milliseconds: getMillisecond(time) - getMillisecond(relative),\n };\n }\n else {\n let milliseconds = epoch(time, \"milliseconds\") - epoch(relative, \"milliseconds\");\n const sign = Math.sign(milliseconds);\n milliseconds = Math.abs(milliseconds);\n result = {};\n switch (greatestUnit) {\n case \"hours\":\n result.hours = sign * Math.floor(milliseconds / (3600 * 1000));\n milliseconds -= sign * result.hours * 3600 * 1000;\n // Fallthrough...\n case \"minutes\":\n result.minutes = sign * Math.floor(milliseconds / (60 * 1000));\n milliseconds -= sign * result.minutes * 60 * 1000;\n // Fallthrough...\n case \"seconds\":\n result.seconds = sign * Math.floor(milliseconds / 1000);\n milliseconds -= sign * result.seconds * 1000;\n // Fallthrough...\n case \"milliseconds\":\n result.milliseconds = sign * milliseconds;\n }\n }\n return result;\n }\n DateTime.span = span;\n DateTime.epochStart = \"0000-01-01T00:00:00.000Z\";\n DateTime.epochEnd = \"9999-12-31T23:59:59.999Z\";\n function invert(time) {\n return `${Date.invert(getDate(time))}T${(24 - getHour(time)).toFixed(0).padStart(2, \"0\")}:${(60 - getMinute(time))\n .toFixed(0)\n .padStart(2, \"0\")}:${(60 - getSecond(time)).toFixed(0).padStart(2, \"0\")}.${(999 - getMillisecond(time))\n .toFixed(0)\n .padStart(3, \"0\")}Z`;\n }\n DateTime.invert = invert;\n})(DateTime || (DateTime = {}));\n/*\n2021-01-10T13:37:42.000Z\n012345678901234567890123\n0 1 2\n*/\n//# sourceMappingURL=DateTime.js.map","export class Transcoder {\n}\n//# sourceMappingURL=Transcoder.js.map","import { Transcoder } from \"./Transcoder\";\nexport class Iso88591 extends Transcoder {\n encode(data) {\n return Uint8Array.from(data.split(\"\"), c => utf8ToIso88591[c]);\n }\n decode(data) {\n return !data\n ? \"\"\n : new Uint8Array(data.buffer, data.byteOffset, data.byteLength).reduce((r, v) => r + iso88591ToUtf8[v], \"\");\n }\n}\nconst iso88591ToUtf8 = [\n \"\\u0000\",\n \"\\u0001\",\n \"\\u0002\",\n \"\\u0003\",\n \"\\u0004\",\n \"\\u0005\",\n \"\\u0006\",\n \"\\u0007\",\n \"\\u0008\",\n \"\\u0009\",\n \"\\n\",\n \"\\u000b\",\n \"\\u000c\",\n \"\\r\",\n \"\\u000e\",\n \"\\u000f\",\n \"\\u0010\",\n \"\\u0011\",\n \"\\u0012\",\n \"\\u0013\",\n \"\\u0014\",\n \"\\u0015\",\n \"\\u0016\",\n \"\\u0017\",\n \"\\u0018\",\n \"\\u0019\",\n \"\\u001a\",\n \"\\u001b\",\n \"\\u001c\",\n \"\\u001d\",\n \"\\u001e\",\n \"\\u001f\",\n \" \",\n \"!\",\n '\"',\n \"#\",\n \"$\",\n \"%\",\n \"&\",\n \"\\u0022\",\n \"(\",\n \")\",\n \"*\",\n \"+\",\n \",\",\n \"-\",\n \".\",\n \"/\",\n \"0\",\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"5\",\n \"6\",\n \"7\",\n \"8\",\n \"9\",\n \":\",\n \";\",\n \"<\",\n \"=\",\n \">\",\n \"?\",\n \"@\",\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n \"G\",\n \"H\",\n \"I\",\n \"J\",\n \"K\",\n \"L\",\n \"M\",\n \"N\",\n \"O\",\n \"P\",\n \"Q\",\n \"R\",\n \"S\",\n \"T\",\n \"U\",\n \"V\",\n \"W\",\n \"X\",\n \"Y\",\n \"Z\",\n \"[\",\n \"\\\\\",\n \"]\",\n \"^\",\n \"_\",\n \"`\",\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\",\n \"f\",\n \"g\",\n \"h\",\n \"i\",\n \"j\",\n \"k\",\n \"l\",\n \"m\",\n \"n\",\n \"o\",\n \"p\",\n \"q\",\n \"r\",\n \"s\",\n \"t\",\n \"u\",\n \"v\",\n \"w\",\n \"x\",\n \"y\",\n \"z\",\n \"{\",\n \"|\",\n \"}\",\n \"~\",\n \"\",\n \"€\",\n \"\",\n \"‚\",\n \"ƒ\",\n \"„\",\n \"…\",\n \"†\",\n \"‡\",\n \"ˆ\",\n \"‰\",\n \"Š\",\n \"‹\",\n \"Œ\",\n \"\",\n \"Ž\",\n \"\",\n \"\",\n \"‘\",\n \"’\",\n \"“\",\n \"”\",\n \"•\",\n \"–\",\n \"—\",\n \"˜\",\n \"™\",\n \"š\",\n \"›\",\n \"œ\",\n \"\",\n \"ž\",\n \"Ÿ\",\n \"\\u00a0\",\n \"¡\",\n \"¢\",\n \"£\",\n \"¤\",\n \"¥\",\n \"¦\",\n \"§\",\n \"¨\",\n \"©\",\n \"ª\",\n \"«\",\n \"¬\",\n \"\",\n \"®\",\n \"¯\",\n \"°\",\n \"±\",\n \"²\",\n \"³\",\n \"´\",\n \"µ\",\n \"¶\",\n \"·\",\n \"¸\",\n \"¹\",\n \"º\",\n \"»\",\n \"¼\",\n \"½\",\n \"¾\",\n \"¿\",\n \"À\",\n \"Á\",\n \"Â\",\n \"Ã\",\n \"Ä\",\n \"Å\",\n \"Æ\",\n \"Ç\",\n \"È\",\n \"É\",\n \"Ê\",\n \"Ë\",\n \"Ì\",\n \"Í\",\n \"Î\",\n \"Ï\",\n \"Ð\",\n \"Ñ\",\n \"Ò\",\n \"Ó\",\n \"Ô\",\n \"Õ\",\n \"Ö\",\n \"×\",\n \"Ø\",\n \"Ù\",\n \"Ú\",\n \"Û\",\n \"Ü\",\n \"Ý\",\n \"Þ\",\n \"ß\",\n \"à\",\n \"á\",\n \"â\",\n \"ã\",\n \"ä\",\n \"å\",\n \"æ\",\n \"ç\",\n \"è\",\n \"é\",\n \"ê\",\n \"ë\",\n \"ì\",\n \"í\",\n \"î\",\n \"ï\",\n \"ð\",\n \"ñ\",\n \"ò\",\n \"ó\",\n \"ô\",\n \"õ\",\n \"ö\",\n \"÷\",\n \"ø\",\n \"ù\",\n \"ú\",\n \"û\",\n \"ü\",\n \"ý\",\n \"þ\",\n \"ÿ\",\n];\nconst utf8ToIso88591 = {\n \"\\u0000\": 0,\n \"\\u0001\": 1,\n \"\\u0002\": 2,\n \"\\u0003\": 3,\n \"\\u0004\": 4,\n \"\\u0005\": 5,\n \"\\u0006\": 6,\n \"\\u0007\": 7,\n \"\\u0008\": 8,\n \"\\u0009\": 9,\n \"\\n\": 10,\n \"\\u000b\": 11,\n \"\\u000c\": 12,\n \"\\r\": 13,\n \"\\u000e\": 14,\n \"\\u000f\": 15,\n \"\\u0010\": 16,\n \"\\u0011\": 17,\n \"\\u0012\": 18,\n \"\\u0013\": 19,\n \"\\u0014\": 20,\n \"\\u0015\": 21,\n \"\\u0016\": 22,\n \"\\u0017\": 23,\n \"\\u0018\": 24,\n \"\\u0019\": 25,\n \"\\u001a\": 26,\n \"\\u001b\": 27,\n \"\\u001c\": 28,\n \"\\u001d\": 29,\n \"\\u001e\": 30,\n \"\\u001f\": 31,\n \" \": 32,\n \"!\": 33,\n '\"': 34,\n \"#\": 35,\n $: 36,\n \"%\": 37,\n \"&\": 38,\n \"\\u0027\": 39,\n \"(\": 40,\n \")\": 41,\n \"*\": 42,\n \"+\": 43,\n \",\": 44,\n \"-\": 45,\n \".\": 46,\n \"/\": 47,\n \"0\": 48,\n \"1\": 49,\n \"2\": 50,\n \"3\": 51,\n \"4\": 52,\n \"5\": 53,\n \"6\": 54,\n \"7\": 55,\n \"8\": 56,\n \"9\": 57,\n \":\": 58,\n \";\": 59,\n \"<\": 60,\n \"=\": 61,\n \">\": 62,\n \"?\": 63,\n \"@\": 64,\n A: 65,\n B: 66,\n C: 67,\n D: 68,\n E: 69,\n F: 70,\n G: 71,\n H: 72,\n I: 73,\n J: 74,\n K: 75,\n L: 76,\n M: 77,\n N: 78,\n O: 79,\n P: 80,\n Q: 81,\n R: 82,\n S: 83,\n T: 84,\n U: 85,\n V: 86,\n W: 87,\n X: 88,\n Y: 89,\n Z: 90,\n \"[\": 91,\n \"\\\\\": 92,\n \"]\": 93,\n \"^\": 94,\n _: 95,\n \"`\": 96,\n a: 97,\n b: 98,\n c: 99,\n d: 100,\n e: 101,\n f: 102,\n g: 103,\n h: 104,\n i: 105,\n j: 106,\n k: 107,\n l: 108,\n m: 109,\n n: 110,\n o: 111,\n p: 112,\n q: 113,\n r: 114,\n s: 115,\n t: 116,\n u: 117,\n v: 118,\n w: 119,\n x: 120,\n y: 121,\n z: 122,\n \"{\": 123,\n \"|\": 124,\n \"}\": 125,\n \"~\": 126,\n \"\": 127,\n \"€\": 128,\n \"\": 129,\n \"‚\": 130,\n ƒ: 131,\n \"„\": 132,\n \"…\": 133,\n \"†\": 134,\n \"‡\": 135,\n ˆ: 136,\n \"‰\": 137,\n Š: 138,\n \"‹\": 139,\n Œ: 140,\n \"\": 141,\n Ž: 142,\n \"\": 143,\n \"\": 144,\n \"‘\": 145,\n \"’\": 146,\n \"“\": 147,\n \"”\": 148,\n \"•\": 149,\n \"–\": 150,\n \"—\": 151,\n \"˜\": 152,\n \"™\": 153,\n š: 154,\n \"›\": 155,\n œ: 156,\n \"\": 157,\n ž: 158,\n Ÿ: 159,\n \"\\u00a0\": 160,\n \"¡\": 161,\n \"¢\": 162,\n \"£\": 163,\n \"¤\": 164,\n \"¥\": 165,\n \"¦\": 166,\n \"§\": 167,\n \"¨\": 168,\n \"©\": 169,\n ª: 170,\n \"«\": 171,\n \"¬\": 172,\n \"\": 173,\n \"®\": 174,\n \"¯\": 175,\n \"°\": 176,\n \"±\": 177,\n \"²\": 178,\n \"³\": 179,\n \"´\": 180,\n µ: 181,\n \"¶\": 182,\n \"·\": 183,\n \"¸\": 184,\n \"¹\": 185,\n º: 186,\n \"»\": 187,\n \"¼\": 188,\n \"½\": 189,\n \"¾\": 190,\n \"¿\": 191,\n À: 192,\n Á: 193,\n Â: 194,\n Ã: 195,\n Ä: 196,\n Å: 197,\n Æ: 198,\n Ç: 199,\n È: 200,\n É: 201,\n Ê: 202,\n Ë: 203,\n Ì: 204,\n Í: 205,\n Î: 206,\n Ï: 207,\n Ð: 208,\n Ñ: 209,\n Ò: 210,\n Ó: 211,\n Ô: 212,\n Õ: 213,\n Ö: 214,\n \"×\": 215,\n Ø: 216,\n Ù: 217,\n Ú: 218,\n Û: 219,\n Ü: 220,\n Ý: 221,\n Þ: 222,\n ß: 223,\n à: 224,\n á: 225,\n â: 226,\n ã: 227,\n ä: 228,\n å: 229,\n æ: 230,\n ç: 231,\n è: 232,\n é: 233,\n ê: 234,\n ë: 235,\n ì: 236,\n í: 237,\n î: 238,\n ï: 239,\n ð: 240,\n ñ: 241,\n ò: 242,\n ó: 243,\n ô: 244,\n õ: 245,\n ö: 246,\n \"÷\": 247,\n ø: 248,\n ù: 249,\n ú: 250,\n û: 251,\n ü: 252,\n ý: 253,\n þ: 254,\n ÿ: 255,\n};\n//# sourceMappingURL=Iso88591.js.map","import { Transcoder } from \"./Transcoder\";\nexport class Utf8 extends Transcoder {\n encode(data) {\n return Uint8Array.from(unescape(encodeURIComponent(data)).split(\"\"), c => c.charCodeAt(0));\n }\n decode(data) {\n return !data\n ? \"\"\n : decodeURIComponent(escape(Array.from(new Uint8Array(data.buffer, data.byteOffset, data.byteLength), c => String.fromCharCode(c)).join(\"\")));\n }\n}\n//# sourceMappingURL=Utf8.js.map","import { Iso88591 } from \"./Iso88591\";\nimport { Utf8 } from \"./Utf8\";\nexport var Encoding;\n(function (Encoding) {\n Encoding.values = [\n \"UTF-8\",\n \"UTF-16\",\n \"UTF-32\",\n \"ASCII\",\n \"CP037\",\n \"CP930\",\n \"CP1047\",\n \"ISO-8859-1\",\n \"ISO-8859-2\",\n \"ISO-8859-3\",\n \"ISO-8859-4\",\n \"ISO-8859-5\",\n \"ISO-8859-6\",\n \"ISO-8859-7\",\n \"ISO-8859-8\",\n \"ISO-8859-9\",\n \"ISO-8859-10\",\n \"ISO-8859-11\",\n \"ISO-8859-13\",\n \"ISO-8859-14\",\n \"ISO-8859-15\",\n \"ISO-8859-16\",\n \"CP437\",\n \"CP720\",\n \"CP737\",\n \"CP850\",\n \"CP852\",\n \"CP855\",\n \"CP857\",\n \"CP858\",\n \"CP860\",\n \"CP861\",\n \"CP862\",\n \"CP863\",\n \"CP865\",\n \"CP866\",\n \"CP869\",\n \"CP872\",\n \"Windows-1250\",\n \"Windows-1251\",\n \"Windows-1252\",\n \"Windows-1253\",\n \"Windows-1254\",\n \"Windows-1255\",\n \"Windows-1256\",\n \"Windows-1257\",\n \"Windows-1258\",\n \"Mac OS Roman\",\n \"KOI8-R\",\n \"KOI8-U\",\n \"KOI7\",\n \"MIK\",\n \"ISCII\",\n \"TSCII\",\n \"VISCII\",\n \"Shift_JIS\",\n \"EUC-JP\",\n \"ISO-2022-JP\",\n \"Shift_JIS-2004\",\n \"EUC-JIS-2004\",\n \"ISO-2022-2004\",\n \"GB 2312\",\n \"GBK\",\n \"GB 18030\",\n \"Big5\",\n \"HKSCS\",\n \"KS X 1001\",\n \"EUC-KR\",\n \"ISO-2022-KR\",\n \"T.51\",\n ];\n function is(value) {\n return typeof value == \"string\" && Encoding.values.some(v => v == value);\n }\n Encoding.is = is;\n function parse(value) {\n let result;\n switch (value.toUpperCase()) {\n case \"UTF-8\":\n case \"UTF8\":\n case \"UTF 8\":\n result = \"UTF-8\";\n break;\n case \"UTF-16\":\n result = \"UTF-16\";\n break;\n case \"UTF-32\":\n result = \"UTF-32\";\n break;\n case \"US-ASCII\":\n case \"ASCII\":\n result = \"ASCII\";\n break;\n case \"CP037\":\n result = \"CP037\";\n break;\n case \"CP930\":\n result = \"CP930\";\n break;\n case \"CP1047\":\n result = \"CP1047\";\n break;\n case \"ISO-IR-100\":\n case \"CSISOLATIN1\":\n case \"LATIN1\":\n case \"LATIN-1\":\n case \"L1\":\n case \"IBM819\":\n case \"CODE PAGE 28591\":\n case \"WINDOWS-28591\":\n case \"CODE PAGE 819\":\n case \"CP819\":\n case \"CCSID 819\":\n case \"WE8ISO8859P1\":\n case \"ISO 8859-1\":\n case \"ISO-8859-1\": // Western Europe\n result = \"ISO-8859-1\";\n break;\n case \"ISO-8859-2\":\n result = \"ISO-8859-2\";\n break; // Western and Central Europe\n case \"ISO-8859-3\":\n result = \"ISO-8859-3\";\n break; // Western Europe and South European (Turkish, Maltese plus Esperanto)\n case \"ISO-8859-4\":\n result = \"ISO-8859-4\";\n break; // Western Europe and Baltic countries (Lithuania, Estonia, Latvia and Lapp)\n case \"ISO-8859-5\":\n result = \"ISO-8859-5\";\n break; // Cyrillic alphabet\n case \"ISO-8859-6\":\n result = \"ISO-8859-6\";\n break; // Arabic\n case \"ISO-8859-7\":\n result = \"ISO-8859-7\";\n break; // Greek\n case \"ISO-8859-8\":\n result = \"ISO-8859-8\";\n break; // Hebrew\n case \"ISO-8859-9\":\n result = \"ISO-8859-9\";\n break; // Western Europe with amended Turkish character set\n case \"ISO-8859-10\":\n result = \"ISO-8859-10\";\n break; // Western Europe with rationalised character set for Nordic languages, including complete Icelandic set\n case \"ISO-8859-11\":\n result = \"ISO-8859-11\";\n break; // Thai\n case \"ISO-8859-13\":\n result = \"ISO-8859-13\";\n break; // Baltic languages plus Polish\n case \"ISO-8859-14\":\n result = \"ISO-8859-14\";\n break; // Celtic languages (Irish Gaelic, Scottish, Welsh)\n case \"ISO-8859-15\":\n result = \"ISO-8859-15\";\n break; // Added the Euro sign and other rationalisations to ISO 8859-1\n case \"ISO-8859-16\":\n result = \"ISO-8859-16\";\n break; // Central, Eastern and Southern European languages (Albanian, Bosnian, Croatian, Hungarian, Polish, Romanian, Serbian and Slovenian, but also French, German, Italian and Irish Gaelic)\n case \"CP437\":\n result = \"CP437\";\n break;\n case \"CP720\":\n result = \"CP720\";\n break;\n case \"CP737\":\n result = \"CP737\";\n break;\n case \"CP850\":\n result = \"CP850\";\n break;\n case \"CP852\":\n result = \"CP852\";\n break;\n case \"CP855\":\n result = \"CP855\";\n break;\n case \"CP857\":\n result = \"CP857\";\n break;\n case \"CP858\":\n result = \"CP858\";\n break;\n case \"CP860\":\n result = \"CP860\";\n break;\n case \"CP861\":\n result = \"CP861\";\n break;\n case \"CP862\":\n result = \"CP862\";\n break;\n case \"CP863\":\n result = \"CP863\";\n break;\n case \"CP865\":\n result = \"CP865\";\n break;\n case \"CP866\":\n result = \"CP866\";\n break;\n case \"CP869\":\n result = \"CP869\";\n break;\n case \"CP872\":\n result = \"CP872\";\n break;\n case \"WINDOWS-1250\":\n result = \"Windows-1250\";\n break; // Central European languages that use Latin script, (Polish, Czech, Slovak, Hungarian, Slovene, Serbian, Croatian, Bosnian, Romanian and Albanian)\n case \"WINDOWS-1251\":\n result = \"Windows-1251\";\n break; // Cyrillic alphabets\n case \"WINDOWS-1252\":\n result = \"Windows-1252\";\n break; // Western languages\n case \"WINDOWS-1253\":\n result = \"Windows-1253\";\n break; // Greek\n case \"WINDOWS-1254\":\n result = \"Windows-1254\";\n break; // Turkish\n case \"WINDOWS-1255\":\n result = \"Windows-1255\";\n break; // Hebrew\n case \"WINDOWS-1256\":\n result = \"Windows-1256\";\n break; // Arabic\n case \"WINDOWS-1257\":\n result = \"Windows-1257\";\n break; // Baltic languages\n case \"WINDOWS-1258\":\n result = \"Windows-1258\";\n break; // Vietnamese\n case \"MAC OS ROMAN\":\n result = \"Mac OS Roman\";\n break;\n case \"KOI8-R\":\n result = \"KOI8-R\";\n break;\n case \"KOI8-U\":\n result = \"KOI8-U\";\n break;\n case \"KOI7\":\n result = \"KOI7\";\n break;\n case \"MIK\":\n result = \"MIK\";\n break;\n case \"ISCII\":\n result = \"ISCII\";\n break;\n case \"TSCII\":\n result = \"TSCII\";\n break;\n case \"VISCII\":\n result = \"VISCII\";\n break;\n case \"SHIFT_JIS\":\n result = \"Shift_JIS\";\n break;\n case \"EUC-JP\":\n result = \"EUC-JP\";\n break;\n case \"ISO-2022-JP\":\n result = \"ISO-2022-JP\";\n break;\n case \"SHIFT_JIS-2004\":\n result = \"Shift_JIS-2004\";\n break;\n case \"EUC-JIS-2004\":\n result = \"EUC-JIS-2004\";\n break;\n case \"ISO-2022-2004\":\n result = \"ISO-2022-2004\";\n break;\n case \"GB 2312\":\n result = \"GB 2312\";\n break;\n case \"GBK\":\n result = \"GBK\";\n break;\n case \"GB 18030\":\n result = \"GB 18030\";\n break;\n case \"BIG5\":\n result = \"Big5\";\n break;\n case \"HKSCS\":\n result = \"HKSCS\";\n break;\n case \"KS X 1001\":\n result = \"KS X 1001\";\n break;\n case \"EUC-KR\":\n result = \"EUC-KR\";\n break;\n case \"ISO-2022-KR\":\n result = \"ISO-2022-KR\";\n break;\n case \"T.51\":\n result = \"T.51\";\n break;\n }\n return result;\n }\n Encoding.parse = parse;\n function encode(encoding, data) {\n return transcoders[encoding].encode(data);\n }\n Encoding.encode = encode;\n function decode(encoding, data) {\n return transcoders[encoding].decode(data);\n }\n Encoding.decode = decode;\n const transcoders = {\n \"ISO-8859-1\": new Iso88591(),\n \"UTF-8\": new Utf8(),\n };\n})(Encoding || (Encoding = {}));\n//# sourceMappingURL=index.js.map","export var Language;\n(function (Language) {\n function is(value) {\n return (typeof value == \"string\" &&\n (value == \"ab\" ||\n value == \"aa\" ||\n value == \"af\" ||\n value == \"ak\" ||\n value == \"sq\" ||\n value == \"am\" ||\n value == \"ar\" ||\n value == \"an\" ||\n value == \"hy\" ||\n value == \"as\" ||\n value == \"av\" ||\n value == \"ae\" ||\n value == \"ay\" ||\n value == \"az\" ||\n value == \"bm\" ||\n value == \"ba\" ||\n value == \"eu\" ||\n value == \"be\" ||\n value == \"bn\" ||\n value == \"bh\" ||\n value == \"bi\" ||\n value == \"bs\" ||\n value == \"br\" ||\n value == \"bg\" ||\n value == \"my\" ||\n value == \"ca\" ||\n value == \"ch\" ||\n value == \"ce\" ||\n value == \"ny\" ||\n value == \"zh\" ||\n value == \"cv\" ||\n value == \"kw\" ||\n value == \"co\" ||\n value == \"cr\" ||\n value == \"hr\" ||\n value == \"cs\" ||\n value == \"da\" ||\n value == \"dv\" ||\n value == \"nl\" ||\n value == \"dz\" ||\n value == \"en\" ||\n value == \"eo\" ||\n value == \"et\" ||\n value == \"ee\" ||\n value == \"fo\" ||\n value == \"fj\" ||\n value == \"fi\" ||\n value == \"fr\" ||\n value == \"ff\" ||\n value == \"gl\" ||\n value == \"ka\" ||\n value == \"de\" ||\n value == \"el\" ||\n value == \"gn\" ||\n value == \"gu\" ||\n value == \"ht\" ||\n value == \"ha\" ||\n value == \"he\" ||\n value == \"hz\" ||\n value == \"hi\" ||\n value == \"ho\" ||\n value == \"hu\" ||\n value == \"ia\" ||\n value == \"id\" ||\n value == \"ie\" ||\n value == \"ga\" ||\n value == \"ig\" ||\n value == \"ik\" ||\n value == \"io\" ||\n value == \"is\" ||\n value == \"it\" ||\n value == \"iu\" ||\n value == \"ja\" ||\n value == \"jv\" ||\n value == \"kl\" ||\n value == \"kn\" ||\n value == \"kr\" ||\n value == \"ks\" ||\n value == \"kk\" ||\n value == \"km\" ||\n value == \"ki\" ||\n value == \"rw\" ||\n value == \"ky\" ||\n value == \"kv\" ||\n value == \"kg\" ||\n value == \"ko\" ||\n value == \"ku\" ||\n value == \"kj\" ||\n value == \"la\" ||\n value == \"lb\" ||\n value == \"lg\" ||\n value == \"li\" ||\n value == \"ln\" ||\n value == \"lo\" ||\n value == \"lt\" ||\n value == \"lu\" ||\n value == \"lv\" ||\n value == \"gv\" ||\n value == \"mk\" ||\n value == \"mg\" ||\n value == \"ms\" ||\n value == \"ml\" ||\n value == \"mt\" ||\n value == \"mi\" ||\n value == \"mr\" ||\n value == \"mh\" ||\n value == \"mn\" ||\n value == \"na\" ||\n value == \"nv\" ||\n value == \"nd\" ||\n value == \"ne\" ||\n value == \"ng\" ||\n value == \"nb\" ||\n value == \"nn\" ||\n value == \"no\" ||\n value == \"ii\" ||\n value == \"nr\" ||\n value == \"oc\" ||\n value == \"oj\" ||\n value == \"cu\" ||\n value == \"om\" ||\n value == \"or\" ||\n value == \"os\" ||\n value == \"pa\" ||\n value == \"pi\" ||\n value == \"fa\" ||\n value == \"pl\" ||\n value == \"ps\" ||\n value == \"pt\" ||\n value == \"qu\" ||\n value == \"rm\" ||\n value == \"rn\" ||\n value == \"ro\" ||\n value == \"ru\" ||\n value == \"sa\" ||\n value == \"sc\" ||\n value == \"sd\" ||\n value == \"se\" ||\n value == \"sm\" ||\n value == \"sg\" ||\n value == \"sr\" ||\n value == \"gd\" ||\n value == \"sn\" ||\n value == \"si\" ||\n value == \"sk\" ||\n value == \"sl\" ||\n value == \"so\" ||\n value == \"st\" ||\n value == \"es\" ||\n value == \"su\" ||\n value == \"sw\" ||\n value == \"ss\" ||\n value == \"sv\" ||\n value == \"ta\" ||\n value == \"te\" ||\n value == \"tg\" ||\n value == \"th\" ||\n value == \"ti\" ||\n value == \"bo\" ||\n value == \"tk\" ||\n value == \"tl\" ||\n value == \"tn\" ||\n value == \"to\" ||\n value == \"tr\" ||\n value == \"ts\" ||\n value == \"tt\" ||\n value == \"tw\" ||\n value == \"ty\" ||\n value == \"ug\" ||\n value == \"uk\" ||\n value == \"ur\" ||\n value == \"uz\" ||\n value == \"ve\" ||\n value == \"vi\" ||\n value == \"vo\" ||\n value == \"wa\" ||\n value == \"cy\" ||\n value == \"wo\" ||\n value == \"fy\" ||\n value == \"xh\" ||\n value == \"yi\" ||\n value == \"yo\" ||\n value == \"za\" ||\n value == \"zu\"));\n }\n Language.is = is;\n function toName(language) {\n return {\n ab: \"Abkhazian\",\n aa: \"Afar\",\n af: \"Afrikaans\",\n ak: \"Akan\",\n sq: \"Albanian\",\n am: \"Amharic\",\n ar: \"Arabic\",\n an: \"Aragonese\",\n hy: \"Armenian\",\n as: \"Assamese\",\n av: \"Avaric\",\n ae: \"Avestan\",\n ay: \"Aymara\",\n az: \"Azerbaijani\",\n bm: \"Bambara\",\n ba: \"Bashkir\",\n eu: \"Basque\",\n be: \"Belarusian\",\n bn: \"Bengali\",\n bh: \"Bihari languages\",\n bi: \"Bislama\",\n bs: \"Bosnian\",\n br: \"Breton\",\n bg: \"Bulgarian\",\n my: \"Burmese\",\n ca: \"Catalan, Valencian\",\n ch: \"Chamorro\",\n ce: \"Chechen\",\n ny: \"Chichewa, Chewa, Nyanja\",\n zh: \"Chinese\",\n cv: \"Chuvash\",\n kw: \"Cornish\",\n co: \"Corsican\",\n cr: \"Cree\",\n hr: \"Croatian\",\n cs: \"Czech\",\n da: \"Danish\",\n dv: \"Divehi, Dhivehi, Maldivian\",\n nl: \"Dutch, Flemish\",\n dz: \"Dzongkha\",\n en: \"English\",\n eo: \"Esperanto\",\n et: \"Estonian\",\n ee: \"Ewe\",\n fo: \"Faroese\",\n fj: \"Fijian\",\n fi: \"Finnish\",\n fr: \"French\",\n ff: \"Fulah\",\n gl: \"Galician\",\n ka: \"Georgian\",\n de: \"German\",\n el: \"Greek, Modern (1453-)\",\n gn: \"Guarani\",\n gu: \"Gujarati\",\n ht: \"Haitian, Haitian Creole\",\n ha: \"Hausa\",\n he: \"Hebrew\",\n hz: \"Herero\",\n hi: \"Hindi\",\n ho: \"Hiri Motu\",\n hu: \"Hungarian\",\n ia: \"Interlingua (International Auxiliary Language Association)\",\n id: \"Indonesian\",\n ie: \"Interlingue, Occidental\",\n ga: \"Irish\",\n ig: \"Igbo\",\n ik: \"Inupiaq\",\n io: \"Ido\",\n is: \"Icelandic\",\n it: \"Italian\",\n iu: \"Inuktitut\",\n ja: \"Japanese\",\n jv: \"Javanese\",\n kl: \"Kalaallisut, Greenlandic\",\n kn: \"Kannada\",\n kr: \"Kanuri\",\n ks: \"Kashmiri\",\n kk: \"Kazakh\",\n km: \"Central Khmer\",\n ki: \"Kikuyu, Gikuyu\",\n rw: \"Kinyarwanda\",\n ky: \"Kirghiz, Kyrgyz\",\n kv: \"Komi\",\n kg: \"Kongo\",\n ko: \"Korean\",\n ku: \"Kurdish\",\n kj: \"Kuanyama, Kwanyama\",\n la: \"Latin\",\n lb: \"Luxembourgish, Letzeburgesch\",\n lg: \"Ganda\",\n li: \"Limburgan, Limburger, Limburgish\",\n ln: \"Lingala\",\n lo: \"Lao\",\n lt: \"Lithuanian\",\n lu: \"Luba-Katanga\",\n lv: \"Latvian\",\n gv: \"Manx\",\n mk: \"Macedonian\",\n mg: \"Malagasy\",\n ms: \"Malay\",\n ml: \"Malayalam\",\n mt: \"Maltese\",\n mi: \"Maori\",\n mr: \"Marathi\",\n mh: \"Marshallese\",\n mn: \"Mongolian\",\n na: \"Nauru\",\n nv: \"Navajo, Navaho\",\n nd: \"North Ndebele\",\n ne: \"Nepali\",\n ng: \"Ndonga\",\n nb: \"Norwegian Bokmål\",\n nn: \"Norwegian Nynorsk\",\n no: \"Norwegian\",\n ii: \"Sichuan Yi, Nuosu\",\n nr: \"South Ndebele\",\n oc: \"Occitan\",\n oj: \"Ojibwa\",\n cu: \"Church Slavic, Old Slavonic, Church Slavonic, Old Bulgarian, Old Church Slavonic\",\n om: \"Oromo\",\n or: \"Oriya\",\n os: \"Ossetian, Ossetic\",\n pa: \"Panjabi, Punjabi\",\n pi: \"Pali\",\n fa: \"Persian\",\n pl: \"Polish\",\n ps: \"Pashto, Pushto\",\n pt: \"Portuguese\",\n qu: \"Quechua\",\n rm: \"Romansh\",\n rn: \"Rundi\",\n ro: \"Romanian, Moldavian, Moldovan\",\n ru: \"Russian\",\n sa: \"Sanskrit\",\n sc: \"Sardinian\",\n sd: \"Sindhi\",\n se: \"Northern Sami\",\n sm: \"Samoan\",\n sg: \"Sango\",\n sr: \"Serbian\",\n gd: \"Gaelic, Scottish Gaelic\",\n sn: \"Shona\",\n si: \"Sinhala, Sinhalese\",\n sk: \"Slovak\",\n sl: \"Slovenian\",\n so: \"Somali\",\n st: \"Southern Sotho\",\n es: \"Spanish, Castilian\",\n su: \"Sundanese\",\n sw: \"Swahili\",\n ss: \"Swati\",\n sv: \"Swedish\",\n ta: \"Tamil\",\n te: \"Telugu\",\n tg: \"Tajik\",\n th: \"Thai\",\n ti: \"Tigrinya\",\n bo: \"Tibetan\",\n tk: \"Turkmen\",\n tl: \"Tagalog\",\n tn: \"Tswana\",\n to: \"Tonga (Tonga Islands)\",\n tr: \"Turkish\",\n ts: \"Tsonga\",\n tt: \"Tatar\",\n tw: \"Twi\",\n ty: \"Tahitian\",\n ug: \"Uighur, Uyghur\",\n uk: \"Ukrainian\",\n ur: \"Urdu\",\n uz: \"Uzbek\",\n ve: \"Venda\",\n vi: \"Vietnamese\",\n vo: \"Volapük\",\n wa: \"Walloon\",\n cy: \"Welsh\",\n wo: \"Wolof\",\n fy: \"Western Frisian\",\n xh: \"Xhosa\",\n yi: \"Yiddish\",\n yo: \"Yoruba\",\n za: \"Zhuang, Chuang\",\n zu: \"Zulu\",\n }[language];\n }\n Language.toName = toName;\n function toNativeName(language) {\n return {\n ab: \"аҧсуа бызшәа, аҧсшәа\",\n aa: \"Afaraf\",\n af: \"Afrikaans\",\n ak: \"Akan\",\n sq: \"Shqip\",\n am: \"አማርኛ\",\n ar: \"العربية\",\n an: \"aragonés\",\n hy: \"Հայերեն\",\n as: \"অসমীয়া\",\n av: \"авар мацӀ, магӀарул мацӀ\",\n ae: \"avesta\",\n ay: \"aymar aru\",\n az: \"azərbaycan dili\",\n bm: \"bamanankan\",\n ba: \"башҡорт теле\",\n eu: \"euskara, euskera\",\n be: \"беларуская мова\",\n bn: \"বাংলা\",\n bh: \"ोजपुरी\",\n bi: \"Bislama\",\n bs: \"bosanski jezik\",\n br: \"brezhoneg\",\n bg: \"български език\",\n my: \"ဗမာစာ\",\n ca: \";català, valencià\",\n ch: \"Chamoru\",\n ce: \"нохчийн мотт\",\n ny: \"chiCheŵa, chinyanja\",\n zh: \"中文 (Zhōngwén), 汉语, 漢語\",\n cv: \"чӑваш чӗлхи\",\n kw: \"Kernewek\",\n co: \"corsu, lingua corsa\",\n cr: \"ᓀᐦᐃᔭᐍᐏᐣ\",\n hr: \"hrvatski jezik\",\n cs: \"čeština, český jazyk\",\n da: \"dansk\",\n dv: \";ދިވެހި\",\n nl: \"Nederlands, Vlaams\",\n dz: \"རྫོང་ཁ\",\n en: \"English\",\n eo: \"Esperanto\",\n et: \"eesti, eesti keel\",\n ee: \"Eʋegbe\",\n fo: \"føroyskt\",\n fj: \"vosa Vakaviti\",\n fi: \"suomi, suomen kieli\",\n fr: \"français, langue française\",\n ff: \"Fulfulde, Pulaar, Pular\",\n gl: \"Galego\",\n ka: \"ქართული\",\n de: \"Deutsch\",\n el: \"ελληνικά\",\n gn: \"Avañe'ẽ\",\n gu: \"ગુજરાતી\",\n ht: \"Kreyòl ayisyen\",\n ha: \"(Hausa) هَوُسَ\",\n he: \"עברית\",\n hz: \"Otjiherero\",\n hi: \"हिन्दी, हिंदी\",\n ho: \";Hiri Motu\",\n hu: \"magyar\",\n ia: \"Interlingua\",\n id: \"Bahasa Indonesia\",\n ie: \"Interlingue\",\n ga: \"Gaeilge\",\n ig: \"Asụsụ Igbo\",\n ik: \"Iñupiaq, Iñupiatun\",\n io: \"Ido\",\n is: \"Íslenska\",\n it: \"Italiano\",\n iu: \"ᐃᓄᒃᑎᑐᑦ\",\n ja: \"日本語 (にほんご)\",\n jv: \"ꦧꦱꦗꦮ, Basa Jawa\",\n kl: \"kalaallisut, kalaallit oqaasii\",\n kn: \"ಕನ್ನಡ\",\n kr: \"Kanuri\",\n ks: \"कश्मीरी, كشميري\",\n kk: \"қазақ тілі\",\n km: \"្មែរ, ខេមរភាសា, ភាសាខ្មែរ\",\n ki: \"Gĩkũyũ\",\n rw: \"Ikinyarwanda\",\n ky: \"Кыргызча, Кыргыз тили\",\n kv: \"коми кыв\",\n kg: \"Kikongo\",\n ko: \"한국어\",\n ku: \"Kurdî, کوردی\",\n kj: \"Kuanyama\",\n la: \"latine, lingua latina\",\n lb: \"Lëtzebuergesch\",\n lg: \"Luganda\",\n li: \"Limburgs\",\n ln: \"Lingála\",\n lo: \"ພາສາລາວ\",\n lt: \"lietuvių kalba\",\n lu: \";Kiluba\",\n lv: \"latviešu valoda\",\n gv: \"Gaelg, Gailck\",\n mk: \"македонски јазик\",\n mg: \"fiteny malagasy\",\n ms: \"Bahasa Melayu, بهاس ملايو\",\n ml: \"മലയാളം\",\n mt: \"Malti\",\n mi: \"te reo Māori\",\n mr: \"मराठी\",\n mh: \"Kajin M̧ajeļ\",\n mn: \"Монгол хэл\",\n na: \"Dorerin Naoero\",\n nv: \";Diné bizaad\",\n nd: \";isiNdebele\",\n ne: \"नेपाली\",\n ng: \"Owambo\",\n nb: \"Norsk Bokmål\",\n nn: \"Norsk Nynorsk\",\n no: \"Norsk\",\n ii: \";ꆈꌠ꒿ Nuosuhxop\",\n nr: \";isiNdebele\",\n oc: \"occitan, lenga d'òc\",\n oj: \"ᐊᓂᔑᓈᐯᒧᐎᓐ\",\n cu: \";ѩзыкъ словѣньскъ\",\n om: \"Afaan Oromoo\",\n or: \"ଓଡ଼ିଆ\",\n os: \";ирон æвзаг\",\n pa: \";ਪੰਜਾਬੀ\",\n pi: \"पाऴि\",\n fa: \"فارسی\",\n pl: \"język polski, polszczyzna\",\n ps: \"پښتو\",\n pt: \"Português\",\n qu: \"Runa Simi, Kichwa\",\n rm: \"Rumantsch Grischun\",\n rn: \"Ikirundi\",\n ro: \";Română\",\n ru: \"русский\",\n sa: \"संस्कृतम्\",\n sc: \"sardu\",\n sd: \"सिन्धी, سنڌي، سندھی\",\n se: \";Davvisámegiella\",\n sm: \"gagana fa'a Samoa\",\n sg: \"yângâ tî sängö\",\n sr: \"српски језик\",\n gd: \";Gàidhlig\",\n sn: \"chiShona\",\n si: \";සිංහල\",\n sk: \"Slovenčina, Slovenský Jazyk\",\n sl: \"Slovenski Jezik, Slovenščina\",\n so: \"Soomaaliga, af Soomaali\",\n st: \";Sesotho\",\n es: \";Español\",\n su: \"Basa Sunda\",\n sw: \"Kiswahili\",\n ss: \"SiSwati\",\n sv: \"Svenska\",\n ta: \"தமிழ்\",\n te: \"తెలుగు\",\n tg: \"тоҷикӣ, toçikī, تاجیکی\",\n th: \"ไทย\",\n ti: \"ትግርኛ\",\n bo: \"བོད་ཡིག\",\n tk: \"Türkmen, Түркмен\",\n tl: \"Wikang Tagalog\",\n tn: \"Setswana\",\n to: \"Faka Tonga\",\n tr: \"Türkçe\",\n ts: \"Xitsonga\",\n tt: \"татар теле, tatar tele\",\n tw: \"Twi\",\n ty: \"Reo Tahiti\",\n ug: \";ئۇيغۇرچە, Uyghurche\",\n uk: \"Українська\",\n ur: \"اردو\",\n uz: \"Oʻzbek, Ўзбек, أۇزبېك\",\n ve: \"Tshivenḓa\",\n vi: \"Tiếng Việt\",\n vo: \"Volapük\",\n wa: \"Walon\",\n cy: \"Cymraeg\",\n wo: \"Wollof\",\n fy: \";Frysk\",\n xh: \"isiXhosa\",\n yi: \"ייִדיש\",\n yo: \"Yorùbá\",\n za: \"Saɯ cueŋƅ, Saw cuengh\",\n zu: \"isiZu\",\n }[language];\n }\n Language.toNativeName = toNativeName;\n})(Language || (Language = {}));\n//# sourceMappingURL=Language.js.map","import { Alpha2 } from \"./CountryCode\";\nimport { Language } from \"./Language\";\nexport var Locale;\n(function (Locale) {\n function is(value) {\n return (value == \"af-ZA\" ||\n value == \"am-ET\" ||\n value == \"ar-AE\" ||\n value == \"ar-BH\" ||\n value == \"ar-DZ\" ||\n value == \"ar-EG\" ||\n value == \"ar-IQ\" ||\n value == \"ar-JO\" ||\n value == \"ar-KW\" ||\n value == \"ar-LB\" ||\n value == \"ar-LY\" ||\n value == \"ar-MA\" ||\n value == \"arn-CL\" ||\n value == \"ar-OM\" ||\n value == \"ar-QA\" ||\n value == \"ar-SA\" ||\n value == \"ar-SY\" ||\n value == \"ar-TN\" ||\n value == \"ar-YE\" ||\n value == \"as-IN\" ||\n value == \"az-AZ\" ||\n value == \"az-Cyrl-AZ\" ||\n value == \"az-Latn-AZ\" ||\n value == \"ba-RU\" ||\n value == \"be-BY\" ||\n value == \"bg-BG\" ||\n value == \"bn-BD\" ||\n value == \"bn-IN\" ||\n value == \"bo-CN\" ||\n value == \"br-FR\" ||\n value == \"bs-BA\" ||\n value == \"bs-Cyrl-BA\" ||\n value == \"bs-Latn-BA\" ||\n value == \"ca-ES\" ||\n value == \"co-FR\" ||\n value == \"cs-CZ\" ||\n value == \"cy-GB\" ||\n value == \"da-DK\" ||\n value == \"de-AT\" ||\n value == \"de-CH\" ||\n value == \"de-DE\" ||\n value == \"de-LI\" ||\n value == \"de-LU\" ||\n value == \"dsb-DE\" ||\n value == \"dv-MV\" ||\n value == \"el-GR\" ||\n value == \"en-029\" ||\n value == \"en-AU\" ||\n value == \"en-BZ\" ||\n value == \"en-CA\" ||\n value == \"en-GB\" ||\n value == \"en-IE\" ||\n value == \"en-IN\" ||\n value == \"en-JM\" ||\n value == \"en-MY\" ||\n value == \"en-NZ\" ||\n value == \"en-PH\" ||\n value == \"en-SG\" ||\n value == \"en-TT\" ||\n value == \"en-US\" ||\n value == \"en-ZA\" ||\n value == \"en-ZW\" ||\n value == \"es-AR\" ||\n value == \"es-BO\" ||\n value == \"es-CL\" ||\n value == \"es-CO\" ||\n value == \"es-CR\" ||\n value == \"es-DO\" ||\n value == \"es-EC\" ||\n value == \"es-ES\" ||\n value == \"es-GT\" ||\n value == \"es-HN\" ||\n value == \"es-MX\" ||\n value == \"es-NI\" ||\n value == \"es-PA\" ||\n value == \"es-PE\" ||\n value == \"es-PR\" ||\n value == \"es-PY\" ||\n value == \"es-SV\" ||\n value == \"es-US\" ||\n value == \"es-UY\" ||\n value == \"es-VE\" ||\n value == \"et-EE\" ||\n value == \"eu-ES\" ||\n value == \"fa-IR\" ||\n value == \"fi-FI\" ||\n value == \"fil-PH\" ||\n value == \"fo-FO\" ||\n value == \"fr-BE\" ||\n value == \"fr-CA\" ||\n value == \"fr-CH\" ||\n value == \"fr-FR\" ||\n value == \"fr-LU\" ||\n value == \"fr-MC\" ||\n value == \"fy-NL\" ||\n value == \"ga-IE\" ||\n value == \"gd-GB\" ||\n value == \"gl-ES\" ||\n value == \"gsw-FR\" ||\n value == \"gu-IN\" ||\n value == \"ha-Latn-NG\" ||\n value == \"he-IL\" ||\n value == \"hi-IN\" ||\n value == \"hr-BA\" ||\n value == \"hr-HR\" ||\n value == \"hsb-DE\" ||\n value == \"hu-HU\" ||\n value == \"hy-AM\" ||\n value == \"id-ID\" ||\n value == \"ig-NG\" ||\n value == \"ii-CN\" ||\n value == \"is-IS\" ||\n value == \"it-CH\" ||\n value == \"it-IT\" ||\n value == \"iu-Cans-CA\" ||\n value == \"iu-Latn-CA\" ||\n value == \"ja-JP\" ||\n value == \"ka-GE\" ||\n value == \"kk-KZ\" ||\n value == \"kl-GL\" ||\n value == \"km-KH\" ||\n value == \"kn-IN\" ||\n value == \"kok-IN\" ||\n value == \"ko-KR\" ||\n value == \"ky-KG\" ||\n value == \"lb-LU\" ||\n value == \"lo-LA\" ||\n value == \"lt-LT\" ||\n value == \"lv-LV\" ||\n value == \"mi-NZ\" ||\n value == \"mk-MK\" ||\n value == \"ml-IN\" ||\n value == \"mn-MN\" ||\n value == \"mn-Mong-CN\" ||\n value == \"moh-CA\" ||\n value == \"mr-IN\" ||\n value == \"ms-BN\" ||\n value == \"ms-MY\" ||\n value == \"mt-MT\" ||\n value == \"nb-NO\" ||\n value == \"ne-NP\" ||\n value == \"nl-BE\" ||\n value == \"nl-NL\" ||\n value == \"nn-NO\" ||\n value == \"nso-ZA\" ||\n value == \"oc-FR\" ||\n value == \"or-IN\" ||\n value == \"pa-IN\" ||\n value == \"pl-PL\" ||\n value == \"prs-AF\" ||\n value == \"ps-AF\" ||\n value == \"pt-BR\" ||\n value == \"pt-PT\" ||\n value == \"qut-GT\" ||\n value == \"quz-BO\" ||\n value == \"quz-EC\" ||\n value == \"quz-PE\" ||\n value == \"rm-CH\" ||\n value == \"ro-RO\" ||\n value == \"ru-RU\" ||\n value == \"rw-RW\" ||\n value == \"sah-RU\" ||\n value == \"sa-IN\" ||\n value == \"se-FI\" ||\n value == \"se-NO\" ||\n value == \"se-SE\" ||\n value == \"si-LK\" ||\n value == \"sk-SK\" ||\n value == \"sl-SI\" ||\n value == \"sma-NO\" ||\n value == \"sma-SE\" ||\n value == \"smj-NO\" ||\n value == \"smj-SE\" ||\n value == \"smn-FI\" ||\n value == \"sms-FI\" ||\n value == \"sq-AL\" ||\n value == \"sr-BA\" ||\n value == \"sr-CS\" ||\n value == \"sr-ME\" ||\n value == \"sr-RS\" ||\n value == \"sr-Cyrl-BA\" ||\n value == \"sr-Cyrl-CS\" ||\n value == \"sr-Cyrl-ME\" ||\n value == \"sr-Cyrl-RS\" ||\n value == \"sr-Latn-BA\" ||\n value == \"sr-Latn-CS\" ||\n value == \"sr-Latn-ME\" ||\n value == \"sr-Latn-RS\" ||\n value == \"sv-FI\" ||\n value == \"sv-SE\" ||\n value == \"sw-KE\" ||\n value == \"syr-SY\" ||\n value == \"ta-IN\" ||\n value == \"te-IN\" ||\n value == \"tg-TJ\" ||\n value == \"tg-Cyrl-TJ\" ||\n value == \"th-TH\" ||\n value == \"tk-TM\" ||\n value == \"tn-ZA\" ||\n value == \"tr-TR\" ||\n value == \"tt-RU\" ||\n value == \"tzm-DZ\" ||\n value == \"tzm-Latn-DZ\" ||\n value == \"ug-CN\" ||\n value == \"uk-UA\" ||\n value == \"ur-PK\" ||\n value == \"uz-UZ\" ||\n value == \"uz-Cyrl-UZ\" ||\n value == \"uz-Latn-UZ\" ||\n value == \"vi-VN\" ||\n value == \"wo-SN\" ||\n value == \"xh-ZA\" ||\n value == \"yo-NG\" ||\n value == \"zh-CN\" ||\n value == \"zh-HK\" ||\n value == \"zh-MO\" ||\n value == \"zh-SG\" ||\n value == \"zh-TW\" ||\n value == \"zu-ZA\");\n }\n Locale.is = is;\n function toLanguage(locale) {\n const result = locale.split(\"-\").shift();\n return Language.is(result) ? result : undefined;\n }\n Locale.toLanguage = toLanguage;\n function toAlpha2(locale) {\n const result = locale.split(\"-\").pop();\n return Alpha2.is(result) ? result : undefined;\n }\n Locale.toAlpha2 = toAlpha2;\n function toLocale(language, alpha2) {\n let result;\n if (alpha2)\n result = language + \"-\" + alpha2;\n else {\n result = {\n ca: \"ca-ES\",\n co: \"co-FR\",\n da: \"da-DK\",\n de: \"de-DE\",\n en: \"en-GB\",\n es: \"es-ES\",\n et: \"et-EE\",\n fi: \"fi-FI\",\n fr: \"fr-FR\",\n is: \"is-IS\",\n ja: \"ja-JP\",\n ko: \"ko-KR\",\n lb: \"lb-LU\",\n lt: \"lt-LT\",\n nb: \"nb-NO\",\n no: \"nn-NO\",\n nl: \"nl-NL\",\n pl: \"pl-PL\",\n pt: \"pt-PT\",\n ru: \"ru-RU\",\n sv: \"sv-SE\",\n }[language];\n }\n return is(result) ? result : undefined;\n }\n Locale.toLocale = toLocale;\n})(Locale || (Locale = {}));\n//# sourceMappingURL=Locale.js.map","import { DateTime } from \"./DateTime\";\nexport var TimeRange;\n(function (TimeRange) {\n function is(value) {\n return typeof value == \"object\" && DateTime.is(value.start) && DateTime.is(value.end);\n }\n TimeRange.is = is;\n function create(start, end) {\n return !DateTime.is(end)\n ? create(start, DateTime.next(start, end))\n : start <= end\n ? { start, end }\n : { start: end, end: start };\n }\n TimeRange.create = create;\n})(TimeRange || (TimeRange = {}));\n//# sourceMappingURL=TimeRange.js.map","export var TimeSpan;\n(function (TimeSpan) {\n function is(value) {\n return (typeof value == \"object\" &&\n (typeof value.years == \"number\" || value.years == undefined) &&\n (typeof value.months == \"number\" || value.months == undefined) &&\n (typeof value.days == \"number\" || value.days == undefined) &&\n (typeof value.hours == \"number\" || value.hours == undefined) &&\n (typeof value.minutes == \"number\" || value.minutes == undefined) &&\n (typeof value.seconds == \"number\" || value.seconds == undefined) &&\n (typeof value.milliseconds == \"number\" || value.milliseconds == undefined) &&\n (typeof value.years == \"number\" ||\n typeof value.months == \"number\" ||\n typeof value.days == \"number\" ||\n typeof value.hours == \"number\" ||\n typeof value.minutes == \"number\" ||\n typeof value.seconds == \"number\" ||\n typeof value.milliseconds == \"number\"));\n }\n TimeSpan.is = is;\n function toHours(value, round) {\n const result = (dateToMilliseconds(value) + (value.milliseconds ?? 0)) / (60 * 60 * 1000) +\n (value.seconds ?? 0) / (60 * 60) +\n (value.minutes ?? 0) / 60 +\n (value.hours ?? 0);\n return performRound(result, round);\n }\n TimeSpan.toHours = toHours;\n function toMinutes(value, round) {\n const result = (dateToMilliseconds(value) + (value.milliseconds ?? 0)) / (60 * 1000) +\n (value.seconds ?? 0) / 60 +\n (value.minutes ?? 0) +\n (value.hours ?? 0) * 60;\n return performRound(result, round);\n }\n TimeSpan.toMinutes = toMinutes;\n function toSeconds(value, round) {\n const result = (dateToMilliseconds(value) + (value.milliseconds ?? 0)) / 1000 +\n (value.seconds ?? 0) +\n (value.minutes ?? 0) * 60 +\n (value.hours ?? 0) * 60 * 60;\n return performRound(result, round);\n }\n TimeSpan.toSeconds = toSeconds;\n function toMilliseconds(value, round) {\n const result = dateToMilliseconds(value) +\n (value.milliseconds ?? 0) +\n (value.seconds ?? 0) * 1000 +\n (value.minutes ?? 0) * 60 * 1000 +\n (value.hours ?? 0) * 60 * 60 * 1000;\n return performRound(result, round);\n }\n TimeSpan.toMilliseconds = toMilliseconds;\n})(TimeSpan || (TimeSpan = {}));\nfunction dateToMilliseconds(span) {\n const now = Date.UTC(0, 0);\n const date = new Date(now);\n const future = Date.UTC(date.getUTCFullYear() + (span.years ?? 0), date.getUTCMonth() + (span.months ?? 0), date.getUTCDate() + (span.days ?? 0), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());\n return future.valueOf() - date.valueOf();\n}\nfunction performRound(value, round) {\n return !round\n ? value\n : round == \"ceiling\"\n ? Math.ceil(value)\n : round == \"floor\"\n ? Math.floor(value)\n : Math.round(value);\n}\n//# sourceMappingURL=TimeSpan.js.map","export var TimeZone;\n(function (TimeZone) {\n function is(value) {\n let result;\n try {\n result = typeof value == \"string\" && !!new Intl.DateTimeFormat(\"en-GB\", { timeZone: value });\n }\n catch (error) {\n result = false;\n }\n return result;\n }\n TimeZone.is = is;\n})(TimeZone || (TimeZone = {}));\n//# sourceMappingURL=TimeZone.js.map","export var DateFormat;\n(function (DateFormat) {\n function fromLocale(locale) {\n let result;\n switch (locale) {\n case \"sq-AL\":\n case \"es-AR\":\n case \"it-IT\":\n case \"en-GB\":\n case \"fr-FR\":\n result = \"dd/mm/YYYY\";\n break;\n case \"en-US\":\n result = \"mm/dd/YYYY\";\n break;\n case \"et-EE\":\n case \"de-AT\":\n case \"de-DE\":\n case \"he-IL\":\n case \"is-IS\":\n case \"lv-LV\":\n case \"pl-PL\":\n case \"ru-RU\":\n case \"fi-FI\":\n result = \"dd.mm.YYYY\";\n break;\n case \"hi-IN\":\n case \"en-IN\":\n result = \"dd-mm-YYYY\";\n break;\n default:\n result = \"YYYY-mm-dd\";\n break;\n }\n return result;\n }\n DateFormat.fromLocale = fromLocale;\n function toLocale(format) {\n let result;\n switch (format) {\n case \"dd/mm/YYYY\":\n result = \"en-GB\";\n break;\n case \"mm/dd/YYYY\":\n result = \"en-US\";\n break;\n case \"dd.mm.YYYY\":\n result = \"de-DE\";\n break;\n default:\n result = \"sv-SE\";\n break;\n }\n return result;\n }\n DateFormat.toLocale = toLocale;\n function is(value) {\n return (typeof value == \"string\" &&\n (value == \"YYYY-mm-dd\" || value == \"dd/mm/YYYY\" || value == \"dd.mm.YYYY\" || value == \"mm/dd/YYYY\"));\n }\n DateFormat.is = is;\n})(DateFormat || (DateFormat = {}));\n//# sourceMappingURL=DateFormat.js.map","import { DateFormat } from \"../../DateFormat\";\nimport { add } from \"../base\";\nexport class Base {\n constructor(separator) {\n this.separator = separator;\n }\n unformat(formatted) {\n return formatted.delete(this.separator);\n }\n validMonth(day, month, year) {\n return (new Date(Number.parseInt(year ?? \"2004\"), Number.parseInt(month), 0).getDate() >=\n Number.parseInt(day));\n }\n}\nconst handlers = {};\nexport function register(format, create) {\n handlers[format] = create;\n}\nadd(\"date\", (parameters) => {\n const argument = parameters && parameters.length > 0 ? parameters[0] : undefined;\n const format = DateFormat.is(argument) ? argument : DateFormat.fromLocale(argument);\n const create = handlers[format] ?? handlers[\"YYYY-mm-dd\"];\n return create();\n});\n//# sourceMappingURL=Base.js.map","import * as isoly from \"isoly\";\nimport { Base, register } from \"./Base\";\nclass Handler extends Base {\n constructor(separator) {\n super(separator);\n }\n toString(data) {\n return data?.length == 10\n ? [data.substring(8, 10), data.substring(5, 7), data.substring(0, 4)].join(this.separator)\n : \"\";\n }\n fromString(value) {\n const result = value?.length == 8 ? `${value.substring(4, 8)}-${value.substring(2, 4)}-${value.substring(0, 2)}` : undefined;\n return isoly.Date.is(result) ? result : undefined;\n }\n format(unformatted) {\n let result = unformatted;\n if (result.get(0, 1) > \"3\")\n result = result.insert(0, \"0\");\n if (result.value.length > 1)\n result = result.insert(2, this.separator);\n if (result.get(3, 1) > \"1\")\n result = result.insert(3, \"0\");\n if (result.value.length > 4)\n result = result.insert(5, this.separator);\n return {\n ...result,\n type: \"text\",\n length: [0, 10],\n pattern: new RegExp([\"^(0[1-9]|[12][0-9]|3[01])\", \"(0[1-9]|1[012])\", \"\\\\d{4}$\"].join(this.separator)),\n };\n }\n allowed(symbol, state) {\n return state.selection.start == 1 && state.value[0] == \"3\"\n ? symbol >= \"0\" && symbol <= \"1\"\n : state.selection.start == 1 && state.value[0] == \"0\"\n ? symbol >= \"1\" && symbol <= \"9\"\n : state.selection.start == 2\n ? symbol >= \"0\" &&\n symbol <= \"9\" &&\n (symbol == \"0\" || symbol == \"1\" || this.validMonth(state.value.substring(0, 2), symbol))\n : state.selection.start == 3\n ? symbol >= \"0\" && symbol <= \"9\" && this.validMonth(state.value.substring(0, 2), state.value[2] + symbol)\n : state.selection.start == 7\n ? symbol >= \"0\" &&\n symbol <= \"9\" &&\n this.validMonth(state.value.substring(0, 2), state.value.substring(2, 4), state.value.substring(4, 7) + symbol)\n : state.selection.start < 8 && symbol >= \"0\" && symbol <= \"9\";\n }\n}\nregister(\"dd.mm.YYYY\", () => new Handler(\".\"));\nregister(\"dd/mm/YYYY\", () => new Handler(\"/\"));\nregister(\"dd-mm-YYYY\", () => new Handler(\"-\"));\n//# sourceMappingURL=dmy.js.map","import * as isoly from \"isoly\";\nimport { Base, register } from \"./Base\";\nclass Handler extends Base {\n constructor(separator) {\n super(separator);\n }\n toString(data) {\n return data?.length == 10\n ? [data.substring(5, 7), data.substring(8, 10), data.substring(0, 4)].join(this.separator)\n : \"\";\n }\n fromString(value) {\n const result = value.length == 8 ? `${value.substring(4, 8)}-${value.substring(0, 2)}-${value.substring(2, 4)}` : undefined;\n return isoly.Date.is(result) ? result : undefined;\n }\n format(unformatted) {\n let result = unformatted;\n if (result.get(0, 1) > \"1\")\n result = result.insert(0, \"0\");\n if (result.value.length > 1)\n result = result.insert(2, this.separator);\n if (result.get(3, 1) > (result.get(0, 2) == \"02\" ? \"2\" : \"3\"))\n result = result.insert(3, \"0\");\n if (result.value.length > 4)\n result = result.insert(5, this.separator);\n return {\n ...result,\n type: \"text\",\n length: [0, 10],\n pattern: new RegExp([\"^(0[1-9]|1[012])\", \"(0[1-9]|[12][0-9]|3[01])\", \"\\\\d{4}$\"].join(this.separator)),\n };\n }\n allowed(symbol, state) {\n const result = state.selection.start == 1 && state.value[0] == \"1\"\n ? symbol >= \"0\" && symbol <= \"2\"\n : state.selection.start == 1 && state.value[0] == \"0\"\n ? symbol >= \"1\" && symbol <= \"9\"\n : state.selection.start == 3\n ? symbol >= \"0\" && symbol <= \"9\" && this.validMonth(state.value[2] + symbol, state.value.substring(0, 2))\n : state.selection.start == 7\n ? symbol >= \"0\" &&\n symbol <= \"9\" &&\n this.validMonth(state.value.substring(2, 4), state.value.substring(0, 2), state.value.substring(4, 7) + symbol)\n : state.selection.start < 8 && symbol >= \"0\" && symbol <= \"9\";\n return result;\n }\n}\nregister(\"mm/dd/YYYY\", () => new Handler(\"/\"));\n//# sourceMappingURL=mdy.js.map","import * as isoly from \"isoly\";\nimport { Base, register } from \"./Base\";\nclass Handler extends Base {\n constructor(separator) {\n super(separator);\n }\n toString(data) {\n return typeof data != \"string\" ? \"\" : data;\n }\n fromString(value) {\n const result = value?.length == 8 ? `${value.substring(0, 4)}-${value.substring(4, 6)}-${value.substring(6, 8)}` : undefined;\n return isoly.Date.is(result) ? result : undefined;\n }\n daysInMonth(value) {\n const firstOfMonth = `${value.substring(0, 4)}-${value.substring(4, 6)}-01`;\n return isoly.Date.is(firstOfMonth)\n ? +isoly.Date.lastOfMonth(`${value.substring(0, 4)}-${value.substring(4, 6)}-01`).substring(8, 10)\n : 31;\n }\n format(unformatted) {\n let result = unformatted;\n if (result.value.length > 3) {\n result = result.insert(4, this.separator);\n if (result.get(5, 1) > \"1\")\n result = result.insert(5, \"0\");\n if (result.value.length > 6) {\n result = result.insert(7, this.separator);\n if (result.get(8, 1) > this.daysInMonth(unformatted.value).toString().substring(0, 1))\n result = result.insert(8, \"0\");\n }\n }\n return {\n ...result,\n type: \"text\",\n length: [0, 10],\n pattern: new RegExp([\"^\\\\d{4}\", \"(0[1-9]|1[012])\", \"(0[1-9]|[12][0-9]|3[01])$\"].join(this.separator)),\n };\n }\n allowed(symbol, state) {\n const daysInMonth = this.daysInMonth(state.value);\n return state.selection.start == 5 && state.value[4] == \"0\"\n ? symbol >= \"1\" && symbol <= \"9\"\n : state.selection.start == 5 && state.value[4] == \"1\"\n ? symbol >= \"0\" && symbol <= \"2\"\n : state.selection.start == 7 && state.value[6] == \"0\"\n ? symbol >= \"1\" && symbol <= \"9\"\n : state.selection.start == 7 && ((state.value[6] == \"2\" && daysInMonth < 30) || state.value[6] == \"3\")\n ? symbol >= \"0\" && symbol <= daysInMonth.toString().substring(1)\n : state.selection.start < 8 && symbol >= \"0\" && symbol <= \"9\";\n }\n}\nregister(\"YYYY-mm-dd\", () => new Handler(\"-\"));\n//# sourceMappingURL=ymd.js.map","import * as isoly from \"isoly\";\nimport { add } from \"./base\";\nclass Handler {\n toString(data) {\n return typeof data == \"string\" ? data : \"\";\n }\n fromString(value) {\n let result = value.replace(\" \", \"T\");\n const fillerDate = \"0000-01-01T00:00:00.000Z\";\n if (result?.match(/-\\d$/))\n result = result.substring(0, result.length - 1) + \"0\" + result.substring(result.length - 1, result.length);\n result = !result.match(/^\\d{4}-(0[1-9]|1[012])/)\n ? undefined\n : result + fillerDate.substring(result.length, fillerDate.length);\n return isoly.DateTime.is(result) ? result : undefined;\n }\n format(unformatted) {\n let result = formatDate(unformatted);\n if (result.match(/^\\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])[\\d:.-]$/))\n result = result.insert(10, \" \");\n if (result.match(/^\\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01]) 3$/))\n result = result.replace(11, 12, \"23:\");\n if (result.match(/^\\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01]) [45]$/))\n result = result.insert(11, \"23:\");\n if (result.match(/^\\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01]) [6-9]$/))\n result = result.insert(11, \"23:5\");\n if (result.match(/^\\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01]) 24$/))\n result = result.replace(10, 13, \"00:\");\n if (result.match(/^\\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01]) 25$/))\n result = result.insert(12, \"3:\");\n if (result.match(/^\\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01]) 2[6-9]$/))\n result = result.insert(12, \"3:5\").append(\":\");\n if (result.match(/^\\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01]) ([0-1]\\d|2[0-3])\\d[\\s\\S]$/))\n result = result.insert(13, \":\");\n if (result.match(/^\\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01]) ([0-1]\\d|2[0-3]):[6-9]$/))\n result = result.insert(14, \"5\");\n if (result.match(/^\\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01]) ([0-1]\\d|2[0-3]):[0-5]\\d\\d$/))\n result = result.insert(16, \":\");\n if (result.match(/^\\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01]) ([0-1]\\d|2[0-3]):[0-5]\\d:[6-9]$/))\n result = result.insert(17, \"5\");\n return {\n ...result,\n type: \"text\",\n length: [0, 19],\n pattern: /^\\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01]) ([0-1]\\d|2[0-3])(:[0-5]\\d){2}$/,\n };\n }\n unformat(formatted) {\n return formatted;\n }\n allowed(symbol, state) {\n return (state.value.length < 19 &&\n ((symbol >= \"0\" && symbol <= \"9\") || symbol == \"-\" || symbol == \":\" || symbol == \".\" || symbol == \" \"));\n }\n}\nadd(\"date-time\", () => new Handler());\nexport function formatDate(unformatted, format) {\n let result = unformatted;\n switch (format) {\n case \"dd/mm/YYYY\":\n case \"dd.mm.YYYY\":\n if (!validDate(result.value, format))\n result = result.replace(0, 10, validDate(\"31\" + result.value.substring(2, 10), format)\n ? \"31\" + result.value.substring(2, 10)\n : validDate(\"30\" + result.value.substring(2, 10), format)\n ? \"30\" + result.value.substring(2, 10)\n : validDate(\"29\" + result.value.substring(2, 10), format)\n ? \"29\" + result.value.substring(2, 10)\n : validDate(\"28\" + result.value.substring(2, 10), format)\n ? \"28\" + result.value.substring(2, 10)\n : result.value);\n break;\n case \"mm/dd/YYYY\":\n if (!validDate(result.value, format))\n result = result.replace(0, 10, validDate(result.value.substring(0, 3) + \"31\" + result.value.substring(5, 10), format)\n ? result.value.substring(0, 3) + \"31\" + result.value.substring(5, 10)\n : validDate(result.value.substring(0, 3) + \"30\" + result.value.substring(5, 10), format)\n ? result.value.substring(0, 3) + \"30\" + result.value.substring(5, 10)\n : validDate(result.value.substring(0, 3) + \"29\" + result.value.substring(5, 10), format)\n ? result.value.substring(0, 3) + \"29\" + result.value.substring(5, 10)\n : validDate(result.value.substring(0, 3) + \"28\" + result.value.substring(5, 10), format)\n ? result.value.substring(0, 3) + \"28\" + result.value.substring(5, 10)\n : result.value);\n break;\n default:\n if (unformatted.value.length == 10) {\n if (!validDate(result.value)) {\n result = result.replace(0, 10, validDate(result.value.substring(0, 8) + \"31\")\n ? result.value.substring(0, 8) + \"31\"\n : validDate(result.value.substring(0, 8) + \"30\")\n ? result.value.substring(0, 8) + \"30\"\n : validDate(result.value.substring(0, 8) + \"29\")\n ? result.value.substring(0, 8) + \"29\"\n : validDate(result.value.substring(0, 8) + \"28\")\n ? result.value.substring(0, 8) + \"28\"\n : result.value);\n break;\n }\n return unformatted;\n }\n }\n return result;\n}\nfunction validDate(date, format) {\n let year;\n let month;\n let day;\n switch (format) {\n case \"dd/mm/YYYY\":\n case \"dd.mm.YYYY\":\n year = parseInt(date.substring(6, 10));\n month = parseInt(date.substring(3, 5));\n day = parseInt(date.substring(0, 2));\n return year && month && day ? day > 0 && daysPerMonth(year, month) >= day : false;\n case \"mm/dd/YYYY\":\n year = parseInt(date.substring(6, 10));\n month = parseInt(date.substring(0, 2));\n day = parseInt(date.substring(3, 5));\n return year && month && day ? day > 0 && daysPerMonth(year, month) >= day : false;\n default:\n year = parseInt(date.substring(0, 4));\n month = parseInt(date.substring(5, 7));\n day = parseInt(date.substring(8, 10));\n return year && month && day ? day > 0 && daysPerMonth(year, month) >= day : false;\n }\n}\nfunction daysPerMonth(year, month) {\n let result;\n switch (month) {\n case 1:\n case 3:\n case 5:\n case 7:\n case 8:\n case 10:\n case 12:\n default:\n result = 31;\n break;\n case 4:\n case 6:\n case 9:\n case 11:\n result = 30;\n break;\n case 2:\n result = 28;\n break;\n }\n return result;\n}\n//# sourceMappingURL=date-time.js.map","import { add } from \"./base\";\nclass Handler {\n toString(data) {\n return Array.isArray(data) && data.length == 2 && typeof data[0] == \"number\" && typeof data[1] == \"number\"\n ? data[0].toString() + \" / \" + data[1].toString()\n : typeof data == \"number\"\n ? data.toString()\n : \"\";\n }\n fromString(value) {\n return typeof value == \"string\" && value.match(/^\\d{1,2}\\s+\\/\\s+\\d{1,2}$/)\n ? [Number.parseInt(value.slice(0, 2)), Number.parseInt(value.slice(value.length - 2))]\n : typeof value == \"string\" && value.match(/\\d{1,2}/)\n ? Number.parseInt(value)\n : undefined;\n }\n format(unformatted) {\n let result = unformatted;\n if (unformatted.match(/^\\d\\/$/))\n result = unformatted.replace(1, 2, \" / \");\n else if (unformatted.match(/^\\d{1,2}\\s$/))\n result = unformatted.replace(unformatted.value.length - 1, unformatted.value.length, \" / \");\n else if (unformatted.match(/^[\\D.]+\\/[\\D.]+$/))\n result = unformatted.delete(0, unformatted.value.length);\n else if (unformatted.match(/^[\\D.]+\\/[\\D.]+\\d$/))\n result = unformatted.delete(0, unformatted.value.length - 1);\n else if (unformatted.match(/^[\\D.]+\\/[\\D.]+\\d\\d$/))\n result = unformatted.delete(0, unformatted.value.length - 2);\n else if (unformatted.match(/^[\\D.]+\\//))\n result = unformatted.delete(0, unformatted.value.search(\"/\") + 1);\n else if (unformatted.match(/^\\d\\d\\/$/))\n result = unformatted.replace(2, 3, \" / \");\n else if (unformatted.match(/^\\d\\d\\s+\\/$/))\n result = unformatted.delete(2, unformatted.value.length);\n else if (unformatted.match(/^\\d\\s+\\/$/))\n result = unformatted.delete(1, unformatted.value.length);\n else if (unformatted.match(/^\\d\\d\\s\\s+\\/\\s*$/))\n result = unformatted.replace(2, unformatted.value.length, \" / \");\n else if (unformatted.match(/^\\d\\s\\s+(\\/\\s*)?$/))\n result = unformatted.replace(1, unformatted.value.length, \" / \");\n else if (unformatted.match(/^\\d\\s\\/\\s\\d\\d.+$/))\n result = unformatted.delete(6, unformatted.value.length);\n else if (unformatted.value.length > 1 && unformatted.value.indexOf(\"/\") < 1)\n result = unformatted.insert(2, \" / \");\n else if (unformatted.value.length > 1 && unformatted.value.split(\"/\").length > 2)\n result = unformatted.delete(unformatted.value.lastIndexOf(\"/\"));\n else if (unformatted.value.length == 1 && !unformatted.isDigit(0))\n result = unformatted.delete(0);\n return { ...result, type: \"text\", length: [1, 7], pattern: /^(\\d{1,2}|\\d{1,2} \\/ \\d{1,2})$/ };\n }\n unformat(formatted) {\n return formatted;\n }\n allowed(symbol, state) {\n return state.value.length < 7 && ((symbol >= \"0\" && symbol <= \"9\") || symbol == \"/\" || symbol == \" \");\n }\n}\nadd(\"divisor\", () => new Handler());\n//# sourceMappingURL=divisor.js.map","import { add } from \"./base\";\nclass Handler {\n constructor() {\n this.pattern = /(^\\d*:{0,1}[0-5]{0,1}[0-9]{0,1}$|^\\d*[.,]{0,1}[0-9]{0,2}$)/;\n }\n toString(data) {\n return `${data?.hours?.toString(10) ?? \"0\"}:${data?.minutes?.toString(10).padStart(2, \"0\") ?? \"00\"}`;\n }\n fromString(value) {\n let result;\n if (!this.decimal) {\n const splitted = value.split(\":\", 2).map(value => Number.parseInt(value));\n result = splitted\n ? {\n hours: !splitted[0] || !Number.isFinite(splitted[0]) ? 0 : splitted[0],\n minutes: !splitted[1] || !Number.isFinite(splitted[1]) ? 0 : splitted[1],\n }\n : undefined;\n }\n else if (this.decimal) {\n const splittedString = value.split(/[,.]/, 2);\n if (splittedString)\n splittedString[1] = splittedString[1].length == 1 ? splittedString[1] + \"0\" : splittedString[1];\n const splitted = splittedString ? splittedString.map(value => Number.parseInt(value)) : undefined;\n result = splitted\n ? {\n hours: !splitted[0] || !Number.isFinite(splitted[0]) ? 0 : splitted[0],\n minutes: !splitted[1] || !(0 <= splitted[1] && splitted[1] < 100)\n ? 0\n : +(((splitted[1] / 100) * 60) % 1).toFixed(7),\n }\n : undefined;\n }\n return result;\n }\n format(unformatted) {\n let result = unformatted;\n if (result.value.match(/^[.,:]/))\n result = result.prepend(\"0\");\n return { ...result, type: \"tel\", pattern: this.pattern };\n }\n unformat(formatted) {\n if (formatted.value.includes(\".\") || formatted.value.includes(\",\"))\n this.decimal = true;\n else\n this.decimal = false;\n return formatted;\n }\n allowed(symbol, state) {\n const nextValue = state.value.slice(0, state.selection.start) + symbol + state.value.slice(state.selection.end);\n return !!nextValue.match(this.pattern);\n }\n}\nadd(\"duration\", () => new Handler());\n//# sourceMappingURL=duration.js.map","import { add } from \"./base\";\nclass Handler {\n constructor(country) {\n this.country = country;\n }\n toString(data) {\n return typeof data == \"string\" ? data : \"\";\n }\n fromString(value) {\n return typeof value == \"string\" ? value : undefined;\n }\n format(unformatted) {\n let result = unformatted;\n const year = new Date().getFullYear().toString();\n if (unformatted.value.length > 1 && unformatted.get(0, 2) != \"19\" && unformatted.get(0, 2) != \"20\")\n result = result.prepend(unformatted.get(0, 2) > year.substr(2, 2) ? \"19\" : \"20\");\n if (result.value.length >= 8)\n result = result.insert(8, \"-\");\n return {\n ...result.truncate(13),\n type: \"text\",\n length: [11, 13],\n pattern: /^\\d{6,8}-\\d{4}$/,\n };\n }\n unformat(formatted) {\n return formatted.delete(\"-\");\n }\n allowed(symbol, state) {\n return state.value.length < 13 && symbol >= \"0\" && symbol <= \"9\";\n }\n}\nadd(\"identity-number\", (argument) => new Handler(argument && argument.length > 0 ? argument[0] : undefined));\n//# sourceMappingURL=identity-number.js.map","import { add } from \"./base\";\nclass Handler {\n toString(data) {\n return typeof data == \"string\" ? data : \"\";\n }\n fromString(value) {\n return typeof value == \"string\" ? value : undefined;\n }\n format(unformatted) {\n return { ...unformatted, type: \"password\", autocomplete: \"current-password\" };\n }\n unformat(formatted) {\n return formatted;\n }\n allowed(symbol, state) {\n return true;\n }\n}\nadd(\"password\", () => new Handler());\n//# sourceMappingURL=password.js.map","import { add } from \"./base\";\nclass Handler {\n toString(data) {\n return data && typeof data == \"number\" ? (data * 100).toString() : \"\";\n }\n fromString(value) {\n return typeof value != \"string\" || !Number.parseFloat(value) ? undefined : Number.parseFloat(value) / 100;\n }\n format(unformatted) {\n return {\n ...(unformatted.value ? unformatted.suffix(\" %\") : unformatted),\n type: \"text\",\n length: [3, undefined],\n pattern: /^\\d+(.\\d)? %+$/,\n };\n }\n unformat(formatted) {\n return formatted.delete(\" %\");\n }\n allowed(symbol, state) {\n return (symbol >= \"0\" && symbol <= \"9\") || (symbol == \".\" && !state.value.includes(\".\"));\n }\n}\nadd(\"percent\", () => new Handler());\n//# sourceMappingURL=percent.js.map","export const phonePrefix = [\n {\n countryCode: \"+46\",\n areaCodes: [\n \"011\",\n \"0120\",\n \"0121\",\n \"0122\",\n \"0123\",\n \"0125\",\n \"013\",\n \"0140\",\n \"0141\",\n \"0142\",\n \"0143\",\n \"0144\",\n \"0150\",\n \"0151\",\n \"0152\",\n \"0155\",\n \"0156\",\n \"0157\",\n \"0158\",\n \"0159\",\n \"016\",\n \"0171\",\n \"0173\",\n \"0174\",\n \"0175\",\n \"0176\",\n \"018\",\n \"019\",\n \"021\",\n \"0220\",\n \"0221\",\n \"0222\",\n \"0223\",\n \"0224\",\n \"0225\",\n \"0226\",\n \"0227\",\n \"023\",\n \"0240\",\n \"0241\",\n \"0243\",\n \"0246\",\n \"0247\",\n \"0248\",\n \"0250\",\n \"0251\",\n \"0253\",\n \"0258\",\n \"026\",\n \"0270\",\n \"0271\",\n \"0278\",\n \"0280\",\n \"0281\",\n \"0290\",\n \"0291\",\n \"0292\",\n \"0293\",\n \"0294\",\n \"0295\",\n \"0297\",\n \"0300\",\n \"0301\",\n \"0302\",\n \"0303\",\n \"0304\",\n \"031\",\n \"0320\",\n \"0321\",\n \"0322\",\n \"0325\",\n \"033\",\n \"0340\",\n \"0345\",\n \"0346\",\n \"035\",\n \"036\",\n \"0370\",\n \"0371\",\n \"0372\",\n \"0380\",\n \"0381\",\n \"0382\",\n \"0383\",\n \"0390\",\n \"0392\",\n \"0393\",\n \"040\",\n \"0410\",\n \"0411\",\n \"0413\",\n \"0414\",\n \"0415\",\n \"0416\",\n \"0417\",\n \"0418\",\n \"042\",\n \"0430\",\n \"0431\",\n \"0433\",\n \"0435\",\n \"044\",\n \"0451\",\n \"0454\",\n \"0455\",\n \"0456\",\n \"0457\",\n \"0459\",\n \"046\",\n \"0470\",\n \"0471\",\n \"0472\",\n \"0474\",\n \"0476\",\n \"0477\",\n \"0478\",\n \"0479\",\n \"0480\",\n \"0481\",\n \"0485\",\n \"0486\",\n \"0490\",\n \"0491\",\n \"0492\",\n \"0493\",\n \"0494\",\n \"0495\",\n \"0496\",\n \"0498\",\n \"0499\",\n \"0500\",\n \"0501\",\n \"0502\",\n \"0503\",\n \"0504\",\n \"0505\",\n \"0506\",\n \"0510\",\n \"0511\",\n \"0512\",\n \"0513\",\n \"0514\",\n \"0515\",\n \"0520\",\n \"0521\",\n \"0522\",\n \"0523\",\n \"0524\",\n \"0525\",\n \"0526\",\n \"0528\",\n \"0530\",\n \"0531\",\n \"0532\",\n \"0533\",\n \"0534\",\n \"054\",\n \"0550\",\n \"0551\",\n \"0552\",\n \"0553\",\n \"0554\",\n \"0555\",\n \"0560\",\n \"0563\",\n \"0564\",\n \"0565\",\n \"0570\",\n \"0571\",\n \"0573\",\n \"0580\",\n \"0581\",\n \"0582\",\n \"0583\",\n \"0584\",\n \"0585\",\n \"0586\",\n \"0587\",\n \"0589\",\n \"0590\",\n \"0591\",\n \"060\",\n \"0611\",\n \"0612\",\n \"0613\",\n \"0620\",\n \"0621\",\n \"0622\",\n \"0623\",\n \"0624\",\n \"063\",\n \"0640\",\n \"0642\",\n \"0643\",\n \"0644\",\n \"0645\",\n \"0647\",\n \"0650\",\n \"0651\",\n \"0652\",\n \"0653\",\n \"0657\",\n \"0660\",\n \"0661\",\n \"0662\",\n \"0663\",\n \"0670\",\n \"0671\",\n \"0672\",\n \"0680\",\n \"0682\",\n \"0684\",\n \"0687\",\n \"0690\",\n \"0691\",\n \"0692\",\n \"0693\",\n \"0695\",\n \"0696\",\n \"08\",\n \"090\",\n \"0910\",\n \"0911\",\n \"0912\",\n \"0913\",\n \"0914\",\n \"0915\",\n \"0916\",\n \"0918\",\n \"0920\",\n \"0921\",\n \"0922\",\n \"0923\",\n \"0924\",\n \"0925\",\n \"0926\",\n \"0927\",\n \"0928\",\n \"0929\",\n \"0930\",\n \"0932\",\n \"0933\",\n \"0934\",\n \"0935\",\n \"0940\",\n \"0941\",\n \"0942\",\n \"0943\",\n \"0950\",\n \"0951\",\n \"0952\",\n \"0953\",\n \"0954\",\n \"0960\",\n \"0961\",\n \"0970\",\n \"0971\",\n \"0973\",\n \"0975\",\n \"0976\",\n \"0977\",\n \"0978\",\n \"0980\",\n \"0981\",\n \"010\",\n \"020\",\n \"0378\",\n \"070\",\n \"072\",\n \"073\",\n \"076\",\n \"079\",\n \"0710\",\n \"0740\",\n \"0746\",\n \"0749\",\n \"0741\",\n \"0742\",\n \"0743\",\n \"0744\",\n \"0745\",\n \"0747\",\n \"075\",\n \"077\",\n \"078\",\n \"0900\",\n \"0939\",\n \"0944\",\n \"0969\",\n \"099\",\n ],\n },\n];\n//# sourceMappingURL=phonePrefix.js.map","import { add } from \"./base\";\nimport { phonePrefix } from \"./phonePrefix\";\nclass Handler {\n toString(data) {\n return typeof data == \"string\" ? data : \"\";\n }\n fromString(value) {\n return typeof value == \"string\" ? value : undefined;\n }\n format(unformatted) {\n let result = unformatted;\n if (result.value.startsWith(\"+\")) {\n for (const country of phonePrefix)\n if (result.value.startsWith(country.countryCode))\n for (let prefix of country.areaCodes) {\n prefix = prefix.substring(1);\n if (result.value.startsWith(country.countryCode + prefix) && !result.value.includes(\"-\"))\n result = result\n .insert(country.countryCode.length, \"-\")\n .insert(country.countryCode.length + 1 + prefix.length, \"-\");\n }\n }\n else {\n const first = phonePrefix[0];\n for (const prefix of first.areaCodes)\n if (result.value.startsWith(prefix) && !result.value.includes(\"-\")) {\n result = result.insert(prefix.length, \"-\");\n result = result.delete(0);\n result = result.insert(0, \"-\").insert(0, first.countryCode);\n }\n }\n if (result.value.includes(\"-\")) {\n const digitIndex = result.value.indexOf(\"-\", result.value.indexOf(\"-\") + 1) + 1;\n const digitCount = result.value.substring(digitIndex, result.value.length + 1).length;\n switch (digitCount) {\n case 4:\n result = result.insert(digitIndex + 2, \" \");\n break;\n case 5:\n result = result.insert(digitIndex + 3, \" \");\n break;\n case 6:\n result = result.insert(digitIndex + 2, \" \");\n result = result.insert(digitIndex + 5, \" \");\n break;\n case 7:\n result = result.insert(digitIndex + 3, \" \");\n result = result.insert(digitIndex + 6, \" \");\n break;\n case 8:\n case 9:\n result = result.insert(digitIndex + 3, \" \");\n result = result.insert(digitIndex + 7, \" \");\n break;\n default:\n break;\n }\n if (digitCount > 9) {\n const spaces = Math.ceil(digitCount / 3) - 1;\n if (spaces > 0) {\n for (let i = 0; i < spaces; i++) {\n const position = i * 3 + 3 + i;\n result = result.insert(position + digitIndex, \" \");\n }\n }\n }\n }\n return { ...result, type: \"text\", autocomplete: \"tel\" };\n }\n unformat(formatted) {\n return formatted.delete(\" \").delete(\"-\");\n }\n allowed(symbol, state) {\n return ((symbol >= \"0\" && symbol <= \"9\") || (state.selection.start == 0 && symbol == \"+\" && !state.value.includes(\"+\")));\n }\n}\nadd(\"phone\", () => new Handler());\n//# sourceMappingURL=phone.js.map","import { add } from \"./base\";\nclass Handler {\n constructor(country) {\n this.country = country;\n }\n toString(data) {\n return typeof data == \"string\" ? data : \"\";\n }\n fromString(value) {\n return typeof value == \"string\" ? value : undefined;\n }\n format(unformatted) {\n const result = !unformatted.value.includes(\" \") && unformatted.value.length >= 4 ? unformatted.insert(3, \" \") : unformatted;\n return {\n ...result.truncate(6),\n type: \"text\",\n autocomplete: \"postal-code\",\n length: [6, 6],\n pattern: /^\\d{3} \\d{2}$/,\n };\n }\n unformat(formatted) {\n return formatted.delete(\" \");\n }\n allowed(symbol, state) {\n return state.value.length <= 5 && symbol >= \"0\" && symbol <= \"9\";\n }\n}\nadd(\"postal-code\", (argument) => new Handler(argument && argument.length > 0 ? argument[0] : undefined));\n//# sourceMappingURL=postal-code.js.map","import * as isoly from \"isoly\";\nimport { StateEditor } from \"../StateEditor\";\nimport { add } from \"./base\";\nclass Handler {\n constructor(currency) {\n this.currency = currency;\n }\n toString(data) {\n return typeof data == \"number\" ? (isNaN(data) ? \"\" : data.toString()) : \"\";\n }\n fromString(value) {\n const result = typeof value == \"string\" ? Number.parseFloat(value) : undefined;\n return result != undefined && !isNaN(result) ? result : undefined;\n }\n format(unformatted) {\n let separator = unformatted.value && unformatted.value.includes(\".\") ? unformatted.value.indexOf(\".\") : undefined;\n let result = unformatted.value == \"NaN\" ? unformatted.replace(0, unformatted.value.length, \"\") : StateEditor.copy(unformatted);\n if (separator == 0) {\n result = result.prepend(\"0\");\n separator++;\n }\n if (separator != undefined) {\n const adjust = separator +\n 1 +\n (!this.currency || isoly.Currency.decimalDigits(this.currency) == undefined\n ? 2\n : isoly.Currency.decimalDigits(this.currency) ?? 2) -\n result.value.length;\n result = adjust < 0 ? result.truncate(result.value.length + adjust) : result.suffix(\"0\".repeat(adjust));\n }\n else\n separator = result.value.length;\n const spaces = separator <= 0 ? 0 : Math.ceil(separator / 3) - 1;\n for (let i = 0; i < spaces; i++) {\n const position = separator - (spaces - i) * 3;\n result = result.insert(position, \" \");\n separator++;\n }\n if (result.match(/^[0\\s]{2,}$/))\n result = result.replace(0, result.value.length, \"0\");\n else if (result.match(/^[0\\s]{2,}(\\s\\w{3}){1}$/))\n result = result.replace(0, result.value.length - 4, \"0\");\n result =\n this.currency && (result.value.length > 1 || (result.value.length == 1 && result.value.charAt(0) != \".\"))\n ? result.suffix(\" \" + this.currency)\n : result;\n return {\n ...result,\n type: \"text\",\n length: [3, undefined],\n pattern: new RegExp(\"^(\\\\d{0,3})( \\\\d{3})*(\\\\.\\\\d+)?\" + (this.currency ? \" \" + this.currency : \"\") + \"$\"),\n };\n }\n unformat(formatted) {\n return this.currency ? formatted.delete(\" \").delete(\"\" + this.currency) : formatted.delete(\" \");\n }\n allowed(symbol, state) {\n return (symbol >= \"0\" && symbol <= \"9\") || (symbol == \".\" && !state.value.includes(\".\"));\n }\n}\nadd(\"price\", (argument) => new Handler(argument && argument.length > 0 ? argument[0] : undefined));\n//# sourceMappingURL=price.js.map","import { add } from \"./base\";\nclass Handler {\n constructor(settings) {\n this.settings = settings;\n }\n toString(data) {\n return typeof data == \"string\" ? data : \"\";\n }\n fromString(value) {\n return typeof value == \"string\" ? value : undefined;\n }\n format(unformatted) {\n return { ...unformatted, type: \"text\", ...this.settings };\n }\n unformat(formatted) {\n return formatted;\n }\n allowed(symbol, state) {\n return (this.settings.length == undefined ||\n this.settings.length[1] == undefined ||\n state.value.length < this.settings.length[1]);\n }\n}\nadd(\"text\", (settings) => new Handler(settings || {}));\nadd(\"email\", (settings) => new Handler(settings || {}));\n//# sourceMappingURL=text.js.map",":host {\n\tdisplay: block;\n}\n:host[hidden] {\n\tdisplay: none;\n}\n","import { Component, h, Prop } from \"@stencil/core\"\nimport { CountryCode, Currency, DateTime, Language, Locale } from \"isoly\"\nimport { format, get, Type } from \"tidily\"\n\n@Component({\n\ttag: \"smoothly-display\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyDisplay {\n\t@Prop() type: Type\n\t@Prop() value?: any\n\t@Prop() currency?: Currency\n\t@Prop() country?: CountryCode.Alpha2\n\t@Prop() format?: DateTime.Format\n\t@Prop() unit?: string\n\trender() {\n\t\tlet result: string | HTMLElement | undefined\n\t\tconst type = this.type\n\t\tswitch (type) {\n\t\t\tdefault:\n\t\t\t\tresult = format(this.value, type)\n\t\t\t\tbreak\n\t\t\tcase \"email\":\n\t\t\t\tresult = <a href={\"mailto:\" + this.value}>{format(this.value, type)}</a>\n\t\t\t\tbreak\n\t\t\tcase \"phone\":\n\t\t\t\tresult = <a href={\"tel:\" + this.value}>{format(this.value, type, this.country)}</a>\n\t\t\t\tbreak\n\t\t\tcase \"postal-code\":\n\t\t\t\tresult = format(this.value, type, this.country)\n\t\t\t\tbreak\n\t\t\tcase \"price\":\n\t\t\t\tresult = format(this.value, type, this.currency)\n\t\t\t\tbreak\n\t\t\tcase \"date\":\n\t\t\t\tresult = get(this.type as Type, getLocale())?.toString(this.value)\n\t\t\t\tbreak\n\t\t\tcase \"duration\":\n\t\t\t\tresult = format(this.value, type, this.unit)\n\t\t\t\tbreak\n\t\t\tcase \"date-time\":\n\t\t\t\tresult = this.format\n\t\t\t\t\t? DateTime.localize(this.value, this.format, getLocale())\n\t\t\t\t\t: get(this.type as Type, getLocale())?.toString(this.value)\n\t\t\t\tbreak\n\t\t}\n\t\treturn result\n\t}\n}\nfunction getLocale(): Locale | undefined {\n\tconst result = navigator.language\n\treturn Locale.is(result) ? result : Language.is(result) ? Locale.toLocale(result) : undefined\n}\n",":host {\n\tdisplay: block;\n}\n:host[hidden] {\n\tdisplay: none;\n}\n","import { Component, Prop } from \"@stencil/core\"\nimport { Currency } from \"isoly\"\n\n@Component({\n\ttag: \"smoothly-display-amount\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyDisplayAmount {\n\t@Prop() amount: number | string\n\t@Prop() currency: Currency\n\t@Prop() toInteger = false\n\n\tformat(amount: string): string {\n\t\tconst digitsPerGroup = 3\n\t\tconst defaultDecimals = 2\n\t\tconst maxDecimals = (\n\t\t\tCurrency.decimalDigits(this.currency) ? Currency.decimalDigits(this.currency) : defaultDecimals\n\t\t) as number\n\t\tlet beforeSeparator = amount.length\n\t\tlet separator: number\n\t\tlet result = amount\n\t\tif (result == \"\")\n\t\t\tresult = \"0\"\n\t\tif (amount.includes(\".\")) {\n\t\t\tseparator = amount.indexOf(\".\")\n\t\t\tif (separator == 0) {\n\t\t\t\tresult = \"0\" + result\n\t\t\t\tseparator++\n\t\t\t}\n\t\t\tbeforeSeparator = separator\n\t\t\tresult = result.padEnd(separator + maxDecimals + 1, \"0\")\n\t\t\tresult = result.substring(0, separator + maxDecimals + 1)\n\t\t} else if (!this.toInteger) {\n\t\t\tresult = result + \".\"\n\t\t\tseparator = result.length - 1\n\t\t\tresult = result.padEnd(separator + maxDecimals + 1, \"0\")\n\t\t}\n\t\tconst spaces = Math.ceil(beforeSeparator / digitsPerGroup) - 1\n\t\tif (spaces > 0) {\n\t\t\tfor (let i = 0; i < spaces; i++) {\n\t\t\t\tconst position = beforeSeparator - (spaces - i) * digitsPerGroup\n\t\t\t\tresult = result.slice(0, position) + \" \" + result.slice(position, result.length)\n\t\t\t\tbeforeSeparator++\n\t\t\t}\n\t\t}\n\n\t\treturn result\n\t}\n\n\trender() {\n\t\treturn [\n\t\t\ttypeof this.amount == \"number\" ? this.format(this.amount.toString()) : this.format(this.amount),\n\t\t\t\" \",\n\t\t\tthis.currency,\n\t\t]\n\t}\n}\n","import { Component, Event, EventEmitter, h } from \"@stencil/core\"\nimport { Notice } from \"../../model\"\n@Component({\n\ttag: \"smoothly-display-demo\",\n})\nexport class SmoothlyDisplayDemo {\n\t@Event() notice: EventEmitter<Notice>\n\tprivate noticeWarning(notice: Notice) {\n\t\tconsole.log(\"emit\", notice)\n\t\tthis.notice.emit(notice)\n\t}\n\trender() {\n\t\treturn [\n\t\t\t<main>\n\t\t\t\t<fieldset>\n\t\t\t\t\t<h2>Smoothly display</h2>\n\t\t\t\t\t<dl>\n\t\t\t\t\t\t<dt>text</dt>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display type=\"text\" value=\"text\"></smoothly-display>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dt>postal code</dt>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display type=\"postal-code\" value=\"752 31\"></smoothly-display>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dt>password</dt>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display type=\"password\" value=\"password\"></smoothly-display>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dt>email</dt>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display type=\"email\" value=\"test@example.com\"></smoothly-display>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dt>price</dt>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display type=\"price\" value=\"13.37\" currency=\"SEK\"></smoothly-display>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dt>display amount without decimals</dt>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display-amount amount={200} currency=\"SEK\" toInteger={true}></smoothly-display-amount>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dt>display amount with decimals if they are set, otherwise no decimal</dt>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display-amount amount={200.20} currency=\"SEK\" toInteger={true}></smoothly-display-amount>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dt>display amount with decimals</dt>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display-amount amount={200.20} currency=\"SEK\"></smoothly-display-amount>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dt>percent</dt>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display type=\"percent\" value=\"42\"></smoothly-display>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dt>phone</dt>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display type=\"phone\" value=\"0101881108\"></smoothly-display>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dt>card number</dt>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display type=\"card-number\" value=\"4111111111111111\"></smoothly-display>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dt>card expires</dt>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display type=\"card-expires\" value=\"7/22\"></smoothly-display>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dt>card csc</dt>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display type=\"card-csc\" value=\"987\"></smoothly-display>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dt>date</dt>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display type=\"date\" value=\"2022-07-07\"></smoothly-display>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dt>date time</dt>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display type=\"date-time\" format={{year: \"numeric\", month: \"short\", day: \"numeric\", hour: \"numeric\", minute: \"numeric\", second: \"numeric\"}} value=\"2022-07-07T02:02:02Z\"></smoothly-display>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display type=\"date-time\" format={{year: \"2-digit\", month: \"long\", day: \"2-digit\", hour: \"2-digit\", minute: \"2-digit\", second: \"2-digit\"}} value=\"2022-07-07T02:02:02Z\"></smoothly-display>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display type=\"date-time\" format={{year: \"numeric\", month: \"2-digit\", day: \"2-digit\", hour: \"numeric\", minute: \"numeric\", second: \"numeric\"}} value=\"2022-07-07T12:22:24Z\"></smoothly-display>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display type=\"date-time\" format={{year: \"numeric\", month: \"numeric\", day: \"numeric\", hour: \"numeric\", minute: \"numeric\", second: \"numeric\"}} value=\"2022-07-07T12:22:24Z\"></smoothly-display>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display type=\"date-time\" format={{year: \"numeric\", month: \"short\", day: \"numeric\"}} value=\"2022-07-07T00:00+02:00\"></smoothly-display>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display type=\"date-time\" format={{year: \"2-digit\", month: \"numeric\", day: \"numeric\"}} value=\"2022-07-07T00:00+02:00\"></smoothly-display>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display type=\"date-time\" format={{year: \"2-digit\", month: \"numeric\", day: \"numeric\", hour: \"2-digit\", minute: \"2-digit\", second: \"2-digit\", timeZone:\"Europe/Stockholm\"}} value=\"2022-07-07T12:15Z\"></smoothly-display>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dt>Deprecated display date time</dt>\n\t\t\t\t\t\t<dt>Display amount</dt>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-display-amount currency=\"SEK\" amount=\"1289.5\"></smoothly-display-amount>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dt>Quiet</dt>\n\t\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t<smoothly-quiet color=\"dark\">-</smoothly-quiet>\n\t\t\t\t\t\t</dd>\n\t\t\t\t\t\t<dt>Duration</dt>\n\t\t\t\t\t\t<dd><smoothly-display type=\"duration\" value={{hours: 13, minutes: 35}} unit=\"h\" /><smoothly-display type=\"duration\" value={{hours: 8, minutes: 30}} unit=\"\" /><smoothly-display type=\"duration\" value={{hours: 0, minutes: 3}} unit=\" h\" /></dd>\n\t\t\t\t\t</dl>\n\t\t\t\t</fieldset>\n\t\t\t\t<fieldset>\n\t\t\t\t\t<h2>Smoothly skeleton</h2>\n\t\t\t\t\t<smoothly-skeleton period={3} distance=\"20rem\" width=\"20rem\"></smoothly-skeleton>\n\t\t\t\t\t<smoothly-skeleton period={3} distance=\"20rem\" color=\"200,200,255\"></smoothly-skeleton>\n\t\t\t\t\t<smoothly-skeleton period={3} distance=\"20rem\" color=\"var(--smoothly-warning-color)\"></smoothly-skeleton>\n\t\t\t\t\t<smoothly-skeleton period={3} distance=\"20rem\" ></smoothly-skeleton>\n\t\t\t\t\t<smoothly-skeleton align=\"center\" period={3} distance=\"20rem\" width=\"20rem\"></smoothly-skeleton>\n\t\t\t\t\t<smoothly-skeleton align=\"center\" period={3} distance=\"20rem\" ></smoothly-skeleton>\n\t\t\t\t\t<smoothly-skeleton align=\"center\" period={3} distance=\"20rem\" ></smoothly-skeleton>\n\t\t\t\t\t<smoothly-skeleton align=\"center\" period={3} distance=\"20rem\" ></smoothly-skeleton>\n\t\t\t\t\t<smoothly-skeleton align=\"right\" period={3} distance=\"20rem\" width=\"20rem\"></smoothly-skeleton>\n\t\t\t\t\t<smoothly-skeleton align=\"right\" period={3} distance=\"20rem\" ></smoothly-skeleton>\n\t\t\t\t\t<smoothly-skeleton align=\"right\" period={3} distance=\"20rem\" ></smoothly-skeleton>\n\t\t\t\t\t<smoothly-skeleton align=\"right\" period={3} distance=\"20rem\" ></smoothly-skeleton>\n\t\t\t\t</fieldset>\n\t\t\t\t<fieldset>\n\t\t\t\t\t<h2>Smoothly URL encoded</h2>\n\t\t\t\t\t<smoothly-urlencoded data=\"hej=hopp&tjena=moss\"></smoothly-urlencoded>\n\t\t\t\t</fieldset>\n\t\t\t\t<fieldset>\n\t\t\t\t\t<h2>Smoothly popup</h2>\n\t\t\t\t\t<div style={{display: \"flex\", justifyContent: \"space-between\"}}>\n\t\t\t\t\t\t<smoothly-popup direction=\"down\">\n\t\t\t\t\t\t\tClick for popup\n\t\t\t\t\t\t\t<span slot=\"popup\" color=\"dark\" style={{whiteSpace: \"nowrap\"}}>Some popup stuff that has a lot of text</span>\n\t\t\t\t\t\t</smoothly-popup>\n\t\t\t\t\t\t<smoothly-popup direction=\"down\">\n\t\t\t\t\t\t\tClick for popup\n\t\t\t\t\t\t\t<span slot=\"popup\" color=\"dark\" style={{whiteSpace: \"nowrap\"}}>Some popup with a bunch of text.</span>\n\t\t\t\t\t\t</smoothly-popup>\n\t\t\t\t\t</div>\n\t\t\t\t\t<smoothly-popup>\n\t\t\t\t\t\t<div>Popup, click me</div>\n\t\t\t\t\t\t<div color=\"dark\" slot=\"popup\">\n\t\t\t\t\t\t\t1 line popup\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</smoothly-popup>\n\t\t\t\t</fieldset>\n\t\t\t\t<fieldset>\n\t\t\t\t<h2>Test of different kinds of notifier</h2>\n\t\t\t\t\t<button onClick={() => this.noticeWarning(Notice.warn(\"This is a test warning notice.\"))}>warning</button>\n\t\t\t\t\t<button onClick={() => this.noticeWarning(Notice.succeeded(\"This is a test success notice.\"))}>success</button>\n\t\t\t\t\t<button onClick={() => this.noticeWarning(Notice.failed(\"This is a test danger notice.\"))}>danger</button>\n\t\t\t\t\t<button\n\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\tthis.noticeWarning(\n\t\t\t\t\t\t\t\tNotice.execute(\n\t\t\t\t\t\t\t\t\t\"This is a test execute notice.\",\n\t\t\t\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\t\t\t\tnew Promise<[boolean, string]>(resolve =>\n\t\t\t\t\t\t\t\t\t\t\twindow.setTimeout(() => resolve([true, \"This went great\"]), 3000)\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}>\n\t\t\t\t\t\texecute\n\t\t\t\t\t</button>\n\t\t\t\t\t<button\n\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\tthis.noticeWarning(\n\t\t\t\t\t\t\t\tNotice.delay(\n\t\t\t\t\t\t\t\t\t\"This is a test delay notice.\",\n\t\t\t\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\t\t\t\tnew Promise<[boolean, string]>(resolve =>\n\t\t\t\t\t\t\t\t\t\t\twindow.setTimeout(() => resolve([true, \"This went great\"]), 3000)\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}>\n\t\t\t\t\t\tdelay\n\t\t\t\t\t</button>\n\t\t\t\t</fieldset>\n\t\t\t\t<fieldset>\n\t\t\t\t\t<h2>Smoothly spinner</h2>\n\t\t\t\t\t<div style={{position: \"relative\", height: \"10em\"}}>Large Spinner<smoothly-spinner active size=\"large\" style={{\"--background-color\": \"255,255,255\", \"--background-opacity\": \"0.2\", \"--spinner-color\": \"0,130,0\", }}></smoothly-spinner></div>\n\t\t\t\t\t<div style={{position: \"relative\", height: \"10em\"}}>Medium Spinner<smoothly-spinner active size=\"medium\"></smoothly-spinner></div>\n\t\t\t\t\t<div style={{position: \"relative\", height: \"10em\"}}>Small Spinner<smoothly-spinner active size=\"small\"></smoothly-spinner></div>\n\t\t\t\t\t<div style={{position: \"absolute\", left: \"500px\", top: \"150px\" }}><smoothly-svg url=\"https://theme.payfunc.com/intergiro/animated-logo.svg\"></smoothly-svg></div>\n\t\t\t\t</fieldset>\n\t\t\t\t<fieldset>\n\t\t\t\t\t<h2>Smoothly summary</h2>\n\t\t\t\t\t<smoothly-summary color=\"light\" fill=\"clear\" size=\"large\">\n\t\t\t\t\t\t<p slot=\"summary\">Some title</p>\n\t\t\t\t\t\t<p slot=\"content\">Some content</p>\n\t\t\t\t\t</smoothly-summary>\n\t\t\t\t\t<smoothly-summary color=\"light\" fill=\"clear\" size=\"large\">\n\t\t\t\t\t\t<p slot=\"summary\">Some title</p>\n\t\t\t\t\t\t<p slot=\"content\">Some content</p>\n\t\t\t\t\t</smoothly-summary>\n\t\t\t\t\t<smoothly-summary color=\"danger\" fill=\"clear\">\n\t\t\t\t\t\t<div slot=\"summary\" style={{display: \"flex\", gap: \"0.3rem\"}}><span>Person</span><smoothly-icon name=\"person\" color=\"light\" fill=\"clear\" size=\"tiny\"></smoothly-icon></div>\n\t\t\t\t\t\t<p slot=\"content\">Some person information.</p>\n\t\t\t\t\t</smoothly-summary>\n\t\t\t\t\t<smoothly-summary color=\"danger\" fill=\"clear\" open>\n\t\t\t\t\t\t<p slot=\"summary\">Some other title</p>\n\t\t\t\t\t\t<p slot=\"content\">A lot more content, yes please. A lot more content, yes please. A lot more content, yes please. A lot more content, yes please. A lot more content, yes please.A lot more content, yes please. A lot more content, yes please. A lot more content, yes please. A lot more content, yes please.</p>\n\t\t\t\t\t</smoothly-summary>\n\t\t\t\t</fieldset>\n\t\t\t</main>,\n\t\t]\n\t}\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.create = exports.setFallback = exports.add = exports.Rule = void 0;\nclass Rule {\n filter(value) {\n return value.filter(element => this.is(element));\n }\n stringify(precedence = 0) {\n let result = this.toString();\n if (this.precedence < precedence)\n result = \"(\" + result + \")\";\n return result;\n }\n}\nexports.Rule = Rule;\nconst creators = [\n criteria => (criteria instanceof Rule ? criteria : undefined),\n];\nfunction add(create) {\n creators.push(create);\n}\nexports.add = add;\nlet always;\nfunction setFallback(fallback) {\n always = fallback;\n}\nexports.setFallback = setFallback;\nfunction create(criteria) {\n let result;\n for (const c of creators) {\n result = c(criteria);\n if (result)\n break;\n }\n return result || always;\n}\nexports.create = create;\n//# sourceMappingURL=Rule.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Always = void 0;\nconst Rule_1 = require(\"./Rule\");\nclass Always extends Rule_1.Rule {\n constructor() {\n super();\n this.precedence = Number.MAX_SAFE_INTEGER;\n this.class = \"Always\";\n }\n is(value) {\n return true;\n }\n toString() {\n return \"\";\n }\n}\nexports.Always = Always;\n(0, Rule_1.setFallback)(new Always());\n//# sourceMappingURL=Always.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.any = exports.Any = void 0;\nconst Rule_1 = require(\"./Rule\");\nclass Any extends Rule_1.Rule {\n constructor(criteria) {\n super();\n this.criteria = criteria;\n this.precedence = 50;\n this.class = \"Any\";\n }\n is(value) {\n return (value &&\n typeof value == \"object\" &&\n Object.getOwnPropertyNames(value).some(property => this.criteria.is(value[property]) || this.is(value[property])));\n }\n toString() {\n return this.criteria.stringify(this.precedence);\n }\n}\nexports.Any = Any;\nfunction any(criteria, value) {\n const result = new Any((0, Rule_1.create)(criteria));\n return value ? result.is(value) : result;\n}\nexports.any = any;\n//# sourceMappingURL=Any.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.and = exports.And = void 0;\nconst Any_1 = require(\"./Any\");\nconst Rule_1 = require(\"./Rule\");\nclass And extends Rule_1.Rule {\n constructor(rules) {\n super();\n this.precedence = 40;\n this.class = \"And\";\n this.rules = rules.reduce((r, e) => (e instanceof And ? [...r, ...e.rules] : [...r, e]), []);\n }\n is(value) {\n return this.rules.every(c => c.is(value));\n }\n toString() {\n return this.rules.map(c => c.stringify(this.precedence)).join(\" \");\n }\n generalize() {\n return new And(this.rules.map(r => (r.class == \"Property\" ? r : new Any_1.Any(r))));\n }\n}\nexports.And = And;\nfunction and(...criterias) {\n return new And(criterias.map(Rule_1.create));\n}\nexports.and = and;\n//# sourceMappingURL=And.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isCriteria = exports.Criteria = void 0;\nconst Rule_1 = require(\"./Rule\");\nvar Criteria;\n(function (Criteria) {\n Criteria.is = isCriteria;\n})(Criteria = exports.Criteria || (exports.Criteria = {}));\nfunction isCriteria(value, recursive = false) {\n return (typeof value == \"number\" ||\n typeof value == \"string\" ||\n value instanceof Rule_1.Rule ||\n (recursive &&\n typeof value == \"object\" &&\n value &&\n Object.values(value).every(value => Array.isArray(value) ? value.every(value => isCriteria(value, true)) : isCriteria(value, true))));\n}\nexports.isCriteria = isCriteria;\n//# sourceMappingURL=Criteria.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Level;\n(function (Level) {\n Level[Level[\"Logging\"] = 0] = \"Logging\";\n Level[Level[\"Debug\"] = 1] = \"Debug\";\n Level[Level[\"Warning\"] = 2] = \"Warning\";\n Level[Level[\"Recoverable\"] = 3] = \"Recoverable\";\n Level[Level[\"Critical\"] = 4] = \"Critical\";\n})(Level = exports.Level || (exports.Level = {}));\n//# sourceMappingURL=Level.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Level_1 = require(\"./Level\");\nclass Message {\n constructor(description, level = Level_1.Level.Recoverable, type = \"unknown\", region) {\n this.description = description;\n this.level = level;\n this.type = type;\n this.region = region;\n }\n toString() {\n return Level_1.Level[this.level] + \": \" + this.type + \" error. \" + this.description + (this.region ? \" @ \" + this.region.toString() : \"\");\n }\n}\nexports.Message = Message;\n//# sourceMappingURL=Message.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Message_1 = require(\"./Message\");\nclass ConsoleHandler {\n raise(message, level, type, region) {\n if (!(message instanceof Message_1.Message))\n message = new Message_1.Message(message, level, type, region);\n console.error(message.toString());\n }\n}\nexports.ConsoleHandler = ConsoleHandler;\n//# sourceMappingURL=ConsoleHandler.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass Position {\n constructor(line, column) {\n this.line = line;\n this.column = column;\n }\n toString() {\n return \"Ln \" + this.line + \", Col \" + this.column;\n }\n}\nexports.Position = Position;\n//# sourceMappingURL=Position.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Position_1 = require(\"./Position\");\nclass Location extends Position_1.Position {\n constructor(resource, line, column) {\n super(line, column);\n this.resource = resource;\n }\n toString() {\n return this.resource.toString() + \" @ \" + super.toString();\n }\n}\nexports.Location = Location;\n//# sourceMappingURL=Location.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass Region {\n constructor(resource, start, end, content) {\n this.resource = resource;\n this.start = start;\n this.end = end;\n this.content = content;\n }\n merge(other) { return other ? new Region(this.resource, this.start, other.end, this.content ? this.content : \"\" + other.content ? other.content : \"\") : this; }\n toString() {\n let result = this.resource.toString();\n if (this.start && this.end)\n result += \" (\" + this.start.toString() + \" - \" + this.end.toString() + \") \";\n if (this.content)\n result += this.content;\n return result;\n }\n}\nexports.Region = Region;\n//# sourceMappingURL=Region.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ConsoleHandler_1 = require(\"./ConsoleHandler\");\nexports.ConsoleHandler = ConsoleHandler_1.ConsoleHandler;\nvar Level_1 = require(\"./Level\");\nexports.Level = Level_1.Level;\nvar Location_1 = require(\"./Location\");\nexports.Location = Location_1.Location;\nvar Message_1 = require(\"./Message\");\nexports.Message = Message_1.Message;\nvar Position_1 = require(\"./Position\");\nexports.Position = Position_1.Position;\nvar Region_1 = require(\"./Region\");\nexports.Region = Region_1.Region;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass User {\n constructor(name, password) {\n this.name = name;\n this.password = password;\n }\n get isEmpty() {\n return !this.name && !this.password;\n }\n toString() {\n let result = \"\";\n if (this.name)\n result = this.name;\n if (this.password)\n result += \":\" + this.password;\n return result;\n }\n static parse(data) {\n let result;\n if (data) {\n const splitted = data.split(\":\", 2);\n result = new User(splitted[0], splitted[1]);\n }\n else\n result = new User();\n return result;\n }\n}\nexports.User = User;\n//# sourceMappingURL=User.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass Endpoint {\n constructor(host = [], port) {\n this.host = host;\n this.port = port;\n }\n get isEmpty() {\n return this.host.length == 0 && !this.port;\n }\n toString() {\n let result = this.host.join(\".\");\n if (this.port)\n result += \":\" + this.port.toString();\n return result;\n }\n static parse(data) {\n let result;\n if (data) {\n const splitted = data.split(\":\", 2);\n result = new Endpoint(splitted[0].split(\".\"), splitted.length > 1 ? parseInt(splitted[1]) : undefined);\n }\n else\n result = new Endpoint();\n return result;\n }\n}\nexports.Endpoint = Endpoint;\n//# sourceMappingURL=Endpoint.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst User_1 = require(\"./User\");\nconst Endpoint_1 = require(\"./Endpoint\");\nclass Authority {\n constructor(user = new User_1.User(), endpoint = new Endpoint_1.Endpoint()) {\n this.user = user;\n this.endpoint = endpoint;\n }\n get isEmpty() {\n return this.user.isEmpty && this.endpoint.isEmpty;\n }\n toString() {\n let result = \"\";\n if (!this.user.isEmpty)\n result = this.user.toString() + \"@\";\n if (!this.endpoint.isEmpty)\n result = result + this.endpoint.toString();\n return result;\n }\n static parse(data) {\n let result;\n if (data) {\n const splitted = data.split(\"@\", 2);\n result = new Authority(User_1.User.parse(splitted.length == 2 ? splitted.pop() : undefined), Endpoint_1.Endpoint.parse(splitted.pop()));\n }\n return result;\n }\n}\nexports.Authority = Authority;\n//# sourceMappingURL=Authority.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Authority_1 = require(\"./Authority\");\nclass Locator {\n constructor(scheme = [], authority = new Authority_1.Authority(), path = [], query = {}, fragment) {\n this.scheme = scheme;\n this.authority = authority;\n this.path = path;\n this.query = query;\n this.fragment = fragment;\n }\n get isRelative() {\n return this.path[0] == \".\" || this.path[0] == \"..\";\n }\n get isFolder() {\n return this.path[this.path.length - 1] == \"\";\n }\n get folder() {\n return this.isFolder ? this : new Locator(this.scheme, this.authority, this.path.filter((value, index) => index < this.path.length - 1), this.query, this.fragment);\n }\n get name() {\n return this.path[this.path.length - 1];\n }\n get extension() {\n const splitted = this.name.split(\".\");\n return splitted.length > 1 ? splitted[splitted.length - 1] : \"\";\n }\n createArray(value, count) {\n const result = [];\n while (count-- > 0)\n result.push(value);\n return result;\n }\n normalize() {\n let skip = 0;\n const path = this.path.reverse().filter((item, index) => {\n let r = false;\n if ((item == \"\" || item == \".\") && index < this.path.length - 1)\n r = false;\n else if (item == \"..\")\n skip++;\n else if (skip > 0)\n skip--;\n else\n r = true;\n return r;\n }).concat(this.createArray(\"..\", skip)).reverse();\n return new Locator(this.scheme, this.authority, path, this.query, this.fragment);\n }\n resolve(absolute) {\n return !absolute ? this : new Locator(this.scheme.length > 0 ? this.scheme : absolute.scheme, !this.authority.isEmpty ? this.authority : absolute.authority, this.isRelative ? absolute.folder.path.concat(this.path) : this.path, this.query, this.fragment).normalize();\n }\n appendPath(path) {\n return new Locator(this.scheme, this.authority, path instanceof Array ? [...this.path, ...path] : [...this.path, path], this.query, this.fragment);\n }\n toString() {\n let result = \"\";\n if (this.scheme.length > 0)\n result += this.scheme.join(\"+\") + \":\";\n if (!this.authority.isEmpty)\n result += \"//\" + this.authority.toString();\n else if (this.scheme.length > 0)\n result += \"//\";\n if (this.path) {\n let path = this.path.join(\"/\");\n if (path[0] != \".\" || result.length > 0)\n path = \"/\" + path;\n result += path;\n }\n if (Object.keys(this.query).length > 0)\n result += \"?\" + this.query.toString();\n if (this.fragment)\n result += \"#\" + this.fragment;\n return result;\n }\n static parse(data) {\n let result;\n switch (data) {\n case \"\":\n case null:\n case undefined:\n break;\n default:\n let hasAuthority = true;\n let scheme = [];\n let splitted = data.split(\"://\", 2);\n if (splitted.length > 1) {\n scheme = (splitted.shift() || \"\").split(\"+\");\n data = splitted.shift();\n }\n else if (data.slice(0, 2) == \"//\")\n data = data.slice(2);\n else\n hasAuthority = false;\n let index;\n let fragment;\n if (data && (index = data.lastIndexOf(\"#\")) > -1) {\n fragment = data.slice(index + 1);\n data = data.slice(0, index);\n }\n let query = {};\n if (data && (index = data.lastIndexOf(\"?\")) > -1) {\n query = new Object();\n data.slice(index + 1).split(\";\").forEach(element => {\n splitted = element.split(\"=\");\n const key = splitted.shift();\n const value = splitted.shift();\n if (key && value)\n query[key] = value;\n });\n data = data.slice(0, index);\n }\n let authority;\n let path = [];\n if (data) {\n splitted = data.split(\"/\");\n if (splitted.length > 0) {\n switch (splitted[0]) {\n case \".\":\n case \"..\":\n break;\n case \"\":\n splitted.shift();\n break;\n default:\n if (hasAuthority)\n authority = Authority_1.Authority.parse(splitted.shift());\n else\n splitted.unshift(\".\");\n break;\n }\n path = splitted;\n }\n }\n result = new Locator(scheme, authority, path, query, fragment);\n break;\n }\n return result;\n }\n}\nexports.Locator = Locator;\nLocator.empty = new Locator(undefined, undefined, undefined, undefined, undefined);\n//# sourceMappingURL=Locator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Authority_1 = require(\"./Authority\");\nexports.Authority = Authority_1.Authority;\nvar Endpoint_1 = require(\"./Endpoint\");\nexports.Endpoint = Endpoint_1.Endpoint;\nvar Locator_1 = require(\"./Locator\");\nexports.Locator = Locator_1.Locator;\nvar User_1 = require(\"./User\");\nexports.User = User_1.User;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass Device {\n}\nexports.Device = Device;\n//# sourceMappingURL=Device.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Device_1 = require(\"./Device\");\nclass InDevice extends Device_1.Device {\n}\nexports.InDevice = InDevice;\n//# sourceMappingURL=InDevice.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst InDevice_1 = require(\"./InDevice\");\nclass Reader extends InDevice_1.InDevice {\n static addOpener(open, priority) {\n if (!priority)\n priority = 0;\n Reader.openers.push({ open, priority });\n Reader.openers = Reader.openers.sort((left, right) => right.priority - left.priority);\n }\n static open(locator) {\n let result;\n let i = 0;\n do\n result = Reader.openers[i++].open(locator);\n while (!result && i < Reader.openers.length);\n return result;\n }\n}\nexports.Reader = Reader;\nReader.openers = [];\n//# sourceMappingURL=Reader.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Uri = require(\"../Uri\");\nconst Error = require(\"../Error\");\nconst Reader_1 = require(\"./Reader\");\nvar Reader_2 = require(\"./Reader\");\nexports.Reader = Reader_2.Reader;\nclass BufferedReader extends Reader_1.Reader {\n constructor(backend) {\n super();\n this.backend = backend;\n this.buffer = [];\n this.lastContent = \"\";\n this.lastMark = this.locationValue = this.backend.location;\n }\n get tabSize() { return this.backend.tabSize; }\n set tabSize(size) { this.backend.tabSize = size; }\n get readable() { return !!this.backend; }\n get opened() { return !!this.backend; }\n get isEmpty() { return (this.buffer.length == 0 || this.buffer[0].data == \"\\0\") && this.backend.isEmpty; }\n get resource() {\n const location = this.location;\n return location ? location.resource : Uri.Locator.empty;\n }\n get location() {\n return this.locationValue;\n }\n get region() {\n return new Error.Region(this.resource, this.lastMark, this.location, this.lastContent);\n }\n close() {\n return this.backend.close();\n }\n peek(length) {\n if (!length)\n length = 1;\n let next;\n while (length > this.buffer.length && (next = this.backend.read()))\n this.buffer.push({ data: next, location: this.backend.location });\n return this.buffer.length == 0 ? undefined : this.buffer.slice(0, length > this.buffer.length ? this.buffer.length : length).map(value => value.data).join(\"\");\n }\n read(length) {\n if (!length)\n length = 1;\n const result = this.peek(length);\n if (result && result.length > 0) {\n this.locationValue = this.buffer[result.length - 1].location;\n this.buffer.splice(0, result.length);\n this.lastContent += result;\n }\n return result;\n }\n peekIs(value, count) {\n let result;\n if (value)\n if (typeof (value) == \"string\") {\n const v = value;\n while (count && count-- > 0)\n value += v;\n result = this.peek(value.length) == value ? value : undefined;\n }\n else if (value.length > 0 && !(result = this.peekIs(value[0])) && value.length)\n result = this.peekIs(value.slice(1));\n return result;\n }\n readIf(value) {\n let result;\n if (value)\n if (typeof (value) == \"string\")\n result = this.peek(value.length) == value && this.read(value.length) || undefined;\n else if (value.length > 0 && !(result = this.readIf(value[0])) && value.length)\n result = this.readIf(value.slice(1));\n return result;\n }\n readAll() {\n let result = \"\";\n while (this.peek())\n result += this.read();\n return result != \"\" ? result : undefined;\n }\n mark() {\n const result = this.region;\n this.lastMark = this.location;\n this.lastContent = \"\";\n return result;\n }\n static create(backend) {\n return backend ? new BufferedReader(backend) : undefined;\n }\n}\nexports.BufferedReader = BufferedReader;\n//# sourceMappingURL=BufferedReader.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction close(fd) {\n return __awaiter(this, void 0, void 0, function* () { });\n}\nexports.close = close;\nfunction fsync(fd) {\n return __awaiter(this, void 0, void 0, function* () { });\n}\nexports.fsync = fsync;\nfunction open(path, flags, mode) {\n return __awaiter(this, void 0, void 0, function* () { return 0; });\n}\nexports.open = open;\nfunction write(fd, buffer, offset, encoding) {\n return __awaiter(this, void 0, void 0, function* () { return { bytesWritten: 0 }; });\n}\nexports.write = write;\nfunction lstatSync(path, options) { return { isDirectory: () => false }; }\nexports.lstatSync = lstatSync;\nfunction readdirSync(path) { return []; }\nexports.readdirSync = readdirSync;\nfunction readFileSync(path, encoding) { return \"\"; }\nexports.readFileSync = readFileSync;\n//# sourceMappingURL=fs.browser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst sep = \"/\";\nexports.sep = sep;\n//# sourceMappingURL=path.browser.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Error = require(\"../Error\");\nconst Uri = require(\"../Uri\");\nconst Reader_1 = require(\"./Reader\");\nclass StringReader extends Reader_1.Reader {\n constructor(content, resource) {\n super();\n this.content = content;\n this.resource = resource;\n this.tabSize = 2;\n this.count = 0;\n this.line = 1;\n this.column = 1;\n this.lastContent = \"\";\n this.readable = true;\n this.content += \"\\0\";\n this.lastPosition = this.location;\n }\n get opened() { return this.count + 1 >= this.content.length; }\n get isEmpty() { return this.opened; }\n get location() { return new Error.Location(this.resource, this.line, this.column); }\n get region() { return new Error.Region(this.resource, this.lastPosition, this.location, this.lastContent); }\n close() {\n return __awaiter(this, void 0, void 0, function* () {\n const result = !(yield this.isEmpty);\n if (result)\n this.count = this.content.length;\n return result;\n });\n }\n read() {\n let result;\n if (this.count < this.content.length)\n result = this.content.charAt(this.count);\n else if (this.count == this.content.length)\n result = undefined;\n this.count++;\n if (result) {\n switch (result) {\n case \"\\n\":\n this.line++;\n this.column = 1;\n break;\n case \"\\t\":\n this.column += this.tabSize;\n break;\n default:\n this.column++;\n break;\n }\n this.lastContent += result;\n }\n return result;\n }\n mark() {\n const result = this.region;\n this.lastPosition = this.location;\n this.lastContent = \"\";\n return result;\n }\n static create(content, resource) {\n return content != undefined ? new StringReader(content, resource || Uri.Locator.empty) : undefined;\n }\n}\nexports.StringReader = StringReader;\n//# sourceMappingURL=StringReader.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst fs = require(\"./fs\");\nconst path = require(\"./path\");\nconst Uri = require(\"../Uri\");\nconst Reader_1 = require(\"./Reader\");\nconst StringReader_1 = require(\"./StringReader\");\nclass FileReader extends Reader_1.Reader {\n constructor(backend) {\n super();\n this.backend = backend;\n }\n get tabSize() { return this.backend.tabSize; }\n set tabSize(size) { this.backend.tabSize = size; }\n get readable() { return this.backend.readable; }\n get opened() { return this.backend.opened; }\n get isEmpty() { return this.backend.isEmpty; }\n get resource() { return this.backend ? this.backend.resource : Uri.Locator.empty; }\n get location() { return this.backend.location; }\n get region() { return this.backend.region; }\n close() {\n return this.backend.close();\n }\n read() { return this.backend.read(); }\n mark() { return this.backend.mark(); }\n static open(resource) {\n let backend;\n if (resource && (resource.scheme.length == 0 || resource.scheme.length == 1 && resource.scheme[0] == \"file\"))\n try {\n backend = StringReader_1.StringReader.create(fs.readFileSync((resource.isRelative ? \"\" : path.sep) + resource.path.join(path.sep), \"utf-8\"), resource);\n }\n catch (error) {\n console.log(`Failed to open file: ${resource.toString()}`);\n }\n return backend ? new FileReader(backend) : undefined;\n }\n}\nexports.FileReader = FileReader;\nReader_1.Reader.addOpener(p => FileReader.open(p), 10);\n//# sourceMappingURL=FileReader.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst fs = require(\"./fs\");\nconst path = require(\"./path\");\nconst Uri = require(\"../Uri\");\nconst Error = require(\"../Error\");\nconst Reader_1 = require(\"./Reader\");\nconst FileReader_1 = require(\"./FileReader\");\nclass FolderReader extends Reader_1.Reader {\n constructor(files) {\n super();\n this.files = files;\n this.tabSizeValue = 2;\n this.lastLocation = new Error.Location(Uri.Locator.empty, 0, 0);\n }\n get tabSize() { return this.tabSizeValue; }\n set tabSize(size) {\n this.tabSizeValue = size;\n if (this.current)\n this.current.tabSize = size;\n }\n get readable() { return this.current != undefined && this.current.readable || this.files.length > 0; }\n get opened() { return this.current != undefined || this.files.length > 0; }\n get isEmpty() { return this.files.length == 0 && (!this.current || this.current.isEmpty); }\n get resource() { return this.current ? this.current.resource : this.lastLocation.resource; }\n get location() { return this.current ? this.current.location : this.lastLocation; }\n get region() { return this.current ? this.current.region : new Error.Region(this.resource); }\n close() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.current != undefined && (yield this.current.close());\n });\n }\n read() {\n let result;\n if (!this.current && this.files.length > 0) {\n this.current = FileReader_1.FileReader.open(this.files.shift());\n this.current.tabSize = this.tabSize;\n }\n if (this.current) {\n result = this.current.read();\n if (result == undefined || result == \"\\0\") {\n this.current.close();\n this.current = undefined;\n }\n }\n this.lastLocation = this.location;\n return result;\n }\n mark() { return this.current ? this.current.mark() : new Error.Region(this.resource); }\n static getFiles(folder, filetype, ignoreFiles = []) {\n let result = [];\n const files = fs.readdirSync(folder);\n files.forEach(file => {\n const filename = folder + path.sep + file;\n if (ignoreFiles.indexOf(filename) == -1) {\n if (fs.lstatSync(filename).isDirectory())\n result = result.concat(FolderReader.getFiles(filename, filetype, ignoreFiles));\n else if (file.length > filetype.length && file.lastIndexOf(filetype, file.length - filetype.length) === file.length - filetype.length)\n result.push(filename);\n }\n });\n return result;\n }\n static open(resource) {\n let files;\n try {\n if (resource && (resource.scheme.length == 0 || resource.scheme.length == 1 && resource.scheme[0] == \"file\") && resource.isFolder || resource.name.match(\"*\"))\n files = FolderReader.getFiles((resource.isRelative ? \"\" : path.sep) + resource.folder.path.join(path.sep), resource.extension);\n }\n catch (error) {\n }\n return files ? new FolderReader(files.map(f => new Uri.Locator([\"file\"], undefined, f.split(path.sep)))) : undefined;\n }\n}\nexports.FolderReader = FolderReader;\nReader_1.Reader.addOpener((resource) => FolderReader.open(resource), 0);\n//# sourceMappingURL=FolderReader.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction* generate(next) {\n let result;\n while ((result = next()) != undefined)\n yield result;\n}\nfunction isIterator(item) {\n return item.next instanceof Function;\n}\nfunction* merge(left, right) {\n let result;\n while (!(result = left.next()).done)\n yield result.value;\n if (isIterator(right))\n while (!(result = right.next()).done)\n yield result.value;\n else\n yield right;\n}\nclass Enumerator {\n constructor(backend) {\n this.iterator = backend instanceof Function ? generate(backend) : backend;\n }\n get length() {\n let result = 0;\n while (!this.next().done)\n result++;\n return result;\n }\n get last() {\n return this.nextValue && !this.nextValue.done ? this.nextValue.value : undefined;\n }\n fetch() {\n const result = this.next();\n return result.done ? undefined : result.value;\n }\n next(value) {\n return this.nextValue = this.iterator.next(value);\n }\n append(item) {\n return new Enumerator(merge(this, item));\n }\n map(mapping) {\n return new Enumerator(() => {\n const item = this.fetch();\n return (item != undefined) ? mapping(item) : undefined;\n });\n }\n reduce(reduce, result) {\n const item = this.fetch();\n return item ? this.reduce(reduce, reduce(result, item)) : result;\n }\n apply(apply) {\n const item = this.fetch();\n if (item) {\n apply(item);\n this.apply(apply);\n }\n }\n filter(filter) {\n return new Enumerator(() => {\n let item;\n do\n item = this.fetch();\n while (item != undefined && !filter(item));\n return item;\n });\n }\n toArray() {\n const item = this.fetch();\n let result;\n if (!item)\n result = [];\n else {\n result = this.toArray();\n result.unshift(item);\n }\n return result;\n }\n static from(backend) {\n return new Enumerator(backend);\n }\n}\nexports.Enumerator = Enumerator;\nEnumerator.empty = Enumerator.from(() => undefined);\n//# sourceMappingURL=Enumerator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Enumerator_1 = require(\"./Enumerator\");\nfunction isIterable(other) {\n return other == null ? false : typeof other[Symbol.iterator] === \"function\";\n}\nclass Enumerable {\n constructor(get) {\n this.get = get;\n }\n get length() {\n return this.get().length;\n }\n get first() {\n return this.get().fetch();\n }\n get last() {\n return this.get().last;\n }\n getEnumerator() {\n return new Enumerator_1.Enumerator(this.get());\n }\n [Symbol.iterator]() {\n return this.getEnumerator();\n }\n append(item) {\n return new Enumerable(() => this.get().append(item));\n }\n map(mapping) {\n return new Enumerable(() => this.get().map(mapping));\n }\n reduce(reduce, result) {\n return this.get().reduce(reduce, result);\n }\n apply(apply) {\n this.get().apply(apply);\n }\n filter(filter) {\n return new Enumerable(() => this.get().filter(filter));\n }\n toArray() {\n return this.getEnumerator().toArray();\n }\n static from(get) {\n return isIterable(get) ? new Enumerable(() => new Enumerator_1.Enumerator(get[Symbol.iterator]())) : new Enumerable(() => {\n const r = get();\n return r instanceof Enumerator_1.Enumerator ? r : new Enumerator_1.Enumerator(r);\n });\n }\n}\nexports.Enumerable = Enumerable;\nEnumerable.empty = Enumerable.from([]);\n//# sourceMappingURL=Enumerable.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Enumerator_1 = require(\"./Enumerator\");\nclass ArrayEnumerator extends Enumerator_1.Enumerator {\n constructor(backend) {\n super(() => this.position < this.backend.length ? this.backend[this.position++] : undefined);\n this.backend = backend;\n this.position = 0;\n }\n}\nexports.ArrayEnumerator = ArrayEnumerator;\n//# sourceMappingURL=ArrayEnumerator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Enumerator_1 = require(\"./Enumerator\");\nclass BufferedEnumerator extends Enumerator_1.Enumerator {\n constructor(backend) {\n super(() => {\n const result = this.peek(0);\n if (this.buffer.length > 0)\n this.buffer.shift();\n return result;\n });\n this.backend = backend;\n this.buffer = [];\n }\n peek(position) {\n if (!position)\n position = 0;\n let next;\n while (position > this.buffer.length - 1 && (next = this.backend.fetch()))\n this.buffer.push(next);\n return position > this.buffer.length - 1 ? undefined : this.buffer[position];\n }\n}\nexports.BufferedEnumerator = BufferedEnumerator;\n//# sourceMappingURL=BufferedEnumerator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass String {\n static padLeft(value, paddingCharacter, width) {\n return String.pad(value, paddingCharacter, width, true);\n }\n static padRight(value, paddingCharacter, width) {\n return String.pad(value, paddingCharacter, width, false);\n }\n static pad(value, paddingCharacter, width, padLeft) {\n let padding = \"\";\n const count = width - value.length;\n for (let i = 0; i < count; i++)\n padding += paddingCharacter;\n return padLeft ? padding + value : value + padding;\n }\n}\nexports.String = String;\n//# sourceMappingURL=String.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Enumerator_1 = require(\"./Enumerator\");\nexports.Enumerator = Enumerator_1.Enumerator;\nvar Enumerable_1 = require(\"./Enumerable\");\nexports.Enumerable = Enumerable_1.Enumerable;\nvar ArrayEnumerator_1 = require(\"./ArrayEnumerator\");\nexports.ArrayEnumerator = ArrayEnumerator_1.ArrayEnumerator;\nvar BufferedEnumerator_1 = require(\"./BufferedEnumerator\");\nexports.BufferedEnumerator = BufferedEnumerator_1.BufferedEnumerator;\nvar String_1 = require(\"./String\");\nexports.String = String_1.String;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Device_1 = require(\"./Device\");\nclass OutDevice extends Device_1.Device {\n}\nexports.OutDevice = OutDevice;\n//# sourceMappingURL=OutDevice.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Uri = require(\"../Uri\");\nconst Utilities_1 = require(\"../Utilities\");\nconst OutDevice_1 = require(\"./OutDevice\");\nclass Writer extends OutDevice_1.OutDevice {\n constructor() {\n super(...arguments);\n this.newLineSymbol = \"\\n\";\n }\n write(message) {\n return __awaiter(this, void 0, void 0, function* () {\n return message instanceof Utilities_1.Enumerator ? this.writeImplementation(message) :\n message instanceof Array ? this.writeImplementation(new Utilities_1.ArrayEnumerator(message)) :\n this.writeImplementation(new Utilities_1.ArrayEnumerator([message]));\n });\n }\n writeLine(message) {\n return __awaiter(this, void 0, void 0, function* () {\n return message instanceof Utilities_1.Enumerator ? this.writeImplementation(message.append(this.newLineSymbol)) :\n message instanceof Array ? this.writeImplementation(new Utilities_1.ArrayEnumerator([...message, this.newLineSymbol])) :\n message ? this.writeImplementation(new Utilities_1.ArrayEnumerator([message, this.newLineSymbol])) :\n this.writeImplementation(new Utilities_1.ArrayEnumerator([this.newLineSymbol]));\n });\n }\n static addOpener(open, priority) {\n if (!priority)\n priority = 0;\n Writer.openers.push({ open, priority });\n Writer.openers = Writer.openers.sort((left, right) => right.priority - left.priority);\n }\n static open(resource) {\n return __awaiter(this, void 0, void 0, function* () {\n let result;\n if (typeof (resource) == \"string\") {\n const r = Uri.Locator.parse(resource);\n result = r ? yield Writer.open(r) : undefined;\n }\n else {\n let i = 0;\n do\n result = yield Writer.openers[i++].open(resource);\n while (!result && i < Writer.openers.length);\n }\n return result;\n });\n }\n}\nexports.Writer = Writer;\nWriter.openers = [];\n//# sourceMappingURL=Writer.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Writer_1 = require(\"./Writer\");\nclass Indenter extends Writer_1.Writer {\n constructor(backend) {\n super();\n this.backend = backend;\n this.autoFlush = true;\n this.indentionSymbol = \"\\t\";\n this.indentionCount = 0;\n this.indentNext = false;\n }\n get resource() { return this.backend.resource; }\n get opened() { return this.backend.opened; }\n get writable() { return this.backend.writable; }\n flush() {\n return this.backend.flush();\n }\n close() {\n return this.backend.close();\n }\n increase() {\n this.indentionCount++;\n return true;\n }\n decrease() {\n this.indentionCount--;\n return this.indentionCount >= 0;\n }\n getIndention() {\n return this.indentionSymbol.repeat(this.indentionCount);\n }\n writeImplementation(buffer) {\n const result = [];\n let item;\n let next = buffer.fetch();\n if (next)\n do {\n item = next;\n next = buffer.fetch();\n if (this.indentNext)\n item = this.getIndention() + item;\n this.indentNext = item.endsWith(this.newLineSymbol);\n item = item.replace(this.newLineSymbol, this.newLineSymbol + this.getIndention());\n if (this.indentNext)\n item = item.substring(0, item.length - this.indentionCount * this.indentionSymbol.length);\n result.push(this.backend.write(item));\n } while (next);\n return Promise.all(result).then(r => r.reduce((previous, current) => previous && current, true));\n }\n}\nexports.Indenter = Indenter;\n//# sourceMappingURL=Indenter.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Reader_1 = require(\"./Reader\");\nconst BufferedReader_1 = require(\"./BufferedReader\");\nclass PrefixReader extends Reader_1.Reader {\n constructor(backend, prefix) {\n super();\n this.prefix = prefix;\n this.done = false;\n this.backend = backend instanceof BufferedReader_1.BufferedReader ? backend : BufferedReader_1.BufferedReader.create(backend);\n }\n get tabSize() { return this.backend.tabSize; }\n set tabSize(size) { this.backend.tabSize = size; }\n get readable() { return this.backend.readable; }\n get opened() { return this.backend.opened; }\n get isEmpty() { return this.done || this.backend.isEmpty; }\n get resource() { return this.backend.resource; }\n get location() { return this.backend.location; }\n get region() { return this.backend.region; }\n close() {\n return this.backend.close();\n }\n read() {\n let result;\n if (!this.done) {\n result = this.backend.read();\n this.done = result == \"\\n\" && !this.backend.readIf(this.prefix) && !this.backend.peekIs(\"\\n\");\n }\n return result;\n }\n mark() { return this.backend.mark(); }\n static create(backend, prefix) {\n return backend && prefix ? new PrefixReader(backend, prefix) : backend;\n }\n}\nexports.PrefixReader = PrefixReader;\n//# sourceMappingURL=PrefixReader.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst fs = require(\"./fs\");\nconst path = require(\"./path\");\nconst Writer_1 = require(\"./Writer\");\nclass FileWriter extends Writer_1.Writer {\n constructor(resource, descriptor) {\n super();\n this.resource = resource;\n this.descriptor = descriptor;\n this.autoFlush = false;\n }\n get opened() { return this.descriptor > 0; }\n get writable() { return this.descriptor > 0; }\n flush() {\n return __awaiter(this, void 0, void 0, function* () {\n let result = true;\n try {\n yield fs.fsync(this.descriptor);\n }\n catch (error) {\n result = false;\n }\n return result;\n });\n }\n close() {\n return __awaiter(this, void 0, void 0, function* () {\n let result = this.opened;\n if (result) {\n try {\n yield fs.close(this.descriptor);\n }\n catch (error) {\n result = false;\n }\n this.descriptor = 0;\n }\n return result;\n });\n }\n writeImplementation(buffer) {\n return __awaiter(this, void 0, void 0, function* () {\n let result = true;\n const content = Buffer.from(buffer.reduce((r, item) => r + item, \"\"));\n try {\n const r = yield fs.write(this.descriptor, content, 0, \"utf8\");\n result = r.bytesWritten == content.length;\n }\n catch (error) {\n result = false;\n }\n return result && (!this.autoFlush || (yield this.flush()));\n });\n }\n static open(resource) {\n return __awaiter(this, void 0, void 0, function* () {\n let backend;\n if (resource && (resource.scheme.length == 0 || resource.scheme.length == 1 && resource.scheme[0] == \"file\"))\n try {\n backend = yield fs.open((resource.isRelative ? \"\" : path.sep) + resource.path.join(path.sep), \"w\");\n }\n catch (error) {\n backend = undefined;\n }\n return backend ? new FileWriter(resource, backend) : undefined;\n });\n }\n}\nexports.FileWriter = FileWriter;\nWriter_1.Writer.addOpener(FileWriter.open);\n//# sourceMappingURL=FileWriter.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Reader_1 = require(\"./Reader\");\nconst BufferedReader_1 = require(\"./BufferedReader\");\nclass TillReader extends Reader_1.Reader {\n constructor(backend, endMark) {\n super();\n this.endMark = endMark;\n this.done = false;\n this.backend = backend instanceof BufferedReader_1.BufferedReader ? backend : BufferedReader_1.BufferedReader.create(backend);\n this.done = this.backend.peekIs(this.endMark) != undefined;\n }\n get tabSize() { return this.backend.tabSize; }\n set tabSize(size) { this.backend.tabSize = size; }\n get readable() { return this.backend.readable; }\n get opened() { return !this.done && this.backend.opened; }\n get isEmpty() { return this.done || this.backend.isEmpty; }\n get resource() { return this.backend.resource; }\n get location() { return this.backend.location; }\n get region() { return this.backend.region; }\n close() {\n const result = !this.done;\n if (result)\n this.done = true;\n return Promise.resolve(result);\n }\n read() {\n let result;\n if (!this.done) {\n result = this.backend.read();\n this.done = this.backend.peekIs(this.endMark) != undefined;\n }\n return result;\n }\n mark() { return this.backend.mark(); }\n static create(backend, endMark) {\n return backend && endMark ? new TillReader(backend, endMark) : backend;\n }\n}\nexports.TillReader = TillReader;\n//# sourceMappingURL=TillReader.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Reader_1 = require(\"./Reader\");\nconst BufferedReader_1 = require(\"./BufferedReader\");\nclass UntilReader extends Reader_1.Reader {\n constructor(backend, endMark) {\n super();\n this.endMark = endMark;\n this.done = -1;\n this.backend = backend instanceof BufferedReader_1.BufferedReader ? backend : BufferedReader_1.BufferedReader.create(backend);\n const peeked = this.backend.peekIs(this.endMark);\n if (peeked)\n this.done = peeked.length;\n }\n get tabSize() { return this.backend.tabSize; }\n set tabSize(size) { this.backend.tabSize = size; }\n get readable() { return this.backend.readable; }\n get opened() { return !this.done && this.backend.opened; }\n get isEmpty() { return this.done == 0 || this.backend.isEmpty; }\n get resource() { return this.backend.resource; }\n get location() { return this.backend.location; }\n get region() { return this.backend.region; }\n close() {\n const result = this.done > 0;\n if (result)\n this.done = 0;\n return Promise.resolve(result);\n }\n read() {\n let result;\n if (this.done != 0) {\n result = this.backend.read();\n let peeked;\n if (this.done > 0)\n this.done--;\n else if (peeked = this.backend.peekIs(this.endMark))\n this.done = peeked.length;\n }\n return result;\n }\n mark() { return this.backend.mark(); }\n static create(backend, endMark) {\n return backend && endMark ? new UntilReader(backend, endMark) : backend;\n }\n}\nexports.UntilReader = UntilReader;\n//# sourceMappingURL=UntilReader.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BufferedReader_1 = require(\"./BufferedReader\");\nexports.BufferedReader = BufferedReader_1.BufferedReader;\nvar Device_1 = require(\"./Device\");\nexports.Device = Device_1.Device;\nvar FileReader_1 = require(\"./FileReader\");\nexports.FileReader = FileReader_1.FileReader;\nvar FolderReader_1 = require(\"./FolderReader\");\nexports.FolderReader = FolderReader_1.FolderReader;\nvar Indenter_1 = require(\"./Indenter\");\nexports.Indenter = Indenter_1.Indenter;\nvar InDevice_1 = require(\"./InDevice\");\nexports.InDevice = InDevice_1.InDevice;\nvar OutDevice_1 = require(\"./OutDevice\");\nexports.OutDevice = OutDevice_1.OutDevice;\nvar PrefixReader_1 = require(\"./PrefixReader\");\nexports.PrefixReader = PrefixReader_1.PrefixReader;\nvar Reader_1 = require(\"./Reader\");\nexports.Reader = Reader_1.Reader;\nvar StringReader_1 = require(\"./StringReader\");\nexports.StringReader = StringReader_1.StringReader;\nvar FileWriter_1 = require(\"./FileWriter\");\nexports.FileWriter = FileWriter_1.FileWriter;\nvar TillReader_1 = require(\"./TillReader\");\nexports.TillReader = TillReader_1.TillReader;\nvar UntilReader_1 = require(\"./UntilReader\");\nexports.UntilReader = UntilReader_1.UntilReader;\nvar Writer_1 = require(\"./Writer\");\nexports.Writer = Writer_1.Writer;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Error = require(\"./Error\");\nexports.Error = Error;\nconst IO = require(\"./IO\");\nexports.IO = IO;\nconst Uri = require(\"./Uri\");\nexports.Uri = Uri;\nconst Utilities = require(\"./Utilities\");\nexports.Utilities = Utilities;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Source = void 0;\nconst mend_1 = require(\"@cogneco/mend\");\nclass Source extends mend_1.IO.BufferedReader {\n constructor(reader, errorHandler) {\n super(typeof reader == \"string\" ? mend_1.IO.StringReader.create(reader) : reader);\n this.errorHandler = errorHandler;\n }\n raise(message, level, type = \"lexical\", region) {\n if (!(message instanceof mend_1.Error.Message)) {\n if (!level)\n level = mend_1.Error.Level.Critical;\n if (!region)\n region = this.region;\n message = new mend_1.Error.Message(message, level, type, region);\n }\n if (this.errorHandler)\n this.errorHandler.raise(message);\n }\n requirePrefix(prefix) {\n return new Source(new mend_1.IO.PrefixReader(this, prefix), this.errorHandler);\n }\n till(endMark) {\n return new Source(mend_1.IO.TillReader.create(this, endMark), this.errorHandler);\n }\n until(endMark) {\n return new Source(mend_1.IO.UntilReader.create(this, endMark), this.errorHandler);\n }\n peekIsSymbol(symbols) {\n var _a, _b;\n return ((_b = (_a = this.peekIs(symbols !== null && symbols !== void 0 ? symbols : [\"!\", \"(\", \")\", \"[\", \"]\", \"|\", \"*\", \":\", \".\", \"<=\", \">=\", \"<\", \">\", \" * \", \" + \", \" - \", \" / \", \",\"])) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : false);\n }\n peekIsWhitespace() {\n return !!this.peekIs([\" \", \"\\n\", \"\\t\"]);\n }\n}\nexports.Source = Source;\n//# sourceMappingURL=Source.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.tokenize = exports.Source = void 0;\nconst mend_1 = require(\"@cogneco/mend\");\nconst Source_1 = require(\"./Source\");\nObject.defineProperty(exports, \"Source\", { enumerable: true, get: function () { return Source_1.Source; } });\nfunction tokenize(reader, errorHandler, symbols) {\n const source = new Source_1.Source(reader, errorHandler);\n return new mend_1.Utilities.Enumerator(() => {\n let result;\n let peekSymbolLength = 1;\n if (!source.isEmpty) {\n while (source.peekIsWhitespace() && !source.peekIsSymbol(symbols))\n source.read();\n if ((peekSymbolLength = source.peekIsSymbol(symbols)))\n result = { value: source.read(peekSymbolLength) || \"\", region: source.mark() };\n else {\n let value = \"\";\n while (!source.isEmpty && !source.peekIsWhitespace() && !source.peekIsSymbol(symbols))\n value += source.read();\n if (value)\n result = { value, region: source.mark() };\n }\n }\n return result;\n });\n}\nexports.tokenize = tokenize;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Base = void 0;\nconst lexer_1 = require(\"../lexer\");\nclass Base {\n tokenize(input) {\n return (0, lexer_1.tokenize)(input, undefined, [\n \"!\",\n \"(\",\n \")\",\n \"[\",\n \"]\",\n \"|\",\n \" | \",\n \"*\",\n \":\",\n \".\",\n \"<=\",\n \">=\",\n \"<\",\n \">\",\n \" * \",\n \" + \",\n \"+\",\n \" - \",\n \"-\",\n \" / \",\n ])\n .map(t => ({ value: t.value }))\n .toArray();\n }\n}\nexports.Base = Base;\n//# sourceMappingURL=Base.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Array = void 0;\nconst Base_1 = require(\"./Base\");\nclass Array extends Base_1.Base {\n constructor(input) {\n super();\n this.class = \"array\";\n this.array = input;\n }\n complete(input, baseObject, type) {\n const tokens = typeof input == \"string\" ? this.tokenize(input) : input;\n return Array.completor\n .flatMap(p => p(tokens, this, baseObject))\n .reduce((result, element) => result.some(p => p.value == element.value && p.cursor == element.cursor) ? result : [...result, element], []);\n }\n isType(value) {\n return global.Array.isArray(value);\n }\n static add(...pattern) {\n this.completor.push(...pattern);\n }\n static is(value) {\n return value instanceof Array;\n }\n}\nexports.Array = Array;\nArray.completor = [];\n//# sourceMappingURL=Array.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Cursor = void 0;\nvar Cursor;\n(function (Cursor) {\n function is(value) {\n return typeof value == \"object\" && typeof value.start == \"number\" && typeof value.end == \"number\";\n }\n Cursor.is = is;\n})(Cursor = exports.Cursor || (exports.Cursor = {}));\n//# sourceMappingURL=Cursor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Completion = void 0;\nconst Cursor_1 = require(\"./Cursor\");\nvar Completion;\n(function (Completion) {\n function stringify(completions) {\n return completions.map(c => typeof c.cursor == \"number\"\n ? c.value.slice(0, c.cursor) + \"_\" + c.value.slice(c.cursor, c.value.length)\n : c.value + \"_\");\n }\n Completion.stringify = stringify;\n function prepend(prefix, completion, suffix) {\n return Array.isArray(completion)\n ? completion.map(c => prepend(prefix, c, suffix))\n : {\n value: prefix + completion.value + (suffix !== null && suffix !== void 0 ? suffix : \"\"),\n cursor: typeof (completion === null || completion === void 0 ? void 0 : completion.cursor) == \"number\"\n ? (completion === null || completion === void 0 ? void 0 : completion.cursor) + prefix.length\n : Cursor_1.Cursor.is(completion.cursor)\n ? { start: completion.cursor.start + prefix.length, end: completion.cursor.end + prefix.length }\n : completion.value.length + prefix.length,\n suggestion: completion.suggestion,\n };\n }\n Completion.prepend = prepend;\n})(Completion = exports.Completion || (exports.Completion = {}));\n//# sourceMappingURL=Completion.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Boolean = void 0;\nconst Base_1 = require(\"./Base\");\nconst Completion_1 = require(\"./Completion\");\nclass Boolean extends Base_1.Base {\n constructor() {\n super();\n this.class = \"boolean\";\n }\n complete(input, baseObject, type) {\n var _a;\n const tokens = typeof input == \"string\" ? this.tokenize(input) : input;\n const result = type\n ? Boolean.literals.filter(c => { var _a, _b; return c.value.startsWith((_b = (_a = tokens[0]) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : \"\"); })\n : ((_a = tokens[0]) === null || _a === void 0 ? void 0 : _a.value) == \":\"\n ? Completion_1.Completion.prepend(\":\", Boolean.literals.filter(c => { var _a, _b; return c.value.startsWith((_b = (_a = tokens[1]) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : \"\"); }))\n : [];\n return [\n ...(result !== null && result !== void 0 ? result : []),\n ...(type ? [] : Boolean.completor)\n .flatMap(p => p(tokens, this, baseObject))\n .reduce((result, element) => result.some(p => p.value == element.value && p.cursor == element.cursor) ? result : [...result, element], []),\n ];\n }\n isType(value) {\n return typeof value == \"boolean\";\n }\n static add(...pattern) {\n this.completor.push(...pattern);\n }\n}\nexports.Boolean = Boolean;\nBoolean.literals = [\n { value: \"true\", suggestion: { value: \"true\" } },\n { value: \"false\", suggestion: { value: \"false\" } },\n];\nBoolean.completor = [];\n//# sourceMappingURL=Boolean.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Completor = void 0;\nconst Completion_1 = require(\"./Completion\");\nvar Completor;\n(function (Completor) {\n function functions(tokens, argument, completion) {\n var _a, _b, _c, _d;\n return tokens.length == 0\n ? [{ value: \":\", suggestion: { value: \":\" } }]\n : tokens.length <= 3 &&\n tokens[0].value == \":\" &&\n completion.value.startsWith((_b = (_a = tokens[1]) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : \"\") &&\n ((_d = (_c = tokens[2]) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : \"(\") == \"(\"\n ? Completion_1.Completion.prepend(\":\", [completion])\n : tokens.length <= 4 &&\n tokens.slice(0, 4).reduce((string, token) => string + token.value, \"\") == \":\" + completion.value\n ? Completion_1.Completion.prepend(\":\" + completion.value.substring(0, completion.value.length - 1), argument(), \")\")\n : tokens.length == 5 &&\n tokens.slice(0, 3).reduce((string, token) => string + token.value, \"\") + tokens[4].value ==\n \":\" + completion.value\n ? Completion_1.Completion.prepend(\":\" + completion.value.substring(0, completion.value.length - 1), argument(tokens.slice(3, tokens.length - 1)), \")\")\n : tokens.length > 5 &&\n tokens.slice(0, 3).reduce((string, token) => string + token.value, \"\") + tokens[tokens.length - 1].value ==\n \":\" + completion.value\n ? Completion_1.Completion.prepend(\":\" + completion.value.substring(0, completion.value.length - 1), argument(tokens.slice(3, tokens.length - 1)), \")\")\n : [];\n }\n Completor.functions = functions;\n function expressions(tokens, argument, completion) {\n return tokens.length == 0\n ? [{ value: \":\", suggestion: { value: \":\" } }]\n : tokens[0].value != \":\"\n ? []\n : tokens.length == 1\n ? Completion_1.Completion.prepend(\":\", [completion])\n : Completion_1.Completion.prepend(\":\", argument(tokens.slice(1)));\n }\n Completor.expressions = expressions;\n function operators(tokens, argument, completion) {\n return tokens.length >= 1 && tokens[0].value == completion.value\n ? Completion_1.Completion.prepend(completion.value, argument(tokens.slice(1)))\n : tokens.length == 0 ||\n (tokens.length == 1 && completion.value.startsWith(tokens[0].value)) ||\n tokens[0].value == completion.value.replace(/ /g, \"\")\n ? [completion]\n : [];\n }\n Completor.operators = operators;\n})(Completor = exports.Completor || (exports.Completor = {}));\n//# sourceMappingURL=Completor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Number = void 0;\nconst Base_1 = require(\"./Base\");\nconst Completion_1 = require(\"./Completion\");\nclass Number extends Base_1.Base {\n constructor(input) {\n super();\n this.input = input;\n this.class = \"number\";\n if (input)\n this.value = input;\n }\n complete(input, baseObject, type) {\n const tokens = typeof input == \"string\" ? this.tokenize(input) : input;\n return [\n ...(tokens.length > 0 && tokens[0].value == \":\" && baseObject\n ? Completion_1.Completion.prepend(\":\", baseObject.complete(tokens.slice(1), undefined, this))\n : baseObject && tokens.length >= 0 && type\n ? Completion_1.Completion.prepend(\" \", baseObject === null || baseObject === void 0 ? void 0 : baseObject.complete(tokens, undefined, undefined))\n : []),\n ...(type ? Number.completorArgument : Number.completor)\n .flatMap(p => p(tokens, this, baseObject))\n .reduce((result, element) => result.some(p => p.value == element.value && p.cursor == element.cursor) ? result : [...result, element], []),\n ];\n }\n isType(value) {\n return isNaN(+value) ? false : true;\n }\n static add(...pattern) {\n this.completor.push(...pattern);\n }\n static addArgument(...pattern) {\n this.completorArgument.push(...pattern);\n }\n static is(value) {\n return value instanceof Number || !global.Number.isNaN(value);\n }\n}\nexports.Number = Number;\nNumber.completor = [];\nNumber.completorArgument = [];\n//# sourceMappingURL=Number.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TObject = void 0;\nconst Base_1 = require(\"./Base\");\nconst Completion_1 = require(\"./Completion\");\nclass TObject extends Base_1.Base {\n constructor(properties) {\n super();\n this.properties = properties;\n this.class = \"object\";\n this.completions = Object.keys(this.properties).map(p => ({ value: p, suggestion: { value: p } }));\n }\n complete(input, baseObject, type) {\n const tokens = typeof input == \"string\" ? this.tokenize(input) : input;\n let result;\n const filtered = this.filterByType(type);\n if (!baseObject) {\n const matched = tokens.length > 0 ? this.match(tokens[0], filtered) : undefined;\n if (matched)\n result =\n tokens.length >= 1\n ? Completion_1.Completion.prepend(matched.value, this.properties[matched.value].complete(tokens.slice(1), this, type))\n : [];\n else if (type && tokens.length > 2 && type.isType(tokens[0].value + tokens[1].value + tokens[2].value))\n result = Completion_1.Completion.prepend(tokens[0].value + tokens[1].value + tokens[2].value, type.complete(tokens.slice(3), this, type));\n else if (type && tokens.length > 0 && type.isType(tokens[0].value))\n result = Completion_1.Completion.prepend(tokens[0].value, type.complete(tokens.slice(1), this, type));\n else {\n let found;\n result =\n tokens.length == 0\n ? [...this.addDot(filtered, type), ...((type === null || type === void 0 ? void 0 : type.class) == \"number\" ? [] : TObject.wildcard)]\n : tokens.length == 1 && (found = TObject.wildcard.find(w => w.value == tokens[0].value))\n ? Completion_1.Completion.prepend(found.value, this.completions, type ? \".\" : \"\")\n : tokens.length >= 1 && (found = TObject.wildcard.find(w => w.value == tokens[0].value))\n ? Completion_1.Completion.prepend(found.value, this.complete(tokens.slice(1)))\n : this.addDot(this.partial(tokens[0], filtered), type);\n }\n }\n else\n result =\n tokens.length == 0\n ? [{ value: \".\", suggestion: { value: \".\" } }]\n : tokens[0].value != \".\"\n ? []\n : tokens.length == 1\n ? Completion_1.Completion.prepend(\".\", this.addDot(filtered, type))\n : this.properties[tokens[1].value]\n ? Completion_1.Completion.prepend(\".\" + tokens[1].value, this.properties[tokens[1].value].complete(tokens.slice(2), baseObject, type))\n : Completion_1.Completion.prepend(\".\", this.addDot(this.partial(tokens[1], filtered), type));\n return [\n ...result.reduce((result, element) => result.some(p => p.value == element.value && p.cursor == element.cursor) ? result : [...result, element], []),\n ...TObject.completor.flatMap(p => p(tokens, this, baseObject)),\n ];\n }\n filterByType(type) {\n return type\n ? this.completions.filter(c => this.properties[c.value].class == type.class ||\n (this.properties[c.value].class == \"object\"\n ? this.properties[c.value].filterByType(type).length > 0\n : false))\n : this.completions;\n }\n addDot(completions, type) {\n return !completions\n ? []\n : type\n ? completions.map(c => {\n var _a;\n return this.properties[c.value].class == \"object\"\n ? { value: c.value + \".\", suggestion: { value: ((_a = c.suggestion) === null || _a === void 0 ? void 0 : _a.value) + \".\" } }\n : c;\n })\n : completions;\n }\n partial(token, completions) {\n const result = completions.filter(c => c.value.startsWith(token.value));\n return result && result.length > 0 ? result : undefined;\n }\n match(token, completions) {\n const result = completions.filter(c => c.value == token.value);\n return result && result.length > 0 ? result[0] : undefined;\n }\n isType(value) {\n return false;\n }\n static add(...completor) {\n this.completor.push(...completor);\n }\n}\nexports.TObject = TObject;\nTObject.wildcard = [\n { value: \"!\", cursor: 1, suggestion: { value: \"!\", description: \"not\" } },\n];\nTObject.completor = [];\n//# sourceMappingURL=Object.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.String = void 0;\nconst Base_1 = require(\"./Base\");\nconst Completion_1 = require(\"./Completion\");\nclass String extends Base_1.Base {\n constructor(input) {\n super();\n this.class = \"string\";\n if (input)\n this.value = input;\n }\n complete(input, baseObject, type) {\n var _a, _b, _c, _d, _e, _f;\n const tokens = typeof input == \"string\" ? this.tokenize(input) : input;\n let result;\n if (type)\n result = ((_a = this.value) === null || _a === void 0 ? void 0 : _a.startsWith((_c = (_b = tokens[0]) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : \"\"))\n ? [{ value: this.value, suggestion: { value: this.value } }]\n : undefined;\n else\n result =\n tokens.length == 0 || tokens[0].value != \":\"\n ? undefined\n : ((_d = this.value) === null || _d === void 0 ? void 0 : _d.startsWith((_f = (_e = tokens[1]) === null || _e === void 0 ? void 0 : _e.value) !== null && _f !== void 0 ? _f : \"\"))\n ? [Completion_1.Completion.prepend(\":\", { value: this.value, suggestion: { value: this.value } })]\n : undefined;\n return [\n ...(result !== null && result !== void 0 ? result : []),\n ...(type ? [] : String.completor)\n .flatMap(p => p(tokens, this, baseObject))\n .reduce((result, element) => result.some(p => p.value == element.value && p.cursor == element.cursor) ? result : [...result, element], []),\n ];\n }\n isType(value) {\n return typeof value.value == \"string\";\n }\n static add(...pattern) {\n this.completor.push(...pattern);\n }\n static is(value) {\n return value instanceof String;\n }\n}\nexports.String = String;\nString.completor = [];\n//# sourceMappingURL=String.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Union = void 0;\nconst Base_1 = require(\"./Base\");\nclass Union extends Base_1.Base {\n constructor(type) {\n super();\n this.type = type;\n this.class = \"union\";\n }\n complete(input, baseObject, type) {\n var _a;\n const tokens = typeof input == \"string\" ? this.tokenize(input) : input;\n return this.type ? (_a = this.type) === null || _a === void 0 ? void 0 : _a.flatMap(t => { var _a; return (_a = t === null || t === void 0 ? void 0 : t.complete(tokens, baseObject, type)) !== null && _a !== void 0 ? _a : []; }) : [];\n }\n isType(value) {\n return value instanceof Union;\n }\n static is(value) {\n return value instanceof Union;\n }\n}\nexports.Union = Union;\n//# sourceMappingURL=Union.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Type = void 0;\nconst Array_1 = require(\"./Array\");\nconst Boolean_1 = require(\"./Boolean\");\nconst Completion_1 = require(\"./Completion\");\nconst Completor_1 = require(\"./Completor\");\nconst Number_1 = require(\"./Number\");\nconst Object_1 = require(\"./Object\");\nconst String_1 = require(\"./String\");\nconst Union_1 = require(\"./Union\");\nvar Type;\n(function (Type) {\n function complete(template, input) {\n const completions = template.complete(input);\n return completions\n .filter(c => { var _a; return !input.includes(c.value) && ((_a = c.suggestion) === null || _a === void 0 ? void 0 : _a.value); })\n .map(c => {\n var _a, _b, _c;\n return ({\n full: c.value,\n cursor: (_a = c === null || c === void 0 ? void 0 : c.cursor) !== null && _a !== void 0 ? _a : c.value.length,\n addon: (_b = c === null || c === void 0 ? void 0 : c.suggestion) === null || _b === void 0 ? void 0 : _b.value,\n description: (_c = c === null || c === void 0 ? void 0 : c.suggestion) === null || _c === void 0 ? void 0 : _c.description,\n });\n });\n }\n Type.complete = complete;\n function convert(value) {\n let result;\n switch (typeof value) {\n case \"object\":\n result = global.Array.isArray(value)\n ? new Array_1.Array(value.map(e => convert(e)))\n : new Object_1.TObject(global.Object.entries(value).reduce((r, c) => {\n return Object.assign(Object.assign({}, r), { [c[0]]: convert(c[1]) });\n }, {}));\n break;\n case \"string\":\n result = new String_1.String(value);\n break;\n default:\n result = new Number_1.Number(value);\n break;\n }\n return result;\n }\n Type.convert = convert;\n Type.Array = Array_1.Array;\n Type.Boolean = Boolean_1.Boolean;\n Type.Completion = Completion_1.Completion;\n Type.Object = Object_1.TObject;\n Type.String = String_1.String;\n Type.Number = Number_1.Number;\n Type.Union = Union_1.Union;\n Type.Completor = Completor_1.Completor;\n})(Type = exports.Type || (exports.Type = {}));\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.endsWith = exports.EndsWith = void 0;\nconst Rule_1 = require(\"./Rule\");\nconst Type_1 = require(\"./Type\");\nconst Completor_1 = require(\"./Type/Completor\");\nclass EndsWith extends Rule_1.Rule {\n constructor(needle) {\n super();\n this.needle = needle;\n this.precedence = Number.MAX_SAFE_INTEGER;\n this.class = \"EndsWith\";\n }\n is(value) {\n return typeof value == \"string\" && value.endsWith(this.needle);\n }\n toString() {\n return `*${this.needle}`;\n }\n}\nexports.EndsWith = EndsWith;\nfunction endsWith(needle, value) {\n const result = new EndsWith(needle);\n return value ? result.is(value) : result;\n}\nexports.endsWith = endsWith;\nfunction complete(tokens, string) {\n return Completor_1.Completor.expressions(tokens, (tokens) => {\n var _a, _b, _c, _d;\n return !tokens || (tokens[0].value == \"*\" && string.value && string.value.endsWith((_b = (_a = tokens[1]) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : \"\"))\n ? [Type_1.Type.Completion.prepend(\"*\", { value: (_c = string === null || string === void 0 ? void 0 : string.value) !== null && _c !== void 0 ? _c : \"\", suggestion: { value: (_d = string === null || string === void 0 ? void 0 : string.value) !== null && _d !== void 0 ? _d : \"\" } })]\n : [];\n }, { value: \"*\", suggestion: { value: \"*\", description: \"endswith\" } });\n}\nType_1.Type.String.add(complete);\n//# sourceMappingURL=EndsWith.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.every = exports.Every = void 0;\nconst Rule_1 = require(\"./Rule\");\nconst Type_1 = require(\"./Type\");\nconst Completor_1 = require(\"./Type/Completor\");\nclass Every extends Rule_1.Rule {\n constructor(criteria) {\n super();\n this.criteria = criteria;\n this.precedence = 100;\n this.class = \"Every\";\n }\n is(value) {\n return Array.isArray(value) && value.every(v => this.criteria.is(v));\n }\n toString() {\n return `every(${this.criteria.toString()})`;\n }\n}\nexports.Every = Every;\nfunction every(criteria, value) {\n const result = new Every((0, Rule_1.create)(criteria));\n return value ? result.is(value) : result;\n}\nexports.every = every;\nfunction complete(tokens, type) {\n const arrayArgumentor = (tokens) => type.array.some(Type_1.Type.String.is) && tokens\n ? type.array\n .filter(Type_1.Type.String.is)\n .map(p => p.complete([{ value: \":\" }, ...tokens]))\n .reduce((result, element) => Array.isArray(element) ? result.concat(element) : element ? [...result, element] : result, [])\n : !tokens && type.array.some(Type_1.Type.String.is)\n ? type.array.filter(Type_1.Type.String.is).map(e => { var _a; return ({ value: (_a = e === null || e === void 0 ? void 0 : e.value) !== null && _a !== void 0 ? _a : \"\" }); })\n : type.array.some(Type_1.Type.Number.is) && tokens\n ? type.array\n .filter(Type_1.Type.Number.is)\n .map(e => e.complete(tokens))\n .reduce((result, element) => Array.isArray(element) ? result.concat(element) : element ? [...result, element] : result, [])\n : !tokens && type.array.some(Type_1.Type.Number.is)\n ? type.array.filter(Type_1.Type.Number.is).map(e => { var _a; return ({ value: ((_a = e === null || e === void 0 ? void 0 : e.value) !== null && _a !== void 0 ? _a : \"\").toString() }); })\n : [];\n return Completor_1.Completor.functions(tokens, arrayArgumentor, {\n value: \"every()\",\n cursor: 6,\n suggestion: { value: \"every()\" },\n });\n}\nType_1.Type.Array.add(complete);\n//# sourceMappingURL=Every.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isType = exports.FunctionCall = void 0;\nconst Rule_1 = require(\"./Rule\");\nclass FunctionCall extends Rule_1.Rule {\n constructor(identifier, argument, definition) {\n super();\n this.identifier = identifier;\n this.argument = argument;\n this.definition = definition;\n this.precedence = 85;\n this.class = \"FunctionCall\";\n }\n is(value) {\n var _a, _b;\n return (_b = (_a = this.definition) === null || _a === void 0 ? void 0 : _a.is(value)) !== null && _b !== void 0 ? _b : true;\n }\n toString() {\n return `${this.identifier}(${this.argument.join(\", \")})`;\n }\n}\nexports.FunctionCall = FunctionCall;\nfunction isType(value) {\n return typeof value == \"object\" && (value === null || value === void 0 ? void 0 : value.class) == \"FunctionCall\";\n}\nexports.isType = isType;\n//# sourceMappingURL=FunctionCall.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Expression = void 0;\nclass Expression {\n stringify(precedence = 0) {\n let result = this.toString();\n if (this.precedence < precedence)\n result = \"(\" + result + \")\";\n return result;\n }\n}\nexports.Expression = Expression;\n//# sourceMappingURL=Expression.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Value = void 0;\nconst Expression_1 = require(\"./Expression\");\nclass Value extends Expression_1.Expression {\n constructor(value, name) {\n super();\n this.name = name;\n this.precedence = Value.precedence;\n this.class = \"Value\";\n if (typeof value == \"string\")\n this.value = isNaN(+value.replace(\",\", \".\")) ? value : +value.replace(\",\", \".\");\n else\n this.value = value;\n }\n toString() {\n var _a;\n return this.name ? `${(_a = this.name) === null || _a === void 0 ? void 0 : _a.toString()}.` + this.value.toString() : this.value.toString();\n }\n evaluate(variable) {\n return variable ? this.get(variable) : +this.value;\n }\n get(variable) {\n return typeof this.value == \"string\"\n ? +variable[this.value]\n : this.name && typeof this.value == \"object\"\n ? this.value.get(variable[this.name])\n : +this.value;\n }\n static create(value, name) {\n return new Value(value, name);\n }\n}\nexports.Value = Value;\nValue.precedence = 19;\n//# sourceMappingURL=Value.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.greaterThan = exports.GreaterThan = void 0;\nconst Rule_1 = require(\"./Rule\");\nconst Type_1 = require(\"./Type\");\nconst Value_1 = require(\"./Value\");\nclass GreaterThan extends Rule_1.Rule {\n constructor(value) {\n super();\n this.value = value;\n this.precedence = 85;\n this.class = \"GreaterThan\";\n this.symbol = \">\";\n }\n is(value, object) {\n return ((isNaN(+value) ? value : +value) >\n ((this.value instanceof Value_1.Value && typeof this.value.value == \"string\" && this.value.value.includes(\"-\")) ||\n typeof this.value != \"object\"\n ? this.value\n : this.value.evaluate(object)));\n }\n toString() {\n return this.value.toString();\n }\n}\nexports.GreaterThan = GreaterThan;\nfunction greaterThan(criteria, value) {\n const result = new GreaterThan(criteria);\n return value ? result.is(value) : result;\n}\nexports.greaterThan = greaterThan;\nfunction complete(tokens, type, baseObject) {\n return Type_1.Type.Completor.operators(tokens, (tokens) => (tokens && baseObject ? baseObject === null || baseObject === void 0 ? void 0 : baseObject.complete(tokens, undefined, type) : []), {\n value: \">\",\n suggestion: { value: \">\" },\n });\n}\nType_1.Type.Number.add(complete);\nType_1.Type.String.add(complete);\n//# sourceMappingURL=GreaterThan.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.greaterThanOrEqual = exports.GreaterThanOrEqual = void 0;\nconst Rule_1 = require(\"./Rule\");\nconst Type_1 = require(\"./Type\");\nconst Value_1 = require(\"./Value\");\nclass GreaterThanOrEqual extends Rule_1.Rule {\n constructor(value) {\n super();\n this.value = value;\n this.precedence = 85;\n this.class = \"GreaterThanOrEqual\";\n this.symbol = \">=\";\n }\n is(value, object) {\n return ((isNaN(+value) ? value : +value) >=\n ((this.value instanceof Value_1.Value && typeof this.value.value == \"string\" && this.value.value.includes(\"-\")) ||\n typeof this.value != \"object\"\n ? this.value\n : this.value.evaluate(object)));\n }\n toString() {\n return this.value.toString();\n }\n}\nexports.GreaterThanOrEqual = GreaterThanOrEqual;\nfunction greaterThanOrEqual(criteria, value) {\n const result = new GreaterThanOrEqual(criteria);\n return value ? result.is(value) : result;\n}\nexports.greaterThanOrEqual = greaterThanOrEqual;\nfunction complete(tokens, type, baseObject) {\n return Type_1.Type.Completor.operators(tokens, (tokens) => (tokens && baseObject ? baseObject === null || baseObject === void 0 ? void 0 : baseObject.complete(tokens, undefined, type) : []), {\n value: \">=\",\n suggestion: { value: \">=\" },\n });\n}\nType_1.Type.Number.add(complete);\nType_1.Type.String.add(complete);\n//# sourceMappingURL=GreaterThanOrEqual.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.has = exports.Has = void 0;\nconst Rule_1 = require(\"./Rule\");\nconst Type_1 = require(\"./Type\");\nconst Completor_1 = require(\"./Type/Completor\");\nclass Has extends Rule_1.Rule {\n constructor(property) {\n super();\n this.property = property;\n this.precedence = 85;\n this.class = \"Has\";\n }\n is(value, property) {\n return typeof value == \"object\" && value\n ? Object.entries(value).some(e => {\n property = typeof property == \"string\" ? property : this.property;\n return e[0] == property\n ? true\n : typeof e[1] == \"object\" && e[1]\n ? this.is(e[1], property.includes(\".\") && property.split(\".\")[0] == e[0] ? property.split(\".\")[1] : undefined)\n : false;\n })\n : false;\n }\n toString() {\n return `has(${this.property})`;\n }\n}\nexports.Has = Has;\nfunction has(criteria, value) {\n const result = new Has(criteria);\n return value ? result.is(value) : result;\n}\nexports.has = has;\nfunction complete(tokens, type, baseObject) {\n return baseObject && (type === null || type === void 0 ? void 0 : type.class) == \"object\"\n ? Completor_1.Completor.functions(tokens, (tokens) => type.completions.filter(c => c.value.startsWith(tokens ? tokens[0].value : \"\")), {\n value: \"has()\",\n cursor: 4,\n suggestion: { value: \"has()\" },\n })\n : [];\n}\nType_1.Type.Object.add(complete);\n//# sourceMappingURL=Has.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.includes = exports.Includes = void 0;\nconst Rule_1 = require(\"./Rule\");\nconst Type_1 = require(\"./Type\");\nconst Completor_1 = require(\"./Type/Completor\");\nclass Includes extends Rule_1.Rule {\n constructor(needle) {\n super();\n this.needle = needle;\n this.precedence = Number.MAX_SAFE_INTEGER;\n this.class = \"Includes\";\n }\n is(value) {\n return typeof value == \"string\" && value.includes(this.needle);\n }\n toString() {\n return `*${this.needle}*`;\n }\n}\nexports.Includes = Includes;\nfunction includes(needle, value) {\n const result = new Includes(needle);\n return value ? result.is(value) : result;\n}\nexports.includes = includes;\nfunction complete(tokens, string) {\n return Completor_1.Completor.expressions(tokens, (tokens) => {\n var _a, _b, _c;\n return !tokens ||\n (tokens.length == 3 && ((_a = string.value) === null || _a === void 0 ? void 0 : _a.includes(tokens[1].value)) && string.value != tokens[1].value) ||\n (tokens.length == 2 && tokens[0].value + tokens[1].value == \"**\")\n ? [\n Type_1.Type.Completion.prepend(\"*\", { value: (_b = string === null || string === void 0 ? void 0 : string.value) !== null && _b !== void 0 ? _b : \"\", suggestion: { value: (_c = string === null || string === void 0 ? void 0 : string.value) !== null && _c !== void 0 ? _c : \"\" } }, \"*\"),\n ]\n : tokens.length == 1 && tokens[0].value == \"*\"\n ? [{ value: \"**\", suggestion: { value: \"**\", description: \"includes\" } }]\n : [];\n }, { value: \"**\", cursor: 1, suggestion: { value: \"**\", description: \"includes\" } });\n}\nType_1.Type.String.add(complete);\n//# sourceMappingURL=Includes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.some = exports.Some = void 0;\nconst Rule_1 = require(\"./Rule\");\nconst Type_1 = require(\"./Type\");\nclass Some extends Rule_1.Rule {\n constructor(criteria) {\n super();\n this.criteria = criteria;\n this.precedence = 100;\n this.class = \"Some\";\n }\n is(value) {\n return Array.isArray(value) && value.some(v => this.criteria.is(v));\n }\n toString() {\n return `some(${this.criteria.toString()})`;\n }\n}\nexports.Some = Some;\nfunction some(criteria, value) {\n const result = new Some((0, Rule_1.create)(criteria));\n return value ? result.is(value) : result;\n}\nexports.some = some;\nfunction complete(tokens, type, baseObject) {\n return tokens.length == 0\n ? [{ value: \":\", suggestion: { value: \":\" } }]\n : tokens[0].value != \":\"\n ? []\n : tokens.length == 1 && tokens[0].value == \":\"\n ? Type_1.Type.Completion.prepend(\":\", type.array\n .filter(Type_1.Type.String.is)\n .filter(e => e.value && e.value != \"string\")\n .map(e => { var _a, _b; return ({ value: (_a = e === null || e === void 0 ? void 0 : e.value) !== null && _a !== void 0 ? _a : \"\", suggestion: { value: (_b = e === null || e === void 0 ? void 0 : e.value) !== null && _b !== void 0 ? _b : \"\" } }); }))\n : tokens.length == 2 && tokens[0].value == \":\"\n ? Type_1.Type.Completion.prepend(\":\", type.array\n .filter(Type_1.Type.String.is)\n .filter(e => e.value && e.value != \"string\" && e.value.startsWith(tokens[1].value))\n .map(e => { var _a, _b; return ({ value: (_a = e === null || e === void 0 ? void 0 : e.value) !== null && _a !== void 0 ? _a : \"\", suggestion: { value: (_b = e === null || e === void 0 ? void 0 : e.value) !== null && _b !== void 0 ? _b : \"\" } }); }))\n : [];\n}\nType_1.Type.Array.add(complete);\n//# sourceMappingURL=Some.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.is = exports.Is = void 0;\nconst Criteria_1 = require(\"./Criteria\");\nconst Rule_1 = require(\"./Rule\");\nconst Some_1 = require(\"./Some\");\nclass Is extends Rule_1.Rule {\n constructor(value) {\n super();\n this.value = value;\n this.precedence = Number.MAX_SAFE_INTEGER;\n this.class = \"Is\";\n this.symbol = \":\";\n }\n is(value, object) {\n return Array.isArray(value) && (0, Criteria_1.isCriteria)(this.value)\n ? (0, Some_1.some)(this.value, value)\n : (typeof value == \"boolean\" ? value.toString() : isNaN(+value) ? value : +value) ==\n (typeof this.value == \"object\" ? this.value.evaluate(object) : this.value);\n }\n toString() {\n return this.value.toString();\n }\n}\nexports.Is = Is;\nfunction is(criteria, value) {\n const result = new Is(criteria);\n return value ? result.is(value) : result;\n}\nexports.is = is;\n(0, Rule_1.add)(criteria => typeof criteria == \"bigint\" ||\n typeof criteria == \"boolean\" ||\n typeof criteria == \"number\" ||\n typeof criteria == \"string\"\n ? new Is(criteria)\n : undefined);\n//# sourceMappingURL=Is.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.lesserThan = exports.LesserThan = void 0;\nconst Rule_1 = require(\"./Rule\");\nconst Type_1 = require(\"./Type\");\nconst Value_1 = require(\"./Value\");\nclass LesserThan extends Rule_1.Rule {\n constructor(value) {\n super();\n this.value = value;\n this.precedence = 85;\n this.class = \"LesserThan\";\n this.symbol = \"<\";\n }\n is(value, object) {\n return ((isNaN(+value) ? value : +value) <\n ((this.value instanceof Value_1.Value && typeof this.value.value == \"string\" && this.value.value.includes(\"-\")) ||\n typeof this.value != \"object\"\n ? this.value\n : this.value.evaluate(object)));\n }\n toString() {\n return this.value.toString();\n }\n}\nexports.LesserThan = LesserThan;\nfunction lesserThan(criteria, value) {\n const result = new LesserThan(criteria);\n return value ? result.is(value) : result;\n}\nexports.lesserThan = lesserThan;\nfunction complete(tokens, type, baseObject) {\n return Type_1.Type.Completor.operators(tokens, (tokens) => (tokens && baseObject ? baseObject === null || baseObject === void 0 ? void 0 : baseObject.complete(tokens, undefined, type) : []), {\n value: \"<\",\n suggestion: { value: \"<\" },\n });\n}\nType_1.Type.Number.add(complete);\nType_1.Type.String.add(complete);\n//# sourceMappingURL=LesserThan.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.lesserThanOrEqual = exports.LesserThanOrEqual = void 0;\nconst Rule_1 = require(\"./Rule\");\nconst Type_1 = require(\"./Type\");\nconst Value_1 = require(\"./Value\");\nclass LesserThanOrEqual extends Rule_1.Rule {\n constructor(value) {\n super();\n this.value = value;\n this.precedence = 85;\n this.class = \"LesserThanOrEqual\";\n this.symbol = \"<=\";\n }\n is(value, object) {\n return ((isNaN(+value) ? value : +value) <=\n ((this.value instanceof Value_1.Value && typeof this.value.value == \"string\" && this.value.value.includes(\"-\")) ||\n typeof this.value != \"object\"\n ? this.value\n : this.value.evaluate(object)));\n }\n toString() {\n return this.value.toString();\n }\n}\nexports.LesserThanOrEqual = LesserThanOrEqual;\nfunction lesserThanOrEqual(criteria, value) {\n const result = new LesserThanOrEqual(criteria);\n return value ? result.is(value) : result;\n}\nexports.lesserThanOrEqual = lesserThanOrEqual;\nfunction complete(tokens, type, baseObject) {\n return Type_1.Type.Completor.operators(tokens, (tokens) => (tokens && baseObject ? baseObject === null || baseObject === void 0 ? void 0 : baseObject.complete(tokens, undefined, type) : []), {\n value: \"<=\",\n suggestion: { value: \"<=\" },\n });\n}\nType_1.Type.Number.add(complete);\nType_1.Type.String.add(complete);\n//# sourceMappingURL=LesserThanOrEqual.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.match = exports.Match = void 0;\nconst Rule_1 = require(\"./Rule\");\nconst Type_1 = require(\"./Type\");\nconst Completor_1 = require(\"./Type/Completor\");\nclass Match extends Rule_1.Rule {\n constructor(criteria) {\n super();\n this.criteria = criteria;\n this.precedence = Number.MAX_SAFE_INTEGER;\n this.class = \"Match\";\n }\n is(value) {\n return typeof value == \"string\" && this.criteria.test(value);\n }\n toString() {\n return `/${this.criteria}/`;\n }\n}\nexports.Match = Match;\nfunction match(criteria) {\n return new Match(criteria);\n}\nexports.match = match;\nfunction complete(tokens, string) {\n return Completor_1.Completor.expressions(tokens, (tokens) => {\n return tokens && (tokens === null || tokens === void 0 ? void 0 : tokens.length) == 1 && tokens[0].value == \"/\" ? [{ value: \"//\", cursor: 1 }] : [];\n }, { value: \"//\", cursor: 1, suggestion: { value: \"//\", description: \"match\" } });\n}\nType_1.Type.String.add(complete);\n//# sourceMappingURL=Match.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.not = exports.Not = void 0;\nconst Rule_1 = require(\"./Rule\");\nconst Type_1 = require(\"./Type\");\nconst Completor_1 = require(\"./Type/Completor\");\nclass Not extends Rule_1.Rule {\n constructor(criteria) {\n super();\n this.criteria = criteria;\n this.precedence = Not.precedence;\n this.class = \"Not\";\n }\n is(value) {\n return !this.criteria.is(value);\n }\n toString() {\n return `!${this.criteria.stringify(this.precedence)}`;\n }\n}\nexports.Not = Not;\nNot.precedence = 90;\nfunction not(criteria, value) {\n const result = new Not((0, Rule_1.create)(criteria));\n return value ? result.is(value) : result;\n}\nexports.not = not;\nfunction complete(tokens, type, baseObject) {\n return type && type.class != \"object\" && baseObject\n ? Completor_1.Completor.expressions(tokens, (tokens) => {\n return tokens[0].value != \"!\"\n ? []\n : Type_1.Type.Completion.prepend(\"!\", type.complete(tokens.slice(1), baseObject, type));\n }, { value: \"!\", cursor: 1, suggestion: { value: \"!\", description: \"not\" } })\n : [];\n}\nType_1.Type.String.add(complete);\nType_1.Type.Number.add(complete);\nType_1.Type.Boolean.add(complete);\nType_1.Type.Object.add(complete);\n//# sourceMappingURL=Not.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.or = exports.Or = void 0;\nconst Rule_1 = require(\"./Rule\");\nconst Type_1 = require(\"./Type\");\nclass Or extends Rule_1.Rule {\n constructor(criterias) {\n super();\n this.precedence = Or.precedence;\n this.class = \"Or\";\n this.criteria = criterias.reduce((r, c) => (c instanceof Or ? [...r, ...c.criteria] : [...r, c]), []);\n }\n is(value) {\n return this.criteria.some(c => c.is(value));\n }\n toString() {\n return this.criteria.map(c => c.stringify(this.precedence)).join(\" | \");\n }\n}\nexports.Or = Or;\nOr.precedence = 30;\nfunction or(...criterias) {\n return new Or(criterias.map(Rule_1.create));\n}\nexports.or = or;\nfunction complete(tokens, type, baseObject) {\n return Type_1.Type.Completor.operators(tokens, (tokens) => (tokens && baseObject ? baseObject === null || baseObject === void 0 ? void 0 : baseObject.complete(tokens, undefined, undefined) : []), {\n value: \" | \",\n suggestion: { value: \"|\", description: \"or\" },\n });\n}\nType_1.Type.Number.addArgument(complete);\n//# sourceMappingURL=Or.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Source = void 0;\nconst mend_1 = require(\"@cogneco/mend\");\nclass Source extends mend_1.Utilities.BufferedEnumerator {\n constructor(tokens, errorHandler) {\n super(Array.isArray(tokens) ? new mend_1.Utilities.ArrayEnumerator(tokens) : tokens);\n this.errorHandler = errorHandler;\n }\n clone(start = \"(\", end = \")\") {\n let nestingCount = 0;\n return new Source(new mend_1.Utilities.Enumerator(() => {\n let result;\n if (this.peekIs(start))\n nestingCount++;\n else if (this.peekIs(end))\n nestingCount--;\n if (nestingCount >= 0)\n result = this.fetch();\n return result;\n }), this);\n }\n peekIs(...needles) {\n return needles.every((needle, index) => {\n const peeked = this.peek(index);\n return peeked && peeked.value && Source.is(needle, peeked.value);\n });\n }\n fetchIf(...needles) {\n const result = [];\n if (this.peekIs(...needles))\n needles.forEach(_ => result.push(this.fetch()));\n return needles.length == 1\n ? result.length == 1\n ? result[0]\n : undefined\n : needles.length == result.length\n ? result\n : undefined;\n }\n mark() {\n return mend_1.Utilities.Enumerable.from(mend_1.Utilities.Enumerable.empty);\n }\n raise(message, level = mend_1.Error.Level.Critical, type = \"grammatical\", region) {\n if (typeof message == \"string\") {\n if (!region && this.last)\n region = this.last.region;\n message = new mend_1.Error.Message(message, level, type, region);\n }\n this.errorHandler.raise(message);\n }\n static is(needle, value) {\n return Array.isArray(needle)\n ? needle.some(n => Source.is(n, value))\n : typeof needle != \"string\"\n ? needle.test(value)\n : needle.startsWith(\"!\") && needle != \"!\"\n ? !Source.is(needle.substring(1), value)\n : needle == \"any\"\n ? Source.symbol.every(s => s != value)\n : needle == \"symbol\"\n ? Source.symbol.some(s => s == value)\n : needle == \"identifier\"\n ? /[A-Za-z][A-Za-z0-9_]*/.test(value)\n : needle == value;\n }\n}\nexports.Source = Source;\nSource.wildcard = [\"*\", \"?\"];\nSource.separator = [\"(\", \")\", \".\"];\nSource.operator = [\"!\", \"|\"];\nSource.comparator = [\"<\", \"<=\", \">\", \">=\", \":\"];\nSource.binaryOperator = [\" * \", \" + \", \" - \"];\nSource.symbol = [...Source.wildcard, ...Source.separator, ...Source.operator, ...Source.comparator];\n//# sourceMappingURL=Source.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.add = exports.parseNext = exports.parse = void 0;\nconst mend_1 = require(\"@cogneco/mend\");\nconst And_1 = require(\"../And\");\nconst lexer = require(\"../lexer\");\nconst Or_1 = require(\"../Or\");\nconst Rule_1 = require(\"../Rule\");\nconst Source_1 = require(\"./Source\");\nfunction parse(source, handler) {\n if (typeof source == \"string\") {\n handler = handler || new mend_1.Error.ConsoleHandler();\n const tokens = lexer.tokenize(source, handler).toArray();\n source = new Source_1.Source(tokens, handler);\n }\n handler = handler instanceof Rule_1.Rule ? handler : undefined;\n const result = [];\n while (source.peek()) {\n if (source.fetchIf(\"|\"))\n result[result.length - 1] = new Or_1.Or([result[result.length - 1], parseNext(0, source)]);\n else\n result.push(parseNext(0, source));\n }\n return result.length == 1 ? result[0] : new And_1.And(result);\n}\nexports.parse = parse;\nfunction parseNext(previous, source) {\n let result;\n const precedenceTest = typeof previous == \"number\" ? p => previous < p : p => previous.precedence > p;\n const left = typeof previous == \"number\" ? undefined : previous;\n for (const parser of parsers)\n if (precedenceTest(parser[1] || Number.MAX_SAFE_INTEGER)) {\n const r = parser[0](source, left);\n if (r) {\n result = parseNext(r, source);\n break;\n }\n }\n return result || left || new And_1.And([]);\n}\nexports.parseNext = parseNext;\nconst parsers = [];\nfunction add(parser, precedence) {\n parsers.push([parser, precedence]);\n}\nexports.add = add;\n//# sourceMappingURL=parse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.addExpression = exports.parseNextExpression = exports.parseExpression = void 0;\nconst mend_1 = require(\"@cogneco/mend\");\nconst Expression_1 = require(\"../Expression\");\nconst lexer = require(\"../lexer\");\nconst Value_1 = require(\"../Value\");\nconst Source_1 = require(\"./Source\");\nfunction parseExpression(source, handler) {\n if (typeof source == \"string\") {\n handler = handler || new mend_1.Error.ConsoleHandler();\n const tokens = lexer.tokenize(source, handler).toArray();\n source = new Source_1.Source(tokens, handler);\n }\n handler = handler instanceof Expression_1.Expression ? handler : undefined;\n let result;\n let algebra = false;\n let comparator = false;\n while (!result != algebra && !comparator && source.peek()) {\n let i = 1;\n algebra = false;\n comparator = false;\n while (!algebra && !comparator && source.peek(i)) {\n algebra = Source_1.Source.binaryOperator.some(c => { var _a; return ((_a = source.peek(i)) === null || _a === void 0 ? void 0 : _a.value) == c; });\n comparator = Source_1.Source.comparator.some(c => { var _a; return ((_a = source.peek(i)) === null || _a === void 0 ? void 0 : _a.value) == c; });\n i++;\n }\n result = parseNextExpression(result !== null && result !== void 0 ? result : Number.MAX_SAFE_INTEGER, source);\n }\n if (!result)\n source.raise(\"Missing Expression\");\n return result !== null && result !== void 0 ? result : new Value_1.Value(NaN);\n}\nexports.parseExpression = parseExpression;\nfunction parseNextExpression(previous, source) {\n let result;\n const left = typeof previous == \"number\" ? undefined : previous;\n for (const expressionParser of expressionParsers) {\n const r = expressionParser[0](source, previous);\n if (r) {\n result = r;\n break;\n }\n }\n return result || left;\n}\nexports.parseNextExpression = parseNextExpression;\nconst expressionParsers = [];\nfunction addExpression(expressionParser, precedence) {\n expressionParsers.push([expressionParser, precedence]);\n}\nexports.addExpression = addExpression;\n//# sourceMappingURL=Expression.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Every_1 = require(\"../Every\");\nconst parse_1 = require(\"./parse\");\n(0, parse_1.add)(source => {\n const result = source.fetchIf(\":\", \"every\", \"(\") && new Every_1.Every((0, parse_1.parse)(source.clone()));\n if (result && !source.fetchIf(\")\"))\n source.raise(\"Missing end of parenthesis.\");\n return result;\n});\n//# sourceMappingURL=Every.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Some_1 = require(\"../Some\");\nconst parse_1 = require(\"./parse\");\n(0, parse_1.add)(source => {\n const result = source.fetchIf(\":\", \"some\", \"(\") && new Some_1.Some((0, parse_1.parse)(source.clone()));\n if (result && !source.fetchIf(\")\"))\n source.raise(\"Missing end of parenthesis.\");\n return result;\n});\n//# sourceMappingURL=Some.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Expression_1 = require(\"./Expression\");\nconst parse_1 = require(\"./parse\");\n(0, parse_1.add)(getAdder(parse_1.parse));\n(0, Expression_1.addExpression)(getAdder(Expression_1.parseExpression));\nfunction getAdder(parser) {\n return (source) => {\n const result = source.fetchIf(\"(\") && parser(source.clone());\n if (result && !source.fetchIf(\")\"))\n source.raise(\"Missing end of parenthesis.\");\n return result;\n };\n}\n//# sourceMappingURL=group.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst GreaterThan_1 = require(\"../GreaterThan\");\nconst Expression_1 = require(\"./Expression\");\nconst parse_1 = require(\"./parse\");\n(0, parse_1.add)(source => {\n return source.fetchIf(\">\") && new GreaterThan_1.GreaterThan((0, Expression_1.parseExpression)(source));\n});\n//# sourceMappingURL=GreaterThan.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst GreaterThanOrEqual_1 = require(\"../GreaterThanOrEqual\");\nconst Expression_1 = require(\"./Expression\");\nconst parse_1 = require(\"./parse\");\n(0, parse_1.add)(source => {\n return source.fetchIf(\">=\") && new GreaterThanOrEqual_1.GreaterThanOrEqual((0, Expression_1.parseExpression)(source));\n});\n//# sourceMappingURL=GreaterThanOrEqual.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst LesserThan_1 = require(\"../LesserThan\");\nconst Expression_1 = require(\"./Expression\");\nconst parse_1 = require(\"./parse\");\n(0, parse_1.add)(source => {\n return source.fetchIf(\"<\") && new LesserThan_1.LesserThan((0, Expression_1.parseExpression)(source));\n});\n//# sourceMappingURL=LesserThan.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst LesserThanOrEqual_1 = require(\"../LesserThanOrEqual\");\nconst Expression_1 = require(\"./Expression\");\nconst parse_1 = require(\"./parse\");\n(0, parse_1.add)(source => {\n return source.fetchIf(\"<=\") && new LesserThanOrEqual_1.LesserThanOrEqual((0, Expression_1.parseExpression)(source));\n});\n//# sourceMappingURL=LesserThanOrEqual.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Not_1 = require(\"../Not\");\nconst parse_1 = require(\"./parse\");\n(0, parse_1.add)(source => source.fetchIf(\"!\") && new Not_1.Not((0, parse_1.parseNext)(Not_1.Not.precedence, source)));\n//# sourceMappingURL=Not.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Has_1 = require(\"../Has\");\nconst parse_1 = require(\"./parse\");\n(0, parse_1.add)(source => {\n const fetched = source.fetchIf(\"has\", \"(\", \"any\", \")\") || source.fetchIf(\":\", \"has\", \"(\", \"any\", \")\");\n return fetched && new Has_1.Has(fetched.length == 4 ? fetched[2].value : fetched[3].value);\n});\n//# sourceMappingURL=Has.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.within = exports.Within = void 0;\nconst Rule_1 = require(\"./Rule\");\nconst Type_1 = require(\"./Type\");\nconst Completor_1 = require(\"./Type/Completor\");\nclass Within extends Rule_1.Rule {\n constructor(value) {\n super();\n this.value = value;\n this.precedence = 85;\n this.class = \"Within\";\n }\n is(value) {\n return this.value.includes(value);\n }\n toString() {\n return `within(${this.value.join(\", \")})`;\n }\n}\nexports.Within = Within;\nfunction within(criteria, value) {\n const result = new Within(criteria);\n return value ? result.is(value) : result;\n}\nexports.within = within;\nfunction complete(tokens, type, baseObject) {\n return baseObject && (type === null || type === void 0 ? void 0 : type.class)\n ? Completor_1.Completor.functions(tokens, (tokens) => [], {\n value: \"within()\",\n cursor: 7,\n suggestion: { value: \"within()\" },\n })\n : [];\n}\nType_1.Type.String.add(complete);\nType_1.Type.Number.add(complete);\n//# sourceMappingURL=Within.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Within_1 = require(\"../Within\");\nconst parse_1 = require(\"./parse\");\n(0, parse_1.add)(source => {\n var _a, _b, _c, _d;\n const fetched = source.fetchIf(\":\", \"within\", \"(\");\n let parameters;\n if (fetched && source.peek()) {\n parameters = [(_b = (_a = source.fetch()) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : \"\"];\n while (source.fetchIf(\",\"))\n parameters.push((_d = (_c = source.fetchIf(\"any\")) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : \"\");\n if (!source.fetchIf(\")\"))\n source.raise(\"Missing end of parenthesis.\");\n }\n return fetched && parameters ? new Within_1.Within(parameters) : undefined;\n});\n//# sourceMappingURL=Within.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst FunctionCall_1 = require(\"../FunctionCall\");\nconst parse_1 = require(\"./parse\");\n(0, parse_1.add)(source => {\n var _a, _b, _c, _d, _e, _f;\n const peek = (_a = source.peek(3)) === null || _a === void 0 ? void 0 : _a.value;\n const fetched = [\")\", \",\", \"(\"].find(s => s == peek) || ((_b = source.peek(2)) === null || _b === void 0 ? void 0 : _b.value) == \")\" ? source.fetchIf(\"identifier\", \"(\") : undefined;\n let parameters;\n if (fetched && source.peek()) {\n parameters = [(_d = (_c = source.fetchIf(/[A-Za-z0-9_\\.\\-]+/)) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : \"\"];\n while (source.fetchIf(\",\"))\n parameters.push((_f = (_e = source.fetchIf(/[A-Za-z0-9_\\.\\-]+/)) === null || _e === void 0 ? void 0 : _e.value) !== null && _f !== void 0 ? _f : \"\");\n if (!source.fetchIf(\")\"))\n source.raise(\"Missing end of parenthesis.\");\n }\n return fetched && parameters ? new FunctionCall_1.FunctionCall(fetched[0].value, parameters) : undefined;\n});\n//# sourceMappingURL=FunctionCall.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.property = exports.Property = void 0;\nconst And_1 = require(\"./And\");\nconst Rule_1 = require(\"./Rule\");\nclass Property extends Rule_1.Rule {\n constructor(name, criteria) {\n super();\n this.name = name;\n this.criteria = criteria;\n this.precedence = Property.precedence;\n this.class = \"Property\";\n this.symbol = \".\";\n }\n is(value, object) {\n return typeof value == \"object\" && this.criteria.is(value[this.name], object !== null && object !== void 0 ? object : value);\n }\n toString() {\n var _a;\n return `${this.name}${(_a = this.criteria.symbol) !== null && _a !== void 0 ? _a : \":\"}${this.criteria.stringify(this.precedence)}`;\n }\n}\nexports.Property = Property;\nProperty.precedence = 80;\nfunction property(name, criteria, value) {\n const result = (Array.isArray(name) ? name : [name]).reduceRight((r, p) => new Property(p, r), (0, Rule_1.create)(criteria));\n return value ? result.is(value) : result;\n}\nexports.property = property;\n(0, Rule_1.add)(criteria => typeof criteria == \"object\" && !(criteria instanceof Rule_1.Rule) && !Array.isArray(criteria)\n ? (0, And_1.and)(...Object.getOwnPropertyNames(criteria).map(p => property(p, criteria[p])))\n : undefined);\n//# sourceMappingURL=Property.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Property_1 = require(\"../Property\");\nconst parse_1 = require(\"./parse\");\nconst Source_1 = require(\"./Source\");\n(0, parse_1.add)(source => {\n const result = [];\n let fetched;\n while ((fetched = source.fetchIf(\"identifier\", \".\")))\n result.push(fetched[0].value);\n if (source.peekIs(\"identifier\", Source_1.Source.comparator) && (fetched = source.fetchIf(\"identifier\")))\n result.push(fetched.value);\n return result.length > 0\n ? result.reduceRight((r, name) => new Property_1.Property(name, r), (0, parse_1.parseNext)(Property_1.Property.precedence, source))\n : undefined;\n});\n//# sourceMappingURL=Property.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Includes_1 = require(\"../Includes\");\nconst parse_1 = require(\"./parse\");\n(0, parse_1.add)(source => {\n const fetched = source.fetchIf(\":\", \"*\", \"any\", \"*\") || source.fetchIf(\"*\", \"any\", \"*\");\n return fetched && new Includes_1.Includes(fetched.length == 4 ? fetched[2].value : fetched[1].value);\n});\n//# sourceMappingURL=Includes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startsWith = exports.StartsWith = void 0;\nconst Rule_1 = require(\"./Rule\");\nconst Type_1 = require(\"./Type\");\nconst Completor_1 = require(\"./Type/Completor\");\nclass StartsWith extends Rule_1.Rule {\n constructor(needle) {\n super();\n this.needle = needle;\n this.precedence = Number.MAX_SAFE_INTEGER;\n this.class = \"StartsWith\";\n }\n is(value) {\n return typeof value == \"string\" && value.startsWith(this.needle);\n }\n toString() {\n return `${this.needle}*`;\n }\n}\nexports.StartsWith = StartsWith;\nfunction startsWith(needle, value) {\n const result = new StartsWith(needle);\n return value ? result.is(value) : result;\n}\nexports.startsWith = startsWith;\nfunction complete(tokens, string) {\n return Completor_1.Completor.expressions(tokens, (tokens) => {\n var _a, _b, _c, _d;\n return !tokens ||\n (tokens.length == 1 && tokens[0].value == \"*\") ||\n (tokens.length == 2 &&\n tokens[1].value == \"*\" &&\n string.value &&\n string.value.startsWith((_b = (_a = tokens[0]) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : \"\"))\n ? [Type_1.Type.Completion.prepend(\"\", { value: (_c = string === null || string === void 0 ? void 0 : string.value) !== null && _c !== void 0 ? _c : \"\", suggestion: { value: (_d = string === null || string === void 0 ? void 0 : string.value) !== null && _d !== void 0 ? _d : \"\" } }, \"*\")]\n : [];\n }, { value: \"*\", cursor: 0, suggestion: { value: \"*\", description: \"startswith\" } });\n}\nType_1.Type.String.add(complete);\n//# sourceMappingURL=StartsWith.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst StartsWith_1 = require(\"../StartsWith\");\nconst parse_1 = require(\"./parse\");\n(0, parse_1.add)(source => {\n const fetched = source.fetchIf(\":\", \"any\", \"*\") || source.fetchIf(\"any\", \"*\");\n return fetched && new StartsWith_1.StartsWith((fetched === null || fetched === void 0 ? void 0 : fetched.length) == 3 ? fetched[1].value : fetched[0].value);\n});\n//# sourceMappingURL=StartsWith.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst EndsWith_1 = require(\"../EndsWith\");\nconst parse_1 = require(\"./parse\");\n(0, parse_1.add)(source => {\n const fetched = source.fetchIf(\":\", \"*\", \"any\") || source.fetchIf(\"*\", \"any\");\n return fetched && new EndsWith_1.EndsWith((fetched === null || fetched === void 0 ? void 0 : fetched.length) == 3 ? fetched[2].value : fetched[1].value);\n});\n//# sourceMappingURL=EndsWith.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InfixOperator = void 0;\nconst Expression_1 = require(\"./Expression\");\nconst Type_1 = require(\"./Type\");\nclass InfixOperator extends Expression_1.Expression {\n toString() {\n const symbol = this.symbol;\n return (this.left.stringify(InfixOperator.getPrecedence(symbol)) +\n ` ${symbol} ` +\n this.right.stringify(InfixOperator.getPrecedence(symbol)));\n }\n constructor(symbol, precedence, left, right) {\n super();\n this.precedence = precedence;\n this.left = left;\n this.right = right;\n this.class = \"InfixOperator\";\n this.symbol = symbol.replace(/ /g, \"\");\n }\n evaluate(criteria) {\n let result;\n switch (this.getSymbol()) {\n case \"+\":\n result = this.left.evaluate(criteria) + this.right.evaluate(criteria);\n break;\n case \"-\":\n result = this.left.evaluate(criteria) - this.right.evaluate(criteria);\n break;\n case \"*\":\n result = this.left.evaluate(criteria) * this.right.evaluate(criteria);\n break;\n default:\n result = NaN;\n break;\n }\n return result;\n }\n getSymbol() {\n return this.symbol;\n }\n stringify(precedence = 0) {\n let result = this.toString();\n if (this.precedence < precedence)\n result = \"(\" + result + \")\";\n return result;\n }\n static getPrecedence(symbol) {\n let result;\n symbol = symbol === null || symbol === void 0 ? void 0 : symbol.replace(/ /g, \"\");\n switch (symbol) {\n case \"+\":\n result = 14;\n break;\n case \"-\":\n result = 15;\n break;\n case \"*\":\n result = 16;\n break;\n default:\n result = undefined;\n break;\n }\n return result;\n }\n static create(symbol, left, right) {\n let result;\n const fallback = new InfixOperator(\"+\", 14, left, right);\n const precedence = InfixOperator.getPrecedence(symbol);\n if (precedence)\n result = new InfixOperator(symbol, precedence, left, right);\n return result || fallback;\n }\n}\nexports.InfixOperator = InfixOperator;\nfunction complete(tokens, type, baseObject) {\n return [\" + \", \" - \", \" * \"]\n .map(s => ({ value: s, suggestion: { value: s } }))\n .map(c => Type_1.Type.Completor.operators(tokens, (tokens) => (tokens ? baseObject.complete(tokens, undefined, type) : []), c))\n .reduce((result, element) => result.concat(element), []);\n}\nType_1.Type.Number.addArgument(complete);\n//# sourceMappingURL=InfixOperator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst InfixOperator_1 = require(\"../InfixOperator\");\nconst Expression_1 = require(\"./Expression\");\nconst Source_1 = require(\"./Source\");\n(0, Expression_1.addExpression)((source, previous) => {\n var _a, _b;\n let result;\n const symbol = source.peekIs(Source_1.Source.binaryOperator) && source.fetch().value;\n let precedence;\n if (symbol && typeof previous == \"object\") {\n let right;\n let nextPrecedence;\n let i = 0;\n precedence = InfixOperator_1.InfixOperator.getPrecedence(symbol);\n while (!nextPrecedence && source.peek(i)) {\n nextPrecedence =\n ((_a = source.peek(i)) === null || _a === void 0 ? void 0 : _a.value) == \"(\" ? Number.MAX_SAFE_INTEGER : InfixOperator_1.InfixOperator.getPrecedence((_b = source.peek(i)) === null || _b === void 0 ? void 0 : _b.value);\n i++;\n }\n if (nextPrecedence && precedence < nextPrecedence) {\n right = (0, Expression_1.parseNextExpression)(precedence, source);\n if (!right) {\n source.raise(\"Missing right hand side of \" + symbol);\n }\n }\n else\n right = (0, Expression_1.parseNextExpression)(NaN, source);\n if ((nextPrecedence && precedence == nextPrecedence) || nextPrecedence == Number.MAX_SAFE_INTEGER) {\n result = (0, Expression_1.parseNextExpression)(new InfixOperator_1.InfixOperator(symbol, precedence, previous, right), source);\n }\n else\n result = new InfixOperator_1.InfixOperator(symbol, precedence, previous, right);\n }\n return result;\n});\n//# sourceMappingURL=InfixOperator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Value_1 = require(\"../Value\");\nconst Expression_1 = require(\"./Expression\");\n(0, Expression_1.addExpression)((source, previous) => {\n const fetchedArray = [];\n let fetched;\n while ((fetched = source.fetchIf(\"identifier\", \".\")))\n fetchedArray.push(fetched[0].value);\n let result;\n if (fetchedArray.length == 0) {\n fetched = source.fetchIf(\"any\", \".\", \"any\") || source.fetchIf(\"any\", \",\", \"any\") || source.fetchIf(\"any\");\n result =\n fetched &&\n (Array.isArray(fetched)\n ? new Value_1.Value(+fetched.map(t => t.value.replace(\",\", \".\")).join(\"\"))\n : new Value_1.Value(fetched.value));\n }\n else {\n fetched = source.fetchIf(\"identifier\");\n const fetchedValue = new Value_1.Value(fetched ? fetched.value : 0);\n result =\n fetchedArray.length > 0\n ? fetchedArray.reduceRight((r, name) => new Value_1.Value(isNaN(+r) ? r : +r, name), fetchedValue)\n : undefined;\n }\n if (result && typeof previous == \"number\" && !isNaN(previous) && previous != Number.MAX_SAFE_INTEGER)\n result = (0, Expression_1.parseNextExpression)(result, source);\n return result;\n});\n//# sourceMappingURL=Value.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Is_1 = require(\"../Is\");\nconst Expression_1 = require(\"./Expression\");\nconst parse_1 = require(\"./parse\");\nconst Source_1 = require(\"./Source\");\n(0, parse_1.add)(source => {\n let expression;\n if (source.fetchIf(\":\")) {\n let algebra = false;\n let comparator = false;\n let i = 1;\n while (!algebra && !comparator && source.peek(i)) {\n algebra = Source_1.Source.binaryOperator.some(c => { var _a; return ((_a = source.peek(i)) === null || _a === void 0 ? void 0 : _a.value) == c; });\n comparator = Source_1.Source.comparator.some(c => { var _a; return ((_a = source.peek(i)) === null || _a === void 0 ? void 0 : _a.value) == c; });\n i++;\n }\n if (algebra)\n expression = (0, Expression_1.parseExpression)(source);\n }\n const fetched = source.fetchIf(\"any\");\n return expression ? new Is_1.Is(expression) : fetched && new Is_1.Is(fetched.value);\n});\n//# sourceMappingURL=Is.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst parse_1 = require(\"./parse\");\n(0, parse_1.add)(source => {\n source.raise(`Ignoring unknown token \"${source.fetch()}\"`);\n return undefined;\n});\n//# sourceMappingURL=ignore.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseExpression = exports.parse = void 0;\nvar parse_1 = require(\"./parse\");\nObject.defineProperty(exports, \"parse\", { enumerable: true, get: function () { return parse_1.parse; } });\nvar Expression_1 = require(\"./Expression\");\nObject.defineProperty(exports, \"parseExpression\", { enumerable: true, get: function () { return Expression_1.parseExpression; } });\nrequire(\"./Every\");\nrequire(\"./Some\");\nrequire(\"./group\");\nrequire(\"./GreaterThan\");\nrequire(\"./GreaterThanOrEqual\");\nrequire(\"./LesserThan\");\nrequire(\"./LesserThanOrEqual\");\nrequire(\"./Not\");\nrequire(\"./Has\");\nrequire(\"./Within\");\nrequire(\"./FunctionCall\");\nrequire(\"./Property\");\nrequire(\"./Includes\");\nrequire(\"./StartsWith\");\nrequire(\"./EndsWith\");\nrequire(\"./InfixOperator\");\nrequire(\"./Value\");\nrequire(\"./Is\");\nrequire(\"./ignore\");\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.add = exports.resolve = void 0;\nfunction resolve(definitions, rule, argument = { input: [], identifier: [] }) {\n var _a, _b;\n return (_b = (_a = resolvers[rule === null || rule === void 0 ? void 0 : rule.class]) === null || _a === void 0 ? void 0 : _a.call(resolvers, definitions, rule, argument)) !== null && _b !== void 0 ? _b : rule;\n}\nexports.resolve = resolve;\nconst resolvers = {};\nfunction add(className, resolver) {\n resolvers[className] = resolver;\n}\nexports.add = add;\n//# sourceMappingURL=resolve.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst And_1 = require(\"../And\");\nconst resolve_1 = require(\"./resolve\");\n(0, resolve_1.add)(\"And\", (definitions, rule, argument) => new And_1.And(rule.rules.map(r => (0, resolve_1.resolve)(definitions, r, argument))));\n//# sourceMappingURL=And.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.replace = void 0;\nvar replace;\n(function (replace) {\n function argument(value, argument) {\n var _a, _b;\n let result = undefined;\n let index;\n const parameter = typeof value == \"string\" ? value : value.toString();\n if (argument &&\n argument.input &&\n argument.identifier &&\n ((_a = argument === null || argument === void 0 ? void 0 : argument.input) === null || _a === void 0 ? void 0 : _a.length) > 0 &&\n ((_b = argument === null || argument === void 0 ? void 0 : argument.identifier) === null || _b === void 0 ? void 0 : _b.length) > 0 &&\n argument.identifier.includes(parameter)) {\n index = argument.identifier.indexOf(parameter);\n result = isNaN(+argument.input[index]) ? argument.input[index] : +argument.input[index];\n }\n return result;\n }\n replace.argument = argument;\n})(replace = exports.replace || (exports.replace = {}));\n//# sourceMappingURL=replace.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst EndsWith_1 = require(\"../EndsWith\");\nconst replace_1 = require(\"./replace\");\nconst resolve_1 = require(\"./resolve\");\n(0, resolve_1.add)(\"EndsWith\", (definitions, rule, argument) => {\n const parameter = replace_1.replace.argument(rule.needle, argument);\n return parameter\n ? new EndsWith_1.EndsWith(typeof parameter == \"object\" ? parameter.value.toString() : parameter.toString())\n : rule;\n});\n//# sourceMappingURL=Endswith.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Every_1 = require(\"../Every\");\nconst resolve_1 = require(\"./resolve\");\n(0, resolve_1.add)(\"Every\", (definitions, rule, argument) => {\n return new Every_1.Every((0, resolve_1.resolve)(definitions, rule.criteria, argument));\n});\n//# sourceMappingURL=Every.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst FunctionCall_1 = require(\"../FunctionCall\");\nconst parse_1 = require(\"../parse\");\nconst resolve_1 = require(\"./resolve\");\n(0, resolve_1.add)(\"FunctionCall\", (definitions, rule, argument) => {\n var _a, _b;\n const definition = definitions[rule.identifier];\n const definitionRule = definition ? (0, parse_1.parse)(definition.definition) : undefined;\n const property = definitionRule\n ? (0, resolve_1.resolve)(definitions, definitionRule, {\n input: (_a = argument === null || argument === void 0 ? void 0 : argument.input) === null || _a === void 0 ? void 0 : _a.concat(rule.argument),\n identifier: (_b = argument === null || argument === void 0 ? void 0 : argument.identifier) === null || _b === void 0 ? void 0 : _b.concat(definition.arguments),\n })\n : undefined;\n return new FunctionCall_1.FunctionCall(rule.identifier, rule.argument, property);\n});\n//# sourceMappingURL=FunctionCall.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst GreaterThan_1 = require(\"../GreaterThan\");\nconst replace_1 = require(\"./replace\");\nconst resolve_1 = require(\"./resolve\");\n(0, resolve_1.add)(\"GreaterThan\", (definitions, rule, argument) => {\n const parameter = replace_1.replace.argument(rule.value, argument);\n return parameter ? new GreaterThan_1.GreaterThan(parameter) : rule;\n});\n//# sourceMappingURL=GreaterThan.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst GreaterThanOrEqual_1 = require(\"../GreaterThanOrEqual\");\nconst replace_1 = require(\"./replace\");\nconst resolve_1 = require(\"./resolve\");\n(0, resolve_1.add)(\"GreaterThanOrEqual\", (definitions, rule, argument) => {\n const parameter = replace_1.replace.argument(rule.value, argument);\n return parameter ? new GreaterThanOrEqual_1.GreaterThanOrEqual(parameter) : rule;\n});\n//# sourceMappingURL=GreaterThanOrEqual.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Has_1 = require(\"../Has\");\nconst replace_1 = require(\"./replace\");\nconst resolve_1 = require(\"./resolve\");\n(0, resolve_1.add)(\"Has\", (definitions, rule, argument) => {\n const parameter = replace_1.replace.argument(rule.property, argument);\n return parameter ? new Has_1.Has(typeof parameter == \"object\" ? parameter.value.toString() : parameter.toString()) : rule;\n});\n//# sourceMappingURL=Has.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Includes_1 = require(\"../Includes\");\nconst replace_1 = require(\"./replace\");\nconst resolve_1 = require(\"./resolve\");\n(0, resolve_1.add)(\"Includes\", (definitions, rule, argument) => {\n const parameter = replace_1.replace.argument(rule.needle, argument);\n return parameter\n ? new Includes_1.Includes(typeof parameter == \"object\" ? parameter.value.toString() : parameter.toString())\n : rule;\n});\n//# sourceMappingURL=Includes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst LesserThan_1 = require(\"../LesserThan\");\nconst replace_1 = require(\"./replace\");\nconst resolve_1 = require(\"./resolve\");\n(0, resolve_1.add)(\"LesserThan\", (definitions, rule, argument) => {\n const parameter = replace_1.replace.argument(rule.value, argument);\n return parameter ? new LesserThan_1.LesserThan(parameter) : rule;\n});\n//# sourceMappingURL=LesserThan.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst LesserThanOrEqual_1 = require(\"../LesserThanOrEqual\");\nconst replace_1 = require(\"./replace\");\nconst resolve_1 = require(\"./resolve\");\n(0, resolve_1.add)(\"LesserThanOrEqual\", (definitions, rule, argument) => {\n const parameter = replace_1.replace.argument(rule.value, argument);\n return parameter ? new LesserThanOrEqual_1.LesserThanOrEqual(parameter) : rule;\n});\n//# sourceMappingURL=LesserThanOrEqual.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Not_1 = require(\"../Not\");\nconst resolve_1 = require(\"./resolve\");\n(0, resolve_1.add)(\"Not\", (definitions, rule, argument) => {\n return new Not_1.Not((0, resolve_1.resolve)(definitions, rule.criteria, argument));\n});\n//# sourceMappingURL=Not.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Or_1 = require(\"../Or\");\nconst resolve_1 = require(\"./resolve\");\n(0, resolve_1.add)(\"Or\", (definitions, rule, argument) => new Or_1.Or(rule.criteria.map(r => (0, resolve_1.resolve)(definitions, r, argument))));\n//# sourceMappingURL=Or.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Property_1 = require(\"../Property\");\nconst resolve_1 = require(\"./resolve\");\n(0, resolve_1.add)(\"Property\", (definitions, rule, argument) => {\n return new Property_1.Property(rule.name, (0, resolve_1.resolve)(definitions, rule.criteria, argument));\n});\n//# sourceMappingURL=Property.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Some_1 = require(\"../Some\");\nconst resolve_1 = require(\"./resolve\");\n(0, resolve_1.add)(\"Some\", (definitions, rule, argument) => {\n return new Some_1.Some((0, resolve_1.resolve)(definitions, rule.criteria, argument));\n});\n//# sourceMappingURL=Some.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst StartsWith_1 = require(\"../StartsWith\");\nconst replace_1 = require(\"./replace\");\nconst resolve_1 = require(\"./resolve\");\n(0, resolve_1.add)(\"StartsWith\", (definitions, rule, argument) => {\n const parameter = replace_1.replace.argument(rule.needle, argument);\n return parameter\n ? new StartsWith_1.StartsWith(typeof parameter == \"object\" ? parameter.value.toString() : parameter.toString())\n : rule;\n});\n//# sourceMappingURL=Startswith.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Is_1 = require(\"../Is\");\nconst replace_1 = require(\"./replace\");\nconst resolve_1 = require(\"./resolve\");\n(0, resolve_1.add)(\"Is\", (definitions, rule, argument) => {\n const parameter = replace_1.replace.argument(rule.value, argument);\n return parameter ? new Is_1.Is(parameter) : rule;\n});\n//# sourceMappingURL=Is.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolve = void 0;\nvar resolve_1 = require(\"./resolve\");\nObject.defineProperty(exports, \"resolve\", { enumerable: true, get: function () { return resolve_1.resolve; } });\nrequire(\"./And\");\nrequire(\"./Endswith\");\nrequire(\"./Every\");\nrequire(\"./FunctionCall\");\nrequire(\"./GreaterThan\");\nrequire(\"./GreaterThanOrEqual\");\nrequire(\"./Has\");\nrequire(\"./Includes\");\nrequire(\"./LesserThan\");\nrequire(\"./LesserThanOrEqual\");\nrequire(\"./Not\");\nrequire(\"./Or\");\nrequire(\"./Property\");\nrequire(\"./Some\");\nrequire(\"./Startswith\");\nrequire(\"./Is\");\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Tuple = void 0;\nconst Rule_1 = require(\"./Rule\");\nclass Tuple extends Rule_1.Rule {\n constructor(criteria) {\n super();\n this.criteria = criteria;\n this.precedence = Number.MAX_SAFE_INTEGER;\n this.class = \"Tuple\";\n }\n is(value) {\n return this.criteria.length == value.length && this.criteria.every((c, index) => c.is(value[index]));\n }\n toString() {\n return `[${this.criteria.map(c => c.toString()).join(\", \")}]`;\n }\n}\nexports.Tuple = Tuple;\n(0, Rule_1.add)(criteria => (Array.isArray(criteria) ? new Tuple(criteria.map(Rule_1.create)) : undefined));\n//# sourceMappingURL=Tuple.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.within = exports.startsWith = exports.some = exports.resolve = exports.property = exports.parseExpression = exports.parse = exports.or = exports.not = exports.match = exports.is = exports.includes = exports.lesserThanOrEqual = exports.lesserThan = exports.greaterThanOrEqual = exports.greaterThan = exports.filter = exports.has = exports.every = exports.endsWith = exports.create = exports.and = exports.any = exports.Within = exports.Value = exports.Type = exports.Tuple = exports.StartsWith = exports.Some = exports.Rule = exports.Property = exports.Or = exports.Not = exports.Match = exports.Is = exports.Includes = exports.LesserThanOrEqual = exports.LesserThan = exports.GreaterThanOrEqual = exports.GreaterThan = exports.Has = exports.FunctionCall = exports.Every = exports.EndsWith = exports.Criteria = exports.Any = exports.And = void 0;\nrequire(\"./Always\");\nconst And_1 = require(\"./And\");\nObject.defineProperty(exports, \"And\", { enumerable: true, get: function () { return And_1.And; } });\nObject.defineProperty(exports, \"and\", { enumerable: true, get: function () { return And_1.and; } });\nconst Any_1 = require(\"./Any\");\nObject.defineProperty(exports, \"Any\", { enumerable: true, get: function () { return Any_1.Any; } });\nObject.defineProperty(exports, \"any\", { enumerable: true, get: function () { return Any_1.any; } });\nconst Criteria_1 = require(\"./Criteria\");\nObject.defineProperty(exports, \"Criteria\", { enumerable: true, get: function () { return Criteria_1.Criteria; } });\nconst EndsWith_1 = require(\"./EndsWith\");\nObject.defineProperty(exports, \"EndsWith\", { enumerable: true, get: function () { return EndsWith_1.EndsWith; } });\nObject.defineProperty(exports, \"endsWith\", { enumerable: true, get: function () { return EndsWith_1.endsWith; } });\nconst Every_1 = require(\"./Every\");\nObject.defineProperty(exports, \"Every\", { enumerable: true, get: function () { return Every_1.Every; } });\nObject.defineProperty(exports, \"every\", { enumerable: true, get: function () { return Every_1.every; } });\nconst FunctionCall_1 = require(\"./FunctionCall\");\nObject.defineProperty(exports, \"FunctionCall\", { enumerable: true, get: function () { return FunctionCall_1.FunctionCall; } });\nconst GreaterThan_1 = require(\"./GreaterThan\");\nObject.defineProperty(exports, \"GreaterThan\", { enumerable: true, get: function () { return GreaterThan_1.GreaterThan; } });\nObject.defineProperty(exports, \"greaterThan\", { enumerable: true, get: function () { return GreaterThan_1.greaterThan; } });\nconst GreaterThanOrEqual_1 = require(\"./GreaterThanOrEqual\");\nObject.defineProperty(exports, \"GreaterThanOrEqual\", { enumerable: true, get: function () { return GreaterThanOrEqual_1.GreaterThanOrEqual; } });\nObject.defineProperty(exports, \"greaterThanOrEqual\", { enumerable: true, get: function () { return GreaterThanOrEqual_1.greaterThanOrEqual; } });\nconst Has_1 = require(\"./Has\");\nObject.defineProperty(exports, \"Has\", { enumerable: true, get: function () { return Has_1.Has; } });\nObject.defineProperty(exports, \"has\", { enumerable: true, get: function () { return Has_1.has; } });\nconst Includes_1 = require(\"./Includes\");\nObject.defineProperty(exports, \"Includes\", { enumerable: true, get: function () { return Includes_1.Includes; } });\nObject.defineProperty(exports, \"includes\", { enumerable: true, get: function () { return Includes_1.includes; } });\nconst Is_1 = require(\"./Is\");\nObject.defineProperty(exports, \"Is\", { enumerable: true, get: function () { return Is_1.Is; } });\nconst LesserThan_1 = require(\"./LesserThan\");\nObject.defineProperty(exports, \"LesserThan\", { enumerable: true, get: function () { return LesserThan_1.LesserThan; } });\nObject.defineProperty(exports, \"lesserThan\", { enumerable: true, get: function () { return LesserThan_1.lesserThan; } });\nconst LesserThanOrEqual_1 = require(\"./LesserThanOrEqual\");\nObject.defineProperty(exports, \"LesserThanOrEqual\", { enumerable: true, get: function () { return LesserThanOrEqual_1.LesserThanOrEqual; } });\nObject.defineProperty(exports, \"lesserThanOrEqual\", { enumerable: true, get: function () { return LesserThanOrEqual_1.lesserThanOrEqual; } });\nconst Match_1 = require(\"./Match\");\nObject.defineProperty(exports, \"Match\", { enumerable: true, get: function () { return Match_1.Match; } });\nObject.defineProperty(exports, \"match\", { enumerable: true, get: function () { return Match_1.match; } });\nconst Not_1 = require(\"./Not\");\nObject.defineProperty(exports, \"Not\", { enumerable: true, get: function () { return Not_1.Not; } });\nObject.defineProperty(exports, \"not\", { enumerable: true, get: function () { return Not_1.not; } });\nconst Or_1 = require(\"./Or\");\nObject.defineProperty(exports, \"Or\", { enumerable: true, get: function () { return Or_1.Or; } });\nObject.defineProperty(exports, \"or\", { enumerable: true, get: function () { return Or_1.or; } });\nconst parse_1 = require(\"./parse\");\nObject.defineProperty(exports, \"parse\", { enumerable: true, get: function () { return parse_1.parse; } });\nObject.defineProperty(exports, \"parseExpression\", { enumerable: true, get: function () { return parse_1.parseExpression; } });\nconst Property_1 = require(\"./Property\");\nObject.defineProperty(exports, \"Property\", { enumerable: true, get: function () { return Property_1.Property; } });\nObject.defineProperty(exports, \"property\", { enumerable: true, get: function () { return Property_1.property; } });\nconst resolve_1 = require(\"./resolve\");\nObject.defineProperty(exports, \"resolve\", { enumerable: true, get: function () { return resolve_1.resolve; } });\nconst Rule_1 = require(\"./Rule\");\nObject.defineProperty(exports, \"create\", { enumerable: true, get: function () { return Rule_1.create; } });\nObject.defineProperty(exports, \"Rule\", { enumerable: true, get: function () { return Rule_1.Rule; } });\nconst Some_1 = require(\"./Some\");\nObject.defineProperty(exports, \"Some\", { enumerable: true, get: function () { return Some_1.Some; } });\nObject.defineProperty(exports, \"some\", { enumerable: true, get: function () { return Some_1.some; } });\nconst StartsWith_1 = require(\"./StartsWith\");\nObject.defineProperty(exports, \"StartsWith\", { enumerable: true, get: function () { return StartsWith_1.StartsWith; } });\nObject.defineProperty(exports, \"startsWith\", { enumerable: true, get: function () { return StartsWith_1.startsWith; } });\nconst Tuple_1 = require(\"./Tuple\");\nObject.defineProperty(exports, \"Tuple\", { enumerable: true, get: function () { return Tuple_1.Tuple; } });\nconst Type_1 = require(\"./Type\");\nObject.defineProperty(exports, \"Type\", { enumerable: true, get: function () { return Type_1.Type; } });\nconst Value_1 = require(\"./Value\");\nObject.defineProperty(exports, \"Value\", { enumerable: true, get: function () { return Value_1.Value; } });\nconst Within_1 = require(\"./Within\");\nObject.defineProperty(exports, \"Within\", { enumerable: true, get: function () { return Within_1.Within; } });\nObject.defineProperty(exports, \"within\", { enumerable: true, get: function () { return Within_1.within; } });\nfunction is(criteria, value) {\n const result = (0, Rule_1.create)(criteria);\n return value ? result.is(value) : result;\n}\nexports.is = is;\nfunction filter(criteria, value) {\n const c = (0, Rule_1.create)(criteria);\n return c.filter(value);\n}\nexports.filter = filter;\n//# sourceMappingURL=selectively.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.within = exports.startsWith = exports.some = exports.resolve = exports.property = exports.parseExpression = exports.parse = exports.or = exports.not = exports.match = exports.is = exports.includes = exports.lesserThanOrEqual = exports.lesserThan = exports.greaterThanOrEqual = exports.greaterThan = exports.filter = exports.has = exports.every = exports.endsWith = exports.create = exports.and = exports.any = exports.Within = exports.Value = exports.Type = exports.Tuple = exports.StartsWith = exports.Some = exports.Rule = exports.Property = exports.Or = exports.Not = exports.Match = exports.Is = exports.Includes = exports.LesserThanOrEqual = exports.LesserThan = exports.GreaterThanOrEqual = exports.GreaterThan = exports.Has = exports.FunctionCall = exports.Every = exports.EndsWith = exports.Criteria = exports.Any = exports.And = exports.selectively = void 0;\nrequire(\"./Always\");\nconst And_1 = require(\"./And\");\nObject.defineProperty(exports, \"And\", { enumerable: true, get: function () { return And_1.And; } });\nObject.defineProperty(exports, \"and\", { enumerable: true, get: function () { return And_1.and; } });\nconst Any_1 = require(\"./Any\");\nObject.defineProperty(exports, \"Any\", { enumerable: true, get: function () { return Any_1.Any; } });\nObject.defineProperty(exports, \"any\", { enumerable: true, get: function () { return Any_1.any; } });\nconst Criteria_1 = require(\"./Criteria\");\nObject.defineProperty(exports, \"Criteria\", { enumerable: true, get: function () { return Criteria_1.Criteria; } });\nconst EndsWith_1 = require(\"./EndsWith\");\nObject.defineProperty(exports, \"EndsWith\", { enumerable: true, get: function () { return EndsWith_1.EndsWith; } });\nObject.defineProperty(exports, \"endsWith\", { enumerable: true, get: function () { return EndsWith_1.endsWith; } });\nconst Every_1 = require(\"./Every\");\nObject.defineProperty(exports, \"Every\", { enumerable: true, get: function () { return Every_1.Every; } });\nObject.defineProperty(exports, \"every\", { enumerable: true, get: function () { return Every_1.every; } });\nconst FunctionCall_1 = require(\"./FunctionCall\");\nObject.defineProperty(exports, \"FunctionCall\", { enumerable: true, get: function () { return FunctionCall_1.FunctionCall; } });\nconst GreaterThan_1 = require(\"./GreaterThan\");\nObject.defineProperty(exports, \"GreaterThan\", { enumerable: true, get: function () { return GreaterThan_1.GreaterThan; } });\nObject.defineProperty(exports, \"greaterThan\", { enumerable: true, get: function () { return GreaterThan_1.greaterThan; } });\nconst GreaterThanOrEqual_1 = require(\"./GreaterThanOrEqual\");\nObject.defineProperty(exports, \"GreaterThanOrEqual\", { enumerable: true, get: function () { return GreaterThanOrEqual_1.GreaterThanOrEqual; } });\nObject.defineProperty(exports, \"greaterThanOrEqual\", { enumerable: true, get: function () { return GreaterThanOrEqual_1.greaterThanOrEqual; } });\nconst Has_1 = require(\"./Has\");\nObject.defineProperty(exports, \"Has\", { enumerable: true, get: function () { return Has_1.Has; } });\nObject.defineProperty(exports, \"has\", { enumerable: true, get: function () { return Has_1.has; } });\nconst Includes_1 = require(\"./Includes\");\nObject.defineProperty(exports, \"Includes\", { enumerable: true, get: function () { return Includes_1.Includes; } });\nObject.defineProperty(exports, \"includes\", { enumerable: true, get: function () { return Includes_1.includes; } });\nconst Is_1 = require(\"./Is\");\nObject.defineProperty(exports, \"Is\", { enumerable: true, get: function () { return Is_1.Is; } });\nconst LesserThan_1 = require(\"./LesserThan\");\nObject.defineProperty(exports, \"LesserThan\", { enumerable: true, get: function () { return LesserThan_1.LesserThan; } });\nObject.defineProperty(exports, \"lesserThan\", { enumerable: true, get: function () { return LesserThan_1.lesserThan; } });\nconst LesserThanOrEqual_1 = require(\"./LesserThanOrEqual\");\nObject.defineProperty(exports, \"LesserThanOrEqual\", { enumerable: true, get: function () { return LesserThanOrEqual_1.LesserThanOrEqual; } });\nObject.defineProperty(exports, \"lesserThanOrEqual\", { enumerable: true, get: function () { return LesserThanOrEqual_1.lesserThanOrEqual; } });\nconst Match_1 = require(\"./Match\");\nObject.defineProperty(exports, \"Match\", { enumerable: true, get: function () { return Match_1.Match; } });\nObject.defineProperty(exports, \"match\", { enumerable: true, get: function () { return Match_1.match; } });\nconst Not_1 = require(\"./Not\");\nObject.defineProperty(exports, \"Not\", { enumerable: true, get: function () { return Not_1.Not; } });\nObject.defineProperty(exports, \"not\", { enumerable: true, get: function () { return Not_1.not; } });\nconst Or_1 = require(\"./Or\");\nObject.defineProperty(exports, \"Or\", { enumerable: true, get: function () { return Or_1.Or; } });\nObject.defineProperty(exports, \"or\", { enumerable: true, get: function () { return Or_1.or; } });\nconst parse_1 = require(\"./parse\");\nObject.defineProperty(exports, \"parse\", { enumerable: true, get: function () { return parse_1.parse; } });\nObject.defineProperty(exports, \"parseExpression\", { enumerable: true, get: function () { return parse_1.parseExpression; } });\nconst Property_1 = require(\"./Property\");\nObject.defineProperty(exports, \"Property\", { enumerable: true, get: function () { return Property_1.Property; } });\nObject.defineProperty(exports, \"property\", { enumerable: true, get: function () { return Property_1.property; } });\nconst resolve_1 = require(\"./resolve\");\nObject.defineProperty(exports, \"resolve\", { enumerable: true, get: function () { return resolve_1.resolve; } });\nconst Rule_1 = require(\"./Rule\");\nObject.defineProperty(exports, \"create\", { enumerable: true, get: function () { return Rule_1.create; } });\nObject.defineProperty(exports, \"Rule\", { enumerable: true, get: function () { return Rule_1.Rule; } });\nconst Some_1 = require(\"./Some\");\nObject.defineProperty(exports, \"Some\", { enumerable: true, get: function () { return Some_1.Some; } });\nObject.defineProperty(exports, \"some\", { enumerable: true, get: function () { return Some_1.some; } });\nconst StartsWith_1 = require(\"./StartsWith\");\nObject.defineProperty(exports, \"StartsWith\", { enumerable: true, get: function () { return StartsWith_1.StartsWith; } });\nObject.defineProperty(exports, \"startsWith\", { enumerable: true, get: function () { return StartsWith_1.startsWith; } });\nconst Tuple_1 = require(\"./Tuple\");\nObject.defineProperty(exports, \"Tuple\", { enumerable: true, get: function () { return Tuple_1.Tuple; } });\nconst Type_1 = require(\"./Type\");\nObject.defineProperty(exports, \"Type\", { enumerable: true, get: function () { return Type_1.Type; } });\nconst Value_1 = require(\"./Value\");\nObject.defineProperty(exports, \"Value\", { enumerable: true, get: function () { return Value_1.Value; } });\nconst Within_1 = require(\"./Within\");\nObject.defineProperty(exports, \"Within\", { enumerable: true, get: function () { return Within_1.Within; } });\nObject.defineProperty(exports, \"within\", { enumerable: true, get: function () { return Within_1.within; } });\nfunction is(criteria, value) {\n const result = (0, Rule_1.create)(criteria);\n return value ? result.is(value) : result;\n}\nexports.is = is;\nfunction filter(criteria, value) {\n const c = (0, Rule_1.create)(criteria);\n return c.filter(value);\n}\nexports.filter = filter;\nexports.selectively = require(\"./selectively\");\n//# sourceMappingURL=index.js.map","export interface Clearable {\n\tclear(): Promise<void>\n}\nexport namespace Clearable {\n\texport function is(value: Clearable | any): value is Clearable {\n\t\treturn value && typeof value == \"object\" && typeof value.clear == \"function\"\n\t}\n}\n","* {\n box-sizing: border-box;\n}\n\n:host {\n display: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\tposition: relative;\n\twidth: 100%;\n\tmargin-bottom: 1em; \n}\n\n:host > smoothly-input {\n\tmargin-bottom: 0.5em;\n}\n\nsection {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.hidden {\n\tdisplay: flex;\n\twidth: 0px;\n\topacity: 0;\n}\n\n.container {\n\twidth: inherit;\n\tposition: relative;\n\tz-index: 3;\n\tmargin: 0.8em 0;\n\topacity: 1;\n\ttransition: opacity 100ms ease-in-out;\n}\n\n.container:after {\n\tcontent:\"\";\n\theight: 100%;\n\twidth: 100%;\n\tborder: 1px solid rgb(var(--smoothly-color-contrast));\n\tborder-radius: 0.25em;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n}\n\n/* arrow */\n.container:before {\n\tcontent:\"\";\n\twidth: 0.6em;\n\theight: 0.6em;\n\ttransform: rotate(45deg);\n\tborder-top: 1px solid rgb(var(--smoothly-color-contrast));\n\tborder-left: 1px solid rgb(var(--smoothly-color-contrast));\n\tbackground-color: rgb(var(--smoothly-default-color));\n\tposition: absolute;\n\tz-index: 3;\n}\n\n/* arrow placement */\n.container.arrow-top:before {\n\tleft: calc(84.5%);\n\ttop: -5px;\n}\n\n/* wrapper for slot(filters) */\n.container-wrapper {\n\twidth: 100%;\n\tpadding: 1em;\n\tposition: relative;\n}\n\n.btn.hidden {\n\tmargin-right: 0.25em;\n\topacity: 0;\n\tcursor:text\n}\n\n.btn.clear {\n\tmargin-right: 0.25em;\n\topacity: 0.3;\n}\n\n::slotted(div[slot=filter]) {\n\tdisplay: grid;\n\tgrid-template-columns: 1fr;\n\tjustify-content: center;\n\talign-items: center;\n\tgap: 0.5em;\n}\n\n:host > smoothly-fom > smoothly-input > section[slot=end] > smoothly-button {\n\tfont-size: 100%;\n\tmin-width: min-content;\n\tpadding: 0;\n\tmargin: 0;\n\tborder: none !important;\n}\n\n","import { Component, Event, EventEmitter, h, Listen, Method, Prop, State } from \"@stencil/core\"\nimport * as selectively from \"selectively\"\nimport { create as selectivelyCreate, Criteria } from \"selectively\"\nimport { Clearable } from \"./Clearable\"\n\n@Component({\n\ttag: \"smoothly-filter\",\n\tstyleUrl: \"style.css\",\n\tshadow: true,\n})\nexport class SmoothlyFilter {\n\tprivate freeSearchElement?: HTMLSmoothlyInputElement\n\tprivate inputs = new Map<string, Clearable>()\n\t@Prop({ mutable: true }) placeholder: string | undefined\n\t@State() expanded = false\n\t@State() freeSearchValue: string\n\t@Prop({ mutable: true }) criteria: Record<string, Criteria> = {}\n\t@Prop({ mutable: true }) inputValue: Criteria\n\n\t@Listen(\"filter\")\n\tfilterHandler(event: CustomEvent<Record<string, Criteria>>) {\n\t\tevent.stopPropagation()\n\n\t\tif (Clearable.is(event.target)) {\n\t\t\tconst target = event.target\n\t\t\tObject.keys(event.detail).forEach(key => this.inputs.set(key, target))\n\t\t}\n\t\t!this.freeSearchValue\n\t\t\t? this.filters.emit((this.criteria = { ...this.criteria, ...event.detail }))\n\t\t\t: this.filters.emit(\n\t\t\t\t\tselectively.and(\n\t\t\t\t\t\tselectively.any(selectively.includes(this.freeSearchValue)),\n\t\t\t\t\t\t(this.criteria = { ...this.criteria, ...event.detail })\n\t\t\t\t\t)\n\t\t\t )\n\t}\n\t@Event() filters: EventEmitter<Criteria>\n\tonKeyDown() {\n\t\tthis.freeSearchValue = this.freeSearchElement?.value\n\t\tthis.inputValue = selectively.includes(this.freeSearchValue)\n\t\tthis.filters.emit(selectively.any(this.inputValue))\n\t}\n\n\t@Method()\n\tasync clear(event: MouseEvent): Promise<void> {\n\t\tnew Set(this.inputs.values()).forEach(input => input.clear())\n\t\tthis.filters.emit((this.criteria = {}))\n\t}\n\n\trender() {\n\t\treturn [\n\t\t\t<smoothly-form looks=\"border\">\n\t\t\t\t<smoothly-input\n\t\t\t\t\tname=\"filter\"\n\t\t\t\t\tref={element => (this.freeSearchElement = element)}\n\t\t\t\t\tvalue={selectivelyCreate(this.criteria).stringify()}\n\t\t\t\t\tonKeyDown={() => this.onKeyDown()}\n\t\t\t\t\tplaceholder={this.placeholder}>\n\t\t\t\t\t<section slot=\"start\">\n\t\t\t\t\t\t<slot name=\"start\" />\n\t\t\t\t\t</section>\n\t\t\t\t\t<slot />\n\t\t\t\t\t<section slot=\"end\">\n\t\t\t\t\t\t<smoothly-button size=\"flexible\" onClick={e => this.clear(e)}>\n\t\t\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\t\t\tclass={Object.keys(this.criteria).length >= 1 ? \"btn clear\" : \"btn hidden\"}\n\t\t\t\t\t\t\t\tname=\"close\"\n\t\t\t\t\t\t\t\tsize=\"tiny\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t\t<smoothly-button\n\t\t\t\t\t\t\tsize=\"flexible\"\n\t\t\t\t\t\t\tclass=\"btn\"\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tthis.expanded = !this.expanded\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t{this.expanded ? (\n\t\t\t\t\t\t\t\t<smoothly-icon name=\"options\" size=\"small\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<smoothly-icon name=\"options-outline\" size=\"small\" />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t</section>\n\t\t\t\t</smoothly-input>\n\t\t\t</smoothly-form>,\n\n\t\t\t<section hidden={!this.expanded} class={this.expanded ? \"container arrow-top\" : \"hidden\"}>\n\t\t\t\t<div hidden={!this.expanded} class={this.expanded ? \"container-wrapper\" : \"hidden\"}>\n\t\t\t\t\t{this.expanded && <slot name=\"filter\" />}\n\t\t\t\t</div>\n\t\t\t</section>,\n\t\t]\n\t}\n}\n",":host {\n display: block;\n}\n\n\n","import { Component, Event, EventEmitter, h, Method, Prop, State } from \"@stencil/core\"\nimport { Currency } from \"isoly\"\nimport * as selectively from \"selectively\"\nimport { Criteria } from \"selectively\"\n\n@Component({\n\ttag: \"smoothly-filter-input\",\n\tstyleUrl: \"style.css\",\n\tshadow: true,\n})\nexport class SmoothlyFilterInput {\n\tsmoothlyInput: HTMLSmoothlyInputElement\n\n\t@Prop({ reflect: true }) name: string\n\t@Prop({ mutable: true }) value = \"\"\n\t@Prop({ reflect: true }) type = \"text\"\n\t@Prop({ mutable: true, reflect: true }) required = false\n\t@Prop() minLength = 0\n\t@Prop({ reflect: true }) showLabel = true\n\t@Prop() maxLength: number = Number.POSITIVE_INFINITY\n\t@Prop() autocomplete = true\n\t@Prop() pattern?: RegExp\n\t@Prop() placeholder?: string\n\t@Prop() disabled = false\n\t@Prop({ reflect: true }) readonly = false\n\t@Prop({ reflect: true }) currency?: Currency\n\t@Prop() comparison: \"equals\" | \"less\" | \"greater\" | \"starts\" | \"ends\" | \"includes\" = \"includes\"\n\t@State() criteria: Criteria\n\n\t@Event() filter: EventEmitter<Criteria>\n\tprivate onFilter() {\n\t\tthis.value = this.smoothlyInput.value\n\t\tlet result: Criteria = \"\"\n\t\tlet criteria: Criteria\n\n\t\tswitch (this.comparison) {\n\t\t\tcase \"equals\":\n\t\t\t\tcriteria = this.value\n\t\t\t\tbreak\n\t\t\tcase \"less\":\n\t\t\t\tcriteria = selectively.lesserThan(this.value)\n\t\t\t\tbreak\n\t\t\tcase \"greater\":\n\t\t\t\tcriteria = selectively.greaterThan(this.value)\n\t\t\t\tbreak\n\t\t\tcase \"starts\":\n\t\t\t\tcriteria = selectively.startsWith(this.value)\n\t\t\t\tbreak\n\t\t\tcase \"ends\":\n\t\t\t\tcriteria = selectively.endsWith(this.value)\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\tcase \"includes\":\n\t\t\t\tcriteria = selectively.includes(this.value)\n\t\t\t\tbreak\n\t\t}\n\n\t\tresult = this.name\n\t\t\t.split(\".\")\n\t\t\t.reverse()\n\t\t\t.reduce<Criteria>((previousValue, currentValue) => ({ [currentValue]: previousValue }), criteria)\n\t\tthis.filter.emit(result)\n\t}\n\n\t@Method()\n\tasync clear() {\n\t\tthis.value = \"\"\n\t}\n\n\trender() {\n\t\treturn [\n\t\t\t<smoothly-input\n\t\t\t\tname={this.name}\n\t\t\t\tref={(element: HTMLSmoothlyInputElement) => (this.smoothlyInput = element)}\n\t\t\t\tvalue={this.value}\n\t\t\t\tonKeyDown={() => this.onFilter()}\n\t\t\t\tonSmoothlyInput={e => {\n\t\t\t\t\tthis.value = e.detail.value ?? \"\"\n\t\t\t\t}}\n\t\t\t\tplaceholder={this.placeholder}>\n\t\t\t\t<div slot=\"start\">\n\t\t\t\t\t<slot name=\"start\" />\n\t\t\t\t</div>\n\t\t\t\t<slot />\n\t\t\t</smoothly-input>,\n\t\t]\n\t}\n}\n","export var Method;\n(function (Method) {\n function is(value) {\n return (typeof value == \"string\" &&\n (value == \"GET\" ||\n value == \"POST\" ||\n value == \"DELETE\" ||\n value == \"HEAD\" ||\n value == \"PATCH\" ||\n value == \"PUT\" ||\n value == \"OPTIONS\" ||\n value == \"TRACE\" ||\n value == \"CONNECT\"));\n }\n Method.is = is;\n function parse(value) {\n value = value?.toUpperCase();\n return is(value) ? value : undefined;\n }\n Method.parse = parse;\n})(Method || (Method = {}));\n//# sourceMappingURL=Method.js.map","const parsers = {};\nexport function add(parser, ...contentType) {\n contentType.forEach(t => (parsers[t] = parser));\n}\nexport function parse(request) {\n const contentType = request.headers.get(\"Content-Type\");\n const type = contentType && contentType.split(\";\");\n const parser = parsers[type?.[0] ?? \"plain/text\"];\n return parser ? parser(request) : request.text();\n}\n//# sourceMappingURL=Parser.js.map","const serializers = {};\nexport function add(serializer, ...contentType) {\n contentType.forEach(t => (serializers[t] = serializer));\n}\nexport function serialize(body, contentType) {\n const serializer = serializers[contentType?.split(\";\")[0] ?? \"\"];\n return serializer ? serializer(body, contentType) : body;\n}\n//# sourceMappingURL=Serializer.js.map","export function to(name) {\n return name.toLowerCase().replace(/-[a-z]/g, match => match.substring(1).toUpperCase());\n}\nexport function from(name) {\n const result = name.replace(/[A-Z]/g, match => \"-\" + match);\n return result[0].toUpperCase() + result.substring(1);\n}\n//# sourceMappingURL=CamelCase.js.map","import * as CamelCase from \"../CamelCase\";\nconst fields = [\n [\"aIM\", \"A-IM\", 1],\n [\"accept\", \"Accept\", 2],\n [\"acceptCharset\", \"Accept-Charset\", 2],\n [\"acceptDatetime\", \"Accept-Datetime\", 1],\n [\"acceptEncoding\", \"Accept-Encoding\", 2],\n [\"acceptLanguage\", \"Accept-Language\", 2],\n [\"accessControlRequestMethod\", \"Access-Control-Request-Method\", 1],\n [\"accessControlRequestHeaders\", \"Access-Control-Request-Headers\", 1],\n [\"authorization\", \"Authorization\", 1],\n [\"cacheControl\", \"Cache-Control\", 1],\n [\"cfConnectionIp\", \"CF-Connecting-IP\", 1],\n [\"cfIpCountry\", \"CF-IPCountry\", 1],\n [\"connection\", \"Connection\", 1],\n [\"contentLength\", \"Content-Length\", 1],\n [\"contentMD5\", \"Content-MD5\", 1],\n [\"contentType\", \"Content-Type\", 1],\n [\"cookie\", \"Cookie\", 1],\n [\"date\", \"Date\", 1],\n [\"expect\", \"Expect\", 1],\n [\"forwarded\", \"Forwarded\", 1],\n [\"from\", \"From\", 1],\n [\"host\", \"Host\", 1],\n [\"http2Settings\", \"HTTP2-Settings\", 1],\n [\"ifMatch\", \"If-Match\", 2],\n [\"ifModifiedSince\", \"If-Modified-Since\", 1],\n [\"ifNoneMatch\", \"If-None-Match\", 2],\n [\"ifRange\", \"If-Range\", 1],\n [\"ifUnmodifiedSince\", \"If-Unmodified-Since\", 1],\n [\"maxForwards\", \"Max-Forwards\", 1],\n [\"origin\", \"Origin\", 1],\n [\"pragma\", \"Pragma\", 1],\n [\"proxyAuthorization\", \"Proxy-Authorization\", 1],\n [\"range\", \"Range\", 1],\n [\"referer\", \"Referer\", 1],\n [\"te\", \"TE\", 2],\n [\"trailer\", \"Trailer\", 1],\n [\"transferEncoding\", \"Transfer-Encoding\", 1],\n [\"userAgent\", \"User-Agent\", 1],\n [\"upgrade\", \"Upgrade\", 2],\n [\"via\", \"Via\", 2],\n [\"warning\", \"Warning\", 1],\n [\"upgradeInsecureRequests\", \"Upgrade-Insecure-Requests\", 1],\n [\"xRequestedWith\", \"X-Requested-With\", 1],\n [\"dnt\", \"DNT\", 1],\n [\"xForwardedFor\", \"X-Forwarded-For\", 1],\n [\"xForwardedHost\", \"X-Forwarded-Host\", 1],\n [\"xForwardedProto\", \"X-Forwarded-Proto\", 1],\n [\"xMsContinuation\", \"X-Ms-Continuation\", 1],\n [\"frontEndHttps\", \"Front-End-Https\", 1],\n [\"xHttpMethodOverride\", \"X-Http-Method-Override\", 1],\n [\"xAttDeviceId\", \"X-ATT-DeviceId\", 1],\n [\"xWapProfile\", \"X-Wap-Profile\", 1],\n [\"proxyConnection\", \"Proxy-Connection\", 1],\n [\"xCsrfToken\", \"X-Csrf-Token\", 1],\n [\"xCorrelationID\", \"X-Correlation-ID\", 1],\n [\"xModNonce\", \"x-mod-nonce\", 1],\n [\"xModRetry\", \"x-mod-retry\", 1],\n [\"saveData\", \"Save-Data\", 1],\n [\"xAuthToken\", \"X-Auth-Token\", 1],\n [\"xTrackingId\", \"x-tracking-id\", 1],\n];\nexport var Header;\n(function (Header) {\n function is(value) {\n function isString(value) {\n return value == undefined || typeof value == \"string\";\n }\n function isStringArray(value) {\n return value == undefined || (Array.isArray(value) && value.every(v => typeof v == \"string\"));\n }\n return (typeof value == \"object\" && fields.every(field => (field[2] == 1 ? isString : isStringArray)(value[field[0]])));\n }\n Header.is = is;\n function to(header) {\n return Object.fromEntries(Object.entries(header).map(([name, value]) => {\n const field = fields.find(([camelCase, n, l]) => camelCase == name);\n return [field ? field[1] : CamelCase.from(name), Array.isArray(value) ? value.join(\", \") : value];\n }));\n }\n Header.to = to;\n function from(headers) {\n return Object.fromEntries((Array.isArray(headers)\n ? headers.map(([field, ...value]) => [field, value.join(\", \")])\n : isHeaders(headers)\n ? [...headers]\n : Object.entries(headers)).map(([name, value]) => {\n const field = fields.find(([c, n, l]) => name.toLowerCase() == n.toLowerCase());\n return field\n ? [field[0], field[2] == 1 || typeof value != \"string\" ? value : value.split(\",\").map(v => v.trim())]\n : [CamelCase.to(name), value];\n }));\n }\n Header.from = from;\n function toString(header) {\n return Object.entries(header)\n .map(([header, value]) => header + \": \" + value)\n .join(\"\\n\");\n }\n Header.toString = toString;\n function isHeaders(value) {\n return typeof value.entries == \"function\";\n }\n})(Header || (Header = {}));\n//# sourceMappingURL=Header.js.map","import { Method } from \"../Method\";\nimport * as Parser from \"../Parser\";\nimport * as Serializer from \"../Serializer\";\nimport { Header as RequestHeader } from \"./Header\";\nexport var Request;\n(function (Request) {\n function is(value) {\n return (typeof value == \"object\" &&\n Object.keys(value).every(key => [\"method\", \"url\", \"parameter\", \"search\", \"remote\", \"header\", \"body\"].some(k => k == key)) &&\n Method.is(value.method) &&\n value.url instanceof URL &&\n typeof value.parameter == \"object\" &&\n Object.entries(value.parameter).every(([parameter, value]) => typeof parameter == \"string\" && typeof value == \"string\") &&\n typeof value.search == \"object\" &&\n Object.entries(value.search).every(([key, value]) => typeof key == \"string\" && typeof value == \"string\") &&\n (value.remote == undefined || typeof value.remote == \"string\") &&\n (value.header == undefined || RequestHeader.is(value.header)));\n }\n Request.is = is;\n async function to(request) {\n const r = is(request) ? request : create(request);\n const header = r.header.contentType?.startsWith(\"multipart/form-data\")\n ? (({ contentType, ...header }) => header)(r.header)\n : r.header;\n return {\n url: r.url.toString(),\n method: r.method,\n headers: RequestHeader.to(header),\n body: [\"GET\", \"HEAD\"].some(v => v == r.method)\n ? undefined\n : await Serializer.serialize(await r.body, r.header.contentType),\n };\n }\n Request.to = to;\n function from(request) {\n const url = new URL(request.url);\n return {\n method: Method.parse(request.method) ?? \"GET\",\n url,\n header: RequestHeader.from(request.headers),\n parameter: {},\n search: Object.fromEntries(url.searchParams.entries()),\n body: Parser.parse(request),\n ...(\"cf\" in request && { cloudflare: request.cf }),\n };\n }\n Request.from = from;\n function create(request) {\n let result;\n if (typeof request == \"string\")\n result = create({ url: request });\n else {\n const url = typeof request.url == \"string\" ? new URL(request.url) : request.url;\n result = {\n method: Method.parse(request.method) ?? \"GET\",\n url,\n parameter: request.parameter ?? {},\n search: { ...request.search, ...Object.fromEntries(url.searchParams.entries()) },\n remote: request.remote,\n header: request.header ?? {},\n body: request.body,\n };\n }\n return result;\n }\n Request.create = create;\n let Header;\n (function (Header) {\n Header.is = RequestHeader.is;\n Header.from = RequestHeader.from;\n Header.to = RequestHeader.to;\n })(Header = Request.Header || (Request.Header = {}));\n})(Request || (Request = {}));\n//# sourceMappingURL=index.js.map","const PlatformRequest = typeof Request != \"undefined\" ? Request : globalThis.Request;\nconst PlatformResponse = typeof Response != \"undefined\" ? Response : globalThis.Response;\nexport { PlatformRequest as Request, PlatformResponse as Response };\n//# sourceMappingURL=Platform.js.map","var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar _Socket_instances, _Socket_receiveQueue, _Socket_sendQueue, _Socket_closed, _Socket_backend, _Socket_onMessage, _Socket_onClose, _Socket_handleOpen, _Socket_onOpen;\nexport class Socket {\n get state() {\n return __classPrivateFieldGet(this, _Socket_closed, \"f\") ? \"closed\" : \"opened\";\n }\n set onMessage(value) {\n if (__classPrivateFieldGet(this, _Socket_receiveQueue, \"f\").length && value) {\n __classPrivateFieldGet(this, _Socket_receiveQueue, \"f\").forEach(value);\n __classPrivateFieldSet(this, _Socket_receiveQueue, [], \"f\");\n }\n __classPrivateFieldSet(this, _Socket_onMessage, value, \"f\");\n }\n set onClose(value) {\n if (this.state == \"closed\" && value)\n value();\n __classPrivateFieldSet(this, _Socket_onClose, value, \"f\");\n }\n set onOpen(value) {\n if (this.state == \"opened\" && value)\n value();\n __classPrivateFieldSet(this, _Socket_onOpen, value, \"f\");\n }\n constructor(backend, isOpen) {\n _Socket_instances.add(this);\n _Socket_receiveQueue.set(this, []);\n _Socket_sendQueue.set(this, []);\n _Socket_closed.set(this, false);\n _Socket_backend.set(this, void 0);\n _Socket_onMessage.set(this, void 0);\n _Socket_onClose.set(this, void 0);\n _Socket_onOpen.set(this, void 0);\n __classPrivateFieldSet(this, _Socket_backend, backend, \"f\");\n if (isOpen)\n __classPrivateFieldSet(this, _Socket_sendQueue, undefined, \"f\");\n __classPrivateFieldGet(this, _Socket_backend, \"f\").addEventListener(\"open\", () => {\n if (__classPrivateFieldGet(this, _Socket_onOpen, \"f\"))\n __classPrivateFieldGet(this, _Socket_onOpen, \"f\").call(this);\n __classPrivateFieldGet(this, _Socket_instances, \"m\", _Socket_handleOpen).bind(this);\n });\n __classPrivateFieldGet(this, _Socket_backend, \"f\").addEventListener(\"message\", async (event) => {\n const data = this.processReceived(event.data);\n __classPrivateFieldGet(this, _Socket_instances, \"m\", _Socket_handleOpen).call(this);\n if (__classPrivateFieldGet(this, _Socket_onMessage, \"f\"))\n __classPrivateFieldGet(this, _Socket_onMessage, \"f\").call(this, data);\n else\n __classPrivateFieldGet(this, _Socket_receiveQueue, \"f\")?.push(data);\n });\n __classPrivateFieldGet(this, _Socket_backend, \"f\").addEventListener(\"close\", () => {\n if (__classPrivateFieldGet(this, _Socket_onClose, \"f\"))\n __classPrivateFieldGet(this, _Socket_onClose, \"f\").call(this);\n __classPrivateFieldSet(this, _Socket_closed, true, \"f\");\n });\n }\n send(message) {\n if (__classPrivateFieldGet(this, _Socket_sendQueue, \"f\"))\n __classPrivateFieldGet(this, _Socket_sendQueue, \"f\").push(this.processSend(message));\n else\n __classPrivateFieldGet(this, _Socket_backend, \"f\").send(this.processSend(message));\n }\n}\n_Socket_receiveQueue = new WeakMap(), _Socket_sendQueue = new WeakMap(), _Socket_closed = new WeakMap(), _Socket_backend = new WeakMap(), _Socket_onMessage = new WeakMap(), _Socket_onClose = new WeakMap(), _Socket_onOpen = new WeakMap(), _Socket_instances = new WeakSet(), _Socket_handleOpen = function _Socket_handleOpen() {\n __classPrivateFieldGet(this, _Socket_sendQueue, \"f\")?.forEach(buffer => __classPrivateFieldGet(this, _Socket_backend, \"f\").send(buffer));\n __classPrivateFieldSet(this, _Socket_sendQueue, undefined, \"f\");\n};\n//# sourceMappingURL=Socket.js.map","import { Socket } from \"./Socket\";\nexport class ArrayBuffer extends Socket {\n processReceived(data) {\n return data?.arrayBuffer\n ? data.arrayBuffer()\n : typeof data == \"string\"\n ? new TextEncoder().encode(data).buffer\n : data;\n }\n processSend(data) {\n return data;\n }\n}\n//# sourceMappingURL=ArrayBuffer.js.map","import { Socket } from \"./Socket\";\nexport class Json extends Socket {\n processReceived(data) {\n return JSON.parse(data?.arrayBuffer\n ? new TextDecoder().decode(data.arrayBuffer())\n : typeof data != \"string\"\n ? new TextDecoder().decode(data)\n : data);\n }\n processSend(data) {\n return JSON.stringify(data);\n }\n}\n//# sourceMappingURL=Json.js.map","import { Socket } from \"./Socket\";\nexport class String extends Socket {\n processReceived(data) {\n return data?.arrayBuffer\n ? new TextDecoder().decode(data.arrayBuffer())\n : typeof data != \"string\"\n ? new TextDecoder().decode(data)\n : data;\n }\n processSend(data) {\n return data;\n }\n}\n//# sourceMappingURL=String.js.map","var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar _Factory_json, _Factory_string, _Factory_arrayBuffer;\nimport { ArrayBuffer as SocketArrayBuffer } from \"./ArrayBuffer\";\nimport { Json as SocketJson } from \"./Json\";\nimport { String as SocketString } from \"./String\";\nexport class Factory {\n get json() {\n if (!__classPrivateFieldGet(this, _Factory_json, \"f\"))\n __classPrivateFieldSet(this, _Factory_json, new SocketJson(this.backend, this.isOpen), \"f\");\n return __classPrivateFieldGet(this, _Factory_json, \"f\");\n }\n get string() {\n if (!__classPrivateFieldGet(this, _Factory_string, \"f\"))\n __classPrivateFieldSet(this, _Factory_string, new SocketString(this.backend, this.isOpen), \"f\");\n return __classPrivateFieldGet(this, _Factory_string, \"f\");\n }\n get arrayBuffer() {\n if (!__classPrivateFieldGet(this, _Factory_arrayBuffer, \"f\"))\n __classPrivateFieldSet(this, _Factory_arrayBuffer, new SocketArrayBuffer(this.backend, this.isOpen), \"f\");\n return __classPrivateFieldGet(this, _Factory_arrayBuffer, \"f\");\n }\n constructor(backend, isOpen) {\n this.backend = backend;\n this.isOpen = isOpen;\n _Factory_json.set(this, void 0);\n _Factory_string.set(this, void 0);\n _Factory_arrayBuffer.set(this, void 0);\n }\n createResponse(header = {}) {\n return { status: 101, socket: this, header };\n }\n close(code, reason) {\n this.backend.close(code, reason);\n }\n}\n_Factory_json = new WeakMap(), _Factory_string = new WeakMap(), _Factory_arrayBuffer = new WeakMap();\n//# sourceMappingURL=Factory.js.map","import { Factory as SocketFactory } from \"./Factory\";\nexport var Socket;\n(function (Socket) {\n Socket.Factory = SocketFactory;\n})(Socket || (Socket = {}));\n//# sourceMappingURL=index.js.map","import * as CamelCase from \"../CamelCase\";\nconst fields = [\n [\"accessControlAllowOrigin\", \"Access-Control-Allow-Origin\", 1],\n [\"accessControlAllowCredentials\", \"Access-Control-Allow-Credentials\", 1],\n [\"accessControlExposeHeaders\", \"Access-Control-Expose-Headers\", 2],\n [\"accessControlMaxAge\", \"Access-Control-Max-Age\", 1],\n [\"accessControlAllowMethods\", \"Access-Control-Allow-Methods\", 2],\n [\"accessControlAllowHeaders\", \"Access-Control-Allow-Headers\", 2],\n [\"acceptPatch\", \"Accept-Patch\", 1],\n [\"acceptRanges\", \"Accept-Ranges\", 1],\n [\"age\", \"Age\", 1],\n [\"allow\", \"Allow\", 2],\n [\"altSvc\", \"Alt-Svc\", 1],\n [\"cacheControl\", \"Cache-Control\", 1],\n [\"cfConnectionIp\", \"CF-Connecting-IP\", 1],\n [\"cfIpCountry\", \"CF-IPCountry\", 1],\n [\"connection\", \"Connection\", 1],\n [\"contentDisposition\", \"Content-Disposition\", 1],\n [\"contentEncoding\", \"Content-Encoding\", 1],\n [\"contentLanguage\", \"Content-Language\", 2],\n [\"contentLength\", \"Content-Length\", 1],\n [\"contentLocation\", \"Content-Location\", 1],\n [\"contentMD5\", \"Content-MD5\", 1],\n [\"contentRange\", \"Content-Range\", 1],\n [\"contentSecurityPolicy\", \"Content-Security-Policy\", 1],\n [\"contentType\", \"Content-Type\", 1],\n [\"date\", \"Date\", 1],\n [\"deltaBase\", \"Delta-Base\", 1],\n [\"eTag\", \"ETag\", 1],\n [\"expires\", \"Expires\", 1],\n [\"iM\", \"IM\", 1],\n [\"lastModified\", \"Last-Modified\", 1],\n [\"link\", \"Link\", 1],\n [\"location\", \"Location\", 1],\n [\"p3P\", \"P3P\", 1],\n [\"pragma\", \"Pragma\", 1],\n [\"proxyAuthenticate\", \"Proxy-Authenticate\", 1],\n [\"publicKeyPins\", \"Public-Key-Pins\", 1],\n [\"refresh\", \"Refresh\", 1],\n [\"retryAfter\", \"Retry-After\", 1],\n [\"server\", \"Server\", 1],\n [\"setCookie\", \"Set-Cookie\", 1],\n [\"status\", \"Status\", 1],\n [\"strictTransportSecurity\", \"Strict-Transport-Security\", 1],\n [\"timingAllowOrigin\", \"Timing-Allow-Origin\", 2],\n [\"trailer\", \"Trailer\", 1],\n [\"transferEncoding\", \"Transfer-Encoding\", 1],\n [\"tk\", \"Tk\", 1],\n [\"upgrade\", \"Upgrade\", 2],\n [\"vary\", \"Vary\", 2],\n [\"via\", \"Via\", 1],\n [\"warning\", \"Warning\", 1],\n [\"wwwAuthenticate\", \"WWW-Authenticate\", 1],\n [\"xContentDuration\", \"X-Content-Duration\", 1],\n [\"xContentSecurityPolicy\", \"X-Content-Security-Policy\", 1],\n [\"xContentTypeOptions\", \"X-Content-Type-Options\", 1],\n [\"xCorrelationId\", \"X-Correlation-ID\", 1],\n [\"xFrameOptions\", \"X-Frame-Options\", 1],\n [\"xMsContinuation\", \"X-Ms-Continuation\", 1],\n [\"xPoweredBy\", \"X-Powered-By\", 1],\n [\"xRequestId\", \"X-Request-ID\", 1],\n [\"xUACompatible\", \"X-UA-Compatible\", 1],\n [\"xWebkitCsp\", \"X-WebKit-CSP\", 1],\n [\"xXssProtection\", \"X-XSS-Protection\", 1],\n];\nexport var Header;\n(function (Header) {\n function is(value) {\n function isString(value) {\n return value == undefined || typeof value == \"string\";\n }\n function isStringArray(value) {\n return value == undefined || (Array.isArray(value) && value.every(v => typeof v == \"string\"));\n }\n return (typeof value == \"object\" && fields.every(field => (field[2] == 1 ? isString : isStringArray)(value[field[0]])));\n }\n Header.is = is;\n function to(header) {\n return Object.fromEntries(Object.entries(header).map(([name, value]) => {\n const field = fields.find(([camelCase, ..._]) => camelCase == name);\n return [field ? field[1] : CamelCase.from(name), Array.isArray(value) ? value.join(\", \") : value];\n }));\n }\n Header.to = to;\n function from(headers) {\n return Object.fromEntries((Array.isArray(headers)\n ? headers.map(([field, ...value]) => [field, value.join(\", \")])\n : isHeaders(headers)\n ? getEntries(headers)\n : Object.entries(headers)).map(([name, value]) => {\n const field = fields.find(([c, n, l]) => name.toLowerCase() == n.toLowerCase());\n return field\n ? [field[0], field[2] == 1 || typeof value != \"string\" ? value : value.split(\",\").map(v => v.trim())]\n : [CamelCase.to(name), value];\n }));\n }\n Header.from = from;\n function toString(header) {\n return Object.entries(header)\n .map(([header, value]) => header + \": \" + value)\n .join(\"\\n\");\n }\n Header.toString = toString;\n function isHeaders(value) {\n return typeof value.forEach == \"function\";\n }\n function getEntries(headers) {\n const result = [];\n headers.forEach((value, key) => result.push([key, value]));\n return result;\n }\n})(Header || (Header = {}));\n//# sourceMappingURL=Header.js.map","import { Header } from \"./Header\";\nexport var Like;\n(function (Like) {\n function is(value) {\n return (typeof value == \"object\" &&\n Object.keys(value).every(key => [\"status\", \"header\", \"body\", \"socket\"].some(property => property == key)) &&\n (value.status == undefined || typeof value.status == \"number\") &&\n (value.header == undefined || Header.is(value.header)) &&\n (value.socket == undefined ||\n (typeof value.socket.close == \"function\" &&\n typeof value.socket.json?.send == \"function\" &&\n typeof value.socket.string?.send == \"function\" &&\n typeof value.socket.arrayBuffer?.send == \"function\")) &&\n (value.status != undefined || value.header != undefined || value.body != undefined));\n }\n Like.is = is;\n})(Like || (Like = {}));\n//# sourceMappingURL=Like.js.map","import * as Parser from \"../Parser\";\nimport * as Platform from \"../Platform\";\nimport * as Serializer from \"../Serializer\";\nimport { Socket } from \"../Socket\";\nimport { Header as ResponseHeader } from \"./Header\";\nimport { Like as ResponseLike } from \"./Like\";\nexport var Response;\n(function (Response) {\n function is(value) {\n return (typeof value == \"object\" &&\n Object.keys(value).every(key => [\"status\", \"header\", \"body\", \"socket\"].some(k => k == key)) &&\n (value.status == undefined || typeof value.status == \"number\") &&\n (value.header == undefined || ResponseHeader.is(value.header)) &&\n (value.socket == undefined || value.socket instanceof WebSocket));\n }\n Response.is = is;\n async function to(request) {\n return new Platform.Response(await Serializer.serialize(await request.body, request.header.contentType), {\n status: request.status,\n headers: new Headers(ResponseHeader.to(!request.header.contentType?.startsWith(\"multipart/formdata\")\n ? request.header\n : (({ contentType, ...header }) => header)(request.header))),\n ...(request.socket && {\n webSocket: { ...request.socket.createResponse().socket }?.backend,\n }),\n });\n }\n Response.to = to;\n function from(response) {\n return {\n status: response.status,\n header: ResponseHeader.from(response.headers),\n body: response.status == 101 ? undefined : Parser.parse(response),\n ...(response.webSocket && { socket: new Socket.Factory(response.webSocket) }),\n };\n }\n Response.from = from;\n function create(response, contentType) {\n const result = ResponseLike.is(response)\n ? {\n status: 200,\n header: {},\n body: undefined,\n ...(response.socket && { socket: response.socket }),\n ...response,\n }\n : typeof response?.createResponse == \"function\" && (contentType == undefined || ResponseHeader.is(contentType))\n ? response.createResponse(contentType)\n : {\n status: (typeof response == \"object\" && typeof response.status == \"number\" && response.status) || 200,\n header: typeof response == \"object\"\n ? {\n ...response.header,\n ...((response.status == 301 || response.status == 302) && response.location\n ? { location: response.location }\n : {}),\n }\n : {},\n body: !(typeof response == \"object\" && !Array.isArray(response)) ||\n response instanceof ArrayBuffer ||\n ArrayBuffer.isView(response) ||\n response instanceof FormData\n ? response\n : (({ header, ...body }) => body)(response),\n ...((response.webSocket && { socket: new Socket.Factory(response.webSocket) }) ||\n (response.socket && { socket: response.socket })),\n };\n if (!result.header.contentType)\n switch (typeof result.body) {\n case \"undefined\":\n break;\n default:\n case \"object\":\n result.header.contentType =\n typeof contentType == \"string\"\n ? contentType\n : contentType?.contentType\n ? contentType.contentType\n : result.body instanceof FormData\n ? \"multipart/formdata\"\n : result.body instanceof ArrayBuffer || ArrayBuffer.isView(result.body)\n ? isPdf(result.body)\n ? \"application/pdf\"\n : \"application/octet-stream\"\n : \"application/json; charset=utf-8\";\n break;\n case \"string\":\n result.header.contentType =\n result.body.slice(0, 9).toLowerCase() == \"<!doctype\"\n ? \"text/html; charset=utf-8\"\n : /^[A-Za-z0-9-_=]+\\.[A-Za-z0-9-_=]+\\.?[A-Za-z0-9-_.+/=]*$/.test(result.body)\n ? \"application/jwt; charset=utf-8\"\n : /^<\\?xml version=(.|\\n)*\\?>(.|\\n)*<svg(.|\\n)*<\\/svg>$/.test(result.body)\n ? \"image/svg+xml\"\n : \"text/plain; charset=utf-8\";\n break;\n }\n return result;\n }\n Response.create = create;\n function isPdf(body) {\n const bytes = new Uint8Array(ArrayBuffer.isView(body) ? body.buffer : body).slice(0, 4);\n return [37, 80, 68, 70].every((current, index) => current == bytes[index]);\n }\n Response.Header = ResponseHeader;\n Response.Like = ResponseLike;\n})(Response || (Response = {}));\n//# sourceMappingURL=index.js.map","import { Request } from \"./Request\";\nimport { Response } from \"./Response\";\nexport const fetch = create(globalThis.fetch);\nfetch.create = create;\nfunction create(fetch) {\n return async (request) => {\n const r = Request.create(request);\n return Response.from(await fetch(r.url.toString(), await Request.to(r)));\n };\n}\n//# sourceMappingURL=fetch.js.map","export var FormData;\n(function (FormData) {\n function to(data) {\n const result = new globalThis.FormData();\n result.append(\"*\", new globalThis.Blob([new TextEncoder().encode(JSON.stringify(toHelperObject(data, \"\", result)))], {\n type: \"application/json; charset=utf-8\",\n }));\n return result;\n }\n FormData.to = to;\n function toHelperObject(data, name, form) {\n return Object.entries(data).reduce((result, [key, value]) => {\n value instanceof Blob\n ? form.append(name ? `${name}.${key}` : key, value)\n : typeof value == \"object\" && value\n ? Array.isArray(value)\n ? (result[key] = toHelperArray(value, name ? `${name}.${key}` : key, form))\n : (result[key] = toHelperObject(value, name ? `${name}.${key}` : key, form))\n : (result[key] = value);\n return result;\n }, {});\n }\n function toHelperArray(data, name, form) {\n return data.reduce((result, value) => {\n typeof value == \"object\" && value\n ? Array.isArray(value)\n ? result.push(toHelperArray(value, name, form))\n : result.push(toHelperObject(value, name, form))\n : result.push(value);\n return result;\n }, []);\n }\n async function from(form) {\n const result = {};\n for (const [name, value] of form.entries())\n await set(result, name.split(\".\"), value);\n return result;\n }\n FormData.from = from;\n async function set(data, [head, ...tail], value) {\n if (tail.length == 0)\n value instanceof Blob && value.type.startsWith(\"application/json\")\n ? head == \"*\"\n ? merge(data, JSON.parse(await value.text()))\n : typeof data[head] == \"object\" && data[head]\n ? merge(data[head], JSON.parse(await value.text()))\n : (data[head] = JSON.parse(await value.text()))\n : (data[head] = value);\n else\n set(typeof data[head] == \"object\" && data[head] ? data[head] : (data[head] = {}), tail, value);\n }\n function merge(target, ...sources) {\n if (sources.length) {\n const [head, ...tail] = sources;\n Object.entries(head).forEach(([key, value]) => isObject(value)\n ? merge(isObject(target[key]) ? target[key] : (target[key] = {}), value)\n : (target[key] = head[key]));\n merge(target, ...tail);\n }\n }\n function isObject(value) {\n return value && typeof value == \"object\" && !Array.isArray(value);\n }\n FormData.isObject = isObject;\n})(FormData || (FormData = {}));\n//# sourceMappingURL=FormData.js.map","export function stringify(data) {\n const result = [];\n const map = (key, value) => {\n switch (typeof value) {\n default:\n case \"bigint\":\n case \"boolean\":\n case \"number\":\n case \"string\":\n result.push(`${key}=${encodeURIComponent(value.toString())}`);\n break;\n case \"undefined\":\n break;\n case \"object\":\n for (const property in value)\n if (Object.prototype.hasOwnProperty.call(value, property))\n map(key ? key + `[${property}]` : property, value[property]);\n break;\n }\n };\n map(\"\", data);\n return result.join(\"&\");\n}\nexport function parse(data) {\n const convertArrays = (target) => {\n return typeof target == \"object\" &&\n Object.keys(target)\n .sort()\n .every((k, i) => `${k}` == `${i}`)\n ? Object.entries(target)\n .sort()\n .map(entry => (typeof entry[1] == \"object\" ? convertArrays(entry[1]) : entry[1]))\n : typeof target == \"object\"\n ? Object.fromEntries(Object.entries(target).map(entry => [entry[0], convertArrays(entry[1])]))\n : target;\n };\n const insert = (target, key, value) => {\n target[key[0]] = key.length > 1 ? insert(target[key[0]] ?? {}, key.slice(1), value) : value;\n return target;\n };\n const entries = data\n .split(\"&\")\n .map(d => d.split(\"=\", 2))\n .map(([k, v]) => [\n decodeURIComponent(k)\n .split(\"[\")\n .map(p => p.replace(\"]\", \"\")),\n decodeURIComponent(v.replace(/\\+/g, \" \")),\n ]);\n return entries.reduce((result, [key, value]) => convertArrays(insert(result, key, value)), {});\n}\n//# sourceMappingURL=Search.js.map","import { Client } from \"./Client\";\nimport { fetch } from \"./fetch\";\nimport { FormData } from \"./FormData\";\nimport * as http from \"./http\";\nimport { Method } from \"./Method\";\nimport * as Parser from \"./Parser\";\nimport { Request } from \"./Request\";\nimport { Response } from \"./Response\";\nimport * as Search from \"./Search\";\nimport * as Serializer from \"./Serializer\";\nimport { Socket } from \"./Socket\";\nParser.add(async (request) => await request.text(), \"text/plain\", \"text/html\");\nParser.add(async (request) => await request.json(), \"application/json\");\nParser.add(async (request) => FormData.from(await request.formData()), \"multipart/form-data\");\nParser.add(async (request) => Search.parse(await request.text()), \"application/x-www-form-urlencoded\");\nSerializer.add(async (body) => (typeof body == \"string\" ? body : body.toString()), \"text/plain\", \"text/html\");\nSerializer.add(async (body) => JSON.stringify(body), \"application/json\");\nSerializer.add(async (body) => Search.stringify(body), \"application/x-www-form-urlencoded\");\nSerializer.add(async (body) => (body instanceof globalThis.FormData ? body : FormData.to(body)), \"multipart/form-data\");\nexport { Client, fetch, FormData, Method, Parser, Request, Response, Search, Serializer, Socket, http };\n//# sourceMappingURL=index.js.map","export interface Clearable {\n\tclear(): Promise<void>\n}\nexport namespace Clearable {\n\texport function is(value: Clearable | any): value is Clearable {\n\t\treturn value && typeof value == \"object\" && typeof value.clear == \"function\"\n\t}\n}\n","smoothly-form {\n\tdisplay: block;\n\tposition: relative;\n\t--background-color: var(--smoothly-color-shade);\n\t--text-color: var(--smoothly-color-contrast)\n}\nsmoothly-form > form {\n\tposition: relative;\n\tmin-width: 15em;\n}\nsmoothly-form > form > fieldset {\n\tdisplay: flex;\n\tflex-flow: row wrap;\n\tmargin-inline-start: unset;\n\tmargin-inline-end: unset;\n\tpadding-block-start: unset;\n\tpadding-inline-start: unset;\n\tpadding-inline-end: unset;\n\tpadding-block-end: unset;\n\tmin-inline-size: unset;\n\tborder-width: unset;\n\tborder-style: unset;\n\tborder-color: unset;\n\tborder-image: unset;\n}\nsmoothly-form > form > fieldset > * {\n\tflex-grow: 1;\n\tmin-width: 10em;\n\tflex-basis: 40%;\n}\nsmoothly-form[looks=\"grid\"] > form > fieldset {\n\tborder: rgba(var(--text-color), .5) solid .5px;\n}\nsmoothly-form[looks=\"line\"] > form > fieldset,\nsmoothly-form[looks=\"border\"] > form > fieldset {\n\tgap: 2em\n}\n\nsmoothly-form > form > div {\n\tdisplay: flex;\n\tjustify-content: end;\n\tgap: 1em;\n}\n","import { Component, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from \"@stencil/core\"\nimport { http } from \"cloudly-http\"\nimport { Color } from \"../../model\"\nimport { Data } from \"../../model/Data\"\nimport { Notice } from \"../../model/Notice\"\nimport { Changeable } from \"../input/Changeable\"\nimport { Clearable } from \"../input/Clearable\"\nimport { Looks } from \"../input/Looks\"\nimport { Submittable } from \"../input/Submittable\"\n\n@Component({\n\ttag: \"smoothly-form\",\n\tstyleUrl: \"style.css\",\n})\nexport class SmoothlyForm implements Changeable, Clearable, Submittable {\n\tprivate clearables = new Map<string, Clearable>()\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ mutable: true }) value: Readonly<Data> = {}\n\t@Prop({ reflect: true, attribute: \"looks\" }) looks: \"plain\" | \"grid\" | \"border\" | \"line\" = \"plain\"\n\t@Prop() name?: string\n\t@Prop() method?: \"GET\" | \"POST\"\n\t@Prop() action?: string\n\t@Prop({ mutable: true, reflect: true }) processing: boolean\n\t@Prop() prevent = true\n\t@Event() smoothlyFormInput: EventEmitter<Data>\n\t@Event() smoothlyFormSubmit: EventEmitter<Data>\n\t@State() notice?: Notice\n\t@Prop({ mutable: true, reflect: true }) changed = false\n\tprivate listeners: { changed?: ((parent: Changeable) => Promise<void>)[] } = {}\n\n\tlisten(property: \"changed\", listener: (parent: Changeable) => Promise<void>): void {\n\t\t;(this.listeners[property] ??= []).push(listener)\n\t\tlistener(this)\n\t}\n\t@Watch(\"value\")\n\twatchValue() {\n\t\tthis.changed = Object.values(this.value).filter(value => Boolean(value)).length > 0\n\t\tthis.listeners.changed?.forEach(l => l(this))\n\t}\n\t@Listen(\"smoothlyInputLooks\")\n\tsmoothlyInputLooksHandler(event: CustomEvent<(looks: Looks, color: Color | undefined) => void>) {\n\t\tevent.stopPropagation()\n\t\tevent.detail(this.looks, this.color)\n\t}\n\t@Listen(\"smoothlyInput\")\n\tasync smoothlyInputHandler(event: CustomEvent<Record<string, any>>): Promise<void> {\n\t\tthis.notice = undefined\n\t\tthis.smoothlyFormInput.emit(\n\t\t\t(this.value = Object.entries(event.detail).reduce(\n\t\t\t\t(r, [name, value]) => Data.set(r, name.split(\".\"), value),\n\t\t\t\tthis.value\n\t\t\t))\n\t\t)\n\t\tif (Clearable.is(event.target)) {\n\t\t\tconst clearable = event.target\n\t\t\tObject.keys(event.detail).forEach(key => this.clearables.set(key, clearable))\n\t\t}\n\t}\n\t@Listen(\"smoothlySubmit\")\n\tasync smoothlySubmitHandler(event: CustomEvent): Promise<void> {\n\t\tthis.processing = true\n\t\tthis.submit()\n\t\tthis.processing = false\n\t}\n\t@Listen(\"smoothlyInputLoad\")\n\tasync SmoothlyInputLoadHandler(event: CustomEvent<(parent: SmoothlyForm) => void>): Promise<void> {\n\t\tevent.detail(this)\n\t}\n\t@Method()\n\tasync submit(): Promise<void> {\n\t\tthis.smoothlyFormSubmit.emit(this.value)\n\t\tif (this.action) {\n\t\t\tconst response = await http.fetch(\n\t\t\t\tthis.method == \"POST\"\n\t\t\t\t\t? { method: \"POST\", url: this.action, body: this.value }\n\t\t\t\t\t: { url: `${this.action}?${http.Search.stringify(this.value)}` }\n\t\t\t)\n\t\t\tif (response.status >= 200 && response.status < 300) {\n\t\t\t\tthis.notice = Notice.succeeded(\"Form sucessfully submitted.\")\n\t\t\t\tawait this.clear()\n\t\t\t} else\n\t\t\t\tthis.notice = Notice.failed(\"Failed to submit form.\")\n\t\t}\n\t}\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tnew Set(this.clearables.values()).forEach(clearable => clearable.clear())\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t{this.notice ? <smoothly-notification notice={this.notice}></smoothly-notification> : []}\n\t\t\t\t<smoothly-spinner active={this.processing}></smoothly-spinner>\n\t\t\t\t<form onSubmit={!this.prevent ? undefined : e => e.preventDefault()} name={this.name}>\n\t\t\t\t\t<fieldset>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</fieldset>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<slot name=\"clear\"></slot>\n\t\t\t\t\t\t<slot name=\"submit\"></slot>\n\t\t\t\t\t</div>\n\t\t\t\t</form>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n}\n:host[hidden] {\n\tdisplay: none;\n}\n:host > iframe {\n\tborder: none;\n\tpadding: none;\n\tmargin: none;\n}\n","import { Component, Element, Event, EventEmitter, Method, Prop } from \"@stencil/core\"\nimport { Message, Trigger } from \"../../model\"\n\n@Component({\n\ttag: \"smoothly-frame\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyFrame {\n\t@Prop() url: string\n\t@Prop() name: string\n\t@Event() trigger: EventEmitter<Trigger>\n\t@Event() message2: EventEmitter<Message<any>>\n\t@Element() element?: HTMLElement\n\tget contentWindow(): Window | undefined {\n\t\tconst iframe =\n\t\t\tthis.element && this.element.firstElementChild ? (this.element.firstElementChild as HTMLIFrameElement) : undefined\n\t\treturn (iframe && iframe.contentWindow) || undefined\n\t}\n\t@Prop()\n\torigin: string | undefined\n\n\tget defaultOrigin(): string {\n\t\tconst match = this.url.match(/^(([a-z]+\\+)*[a-z]+:\\/\\/)?[^/^\\n]+/)\n\t\treturn match ? match[0] : \"*\"\n\t}\n\tcomponentDidLoad() {\n\t\tif (this.contentWindow)\n\t\t\tMessage.listen(\n\t\t\t\tthis.origin ?? this.defaultOrigin,\n\t\t\t\t(destination: string, content: any) => {\n\t\t\t\t\tif (destination == this.name)\n\t\t\t\t\t\tif (Trigger.is(content))\n\t\t\t\t\t\t\tthis.trigger.emit(content)\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tthis.message2.emit({ destination, content })\n\t\t\t\t},\n\t\t\t\twindow\n\t\t\t)\n\t}\n\tsend(message2: Message<any>): void\n\tsend(destination: string, content: Trigger | any): void\n\t@Method()\n\tasync send(message2: string | Message<any>, content?: Trigger | any): Promise<void> {\n\t\tif (typeof message2 == \"string\")\n\t\t\tMessage.send((this.origin ?? this.defaultOrigin) + \"#\" + message2, content, this.contentWindow)\n\t\telse if (Message.is(message2) && this.contentWindow)\n\t\t\tMessage.send(\n\t\t\t\t{\n\t\t\t\t\tdestination: (this.origin ?? this.defaultOrigin) + \"#\" + message2.destination,\n\t\t\t\t\tcontent: message2.destination,\n\t\t\t\t},\n\t\t\t\tthis.contentWindow\n\t\t\t)\n\t}\n\n\trender() {\n\t\treturn []\n\t}\n}\n",":host[size] {\n\tbackground: none;\n}\n:host {\n\tdisplay: block;\n}\n:host[hidden] {\n\tdisplay: none;\n}\n:host[size=tiny] {\n\twidth: 1.2em;\n\theight: 1.2em;\n}\n:host[size=small] {\n\twidth: 1.4em;\n\theight: 1.4em;\n}\n:host[size=medium] {\n\twidth: 1.8em;\n\theight: 1.8em;\n}\n:host[size=large] {\n\twidth: 2.8em;\n\theight: 2.8em;\n}\n:host[size=xlarge] {\n\twidth: 4em;\n\theight: 4em;\n}\n","import { Component, h, Host, Prop, State, Watch } from \"@stencil/core\"\nimport { Color, Fill } from \"../../model\"\nimport { Icon } from \"../../model\"\n\n@Component({\n\ttag: \"smoothly-icon\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyIcon {\n\t@Prop({ reflect: true }) color: Color\n\t@Prop({ reflect: true }) fill: Fill = \"solid\"\n\t@Prop({ reflect: true }) name: Icon | \"empty\" = \"empty\"\n\t@Prop({ reflect: true }) size: \"tiny\" | \"small\" | \"medium\" | \"large\" = \"medium\"\n\t@Prop() toolTip?: string\n\t@State() document?: string\n\t@Watch(\"name\")\n\tasync componentWillLoad() {\n\t\tlet result: string | undefined\n\t\tif (this.name != \"empty\") {\n\t\t\tresult = await Icon.load(this.name)\n\t\t\tresult = result\n\t\t\t\t?.replace(/(?<=^<svg\\s?)/, `$& role=\"img\"`)\n\t\t\t\t.replace(` width=\"512\" height=\"512\"`, \"\")\n\t\t\t\t.replace(/stroke:#000;/gi, \"\")\n\t\t\tif (result?.includes(\"<title>\"))\n\t\t\t\tresult = result.replace(/(<title>)[\\w\\d\\s-]*(<\\/title>)/, `<title>${this.toolTip || \"\"}</title>`)\n\t\t\telse\n\t\t\t\tresult = result?.replace(/(.*>)(<\\/svg>$)/, `$1<title>${this.toolTip || \"\"}</title>$2`)\n\t\t}\n\t\tthis.document =\n\t\t\tresult ??\n\t\t\t`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n\t\t<title>Empty</title>\n\t\t</svg>`\n\t}\n\trender() {\n\t\treturn <Host innerHTML={this.document} />\n\t}\n}\n","icon-demo {\n\tdisplay: block;\n\t\n}\nicon-demo[hidden] {\n\tdisplay: none;\n}\nicon-demo > content {\n\tdisplay: flex;\n\tflex-flow: row wrap;\n}\nicon-demo > content > * {\n\tmargin: 1cm;\n}\n","import { Component, h } from \"@stencil/core\"\nimport { Icon } from \"../../model\"\n@Component({\n\ttag: \"smoothly-icon-demo\",\n\tstyleUrl: \"./style.css\",\n\tscoped: true,\n})\nexport class SmoothlyIconDemo {\n\tpage = 0\n\trender() {\n\t\treturn [\n\t\t\t<h1>Icons</h1>,\n\t\t\t<content>\n\t\t\t\t{[\n\t\t\t\t\t\"add-circle\",\n\t\t\t\t\t\"add\",\n\t\t\t\t\t\"airplane\",\n\t\t\t\t\t\"alarm\",\n\t\t\t\t\t\"albums\",\n\t\t\t\t\t\"alert-circle\",\n\t\t\t\t\t\"alert\",\n\t\t\t\t\t\"american-football\",\n\t\t\t\t\t\"analytics\",\n\t\t\t\t\t\"aperture\",\n\t\t\t\t\t\"apps\",\n\t\t\t\t\t\"archive\",\n\t\t\t\t\t\"arrow-back-circle\",\n\t\t\t\t\t\"arrow-back\",\n\t\t\t\t\t\"arrow-down-circle\",\n\t\t\t\t\t\"arrow-down\",\n\t\t\t\t\t\"arrow-forward-circle\",\n\t\t\t\t\t\"arrow-forward\",\n\t\t\t\t\t\"arrow-redo-circle\",\n\t\t\t\t\t\"arrow-redo\",\n\t\t\t\t\t\"arrow-undo-circle\",\n\t\t\t\t\t\"arrow-undo\",\n\t\t\t\t\t\"arrow-up-circle\",\n\t\t\t\t\t\"arrow-up\",\n\t\t\t\t\t\"at-circle\",\n\t\t\t\t\t\"at\",\n\t\t\t\t\t\"attach\",\n\t\t\t\t\t\"backspace\",\n\t\t\t\t\t\"bandage\",\n\t\t\t\t\t\"barbell\",\n\t\t\t\t\t\"bar-chart\",\n\t\t\t\t\t\"barcode\",\n\t\t\t\t\t\"baseball\",\n\t\t\t\t\t\"basketball\",\n\t\t\t\t\t\"basket\",\n\t\t\t\t\t\"battery-charging\",\n\t\t\t\t\t\"battery-dead\",\n\t\t\t\t\t\"battery-full\",\n\t\t\t\t\t\"battery-half\",\n\t\t\t\t\t\"beaker\",\n\t\t\t\t\t\"bed\",\n\t\t\t\t\t\"beer\",\n\t\t\t\t\t\"bicycle\",\n\t\t\t\t\t\"bluetooth\",\n\t\t\t\t\t\"boat\",\n\t\t\t\t\t\"body\",\n\t\t\t\t\t\"bonfire\",\n\t\t\t\t\t\"bookmarks\",\n\t\t\t\t\t\"bookmark\",\n\t\t\t\t\t\"book\",\n\t\t\t\t\t\"briefcase\",\n\t\t\t\t\t\"browsers\",\n\t\t\t\t\t\"brush\",\n\t\t\t\t\t\"bug\",\n\t\t\t\t\t\"build\",\n\t\t\t\t\t\"bulb\",\n\t\t\t\t\t\"business\",\n\t\t\t\t\t\"bus\",\n\t\t\t\t\t\"cafe\",\n\t\t\t\t\t\"calculator\",\n\t\t\t\t\t\"calendar\",\n\t\t\t\t\t\"call\",\n\t\t\t\t\t\"camera-reverse\",\n\t\t\t\t\t\"camera\",\n\t\t\t\t\t\"card\",\n\t\t\t\t\t\"caret-back-circle\",\n\t\t\t\t\t\"caret-back\",\n\t\t\t\t\t\"caret-down-circle\",\n\t\t\t\t\t\"caret-down\",\n\t\t\t\t\t\"caret-forward-circle\",\n\t\t\t\t\t\"caret-forward\",\n\t\t\t\t\t\"caret-up-circle\",\n\t\t\t\t\t\"caret-up\",\n\t\t\t\t\t\"car-sport\",\n\t\t\t\t\t\"car\",\n\t\t\t\t\t\"cart\",\n\t\t\t\t\t\"cash\",\n\t\t\t\t\t\"cellular\",\n\t\t\t\t\t\"chatbox-ellipses\",\n\t\t\t\t\t\"chatbox\",\n\t\t\t\t\t\"chatbubble-ellipses\",\n\t\t\t\t\t\"chatbubbles\",\n\t\t\t\t\t\"chatbubble\",\n\t\t\t\t\t\"checkbox\",\n\t\t\t\t\t\"checkmark-circle\",\n\t\t\t\t\t\"checkmark-done-circle\",\n\t\t\t\t\t\"checkmark-done\",\n\t\t\t\t\t\"checkmark\",\n\t\t\t\t\t\"chevron-back-circle\",\n\t\t\t\t\t\"chevron-back\",\n\t\t\t\t\t\"chevron-down-circle\",\n\t\t\t\t\t\"chevron-down\",\n\t\t\t\t\t\"chevron-forward-circle\",\n\t\t\t\t\t\"chevron-forward\",\n\t\t\t\t\t\"chevron-up-circle\",\n\t\t\t\t\t\"chevron-up\",\n\t\t\t\t\t\"clipboard\",\n\t\t\t\t\t\"close-circle\",\n\t\t\t\t\t\"close\",\n\t\t\t\t\t\"cloud-circle\",\n\t\t\t\t\t\"cloud-done\",\n\t\t\t\t\t\"cloud-download\",\n\t\t\t\t\t\"cloud-offline\",\n\t\t\t\t\t\"cloud\",\n\t\t\t\t\t\"cloud-upload\",\n\t\t\t\t\t\"cloudy-night\",\n\t\t\t\t\t\"cloudy\",\n\t\t\t\t\t\"code-download\",\n\t\t\t\t\t\"code-slash\",\n\t\t\t\t\t\"code\",\n\t\t\t\t\t\"code-working\",\n\t\t\t\t\t\"cog\",\n\t\t\t\t\t\"color-fill\",\n\t\t\t\t\t\"color-filter\",\n\t\t\t\t\t\"color-palette\",\n\t\t\t\t\t\"color-wand\",\n\t\t\t\t\t\"compass\",\n\t\t\t\t\t\"construct\",\n\t\t\t\t\t\"contract\",\n\t\t\t\t\t\"contrast\",\n\t\t\t\t\t\"copy\",\n\t\t\t\t\t\"create\",\n\t\t\t\t\t\"crop\",\n\t\t\t\t\t\"cube\",\n\t\t\t\t\t\"cut\",\n\t\t\t\t\t\"desktop\",\n\t\t\t\t\t\"disc\",\n\t\t\t\t\t\"document-attach\",\n\t\t\t\t\t\"documents\",\n\t\t\t\t\t\"document\",\n\t\t\t\t\t\"document-text\",\n\t\t\t\t\t\"download\",\n\t\t\t\t\t\"duplicate\",\n\t\t\t\t\t\"ear\",\n\t\t\t\t\t\"earth\",\n\t\t\t\t\t\"easel\",\n\t\t\t\t\t\"egg\",\n\t\t\t\t\t\"ellipse\",\n\t\t\t\t\t\"ellipsis-horizontal-circle\",\n\t\t\t\t\t\"ellipsis-horizontal\",\n\t\t\t\t\t\"ellipsis-vertical-circle\",\n\t\t\t\t\t\"ellipsis-vertical\",\n\t\t\t\t\t\"enter\",\n\t\t\t\t\t\"exit\",\n\t\t\t\t\t\"expand\",\n\t\t\t\t\t\"eyedrop\",\n\t\t\t\t\t\"eye-off\",\n\t\t\t\t\t\"eye\",\n\t\t\t\t\t\"fast-food\",\n\t\t\t\t\t\"female\",\n\t\t\t\t\t\"file-tray-full\",\n\t\t\t\t\t\"file-tray-stacked\",\n\t\t\t\t\t\"file-tray\",\n\t\t\t\t\t\"film\",\n\t\t\t\t\t\"filter\",\n\t\t\t\t\t\"finger-print\",\n\t\t\t\t\t\"fitness\",\n\t\t\t\t\t\"flag\",\n\t\t\t\t\t\"flame\",\n\t\t\t\t\t\"flashlight\",\n\t\t\t\t\t\"flash-off\",\n\t\t\t\t\t\"flash\",\n\t\t\t\t\t\"flask\",\n\t\t\t\t\t\"flower\",\n\t\t\t\t\t\"folder-open\",\n\t\t\t\t\t\"folder\",\n\t\t\t\t\t\"football\",\n\t\t\t\t\t\"funnel\",\n\t\t\t\t\t\"game-controller\",\n\t\t\t\t\t\"gift\",\n\t\t\t\t\t\"git-branch\",\n\t\t\t\t\t\"git-commit\",\n\t\t\t\t\t\"git-compare\",\n\t\t\t\t\t\"git-merge\",\n\t\t\t\t\t\"git-network\",\n\t\t\t\t\t\"git-pull-request\",\n\t\t\t\t\t\"glasses\",\n\t\t\t\t\t\"globe\",\n\t\t\t\t\t\"golf\",\n\t\t\t\t\t\"grid\",\n\t\t\t\t\t\"hammer\",\n\t\t\t\t\t\"hand-left\",\n\t\t\t\t\t\"hand-right\",\n\t\t\t\t\t\"happy\",\n\t\t\t\t\t\"hardware-chip\",\n\t\t\t\t\t\"headset\",\n\t\t\t\t\t\"heart-circle\",\n\t\t\t\t\t\"heart-dislike-circle\",\n\t\t\t\t\t\"heart-dislike\",\n\t\t\t\t\t\"heart-half\",\n\t\t\t\t\t\"heart\",\n\t\t\t\t\t\"help-buoy\",\n\t\t\t\t\t\"help-circle\",\n\t\t\t\t\t\"help\",\n\t\t\t\t\t\"home\",\n\t\t\t\t\t\"hourglass\",\n\t\t\t\t\t\"ice-cream\",\n\t\t\t\t\t\"images\",\n\t\t\t\t\t\"image\",\n\t\t\t\t\t\"infinite\",\n\t\t\t\t\t\"information-circle\",\n\t\t\t\t\t\"information\",\n\t\t\t\t\t\"journal\",\n\t\t\t\t\t\"keypad\",\n\t\t\t\t\t\"key\",\n\t\t\t\t\t\"language\",\n\t\t\t\t\t\"laptop\",\n\t\t\t\t\t\"layers\",\n\t\t\t\t\t\"leaf\",\n\t\t\t\t\t\"library\",\n\t\t\t\t\t\"link\",\n\t\t\t\t\t\"list-circle\",\n\t\t\t\t\t\"list\",\n\t\t\t\t\t\"locate\",\n\t\t\t\t\t\"location\",\n\t\t\t\t\t\"lock-closed\",\n\t\t\t\t\t\"lock-open\",\n\t\t\t\t\t\"log-in\",\n\t\t\t\t\t\"logo-amazon\",\n\t\t\t\t\t\"logo-amplify\",\n\t\t\t\t\t\"logo-android\",\n\t\t\t\t\t\"logo-angular\",\n\t\t\t\t\t\"logo-apple-appstore\",\n\t\t\t\t\t\"logo-apple\",\n\t\t\t\t\t\"logo-behance\",\n\t\t\t\t\t\"logo-bitbucket\",\n\t\t\t\t\t\"logo-bitcoin\",\n\t\t\t\t\t\"logo-buffer\",\n\t\t\t\t\t\"logo-capacitor\",\n\t\t\t\t\t\"logo-chrome\",\n\t\t\t\t\t\"logo-closed-captioning\",\n\t\t\t\t\t\"logo-codepen\",\n\t\t\t\t\t\"logo-css3\",\n\t\t\t\t\t\"logo-designernews\",\n\t\t\t\t\t\"logo-docker\",\n\t\t\t\t\t\"logo-dribbble\",\n\t\t\t\t\t\"logo-dropbox\",\n\t\t\t\t\t\"logo-edge\",\n\t\t\t\t\t\"logo-electron\",\n\t\t\t\t\t\"logo-euro\",\n\t\t\t\t\t\"logo-facebook\",\n\t\t\t\t\t\"logo-firebase\",\n\t\t\t\t\t\"logo-firefox\",\n\t\t\t\t\t\"logo-flickr\",\n\t\t\t\t\t\"logo-foursquare\",\n\t\t\t\t\t\"logo-github\",\n\t\t\t\t\t\"logo-gitlab\",\n\t\t\t\t\t\"logo-google-playstore\",\n\t\t\t\t\t\"logo-google\",\n\t\t\t\t\t\"logo-hackernews\",\n\t\t\t\t\t\"logo-html5\",\n\t\t\t\t\t\"logo-instagram\",\n\t\t\t\t\t\"logo-ionic\",\n\t\t\t\t\t\"logo-ionitron\",\n\t\t\t\t\t\"logo-javascript\",\n\t\t\t\t\t\"logo-laravel\",\n\t\t\t\t\t\"logo-linkedin\",\n\t\t\t\t\t\"logo-markdown\",\n\t\t\t\t\t\"logo-medium\",\n\t\t\t\t\t\"logo-nodejs\",\n\t\t\t\t\t\"logo-no-smoking\",\n\t\t\t\t\t\"logo-npm\",\n\t\t\t\t\t\"logo-octocat\",\n\t\t\t\t\t\"logo-paypal\",\n\t\t\t\t\t\"logo-pinterest\",\n\t\t\t\t\t\"logo-playstation\",\n\t\t\t\t\t\"logo-pwa\",\n\t\t\t\t\t\"logo-python\",\n\t\t\t\t\t\"logo-react\",\n\t\t\t\t\t\"logo-reddit\",\n\t\t\t\t\t\"logo-rss\",\n\t\t\t\t\t\"logo-sass\",\n\t\t\t\t\t\"logo-skype\",\n\t\t\t\t\t\"logo-slack\",\n\t\t\t\t\t\"logo-snapchat\",\n\t\t\t\t\t\"logo-soundcloud\",\n\t\t\t\t\t\"logo-stackoverflow\",\n\t\t\t\t\t\"logo-steam\",\n\t\t\t\t\t\"logo-stencil\",\n\t\t\t\t\t\"logo-tiktok\",\n\t\t\t\t\t\"logo-tumblr\",\n\t\t\t\t\t\"logo-tux\",\n\t\t\t\t\t\"logo-twitch\",\n\t\t\t\t\t\"logo-twitter\",\n\t\t\t\t\t\"logo-usd\",\n\t\t\t\t\t\"log-out\",\n\t\t\t\t\t\"logo-web-component\",\n\t\t\t\t\t\"logo-venmo\",\n\t\t\t\t\t\"logo-whatsapp\",\n\t\t\t\t\t\"logo-vimeo\",\n\t\t\t\t\t\"logo-windows\",\n\t\t\t\t\t\"logo-vk\",\n\t\t\t\t\t\"logo-wordpress\",\n\t\t\t\t\t\"logo-vue\",\n\t\t\t\t\t\"logo-xbox\",\n\t\t\t\t\t\"logo-xing\",\n\t\t\t\t\t\"logo-yahoo\",\n\t\t\t\t\t\"logo-yen\",\n\t\t\t\t\t\"logo-youtube\",\n\t\t\t\t\t\"magnet\",\n\t\t\t\t\t\"mail-open\",\n\t\t\t\t\t\"mail\",\n\t\t\t\t\t\"mail-unread\",\n\t\t\t\t\t\"male-female\",\n\t\t\t\t\t\"male\",\n\t\t\t\t\t\"man\",\n\t\t\t\t\t\"map\",\n\t\t\t\t\t\"medal\",\n\t\t\t\t\t\"medical\",\n\t\t\t\t\t\"medkit\",\n\t\t\t\t\t\"megaphone\",\n\t\t\t\t\t\"menu\",\n\t\t\t\t\t\"mic-circle\",\n\t\t\t\t\t\"mic-off-circle\",\n\t\t\t\t\t\"mic-off\",\n\t\t\t\t\t\"mic\",\n\t\t\t\t\t\"moon\",\n\t\t\t\t\t\"move\",\n\t\t\t\t\t\"musical-notes\",\n\t\t\t\t\t\"musical-note\",\n\t\t\t\t\t\"navigate-circle\",\n\t\t\t\t\t\"navigate\",\n\t\t\t\t\t\"newspaper\",\n\t\t\t\t\t\"notifications-circle\",\n\t\t\t\t\t\"notifications-off-circle\",\n\t\t\t\t\t\"notifications-off\",\n\t\t\t\t\t\"notifications\",\n\t\t\t\t\t\"nuclear\",\n\t\t\t\t\t\"nutrition\",\n\t\t\t\t\t\"open\",\n\t\t\t\t\t\"options\",\n\t\t\t\t\t\"paper-plane\",\n\t\t\t\t\t\"partly-sunny\",\n\t\t\t\t\t\"pause-circle\",\n\t\t\t\t\t\"pause\",\n\t\t\t\t\t\"paw\",\n\t\t\t\t\t\"pencil\",\n\t\t\t\t\t\"people-circle\",\n\t\t\t\t\t\"people\",\n\t\t\t\t\t\"person-add\",\n\t\t\t\t\t\"person-circle\",\n\t\t\t\t\t\"person-remove\",\n\t\t\t\t\t\"person\",\n\t\t\t\t\t\"phone-landscape\",\n\t\t\t\t\t\"phone-portrait\",\n\t\t\t\t\t\"pie-chart\",\n\t\t\t\t\t\"pin\",\n\t\t\t\t\t\"pint\",\n\t\t\t\t\t\"pizza\",\n\t\t\t\t\t\"planet\",\n\t\t\t\t\t\"play-back-circle\",\n\t\t\t\t\t\"play-back\",\n\t\t\t\t\t\"play-circle\",\n\t\t\t\t\t\"play-forward-circle\",\n\t\t\t\t\t\"play-forward\",\n\t\t\t\t\t\"play-skip-back-circle\",\n\t\t\t\t\t\"play-skip-back\",\n\t\t\t\t\t\"play-skip-forward-circle\",\n\t\t\t\t\t\"play-skip-forward\",\n\t\t\t\t\t\"play\",\n\t\t\t\t\t\"podium\",\n\t\t\t\t\t\"power\",\n\t\t\t\t\t\"pricetags\",\n\t\t\t\t\t\"pricetag\",\n\t\t\t\t\t\"print\",\n\t\t\t\t\t\"pulse\",\n\t\t\t\t\t\"push\",\n\t\t\t\t\t\"qr-code\",\n\t\t\t\t\t\"radio-button-off\",\n\t\t\t\t\t\"radio-button-on\",\n\t\t\t\t\t\"radio\",\n\t\t\t\t\t\"rainy\",\n\t\t\t\t\t\"reader\",\n\t\t\t\t\t\"receipt\",\n\t\t\t\t\t\"recording\",\n\t\t\t\t\t\"refresh-circle\",\n\t\t\t\t\t\"refresh\",\n\t\t\t\t\t\"reload-circle\",\n\t\t\t\t\t\"reload\",\n\t\t\t\t\t\"remove-circle\",\n\t\t\t\t\t\"remove\",\n\t\t\t\t\t\"reorder-four\",\n\t\t\t\t\t\"reorder-three\",\n\t\t\t\t\t\"reorder-two\",\n\t\t\t\t\t\"repeat\",\n\t\t\t\t\t\"resize\",\n\t\t\t\t\t\"restaurant\",\n\t\t\t\t\t\"return-down-back\",\n\t\t\t\t\t\"return-down-forward\",\n\t\t\t\t\t\"return-up-back\",\n\t\t\t\t\t\"return-up-forward\",\n\t\t\t\t\t\"ribbon\",\n\t\t\t\t\t\"rocket\",\n\t\t\t\t\t\"rose\",\n\t\t\t\t\t\"sad\",\n\t\t\t\t\t\"save\",\n\t\t\t\t\t\"scan-circle\",\n\t\t\t\t\t\"scan\",\n\t\t\t\t\t\"school\",\n\t\t\t\t\t\"search-circle\",\n\t\t\t\t\t\"search\",\n\t\t\t\t\t\"send\",\n\t\t\t\t\t\"server\",\n\t\t\t\t\t\"settings\",\n\t\t\t\t\t\"shapes\",\n\t\t\t\t\t\"share-social\",\n\t\t\t\t\t\"share\",\n\t\t\t\t\t\"shield-checkmark\",\n\t\t\t\t\t\"shield\",\n\t\t\t\t\t\"shirt\",\n\t\t\t\t\t\"shuffle\",\n\t\t\t\t\t\"skull\",\n\t\t\t\t\t\"snow\",\n\t\t\t\t\t\"speedometer\",\n\t\t\t\t\t\"square\",\n\t\t\t\t\t\"star-half\",\n\t\t\t\t\t\"star\",\n\t\t\t\t\t\"stats-chart\",\n\t\t\t\t\t\"stop-circle\",\n\t\t\t\t\t\"stop\",\n\t\t\t\t\t\"stopwatch\",\n\t\t\t\t\t\"subway\",\n\t\t\t\t\t\"sunny\",\n\t\t\t\t\t\"swap-horizontal\",\n\t\t\t\t\t\"swap-vertical\",\n\t\t\t\t\t\"sync-circle\",\n\t\t\t\t\t\"sync\",\n\t\t\t\t\t\"tablet-landscape\",\n\t\t\t\t\t\"tablet-portrait\",\n\t\t\t\t\t\"tennisball\",\n\t\t\t\t\t\"terminal\",\n\t\t\t\t\t\"text\",\n\t\t\t\t\t\"thermometer\",\n\t\t\t\t\t\"thumbs-down\",\n\t\t\t\t\t\"thumbs-up\",\n\t\t\t\t\t\"thunderstorm\",\n\t\t\t\t\t\"timer\",\n\t\t\t\t\t\"time\",\n\t\t\t\t\t\"today\",\n\t\t\t\t\t\"toggle\",\n\t\t\t\t\t\"trail-sign\",\n\t\t\t\t\t\"train\",\n\t\t\t\t\t\"transgender\",\n\t\t\t\t\t\"trash-bin\",\n\t\t\t\t\t\"trash\",\n\t\t\t\t\t\"trending-down\",\n\t\t\t\t\t\"trending-up\",\n\t\t\t\t\t\"triangle\",\n\t\t\t\t\t\"trophy\",\n\t\t\t\t\t\"tv\",\n\t\t\t\t\t\"umbrella\",\n\t\t\t\t\t\"walk\",\n\t\t\t\t\t\"wallet\",\n\t\t\t\t\t\"warning\",\n\t\t\t\t\t\"watch\",\n\t\t\t\t\t\"water\",\n\t\t\t\t\t\"videocam\",\n\t\t\t\t\t\"wifi\",\n\t\t\t\t\t\"wine\",\n\t\t\t\t\t\"volume-high\",\n\t\t\t\t\t\"volume-low\",\n\t\t\t\t\t\"volume-medium\",\n\t\t\t\t\t\"volume-mute\",\n\t\t\t\t\t\"volume-off\",\n\t\t\t\t\t\"woman\",\n\t\t\t\t]\n\t\t\t\t\t.slice(this.page * 100, 100)\n\t\t\t\t\t.map(name => (\n\t\t\t\t\t\t<smoothly-icon name={name as Icon} toolTip={name}></smoothly-icon>\n\t\t\t\t\t))}\n\t\t\t</content>,\n\t\t]\n\t}\n}\n","@import \"./shared.css\";\n\n:host {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-weight: var(--smoothly-font-weight);\n\tpadding: 0 0.4em;\n\toverflow: hidden;\n\tbackground-color: rgb(var(--background-color, var(--smoothly-color-shade)));\n\tcolor: rgb(var(--text-color, var(--smoothly-color-contrast)));\n}\n:host[hidden] {\n\tdisplay: none;\n}\n:host > div:nth-child(2) {\n\tmargin-left: 0.2em;\n}\n:host > div {\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n}\nlabel {\n\tposition: absolute;\n\tleft: 0;\n\ttop: 0.6em;\n\topacity: 0.8;\n\tuser-select: none;\n\tcursor: inherit;\n\ttransform-origin: top left;\n\ttransition: transform 100ms ease;\n}\n:host:not([show-label]) label {\n\tdisplay: none;\n}\n:host:not([show-label]) input {\n\tpadding: 0.7em 0.3em 0.7em 0.4em;\n}\ninput {\n\tpadding: 1.2em 0.3em 0.2em 0.4em;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\theight: 100%;\n\tborder: 0;\n\tz-index: 1;\n\tposition: relative;\n\tfont-size: 1rem;\n\tfont-family: var(--smoothly-font-family);\n\tbackground-color: rgb(var(--background-color, var(--smoothly-color-shade)));\n}\nsmoothly-icon {\n\tdisplay: none;\n\tposition: absolute;\n\tright: 0.2em;\n\ttop: 0.6em;\n}\n\ninput:invalid + label + smoothly-icon {\n\tdisplay: block;\n}\n:host > div > label {\n\tz-index: 1;\n\tpointer-events: none;\n}\n:host[placeholder] > div > label,\n:host.has-value > div > label,\n:host:focus-within > div > label {\n\ttop: 0.4em;\n\ttransform: scale(0.6);\n}\ninput:focus {\n\toutline: none;\n}\ninput:-webkit-autofill,\ninput:-webkit-autofill:hover,\ninput:-webkit-autofill:focus,\ninput:-webkit-autofill:active {\n\tbox-shadow: 0 0 0 40em rgb(var(--background-color, var(--smoothly-color-shade))) inset;\n\t-webkit-box-shadow: 0 0 0 40em rgb(var(--background-color, var(--smoothly-color-shade))) inset;\n}\ninput:-webkit-autofill,\ninput:-webkit-autofill + label {\n\t-webkit-text-fill-color: rgb(var(--text-color, var(--smoothly-color-contrast)));\n}\n","import { Component, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from \"@stencil/core\"\nimport { Currency, Language, Locale } from \"isoly\"\nimport { Action, Converter, Direction, Formatter, get, Settings, State as TidilyState, StateEditor, Type } from \"tidily\"\nimport { Color } from \"../../model\"\nimport { Changeable } from \"./Changeable\"\nimport { Clearable } from \"./Clearable\"\nimport { Input } from \"./Input\"\nimport { Looks } from \"./Looks\"\n\n@Component({\n\ttag: \"smoothly-input\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInput implements Changeable, Clearable, Input {\n\tprivate inputElement: HTMLInputElement\n\t/** On re-render the input will blur. This boolean is meant to keep track of if input should keep its focus. */\n\tprivate keepFocusOnReRender = false\n\tprivate lastValue: any\n\tprivate state: Readonly<TidilyState> & Readonly<Settings>\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks: Looks = \"plain\"\n\t@Prop({ reflect: true }) name: string\n\t@Prop({ mutable: true }) value: any\n\t@Prop({ reflect: true }) type: Type = \"text\"\n\t@Prop({ mutable: true, reflect: true }) required = false\n\t@Prop({ mutable: true }) minLength = 0\n\t@Prop({ reflect: true }) showLabel = true\n\t@Prop({ mutable: true }) maxLength: number = Number.POSITIVE_INFINITY\n\t@Prop({ mutable: true }) autocomplete = true\n\t@Prop({ mutable: true }) pattern: RegExp | undefined\n\t@Prop({ mutable: true, reflect: true }) placeholder: string | undefined\n\t@Prop({ mutable: true }) disabled = false\n\t@Prop({ mutable: true, reflect: true }) readonly = false\n\t@Prop({ reflect: true }) currency?: Currency\n\t@State() formatter: Formatter & Converter<any>\n\t@State() initialValue?: any\n\t@Event() smoothlyInputLooks: EventEmitter<(looks: Looks, color: Color) => void>\n\n\t@Prop({ mutable: true, reflect: true }) changed = false\n\tprivate listener: { changed?: (parent: Changeable) => Promise<void> } = {}\n\n\tlisten(property: \"changed\", listener: (parent: Changeable) => Promise<void>): void {\n\t\tthis.listener[property] = listener\n\t\tlistener(this)\n\t}\n\t@Listen(\"smoothlyInputLoad\")\n\tasync SmoothlyInputLoadHandler(event: CustomEvent<(parent: SmoothlyInput) => void>): Promise<void> {\n\t\tevent.stopPropagation()\n\t\tevent.detail(this)\n\t}\n\n\t@Watch(\"type\")\n\ttypeChange(): void {\n\t\tlet result: (Formatter & Converter<any>) | undefined\n\t\tswitch (this.type) {\n\t\t\tcase \"price\":\n\t\t\t\tresult = get(\"price\", this.currency)\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tresult = get(this.type, getLocale())\n\t\t\t\tbreak\n\t\t}\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\tthis.formatter = result || get(\"text\")!\n\t}\n\tprivate newState(state: TidilyState) {\n\t\tconst formatter = this.formatter\n\t\treturn formatter.format(StateEditor.copy(formatter.unformat(StateEditor.copy(state))))\n\t}\n\t@Event() smoothlyBlur: EventEmitter<void>\n\t@Event() smoothlyChange: EventEmitter<Record<string, any>>\n\t@Event() smoothlyInput: EventEmitter<Record<string, any>>\n\t@Watch(\"value\")\n\tvalueWatcher(value: any, before: any) {\n\t\tif (this.lastValue != value) {\n\t\t\tthis.lastValue = value\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\tvalue: this.newState({ value: this.formatter.toString(value), selection: this.state.selection }).value,\n\t\t\t}\n\t\t}\n\t\tif (value != before) {\n\t\t\tif (typeof value == \"string\")\n\t\t\t\tvalue = value.trim()\n\t\t\tthis.smoothlyInput.emit({ [this.name]: value })\n\t\t}\n\n\t\tthis.changed = Boolean(this.value)\n\t\tthis.listener.changed?.(this)\n\t}\n\t@Watch(\"currency\")\n\tonCurrency() {\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\tvalue: this.newState({ value: this.formatter.toString(this.value), selection: this.state.selection }).value,\n\t\t\tpattern: this.newState({ value: this.formatter.toString(this.value), selection: this.state.selection }).pattern,\n\t\t}\n\t}\n\tcomponentWillLoad() {\n\t\tthis.typeChange()\n\t\tconst value = this.formatter.toString(this.value) || \"\"\n\t\tconst start = value.length\n\t\tthis.state = this.newState({\n\t\t\tvalue,\n\t\t\tselection: { start, end: start, direction: \"none\" },\n\t\t})\n\t\tthis.smoothlyInputLooks.emit((looks, color) => ((this.looks = looks), !this.color && (this.color = color)))\n\t}\n\tcomponentDidRender() {\n\t\tif (this.keepFocusOnReRender) {\n\t\t\tthis.inputElement.focus()\n\t\t\tthis.keepFocusOnReRender = false\n\t\t}\n\t}\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tthis.value = undefined\n\t}\n\t@Method()\n\tasync getFormData(name: string): Promise<Record<string, any>> {\n\t\tconst result: Record<string, any> = {}\n\t\tconst form = document.forms.namedItem(name)\n\t\tif (form) {\n\t\t\tconst elements = form.elements\n\t\t\tfor (let i = 0; i < elements.length; i++) {\n\t\t\t\tconst element = elements.item(i)\n\t\t\t\tif (this.hasNameAndValue(element) && element.name)\n\t\t\t\t\tresult[element.name] = element.value\n\t\t\t}\n\t\t\t// Overwrite values with values from smoothly-input\n\t\t\tconst smoothlyInputs = form.getElementsByTagName(\"smoothly-input\")\n\t\t\tfor (let i = 0; i < smoothlyInputs.length; i++) {\n\t\t\t\tconst element = smoothlyInputs.item(i)\n\t\t\t\tif (this.hasNameAndValue(element) && element.name)\n\t\t\t\t\tresult[element.name] = element.value\n\t\t\t}\n\t\t}\n\t\treturn result\n\t}\n\thasNameAndValue(element: any): element is { name: string; value: string } {\n\t\treturn (\n\t\t\ttypeof (element as { name?: string }).name == \"string\" && typeof (element as { value?: string }).value == \"string\"\n\t\t)\n\t}\n\t@Method()\n\tasync setKeepFocusOnReRender(keepFocus: boolean) {\n\t\tthis.keepFocusOnReRender = keepFocus\n\t}\n\t@Method()\n\tasync setSelectionRange(start: number, end: number, direction?: Direction) {\n\t\tthis.state = this.newState({\n\t\t\t...this.state,\n\t\t\tselection: { start, end, direction: direction != undefined ? direction : this.state.selection.direction },\n\t\t})\n\n\t\tconst after = this.formatter.format(StateEditor.copy(this.formatter.unformat(StateEditor.copy({ ...this.state }))))\n\t\tthis.updateBackend(after, this.inputElement)\n\t}\n\tonBlur(event: FocusEvent) {\n\t\tthis.smoothlyBlur.emit()\n\t\tif (this.initialValue != this.value)\n\t\t\tthis.smoothlyChange.emit({ [this.name]: this.value })\n\t\tthis.initialValue = undefined\n\t}\n\tonFocus(event: FocusEvent) {\n\t\tthis.initialValue = this.value\n\t\tconst after = this.formatter.format(StateEditor.copy(this.formatter.unformat(StateEditor.copy({ ...this.state }))))\n\t\tif (event.target)\n\t\t\tthis.updateBackend(after, event.target as HTMLInputElement)\n\t}\n\tonClick(event: MouseEvent) {\n\t\tconst backend = event.target as HTMLInputElement\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\tvalue: backend.value,\n\t\t\tselection: {\n\t\t\t\tstart: backend.selectionStart != undefined ? backend.selectionStart : backend.value.length,\n\t\t\t\tend: backend.selectionEnd != undefined ? backend.selectionEnd : backend.value.length,\n\t\t\t\tdirection: backend.selectionDirection ? backend.selectionDirection : \"none\",\n\t\t\t},\n\t\t}\n\t\tconst after = this.newState({ ...this.state })\n\t\tthis.updateBackend(after, backend)\n\t}\n\tonKeyDown(event: KeyboardEvent) {\n\t\tif (event.key && !(event.key == \"Unidentified\")) {\n\t\t\tconst backend = event.target as HTMLInputElement\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\tvalue: backend.value,\n\t\t\t\tselection: {\n\t\t\t\t\tstart: backend.selectionStart != undefined ? backend.selectionStart : backend.value.length,\n\t\t\t\t\tend: backend.selectionEnd != undefined ? backend.selectionEnd : backend.value.length,\n\t\t\t\t\tdirection: backend.selectionDirection ? backend.selectionDirection : \"none\",\n\t\t\t\t},\n\t\t\t}\n\t\t\tif (\n\t\t\t\t(!((event.ctrlKey || event.metaKey) && (event.key == \"v\" || event.key == \"x\" || event.key == \"c\")) &&\n\t\t\t\t\tevent.key.length == 1) ||\n\t\t\t\tevent.key == \"ArrowLeft\" ||\n\t\t\t\tevent.key == \"ArrowRight\" ||\n\t\t\t\tevent.key == \"Delete\" ||\n\t\t\t\tevent.key == \"Backspace\" ||\n\t\t\t\tevent.key == \"Home\" ||\n\t\t\t\tevent.key == \"End\"\n\t\t\t) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.processKey(event, backend)\n\t\t\t} else if (event.key == \"ArrowUp\" || event.key == \"ArrowDown\")\n\t\t\t\tevent.preventDefault()\n\t\t}\n\t}\n\tonPaste(event: ClipboardEvent) {\n\t\tevent.preventDefault()\n\t\tlet pasted = event.clipboardData ? event.clipboardData.getData(\"text\") : \"\"\n\t\tconst backend = event.target as HTMLInputElement\n\t\tpasted = this.expiresAutocompleteFix(backend, pasted)\n\t\tfor (const letter of pasted)\n\t\t\tthis.processKey({ key: letter }, backend)\n\t}\n\tonInput(event: InputEvent) {\n\t\tif (event.inputType == \"insertReplacementText\") {\n\t\t\tthis.processKey({ key: \"a\", ctrlKey: true }, event.target as HTMLInputElement)\n\t\t\t;[...(event.data ?? \"\")].forEach(c => this.processKey({ key: c }, event.target as HTMLInputElement))\n\t\t} else {\n\t\t\tconst backend = event.target as HTMLInputElement\n\t\t\tlet data = backend.value\n\t\t\tif (data) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.processKey({ key: \"a\", ctrlKey: true }, backend)\n\t\t\t\tdata = this.expiresAutocompleteFix(backend, data)\n\t\t\t\tfor (const letter of data)\n\t\t\t\t\tthis.processKey({ key: letter }, backend)\n\t\t\t}\n\t\t}\n\t}\n\tprivate expiresAutocompleteFix(backend: HTMLInputElement, value: string) {\n\t\tif (backend.attributes.getNamedItem(\"autocomplete\")?.value == \"cc-exp\")\n\t\t\tvalue = value.match(/^20\\d\\d[.\\D]*\\d\\d$/)\n\t\t\t\t? value.substring(value.length - 2, value.length) + value.substring(2, 4)\n\t\t\t\t: value.match(/^(1[3-9]|[2-9]\\d)[.\\D]*\\d\\d$/)\n\t\t\t\t? value.substring(value.length - 2, value.length) + value.substring(0, 2)\n\t\t\t\t: value.match(/^\\d\\d[.\\D]*20\\d\\d$/)\n\t\t\t\t? value.substring(0, 2) + value.substring(value.length - 2, value.length)\n\t\t\t\t: value\n\t\treturn value\n\t}\n\tprivate processKey(event: Action, backend: HTMLInputElement) {\n\t\tif (!this.readonly) {\n\t\t\tconst after = Action.apply(this.formatter, this.state, event)\n\t\t\tthis.updateBackend(after, backend)\n\t\t}\n\t}\n\tupdateBackend(after: Readonly<TidilyState> & Readonly<Settings>, backend: HTMLInputElement) {\n\t\tif (after.value != backend.value)\n\t\t\tbackend.value = after.value\n\t\tif (backend.selectionStart != undefined && after.selection.start != backend.selectionStart)\n\t\t\tbackend.selectionStart = after.selection.start\n\t\tif (backend.selectionEnd != undefined && after.selection.end != backend.selectionEnd)\n\t\t\tbackend.selectionEnd = after.selection.end\n\t\tbackend.selectionDirection = after.selection.direction ? after.selection.direction : backend.selectionDirection\n\t\tthis.state = after\n\t\tthis.value = this.lastValue = this.formatter.fromString(\n\t\t\tthis.formatter.unformat(StateEditor.copy({ ...this.state })).value\n\t\t)\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{ \"has-value\": this.state?.value != undefined && this.state?.value != \"\" }}\n\t\t\t\tonclick={() => this.inputElement?.focus()}>\n\t\t\t\t<slot name=\"start\"></slot>\n\t\t\t\t<div>\n\t\t\t\t\t<input\n\t\t\t\t\t\tcolor={this.color}\n\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\ttype={this.state?.type}\n\t\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\tautocomplete={this.autocomplete ? this.state?.autocomplete : \"off\"}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\treadOnly={this.readonly}\n\t\t\t\t\t\tpattern={this.state?.pattern && this.state?.pattern.source}\n\t\t\t\t\t\tvalue={this.state?.value}\n\t\t\t\t\t\tonInput={(e: InputEvent) => this.onInput(e)}\n\t\t\t\t\t\tonFocus={e => this.onFocus(e)}\n\t\t\t\t\t\tonClick={e => this.onClick(e)}\n\t\t\t\t\t\tonBlur={e => this.onBlur(e)}\n\t\t\t\t\t\tonKeyDown={e => this.onKeyDown(e)}\n\t\t\t\t\t\tref={(el: HTMLInputElement) => (this.inputElement = el)}\n\t\t\t\t\t\tonPaste={e => this.onPaste(e)}></input>\n\t\t\t\t\t<label htmlFor={this.name}>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</label>\n\t\t\t\t\t<smoothly-icon name=\"alert-circle\" color=\"danger\" fill=\"clear\" size=\"small\"></smoothly-icon>\n\t\t\t\t</div>\n\t\t\t\t<slot name=\"end\"></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n\nfunction getLocale(): Locale | undefined {\n\tconst result = navigator.language\n\treturn Locale.is(result) ? result : Language.is(result) ? Locale.toLocale(result) : undefined\n}\n","export interface Changeable {\n\tchanged: boolean\n\tlisten(property: \"changed\", listener: (parent: Changeable) => Promise<void>): void\n}\nexport namespace Changeable {\n\texport function is(value: Changeable | any): value is Changeable {\n\t\treturn value && typeof value == \"object\" && typeof value.changed == \"boolean\" && typeof value.listen == \"function\"\n\t}\n}\n","@import \"../../button/style.css\";\n\n:host(:not([display])) {\n\tdisplay: none;\n}\n\n:host() {\n\ttransition: 0.6s;\n\tmargin: 0rem;\n\tmin-width: 0rem;\n}\n\n:host([type=\"input\"]) {\n\tline-height: 1;\n}\n\n:host([type=\"form\"]) {\n\tmargin: 1em 0em;\n}\n\n:host([type=\"input\"]) ::slotted(smoothly-icon) {\n\tfilter: opacity(60%);\n\tfont-size: 70%;\n}\n\n:host([type=\"input\"]):hover ::slotted(smoothly-icon) {\n\tcursor: pointer;\n\tfilter: opacity(100%);\n}\n\n:host([type=\"input\"]) button {\n \tpadding: 0rem;\n \tmargin: 0rem;\n \tmin-width: 0rem; \n}\n","import { Component, Event, EventEmitter, h, Listen, Prop } from \"@stencil/core\"\nimport { Color, Fill } from \"../../../model\"\nimport { Button } from \"../../Button\"\nimport { SmoothlyForm } from \"../../form\"\nimport { SmoothlyInput } from \"..\"\nimport { Changeable } from \"../Changeable\"\nimport { Clearable } from \"../Clearable\"\n\n@Component({\n\ttag: \"smoothly-input-clear\",\n\tstyleUrl: \"./style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputClear {\n\t@Prop({ reflect: true }) color?: Color\n\t@Prop({ reflect: true }) expand?: \"block\" | \"full\"\n\t@Prop({ reflect: true }) fill?: Fill = \"clear\"\n\t@Prop({ reflect: true, mutable: true }) disabled = false\n\t@Prop({ reflect: true }) size: \"small\" | \"large\" | \"icon\" | \"flexible\"\n\t@Prop({ reflect: true }) shape?: \"rounded\"\n\t@Prop({ reflect: true, mutable: true }) display = true\n\t@Prop({ reflect: true }) type: \"form\" | \"input\" = \"input\"\n\tprivate parent?: Clearable | (Clearable & Changeable)\n\t@Event() smoothlyInputLoad: EventEmitter<(parent: HTMLElement) => void>\n\n\tasync componentWillLoad() {\n\t\tthis.smoothlyInputLoad.emit(parent => {\n\t\t\tif (Clearable.is(parent)) {\n\t\t\t\tthis.parent = parent\n\t\t\t\tif (Changeable.is(parent))\n\t\t\t\t\tparent.listen(\"changed\", async p => {\n\t\t\t\t\t\tif (p instanceof SmoothlyForm)\n\t\t\t\t\t\t\tthis.disabled = !p.changed\n\t\t\t\t\t\tif (p instanceof SmoothlyInput)\n\t\t\t\t\t\t\tthis.display = p.changed\n\t\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\t@Listen(\"click\")\n\tclickHandler() {\n\t\tthis.parent?.clear()\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Button disabled={this.disabled} type=\"button\">\n\t\t\t\t<slot />\n\t\t\t</Button>\n\t\t)\n\t}\n}\n","@import \"../shared.css\";\n\n:host {\n\tposition: relative;\n\tmax-width: 100vw;\n\tbackground-color: rgb(var(--background-color, var(--smoothly-color-shade)));\n}\nnav {\n\tposition: absolute;\n\tz-index: 10;\n\ttop: 3.5em;\n\tbackground-color: rgb(var(--background-color, var(--smoothly-color-shade)));\n\tmin-width: 18em;\n}\n:host > div {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\twidth: 100vw;\n\theight: 100vh;\n\tz-index: 2;\n}\n:host > nav > .arrow {\n\tposition: absolute;\n\tz-index: 9;\n\ttransform: translate(2em, -0.55em) rotate(45deg);\n\twidth: 1em;\n\theight: 1em;\n\tbackground-color: rgb(var(--background-color, var(--smoothly-color-shade)));\n}\n\n@media screen and (min-width: 400px){\n\tnav {\n\t\tposition: absolute;\n\t\tz-index: 10;\n\t\ttop: 3.5em;\n\t\tbackground-color: rgb(var(--background-color, var(--smoothly-color-shade)));\n\t\tmax-width: 22em;\n\t\t\n\t}\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, Watch } from \"@stencil/core\"\nimport { Date } from \"isoly\"\nimport { Color } from \"../../../model\"\nimport { Clearable } from \"../Clearable\"\nimport { Input } from \"../Input\"\nimport { Looks } from \"../Looks\"\n\n@Component({\n\ttag: \"smoothly-input-date\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class InputDate implements Clearable, Input {\n\t@Element() element: HTMLElement\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks: Looks = \"plain\"\n\t@Prop({ reflect: true }) name: string\n\t@Prop({ mutable: true }) value?: Date\n\t@Prop({ mutable: true }) open: boolean\n\t@Prop({ mutable: true }) max: Date\n\t@Prop({ mutable: true }) min: Date\n\t@Prop({ reflect: true }) showLabel = true\n\t@Prop({ mutable: true }) disabled: boolean\n\t@Event() valueChanged: EventEmitter<Date>\n\t@Event() smoothlyInput: EventEmitter<Record<string, any>>\n\t@Event() smoothlyInputLooks: EventEmitter<(looks: Looks, color: Color) => void>\n\n\tcomponentWillLoad() {\n\t\tthis.smoothlyInputLooks.emit((looks, color) => ((this.looks = looks), !this.color && (this.color = color)))\n\t}\n\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tthis.value = undefined\n\t}\n\t@Watch(\"value\")\n\tonStart(next: Date) {\n\t\tthis.valueChanged.emit(next)\n\t\tthis.smoothlyInput.emit({ [this.name]: next })\n\t}\n\t@Listen(\"smoothlyInput\")\n\tsmoothlyInputHandler(event: CustomEvent<Record<string, any>>) {\n\t\tif (event.target != this.element)\n\t\t\tevent.stopPropagation()\n\t}\n\t@Listen(\"smoothlyInputLooks\")\n\tsmoothlyInputLooksHandler(event: CustomEvent<(looks: Looks) => void>) {\n\t\tif (event.target != this.element)\n\t\t\tevent.stopPropagation()\n\t}\n\t@Listen(\"dateSet\")\n\tdateSetHandler(event: CustomEvent<Date>) {\n\t\tthis.open = false\n\t\tevent.stopPropagation()\n\t}\n\trender() {\n\t\treturn [\n\t\t\t<smoothly-input\n\t\t\t\tcolor={this.color}\n\t\t\t\tname={this.name}\n\t\t\t\tonFocus={() => (this.open = !this.open)}\n\t\t\t\tonClick={() => (this.open = !this.open)}\n\t\t\t\tdisabled={this.disabled}\n\t\t\t\ttype=\"date\"\n\t\t\t\tvalue={this.value}\n\t\t\t\tlooks=\"plain\"\n\t\t\t\tshowLabel={this.showLabel}\n\t\t\t\tonSmoothlyInput={e => (this.value = e.detail[this.name])}>\n\t\t\t\t<slot></slot>\n\t\t\t</smoothly-input>,\n\t\t\tthis.open && !this.disabled\n\t\t\t\t? [\n\t\t\t\t\t\t<div onClick={() => (this.open = false)}></div>,\n\t\t\t\t\t\t<nav>\n\t\t\t\t\t\t\t<div class=\"arrow\"></div>\n\t\t\t\t\t\t\t<smoothly-calendar\n\t\t\t\t\t\t\t\tdoubleInput={false}\n\t\t\t\t\t\t\t\tvalue={this.value ?? Date.now()}\n\t\t\t\t\t\t\t\tonValueChanged={event => {\n\t\t\t\t\t\t\t\t\tthis.value = event.detail\n\t\t\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tmax={this.max}\n\t\t\t\t\t\t\t\tmin={this.min}></smoothly-calendar>\n\t\t\t\t\t\t</nav>,\n\t\t\t\t ]\n\t\t\t\t: [],\n\t\t]\n\t}\n}\n","@import \"../../shared.css\";\n\n:host {\n\tposition: relative;\n\tdisplay: block;\n\twidth: fit-content;\n\tbackground-color: rgb(var(--background-color, var(--smoothly-color-shade)));\n}\n:host > nav {\n\tposition: absolute;\n\tz-index: 10;\n\ttop: 3.5em;\n\tbackground-color: rgb(var(--background-color, var(--smoothly-color-shade)));\n\tmax-width: 22em;\n}\n:host > div {\n\tposition: fixed;\n\ttop: 0px;\n\tleft: 0px;\n\tright: 0px;\n\tbottom: 0px;\n\twidth: 100vw;\n\theight: 100vh;\n\tz-index: 2;\n}\n:host > nav > .arrow {\n\tposition: absolute;\n\tz-index: 9;\n\ttransform: translate(10em, -0.55em) rotate(45deg);\n\twidth: 1em;\n\theight: 1em;\n\tbackground-color: rgb(var(--background-color, var(--smoothly-color-shade)));\n}\n:host > section {\n\tdisplay: flex;\n\tbackground-color: var(--background-color, var(--smoothly-color-shade), transparent);\n\tborder-radius: 0.25rem;\n\tcursor: pointer;\n}\nsmoothly-input {\n\tborder-radius: var(--border-radius, none);\n\tbackground-color: transparent;\n\twidth: var(--input-width);\n\tflex-grow: 1;\n}\nspan {\n\tpadding: 0.5em 0.2em 0.5em 0.2em;\n\talign-self: center;\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, Watch } from \"@stencil/core\"\nimport { isoly } from \"isoly\"\nimport { Clearable } from \"../../Clearable\"\nimport { Input } from \"../../Input\"\nimport { Looks } from \"../../Looks\"\nimport { Color, Data } from \"./../../../../model\"\n\n@Component({\n\ttag: \"smoothly-input-date-range\",\n\tstyleUrl: \"style.scss\",\n\tscoped: true,\n})\nexport class InputDateRange implements Clearable, Input {\n\t@Element() element: HTMLElement\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks: Looks = \"plain\"\n\t@Prop({ reflect: true }) name: string\n\t@Prop({ mutable: true }) value?: isoly.Date\n\t@Prop({ mutable: true }) start?: isoly.Date\n\t@Prop({ mutable: true }) end?: isoly.Date\n\t@Prop({ mutable: true }) max: isoly.Date\n\t@Prop({ mutable: true }) min: isoly.Date\n\t@Prop({ mutable: true }) open: boolean\n\t@Prop({ reflect: true }) showLabel = true\n\t@Prop() labelStart = \"from\"\n\t@Prop() labelEnd = \"to\"\n\t@Event() valueChanged: EventEmitter<isoly.Date>\n\t@Event() smoothlyInput: EventEmitter<Data>\n\t@Event() smoothlyInputLooks: EventEmitter<(looks: Looks, color: Color) => void>\n\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tthis.start = undefined\n\t\tthis.end = undefined\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.smoothlyInputLooks.emit((looks, color) => ((this.looks = looks), !this.color && (this.color = color)))\n\t\tif (this.start && this.end)\n\t\t\tthis.smoothlyInput.emit({ [this.name]: { start: this.start, end: this.end } })\n\t}\n\t@Watch(\"value\")\n\tonValue(next: isoly.Date) {\n\t\tthis.valueChanged.emit(next)\n\t}\n\t@Listen(\"smoothlyInput\")\n\tsmoothlyInputHandler(event: CustomEvent<Record<string, any>>) {\n\t\tif (event.target != this.element)\n\t\t\tevent.stopPropagation()\n\t}\n\t@Listen(\"smoothlyInputLooks\")\n\tsmoothlyInputLooksHandler(event: CustomEvent<(looks: Looks) => void>) {\n\t\tif (event.target != this.element)\n\t\t\tevent.stopPropagation()\n\t}\n\t@Listen(\"startChanged\")\n\tonStartChanged(event: CustomEvent<isoly.Date>) {\n\t\tthis.start = event.detail\n\t}\n\t@Listen(\"endChanged\")\n\tonEndChanged(event: CustomEvent<isoly.Date>) {\n\t\tthis.end = event.detail\n\t}\n\t@Listen(\"dateRangeSet\")\n\tonDateRangeSet(event: CustomEvent<isoly.DateRange>) {\n\t\tthis.open = false\n\t\tevent.stopPropagation()\n\t\tisoly.DateRange.is(event.detail) && this.smoothlyInput.emit({ [this.name]: event.detail })\n\t}\n\trender() {\n\t\treturn [\n\t\t\t<section onClick={() => (this.open = !this.open)}>\n\t\t\t\t<smoothly-input\n\t\t\t\t\ttype=\"date\"\n\t\t\t\t\tname=\"start\"\n\t\t\t\t\tvalue={this.start}\n\t\t\t\t\tlooks=\"plain\"\n\t\t\t\t\tshowLabel={this.showLabel}\n\t\t\t\t\tonSmoothlyInput={e => (this.start = e.detail.start)}>\n\t\t\t\t\t{`${this.labelStart}`}\n\t\t\t\t</smoothly-input>\n\t\t\t\t<span>–</span>\n\t\t\t\t<smoothly-input\n\t\t\t\t\ttype=\"date\"\n\t\t\t\t\tname=\"end\"\n\t\t\t\t\tvalue={this.end}\n\t\t\t\t\tlooks=\"plain\"\n\t\t\t\t\tshowLabel={this.showLabel}\n\t\t\t\t\tonSmoothlyInput={e => (this.end = e.detail.end)}>\n\t\t\t\t\t{`${this.labelEnd}`}\n\t\t\t\t</smoothly-input>\n\t\t\t</section>,\n\t\t\tthis.open ? <div onClick={() => (this.open = false)}></div> : [],\n\t\t\tthis.open ? (\n\t\t\t\t<nav>\n\t\t\t\t\t<div class=\"arrow\"></div>\n\t\t\t\t\t<smoothly-calendar\n\t\t\t\t\t\tdoubleInput={true}\n\t\t\t\t\t\tvalue={this.value ?? isoly.Date.now()}\n\t\t\t\t\t\tonValueChanged={event => {\n\t\t\t\t\t\t\tthis.value = event.detail\n\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstart={this.start}\n\t\t\t\t\t\tend={this.end}\n\t\t\t\t\t\tmax={this.max}\n\t\t\t\t\t\tmin={this.min}></smoothly-calendar>\n\t\t\t\t</nav>\n\t\t\t) : (\n\t\t\t\t[]\n\t\t\t),\n\t\t]\n\t}\n}\n","smoothly-input-demo {\n\tdisplay: block;\n\tmargin: 2em;\n\tmargin-bottom: 20rem;\n}\n","import { Component, h, Listen } from \"@stencil/core\"\nimport { isoly } from \"isoly\"\n@Component({\n\ttag: \"smoothly-input-demo\",\n\tstyleUrl: \"style.css\",\n})\nexport class SmoothlyInputDemo {\n\tprivate selectElement: HTMLSmoothlyInputSelectElement\n\n\t@Listen(\"selectionChanged\")\n\thandleSelectionChanged(event: CustomEvent<{ identifier: string; value: string }>) {\n\t\tconsole.log(\"selectionChanged\", event.detail)\n\t}\n\n\trender() {\n\t\treturn [\n\t\t\t<h2>Duration</h2>,\n\t\t\t<smoothly-form looks=\"border\">\n\t\t\t\t<smoothly-input\n\t\t\t\t\tname=\"duration\"\n\t\t\t\t\ttype=\"duration\"\n\t\t\t\t\tplaceholder=\"hh:mm\"\n\t\t\t\t\tvalue={{ hours: 5, minutes: 30 }}\n\t\t\t\t\tonSmoothlyInput={e => console.log(e.detail.duration)}>\n\t\t\t\t\tDuration\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input\n\t\t\t\t\tname=\"duration\"\n\t\t\t\t\ttype=\"duration\"\n\t\t\t\t\tvalue={{ hours: 5, minutes: 30 }}\n\t\t\t\t\tplaceholder=\"hh:mm\"\n\t\t\t\t\tonSmoothlyInput={e => console.log(e.detail.duration)}>\n\t\t\t\t\tVaraktighet\n\t\t\t\t</smoothly-input>\n\t\t\t</smoothly-form>,\n\t\t\t<h2>Submit</h2>,\n\t\t\t<smoothly-form looks=\"border\">\n\t\t\t\t<smoothly-input type=\"email\" name=\"email\">\n\t\t\t\t\tEmail\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"password\" name=\"password\">\n\t\t\t\t\tPassword\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input-clear fill=\"default\" type=\"form\" color=\"danger\" slot=\"clear\">\n\t\t\t\t\tClear\n\t\t\t\t</smoothly-input-clear>\n\t\t\t\t<smoothly-submit slot=\"submit\">Submit</smoothly-submit>\n\t\t\t</smoothly-form>,\n\n\t\t\t<h4>Clear</h4>,\n\t\t\t<smoothly-form looks=\"border\">\n\t\t\t\t<smoothly-input name=\"First Name\">First name</smoothly-input>\n\t\t\t\t<smoothly-input name=\"Last name\">\n\t\t\t\t\tLast name\n\t\t\t\t\t<smoothly-input-clear slot=\"end\">\n\t\t\t\t\t\t<smoothly-icon name=\"close\" />\n\t\t\t\t\t</smoothly-input-clear>\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"phone\" name=\"Phone\">\n\t\t\t\t\tPhone\n\t\t\t\t\t<smoothly-input-clear slot=\"end\">\n\t\t\t\t\t\t<smoothly-icon name=\"close\" />\n\t\t\t\t\t</smoothly-input-clear>\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input-clear fill=\"default\" type=\"form\" color=\"danger\" slot=\"submit\">\n\t\t\t\t\tClear\n\t\t\t\t</smoothly-input-clear>\n\t\t\t</smoothly-form>,\n\n\t\t\t<h2>Border</h2>,\n\t\t\t<smoothly-form looks=\"border\">\n\t\t\t\t<smoothly-input type=\"email\" name=\"email\">\n\t\t\t\t\tEmail\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"password\" name=\"password\">\n\t\t\t\t\tPassword\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-submit slot=\"submit\" onSubmit={(e: Event) => alert(e)} color=\"success\" fill=\"solid\">\n\t\t\t\t\tSend\n\t\t\t\t</smoothly-submit>\n\t\t\t</smoothly-form>,\n\t\t\t<h2>Grid</h2>,\n\t\t\t<h4>Contact</h4>,\n\t\t\t<smoothly-form looks=\"grid\" method=\"GET\" action=\"https://webhook.site/85bb78f6-b450-4a74-81ac-d7cac6e94bbe\">\n\t\t\t\t<smoothly-input type=\"text\" name=\"name.last\">\n\t\t\t\t\tFirst Name\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"text\" name=\"name.first\">\n\t\t\t\t\tLast Name\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"text\" name=\"street\" value=\"Torgny Segerstedts Allé 87\">\n\t\t\t\t\tStreet\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"postal-code\" name=\"zip\">\n\t\t\t\t\tZipCode\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"text\" name=\"city\">\n\t\t\t\t\tCity\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"text\" name=\"countryCode\">\n\t\t\t\t\tCountryCode\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"phone\" name=\"phone\">\n\t\t\t\t\tPhone\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"email\" name=\"email\">\n\t\t\t\t\tEmail\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-submit slot=\"submit\" color=\"success\" fill=\"solid\">\n\t\t\t\t\t<smoothly-icon name=\"checkmark-circle\" slot=\"start\"></smoothly-icon>\n\t\t\t\t\tSubmit\n\t\t\t\t</smoothly-submit>\n\t\t\t</smoothly-form>,\n\t\t\t<h4>Card</h4>,\n\t\t\t<smoothly-form looks=\"grid\" onSmoothlyFormSubmit={(e: CustomEvent) => alert(JSON.stringify(e.detail))}>\n\t\t\t\t<smoothly-input type=\"card-number\" name=\"card\">\n\t\t\t\t\tCard #\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-submit size=\"icon\" slot=\"submit\" color=\"success\" fill=\"solid\">\n\t\t\t\t\t<smoothly-icon name=\"checkmark-circle\"></smoothly-icon>\n\t\t\t\t</smoothly-submit>\n\t\t\t\t<smoothly-input type=\"card-expires\" name=\"expires\">\n\t\t\t\t\tExpires\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"card-csc\" name=\"csc\">\n\t\t\t\t\tCVV/CVC\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"text\" name=\"name.first\">\n\t\t\t\t\tFirst Name\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"text\" name=\"name.last\">\n\t\t\t\t\tLast Name\n\t\t\t\t</smoothly-input>\n\t\t\t</smoothly-form>,\n\t\t\t<h4>Contact</h4>,\n\t\t\t<smoothly-form looks=\"grid\">\n\t\t\t\t<smoothly-input type=\"email\" name=\"email\">\n\t\t\t\t\tEmail\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"password\" name=\"password\">\n\t\t\t\t\tPassword\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"price\" currency=\"SEK\" name=\"price\">\n\t\t\t\t\tPrice\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"percent\" name=\"percent\">\n\t\t\t\t\tPercent\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-submit slot=\"submit\" color=\"success\" fill=\"solid\" size=\"icon\">\n\t\t\t\t\t<smoothly-icon name=\"checkmark-circle\"></smoothly-icon>\n\t\t\t\t</smoothly-submit>\n\t\t\t</smoothly-form>,\n\t\t\t<h4>Random</h4>,\n\t\t\t<smoothly-form looks=\"grid\">\n\t\t\t\t<smoothly-input\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tname=\"name\"\n\t\t\t\t\treadonly={true}\n\t\t\t\t\tvalue={\"Readonly\"}\n\t\t\t\t\tonSmoothlyBlur={() => console.log(\"smoothly blur\")}\n\t\t\t\t\tstyle={{ width: \"100%\" }}>\n\t\t\t\t\tReadonly\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"text\" name=\"testing\">\n\t\t\t\t\tTextTest\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"date-time\" name=\"date-time\">\n\t\t\t\t\tDate-Time\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"divisor\" name=\"divisor\">\n\t\t\t\t\tDivisor\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"date\" name=\"date\">\n\t\t\t\t\tDate\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input-date name=\"some-date\">Calendar</smoothly-input-date>\n\t\t\t</smoothly-form>,\n\t\t\t<h2>Line</h2>,\n\t\t\t<smoothly-form looks=\"line\">\n\t\t\t\t<smoothly-input type=\"text\" name=\"name.last\" onSmoothlyChange={e => console.log(\"smoothly change event\")}>\n\t\t\t\t\tFirst Name\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"text\" name=\"name.first\" onSmoothlyChange={e => console.log(\"smoothly change event\")}>\n\t\t\t\t\tLast Name\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-submit slot=\"submit\" fill=\"solid\" onSubmit={(e: Event) => alert(e)} color=\"success\">\n\t\t\t\t\tSend\n\t\t\t\t</smoothly-submit>\n\t\t\t</smoothly-form>,\n\t\t\t<h2>Input Alternatives</h2>,\n\t\t\t<smoothly-form looks=\"border\">\n\t\t\t\t<smoothly-input type=\"text\" name=\"name.last\" onSmoothlyChange={e => console.log(\"smoothly change event\")}>\n\t\t\t\t\t<smoothly-icon name=\"checkmark-circle\" slot=\"start\"></smoothly-icon>\n\t\t\t\t\tFirst Name\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input type=\"text\" name=\"name.first\" onSmoothlyChange={e => console.log(\"smoothly change event\")}>\n\t\t\t\t\tLast Name\n\t\t\t\t\t<smoothly-icon name=\"checkmark-circle\" slot=\"end\"></smoothly-icon>\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tname=\"name.first\"\n\t\t\t\t\tplaceholder=\"Smith\"\n\t\t\t\t\tonSmoothlyChange={e => console.log(\"smoothly change event\")}>\n\t\t\t\t\tLast Name\n\t\t\t\t\t<smoothly-icon name=\"checkmark-circle\" slot=\"end\"></smoothly-icon>\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input placeholder=\"test\"></smoothly-input>\n\t\t\t\t<smoothly-submit slot=\"submit\" fill=\"solid\" onSubmit={(e: Event) => alert(e)} color=\"success\">\n\t\t\t\t\tSend\n\t\t\t\t</smoothly-submit>\n\t\t\t</smoothly-form>,\n\t\t\t<h4>Smoothly checkboxes</h4>,\n\t\t\t<smoothly-form>\n\t\t\t\t<div>\n\t\t\t\t\t<smoothly-checkbox>\n\t\t\t\t\t\tCheck me\n\t\t\t\t\t\t<div slot=\"expansion\">Some context</div>\n\t\t\t\t\t</smoothly-checkbox>\n\t\t\t\t\t<smoothly-checkbox>Label</smoothly-checkbox>\n\t\t\t\t\t<smoothly-checkbox disabled={true} />\n\t\t\t\t</div>\n\t\t\t</smoothly-form>,\n\t\t\t<h4>Smoothly Radio Buttons</h4>,\n\t\t\t<smoothly-form onSmoothlyFormSubmit={e => console.log(e.detail)}>\n\t\t\t\t<smoothly-radio-button name=\"radioButtonDemo\" deselectable decoration=\"button\">\n\t\t\t\t\t<smoothly-radio-button-item value={\"test\"}>\n\t\t\t\t\t\tOption 1<div slot=\"expansion\">Some description.</div>\n\t\t\t\t\t</smoothly-radio-button-item>\n\t\t\t\t\t<smoothly-radio-button-item value={{ some: \"thing\", yes: \"miss\" }}>\n\t\t\t\t\t\tOption 2<div slot=\"expansion\">Some other description.</div>\n\t\t\t\t\t</smoothly-radio-button-item>\n\t\t\t\t\t<smoothly-radio-button-item value={{ some: \"one\", yes: \"kid\" }}>\n\t\t\t\t\t\tOption 3<div slot=\"expansion\">Some third description.</div>\n\t\t\t\t\t</smoothly-radio-button-item>\n\t\t\t\t</smoothly-radio-button>\n\t\t\t\t<smoothly-submit slot=\"submit\" color=\"success\" fill=\"solid\" size=\"icon\">\n\t\t\t\t\t<smoothly-icon name=\"checkmark-circle\"></smoothly-icon>\n\t\t\t\t</smoothly-submit>\n\t\t\t</smoothly-form>,\n\t\t\t<h4>Radio List without button 1</h4>,\n\t\t\t<smoothly-form>\n\t\t\t\t<smoothly-radio-button name=\"RadioListWithoutButton\">\n\t\t\t\t\t<smoothly-radio-button-item value={{ some: \"content\", yes: \"sir\" }} selected color=\"light\">\n\t\t\t\t\t\t<span>Option 1</span>\n\t\t\t\t\t\t<span slot=\"expansion\">Some description.</span>\n\t\t\t\t\t</smoothly-radio-button-item>\n\t\t\t\t\t<smoothly-radio-button-item value={{ some: \"thing\", yes: \"miss\" }} color=\"light\">\n\t\t\t\t\t\t<span>Option 2</span>\n\t\t\t\t\t\t<span slot=\"expansion\">Some other description.</span>\n\t\t\t\t\t</smoothly-radio-button-item>\n\t\t\t\t\t<smoothly-radio-button-item value={{ some: \"one\", yes: \"kid\" }} color=\"light\">\n\t\t\t\t\t\t<span>Option 3</span>\n\t\t\t\t\t\t<span slot=\"expansion\">Some third description.</span>\n\t\t\t\t\t</smoothly-radio-button-item>\n\t\t\t\t</smoothly-radio-button>\n\t\t\t\t<smoothly-submit slot=\"submit\" color=\"success\" fill=\"solid\" size=\"icon\">\n\t\t\t\t\t<smoothly-icon name=\"checkmark-circle\"></smoothly-icon>\n\t\t\t\t</smoothly-submit>\n\t\t\t</smoothly-form>,\n\t\t\t<h4>Radio List without button 2</h4>,\n\t\t\t<smoothly-form>\n\t\t\t\t<smoothly-radio name=\"option\" value=\"1a\" style={{ width: \"100%\" }}>\n\t\t\t\t\toption 1\n\t\t\t\t</smoothly-radio>\n\t\t\t\t<smoothly-radio name=\"option\" value=\"2a\" checked style={{ width: \"100%\" }}>\n\t\t\t\t\toption 2\n\t\t\t\t</smoothly-radio>\n\t\t\t\t<smoothly-radio name=\"option\" value=\"3a\" style={{ width: \"100%\" }}>\n\t\t\t\t\toption 3\n\t\t\t\t</smoothly-radio>\n\t\t\t</smoothly-form>,\n\t\t\t<h4>Smoothly Accordion</h4>,\n\t\t\t<smoothly-form>\n\t\t\t\t<smoothly-accordion>\n\t\t\t\t\t<smoothly-accordion-item name=\"A\" open>\n\t\t\t\t\t\t<smoothly-radio name=\"a\" value=\"1b\">\n\t\t\t\t\t\t\ta 1\n\t\t\t\t\t\t</smoothly-radio>\n\t\t\t\t\t\t<smoothly-radio name=\"a\" value=\"2b\" checked>\n\t\t\t\t\t\t\ta 2\n\t\t\t\t\t\t</smoothly-radio>\n\t\t\t\t\t\t<smoothly-radio name=\"a\" value=\"3b\">\n\t\t\t\t\t\t\ta 3\n\t\t\t\t\t\t</smoothly-radio>\n\t\t\t\t\t</smoothly-accordion-item>\n\t\t\t\t\t<smoothly-accordion-item name=\"B\">\n\t\t\t\t\t\t<smoothly-radio name=\"b\" value=\"1c\">\n\t\t\t\t\t\t\tb 1\n\t\t\t\t\t\t</smoothly-radio>\n\t\t\t\t\t\t<smoothly-radio name=\"b\" value=\"2c\">\n\t\t\t\t\t\t\tb 2\n\t\t\t\t\t\t</smoothly-radio>\n\t\t\t\t\t\t<smoothly-radio name=\"b\" value=\"3c\">\n\t\t\t\t\t\t\tb 3\n\t\t\t\t\t\t</smoothly-radio>\n\t\t\t\t\t</smoothly-accordion-item>\n\t\t\t\t</smoothly-accordion>\n\t\t\t\t<smoothly-submit slot=\"submit\" color=\"success\" fill=\"solid\" size=\"icon\">\n\t\t\t\t\t<smoothly-icon name=\"checkmark-circle\"></smoothly-icon>\n\t\t\t\t</smoothly-submit>\n\t\t\t</smoothly-form>,\n\t\t\t<h4>Smoothly Picker</h4>,\n\t\t\t<smoothly-picker-demo />,\n\n\t\t\t<smoothly-back-to-top />,\n\t\t\t<h4>Smoothly Date</h4>,\n\t\t\t<smoothly-input-date>Date</smoothly-input-date>,\n\t\t\t<smoothly-input-date showLabel={false} value=\"2021-10-28\" max=\"2021-12-30\" min=\"2021-10-10\">\n\t\t\t\tDate\n\t\t\t</smoothly-input-date>,\n\t\t\t<smoothly-form looks=\"grid\" onSmoothlyFormSubmit={e => console.log(e.detail)}>\n\t\t\t\t<smoothly-input-date-range\n\t\t\t\t\tname=\"testing\"\n\t\t\t\t\tstart={isoly.Date.now()}\n\t\t\t\t\tend={isoly.Date.nextMonth(isoly.Date.now())}\n\t\t\t\t\tmin=\"2021-10-10\"\n\t\t\t\t\tmax=\"2024-12-30\"></smoothly-input-date-range>\n\t\t\t\t<smoothly-input-clear type=\"form\" color=\"danger\" fill=\"solid\" slot=\"clear\">\n\t\t\t\t\tClear\n\t\t\t\t</smoothly-input-clear>\n\t\t\t\t<smoothly-submit slot=\"submit\">submit daterange</smoothly-submit>\n\t\t\t</smoothly-form>,\n\n\t\t\t<smoothly-input-date-range\n\t\t\t\tlooks=\"grid\"\n\t\t\t\tstart={isoly.Date.now()}\n\t\t\t\tend={isoly.Date.nextMonth(isoly.Date.now())}\n\t\t\t\tmin=\"2021-10-10\"\n\t\t\t\tmax=\"2025-12-30\"\n\t\t\t\tshowLabel={false}\n\t\t\t\tstyle={{\n\t\t\t\t\t\"--border-radius\": \"4px\",\n\t\t\t\t\t\"--padding\": \"0 0.75em\",\n\t\t\t\t\t\"--input-width\": \"12ch\",\n\t\t\t\t}}></smoothly-input-date-range>,\n\t\t\t<br />,\n\t\t\t<h4>Smoothly Selector</h4>,\n\t\t\t<smoothly-input-select type=\"icon\" initialValue=\"folder\" showSelected={false}>\n\t\t\t\t<smoothly-item value=\"folder\">\n\t\t\t\t\t<smoothly-icon color=\"dark\" name=\"folder-outline\" />\n\t\t\t\t</smoothly-item>\n\t\t\t\t<smoothly-item value=\"camera\">\n\t\t\t\t\t<smoothly-icon color=\"dark\" name=\"camera-outline\" />\n\t\t\t\t</smoothly-item>\n\t\t\t</smoothly-input-select>,\n\t\t\t<br />,\n\t\t\t<smoothly-input-select\n\t\t\t\tlooks=\"line\"\n\t\t\t\tinitialPrompt=\"Select...\"\n\t\t\t\tref={(element: HTMLSmoothlyInputSelectElement) => (this.selectElement = element)}>\n\t\t\t\t<smoothly-item value=\"1\">January</smoothly-item>\n\t\t\t\t<smoothly-item value=\"2\">February</smoothly-item>\n\t\t\t\t<smoothly-item value=\"3\">March</smoothly-item>\n\t\t\t\t<smoothly-item value=\"4\">April</smoothly-item>\n\t\t\t\t<smoothly-item value=\"5\">May</smoothly-item>\n\t\t\t\t<smoothly-item value=\"6\">June</smoothly-item>\n\t\t\t\t<smoothly-item value=\"7\">July</smoothly-item>\n\t\t\t\t<smoothly-item value=\"8\">August</smoothly-item>\n\t\t\t\t<smoothly-item value=\"9\">September</smoothly-item>\n\t\t\t\t<smoothly-item value=\"10\">October</smoothly-item>\n\t\t\t\t<smoothly-item value=\"11\">November</smoothly-item>\n\t\t\t\t<smoothly-item value=\"12\">December</smoothly-item>\n\t\t\t</smoothly-input-select>,\n\t\t\t<button onClick={async () => this.selectElement.reset()}>Reset select</button>,\n\t\t\t<br />,\n\t\t\t<smoothly-form looks=\"grid\" onSmoothlyFormSubmit={e => console.log(\"Submitted\", e.detail)}>\n\t\t\t\t<smoothly-input type=\"text\" name=\"text\">\n\t\t\t\t\tText\n\t\t\t\t</smoothly-input>\n\t\t\t\t<div>\n\t\t\t\t\t<smoothly-input-file placeholder=\"Select or drag a file here\" name=\"file\">\n\t\t\t\t\t\t<span slot=\"label\">Testing file input</span>\n\t\t\t\t\t\t<smoothly-icon slot=\"button\" name=\"folder-outline\" />\n\t\t\t\t\t</smoothly-input-file>\n\t\t\t\t</div>\n\t\t\t\t<smoothly-input-file camera=\"back\" placeholder=\"Capture a photo\" name=\"image\">\n\t\t\t\t\t<span slot=\"label\">Testing camera photo</span>\n\t\t\t\t\t<smoothly-icon slot=\"button\" name=\"camera-outline\" />\n\t\t\t\t</smoothly-input-file>\n\t\t\t\t<smoothly-input-clear type=\"form\" color=\"danger\" fill=\"solid\" slot=\"clear\">\n\t\t\t\t\tClear\n\t\t\t\t</smoothly-input-clear>\n\t\t\t\t<smoothly-submit slot=\"submit\">Submit</smoothly-submit>\n\t\t\t</smoothly-form>,\n\t\t\t<br />,\n\t\t\t<smoothly-form looks=\"line\" onSmoothlyFormSubmit={e => console.log(\"form input\", e.detail)}>\n\t\t\t\t<smoothly-input name=\"text\">Input</smoothly-input>\n\t\t\t\t<smoothly-input-file camera=\"back\" placeholder=\"Capture a photo\" name=\"image\">\n\t\t\t\t\t<span slot=\"label\">Testing camera photo</span>\n\t\t\t\t\t<smoothly-icon slot=\"button\" name=\"camera-outline\" />\n\t\t\t\t</smoothly-input-file>\n\t\t\t\t<smoothly-picker name=\"picker\">\n\t\t\t\t\t<span slot=\"label\">Shape</span>\n\t\t\t\t\t<span slot=\"search\">Search</span>\n\t\t\t\t\t<smoothly-picker-option value={\"circle\"}>\n\t\t\t\t\t\t<span slot=\"label\">Circle</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"ellipse-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"cube\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>Cube</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"cube-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"square\"} selected>\n\t\t\t\t\t\t<span slot={\"label\"}>Square</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"square-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t</smoothly-picker>\n\t\t\t\t<smoothly-input-select\n\t\t\t\t\tname=\"select\"\n\t\t\t\t\tinitialPrompt=\"Select...\"\n\t\t\t\t\tref={(element: HTMLSmoothlyInputSelectElement) => (this.selectElement = element)}>\n\t\t\t\t\t<smoothly-item value=\"1\">January</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"2\">February</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"3\">March</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"4\">April</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"5\">May</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"6\">June</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"7\">July</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"8\">August</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"9\">September</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"10\">October</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"11\">November</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"12\">December</smoothly-item>\n\t\t\t\t</smoothly-input-select>\n\t\t\t\t<smoothly-input-date-range\n\t\t\t\t\tname=\"date-range\"\n\t\t\t\t\tstart={isoly.Date.now()}\n\t\t\t\t\tend={isoly.Date.nextMonth(isoly.Date.now())}\n\t\t\t\t\tmin=\"2021-10-10\"\n\t\t\t\t\tmax=\"2025-12-30\"\n\t\t\t\t\tshowLabel={false}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\"--border-radius\": \"4px\",\n\t\t\t\t\t\t\"--padding\": \"0 0.75em\",\n\t\t\t\t\t\t\"--input-width\": \"12ch\",\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<smoothly-input-date name=\"date\" value=\"2021-10-28\" max=\"2021-12-30\" min=\"2021-10-10\">\n\t\t\t\t\tDate\n\t\t\t\t</smoothly-input-date>\n\t\t\t\t<smoothly-submit slot=\"submit\" color=\"success\" fill=\"solid\" size=\"icon\">\n\t\t\t\t\t<smoothly-icon name=\"checkmark-circle\" fill=\"solid\" size=\"medium\" />\n\t\t\t\t</smoothly-submit>\n\t\t\t</smoothly-form>,\n\t\t\t<h4>Form with spinner showcase</h4>,\n\t\t\t<smoothly-form looks=\"line\" processing={true} onSmoothlyFormSubmit={e => console.log(\"form input\", e.detail)}>\n\t\t\t\t<smoothly-input name=\"text\">Input</smoothly-input>\n\t\t\t\t<smoothly-input-file camera=\"back\" placeholder=\"Capture a photo\" name=\"image\">\n\t\t\t\t\t<span slot=\"label\">Testing camera photo</span>\n\t\t\t\t\t<smoothly-icon slot=\"button\" name=\"camera-outline\" />\n\t\t\t\t</smoothly-input-file>\n\t\t\t\t<smoothly-picker name=\"picker\">\n\t\t\t\t\t<span slot=\"label\">Shape</span>\n\t\t\t\t\t<span slot=\"search\">Search</span>\n\t\t\t\t\t<smoothly-picker-option value={\"circle\"}>\n\t\t\t\t\t\t<span slot=\"label\">Circle</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"ellipse-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"cube\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>Cube</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"cube-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"square\"} selected>\n\t\t\t\t\t\t<span slot={\"label\"}>Square</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"square-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t</smoothly-picker>\n\t\t\t\t<smoothly-input-select\n\t\t\t\t\tname=\"select\"\n\t\t\t\t\tinitialPrompt=\"Select...\"\n\t\t\t\t\tref={(element: HTMLSmoothlyInputSelectElement) => (this.selectElement = element)}>\n\t\t\t\t\t<smoothly-item value=\"1\">January</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"2\">February</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"3\">March</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"4\">April</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"5\">May</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"6\">June</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"7\">July</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"8\">August</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"9\">September</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"10\">October</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"11\">November</smoothly-item>\n\t\t\t\t\t<smoothly-item value=\"12\">December</smoothly-item>\n\t\t\t\t</smoothly-input-select>\n\t\t\t\t<smoothly-input-date-range\n\t\t\t\t\tname=\"date-range\"\n\t\t\t\t\tstart={isoly.Date.now()}\n\t\t\t\t\tend={isoly.Date.nextMonth(isoly.Date.now())}\n\t\t\t\t\tmin=\"2021-10-10\"\n\t\t\t\t\tmax=\"2025-12-30\"\n\t\t\t\t\tshowLabel={false}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\"--border-radius\": \"4px\",\n\t\t\t\t\t\t\"--padding\": \"0 0.75em\",\n\t\t\t\t\t\t\"--input-width\": \"12ch\",\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<smoothly-input-date name=\"date\" value=\"2021-10-28\" max=\"2021-12-30\" min=\"2021-10-10\">\n\t\t\t\t\tDate\n\t\t\t\t</smoothly-input-date>\n\t\t\t\t<smoothly-submit slot=\"submit\" color=\"success\" fill=\"solid\" size=\"icon\">\n\t\t\t\t\t<smoothly-icon name=\"checkmark-circle\" fill=\"solid\" size=\"medium\" />\n\t\t\t\t</smoothly-submit>\n\t\t\t</smoothly-form>,\n\t\t]\n\t}\n}\n","@import \"../shared.css\";\n\n:host {\n\tdisplay: flex;\n\talign-items: center;\n\tflex-wrap: wrap;\n\toverflow: hidden;\n\tposition: relative;\n\twidth: 100%;\n\tpadding-left: 0.4rem;\n\t\tbackground-color: rgb(var(--background-color,var(--smoothly-color-shade)))\n}\n.mask {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground-color: rgb(var(--text-color ,var(--smoothly-color-contrast)), 0.3);\n}\n\n:host:not(.dragging) .mask {\n\tdisplay: none;\n}\ninput {\n\toverflow: hidden;\n\theight: 0;\n\twidth: 0;\n\tpadding:0\n}\n.input {\n\tdisplay: flex;\n\talign-items:center;\n\tpadding-left: 0.4rem;\n\tpadding-bottom: 0.2rem;\n}\nsmoothly-button {\n\tmargin: 0;\n\tborder: none;\n}\nlabel {\n\tpadding-left: 0.4rem;\n\tpadding-top: 0.4rem;\n\tdisplay: flex;\n\twidth: 100%;\n\talign-items: baseline;\n\tjustify-content: flex-start;\n\tcolor: rgb(var(--text-color, var(--smoothly-color-contrast)));\n\tcursor: inherit;\n\n}\nlabel::slotted(*) {\n\tdisplay: block;\n\twidth: 100%;\n\tfont-size: 0.65em;\n\topacity: 0.8;\n}\n:host:not([show-label]) label {\n\tdisplay: none;\n}\nsmoothly-icon {\n\tdisplay: none;\n\tposition: absolute;\n\tright: 0.2em;\n\ttop: 0.6em;\n}\nspan {\n\tcursor: pointer;\n\tpadding-left: 0.5rem;\n}\n","import { Component, Event, EventEmitter, h, Host, Method, Prop, State } from \"@stencil/core\"\nimport { Color } from \"../../../model\"\nimport { Clearable } from \"../Clearable\"\nimport { Input } from \"../Input\"\nimport { Looks } from \"../Looks\"\n\n@Component({\n\ttag: \"smoothly-input-file\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputFile implements Clearable, Input {\n\tprivate transfer: DataTransfer = new DataTransfer()\n\tprivate input?: HTMLInputElement\n\t@State() dragging = false\n\t@Prop() accept?: string\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks: Looks = \"plain\"\n\t@Prop({ reflect: true }) camera: \"front\" | \"back\"\n\t@Prop({ reflect: true }) name: string\n\t@Prop({ reflect: true }) showLabel = true\n\t@Prop({ mutable: true }) value?: File\n\t@Prop({ mutable: true, reflect: true }) placeholder: string | undefined\n\t@Event() smoothlyInputLooks: EventEmitter<(looks: Looks, color: Color) => void>\n\t@Event() smoothlyInput: EventEmitter<Record<string, File>>\n\t@Event() smoothlyChange: EventEmitter<Record<string, File>>\n\n\tcomponentWillLoad() {\n\t\tthis.smoothlyInputLooks.emit((looks, color) => ((this.looks = looks), !this.color && (this.color = color)))\n\t}\n\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tthis.value = undefined\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{ dragging: this.dragging }}\n\t\t\t\tonDragOver={(event: Event) => (event.preventDefault(), event.stopPropagation())}\n\t\t\t\tonDragEnter={() => (this.dragging = true)}>\n\t\t\t\t<label>\n\t\t\t\t\t<slot name={\"label\"} />\n\t\t\t\t</label>\n\t\t\t\t<div class=\"input\">\n\t\t\t\t\t<smoothly-button\n\t\t\t\t\t\tcolor={this.color}\n\t\t\t\t\t\tfill={\"clear\"}\n\t\t\t\t\t\tsize=\"flexible\"\n\t\t\t\t\t\tonClick={event => (event.stopPropagation(), this.input?.click())}>\n\t\t\t\t\t\t<slot name={\"button\"} />\n\t\t\t\t\t</smoothly-button>\n\t\t\t\t\t<span onClick={event => (event.stopPropagation(), this.input?.click())}>\n\t\t\t\t\t\t{this.value?.name ?? this.placeholder}\n\t\t\t\t\t</span>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={\"mask\"}\n\t\t\t\t\t\tonDrop={event => (\n\t\t\t\t\t\t\tevent.preventDefault(),\n\t\t\t\t\t\t\tevent.stopPropagation(),\n\t\t\t\t\t\t\t(this.dragging = false),\n\t\t\t\t\t\t\tevent.dataTransfer?.files.length &&\n\t\t\t\t\t\t\t\t(this.smoothlyInput.emit({ [this.name]: (this.value = event.dataTransfer.files[0]) }),\n\t\t\t\t\t\t\t\tthis.smoothlyChange.emit({ [this.name]: (this.value = event.dataTransfer.files[0]) }))\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonDragLeave={event => (event.stopPropagation(), (this.dragging = false))}\n\t\t\t\t\t/>\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={element => (this.input = element)}\n\t\t\t\t\t\ttype={\"file\"}\n\t\t\t\t\t\tcapture={this.camera == \"back\" ? \"environment\" : \"user\"}\n\t\t\t\t\t\taccept={this.accept ?? (!this.camera ? undefined : \"image/jpeg\")}\n\t\t\t\t\t\tfiles={\n\t\t\t\t\t\t\t(this.transfer.items.clear(), this.value && this.transfer.items.add(this.value), this.transfer.files)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonInput={event => (\n\t\t\t\t\t\t\tevent.stopPropagation(),\n\t\t\t\t\t\t\tthis.input?.files?.length && this.smoothlyInput.emit({ [this.name]: (this.value = this.input?.files[0]) })\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonChange={event => (\n\t\t\t\t\t\t\tevent.stopPropagation(),\n\t\t\t\t\t\t\tthis.input?.files?.length &&\n\t\t\t\t\t\t\t\tthis.smoothlyChange.emit({ [this.name]: (this.value = this.input?.files[0]) })\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tfont-size: large;\n}\nsmoothly-icon {\n\tfont-size: smaller;\n}\n","import { Component, Event, EventEmitter, h, Prop, Watch } from \"@stencil/core\"\nimport { Date } from \"isoly\"\nimport * as generate from \"../../calendar/generate\"\n\n@Component({\n\ttag: \"smoothly-input-month\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class MonthSelector {\n\t@Prop({ mutable: true }) value?: Date\n\t@Event() valueChanged: EventEmitter<Date>\n\t@Watch(\"value\")\n\tonValueChanged(next: Date) {\n\t\tthis.valueChanged.emit(next)\n\t}\n\tprivate adjustMonth(delta: number) {\n\t\tconst date = Date.parse(this.value ?? Date.now())\n\t\tdate.setMonth(date.getMonth() + delta)\n\t\tthis.value = Date.create(date)\n\t}\n\trender() {\n\t\treturn [\n\t\t\t<div onClick={() => this.adjustMonth(-1)}>\n\t\t\t\t<smoothly-icon name=\"caret-back-outline\" size=\"small\" />\n\t\t\t</div>,\n\t\t\t<smoothly-input-select onSelected={(e: CustomEvent) => (this.value = e.detail)}>\n\t\t\t\t{generate.years(this.value ?? Date.now()).map(year => (\n\t\t\t\t\t<smoothly-item value={year.date} selected={year.selected}>\n\t\t\t\t\t\t{year.name}\n\t\t\t\t\t</smoothly-item>\n\t\t\t\t))}\n\t\t\t</smoothly-input-select>,\n\t\t\t<smoothly-input-select onSelected={(e: CustomEvent) => (this.value = e.detail)}>\n\t\t\t\t{generate.months(this.value ?? Date.now()).map(month => (\n\t\t\t\t\t<smoothly-item value={month.date} selected={month.selected}>\n\t\t\t\t\t\t{month.name}\n\t\t\t\t\t</smoothly-item>\n\t\t\t\t))}\n\t\t\t</smoothly-input-select>,\n\t\t\t<div onClick={() => this.adjustMonth(1)}>\n\t\t\t\t<smoothly-icon name=\"caret-forward-outline\" size=\"small\" />\n\t\t\t</div>,\n\t\t]\n\t}\n}\n","@import \"../shared.css\";\n\n:host {\n\tdisplay: flex;\n\tposition: relative;\n\tbackground-color: rgb(var(--background-color, var(--smoothly-color-shade)));\n}\n\n:host.icon {\n\twidth: fit-content;\n\tflex-direction: column;\n}\n\n:host>main,\n:host>main>* {\n\theight: 100%;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n:host.icon>main,\n:host.icon>main>* {\n\tpadding: 0.5em;\n}\n\n:host>div>nav {\n\tdisplay: flex;\n\tflex-direction: column;\n\tposition: absolute;\n\tz-index: 10;\n\theight: var(--menu-height, unset);\n\toverflow-y: scroll;\n}\n\n:host>aside {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 5em;\n\tz-index: 10;\n\tbackground-color: rgb(var(--smoothly-tertiary-color));\n\tcolor: rgb(var(--smoothly-tertiary-contrast));\n\theight: 1.25rem;\n\tborder-radius: 0.3rem;\n\tpadding: 0.3rem;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n:host().missing>aside {\n\tbackground-color: rgb(var(--smoothly-warning-color));\n\tcolor: rgb(var(--smoothly-warning-contrast));\n}\n\n.hidden {\n\tdisplay: none;\n}\n\n:host>section {\n\tposition: fixed;\n\ttop: 0px;\n\tleft: 0px;\n\twidth: 100vw;\n\theight: 100vh;\n\tz-index: 10;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from \"@stencil/core\"\nimport { Color } from \"../../../model\"\nimport { Input } from \"../Input\"\nimport { Looks } from \"../Looks\"\n@Component({\n\ttag: \"smoothly-input-select\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputSelect implements Input {\n\t@Element() element: HTMLSmoothlyInputSelectElement\n\t@Prop() name: string\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks: Looks = \"plain\"\n\t@Prop({ reflect: true, mutable: true }) type?: \"icon\"\n\t@Prop({ reflect: true, mutable: true }) showSelected?: boolean = true\n\t@Prop() initialPrompt?: string\n\t@Prop() initialValue?: any\n\t@State() opened = false\n\titems: HTMLSmoothlyItemElement[] = []\n\t@State() selectedElement?: HTMLSmoothlyItemElement\n\t@State() missing = false\n\tmainElement?: HTMLElement\n\t@State() filter = \"\"\n\t@Event() selected: EventEmitter<any>\n\t@Event() smoothlyInput: EventEmitter<Record<number, any>>\n\taside?: HTMLElement\n\t@Event() smoothlyInputLooks: EventEmitter<(looks: Looks, color: Color) => void>\n\n\tcomponentWillLoad() {\n\t\tthis.smoothlyInputLooks.emit((looks, color) => ((this.looks = looks), !this.color && (this.color = color)))\n\t}\n\n\t@Method()\n\tasync reset() {\n\t\tthis.selectedElement = undefined\n\t\tif (this.mainElement) {\n\t\t\t//reset to the same value as it started with\n\t\t\tthis.mainElement.innerHTML = this.initialPrompt ?? \"(none)\"\n\t\t}\n\t}\n\n\t@Watch(\"selectedElement\")\n\tonSelectedChange(value: HTMLSmoothlyItemElement | undefined, old: HTMLSmoothlyItemElement | undefined) {\n\t\tif (old)\n\t\t\told.selected = false\n\t\tthis.selected.emit(value?.value)\n\t\tthis.smoothlyInput.emit({ [this.name]: value?.value })\n\t}\n\t@Watch(\"filter\")\n\tasync onFilterChange(value: string) {\n\t\tvalue = value.toLowerCase()\n\t\tif (!(await Promise.all(this.items.map(item => item.filter(value)))).some(r => r)) {\n\t\t\tthis.missing = true\n\t\t\tthis.items.forEach(el => el.filter(\"\"))\n\t\t} else\n\t\t\tthis.missing = false\n\t}\n\t@Listen(\"click\")\n\tonClick(event: UIEvent) {\n\t\tevent.stopPropagation()\n\t\tthis.opened = !this.opened\n\t}\n\t@Listen(\"itemSelected\")\n\tonItemSelected(event: Event) {\n\t\tthis.selectedElement && (this.selectedElement.hidden = false)\n\t\tthis.selectedElement = event.target as HTMLSmoothlyItemElement\n\t\t!this.showSelected && (this.selectedElement.hidden = true)\n\t\tif (this.mainElement)\n\t\t\tthis.mainElement.innerHTML = this.selectedElement.innerHTML\n\t}\n\t@Watch(\"opened\")\n\tonClosed() {\n\t\tif (!this.opened) {\n\t\t\tconst marked = this.items.find(item => item.marked)\n\t\t\tif (marked)\n\t\t\t\tmarked.marked = false\n\t\t}\n\t}\n\n\t@Listen(\"keydown\")\n\tonKeyDown(event: KeyboardEvent) {\n\t\tevent.stopPropagation()\n\t\tevent.preventDefault()\n\t\tif (this.opened) {\n\t\t\tlet direction: -1 | 0 | 1 = 0\n\t\t\tswitch (event.key) {\n\t\t\t\tcase \"ArrowUp\":\n\t\t\t\t\tdirection = -1\n\t\t\t\t\tbreak\n\t\t\t\tcase \"ArrowDown\":\n\t\t\t\t\tdirection = 1\n\t\t\t\t\tbreak\n\t\t\t\tcase \"Escape\":\n\t\t\t\t\tthis.filter = \"\"\n\t\t\t\t\tbreak\n\t\t\t\tcase \"Backspace\":\n\t\t\t\t\tthis.filter = this.filter.slice(0, -1)\n\t\t\t\t\tbreak\n\t\t\t\tcase \"Enter\":\n\t\t\t\t\tconst result = this.items.find(item => item.marked)\n\t\t\t\t\tif (result?.value) {\n\t\t\t\t\t\tresult.selected = true\n\t\t\t\t\t}\n\t\t\t\t\tthis.opened = false\n\t\t\t\t\tthis.filter = \"\"\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\tif (event.key.length == 1)\n\t\t\t\t\t\tthis.filter += event.key\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t\tthis.move(direction)\n\t\t} else if (event.key == \"Enter\")\n\t\t\tthis.opened = true\n\t}\n\tprivate move(direction: -1 | 0 | 1): void {\n\t\tif (direction) {\n\t\t\tlet markedIndex = this.items.findIndex(item => item.marked)\n\t\t\tif (markedIndex == -1)\n\t\t\t\tmarkedIndex = this.items.findIndex(item => item.selected)\n\t\t\tif (this.items[markedIndex])\n\t\t\t\tthis.items[markedIndex].marked = false\n\t\t\tdo {\n\t\t\t\tmarkedIndex = (markedIndex + direction + this.items.length) % this.items.length\n\t\t\t} while (this.items[markedIndex].hidden)\n\t\t\tthis.items[markedIndex].marked = true\n\t\t\tthis.items[markedIndex].focus()\n\t\t}\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host tabIndex={2} class={(this.missing ? \"missing\" : this.type) ?? \"\"}>\n\t\t\t\t<main ref={element => (this.mainElement = element)}>{this.initialPrompt ?? \"(none)\"}</main>\n\t\t\t\t{this.filter.length != 0 ? (\n\t\t\t\t\t<aside ref={element => (this.aside = element)}>\n\t\t\t\t\t\t{this.filter}\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tonClick={e => {\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\tthis.filter = \"\"\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<smoothly-icon name=\"close\" size=\"small\"></smoothly-icon>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</aside>\n\t\t\t\t) : undefined}\n\t\t\t\t{this.opened ? <section onClick={() => (this.opened = true)}></section> : []}\n\t\t\t\t<div class={this.opened ? \"\" : \"hidden\"}>\n\t\t\t\t\t<nav>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</nav>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n\tcomponentDidRender() {\n\t\tconst items: HTMLSmoothlyItemElement[] = []\n\t\tconst children = this.element.querySelectorAll(\"div > nav > smoothly-item\")\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\tconst node = children.item(i)\n\t\t\tif (isItem(node)) {\n\t\t\t\titems.push(node)\n\t\t\t\tnode.value == this.initialValue && this.mainElement && !this.selectedElement && (node.selected = true)\n\t\t\t}\n\t\t}\n\t\tthis.items = items\n\t}\n}\nfunction isItem(value: HTMLSmoothlyItemElement | any): value is HTMLSmoothlyItemElement {\n\treturn (\n\t\ttypeof value == \"object\" &&\n\t\t(typeof value.selected == \"boolean\" || value.selected == undefined) &&\n\t\ttypeof value.filter == \"function\"\n\t)\n}\n",":host([selected]) {\n\tbackground-color: rgb(var(--smoothly-primary-shade));\n\tcolor: rgb(var(--smoothly-primary-contrast));\n}\n:host {\n\tpadding: 0.5em;\n\tcursor: pointer;\n\tbackground-color: rgb(var(--smoothly-default-shade));\n\tcolor: rgb(var(--smoothly-default-contrast));\n\tborder: rgb(var(--smoothly-default-shade) solid 1px);\n}\n:host([marked]),\n:host:hover {\n\tbackground-color: rgb(var(--smoothly-primary-color));\n\tcolor: rgb(var(--smoothly-primary-contrast));\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, Watch } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-item\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class Item {\n\t@Element() element: HTMLSmoothlyItemElement\n\t@Prop() value: any\n\t@Prop({ reflect: true, mutable: true }) selected: boolean\n\t@Prop({ reflect: true, mutable: true }) marked: boolean\n\t@Event() itemSelected: EventEmitter<void>\n\t@Watch(\"selected\")\n\tonSelectedChanged(value: boolean, old: boolean) {\n\t\tif (value && !old)\n\t\t\tthis.itemSelected.emit()\n\t}\n\t@Listen(\"click\")\n\tonClick() {\n\t\tthis.selected = true\n\t\tthis.itemSelected.emit()\n\t}\n\tcomponentDidLoad() {\n\t\tif (this.selected)\n\t\t\tthis.itemSelected.emit()\n\t}\n\t@Method()\n\tasync filter(filter: string): Promise<boolean> {\n\t\tconst result = !(this.element.hidden = filter\n\t\t\t? !(\n\t\t\t\t\t(typeof this.value === \"string\" ? this.value : JSON.stringify(this.value)).toLowerCase().includes(filter) ||\n\t\t\t\t\tthis.element.innerText.toLowerCase().includes(filter)\n\t\t\t )\n\t\t\t: false)\n\t\treturn result\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host tabIndex={-1}>\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: block;\n\twidth: 30em;\n\tmin-height: 3em;\n\tborder-radius: 5px;\n\tmargin: 0.5em;\n}\n.clean {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tpadding: 0.5em 1em;\n}\n.icon {\n\tdisplay: grid;\n\twidth: 100%;\n\tgrid-template-columns: 1fr 5fr;\n}\n.icon > p{\n\tpadding-right: 1em;\n}\n:host > span > p {\n\ttext-align: left;\n}\n:host[hidden] {\n\tdisplay: none;\n}\nsmoothly-icon {\n\tleft: 0;\n\tfont-size: 1.2em;\n\talign-self: center;\n\tjustify-self: center;\n}\nsmoothly-trigger {\n\tfont-size: 0.5em;\n\tfloat: right;\n\ttext-align: right;\n\tmargin-right: 0.2em;\n}\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { Component, Event, EventEmitter, h, Host, Listen, Prop, State, Watch } from \"@stencil/core\"\nimport { Color, Notice, Trigger } from \"../../model\"\nimport { Icon } from \"../../model\"\n\n@Component({\n\ttag: \"smoothly-notification\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class Notification {\n\t@Prop() notice: Notice\n\t@Prop() closable = true\n\t@Prop() icon = false\n\t@State() tick = {}\n\t@Event() remove: EventEmitter<Notice>\n\tprivate listener: Notice.Listener = notice => {\n\t\tif (notice.state == \"closed\")\n\t\t\tthis.remove.emit(notice)\n\t\telse\n\t\t\tthis.tick = {}\n\t}\n\tprivate get properties(): [Color, Icon | undefined] {\n\t\tlet result: [Color, Icon | undefined]\n\t\tswitch (this.notice.state) {\n\t\t\tcase \"delayed\":\n\t\t\tcase \"warning\":\n\t\t\t\tresult = [\"warning\", \"warning-outline\"]\n\t\t\t\tbreak\n\t\t\tcase \"success\":\n\t\t\t\tresult = [\"success\", \"checkmark-circle\"]\n\t\t\t\tbreak\n\t\t\tcase \"executing\":\n\t\t\t\tresult = [\"light\", \"hourglass-outline\"]\n\t\t\t\tbreak\n\t\t\tcase \"failed\":\n\t\t\t\tresult = [\"danger\", \"alert-circle\"]\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tresult = [\"light\", undefined]\n\t\t\t\tbreak\n\t\t}\n\t\treturn result\n\t}\n\n\t@Listen(\"trigger\")\n\tonTrigger(event: CustomEvent<Trigger>) {\n\t\tif (event.detail.name == \"close\") {\n\t\t\tevent.stopPropagation()\n\t\t\tthis.notice.close()\n\t\t}\n\t}\n\n\t@Watch(\"notice\")\n\tonUpdatedNotice(newValue: Notice, oldValue?: Notice) {\n\t\tif (oldValue)\n\t\t\toldValue.unlisten(this.listener)\n\t\tnewValue.listen(this.listener)\n\t}\n\tcomponentDidLoad() {\n\t\tthis.onUpdatedNotice(this.notice)\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host color={this.properties[0]} fill=\"solid\">\n\t\t\t\t{this.closable ? (\n\t\t\t\t\t<smoothly-trigger fill=\"clear\" name=\"close\">\n\t\t\t\t\t\t<smoothly-icon name=\"close-circle-outline\"></smoothly-icon>\n\t\t\t\t\t</smoothly-trigger>\n\t\t\t\t) : (\n\t\t\t\t\t\"\"\n\t\t\t\t)}\n\t\t\t\t<span class={this.icon ? \"icon\" : \"clean\"}>\n\t\t\t\t\t{this.icon ? <smoothly-icon name={this.properties[1]}></smoothly-icon> : \"\"}\n\t\t\t\t\t<p>{this.notice.message}</p>\n\t\t\t\t</span>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: block;\n}\n:host[hidden] {\n\tdisplay: none;\n}\n:host > aside {\n\tdisplay: flex;\n\tflex-wrap: wrap-reverse;\n\talign-content: stretch;\n\tposition: fixed;\n\tbottom: 3rem;\n\tleft: 0;\n\ttext-align: center;\n\tz-index: 100;\n}\n","import { Component, h, Listen, State } from \"@stencil/core\"\nimport { Notice } from \"../../model\"\n\n@Component({\n\ttag: \"smoothly-notifier\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class Notifier {\n\t@State() notices: Notice[] = []\n\n\t@Listen(\"notice\")\n\tonNotice(event: CustomEvent<Notice>) {\n\t\tthis.notices = [...this.notices, event.detail]\n\t}\n\t@Listen(\"remove\")\n\tonRemove(event: CustomEvent<Notice>) {\n\t\tthis.notices = [...this.notices.filter(n => n != event.detail)]\n\t}\n\trender() {\n\t\treturn [\n\t\t\t<slot></slot>,\n\t\t\t<aside>\n\t\t\t\t{this.notices.map(n => (\n\t\t\t\t\t<smoothly-notification notice={n}></smoothly-notification>\n\t\t\t\t))}\n\t\t\t</aside>,\n\t\t]\n\t}\n}\n","@import \"../input/shared.css\";\n\n:host {\n\tdisplay: flex;\n\tposition: relative;\n\twidth: max-content;\n\tpadding: 1.2em 0.7em 0.2em 0.8em;\n\tbackground-color: rgb(var(--background-color, var(--smoothly-color-shade)));\n}\n:host div.element {\n\tdisplay: flex;\n\tbackground-color: inherit;\n}\nsmoothly-slot-elements {\n\twhite-space: nowrap;\n}\n.selected {\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 1rem;\n\twidth: 100%;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tmargin-right: 2px;\n}\n.selected::after {\n\tcontent: \"\";\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tright: 0;\n\twidth: 2ch;\n\tbackground: linear-gradient(90deg, rgba(var(--background-color, var(--smoothly-color-shade)), 0) 0%, rgba(var(--background-color, var(--smoothly-color-shade)), 1) 100%);\n}\n.selected * {\n\tdisplay: none;\n}\n.label {\n\tposition: absolute;\n\tleft: 0.4rem;\n\ttop: 0.6rem;\n\tcolor: rgb(var(--text-color, var(--smoothly-color-contrast)));\n\topacity: 0.8;\n\tuser-select: none;\n\tcursor: inherit;\n\ttransform-origin: top left;\n\ttransition: transform 100ms ease;\n}\n.selected:not(:empty) + .label {\n\ttop: 0.4em;\n\ttransform: scale(0.6);\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from \"@stencil/core\"\nimport { Notice, Option } from \"../../model\"\nimport { Clearable } from \"../input/Clearable\"\nimport { Input } from \"../input/Input\"\nimport { Looks } from \"../input/Looks\"\nimport { Controls } from \"./menu\"\n\n@Component({\n\ttag: \"smoothly-picker\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyPicker implements Clearable, Input {\n\t@Element() element: HTMLSmoothlyPickerElement\n\t@Prop({ reflect: true, mutable: true }) looks: Looks = \"plain\"\n\t@Prop({ reflect: true }) name: string\n\t@Prop({ reflect: true, mutable: true }) open = false\n\t@Prop({ reflect: true }) mutable = false\n\t@Prop({ reflect: true }) multiple = false\n\t@Prop({ reflect: true }) readonly = false\n\t@Prop() validator?: (value: string) => boolean | { result: boolean; notice: Notice }\n\t@State() selected = new Map<any, Option>()\n\t@State() display: Node[]\n\t@Event() smoothlyPickerLoaded: EventEmitter<Controls>\n\t@Event() smoothlyInput: EventEmitter<Record<string, any | any[]>> // multiple -> any[]\n\t@Event() smoothlyChange: EventEmitter<Record<string, any | any[]>> // multiple -> any[]\n\t@Event() smoothlyInputLooks: EventEmitter<(looks: Looks) => void>\n\tprivate controls?: Controls & { synced: () => boolean }\n\n\tcomponentWillLoad() {\n\t\tthis.smoothlyInputLooks.emit(looks => (this.looks = looks))\n\t}\n\n\t@Watch(\"selected\")\n\tselectedChanged() {\n\t\tconst selected = Array.from(this.selected.values(), option => option.value)\n\t\tif (this.controls?.synced()) {\n\t\t\tthis.smoothlyInput.emit({ [this.name]: this.multiple ? selected : selected.at(0) })\n\t\t\tthis.smoothlyChange.emit({ [this.name]: this.multiple ? selected : selected.at(0) })\n\t\t}\n\t\tthis.display = Array.from(this.selected.values(), option => {\n\t\t\tconst span = document.createElement(\"span\")\n\t\t\toption.slotted.forEach(node => span.appendChild(node.cloneNode(true)))\n\t\t\treturn span\n\t\t})\n\t}\n\n\tcomponentDidLoad() {\n\t\tif (this.controls)\n\t\t\tthis.smoothlyPickerLoaded.emit((({ synced, ...controls }) => controls)(this.controls))\n\t}\n\t@Listen(\"smoothlyInputLooks\")\n\tsmoothlyInputLooksHandler(event: CustomEvent<(looks: Looks) => void>) {\n\t\tif (event.target != this.element)\n\t\t\tevent.stopPropagation()\n\t}\n\t@Listen(\"smoothlyPickerMenuLoaded\")\n\tmenuLoadedHandler(event: CustomEvent<Controls & { synced: () => boolean }>) {\n\t\tthis.controls = event.detail\n\t}\n\t@Listen(\"smoothlyPickerOptionLoaded\")\n\toptionLoadedHandler(event: CustomEvent<Option>) {\n\t\tif (event.detail.selected)\n\t\t\tthis.selected = this.multiple\n\t\t\t\t? new Map(this.selected.set(event.detail.value, event.detail).entries())\n\t\t\t\t: new Map().set(event.detail.value, event.detail)\n\t}\n\n\t@Listen(\"smoothlyPickerOptionChange\")\n\toptionChangeHandler(event: CustomEvent<Option>) {\n\t\tif (!this.readonly)\n\t\t\tif (this.multiple)\n\t\t\t\tthis.selected = event.detail.selected\n\t\t\t\t\t? new Map(this.selected.set(event.detail.value, event.detail).entries())\n\t\t\t\t\t: !this.selected.delete(event.detail.value)\n\t\t\t\t\t? this.selected\n\t\t\t\t\t: new Map(this.selected.entries())\n\t\t\telse\n\t\t\t\tthis.selected = !event.detail.selected ? new Map() : new Map().set(event.detail.value, event.detail)\n\t}\n\t@Listen(\"click\", { target: \"window\" })\n\tclickHandler(event: MouseEvent) {\n\t\tthis.open = !event.composedPath().includes(this.element) ? false : !this.open\n\t}\n\t@Listen(\"focusin\", { target: \"window\" })\n\tfocusHandler(event: FocusEvent) {\n\t\tif (!event.composedPath().includes(this.element))\n\t\t\tthis.open = false\n\t}\n\t@Method()\n\tasync clear() {\n\t\tthis.selected.forEach(option => option.selected && option.element.clickHandler())\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<smoothly-slot-elements class={\"selected\"} nodes={this.display} />\n\t\t\t\t<span class={\"label\"}>\n\t\t\t\t\t<slot name={\"label\"} />\n\t\t\t\t</span>\n\t\t\t\t<button type=\"button\">\n\t\t\t\t\t<smoothly-icon size=\"tiny\" name={this.open ? \"caret-down-outline\" : \"caret-forward-outline\"} />\n\t\t\t\t</button>\n\t\t\t\t<slot name=\"child\" />\n\t\t\t\t<smoothly-picker-menu\n\t\t\t\t\topen={this.open}\n\t\t\t\t\tlooks={this.looks}\n\t\t\t\t\tonClick={e => e.stopPropagation()}\n\t\t\t\t\tmultiple={this.multiple}\n\t\t\t\t\tmutable={this.mutable}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tvalidator={this.validator}>\n\t\t\t\t\t<slot name=\"search\" slot=\"search\" />\n\t\t\t\t\t<slot name=\"display\" slot=\"display\" />\n\t\t\t\t\t<slot />\n\t\t\t\t</smoothly-picker-menu>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n:host smoothly-form {\n\tmax-width: 50rem;\n}\n:host .counter {\n\tposition: relative;\n\twidth: 3rem;\n\theight: 3rem;\n}\n:host .counter-button {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tpadding: 0;\n\tmargin: 0;\n\theight: 3rem;\n\twidth: 3rem;\n\tbackground-color: inherit;\n\tborder: none;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n}\n","import { Component, h, Host, Listen, State } from \"@stencil/core\"\nimport { Data, Notice } from \"../../../model\"\nimport { Controls } from \"../menu\"\n\nfunction validateEmail(email: string) {\n\treturn email.match(/^.+@.+/) ? true : { result: false, notice: Notice.failed(\"That is not an email\") }\n}\n\n@Component({\n\ttag: \"smoothly-picker-demo\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyPickerDemo {\n\tprivate controls?: Controls\n\tprivate users: Record<string, string | undefined> = {\n\t\t\"giovani@rocket.com\": \"giovani doe\",\n\t\t\"jessie@rocket.com\": \"jessie doe\",\n\t\t\"james@rocket.com\": \"james doe\",\n\t}\n\t@State() counter = 3\n\t@State() data = {\n\t\tmessage: \"hello world\",\n\t\temails: [\"jessie@rocket.com\", \"james@rocket.com\"],\n\t\toptions: [\n\t\t\t\"giovani@rocket.com\",\n\t\t\t\"john@example.com\",\n\t\t\t\"jane@example.com\",\n\t\t\t\"jack@example.com\",\n\t\t\t\"jessica@example.com\",\n\t\t\t\"julia@example.com\",\n\t\t\t\"jayden@example.com\",\n\t\t\t\"jake@example.com\",\n\t\t\t\"jamie@example.com\",\n\t\t\t\"jasmine@example.com\",\n\t\t],\n\t}\n\t@State() change?: SmoothlyPickerDemo[\"data\"]\n\tinputHandler(event: CustomEvent<Data>) {\n\t\tif (this.change) {\n\t\t\tthis.change = {\n\t\t\t\t...this.change,\n\t\t\t\t...event.detail,\n\t\t\t}\n\t\t\tconsole.log(\"demo input\", this.change)\n\t\t}\n\t}\n\t@Listen(\"smoothlyFormSubmit\")\n\tsubmitHandler(event: CustomEvent<Data>) {\n\t\tconsole.log(\"submitted\", event.detail)\n\t}\n\tclickHandler() {\n\t\tif (!this.change)\n\t\t\tthis.controls?.remember()\n\t\telse\n\t\t\tthis.controls?.restore()\n\t\tthis.change = this.change ? undefined : { ...this.data, emails: [...this.data.emails] }\n\t}\n\tloadedHandler(event: CustomEvent<Controls>) {\n\t\tthis.controls = event.detail\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div>\n\t\t\t\t\t<smoothly-button onClick={() => (this.counter += 1)}>Add one</smoothly-button>\n\t\t\t\t\t<smoothly-button onClick={() => (this.counter -= 1)}>Remove one</smoothly-button>\n\t\t\t\t\t<smoothly-picker\n\t\t\t\t\t\tclass={\"counter\"}\n\t\t\t\t\t\tkey={Array.from({ length: this.counter }).toString()}\n\t\t\t\t\t\tname=\"counter\"\n\t\t\t\t\t\tmultiple\n\t\t\t\t\t\tmutable\n\t\t\t\t\t\tonSmoothlyInput={e => console.log(\"demo counter input\", e.detail)}>\n\t\t\t\t\t\t{Array.from({ length: this.counter }).map((_, index) => (\n\t\t\t\t\t\t\t<smoothly-picker-option value={index} selected={index < this.counter - 1}>\n\t\t\t\t\t\t\t\t{index}\n\t\t\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t<span slot=\"search\">Search</span>\n\t\t\t\t\t\t<button slot=\"child\" class={\"counter-button\"}>\n\t\t\t\t\t\t\t<smoothly-icon name={\"add-outline\"} />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</smoothly-picker>\n\t\t\t\t</div>\n\t\t\t\t<smoothly-button onClick={() => this.clickHandler()}>\n\t\t\t\t\t{!this.change ? \"start edit\" : \"end edit\"}\n\t\t\t\t</smoothly-button>\n\t\t\t\t<h5>Controlled input</h5>\n\t\t\t\t<smoothly-form looks=\"line\" onSmoothlyFormInput={e => this.inputHandler(e as any)}>\n\t\t\t\t\t<smoothly-input readonly={!this.change} name=\"message\" value={this.data.message}>\n\t\t\t\t\t\tMessage\n\t\t\t\t\t</smoothly-input>\n\t\t\t\t\t<smoothly-picker\n\t\t\t\t\t\tname=\"emails\"\n\t\t\t\t\t\tmutable\n\t\t\t\t\t\tmultiple\n\t\t\t\t\t\treadonly={!this.change}\n\t\t\t\t\t\tvalidator={validateEmail}\n\t\t\t\t\t\tonSmoothlyPickerLoaded={e => this.loadedHandler(e)}>\n\t\t\t\t\t\t<span slot=\"label\">Emails</span>\n\t\t\t\t\t\t<span slot=\"search\">Search</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" slot=\"display\" name=\"person-add-outline\" />\n\t\t\t\t\t\t{(this.change?.emails ?? this.data.emails).map(email => (\n\t\t\t\t\t\t\t<smoothly-picker-option key={email} value={email} selected search={[this.users[email] ?? []].flat()}>\n\t\t\t\t\t\t\t\t<span>{this.users[email]}</span>\n\t\t\t\t\t\t\t\t<span slot=\"label\">{email}</span>\n\t\t\t\t\t\t\t\t<smoothly-icon size=\"tiny\" slot=\"display\" name=\"person-outline\" />\n\t\t\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t{this.data.options.map(email => (\n\t\t\t\t\t\t\t<smoothly-picker-option key={email} value={email} search={[this.users[email] ?? []].flat()}>\n\t\t\t\t\t\t\t\t<span>{this.users[email]}</span>\n\t\t\t\t\t\t\t\t<span slot=\"label\">{email}</span>\n\t\t\t\t\t\t\t\t<smoothly-icon size=\"tiny\" slot=\"display\" name=\"person-outline\" />\n\t\t\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</smoothly-picker>\n\t\t\t\t\t<smoothly-submit size=\"icon\" slot=\"submit\">\n\t\t\t\t\t\t<smoothly-icon name=\"checkmark-circle\" />\n\t\t\t\t\t</smoothly-submit>\n\t\t\t\t\t<smoothly-input-clear type=\"form\" color=\"danger\" fill=\"solid\" slot=\"clear\">\n\t\t\t\t\t\tClear\n\t\t\t\t\t</smoothly-input-clear>\n\t\t\t\t</smoothly-form>\n\t\t\t\t<h5>uncontrolled inputs</h5>\n\t\t\t\t<smoothly-form onSmoothlyFormSubmit={e => console.log(\"submitted\", e.detail)} looks=\"line\">\n\t\t\t\t\t<smoothly-input name=\"purpose\" type=\"text\">\n\t\t\t\t\t\tPurpose\n\t\t\t\t\t</smoothly-input>\n\t\t\t\t\t<smoothly-picker multiple mutable name=\"emails\" validator={validateEmail}>\n\t\t\t\t\t\t<span slot=\"label\">Emails</span>\n\t\t\t\t\t\t<span slot=\"search\">Search</span>\n\t\t\t\t\t\t<smoothly-picker-option value={\"james@rocket.com\"}>james@rocket.com</smoothly-picker-option>\n\t\t\t\t\t\t<smoothly-picker-option selected value={\"jessie@rocket.com\"}>\n\t\t\t\t\t\t\tjessie@rocket.com\n\t\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t\t<smoothly-picker-option value={\"giovanni@rocket.com\"}>giovanni@rocket.com</smoothly-picker-option>\n\t\t\t\t\t</smoothly-picker>\n\t\t\t\t\t<smoothly-submit slot=\"submit\">Submit</smoothly-submit>\n\t\t\t\t\t<smoothly-input-clear type=\"form\" color=\"danger\" fill=\"solid\" slot=\"clear\">\n\t\t\t\t\t\tClear\n\t\t\t\t\t</smoothly-input-clear>\n\t\t\t\t\t<smoothly-picker name=\"shape\">\n\t\t\t\t\t\t<span slot=\"label\">Shape</span>\n\t\t\t\t\t\t<span slot=\"search\">Search</span>\n\t\t\t\t\t\t<smoothly-picker-option value={\"circle\"}>\n\t\t\t\t\t\t\t<span slot=\"label\">Circle</span>\n\t\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"ellipse-outline\" />\n\t\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t\t<smoothly-picker-option value={\"cube\"}>\n\t\t\t\t\t\t\t<span slot={\"label\"}>Cube</span>\n\t\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"cube-outline\" />\n\t\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t\t<smoothly-picker-option value={\"square\"} selected>\n\t\t\t\t\t\t\t<span slot={\"label\"}>Square</span>\n\t\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"square-outline\" />\n\t\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t</smoothly-picker>\n\t\t\t\t\t<smoothly-picker multiple readonly name=\"animals\">\n\t\t\t\t\t\t<span slot=\"label\">Animals</span>\n\t\t\t\t\t\t<span slot=\"search\">Search</span>\n\t\t\t\t\t\t<smoothly-picker-option selected value={\"cat\"}>\n\t\t\t\t\t\t\tCat\n\t\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t\t<smoothly-picker-option value={\"dog\"}>Dog</smoothly-picker-option>\n\t\t\t\t\t\t<smoothly-picker-option value={\"fish\"}>Fish</smoothly-picker-option>\n\t\t\t\t\t</smoothly-picker>\n\t\t\t\t</smoothly-form>\n\t\t\t\t<smoothly-picker looks=\"border\" name=\"icon\" multiple>\n\t\t\t\t\t<span slot=\"label\">Icon</span>\n\t\t\t\t\t<span slot=\"search\">Search</span>\n\t\t\t\t\t<smoothly-picker-option value={\"circle\"} required>\n\t\t\t\t\t\t<span slot=\"label\">Circle</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"ellipse-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"cube\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>Cube</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"cube-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"square\"} selected>\n\t\t\t\t\t\t<span slot={\"label\"}>Square</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"square-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"airplane\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>Airplane</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"airplane-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"alarm\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>Alarm</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"alarm-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"archive\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>Archive</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"archive-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"bag\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>Bag</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"bag-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"cafe\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>Cafe</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"cafe-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"disc\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>Disc</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"disc-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"earth\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>Earth</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"earth-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t<smoothly-picker-option value={\"fast-food\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>Fast food</span>\n\t\t\t\t\t\t<smoothly-icon size=\"tiny\" name=\"fast-food-outline\" />\n\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t</smoothly-picker>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 0.5rem;\n\tposition: absolute;\n\tz-index: 4;\n\tleft: -1px;\n\tright: -1px;\n\tmin-width: max-content;\n\tbackground-color: rgb(var(--background-color, var(--smoothly-color-shade)));\n\tpadding: 0.5rem;\n\tborder: rgb(var(--text-color, var(--smoothly-color-contrast))) solid 1px;\n}\n:host:not(.flip) {\n\ttop: 100%;\n}\n:host.flip {\n\tbottom: 100%;\n}\n:host:not([open]) {\n\tdisplay: none;\n}\n:host .list {\n\tdisplay: grid;\n\tgrid-template-columns: auto 1fr auto;\n\talign-items: center;\n\trow-gap: 0.5ch;\n\toverflow-y: auto;\n\tmax-height: calc(1.75rem * 10 + 0.5ch * 9);\n\tpadding-right: 0.5rem;\n\tpadding-bottom: 0.25rem;\n}\n:host .hide {\n\tdisplay: none;\n}\n:host .controls {\n\tdisplay: grid;\n\tgrid-template-columns: 1fr auto;\n\tgap: 0.5rem;\n\ttransition: grid-template-columns 200ms linear;\n}\n:host .controls > button:disabled {\n\topacity: 0.3;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Prop, State, Watch } from \"@stencil/core\"\nimport global from \"../../../global/index\"\nimport { Notice, Option } from \"../../../model\"\nimport { Looks } from \"../../input/Looks\"\nimport { Slot } from \"../slot-elements\"\n\nconst Observers = global().Observers\n\nfunction* chain<T>(...iterables: Iterable<T>[]): Iterable<T> {\n\tfor (const iterable of iterables)\n\t\tyield* iterable\n}\n\nfunction restore<T extends Option>(target: T | undefined, source: Option): T | undefined {\n\ttarget?.set.selected((target.selected = source.selected))\n\ttarget?.set.readonly((target.readonly = source.readonly))\n\ttarget?.set.visible((target.visible = source.visible))\n\ttarget?.set.value((target.value = source.value))\n\ttarget?.set.search((target.search = source.search))\n\treturn target\n}\nfunction restoreListener(ref: HTMLElement | undefined, option: Option) {\n\tref?.addEventListener(\"smoothlyPickerOptionLoad\", (e: CustomEvent<Option>) => restore(e.detail, option))\n}\nexport interface Controls {\n\tremember: () => void\n\trestore: () => void\n}\n@Component({\n\ttag: \"smoothly-picker-menu\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyPickerMenu {\n\t@Element() element: HTMLSmoothlyPickerMenuElement\n\t@Prop() looks: Looks\n\t@Prop({ reflect: true }) open = false\n\t@Prop({ reflect: true }) multiple = false\n\t@Prop({ reflect: true }) mutable = false\n\t@Prop({ reflect: true }) readonly = false\n\t@Prop() validator?: (value: string) => boolean | { result: boolean; notice: Notice }\n\t@State() backend = new Map<any, Option & { clone: Node }>() // value -> Option\n\t@State() options = new Map<any, Option>() // value -> Option\n\t@State() created = new Map<any, Option.Created>()\n\t@State() search = \"\"\n\t@State() valid = false\n\t@State() display: Node[]\n\t@State() flip = false\n\t@State() flipChecked = false\n\t@Event() notice: EventEmitter<Notice>\n\t@Event() smoothlyPickerMenuLoaded: EventEmitter<Controls & { synced: () => boolean }>\n\tprivate memory?: { backend: SmoothlyPickerMenu[\"backend\"]; options: SmoothlyPickerMenu[\"options\"] }\n\tprivate listElement?: HTMLElement\n\tprivate searchElement?: HTMLElement\n\tprivate synced = false\n\n\tcomponentWillLoad() {\n\t\tif (!Observers.has(this.element)) {\n\t\t\tconst threshold = 0.4\n\t\t\tObservers.set(\n\t\t\t\tthis.element,\n\t\t\t\tnew IntersectionObserver(\n\t\t\t\t\tentries =>\n\t\t\t\t\t\t(entries.find(entry => entry.target == this.element)?.intersectionRatio ?? 0) < threshold &&\n\t\t\t\t\t\t!this.flipChecked &&\n\t\t\t\t\t\t((this.flip = !this.flip), (this.flipChecked = true)),\n\t\t\t\t\t{ threshold }\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t}\n\tsync() {\n\t\tif (this.backend.size != this.options.size)\n\t\t\tthis.synced = false\n\t\telse\n\t\t\tthis.synced = true\n\t}\n\tcomponentDidLoad() {\n\t\tthis.smoothlyPickerMenuLoaded.emit({\n\t\t\tremember: () => {\n\t\t\t\tthis.memory = {\n\t\t\t\t\tbackend: new Map(Array.from(this.backend.entries(), ([value, option]) => [value, { ...option }])),\n\t\t\t\t\toptions: new Map(Array.from(this.options.entries(), ([value, option]) => [value, { ...option }])),\n\t\t\t\t}\n\t\t\t},\n\t\t\trestore: () => {\n\t\t\t\tif (this.memory) {\n\t\t\t\t\tfor (const option of this.options.values()) {\n\t\t\t\t\t\tconst memory = this.memory.options.get(option.value)\n\t\t\t\t\t\tif (memory != undefined)\n\t\t\t\t\t\t\trestore(option, memory)\n\t\t\t\t\t\telse if (this.created.get(option.value))\n\t\t\t\t\t\t\toption.set.selected((option.selected = false))\n\t\t\t\t\t}\n\t\t\t\t\tfor (const option of this.backend.values()) {\n\t\t\t\t\t\tconst memory = this.memory.backend.get(option.value)\n\t\t\t\t\t\tif (memory != undefined)\n\t\t\t\t\t\t\trestore(option, memory)\n\t\t\t\t\t\telse if (this.created.get(option.value))\n\t\t\t\t\t\t\toption.set.selected((option.selected = false))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tsynced: () => this.synced,\n\t\t})\n\t}\n\tdisconnectedCallback() {\n\t\tif (!this.element.parentElement) {\n\t\t\tObservers.get(this.element)?.disconnect()\n\t\t\tObservers.remove(this.element)\n\t\t}\n\t}\n\t@Watch(\"open\")\n\topenChange() {\n\t\tconst observer = Observers.get(this.element)\n\t\tif (this.open)\n\t\t\tobserver?.observe(this.element)\n\t\telse\n\t\t\tobserver?.unobserve(this.element)\n\t}\n\n\t@Watch(\"readonly\")\n\treadonlyChanged() {\n\t\tfor (const option of chain(this.options.values(), this.backend.values()))\n\t\t\toption.element, option.set.readonly(this.readonly)\n\t}\n\t@Listen(\"scroll\", { target: \"window\" })\n\tscrollHandler() {\n\t\tthis.flipChecked = false\n\t}\n\t@Listen(\"smoothlyPickerOptionLoad\")\n\toptionLoadHandler(event: CustomEvent<Option.Load>) {\n\t\tif (!this.listElement || !event.composedPath().includes(this.listElement)) {\n\t\t\tevent.stopPropagation()\n\t\t\tthis.sync()\n\t\t\tevent.detail.set.readonly(this.readonly)\n\n\t\t\tconst current = this.options.get(event.detail.value)\n\t\t\tif (current)\n\t\t\t\tevent.detail.set.selected(current.element.selected)\n\t\t}\n\t}\n\t@Listen(\"smoothlyPickerOptionLoaded\")\n\toptionLoadedHandler(event: CustomEvent<Option>) {\n\t\tif (!this.listElement || !event.composedPath().includes(this.listElement)) {\n\t\t\tevent.stopPropagation()\n\t\t\tconst current = restore(this.backend.get(event.detail.value), event.detail)\n\t\t\tthis.backend = new Map(\n\t\t\t\tthis.backend\n\t\t\t\t\t.set(event.detail.value, {\n\t\t\t\t\t\t...event.detail,\n\t\t\t\t\t\tclone: current?.clone ?? event.detail.element.cloneNode(true),\n\t\t\t\t\t})\n\t\t\t\t\t.entries()\n\t\t\t)\n\t\t} else\n\t\t\tthis.options.set(event.detail.value, event.detail)\n\t\tthis.sync()\n\t}\n\t@Listen(\"smoothlyPickerOptionChange\")\n\toptionChangeHandler(event: CustomEvent<Option>) {\n\t\tif (!this.listElement || !event.composedPath().includes(this.listElement)) {\n\t\t\tevent.stopPropagation()\n\t\t\tthis.options.get(event.detail.value)?.set.selected(event.detail.selected)\n\t\t} else {\n\t\t\tconst current = this.backend.get(event.detail.value)\n\t\t\tif (current?.element.parentElement)\n\t\t\t\tcurrent?.set.selected(event.detail.selected)\n\t\t}\n\n\t\tif (!this.readonly && !this.multiple && event.detail.selected)\n\t\t\tfor (const option of chain(this.options.values(), this.backend.values()))\n\t\t\t\tif (option.value != event.detail.value)\n\t\t\t\t\toption.set.selected(false)\n\t}\n\tinputHandler(event: CustomEvent<Record<string, any>>) {\n\t\tevent.stopPropagation()\n\t\tthis.search = event.detail.search\n\t\tif (!this.search) {\n\t\t\tthis.valid = false\n\t\t\tfor (const option of chain(this.options.values(), this.backend.values()))\n\t\t\t\toption.set.visible(true)\n\t\t} else {\n\t\t\tthis.valid = !Array.from(this.options.values()).find(option => option.value == this.search)\n\t\t\tconst search = this.search.toLocaleLowerCase()\n\t\t\tfor (const option of chain(this.options.values(), this.backend.values())) {\n\t\t\t\tconst value = option.value.toString().toLocaleLowerCase().includes(search)\n\t\t\t\tconst searches = option.search.some(value => value.includes(search))\n\t\t\t\tconst result = value || searches\n\t\t\t\toption.set.visible(result)\n\t\t\t}\n\t\t}\n\t}\n\taddHandler() {\n\t\tconst validation = !this.validator ? true : this.validator(this.search)\n\t\tif (this.mutable) {\n\t\t\tif (typeof validation == \"object\" ? validation.result : validation) {\n\t\t\t\tif (!this.multiple)\n\t\t\t\t\tfor (const option of chain(this.options.values(), this.backend.values()))\n\t\t\t\t\t\toption.set.selected(false)\n\t\t\t\tthis.created = new Map(this.created.set(this.search, { value: this.search, selected: true }).entries())\n\t\t\t\tthis.search = \"\"\n\t\t\t\tthis.searchElement?.focus()\n\t\t\t\tthis.valid = false\n\t\t\t}\n\t\t\tif (typeof validation == \"object\")\n\t\t\t\tthis.notice.emit(validation.notice)\n\t\t}\n\t}\n\tkeyDownHandler(event: KeyboardEvent) {\n\t\tif (event.key == \"Enter\") {\n\t\t\tevent.preventDefault()\n\t\t\tthis.addHandler()\n\t\t}\n\t}\n\t@Listen(\"smoothlySlotEmpty\")\n\temptyDisplayHandler(event: CustomEvent<Slot>) {\n\t\tevent.stopPropagation()\n\t\tevent.detail.set.nodes(this.display)\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host class={{ valid: this.valid, flip: this.flip }}>\n\t\t\t\t<smoothly-slotted-elements class={\"hide\"} onSmoothlySlottedChange={e => (this.display = e.detail)}>\n\t\t\t\t\t<slot name=\"display\" />\n\t\t\t\t</smoothly-slotted-elements>\n\t\t\t\t<div class={\"hide\"}>\n\t\t\t\t\t<slot />\n\t\t\t\t\t{Array.from(this.created.values(), option => (\n\t\t\t\t\t\t<smoothly-picker-option key={option.value} value={option.value} selected={option.selected}>\n\t\t\t\t\t\t\t{option.value}\n\t\t\t\t\t\t\t<smoothly-slot-elements slot=\"display\" nodes={this.display} />\n\t\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t\t<div class={\"controls\"}>\n\t\t\t\t\t<smoothly-input\n\t\t\t\t\t\tref={e => (this.searchElement = e)}\n\t\t\t\t\t\tname=\"search\"\n\t\t\t\t\t\tvalue={this.search}\n\t\t\t\t\t\tlooks={this.looks}\n\t\t\t\t\t\tonKeyDown={e => this.keyDownHandler(e)}\n\t\t\t\t\t\tonSmoothlyInput={e => this.inputHandler(e)}\n\t\t\t\t\t\tonSmoothlyChange={e => e.stopPropagation()}\n\t\t\t\t\t\tonSmoothlyBlur={e => e.stopPropagation()}>\n\t\t\t\t\t\t<slot name=\"search\" />\n\t\t\t\t\t</smoothly-input>\n\t\t\t\t\t{this.mutable && !this.readonly ? (\n\t\t\t\t\t\t<button onClick={() => this.addHandler()} disabled={!this.valid} type={\"button\"}>\n\t\t\t\t\t\t\t<smoothly-icon name=\"add-outline\" />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t\t<div class={\"list\"} ref={e => (this.listElement = e)}>\n\t\t\t\t\t{Array.from(this.backend.values())\n\t\t\t\t\t\t.sort((a, b) => a.position - b.position)\n\t\t\t\t\t\t.map(option => (\n\t\t\t\t\t\t\t<smoothly-slot-elements ref={e => restoreListener(e, option)} clone={false} nodes={option.clone} />\n\t\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: contents;\n}\n:host(:not([visible])) {\n\tdisplay: none;\n}\n:host > * {\n\tcursor: pointer;\n\tpadding: 0.25ch 0.5rem\n}\n:host .display {\n\tpadding-left: 0;\n}\n:host button {\n\tcolor: unset;\n\tbackground-color: inherit;\n\tborder: none;\n\tpadding-right: 0;\n}\n:host .content {\n\tdisplay: flex;\n\tcolumn-gap: 1rem;\n\tjustify-content: space-between;\n}\n:host([required]) > * {\n\tcursor: default;\n}\n:host([required]) button {\n\topacity: 0.65;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch } from \"@stencil/core\"\nimport { Option } from \"../../../model\"\n@Component({\n\ttag: \"smoothly-picker-option\",\n\tstyleUrl: \"style.css\",\n\tshadow: true,\n})\nexport class SmoothlyPickerOption {\n\t@Element() element: HTMLSmoothlyPickerOptionElement\n\t@Prop({ mutable: true, reflect: true }) selected = false\n\t@Prop({ mutable: true, reflect: true }) visible = true\n\t@Prop({ mutable: true }) value: any\n\t@Prop({ mutable: true }) search: string[] = []\n\t@Prop({ reflect: true }) position = -1\n\t@Prop({ reflect: true }) required = false\n\t@State() readonly = false\n\t@State() slotted: Node[] = []\n\t@Event() smoothlyPickerOptionLoad: EventEmitter<Option.Load>\n\t@Event() smoothlyPickerOptionLoaded: EventEmitter<Option>\n\t@Event() smoothlyPickerOptionChange: EventEmitter<Option>\n\n\tget option(): Option {\n\t\treturn {\n\t\t\telement: this.element,\n\t\t\tselected: this.selected,\n\t\t\treadonly: this.readonly,\n\t\t\trequired: this.required,\n\t\t\tvisible: this.visible,\n\t\t\tsearch: this.search,\n\t\t\tvalue: this.value,\n\t\t\tslotted: this.slotted,\n\t\t\tposition:\n\t\t\t\tthis.position >= 0 || !this.element.parentElement?.parentElement\n\t\t\t\t\t? this.position\n\t\t\t\t\t: Array.from(this.element.parentElement.parentElement.children).indexOf(this.element.parentElement),\n\t\t\tset: {\n\t\t\t\tselected: selected => (this.selected = selected),\n\t\t\t\treadonly: readonly => (this.readonly = readonly),\n\t\t\t\tvisible: visible => (this.visible = visible),\n\t\t\t\tsearch: search => (this.search = search),\n\t\t\t\tvalue: value => (this.value = value),\n\t\t\t},\n\t\t}\n\t}\n\t@Watch(\"position\")\n\t@Watch(\"selected\")\n\t@Watch(\"slotted\")\n\temitChange() {\n\t\tif (this.element.parentElement)\n\t\t\tthis.smoothlyPickerOptionChange.emit(this.option)\n\t}\n\n\tcomponentWillLoad() {\n\t\tif (this.required)\n\t\t\tthis.selected = true\n\t\tthis.smoothlyPickerOptionLoad.emit((({ slotted, ...option }) => option)(this.option))\n\t}\n\tcomponentDidLoad() {\n\t\tthis.smoothlyPickerOptionLoaded.emit(this.option)\n\t}\n\tslottedChangeHandler(event: CustomEvent<Node[]>) {\n\t\tevent.stopPropagation()\n\t\tthis.slotted = event.detail\n\t}\n\t@Method()\n\tasync clickHandler() {\n\t\tif (!this.readonly && !this.required)\n\t\t\tthis.selected = !this.selected\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={{ visible: this.visible }} onClick={() => this.clickHandler()}>\n\t\t\t\t<div part=\"display\" class={\"display\"}>\n\t\t\t\t\t<slot name=\"display\" />\n\t\t\t\t</div>\n\t\t\t\t<div part=\"content\" class={\"content\"}>\n\t\t\t\t\t<smoothly-slotted-elements onSmoothlySlottedChange={e => this.slottedChangeHandler(e)} clone>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</smoothly-slotted-elements>\n\t\t\t\t\t<slot name={\"label\"} />\n\t\t\t\t</div>\n\t\t\t\t<button type={\"button\"}>\n\t\t\t\t\t<smoothly-icon name={this.selected ? \"checkbox-outline\" : \"square-outline\"} />\n\t\t\t\t</button>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: inline-flex;\n\tposition: relative;\n}\n:host[hidden] {\n\tdisplay: none;\n}\n:host:not([visible]) aside {\n\tdisplay: none;\n}\n:host aside {\n\tdisplay: inline;\n\tposition: absolute;\n\tpadding: 0.3em;\n\tleft: var(--left);\n\tright: var(--right);\n\tbackground-color: rgb(238, 238, 238);\n\tborder-color: rgb(238, 238, 238);\n\tborder-style: solid;\n\tborder-width: 0.1em;\n\tborder-radius: 0.6em;\n\tz-index: 3;\n}\n:host[direction=down] aside {\n\ttop: 2.2em;\n\tbox-shadow: 6px 5px 9px -9px black, 5px 6px 9px -9px black;\n}\n:host[direction=up] aside {\n\tbottom: 2.2em;\n\tbox-shadow: -6px -5px 9px -9px black, -5px -6px 9px -9px black;\n}\n:host:not([visible]) .background {\n\tdisplay: none;\n}\n:host .background {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100vw;\n\theight: 100vh;\n\tz-index: 2;\n}\n:host:not([visible]) .arrow {\n\tdisplay: none;\n}\n:host .arrow {\n\tbackground-color: rgb(238, 238, 238);\n\tborder-color: rgb(238, 238, 238);\n\tz-index: 2;\n\tcontent: \"\";\n\tposition: absolute;\n\twidth: 12px;\n\theight: 12px;\n\ttransform: rotate(45deg);\n\tleft: calc(var(--left) + 1em);\n\tright: calc(var(--right) + 1em);\n}\n:host[direction=down] .arrow {\n\ttop: 2em;\n\tborder-top-style: solid;\n\tborder-top-width: 1px;\n\tborder-left-style: solid;\n\tborder-left-width: 1px;\n}\n:host[direction=up] .arrow {\n\tbottom: 2em;\n\tborder-bottom-style: solid;\n\tborder-bottom-width: 1px;\n\tborder-right-style: solid;\n\tborder-right-width: 1px;\n}\n:host .pointer {\n\tcursor: pointer;\n}\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { Component, Event, EventEmitter, h, Host, Prop, State } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-popup\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyPopup {\n\t@Prop({ mutable: true, reflect: true }) visible = false\n\t@Prop({ mutable: true, reflect: true }) direction: \"up\" | \"down\" = \"down\"\n\t@State() cssVariables: { \"--left\"?: string; \"--right\"?: string } = { \"--left\": \"0.1em\" }\n\t@Event() popup: EventEmitter<boolean>\n\tprivate aside: HTMLElement | undefined\n\n\tprivate onClick() {\n\t\tif (this.visible == false) {\n\t\t\tthis.aside?.style.setProperty(\"display\", \"block\")\n\t\t\tthis.cssVariables =\n\t\t\t\t(this.aside?.getBoundingClientRect().right ?? 0) >= window.innerWidth\n\t\t\t\t\t? { \"--right\": \"0.1em\" }\n\t\t\t\t\t: (this.aside?.getBoundingClientRect().left ?? 0) < 0\n\t\t\t\t\t? { \"--left\": \"0.1em\" }\n\t\t\t\t\t: this.cssVariables\n\t\t\tthis.aside?.style.removeProperty(\"display\")\n\t\t}\n\t\tthis.visible = !this.visible\n\t\tthis.popup.emit(this.visible)\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host style={{ ...this.cssVariables }}>\n\t\t\t\t<content class=\"pointer\" onClick={() => this.onClick()}>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</content>\n\t\t\t\t<div class=\"background\" onClick={() => this.onClick()}></div>\n\t\t\t\t<div class=\"arrow\" onClick={() => this.onClick()}></div>\n\t\t\t\t<aside ref={el => (this.aside = el)}>\n\t\t\t\t\t<slot name=\"popup\"></slot>\n\t\t\t\t</aside>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\topacity: 0.5;\n}\n","import { Component, h, Host, Prop } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-quiet\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyQuiet {\n\t@Prop() color: string\n\trender() {\n\t\treturn (\n\t\t\t<Host color={this.color}>\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: block;\n\tposition: relative;\n}\n:host[hidden] {\n\tdisplay: none;\n}\nlabel {\n\tdisplay: block;\n\twidth: calc(100% - 2 * 0.4em);\n\tpadding: 0.2em 0.4em 0.2em 0.4em;\n}\ninput[type=radio] {\n\tposition: absolute;\n\tleft: 0;\n\ttop: 0;\n\twidth: calc(100%);\n\theight: 100%;\n\tmargin: 0;\n\tappearance: none;\n\t-webkit-appearance: none;\n}\ninput[type=radio] ~ label {\n\t/*border: 1px solid rgb(var(--smoothly-default-color));*/\n\tcolor: rgba(var(--smoothly-default-contrast), 0.5);\n\tbackground: rgb(var(--smoothly-default-color));\n}\ninput[type=radio]:checked ~ label {\n\tbackground-color: rgb(var(--smoothly-default-shade));\n\tcolor: rgb(var(--smoothly-default-contrast));\n}\n","import { Component, Event, EventEmitter, h, Prop } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-radio\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyRadio {\n\t@Prop() name: string\n\t@Prop() value: string\n\t@Prop({ mutable: true, reflect: true }) checked: boolean\n\t@Prop() tab: number\n\t@Event() smoothlySelected!: EventEmitter<{ name: string; value: string }>\n\n\tprotected async onInput(e: UIEvent): Promise<boolean> {\n\t\tif (e.target && (e.target as HTMLInputElement).value && (this.checked = (e.target as HTMLInputElement).checked))\n\t\t\tthis.smoothlySelected.emit({ name: this.name, value: this.value })\n\t\treturn true\n\t}\n\trender() {\n\t\treturn [\n\t\t\t<input\n\t\t\t\ttype=\"radio\"\n\t\t\t\tname={this.name}\n\t\t\t\tid={this.value}\n\t\t\t\ttabindex={this.tab}\n\t\t\t\tchecked={this.checked}\n\t\t\t\tvalue={this.value}\n\t\t\t\tonChange={e => this.onInput(e as UIEvent)}\n\t\t\t/>,\n\t\t\t<label htmlFor={this.value}>\n\t\t\t\t<slot />\n\t\t\t</label>,\n\t\t]\n\t}\n}\n",":host {\n\tdisplay: block;\n}\n","import { Component, Event, EventEmitter, h, Host, Listen, Prop } from \"@stencil/core\"\nimport { Selected } from \"./Selected\"\n\n@Component({\n\ttag: \"smoothly-radio-button\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyRadioButton {\n\t@Prop() name: string\n\t@Prop({ mutable: true }) value?: any\n\t@Prop({ reflect: true }) deselectable?: boolean\n\t@Prop({ reflect: true }) decoration: \"button\" | \"radio\" = \"radio\"\n\tactive?: Selected\n\t@Event() smoothlyInput: EventEmitter<Record<string, string>>\n\t@Event() smoothlyChange: EventEmitter<Record<string, string>>\n\t@Listen(\"radioItemSelectInternal\", { capture: true })\n\tradioSelectHandler(event: CustomEvent<Selected>) {\n\t\tif (this.deselectable || this.active?.value != event.detail.value) {\n\t\t\tthis.active?.select(false)\n\t\t\tthis.active = event.detail\n\t\t\tthis.smoothlyInput.emit({\n\t\t\t\t[this.name]: (this.value = this.active.selected ? this.active.value : undefined),\n\t\t\t})\n\t\t\tthis.smoothlyChange.emit({\n\t\t\t\t[this.name]: (this.value = this.active.selected ? this.active.value : undefined),\n\t\t\t})\n\t\t\tthis.active.select(this.active.selected)\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n","@import \"./radio.css\";\n@import \"./button.css\";\n\n:host {\n\tdisplay: block;\n}\n\n:host > header {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n::slotted([slot=expansion]) {\n\tdisplay: none;\n\tbackground: rgb(var(--smoothly-secondary-tint));\n\tcolor: rgb(var(--smoothly-secondary-contrast));\n\tpadding: 0;\n\tposition: relative;\n\ttransition: 0.1s;\n}\n\n[selected]::slotted([slot=expansion]) {\n\tdisplay: block;\n\tpadding: 0.5rem;\n}\n","import { Component, ComponentWillLoad, Event, EventEmitter, h, Host, Prop } from \"@stencil/core\"\nimport { Color } from \"../../../model\"\nimport { Selected } from \"../Selected\"\n\n@Component({\n\ttag: \"smoothly-radio-button-item\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyRadioButtonItem implements ComponentWillLoad {\n\t@Prop() value: any\n\t@Prop({ reflect: true, mutable: true }) selected: boolean\n\t@Prop({ reflect: true }) color?: Color\n\t@Event() radioItemSelectInternal: EventEmitter<Selected>\n\n\tcomponentWillLoad(): void | Promise<void> {\n\t\tthis.selected && this.select(this.selected)\n\t}\n\n\tprivate select(selected = false) {\n\t\tthis.radioItemSelectInternal.emit({\n\t\t\tvalue: this.value,\n\t\t\tselected: selected,\n\t\t\tselect: s => (this.selected = s),\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<header onClick={() => this.select(!this.selected)}>\n\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\tcolor={this.selected ? \"success\" : \"medium\"}\n\t\t\t\t\t\tfill=\"outline\"\n\t\t\t\t\t\tname={this.selected ? \"checkmark-circle\" : \"ellipse-outline\"}\n\t\t\t\t\t\tsize=\"tiny\"\n\t\t\t\t\t\ttoolTip=\"Select\"></smoothly-icon>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t\t<slot name=\"end\"></slot>\n\t\t\t\t</header>\n\t\t\t\t<slot name=\"expansion\"></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: block;\n}\n:host[hidden] {\n\tdisplay: none;\n}\nbutton:focus {\n\toutline: none;\n}\nsmoothly-selector {\n\toutline: none;\n}\nbutton {\n\tdisplay: block;\n}\n","import { Component, h } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-select-demo\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlySelectDemo {\n\trender() {\n\t\treturn [\n\t\t\t<smoothly-tab-switch>\n\t\t\t\t<smoothly-tab label=\"test1\" open>\n\t\t\t\t\tHello world!\n\t\t\t\t</smoothly-tab>\n\t\t\t\t<smoothly-tab label=\"test2\">this is a test message!</smoothly-tab>\n\t\t\t\t<smoothly-tab label=\"test3\">this is a test message again!</smoothly-tab>\n\t\t\t</smoothly-tab-switch>,\n\t\t]\n\t}\n}\n",":host {\n\tdisplay: block;\n\theight: 1rem;\n}\n:host(::before) {\n\tcontent: \"\";\n\tdisplay: block;\n\twidth: var(--width);\n\theight: 100%;\n\tborder-radius: 0.4rem;\n\tbackground-image: linear-gradient(90deg, rgb(var(--color, var(--smoothly-dark-color))) 0, transparent 2.5rem, rgb(var(--color, var(--smoothly-dark-color))) 5rem);\n\tbackground-size: calc(var(--distance) + 5rem);\n\tanimation-duration: var(--period, 1.6s);\n\tanimation-iteration-count: infinite;\n\tanimation-timing-function: linear;\n\tanimation-name: shine-lines-left;\n}\n@keyframes shine-lines-left {\n\t0% {\n\t\tbackground-position: -5rem;\n\t}\n\t40%,\n\t100% {\n\t\tbackground-position: var(--distance);\n\t}\n}\n:host([align=center]::before) {\n\tmargin: 0 auto;\n\tanimation-name: shine-lines-center;\n}\n@keyframes shine-lines-center {\n\t0% {\n\t\tbackground-position: calc((var(--width) - var(--distance)) / 2 - 5rem);\n\t}\n\t40%,\n\t100% {\n\t\tbackground-position: calc(var(--width) + (var(--distance) - var(--width)) / 2);\n\t}\n}\n:host([align=right]::before) {\n\tmargin: 0;\n\tmargin-left: auto;\n\tanimation-name: shine-lines-right;\n}\n@keyframes shine-lines-right {\n\t0% {\n\t\tbackground-position: calc(var(--width) - var(--distance) - 5rem);\n\t}\n\t40%,\n\t100% {\n\t\tbackground-position: var(--width);\n\t}\n}\n","import { Component, h, Host, Prop } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-skeleton\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlySkeleton {\n\t@Prop() widths: string[] = [\"8rem\", \"9rem\", \"10rem\"]\n\t@Prop({ mutable: true }) width: string\n\t@Prop() color: string\n\t@Prop() period: number\n\t@Prop() distance: string\n\t@Prop({ reflect: true }) align: \"left\" | \"center\" | \"right\" = \"left\"\n\tcomponentWillLoad() {\n\t\tthis.width = this.width ?? this.widths[Math.floor(Math.random() * this.widths.length)]\n\t}\n\trender() {\n\t\tconst cssVariables = {\n\t\t\t\"--width\": this.width,\n\t\t\t\"--distance\": this.distance ?? \"10rem\",\n\t\t\t...(this.color ? { \"--color\": this.color } : undefined),\n\t\t\t...(this.period ? { \"--period\": this.period + \"s\" } : undefined),\n\t\t}\n\t\treturn <Host style={cssVariables}></Host>\n\t}\n}\n",":host {\n\tdisplay: contents;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Prop, Watch } from \"@stencil/core\"\n\nexport interface Slot {\n\tset: {\n\t\tnodes: (nodes: Node | Node[]) => void\n\t}\n}\n\n@Component({\n\ttag: \"smoothly-slot-elements\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlySlotElements {\n\t@Element() element: HTMLElement\n\t@Prop() clone = true\n\t@Prop({ mutable: true }) nodes?: Node | Node[]\n\t@Event() smoothlySlotEmpty: EventEmitter<Slot>\n\n\tcomponentWillLoad() {\n\t\tif (!this.nodes)\n\t\t\tthis.smoothlySlotEmpty.emit({\n\t\t\t\tset: {\n\t\t\t\t\tnodes: nodes => (this.nodes = nodes),\n\t\t\t\t},\n\t\t\t})\n\t}\n\n\t@Watch(\"nodes\")\n\tcomponentDidLoad() {\n\t\tthis.element.innerHTML = \"\"\n\t\tif (this.nodes)\n\t\t\tif (Array.isArray(this.nodes))\n\t\t\t\tthis.nodes.forEach(node => this.element.appendChild(this.clone ? node.cloneNode(true) : node))\n\t\t\telse\n\t\t\t\tthis.element.appendChild(this.clone ? this.nodes.cloneNode(true) : this.nodes)\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: contents;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Prop } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-slotted-elements\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlySottedElement {\n\t@Element() element: HTMLElement\n\t@Prop() clone = true\n\t@Event() smoothlySlottedChange: EventEmitter<Node[]>\n\n\tcomponentDidRender() {\n\t\tconst slotted = Array.from(this.element.childNodes, child => {\n\t\t\tlet result: Node | Node[]\n\t\t\tif (child instanceof HTMLSlotElement) {\n\t\t\t\tconst assigned = child.assignedNodes()\n\t\t\t\tresult = assigned.length\n\t\t\t\t\t? assigned.map(child => (this.clone ? child.cloneNode(true) : child))\n\t\t\t\t\t: this.clone\n\t\t\t\t\t? child.cloneNode(true)\n\t\t\t\t\t: child\n\t\t\t} else\n\t\t\t\tresult = child\n\t\t\treturn result\n\t\t}).flat()\n\t\tthis.smoothlySlottedChange.emit(Array.from(slotted, child => (this.clone ? child.cloneNode(true) : child)))\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t)\n\t}\n}\n","$time: 1.4s;\n:host:not([active]) {\n\tdisplay: none;\n}\n:host[hidden] {\n\tdisplay: none;\n}\n:host {\n\tdisplay: block;\n\tstroke: rgb(var(--spinner-color, var(--smoothly-primary-tint)));\n\tposition: absolute;\n\tz-index: 4;\n\tinset: 0;\n\twidth: 100%;\n\theight: 100%;\n\tbackground-color: rgba(var(--background-color, var(--smoothly-default-color)), var(--background-opacity, var(--smoothly-semitransparent, 0.8)));\n\tsvg {\n\t\tposition: absolute;\n\t\tleft: calc(50% - var(--size) / 2);\n\t\ttop: calc(50% - var(--size) / 2);\n\t\twidth: var(--size);\n\t\tanimation: SPIN-SVG $time linear infinite;\n\t\tcircle {\n\t\t\ttransform-origin: center;\n\t\t\tanimation: SPIN-CIRCLE $time ease-in-out infinite;\n\t\t\tstroke-dasharray: 187;\n\t\t\tstroke-dashoffset: 0;\n\t\t}\n\t}\n}\n@keyframes SPIN-SVG {\n\t0% {\n\t\ttransform: rotate(0deg);\n\t}\n\t100% {\n\t\ttransform: rotate(270deg);\n\t}\n}\n@keyframes SPIN-CIRCLE {\n\t0% {\n\t\tstroke-dashoffset: 187;\n\t}\n\t50% {\n\t\tstroke-dashoffset: 46.75;\n\t\ttransform: rotate(135deg);\n\t}\n\t100% {\n\t\tstroke-dashoffset: 187;\n\t\ttransform: rotate(450deg);\n\t}\n}\n","import { Component, h, Host, Prop } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-spinner\",\n\tstyleUrl: \"style.scss\",\n\tscoped: true,\n})\nexport class SmoothlySpinner {\n\t@Prop({ reflect: true }) active: boolean\n\t@Prop({ reflect: true }) size: \"small\" | \"medium\" | \"large\" = \"large\"\n\n\trender() {\n\t\tconst strokeWidth = this.size == \"large\" ? 6 : this.size == \"medium\" ? 8 : 12\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tstyle={{\n\t\t\t\t\t\"--color\": `var(--spinner-color)`,\n\t\t\t\t\t\"--size\": this.size == \"large\" ? \"5em\" : this.size == \"medium\" ? \"3em\" : \"1.2em\",\n\t\t\t\t}}>\n\t\t\t\t<svg class=\"spinner\" viewBox={`0 0 ${60 + strokeWidth} ${60 + strokeWidth}`} xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t<circle\n\t\t\t\t\t\tclass=\"path\"\n\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\tstroke-width={strokeWidth}\n\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\tcx={`${30 + strokeWidth / 2}`}\n\t\t\t\t\t\tcy={`${30 + strokeWidth / 2}`}\n\t\t\t\t\t\tr=\"30\"></circle>\n\t\t\t\t</svg>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n","export interface Submittable {\n\tsubmit(): Promise<void>\n}\nexport namespace Submittable {\n\texport function is(value: Submittable | any): value is Submittable {\n\t\treturn value && typeof value == \"object\" && typeof value.submit == \"function\"\n\t}\n}\n","@import \"../button/style.css\";\n\n:host() {\n\tmargin: 1em 0em;\n}\n","import { Component, Event, EventEmitter, h, Listen, Prop } from \"@stencil/core\"\nimport { Color, Fill } from \"../../model\"\nimport { Button } from \"../Button\"\nimport { Submittable } from \"../input/Submittable\"\n\n@Component({\n\ttag: \"smoothly-submit\",\n\tstyleUrl: \"./style.css\",\n\tscoped: true,\n})\nexport class SmoothlySubmit {\n\t@Prop({ reflect: true }) color?: Color = \"success\"\n\t@Prop({ reflect: true }) expand?: \"block\" | \"full\"\n\t@Prop({ reflect: true }) fill?: Fill\n\t@Prop({ reflect: true }) disabled = false\n\t@Prop({ reflect: true }) type: \"link\" | \"button\" = \"button\"\n\t@Prop({ reflect: true }) size: \"flexible\" | \"small\" | \"large\" | \"icon\"\n\t@Prop({ reflect: true }) shape?: \"rounded\"\n\t@Prop() prevent = true\n\t@Event() smoothlySubmit: EventEmitter\n\tprivate parent?: Submittable\n\t@Event() smoothlyInputLoad: EventEmitter<(parent: HTMLElement) => void>\n\n\tasync componentWillLoad() {\n\t\tthis.smoothlyInputLoad.emit(parent => {\n\t\t\tif (Submittable.is(parent)) {\n\t\t\t\tthis.parent = parent\n\t\t\t}\n\t\t})\n\t}\n\n\t@Listen(\"click\")\n\tclickHandler() {\n\t\tthis.parent?.submit()\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Button disabled={this.disabled} type={this.type}>\n\t\t\t\t<slot />\n\t\t\t</Button>\n\t\t)\n\t}\n}\n",":host > details > summary {\n\tlist-style: none;\n\tdisplay: flex;\n\tgap: 0.5rem;\n\talign-items: center;\n}\n\n:host > details > summary > smoothly-icon {\n\ttransition: 0.2s;\n}\n\n:host > details[open] > summary > smoothly-icon {\n\ttransform: rotate(90deg);\n}\n\n:host > details > summary::slotted([slot=summary]){\n\tdisplay: inline-block;\n\tmargin: 0;\n}\n\n:host > details::slotted([slot=content]){\n\tdisplay: inline-block;\n\tmargin: 0;\n\tpadding: 0.5rem 1.75rem;\n}\n\n@media screen and (min-width: 900px){\n\t:host > details > summary:hover {\n\t\tcursor: pointer;\n\t}\n}\n","import { Component, Event, EventEmitter, h, Prop } from \"@stencil/core\"\nimport { Color, Fill } from \"../../model\"\n@Component({\n\ttag: \"smoothly-summary\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlySummary {\n\t@Prop({ mutable: true, reflect: true }) open = false\n\t@Prop() color: Color = \"primary\"\n\t@Prop() fill: Fill = \"solid\"\n\t@Prop() size: \"tiny\" | \"small\" | \"medium\" | \"large\" = \"tiny\"\n\t@Event() smoothlySummaryOpen: EventEmitter<boolean>\n\n\ttoggleHandler(event: Event) {\n\t\tif (event.target instanceof HTMLDetailsElement) {\n\t\t\tthis.open = event.target.open\n\t\t\tthis.smoothlySummaryOpen.emit(this.open)\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<details onToggle={e => this.toggleHandler(e)} open={this.open}>\n\t\t\t\t<summary>\n\t\t\t\t\t<smoothly-icon name=\"caret-forward\" color={this.color} fill={this.fill} size={this.size}></smoothly-icon>\n\t\t\t\t\t<slot name=\"summary\"></slot>\n\t\t\t\t</summary>\n\t\t\t\t<slot name=\"content\"></slot>\n\t\t\t</details>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: block;\n\tmin-width: var(--size-width);\n\tmin-height: var(--size-height);\n\tbackground-color: rgb(var(--color, var(--smoothly-color-contrast)));\n}\nobject {\n\tmin-width: var(--size-width);\n\tmin-height: var(--size-height);\n\tbackground-color: rgb(var(--color, var(--smoothly-color-contrast)));\n}\n","import { Component, h, Host, Prop } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-svg\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlySvg {\n\t@Prop({ reflect: true }) url!: string\n\t@Prop({ reflect: true }) size?: \"large\" | \"medium\" | \"small\" | \"tiny\" | { height: string; width: string }\n\t@Prop() color: string\n\tprivate readonly defaultSizes: Record<\"large\" | \"medium\" | \"small\" | \"tiny\", { height: string; width: string }> = {\n\t\tlarge: { height: \"50rem\", width: \"50rem\" },\n\t\tmedium: { height: \"30rem\", width: \"30rem\" },\n\t\tsmall: { height: \"10rem\", width: \"10rem\" },\n\t\ttiny: { height: \"5rem\", width: \"5rem\" },\n\t}\n\trender() {\n\t\tconst height = this.size\n\t\t\t? typeof this.size == \"object\"\n\t\t\t\t? this.size.height\n\t\t\t\t: this.defaultSizes[this.size].height\n\t\t\t: \"10rem\"\n\t\tconst width = this.size\n\t\t\t? typeof this.size == \"object\"\n\t\t\t\t? this.size.width\n\t\t\t\t: this.defaultSizes[this.size].width\n\t\t\t: \"10rem\"\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tstyle={{\n\t\t\t\t\t\"min-height\": height,\n\t\t\t\t\t\"min-width\": width,\n\t\t\t\t\t\"--size-height\": height,\n\t\t\t\t\t\"--size-width\": width,\n\t\t\t\t\t\"--color\": this.color,\n\t\t\t\t}}>\n\t\t\t\t<object height={height} width={width} type=\"image/svg+xml\" data={this.url} />\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host([open]) {\n\tborder-bottom: 3px solid rgb(var(--smoothly-primary-color));\n\tbox-sizing: border-box;\n\tmargin-bottom: -3px;\n}\n.hide {\n\tdisplay: none;\n}\nlabel {\n\tdisplay: block;\n\tpadding: .5rem;\n\tbackground-color: transparent;\n\twidth: auto;\n}\n","import { Component, Event, EventEmitter, h, Host, Listen, Prop, Watch } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-tab\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyTab {\n\texpansionElement?: HTMLDivElement\n\t@Event() expansionOpen: EventEmitter<HTMLElement>\n\t@Prop() label: string\n\t@Prop({ mutable: true, reflect: true }) open: boolean\n\t@Watch(\"open\")\n\topenChanged() {\n\t\tif (this.expansionElement) {\n\t\t\tthis.expansionOpen.emit(this.expansionElement)\n\t\t}\n\t}\n\t@Listen(\"click\")\n\tonClick(e: UIEvent) {\n\t\tthis.open = !this.open\n\t\te.stopPropagation()\n\t}\n\tcomponentDidLoad(): void {\n\t\tif (this.expansionElement && this.open) {\n\t\t\tthis.expansionOpen.emit(this.expansionElement)\n\t\t}\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<label>{this.label}</label>\n\t\t\t\t<div ref={e => (this.expansionElement = e)} class={!this.open ? \"hide\" : \"\"}>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: space-around;\n\tborder-bottom: 3px solid rgb(var(--smoothly-default-shade));\n}\n","import { Component, Element, h, Host, Listen, State, Watch } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-tab-switch\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyTabSwitch {\n\t@Element() element: HTMLSmoothlyTabSwitchElement\n\t@State() selectedElement: HTMLSmoothlyTabElement\n\t@Listen(\"expansionOpen\")\n\topenChanged(event: CustomEvent) {\n\t\tevent.stopPropagation()\n\t\tthis.selectedElement = event.target as HTMLSmoothlyTabElement\n\t\tthis.selectedElement.open = true\n\t\tthis.element.after(event.detail)\n\t}\n\t@Watch(\"selectedElement\")\n\tonSelectedChange(value: HTMLSmoothlyTabElement, old: HTMLSmoothlyTabElement) {\n\t\tif (old)\n\t\t\told.open = false\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: table;\n\twidth: var(--table-width, 80%);\n\tbox-sizing: border-box;\n\tbackground-color: rgb(var(--smoothly-default-color));\n}\n:host[root] {\n\tmargin-left: 1.5rem;\n\tmargin-right: 1.5rem;\n}\n:host:not([root]) {\n\tmargin: 0;\n\twidth: 100%;\n}\n","import { Component, ComponentWillLoad, Element, Event, EventEmitter, h, Listen, Prop } from \"@stencil/core\"\nimport { Color } from \"../../model\"\n\n@Component({\n\ttag: \"smoothly-table\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class Table implements ComponentWillLoad {\n\tprivate owner?: EventTarget\n\tprivate expandable: WeakMap<EventTarget, { allowSpotlight: (allowed: boolean) => void } | undefined> = new WeakMap()\n\tprivate expanded: Set<EventTarget> = new Set()\n\t@Element() element: HTMLSmoothlyTableElement\n\t@Prop({ mutable: true, reflect: true }) root = true\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ reflect: true }) align: \"middle\" | \"bottom\" | \"top\" = \"middle\"\n\t@Prop({ reflect: true, mutable: true }) open = false\n\t@Event() smoothlyNestedTable: EventEmitter<() => void>\n\t@Event() smoothlySpotlightChange: EventEmitter<{ allowSpotlight: boolean; owner?: EventTarget }>\n\t@Event() smoothlyTableLoad: EventEmitter<(owner: EventTarget) => void>\n\tcomponentWillLoad() {\n\t\tthis.smoothlyNestedTable.emit(() => (this.root = false))\n\t\tthis.smoothlyTableLoad.emit((owner: EventTarget) => (this.owner = owner))\n\t}\n\t@Listen(\"smoothlyExpandableLoad\")\n\thandleExpandableLoaded(event: CustomEvent<{ allowSpotlight: (allowed: boolean) => void }>) {\n\t\tevent.stopPropagation()\n\t\tevent.target && this.expandable.set(event.target, event.detail)\n\t}\n\t@Listen(\"smoothlyExpandableChange\")\n\thandleExpandableState(event: CustomEvent<boolean>) {\n\t\tevent.stopPropagation()\n\t\tevent.target && (event.detail ? this.expanded.add(event.target) : this.expanded.delete(event.target))\n\t\tthis.smoothlySpotlightChange.emit({ allowSpotlight: !this.expanded.size, owner: this.owner })\n\t}\n\t@Listen(\"smoothlySpotlightChange\")\n\thandleSpotlightState(event: CustomEvent<{ allowSpotlight: boolean; owner?: EventTarget }>) {\n\t\tthis.open = !!this.expanded.size\n\t\tevent.target != this.element &&\n\t\t\t(event.stopPropagation(),\n\t\t\tevent.detail.owner && this.expandable.get(event.detail.owner)?.allowSpotlight(event.detail.allowSpotlight))\n\t}\n\t@Listen(\"smoothlyNestedTable\")\n\thandleNestedTable(event: CustomEvent<() => void>) {\n\t\tevent.target != this.element && (event.stopPropagation(), event.detail())\n\t}\n\t@Listen(\"smoothlyExpansionLoad\")\n\t@Listen(\"smoothlyExpansionOpen\")\n\thandleEvents(event: CustomEvent) {\n\t\tevent.stopPropagation()\n\t}\n\trender() {\n\t\treturn [<slot></slot>]\n\t}\n}\n",":host {\n\tdisplay: table-cell;\n\tline-height: 1.5rem;\n\twhite-space: nowrap;\n\tpadding: 0.3rem 0 0.3rem 1rem;\n\tbox-shadow: 0 1px 0 0 rgb(var(--smoothly-color-shade));\n}\n:host smoothly-icon {\n\tdisplay: none;\n\twidth: 1em;\n\theight: auto;\n\taspect-ratio: 1 / 1;\n\tmargin: 0 0.3rem;\n\ttransition: transform 0.2s, opacity 0.1s;\n\topacity: 0.3;\n}\n:host:hover smoothly-icon {\n\topacity: 1;\n}\nsmoothly-table-expandable-row > div :host:last-of-type smoothly-icon {\n\tdisplay: flex;\n}\nsmoothly-table-expandable-row[open] > div :host:last-of-type smoothly-icon {\n\ttransform: rotate(90deg);\n}\n:host > div {\n\tdisplay: grid;\n\tgrid-auto-flow: column;\n\talign-items: center;\n\tjustify-content: space-between;\n}\n:host > div > div {\n\twidth: 100%;\n}\nsmoothly-table[align=bottom] :host {\n\tvertical-align: bottom;\n}\nsmoothly-table[align=middle] :host {\n\tvertical-align: middle;\n\ttext-align: left;\n}\nsmoothly-table[align=top] :host {\n\tvertical-align: top;\n}\n","import { Component, h, Host } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-table-cell\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class TableCell {\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>\n\t\t\t\t\t<smoothly-icon name=\"caret-forward-outline\" size=\"tiny\" />\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tgap: 3rem;\n\tpadding-bottom: 10rem;\n\tmargin-left: 1.5rem;\n\tmargin-right: 1.5rem;\n}\n.content {\n\tdisplay: contents;\n}\n","import { Component, h } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-table-demo\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class TableDemo {\n\trender() {\n\t\treturn [\n\t\t\t<h4>Filtered & Checked Table</h4>,\n\t\t\t<smoothly-table-demo-filtered></smoothly-table-demo-filtered>,\n\t\t\t<smoothly-table-testing></smoothly-table-testing>,\n\t\t\t<smoothly-table>\n\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t<smoothly-table-header>Header A</smoothly-table-header>\n\t\t\t\t\t<smoothly-table-header>Header B</smoothly-table-header>\n\t\t\t\t\t<smoothly-table-header>Header C</smoothly-table-header>\n\t\t\t\t\t<smoothly-table-header>Header D</smoothly-table-header>\n\t\t\t\t</smoothly-table-row>\n\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\tnormal row (exp.cell)\n\t\t\t\t\t\t<div slot=\"detail\">expandable cell 1 content</div>\n\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\texpandable cell\n\t\t\t\t\t\t<div slot=\"detail\">expandable cell 2 content</div>\n\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\texpandable cell\n\t\t\t\t\t\t<div slot=\"detail\">expandable cell 3 content</div>\n\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\texpandable cell\n\t\t\t\t\t\t<div slot=\"detail\">expandable cell 4 content</div>\n\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t</smoothly-table-row>\n\n\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t<smoothly-table-cell>normal row (nor.cell)\"</smoothly-table-cell>\n\t\t\t\t\t<smoothly-table-cell>normal cell</smoothly-table-cell>\n\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\texpandable cell\n\t\t\t\t\t\t<div slot=\"detail\">expandable cell details.</div>\n\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\texpandable cell\n\t\t\t\t\t\t<div slot=\"detail\">expandable cell details.</div>\n\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t</smoothly-table-row>\n\n\t\t\t\t<smoothly-table-expandable-row>\n\t\t\t\t\t<smoothly-table-cell>expandable row (nor.cell)</smoothly-table-cell>\n\t\t\t\t\t<smoothly-table-cell>Normal cell</smoothly-table-cell>\n\t\t\t\t\t<smoothly-table-cell>normal cell</smoothly-table-cell>\n\t\t\t\t\t<smoothly-table-cell>Normal cell</smoothly-table-cell>\n\t\t\t\t\t<div slot=\"detail\">expandable row content</div>\n\t\t\t\t</smoothly-table-expandable-row>\n\t\t\t</smoothly-table>,\n\t\t\t<smoothly-table>\n\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t<smoothly-table-header>Header A</smoothly-table-header>\n\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\tHeader expansion\n\t\t\t\t\t\t<div slot=\"detail\">Expansion content</div>\n\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t</smoothly-table-row>\n\t\t\t\t<smoothly-table-expandable-row>\n\t\t\t\t\t<smoothly-table-cell>A Content</smoothly-table-cell>\n\t\t\t\t\t<smoothly-table-cell>Expansion cell</smoothly-table-cell>\n\t\t\t\t\t<div slot=\"detail\">\n\t\t\t\t\t\t<smoothly-tab-switch>\n\t\t\t\t\t\t\t<smoothly-tab label=\"innertable 1\" open={true}>\n\t\t\t\t\t\t\t\t<smoothly-table>\n\t\t\t\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t\t\t\t<smoothly-table-header>Header B</smoothly-table-header>\n\t\t\t\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t\t\t\t\t<smoothly-table-expandable-row>B Content</smoothly-table-expandable-row>\n\t\t\t\t\t\t\t\t</smoothly-table>\n\t\t\t\t\t\t\t</smoothly-tab>\n\t\t\t\t\t\t\t<smoothly-tab label=\"innertable 2\">\n\t\t\t\t\t\t\t\t<smoothly-table>\n\t\t\t\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t\t\t\t<smoothly-table-header>Header C</smoothly-table-header>\n\t\t\t\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t\t\t\t\t<smoothly-table-expandable-row>\n\t\t\t\t\t\t\t\t\t\t<smoothly-table-cell>C Content</smoothly-table-cell>\n\t\t\t\t\t\t\t\t\t</smoothly-table-expandable-row>\n\t\t\t\t\t\t\t\t</smoothly-table>\n\t\t\t\t\t\t\t</smoothly-tab>\n\t\t\t\t\t\t</smoothly-tab-switch>\n\t\t\t\t\t</div>\n\t\t\t\t</smoothly-table-expandable-row>\n\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t<smoothly-table-cell>A Content</smoothly-table-cell>\n\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\tExpandable cell\n\t\t\t\t\t\t<div slot=\"detail\">Expansion content</div>\n\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t</smoothly-table-row>\n\t\t\t</smoothly-table>,\n\t\t\t<smoothly-table>\n\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t<smoothly-table-header>A</smoothly-table-header>\n\t\t\t\t\t<smoothly-table-header>B</smoothly-table-header>\n\t\t\t\t</smoothly-table-row>\n\t\t\t\t<smoothly-table-expandable-row>\n\t\t\t\t\t<smoothly-table-cell>a row</smoothly-table-cell>\n\t\t\t\t\t<smoothly-table-cell>b row</smoothly-table-cell>\n\t\t\t\t\t<div slot=\"detail\">\n\t\t\t\t\t\t<smoothly-table>\n\t\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t\t<smoothly-table-header>C</smoothly-table-header>\n\t\t\t\t\t\t\t\t<smoothly-table-header>D</smoothly-table-header>\n\t\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t\t\t<smoothly-table-expandable-row>\n\t\t\t\t\t\t\t\t<smoothly-table-cell>c</smoothly-table-cell>\n\t\t\t\t\t\t\t\t<smoothly-table-cell>d</smoothly-table-cell>\n\t\t\t\t\t\t\t\t<div slot=\"detail\">\n\t\t\t\t\t\t\t\t\t<smoothly-table>\n\t\t\t\t\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t\t\t\t\t<smoothly-table-header>E</smoothly-table-header>\n\t\t\t\t\t\t\t\t\t\t\t<smoothly-table-header>F</smoothly-table-header>\n\t\t\t\t\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t\t\t\t\t\t<smoothly-table-expandable-row>\n\t\t\t\t\t\t\t\t\t\t\t<smoothly-table-cell>e row</smoothly-table-cell>\n\t\t\t\t\t\t\t\t\t\t\t<smoothly-table-cell>f row</smoothly-table-cell>\n\t\t\t\t\t\t\t\t\t\t\t<div slot=\"detail\">nested expandable row expansion e f</div>\n\t\t\t\t\t\t\t\t\t\t</smoothly-table-expandable-row>\n\t\t\t\t\t\t\t\t\t</smoothly-table>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</smoothly-table-expandable-row>\n\t\t\t\t\t\t</smoothly-table>\n\t\t\t\t\t</div>\n\t\t\t\t</smoothly-table-expandable-row>\n\t\t\t\t<smoothly-table-expandable-row>\n\t\t\t\t\t<smoothly-table-cell>\n\t\t\t\t\t\t<span>one</span>\n\t\t\t\t\t\t<span>two</span>\n\t\t\t\t\t\t<span>three</span>\n\t\t\t\t\t</smoothly-table-cell>\n\t\t\t\t\t<smoothly-table-cell>\n\t\t\t\t\t\tfive<smoothly-icon name=\"paper-plane-sharp\" size=\"small\"></smoothly-icon>\n\t\t\t\t\t</smoothly-table-cell>\n\t\t\t\t\t<div slot=\"detail\">four</div>\n\t\t\t\t</smoothly-table-expandable-row>\n\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\ta cell\n\t\t\t\t\t\t<div slot=\"detail\">\n\t\t\t\t\t\t\t<smoothly-table>\n\t\t\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t\t\t<smoothly-table-header>E</smoothly-table-header>\n\t\t\t\t\t\t\t\t\t<smoothly-table-header>F</smoothly-table-header>\n\t\t\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t\t\te cell\n\t\t\t\t\t\t\t\t\t\t<div slot=\"detail\">\n\t\t\t\t\t\t\t\t\t\t\t<smoothly-table>\n\t\t\t\t\t\t\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<smoothly-table-header>G</smoothly-table-header>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<smoothly-table-header>H</smoothly-table-header>\n\t\t\t\t\t\t\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t\t\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tg cell\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div slot=\"detail\">nested expandable cell expansion g</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\th cell\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div slot=\"detail\">nested expandable cell expansion h</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t\t\t\t\t\t\t</smoothly-table>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t\t\tf cell\n\t\t\t\t\t\t\t\t\t\t<div slot=\"detail\">nested expandable cell expansion f</div>\n\t\t\t\t\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t\t\t</smoothly-table>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\tb cell\n\t\t\t\t\t\t<div slot=\"detail\">\n\t\t\t\t\t\t\t<smoothly-table>\n\t\t\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t\t\t<smoothly-table-header>C</smoothly-table-header>\n\t\t\t\t\t\t\t\t\t<smoothly-table-header>D</smoothly-table-header>\n\t\t\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t\t\tc cell\n\t\t\t\t\t\t\t\t\t\t<div slot=\"detail\">nested expandable cell expansion c</div>\n\t\t\t\t\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t\t\td cell\n\t\t\t\t\t\t\t\t\t\t<div slot=\"detail\">nested expandable cell expansion d</div>\n\t\t\t\t\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t\t\t</smoothly-table>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t</smoothly-table-row>\n\t\t\t</smoothly-table>,\n\t\t\t<smoothly-table>\n\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t<smoothly-table-header>display</smoothly-table-header>\n\t\t\t\t\t<smoothly-table-header>contents</smoothly-table-header>\n\t\t\t\t</smoothly-table-row>\n\t\t\t\t<smoothly-table-expandable-row>\n\t\t\t\t\t<div class={\"content\"}>\n\t\t\t\t\t\t<smoothly-table-cell>A</smoothly-table-cell>\n\t\t\t\t\t\t<smoothly-table-cell>B</smoothly-table-cell>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div slot=\"detail\">expansion</div>\n\t\t\t\t</smoothly-table-expandable-row>\n\t\t\t</smoothly-table>,\n\t\t\t<span>nested 1 then normal</span>,\n\t\t\t<smoothly-table>\n\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t<smoothly-table-header>A</smoothly-table-header>\n\t\t\t\t\t<smoothly-table-header>B</smoothly-table-header>\n\t\t\t\t</smoothly-table-row>\n\t\t\t\t<smoothly-table-expandable-row>\n\t\t\t\t\t<smoothly-table-cell>a</smoothly-table-cell>\n\t\t\t\t\t<smoothly-table-cell>b</smoothly-table-cell>\n\t\t\t\t\t<div slot=\"detail\">\n\t\t\t\t\t\t<smoothly-table>\n\t\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t\t<smoothly-table-header>C</smoothly-table-header>\n\t\t\t\t\t\t\t\t<smoothly-table-header>D</smoothly-table-header>\n\t\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t\t<smoothly-table-cell>c</smoothly-table-cell>\n\t\t\t\t\t\t\t\t<smoothly-table-cell>d</smoothly-table-cell>\n\t\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t\t<smoothly-table-cell>ccc</smoothly-table-cell>\n\t\t\t\t\t\t\t\t<smoothly-table-cell>ddd</smoothly-table-cell>\n\t\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t\t\t<smoothly-table-expandable-row>\n\t\t\t\t\t\t\t\t<smoothly-table-cell>cccc</smoothly-table-cell>\n\t\t\t\t\t\t\t\t<smoothly-table-cell>dddd</smoothly-table-cell>\n\t\t\t\t\t\t\t\t<div slot=\"detail\">CONTENT</div>\n\t\t\t\t\t\t\t</smoothly-table-expandable-row>\n\t\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t\t<smoothly-table-cell>ccccc</smoothly-table-cell>\n\t\t\t\t\t\t\t\t<smoothly-table-cell>ddd</smoothly-table-cell>\n\t\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t\t\t<smoothly-table-expandable-row>\n\t\t\t\t\t\t\t\t<smoothly-table-cell>cccc</smoothly-table-cell>\n\t\t\t\t\t\t\t\t<smoothly-table-cell>dddd</smoothly-table-cell>\n\t\t\t\t\t\t\t\t<div slot=\"detail\">CONTENT</div>\n\t\t\t\t\t\t\t</smoothly-table-expandable-row>\n\t\t\t\t\t\t</smoothly-table>\n\t\t\t\t\t</div>\n\t\t\t\t</smoothly-table-expandable-row>\n\t\t\t</smoothly-table>,\n\t\t\t<span>not nested</span>,\n\t\t\t<smoothly-table>\n\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t<smoothly-table-header>C</smoothly-table-header>\n\t\t\t\t\t<smoothly-table-header>D</smoothly-table-header>\n\t\t\t\t</smoothly-table-row>\n\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t<smoothly-table-cell>c</smoothly-table-cell>\n\t\t\t\t\t<smoothly-table-cell>d</smoothly-table-cell>\n\t\t\t\t</smoothly-table-row>\n\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t<smoothly-table-cell>cc</smoothly-table-cell>\n\t\t\t\t\t<smoothly-table-cell>dd</smoothly-table-cell>\n\t\t\t\t</smoothly-table-row>\n\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t<smoothly-table-cell>ccc</smoothly-table-cell>\n\t\t\t\t\t<smoothly-table-cell>ddd</smoothly-table-cell>\n\t\t\t\t</smoothly-table-row>\n\t\t\t</smoothly-table>,\n\t\t\t<smoothly-table>\n\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t<smoothly-table-header>First name</smoothly-table-header>\n\t\t\t\t\t<smoothly-table-header>Last name</smoothly-table-header>\n\t\t\t\t\t<smoothly-table-header style={{ width: \"1px\" }}>\n\t\t\t\t\t\t<smoothly-icon name=\"alert-outline\" />\n\t\t\t\t\t</smoothly-table-header>\n\t\t\t\t</smoothly-table-row>\n\t\t\t\t<smoothly-table-expandable-row>\n\t\t\t\t\t<smoothly-table-cell>Jessie</smoothly-table-cell>\n\t\t\t\t\t<smoothly-table-cell>Doe</smoothly-table-cell>\n\t\t\t\t\t<smoothly-table-cell></smoothly-table-cell>\n\t\t\t\t\t<div slot=\"detail\">\n\t\t\t\t\t\t<p>This is Jessie</p>\n\t\t\t\t\t</div>\n\t\t\t\t</smoothly-table-expandable-row>\n\t\t\t</smoothly-table>,\n\t\t]\n\t}\n}\n","import { h } from \"@stencil/core\"\n\nexport class Selector<T> {\n\t#selected?: T[]\n\tget selected(): T[] {\n\t\treturn (this.#selected ??= Object.values(this.data))\n\t}\n\tprivate constructor(private readonly key: keyof T, private data: Readonly<Record<string, T>> = {}) {}\n\thandle(data: Record<string, T>): Selector<T> {\n\t\treturn new Selector(\n\t\t\tthis.key,\n\t\t\t\"check-all\" in data\n\t\t\t\t? data[\"check-all\"] ?? {}\n\t\t\t\t: Object.fromEntries(Object.entries({ ...this.data, ...data }).filter(([_, value]) => value != undefined))\n\t\t)\n\t}\n\trender(item: T | T[]): HTMLSmoothlyCheckboxElement {\n\t\treturn Array.isArray(item) ? (\n\t\t\t<smoothly-checkbox\n\t\t\t\tname=\"check-all\"\n\t\t\t\tvalue={Object.fromEntries(item.map(i => [i[this.key], i]))}\n\t\t\t\tintermediate={this.selected.length > 0 && this.selected.length < item.length}\n\t\t\t\tchecked={this.selected.length == item.length ? true : this.selected.length == 0 && false}\n\t\t\t/>\n\t\t) : (\n\t\t\t<smoothly-checkbox\n\t\t\t\tname={item[this.key]?.toString()}\n\t\t\t\tvalue={item}\n\t\t\t\tchecked={!!this.data[item[this.key]?.toString() ?? \"\"]}\n\t\t\t/>\n\t\t)\n\t}\n\tstatic create<T>(key: keyof T): Selector<T> {\n\t\treturn new Selector(key)\n\t}\n}\n",":host {\n\tdisplay: block;\n}\n","import { Component, ComponentWillLoad, h, Listen, State } from \"@stencil/core\"\nimport * as selectively from \"selectively\"\nimport { Criteria } from \"selectively\"\nimport * as http from \"cloudly-http\"\nimport { Selector } from \"../../Selector\"\nimport { Cat, Root } from \"./Root\"\n\n@Component({\n\ttag: \"smoothly-table-demo-filtered\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class TableDemoFiltered implements ComponentWillLoad {\n\t@State() criteria: Criteria = {}\n\t@State() data?: Root | false\n\t@State() selector: Selector<Cat> = Selector.create(\"breed\")\n\n\t@Listen(\"filters\")\n\tonFilterUpdate(event: CustomEvent<Record<string, Criteria>>) {\n\t\tevent.stopPropagation()\n\t\tthis.criteria = event.detail\n\t}\n\n\t@Listen(\"smoothlyInput\", { capture: true })\n\tsmoothlyInputHandler(event: CustomEvent<Record<string, any>>) {\n\t\tevent.stopPropagation()\n\t\tthis.selector = this.selector.handle(event.detail)\n\t}\n\n\tasync componentWillLoad(): Promise<void> {\n\t\tconst response = await http.fetch(\"https://catfact.ninja/breeds?limit=10\")\n\t\tthis.data = response.status == 200 && (await response.body)\n\t}\n\n\trender() {\n\t\tconst data = this.data && selectively.filter(this.criteria, this.data.data)\n\t\treturn !data\n\t\t\t? \"Failed to load data.\"\n\t\t\t: [\n\t\t\t\t\t<smoothly-filter>\n\t\t\t\t\t\t<smoothly-icon slot=\"start\" name=\"search-outline\" size=\"small\" />\n\t\t\t\t\t\tReadonly\n\t\t\t\t\t\t<div slot=\"filter\">\n\t\t\t\t\t\t\t<smoothly-form looks=\"border\">\n\t\t\t\t\t\t\t\t<smoothly-filter-input name=\"breed\" placeholder=\"ex. Abyssinian\">\n\t\t\t\t\t\t\t\t\tBreed\n\t\t\t\t\t\t\t\t\t<smoothly-icon slot=\"start\" name=\"search-outline\" size=\"small\" />\n\t\t\t\t\t\t\t\t</smoothly-filter-input>\n\t\t\t\t\t\t\t</smoothly-form>\n\t\t\t\t\t\t\t<smoothly-form looks=\"border\">\n\t\t\t\t\t\t\t\t<smoothly-filter-input name=\"country\" placeholder=\"ex. Ethiopia\">\n\t\t\t\t\t\t\t\t\tCountry\n\t\t\t\t\t\t\t\t\t<smoothly-icon slot=\"start\" name=\"search-outline\" size=\"small\" />\n\t\t\t\t\t\t\t\t</smoothly-filter-input>\n\t\t\t\t\t\t\t</smoothly-form>\n\t\t\t\t\t\t\t<smoothly-form looks=\"border\">\n\t\t\t\t\t\t\t\t<smoothly-filter-input name=\"coat\" placeholder=\"ex. Short\">\n\t\t\t\t\t\t\t\t\tCoat\n\t\t\t\t\t\t\t\t\t<smoothly-icon slot=\"start\" name=\"search-outline\" size=\"small\" />\n\t\t\t\t\t\t\t\t</smoothly-filter-input>\n\t\t\t\t\t\t\t</smoothly-form>\n\t\t\t\t\t\t\t<smoothly-form looks=\"border\">\n\t\t\t\t\t\t\t\t<smoothly-filter-input name=\"pattern\" placeholder=\"ex. Ticked\">\n\t\t\t\t\t\t\t\t\tPattern\n\t\t\t\t\t\t\t\t\t<smoothly-icon slot=\"start\" name=\"search-outline\" size=\"small\" />\n\t\t\t\t\t\t\t\t</smoothly-filter-input>\n\t\t\t\t\t\t\t</smoothly-form>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</smoothly-filter>,\n\n\t\t\t\t\t<smoothly-table>\n\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t<smoothly-table-header>{this.selector.render(data)}</smoothly-table-header>\n\t\t\t\t\t\t\t<smoothly-table-header>Breed</smoothly-table-header>\n\t\t\t\t\t\t\t<smoothly-table-header>Coat</smoothly-table-header>\n\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t\t{data.map(cat => (\n\t\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t\t<smoothly-table-cell>{this.selector.render(cat)}</smoothly-table-cell>\n\t\t\t\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t\t{cat.breed}\n\t\t\t\t\t\t\t\t\t<div slot=\"detail\">Country: {cat.country}</div>\n\t\t\t\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t\t{cat.coat}\n\t\t\t\t\t\t\t\t\t<div slot=\"detail\">Pattern: {cat.pattern}</div>\n\t\t\t\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</smoothly-table>,\n\t\t\t ]\n\t}\n}\n",":host {\n\tdisplay: table-cell;\n\tpadding: 0.3rem 0 0.3rem 0;\n\tcursor: pointer;\n\tline-height: 1.5rem;\n}\n:host:not([open]) {\n\tbox-shadow: 0 1px 0 0 rgb(var(--smoothly-color-shade)), 0 1px 0 0 rgb(var(--smoothly-color-shade)) inset;\n}\n:host[open] {\n\tposition: relative;\n\tz-index: 3;\n\tbackground-color: rgb(var(--smoothly-color));\n\tbox-shadow: 1px 0 0 0 rgb(var(--smoothly-color-shade)) inset, -1px 0 0 0 rgb(var(--smoothly-color-shade)) inset, 0 1px 0 0 rgb(var(--smoothly-color-shade)) inset;\n}\n:host smoothly-icon {\n\twidth: 1em;\n\tfloat: left;\n\tpadding: 0 0.3rem;\n\ttransition: transform 0.2s, opacity 0.1s;\n\tdisplay: flex;\n\theight: auto;\n\taspect-ratio: 1 / 1;\n\talign-self: center;\n\topacity: 0.3;\n}\n:host:hover smoothly-icon {\n\topacity: 1;\n}\n:host[open] smoothly-icon {\n\ttransform: rotate(90deg);\n}\naside {\n\tdisplay: grid;\n\tgrid-auto-flow: column;\n\tjustify-content: start;\n\talign-items: center;\n}\n.hide {\n\tdisplay: none;\n}\ntd::slotted(*) {\n\t--expansion-width: 1.5rem;\n\t--expansion-border-width: 3px;\n\tposition: relative;\n\tbackground-color: rgb(var(--smoothly-color));\n\twidth: calc(100% + 3rem - 1px);\n\ttop: 1px;\n\tleft: calc(-1 * var(--expansion-width) + 1px);\n\tbox-sizing: border-box;\n\tpadding: 0.5rem calc(var(--expansion-width) - 1px);\n\tborder-bottom: 1px solid rgb(var(--smoothly-color-shade));\n}\ntr.spotlight > td::slotted(*) {\n\tbox-shadow: calc(var(--expansion-border-width)) 0 0 0 rgb(var(--smoothly-tertiary-color)) inset;\n}\ntr:not(.spotlight) > td::slotted(*) {\n\tbox-shadow: -1px 0 0 0 rgb(var(--smoothly-tertiary-color)), 1px 0 0 0 rgb(var(--smoothly-tertiary-color));\n}\ntd::slotted(*)::before {\n\tcontent: \"\";\n\tposition: absolute;\n\tdisplay: flex;\n\ttop: -1px;\n\tbottom: 0;\n\tleft: -1px;\n\twidth: calc(var(--expansion-width) + 1px);\n\tborder-top: 1px solid rgb(var(--smoothly-color-shade));\n}\ntd::slotted(*)::after {\n\tcontent: \"\";\n\tposition: absolute;\n\tdisplay: flex;\n\ttop: -1px;\n\tbottom: 0;\n\tright: 0;\n\twidth: calc(var(--expansion-width) - 1px);\n\tborder-top: 1px solid rgb(var(--smoothly-color-shade));\n\tborder-right: 1px solid rgb(var(--smoothly-color-shade));\n}\n\nsmoothly-table[align=bottom] :host {\n\tvertical-align: bottom;\n}\nsmoothly-table[align=middle] :host {\n\tvertical-align: middle;\n\ttext-align: left;\n}\nsmoothly-table[align=top] :host {\n\tvertical-align: top;\n}\n","import {\n\tComponent,\n\tComponentWillLoad,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-table-expandable-cell\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class TableExpandableCell implements ComponentWillLoad {\n\tprivate expansionElement?: HTMLTableRowElement\n\tprivate beginOpen: boolean\n\t@Element() element: HTMLSmoothlyTableExpandableCellElement\n\t@State() allowSpotlight = true\n\t@State() spotlight = true\n\t@Prop() align: \"left\" | \"center\" | \"right\" = \"left\"\n\t@Prop({ mutable: true, reflect: true }) open: boolean\n\t@Event() smoothlyExpansionOpen: EventEmitter<HTMLElement>\n\t@Event() smoothlyExpansionLoad: EventEmitter<void>\n\t@Event() smoothlyExpandableChange: EventEmitter<boolean>\n\t@Event() smoothlyExpandableLoad: EventEmitter<{ allowSpotlight: (allowed: boolean) => void }>\n\t@Watch(\"open\")\n\topenChanged(value: boolean) {\n\t\tif (this.expansionElement)\n\t\t\tif (value)\n\t\t\t\tthis.beginOpen = true\n\t\t\telse\n\t\t\t\tthis.element.append(this.expansionElement)\n\t\tthis.smoothlyExpandableChange.emit(this.open)\n\t}\n\t@Watch(\"open\")\n\t@Watch(\"allowSpotlight\")\n\thandleSpotlight() {\n\t\tthis.spotlight = this.open && this.allowSpotlight\n\t}\n\tcomponentWillLoad(): void {\n\t\tthis.smoothlyExpansionLoad.emit()\n\t\tthis.smoothlyExpandableLoad.emit({\n\t\t\tallowSpotlight: (allowed: boolean) => (this.allowSpotlight = allowed),\n\t\t})\n\t}\n\tcomponentDidRender(): void {\n\t\tif (this.beginOpen) {\n\t\t\tthis.beginOpen = false\n\t\t\tthis.smoothlyExpansionOpen.emit(this.expansionElement)\n\t\t}\n\t}\n\t@Listen(\"click\")\n\tonClick() {\n\t\tthis.open = !this.open\n\t}\n\t@Listen(\"smoothlyTableLoad\")\n\thandleTableLoaded(event: CustomEvent<(owner: EventTarget) => void>) {\n\t\tevent.stopPropagation()\n\t\tevent.detail(this.element)\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host style={{ textAlign: this.align }}>\n\t\t\t\t<aside>\n\t\t\t\t\t<smoothly-icon name=\"caret-forward-outline\"></smoothly-icon>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</aside>\n\t\t\t\t<tr class={{ spotlight: this.spotlight }} ref={e => (this.expansionElement = e)}>\n\t\t\t\t\t<td colSpan={999} class={!this.open ? \"hide\" : \"\"}>\n\t\t\t\t\t\t<slot name=\"detail\"></slot>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: contents;\n}\ndiv {\n\tdisplay: table-row;\n\tcursor: pointer;\n\tline-height: 1.5rem;\n}\n:host[open] > div {\n\tposition: relative;\n\tz-index: 3;\n\tbackground-color: rgb(var(--smoothly-color));\n}\n:host[open] > div::slotted(*) smoothly-table-cell,\n:host[open] > div::slotted(smoothly-table-cell) {\n\tbox-shadow: 0 1px 0 0 rgb(var(--smoothly-color-shade)) inset;\t\n}\n:host[open] > div::slotted(*) smoothly-table-cell:first-child {\n\tbox-shadow: 0 1px 0 0 rgb(var(--smoothly-color-shade)) inset, 1px 0 0 0 rgb(var(--smoothly-color-shade)) inset;\n}\n:host[open] > div::slotted(*) smoothly-table-cell:last-child {\n\tbox-shadow: 0 1px 0 0 rgb(var(--smoothly-color-shade)) inset, -1px 0 0 0 rgb(var(--smoothly-color-shade)) inset;\n}\n:host[open] > div::slotted(*) smoothly-table-cell:last-child:first-child {\n\tbox-shadow: 0 1px 0 0 rgb(var(--smoothly-color-shade)) inset, 1px 0 0 0 rgb(var(--smoothly-color-shade)) inset, -1px 0 0 0 rgb(var(--smoothly-color-shade)) inset;\n}\n\n.hide {\n\tdisplay: none;\n}\ndiv > tr > td {\n\tposition: relative;\n}\ntd::slotted(*) {\n\t--expansion-width: 1.5rem;\n\t--expansion-border-width: 3px;\n\tposition: relative;\n\tbackground-color: rgb(var(--smoothly-color));\n\twidth: calc(100% + 3rem - 2px);\n\tleft: calc(-1 * var(--expansion-width) + 1px);\n\tbox-sizing: border-box;\n\tpadding: 0.5rem calc(var(--expansion-width) - 1px);\n\tborder-bottom: 1px solid rgb(var(--smoothly-color-shade));\n}\ntr.spotlight > td::slotted(*) {\n\tbox-shadow: calc(var(--expansion-border-width)) 0px 0px 0px rgb(var(--smoothly-tertiary-color)) inset;\n}\ntr:not(.spotlight) > td::slotted(*) {\n\tbox-shadow: -1px 0 0 0 rgb(var(--smoothly-tertiary-color)), 1px 0 0 0 rgb(var(--smoothly-tertiary-color));\n}\ntd::slotted(*)::before {\n\tcontent: \"\";\n\tposition: absolute;\n\tdisplay: flex;\n\ttop: 0;\n\tbottom: 0;\n\tleft: -1px;\n\twidth: calc(var(--expansion-width) + 1px);\n\tborder-top: 1px solid rgb(var(--smoothly-color-shade));\n}\ntd::slotted(*)::after {\n\tcontent: \"\";\n\tposition: absolute;\n\tdisplay: flex;\n\ttop: 0;\n\tbottom: 0;\n\tright: 0;\n\twidth: calc(var(--expansion-width) - 1px);\n\tborder-top: 1px solid rgb(var(--smoothly-color-shade));\n\tborder-right: 1px solid rgb(var(--smoothly-color-shade));\n}\n","import {\n\tComponent,\n\tComponentWillLoad,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-table-expandable-row\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class TableExpandableRow implements ComponentWillLoad {\n\t@Element() element: HTMLSmoothlyTableRowElement\n\t@State() allowSpotlight = true\n\t@State() spotlight = true\n\t@Prop() align: \"left\" | \"center\" | \"right\" = \"left\"\n\t@Prop({ mutable: true, reflect: true }) open: boolean\n\t@Event() smoothlyExpansionOpen: EventEmitter<HTMLElement>\n\t@Event() smoothlyExpandableChange: EventEmitter<boolean>\n\t@Event() smoothlyExpandableLoad: EventEmitter<{ allowSpotlight: (allowed: boolean) => void }>\n\n\t@Watch(\"open\")\n\t@Watch(\"allowSpotlight\")\n\thandleSpotlight() {\n\t\tthis.spotlight = this.open && this.allowSpotlight\n\t}\n\tcomponentWillLoad() {\n\t\tthis.smoothlyExpandableLoad.emit({\n\t\t\tallowSpotlight: (allowed: boolean) => (this.allowSpotlight = allowed),\n\t\t})\n\t}\n\t@Listen(\"smoothlyTableLoad\")\n\thandleTableLoaded(event: CustomEvent<(owner: EventTarget) => void>) {\n\t\tevent.stopPropagation()\n\t\tevent.detail(this.element)\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host style={{ textAlign: this.align }}>\n\t\t\t\t<div style={{ textAlign: this.align }} onClick={() => (this.open = !this.open)}>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t\t<tr class={{ spotlight: this.spotlight }}>\n\t\t\t\t\t<td colSpan={999} class={{ hide: !this.open }}>\n\t\t\t\t\t\t<slot name=\"detail\"></slot>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: table-footer-group;\n\tcursor: default;\n\tposition: sticky;\n\twidth: 100%;\n\tbottom: 0;\n\tbackground-color: rgb(var(--smoothly-color)) ;\n\tbox-shadow: 0 1px 0 0 rgb(var(--smoothly-color-shade)),\n\tinset 0 1px 0 rgb(var(--smoothly-color-shade));\n}\ndiv {\n\tdisplay: contents;\n}\n","import { Component, h } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-table-footer\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class TableFooter {\n\trender() {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: table-cell;\n\tline-height: 2.5rem;\n\tborder-top: 1px solid rgb(var(--smoothly-color-shade));\n\tbox-shadow: 0 1px 0 0 rgb(var(--smoothly-color-shade));\n\tpadding-left: 1rem;\n\tfont-weight: bold;\n}\n\nsmoothly-table[align=bottom] :host {\n\tvertical-align: bottom;\n}\nsmoothly-table[align=middle] :host {\n\tvertical-align: middle;\n\ttext-align: left;\n}\nsmoothly-table[align=top] :host {\n\tvertical-align: top;\n}\n","import { Component, h, Host, Prop } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-table-header\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class TableHeader {\n\t@Prop() name: string\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: table-row-group;\n\tcursor: default;\n\tline-height: 1.5rem;\n}\n.hide {\n\tdisplay: none;\n}\ndiv {\n\tdisplay: contents;\n}\n","import { Component, h, Listen, Prop } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-table-row\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class TableRow {\n\tprivate element?: HTMLElement\n\t@Prop({ reflect: true, mutable: true }) open = false\n\texpansions: HTMLSmoothlyTableExpandableCellElement[] = []\n\t@Listen(\"smoothlyExpansionLoad\")\n\tonExpansionLoad(event: CustomEvent<void>) {\n\t\tthis.expansions.push(event.target as HTMLSmoothlyTableExpandableCellElement)\n\t}\n\t@Listen(\"smoothlyExpandableChange\")\n\tonExpansionChange() {\n\t\tthis.open = this.expansions.some(expansion => expansion.open)\n\t}\n\t@Listen(\"smoothlyExpansionOpen\")\n\tonExpansionOpen(event: CustomEvent<HTMLElement | undefined>) {\n\t\tthis.expansions.forEach(cell => {\n\t\t\tif (cell != event.target)\n\t\t\t\tcell.open = false\n\t\t})\n\t\tif (event.detail)\n\t\t\tthis.element?.after(event.detail)\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<div ref={e => (this.element = e)}>\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t)\n\t}\n}\n","export const data = [\n\t{\n\t\ttype: \"cat\",\n\t\tname: \"Lazie\",\n\t\tage: 3,\n\t},\n\t{\n\t\ttype: \"dog\",\n\t\tname: \"Jessie\",\n\t\tage: 8,\n\t},\n\t{\n\t\ttype: \"cat\",\n\t\tname: \"Snooz\",\n\t\tage: 5,\n\t},\n\t{\n\t\ttype: \"bird\",\n\t\tname: \"Squeak\",\n\t\tage: 1,\n\t},\n\t{\n\t\ttype: \"bird\",\n\t\tname: \"Quirk\",\n\t\tage: 2,\n\t},\n]\n",":host {\n\twidth: 100%;\n\tdisplay: flex;\n\tjustify-content: center;\n}\nsmoothly-table {\n\twidth: 80%;\n}\n.tableCell {\n\theight: 3rem;\n\tdisplay: flex;\n\talign-items: center;\n}\n.tableCell > div {\n\tmargin-left: 3rem;\n\tmargin-right: 3rem;\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: space-between;\n\tgap: 2rem;\n}\n","import { Component, h, Host, State } from \"@stencil/core\"\nimport { data } from \"./data\"\n@Component({\n\ttag: \"smoothly-table-testing\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyTableTesting {\n\t@State() counter = 0\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<smoothly-table color=\"dark\">\n\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t<smoothly-table-header>Type</smoothly-table-header>\n\t\t\t\t\t\t<smoothly-table-header>Name</smoothly-table-header>\n\t\t\t\t\t\t<smoothly-table-header>Age</smoothly-table-header>\n\t\t\t\t\t</smoothly-table-row>\n\n\t\t\t\t\t{data.map(animal => (\n\t\t\t\t\t\t<smoothly-table-expandable-row>\n\t\t\t\t\t\t\t<smoothly-table-cell>{animal.type}</smoothly-table-cell>\n\t\t\t\t\t\t\t<smoothly-table-cell>{animal.name}</smoothly-table-cell>\n\t\t\t\t\t\t\t<smoothly-table-cell>{animal.age}</smoothly-table-cell>\n\t\t\t\t\t\t\t<smoothly-form slot=\"detail\" onSmoothlyFormSubmit={() => this.counter++} looks=\"line\">\n\t\t\t\t\t\t\t\t<smoothly-input value={animal.type}>Type</smoothly-input>\n\t\t\t\t\t\t\t\t<smoothly-input value={animal.name}>Name</smoothly-input>\n\t\t\t\t\t\t\t\t<smoothly-input>{animal.age}</smoothly-input>\n\t\t\t\t\t\t\t\t<smoothly-submit slot=\"submit\">Submit!</smoothly-submit>\n\t\t\t\t\t\t\t</smoothly-form>\n\t\t\t\t\t\t</smoothly-table-expandable-row>\n\t\t\t\t\t))}\n\t\t\t\t\t{data.map(animal => (\n\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t<smoothly-table-cell>{animal.type}</smoothly-table-cell>\n\t\t\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t{animal.name}\n\t\t\t\t\t\t\t\t<smoothly-form slot=\"detail\" onSmoothlyFormSubmit={() => this.counter++} looks=\"line\">\n\t\t\t\t\t\t\t\t\t<smoothly-input value={animal.name}>Name</smoothly-input>\n\t\t\t\t\t\t\t\t\t<smoothly-submit slot=\"submit\">Submit!</smoothly-submit>\n\t\t\t\t\t\t\t\t</smoothly-form>\n\t\t\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t{animal.age}\n\t\t\t\t\t\t\t\t<smoothly-form slot=\"detail\" onSmoothlyFormSubmit={() => this.counter++} looks=\"line\">\n\t\t\t\t\t\t\t\t\t<smoothly-input value={animal.type}>Type</smoothly-input>\n\t\t\t\t\t\t\t\t\t<smoothly-input value={animal.name}>Name</smoothly-input>\n\t\t\t\t\t\t\t\t\t<smoothly-input>{animal.age}</smoothly-input>\n\t\t\t\t\t\t\t\t\t<smoothly-submit slot=\"submit\">Submit!</smoothly-submit>\n\t\t\t\t\t\t\t\t</smoothly-form>\n\t\t\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t))}\n\t\t\t\t\t<smoothly-table-footer>\n\t\t\t\t\t\t<div class=\"tableCell\">\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\tCurrently viewing content from:\n\t\t\t\t\t\t\t\t<smoothly-display type=\"date\" value=\"2023-10-12\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</smoothly-table-footer>\n\t\t\t\t</smoothly-table>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n}\n:host > :first-child {\n\tmargin-top: 0.2rem;\n}\n","import { Component, h, Host, Prop } from \"@stencil/core\"\nimport { Color } from \"../../../model\"\n\n@Component({\n\ttag: \"smoothly-theme-color\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyThemeColor {\n\t@Prop() color: Color\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t{this.color}\n\t\t\t\t{([\"tint\", \"color\", \"shade\"] as const).map(variant => (\n\t\t\t\t\t<smoothly-theme-color-variant color={this.color} variant={variant}></smoothly-theme-color-variant>\n\t\t\t\t))}\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\twidth: 3em;\n\theight: 3em;\n\tfont-weight: 900;\n}\n\n:host[color][variant=color] {\n\tbackground: rgb(var(--smoothly-color));\n}\n:host[color][variant=tint] {\n\tbackground: rgb(var(--smoothly-color-tint));\n}\n:host[color][variant=shade] {\n\tbackground: rgb(var(--smoothly-color-shade));\n}\n","import { Component, Prop } from \"@stencil/core\"\nimport { Color } from \"../../../../model\"\n\n@Component({\n\ttag: \"smoothly-theme-color-variant\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyThemeColorVariant {\n\t@Prop({ reflect: true }) color: Color\n\t@Prop({ reflect: true }) variant: \"shade\" | \"tint\" | \"color\" = \"color\"\n\trender() {\n\t\treturn \"Aa\"\n\t}\n}\n",":host {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(3, 1fr);\n\trow-gap: 1em;\n\tcolumn-gap: 1em;\n\twidth: fit-content;\n}\n","import { Component, h } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-theme-colors\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyThemeColors {\n\trender() {\n\t\treturn (\n\t\t\t[\n\t\t\t\t\"primary\",\n\t\t\t\t\"secondary\",\n\t\t\t\t\"tertiary\",\n\t\t\t\t\"success\",\n\t\t\t\t\"warning\",\n\t\t\t\t\"danger\",\n\t\t\t\t\"light\",\n\t\t\t\t\"medium\",\n\t\t\t\t\"dark\",\n\t\t\t\t\"default\",\n\t\t\t] as const\n\t\t).map(color => <smoothly-theme-color color={color}></smoothly-theme-color>)\n\t}\n}\n",":host{\n\tdisplay: inline-block;\n\tborder: none;\n}\nbutton{\n\tborder: solid white 0.5px;\n\tdisplay: flex;\n\tpadding: 0.6em;\n\tjustify-content: center;\n\tfont-size: 110%;\n\tfont-weight: 400;\n\tcolor: rgb(var(--smoothly-default-tint));\n\tbackground-color: rgb(var(--smoothly-default-shade));\n}\n:host([shape=rounded]){\n\tborder-radius: 0.6em;\n}\n:host([shape=rounded]) > button {\n\tborder-radius: 0.5em;\n}\n:host([selected]) > button{\n\tcolor: rgb(var(--smoothly-light-contrast));\n}\n::slotted(smoothly-icon){\n\tstroke: rgb(var(--smoothly-default-contrast));\n\tfill: rgb(var(--smoothly-default-contrast));\n\tfont-size: 110%;\n}\n:host(:not([selected])) > ::slotted(smoothly-icon) {\n\tcolor: rgb(var(--smoothly-default-tint));\n\tfill:rgb(var(--smoothly-default-tint));\n}\n:host([disabled]) {\n\topacity: 0.5;\n\tpointer-events: none;\n}\n","import { Component, h, Listen, Prop } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-toggle\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyToggle {\n\t@Prop({ mutable: true, reflect: true }) selected = false\n\t@Prop({ reflect: true }) shape: \"rounded\"\n\t@Prop({ reflect: true }) disabled = false\n\t@Prop() name: string\n\t@Prop() value?: any\n\n\t@Listen(\"click\")\n\tonClick(e: UIEvent) {\n\t\tthis.selected = !this.selected\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<button>\n\t\t\t\t<slot name=\"icon-slot\"></slot>\n\t\t\t\t<slot>{this.name}</slot>\n\t\t\t</button>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: block;\n\tmargin: 1em 0;\n\twidth: 3.6em;\n\theight: 1.8em;\n}\n\n:host button {\n\twidth: 100%;\n\theight: 100%;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tposition: relative;\n\tcursor: pointer;\n\tborder: none;\n\tborder-radius: 3em;\n\tbackground-color: rgb(var(--smoothly-light-tint));\n}\n:host button:hover {\n\tbackground-color: rgb(var(--smoothly-light-color));\n}\n:host smoothly-icon {\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tposition: absolute;\n\tleft: 0;\n\tfill: rgb(var(--smoothly-color));\n\tstroke: rgb(var(--smoothly-color));\n\tfont-size: 1.2em;\n\ttransition: 100ms ease-in-out;\n}\n\n:host[checkmark] smoothly-icon {\n\tfill: rgb(var(--smoothly-success-color));\n\tstroke: rgb(var(--smoothly-success-color));\n}\n:host([selected][checkmark]) button{\n\tbackground-color: rgb(var(--smoothly-success-color));\n}\n\n:host([selected]) smoothly-icon{\n\ttransform: translateX(100%);\n}\n\n:host([size=small]){\n\twidth: 3.05em;\n\theight: 1.5em;\n}\n\n:host([size=large]){\n\twidth: 5.2em;\n\theight: 2.5em;\n}\n\n:host([size=small]) smoothly-icon{\n\tfont-size: 1em;\n}\n\n:host([size=large]) smoothly-icon{\n\tfont-size: 1.75em;\n}\n","import { Component, Event, EventEmitter, h, Host, Prop } from \"@stencil/core\"\nimport { Color, Fill } from \"../../model\"\n\n@Component({\n\ttag: \"smoothly-toggle-switch\",\n\tstyleUrl: \"style.css\",\n\tshadow: true,\n})\nexport class SmoothlyToggleSwitch {\n\t@Prop({ reflect: true }) checkmark = true\n\t@Prop({ mutable: true, reflect: true }) selected = false\n\t@Prop({ reflect: true }) disabled = false\n\t@Prop({ reflect: true }) size: \"small\" | \"default\" | \"large\" = \"default\"\n\t@Prop({ reflect: true }) color: Color\n\t@Prop({ reflect: true }) fill: Fill = \"clear\"\n\t@Event() smoothlyToggleSwitchChange: EventEmitter<boolean>\n\n\thandleClick() {\n\t\tthis.selected = !this.selected\n\t\tthis.smoothlyToggleSwitchChange.emit(this.selected)\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<button disabled={this.disabled} onClick={() => this.handleClick()}>\n\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\tcolor={this.color}\n\t\t\t\t\t\tname={!this.checkmark ? \"ellipse\" : this.selected ? \"checkmark-circle\" : \"close-circle\"}\n\t\t\t\t\t\tfill=\"clear\"\n\t\t\t\t\t\tclass={{ selected: this.selected }}></smoothly-icon>\n\t\t\t\t</button>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n",":host {\n\tdisplay: block;\n\tborder-style: solid;\n\tborder-width: 1px;\n\tborder-radius: 3px;\n}\n:host[hidden] {\n\tdisplay: none;\n}\n:host[disabled] {\n\topacity: 0.5;\n}\nbutton {\n\tborder-color: transparent;\n\tbackground-color: transparent;\n\tpadding: 0.2em 0.3em;\n\tfont-size: 110%;\n\tfont-weight: 400;\n}\n:host:not([disabled]):hover,\n:host:not([disabled]):focus,\n:host:not([disabled]):active {\n\tborder-color: var(--smoothly-trigger-border);\n}\n:host[expand=full] > button,\n:host[expand=block] > button {\n\twidth: 100%;\n}\n:host[expand=full] {\n\tborder-left: none;\n\tborder-right: none;\n}\n","import { Component, Event, EventEmitter, h, Listen, Prop } from \"@stencil/core\"\nimport { Color, Fill, Trigger } from \"../../model\"\n\n@Component({\n\ttag: \"smoothly-trigger\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyTrigger {\n\t@Prop({ reflect: true }) color: Color | undefined\n\t@Prop({ reflect: true }) fill: Fill\n\t@Prop({ reflect: true }) disabled = false\n\t@Prop({ reflect: true }) type: \"link\" | \"button\" = \"button\"\n\t@Prop() name: string\n\t@Prop() value?: any\n\t@Event() trigger: EventEmitter<Trigger>\n\n\t@Listen(\"click\")\n\tonClick(e: UIEvent) {\n\t\tthis.trigger.emit({ name: this.name, value: this.value })\n\t\te.stopPropagation()\n\t\te.preventDefault()\n\t}\n\trender() {\n\t\tlet result: HTMLElement\n\t\tswitch (this.type) {\n\t\t\tcase \"link\":\n\t\t\t\tresult = this.disabled ? (\n\t\t\t\t\t<slot></slot>\n\t\t\t\t) : (\n\t\t\t\t\t<a onClick={e => this.onClick(e)}>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</a>\n\t\t\t\t)\n\t\t\t\tbreak\n\t\t\tcase \"button\":\n\t\t\t\tresult = (\n\t\t\t\t\t<button disabled={this.disabled} name={this.name}>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</button>\n\t\t\t\t)\n\t\t\t\tbreak\n\t\t}\n\t\treturn result\n\t}\n}\n","import { Component, h, Prop } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-tuple\",\n})\nexport class SmoothlyTuple {\n\t@Prop() tuple: [string, string]\n\trender() {\n\t\treturn [<b>{this.tuple[0]}</b>, \": \", this.tuple[1], <br />]\n\t}\n}\n","import { Component, h, Prop } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-urlencoded\",\n})\nexport class Urlencoded {\n\t@Prop() data: string // TODO: Consider using a specific type for this\n\trender() {\n\t\treturn this.data\n\t\t\t.split(\"&\")\n\t\t\t.map(p => p.split(\"=\") as [string, string])\n\t\t\t.map(tuple => <smoothly-tuple tuple={tuple}></smoothly-tuple>)\n\t}\n}\n"],"version":3}
|