@aquera/nile-elements 2.0.0 → 2.0.2
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/README.md +11 -0
- package/demo/nxtgen-dark.css +2 -2
- package/dist/{index-ccff99d6.esm.js → index-0fe57384.esm.js} +1 -1
- package/dist/index-f6944844.cjs.js +2 -0
- package/dist/{index-e43755f5.cjs.js.map → index-f6944844.cjs.js.map} +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1127 -741
- package/dist/nile-code-editor/extensionSetup.cjs.js +1 -1
- package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
- package/dist/nile-code-editor/index.cjs.js +1 -1
- package/dist/nile-code-editor/index.esm.js +1 -1
- package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
- package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
- package/dist/nile-code-editor/nile-code-editor.css.cjs.js +1 -1
- package/dist/nile-code-editor/nile-code-editor.css.cjs.js.map +1 -1
- package/dist/nile-code-editor/nile-code-editor.css.esm.js +2 -2
- package/dist/nile-code-editor/nile-code-editor.esm.js +4 -4
- package/dist/nile-code-editor/theme.cjs.js +1 -1
- package/dist/nile-code-editor/theme.cjs.js.map +1 -1
- package/dist/nile-code-editor/theme.esm.js +1 -1
- package/dist/nile-combobox/nile-combobox.css.cjs.js +1 -1
- package/dist/nile-combobox/nile-combobox.css.cjs.js.map +1 -1
- package/dist/nile-combobox/nile-combobox.css.esm.js +1 -1
- package/dist/nile-detail/nile-detail.css.cjs.js +1 -1
- package/dist/nile-detail/nile-detail.css.cjs.js.map +1 -1
- package/dist/nile-detail/nile-detail.css.esm.js +1 -1
- package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js +1 -1
- package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js.map +1 -1
- package/dist/nile-side-bar-footer/nile-side-bar-footer.css.esm.js +3 -3
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js +1 -1
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js.map +1 -1
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.esm.js +13 -7
- package/dist/nile-timestamp-builder/index.cjs.js +2 -0
- package/dist/nile-timestamp-builder/index.cjs.js.map +1 -0
- package/dist/nile-timestamp-builder/index.esm.js +1 -0
- package/dist/nile-timestamp-builder/nile-timestamp-builder-utils.cjs.js +2 -0
- package/dist/nile-timestamp-builder/nile-timestamp-builder-utils.cjs.js.map +1 -0
- package/dist/nile-timestamp-builder/nile-timestamp-builder-utils.esm.js +1 -0
- package/dist/nile-timestamp-builder/nile-timestamp-builder.cjs.js +2 -0
- package/dist/nile-timestamp-builder/nile-timestamp-builder.cjs.js.map +1 -0
- package/dist/nile-timestamp-builder/nile-timestamp-builder.css.cjs.js +2 -0
- package/dist/nile-timestamp-builder/nile-timestamp-builder.css.cjs.js.map +1 -0
- package/dist/nile-timestamp-builder/nile-timestamp-builder.css.esm.js +195 -0
- package/dist/nile-timestamp-builder/nile-timestamp-builder.esm.js +154 -0
- package/dist/nile-timestamp-builder/timezones.cjs.js +2 -0
- package/dist/nile-timestamp-builder/timezones.cjs.js.map +1 -0
- package/dist/nile-timestamp-builder/timezones.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.esm.js +91 -58
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.esm.js +19 -19
- package/dist/nile-wysiwyg-editor/ui/bookmark-panel.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/bookmark-panel.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/bookmark-panel.esm.js +14 -14
- package/dist/nile-wysiwyg-editor/ui/bubble-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/bubble-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/bubble-menu.esm.js +13 -13
- package/dist/nile-wysiwyg-editor/ui/code-block-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/code-block-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/code-block-menu.esm.js +12 -12
- package/dist/nile-wysiwyg-editor/ui/embed-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/embed-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/embed-menu.esm.js +10 -10
- package/dist/nile-wysiwyg-editor/ui/embed-panel.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/embed-panel.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/embed-panel.esm.js +4 -4
- package/dist/nile-wysiwyg-editor/ui/emoji-picker.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/emoji-picker.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/emoji-picker.esm.js +11 -11
- package/dist/nile-wysiwyg-editor/ui/find-replace.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/find-replace.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/find-replace.esm.js +9 -9
- package/dist/nile-wysiwyg-editor/ui/image-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/image-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/image-menu.esm.js +11 -11
- package/dist/nile-wysiwyg-editor/ui/image-panel.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/image-panel.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/image-panel.esm.js +6 -6
- package/dist/nile-wysiwyg-editor/ui/insert-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/insert-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/insert-menu.esm.js +14 -14
- package/dist/nile-wysiwyg-editor/ui/link-editor.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/link-editor.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/link-editor.esm.js +16 -16
- package/dist/nile-wysiwyg-editor/ui/markdown-panel.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/markdown-panel.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/markdown-panel.esm.js +8 -8
- package/dist/nile-wysiwyg-editor/ui/math-panel.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/math-panel.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/math-panel.esm.js +4 -4
- package/dist/nile-wysiwyg-editor/ui/shortcut-help.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/shortcut-help.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/shortcut-help.esm.js +16 -16
- package/dist/nile-wysiwyg-editor/ui/source-view.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/source-view.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/source-view.esm.js +29 -29
- package/dist/nile-wysiwyg-editor/ui/special-chars.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/special-chars.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/special-chars.esm.js +8 -8
- package/dist/nile-wysiwyg-editor/ui/suggest-list.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/suggest-list.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/suggest-list.esm.js +9 -9
- package/dist/nile-wysiwyg-editor/ui/table-grid-picker.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/table-grid-picker.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/table-grid-picker.esm.js +23 -23
- package/dist/nile-wysiwyg-editor/ui/table-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/table-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/table-menu.esm.js +7 -7
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/nile-code-editor/nile-code-editor.css.js +2 -2
- package/dist/src/nile-code-editor/nile-code-editor.css.js.map +1 -1
- package/dist/src/nile-code-editor/nile-code-editor.d.ts +15 -0
- package/dist/src/nile-code-editor/nile-code-editor.js +65 -6
- package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
- package/dist/src/nile-code-editor/theme.d.ts +6 -117
- package/dist/src/nile-code-editor/theme.js +100 -147
- package/dist/src/nile-code-editor/theme.js.map +1 -1
- package/dist/src/nile-combobox/nile-combobox.css.js +1 -1
- package/dist/src/nile-combobox/nile-combobox.css.js.map +1 -1
- package/dist/src/nile-detail/nile-detail.css.js +1 -1
- package/dist/src/nile-detail/nile-detail.css.js.map +1 -1
- package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js +3 -3
- package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js.map +1 -1
- package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js +11 -5
- package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js.map +1 -1
- package/dist/src/nile-timestamp-builder/index.d.ts +1 -0
- package/dist/src/nile-timestamp-builder/index.js +2 -0
- package/dist/src/nile-timestamp-builder/index.js.map +1 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder-utils.d.ts +54 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder-utils.js +254 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder-utils.js.map +1 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder.css.d.ts +7 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder.css.js +203 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder.css.js.map +1 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder.d.ts +94 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder.js +578 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder.js.map +1 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder.test.d.ts +1 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder.test.js +890 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder.test.js.map +1 -0
- package/dist/src/nile-timestamp-builder/timezones.d.ts +8 -0
- package/dist/src/nile-timestamp-builder/timezones.js +357 -0
- package/dist/src/nile-timestamp-builder/timezones.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.js +91 -58
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.d.ts +2 -1
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.js +23 -1
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.js +19 -19
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/bookmark-panel.js +10 -10
- package/dist/src/nile-wysiwyg-editor/ui/bookmark-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.js +7 -7
- package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/code-block-menu.js +5 -5
- package/dist/src/nile-wysiwyg-editor/ui/code-block-menu.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/embed-menu.js +6 -6
- package/dist/src/nile-wysiwyg-editor/ui/embed-menu.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/embed-panel.js +4 -4
- package/dist/src/nile-wysiwyg-editor/ui/embed-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/emoji-picker.js +6 -6
- package/dist/src/nile-wysiwyg-editor/ui/emoji-picker.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/find-replace.js +7 -7
- package/dist/src/nile-wysiwyg-editor/ui/find-replace.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/image-menu.js +6 -6
- package/dist/src/nile-wysiwyg-editor/ui/image-menu.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/image-panel.js +6 -6
- package/dist/src/nile-wysiwyg-editor/ui/image-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/insert-menu.js +7 -7
- package/dist/src/nile-wysiwyg-editor/ui/insert-menu.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/link-editor.js +9 -9
- package/dist/src/nile-wysiwyg-editor/ui/link-editor.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/markdown-panel.js +8 -8
- package/dist/src/nile-wysiwyg-editor/ui/markdown-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/math-panel.js +4 -4
- package/dist/src/nile-wysiwyg-editor/ui/math-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/shortcut-help.js +9 -9
- package/dist/src/nile-wysiwyg-editor/ui/shortcut-help.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/source-view.js +24 -24
- package/dist/src/nile-wysiwyg-editor/ui/source-view.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/special-chars.js +4 -4
- package/dist/src/nile-wysiwyg-editor/ui/special-chars.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/suggest-list.js +7 -7
- package/dist/src/nile-wysiwyg-editor/ui/suggest-list.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.js +16 -16
- package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/table-menu.js +4 -4
- package/dist/src/nile-wysiwyg-editor/ui/table-menu.js.map +1 -1
- package/dist/src/version.js +2 -2
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/nile-code-editor/nile-code-editor.css.ts +2 -2
- package/src/nile-code-editor/nile-code-editor.ts +68 -5
- package/src/nile-code-editor/theme.ts +129 -162
- package/src/nile-combobox/nile-combobox.css.ts +1 -1
- package/src/nile-detail/nile-detail.css.ts +1 -1
- package/src/nile-side-bar-footer/nile-side-bar-footer.css.ts +3 -3
- package/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.ts +11 -5
- package/src/nile-timestamp-builder/index.ts +1 -0
- package/src/nile-timestamp-builder/nile-timestamp-builder-utils.ts +321 -0
- package/src/nile-timestamp-builder/nile-timestamp-builder.css.ts +204 -0
- package/src/nile-timestamp-builder/nile-timestamp-builder.test.ts +1089 -0
- package/src/nile-timestamp-builder/nile-timestamp-builder.ts +625 -0
- package/src/nile-timestamp-builder/timezones.ts +356 -0
- package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.ts +91 -58
- package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.ts +21 -1
- package/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.ts +19 -19
- package/src/nile-wysiwyg-editor/ui/bookmark-panel.ts +10 -10
- package/src/nile-wysiwyg-editor/ui/bubble-menu.ts +7 -7
- package/src/nile-wysiwyg-editor/ui/code-block-menu.ts +5 -5
- package/src/nile-wysiwyg-editor/ui/embed-menu.ts +6 -6
- package/src/nile-wysiwyg-editor/ui/embed-panel.ts +4 -4
- package/src/nile-wysiwyg-editor/ui/emoji-picker.ts +6 -6
- package/src/nile-wysiwyg-editor/ui/find-replace.ts +7 -7
- package/src/nile-wysiwyg-editor/ui/image-menu.ts +6 -6
- package/src/nile-wysiwyg-editor/ui/image-panel.ts +6 -6
- package/src/nile-wysiwyg-editor/ui/insert-menu.ts +7 -7
- package/src/nile-wysiwyg-editor/ui/link-editor.ts +9 -9
- package/src/nile-wysiwyg-editor/ui/markdown-panel.ts +8 -8
- package/src/nile-wysiwyg-editor/ui/math-panel.ts +4 -4
- package/src/nile-wysiwyg-editor/ui/shortcut-help.ts +9 -9
- package/src/nile-wysiwyg-editor/ui/source-view.ts +24 -24
- package/src/nile-wysiwyg-editor/ui/special-chars.ts +4 -4
- package/src/nile-wysiwyg-editor/ui/suggest-list.ts +7 -7
- package/src/nile-wysiwyg-editor/ui/table-grid-picker.ts +16 -16
- package/src/nile-wysiwyg-editor/ui/table-menu.ts +4 -4
- package/vscode-html-custom-data.json +94 -2
- package/dist/index-e43755f5.cjs.js +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nile-timestamp-builder.test.js","sourceRoot":"","sources":["../../../src/nile-timestamp-builder/nile-timestamp-builder.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,0BAA0B,CAAC;AAElC,OAAO,EACL,UAAU,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,eAAe,GAChB,MAAM,gCAAgC,CAAC;AAExC,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,CAC1B,OAAO,CACL,IAAI,CAAA,2BAA2B,KAAK,4BAA4B,CACjE,CAAC;AAEJ,kFAAkF;AAClF,SAAS,WAAW,CAAC,EAAwB,EAAE,KAAa,EAAE,KAAa;IACzE,MAAM,MAAM,GAAG,EAAE,CAAC,UAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,aAAa,EAAE;QAC7B,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;QAChC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;KACf,CAAC,CACH,CAAC;AACJ,CAAC;AAED,oCAAoC;AACpC,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,CAAC;CACf,CAAC;AAEF,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YACvB,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;YACpB,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YACpB,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;YACxB,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;YAC1B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;YACrD,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;YACxB,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YAC7D,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACvB,EAAU,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAC3B,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;YAEhE,EAAU,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;YAC5B,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACtC,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;YACnB,MAAM,EAAE,CAAC,cAAc,CAAC;YACvB,EAAU,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;YAC5B,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;YACxB,IAAI,OAAiB,CAAC;YACtB,IAAI,QAAiB,CAAC;YAEtB,UAAU,CAAC,GAAG,EAAE;gBACd,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,GAAI,SAAiB,CAAC,SAAS,CAAC;gBACxC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE;oBAC5C,KAAK,EAAE;wBACL,SAAS,EAAE,CAAC,CAAS,EAAE,EAAE;4BACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BAChB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;wBAC3B,CAAC;qBACF;oBACD,YAAY,EAAE,IAAI;iBACnB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,GAAG,EAAE;gBACb,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE;oBAC5C,KAAK,EAAE,QAAQ;oBACf,YAAY,EAAE,IAAI;iBACnB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;gBACtD,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;gBACxB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,MAAM,EAAE,CAAC,cAAc,CAAC;gBACxB,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;YACxE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;gBACrE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;gBACxB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,MAAM,EAAE,CAAC,cAAc,CAAC;gBACxB,MAAM,OAAO,GAAG,EAAE,CAAC,UAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;gBAC/D,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnC,iEAAiE;gBACjE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAY,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACpD,gBAAgB,CACjB,CAAC;gBACF,MAAM,CACJ,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAC7D,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;gBAChD,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;gBACxB,EAAE,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;gBACtB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,MAAM,EAAE,CAAC,cAAc,CAAC;gBACxB,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;YACxE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;gBACtE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;gBACxB,EAAE,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;gBACtB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,MAAM,EAAE,CAAC,cAAc,CAAC;gBACxB,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;YACxE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;gBAC9D,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;gBACxB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,MAAM,EAAE,CAAC,cAAc,CAAC;gBACxB,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACpE,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;gBACjE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;gBACxB,EAAE,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrD,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACpB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,MAAM,EAAE,CAAC,cAAc,CAAC;gBACxB,MAAO,EAAU,CAAC,UAAU,EAAE,CAAC;gBAC/B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;gBACrD,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;gBACxB,EAAE,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrD,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,MAAM,EAAE,CAAC,cAAc,CAAC;gBACxB,UAAU,CAAC,GAAG,EAAE,CAAE,EAAU,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC3C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;gBAC5C,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;gBAC3E,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;gBACxB,EAAE,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;gBACtB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,MAAM,EAAE,CAAC,cAAc,CAAC;gBACxB,MAAO,EAAU,CAAC,UAAU,EAAE,CAAC;gBAC/B,MAAM,EAAE,CAAC,cAAc,CAAC;gBACxB,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;gBACjC,MAAM,MAAM,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,aAAa,CAAE,CAAC;gBAC5D,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC7D,MAAM,CACJ,MAAM,CAAC,aAAa,CAAC,YAAY,CAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CACzD,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;gBAC5D,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;gBACxB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,MAAM,EAAE,CAAC,cAAc,CAAC;gBACxB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;gBAChC,MAAM,MAAM,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,aAAa,CAAE,CAAC;gBAC5D,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;gBACnD,MAAO,EAAU,CAAC,UAAU,EAAE,CAAC;gBAC/B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;gBAChE,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE;oBAC5C,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;oBAC/D,YAAY,EAAE,IAAI;iBACnB,CAAC,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;gBACxB,EAAE,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;gBACtB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,MAAM,EAAE,CAAC,cAAc,CAAC;gBACxB,UAAU,CAAC,GAAG,EAAE,CAAE,EAAU,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC3C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;gBAClD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC3C,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;YACpC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,wEAAwE;YACxE,oEAAoE;YACpE,qDAAqD;YACrD,MAAM,eAAe,GAAG,KAAK,EAAE,MAA0C,EAAE,EAAE;gBAC3E,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;gBACxB,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;gBACjD,EAAE,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;gBACtB,MAAM,CAAC,EAAE,CAAC,CAAC;gBACX,MAAM,EAAE,CAAC,cAAc,CAAC;gBACxB,OAAO,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,iBAAiB,CAAgB,CAAC;YACxE,CAAC,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACpD,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,EAAE,CAAC,EAAE;gBAC7C,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,CAAC,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,EAAE,CAAC,EAAE;gBAC7C,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACpE,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;YACnB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;YACtE,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;YACnB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;YAClE,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;YACnB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,OAAO,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,eAAe,CAAE,CAAC;YAC/D,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;YACnB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,OAAO,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,eAAe,CAAE,CAAC;YAC/D,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,UAAU,CAAC,GAAG,EAAE,CAAE,EAAU,CAAC,UAAU,EAAE,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YACpD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAEzC,UAAU,CAAC,GAAG,EAAE,CAAE,EAAU,CAAC,UAAU,EAAE,CAAC,CAAC;YAC3C,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;YACxD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,CAAC,EAAwB,EAAE,EAAE,CAC3C,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;QAE/D,MAAM,GAAG,GAAG,CAAC,EAAwB,EAAE,EAAE,CACvC,OAAO,CAAC,EAAE,CAAC,CAAC,aAAa,CACvB,IAAI,YAAY,CAAC,WAAW,EAAE;YAC5B,WAAW,EAAE,OAAO;YACpB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC;QAEJ,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,OAAO,CAAC,EAAE,CAAC,CAAC,aAAa,CACvB,IAAI,UAAU,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAC9D,CAAC;YACF,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,GAAG,CAAC,EAAE,CAAC,CAAC;YACR,GAAG,CAAC,EAAE,CAAC,CAAC;YACR,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,GAAG,CAAC,EAAE,CAAC,CAAC;YACR,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,GAAG,CAAC,EAAE,CAAC,CAAC;YACP,EAAU,CAAC,SAAS,IAAI,IAAI,CAAC;YAC9B,GAAG,CAAC,EAAE,CAAC,CAAC;YACR,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,UAAU,CAAU,EAAE,CAAC;gBACrD,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;gBACxB,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;gBAChB,MAAM,EAAE,CAAC,cAAc,CAAC;gBAExB,OAAO,CAAC,EAAE,CAAC,CAAC,aAAa,CACvB,IAAI,UAAU,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAC9D,CAAC;gBACF,GAAG,CAAC,EAAE,CAAC,CAAC;gBACR,GAAG,CAAC,EAAE,CAAC,CAAC;gBACR,MAAM,EAAE,CAAC,cAAc,CAAC;gBACxB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;YACpB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YAClD,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;YACnB,EAAU,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC/B,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC5C,qEAAqE;YACpE,EAAU,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YACrD,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;YACjB,MAAM,EAAE,CAAC,cAAc,CAAC;YACvB,EAAU,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,iEAAiE;YACjE,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAClC,MAAM,EAAE,CAAC,cAAc,CAAC;YACvB,EAAU,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,KAAK,UAAU,MAAM;YACnB,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;YACpB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9C,MAAM,EAAE,CAAC,cAAc,CAAC;YACvB,EAAU,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACpC,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;YAC1B,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACjC,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;YAC1B,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB;YAChE,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/B,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;YAC1B,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW;YACzD,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/B,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;YAC1B,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAChC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAClC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAClC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACzC,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACtC,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;YAC1B,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC;YAClB,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC;YAClB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAClC,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAClC,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;YAC1B,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB;YACtD,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe;YAChD,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;YACpB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7C,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,MAAM,GAAG;gBACb,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI;gBACpB,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK;gBACtB,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG;gBACnB,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI;gBACpB,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE;aAC3B,CAAC;YAEF,MAAM,MAAM,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YAC3D,2DAA2D;YAC1D,EAAU,CAAC,IAAI,GAAG,IAAI,CAAC;YACxB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,aAAa,CAAE,CAAC;YAC9D,QAAQ,CAAC,aAAa,CACpB,IAAI,WAAW,CAAC,aAAa,EAAE;gBAC7B,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE;gBACjC,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;aACf,CAAC,CACH,CAAC;YACF,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,yEAAyE;YACxE,EAAU,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,EAAE,CAAC,cAAc,CAAC;YAExB,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;YACpC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,QAAQ,GAAG,cAAc,CAAC;YAC7B,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;YAC3B,EAAU,CAAC,YAAY,EAAE,CAAC;YAC3B,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;YACpB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,EAAE,CAAC,cAAc,CAAC;YACvB,EAAU,CAAC,gBAAgB,EAAE,CAAC;YAC/B,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,UAAU,CAAC,GAAG,EAAE,CAAE,EAAU,CAAC,YAAY,EAAE,CAAC,CAAC;YAC7C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YAC9C,uEAAuE;YACvE,oDAAoD;YACpD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAChE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACvD,EAAE,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;YACnG,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC,gBAAgB;YAC9C,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,0BAA0B;YAC1E,EAAU,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,0CAA0C;YACnE,MAAM,EAAE,CAAC,cAAc,CAAC;YAExB,8DAA8D;YAC9D,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;YAC/D,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,kCAAkC;YACrE,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;YAEhC,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YAC5C,EAAU,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC;YAE3B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAC/B,iDAAiD,CAClD,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAChE,2EAA2E;YAC3E,0DAA0D;YAC1D,MAAM,CAAE,GAAG,CAAC,MAAM,CAAC,kBAA2B,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAChE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CACrC,CAAC;YACF,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3E,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;YACpB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YAC/C,EAAU,CAAC,IAAI,GAAG,IAAI,CAAC;YACxB,MAAM,EAAE,CAAC,cAAc,CAAC;YAExB,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAClC,MAAM,EAAE,CAAC,cAAc,CAAC;YAExB,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YAC5C,EAAU,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC;YAE3B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAC/B,wCAAwC,CACzC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;YACpB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,EAAU,CAAC,IAAI,GAAG,IAAI,CAAC;YACxB,MAAM,EAAE,CAAC,cAAc,CAAC;YAExB,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;YAE/D,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,aAAa,CAAE,CAAC;YAC9D,QAAQ,CAAC,aAAa,CACpB,IAAI,WAAW,CAAC,aAAa,EAAE;gBAC7B,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE;gBACjC,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;aACf,CAAC,CACH,CAAC;YACF,MAAM,EAAE,CAAC,cAAc,CAAC;YAExB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC7C,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;YAChC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY;YAErF,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YAC5C,EAAU,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACrD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;YACpB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,EAAU,CAAC,IAAI,GAAG,IAAI,CAAC;YACxB,MAAM,EAAE,CAAC,cAAc,CAAC;YAExB,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YAC5C,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC/B,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC;YAE3B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAChE,0CAA0C;YAC1C,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sDAAsD,EAAE,GAAG,EAAE;QACpE,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,KAAK,GAAG,0BAA0B,CAAC;YACtC,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAChD,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACzD,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;YAChB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA;;mCAEuB,CAC5B,CAAC;YACF,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,KAAK,GAAG,YAAY,CAAC;YACxB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;YAE1D,EAAU,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,EAAE,CAAC,cAAc,CAAC;YAExB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;YAChC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;YAE3B,EAAU,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAC3B,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;YACpB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAE/B,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;YAChB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;YAChC,MAAM,MAAM,GACV,EAAE,CAAC,UAAW,CAAC,aAAa,CAAmB,cAAc,CAAE,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAkB,IAAI,CAAA;;;;qBAIjC,KAAK;;;OAGnB,CAAC,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAC3B,wBAAwB,CACxB,CAAC;YACH,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;YAC1C,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;YACnB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;YAChB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;YACnB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAkB,IAAI,CAAA;;;;;qBAKjC,KAAK;;;OAGnB,CAAC,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAC3B,wBAAwB,CACxB,CAAC;YACH,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAkB,IAAI,CAAA;;;;;;;OAO/C,CAAC,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAC3B,wBAAwB,CACxB,CAAC;YACH,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;YAChB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA;;mCAEuB,CAC5B,CAAC;YACF,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,OAAO,GAAG,cAAc,CAC5B;YACE,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,WAAW,EAAE,IAAI;SAClB,EACD,CAAC,EACD,IAAI,CACL,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC1C,MAAM,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACvD,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACjD,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,MAAM,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAC9D,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CACzE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAClC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;YAClC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;YAClE,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,6CAA6C,EAAE,GAAG,EAAE;QAC3D,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,MAAM,GAAG,eAAe,CAAC,6CAA6C,CAAC,CAAC;YAC9E,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAClD,kEAAkE;YAClE,MAAM,CAAC,MAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,0EAA0E;YAC1E,sEAAsE;YACtE,MAAM,CACJ,eAAe,CAAC,6CAA6C,CAAC,CAC/D,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;YACnF,6EAA6E;YAC7E,MAAM,KAAK,GAAG,eAAe,CAC3B,iDAAiD,CAClD,CAAC;YACF,MAAM,MAAM,GAAG,eAAe,CAC5B,iDAAiD,CAClD,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,KAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3E,MAAM,CAAC,MAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5E,MAAM,CAAC,KAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;YAC7E,sEAAsE;YACtE,MAAM,CACJ,eAAe,CAAC,iDAAiD,CAAC,CACnE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjB,MAAM,CACJ,eAAe,CAAC,iDAAiD,CAAC,CACnE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,CACJ,eAAe,CAAC,0CAA0C,CAAC,CAC5D,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,OAAO,GAAG,eAAe,CAC7B,iDAAiD,CAClD,CAAC;YACF,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CACtC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CACrC,CAAC;YACF,MAAM,GAAG,GAAG,eAAe,CAAC,wCAAwC,CAAC,CAAC;YACtE,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CACJ,eAAe,CAAC;YACd,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,EAAE;SAChB,CAAC,CACH,CAAC,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACrD,KAAK,MAAM,EAAE,IAAI;YACf,KAAK;YACL,kBAAkB;YAClB,cAAc;YACd,gBAAgB;SACjB,EAAE,CAAC;YACF,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACnC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,sEAAsE;QACtE,MAAM,GAAG,GAAG;YACV,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,CAAC;SACf,CAAC;QACF,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;QACjD,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAEtC,qDAAqD;QACrD,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACvD,MAAM,CAAC,GAAG,aAAa,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QACrD,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QACxE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACtB,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect, fixture, html, oneEvent } from '@open-wc/testing';\nimport './nile-timestamp-builder';\nimport type { NileTimestampBuilder } from './nile-timestamp-builder';\nimport {\n clampField,\n clampWallClock,\n daysInMonth,\n epochToFields,\n fieldsToEpoch,\n formatWallClock,\n getLocalTimeZone,\n getTimezoneList,\n hasTemporal,\n isValidTimeZone,\n normalizeValueInput,\n parseZonedValue,\n} from './nile-timestamp-builder-utils';\n\nconst make = (attrs = '') =>\n fixture<NileTimestampBuilder>(\n html`<nile-timestamp-builder ${attrs}></nile-timestamp-builder>`\n );\n\n/** Dispatch a nile-change carrying a STRING value on the nth inner nile-input. */\nfunction changeField(el: NileTimestampBuilder, index: number, value: number) {\n const inputs = el.shadowRoot!.querySelectorAll('nile-input');\n const input = inputs[index];\n input.dispatchEvent(\n new CustomEvent('nile-change', {\n detail: { value: String(value) },\n bubbles: true,\n composed: true,\n })\n );\n}\n\n// Field order in the expanded view.\nconst FIELD = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5,\n millisecond: 6,\n};\n\ndescribe('NileTimestampBuilder', () => {\n describe('rendering & defaults', () => {\n it('renders', async () => {\n const el = await make();\n expect(el).to.exist;\n expect(el.shadowRoot).to.not.be.null;\n });\n\n it('is defined', () => {\n expect(customElements.get('nile-timestamp-builder')).to.exist;\n });\n\n it('tag name', async () => {\n const el = await make();\n expect(el.tagName.toLowerCase()).to.equal('nile-timestamp-builder');\n });\n\n it('has styles', async () => {\n const mod = await import('./nile-timestamp-builder');\n expect(mod.NileTimestampBuilder.styles).to.exist;\n });\n\n it('defaults', async () => {\n const el = await make();\n expect(el.value).to.equal(null);\n expect(el.open).to.equal(false);\n expect(el.minYear).to.equal(1);\n expect(el.maxYear).to.equal(9999);\n expect(el.timezone).to.be.a('string');\n });\n\n it('resolves the timezone list once on connect', async () => {\n const el = await make();\n expect(el.timezoneList.length).to.be.greaterThan(0);\n });\n\n it('collapsed view shows a placeholder when empty', async () => {\n const el = await make();\n const value = el.shadowRoot!.querySelector('[part=\"value\"]');\n expect(value?.textContent?.trim()).to.equal('No timestamp set');\n });\n });\n\n describe('view toggling', () => {\n it('Edit expands, Done collapses', async () => {\n const el = await make();\n (el as any).handleEdit();\n await el.updateComplete;\n expect(el.open).to.be.true;\n expect(el.shadowRoot!.querySelector('[part=\"editor\"]')).to.exist;\n\n (el as any).handleDone();\n await el.updateComplete;\n expect(el.open).to.be.false;\n expect(el.shadowRoot!.querySelector('[part=\"display\"]')).to.exist;\n });\n\n it('readonly never expands', async () => {\n const el = await make();\n el.readonly = true;\n await el.updateComplete;\n (el as any).handleEdit();\n await el.updateComplete;\n expect(el.open).to.be.false;\n expect(el.shadowRoot!.querySelector('[part=\"editor\"]')).to.not.exist;\n });\n\n describe('copyable', () => {\n let written: string[];\n let original: unknown;\n\n beforeEach(() => {\n written = [];\n original = (navigator as any).clipboard;\n Object.defineProperty(navigator, 'clipboard', {\n value: {\n writeText: (t: string) => {\n written.push(t);\n return Promise.resolve();\n },\n },\n configurable: true,\n });\n });\n\n afterEach(() => {\n Object.defineProperty(navigator, 'clipboard', {\n value: original,\n configurable: true,\n });\n });\n\n it('stays hidden unless copyable is passed', async () => {\n const el = await make();\n el.readonly = true;\n await el.updateComplete;\n expect(el.shadowRoot!.querySelector('[part=\"actions\"]')).to.not.exist;\n });\n\n it('shows a single Copy action when readonly and copyable', async () => {\n const el = await make();\n el.readonly = true;\n el.copyable = true;\n await el.updateComplete;\n const buttons = el.shadowRoot!.querySelectorAll('nile-button');\n expect(buttons.length).to.equal(1);\n // Icon only — the accessible name carries the meaning, not text.\n expect(buttons[0].textContent!.trim()).to.equal('');\n expect(buttons[0].getAttribute('aria-label')).to.equal(\n 'Copy timestamp'\n );\n expect(\n buttons[0].querySelector('nile-glyph')!.getAttribute('name')\n ).to.equal('ng-copy');\n });\n\n it('does not show Copy when disabled', async () => {\n const el = await make();\n el.value = new Date();\n el.disabled = true;\n el.copyable = true;\n await el.updateComplete;\n expect(el.shadowRoot!.querySelector('[part=\"actions\"]')).to.not.exist;\n });\n\n it('does not show Copy when disabled and readonly together', async () => {\n const el = await make();\n el.value = new Date();\n el.disabled = true;\n el.readonly = true;\n el.copyable = true;\n await el.updateComplete;\n expect(el.shadowRoot!.querySelector('[part=\"actions\"]')).to.not.exist;\n });\n\n it('does not show Copy while the value is editable', async () => {\n const el = await make();\n el.copyable = true;\n await el.updateComplete;\n expect(el.shadowRoot!.querySelectorAll('nile-button').length).to.equal(\n 2\n );\n });\n\n it('writes the canonical zoned value to the clipboard', async () => {\n const el = await make();\n el.value = new Date(Date.UTC(2026, 2, 14, 4, 11, 0));\n el.timezone = 'UTC';\n el.readonly = true;\n el.copyable = true;\n await el.updateComplete;\n await (el as any).handleCopy();\n expect(written.length).to.equal(1);\n expect(written[0]).to.contain('2026-03-14');\n });\n\n it('emits nile-copy with the copied value', async () => {\n const el = await make();\n el.value = new Date(Date.UTC(2026, 2, 14, 4, 11, 0));\n el.readonly = true;\n el.copyable = true;\n await el.updateComplete;\n setTimeout(() => (el as any).handleCopy());\n const evt = await oneEvent(el, 'nile-copy');\n expect(evt.detail.value).to.be.a('string');\n });\n\n it('confirms with a checked icon and an updated accessible name', async () => {\n const el = await make();\n el.value = new Date();\n el.readonly = true;\n el.copyable = true;\n await el.updateComplete;\n await (el as any).handleCopy();\n await el.updateComplete;\n expect(el.justCopied).to.be.true;\n const button = el.shadowRoot!.querySelector('nile-button')!;\n expect(button.getAttribute('aria-label')).to.equal('Copied');\n expect(\n button.querySelector('nile-glyph')!.getAttribute('name')\n ).to.equal('ng-copy-check');\n });\n\n it('disables Copy when there is no value to copy', async () => {\n const el = await make();\n el.readonly = true;\n el.copyable = true;\n await el.updateComplete;\n expect(el.hasValue).to.be.false;\n const button = el.shadowRoot!.querySelector('nile-button')!;\n expect(button.hasAttribute('disabled')).to.be.true;\n await (el as any).handleCopy();\n expect(written.length).to.equal(0);\n });\n\n it('emits nile-copy-error when the clipboard rejects', async () => {\n Object.defineProperty(navigator, 'clipboard', {\n value: { writeText: () => Promise.reject(new Error('denied')) },\n configurable: true,\n });\n const el = await make();\n el.value = new Date();\n el.readonly = true;\n el.copyable = true;\n await el.updateComplete;\n setTimeout(() => (el as any).handleCopy());\n const evt = await oneEvent(el, 'nile-copy-error');\n expect(evt.detail.value).to.be.a('string');\n expect(el.justCopied).to.be.false;\n });\n });\n\n it('keeps the collapsed row the same height with and without actions', async () => {\n // The token stylesheet is not loaded under test, so the one length this\n // assertion depends on is supplied explicitly. It inherits into the\n // shadow root like a custom property normally would.\n const withHeightToken = async (mutate: (el: NileTimestampBuilder) => void) => {\n const el = await make();\n el.style.setProperty('--ng-height-28px', '28px');\n el.value = new Date();\n mutate(el);\n await el.updateComplete;\n return el.shadowRoot!.querySelector('.tsb__collapsed') as HTMLElement;\n };\n\n const withActions = await withHeightToken(() => {});\n const readonlyRow = await withHeightToken(el => {\n el.readonly = true;\n });\n const disabledRow = await withHeightToken(el => {\n el.disabled = true;\n });\n\n expect(withActions.offsetHeight).to.equal(readonlyRow.offsetHeight);\n expect(withActions.offsetHeight).to.equal(disabledRow.offsetHeight);\n });\n\n it('renders no actions when readonly', async () => {\n const el = await make();\n el.readonly = true;\n await el.updateComplete;\n expect(el.shadowRoot!.querySelector('[part=\"actions\"]')).to.not.exist;\n expect(el.shadowRoot!.querySelectorAll('nile-button').length).to.equal(0);\n });\n\n it('renders no actions when disabled', async () => {\n const el = await make();\n el.disabled = true;\n await el.updateComplete;\n expect(el.shadowRoot!.querySelector('[part=\"actions\"]')).to.not.exist;\n });\n\n it('renders Now and Edit when editable', async () => {\n const el = await make();\n await el.updateComplete;\n expect(el.shadowRoot!.querySelector('[part=\"actions\"]')).to.exist;\n expect(el.shadowRoot!.querySelectorAll('nile-button').length).to.equal(2);\n });\n\n it('marks the readonly display as focusable and aria-readonly', async () => {\n const el = await make();\n el.readonly = true;\n await el.updateComplete;\n const display = el.shadowRoot!.querySelector('.tsb__display')!;\n expect(display.getAttribute('tabindex')).to.equal('0');\n expect(display.getAttribute('aria-readonly')).to.equal('true');\n });\n\n it('drops the display from the tab order when disabled', async () => {\n const el = await make();\n el.disabled = true;\n await el.updateComplete;\n const display = el.shadowRoot!.querySelector('.tsb__display')!;\n expect(display.hasAttribute('tabindex')).to.be.false;\n });\n\n it('emits nile-expand / nile-collapse', async () => {\n const el = await make();\n setTimeout(() => (el as any).handleEdit());\n const expandEvt = await oneEvent(el, 'nile-expand');\n expect(expandEvt.detail.open).to.be.true;\n\n setTimeout(() => (el as any).handleDone());\n const collapseEvt = await oneEvent(el, 'nile-collapse');\n expect(collapseEvt.detail.open).to.be.false;\n });\n\n const display = (el: NileTimestampBuilder) =>\n el.shadowRoot!.querySelector('.tsb__display') as HTMLElement;\n\n const tap = (el: NileTimestampBuilder) =>\n display(el).dispatchEvent(\n new PointerEvent('pointerup', {\n pointerType: 'touch',\n bubbles: true,\n composed: true,\n })\n );\n\n it('double-click on the display expands', async () => {\n const el = await make();\n display(el).dispatchEvent(\n new MouseEvent('dblclick', { bubbles: true, composed: true })\n );\n await el.updateComplete;\n expect(el.open).to.be.true;\n });\n\n it('double-tap on the display expands', async () => {\n const el = await make();\n tap(el);\n tap(el);\n await el.updateComplete;\n expect(el.open).to.be.true;\n });\n\n it('a single tap does not expand', async () => {\n const el = await make();\n tap(el);\n await el.updateComplete;\n expect(el.open).to.be.false;\n });\n\n it('two taps further apart than the double-tap window do not expand', async () => {\n const el = await make();\n tap(el);\n (el as any).lastTapAt -= 1000;\n tap(el);\n await el.updateComplete;\n expect(el.open).to.be.false;\n });\n\n it('readonly and disabled ignore double-click and double-tap', async () => {\n for (const flag of ['readonly', 'disabled'] as const) {\n const el = await make();\n el[flag] = true;\n await el.updateComplete;\n\n display(el).dispatchEvent(\n new MouseEvent('dblclick', { bubbles: true, composed: true })\n );\n tap(el);\n tap(el);\n await el.updateComplete;\n expect(el.open, flag).to.be.false;\n }\n });\n });\n\n describe('fields <-> epoch', () => {\n it('derives fields from an external value', async () => {\n const el = await make();\n el.timezone = 'UTC';\n el.value = Date.UTC(2022, 4, 15, 13, 45, 30, 250);\n await el.updateComplete;\n expect(el.wallClock.year).to.equal(2022);\n expect(el.wallClock.month).to.equal(5);\n expect(el.wallClock.day).to.equal(15);\n expect(el.wallClock.hour).to.equal(13);\n expect(el.wallClock.minute).to.equal(45);\n expect(el.wallClock.second).to.equal(30);\n expect(el.wallClock.millisecond).to.equal(250);\n expect(el.hasValue).to.be.true;\n });\n\n it('field change payload is coerced to a Number', async () => {\n const el = await make();\n el.timezone = 'UTC';\n (el as any).handleEdit();\n await el.updateComplete;\n changeField(el, FIELD.hour, 9);\n await el.updateComplete;\n expect(el.wallClock.hour).to.equal(9);\n expect(el.wallClock.hour).to.be.a('number');\n // Field edits stage only; commit via Done before checking the value.\n (el as any).handleDone();\n await el.updateComplete;\n expect(el.value).to.be.an.instanceOf(Date);\n });\n\n it('round trips fields to epoch and back', async () => {\n const el = await make();\n el.timezone = 'UTC';\n const epoch = Date.UTC(2021, 5, 15, 12, 30, 45, 123);\n el.value = epoch;\n await el.updateComplete;\n (el as any).handleEdit();\n await el.updateComplete;\n // Re-stage the same field, then commit; epoch must be preserved.\n changeField(el, FIELD.second, 45);\n await el.updateComplete;\n (el as any).handleDone();\n await el.updateComplete;\n expect(el.value?.getTime()).to.equal(epoch);\n });\n });\n\n describe('clamping', () => {\n async function seeded() {\n const el = await make();\n el.timezone = 'UTC';\n el.value = Date.UTC(2023, 0, 15, 10, 0, 0, 0);\n await el.updateComplete;\n (el as any).handleEdit();\n await el.updateComplete;\n return el;\n }\n\n it('clamps month to 1-12', async () => {\n const el = await seeded();\n changeField(el, FIELD.month, 13);\n await el.updateComplete;\n expect(el.wallClock.month).to.equal(12);\n });\n\n it('clamps day to leap-aware month length', async () => {\n const el = await seeded();\n el.value = Date.UTC(2024, 1, 10, 0, 0, 0, 0); // Feb 2024 (leap)\n await el.updateComplete;\n changeField(el, FIELD.day, 30);\n await el.updateComplete;\n expect(el.wallClock.day).to.equal(29);\n });\n\n it('clamps day for a non-leap February', async () => {\n const el = await seeded();\n el.value = Date.UTC(2023, 1, 10, 0, 0, 0, 0); // Feb 2023\n await el.updateComplete;\n changeField(el, FIELD.day, 31);\n await el.updateComplete;\n expect(el.wallClock.day).to.equal(28);\n });\n\n it('clamps hour/minute/second/ms', async () => {\n const el = await seeded();\n changeField(el, FIELD.hour, 30);\n changeField(el, FIELD.minute, 99);\n changeField(el, FIELD.second, 61);\n changeField(el, FIELD.millisecond, 1500);\n await el.updateComplete;\n expect(el.wallClock.hour).to.equal(23);\n expect(el.wallClock.minute).to.equal(59);\n expect(el.wallClock.second).to.equal(59);\n expect(el.wallClock.millisecond).to.equal(999);\n });\n\n it('clamps year to min/max', async () => {\n const el = await seeded();\n el.minYear = 2000;\n el.maxYear = 2030;\n await el.updateComplete;\n changeField(el, FIELD.year, 3000);\n await el.updateComplete;\n expect(el.wallClock.year).to.equal(2030);\n changeField(el, FIELD.year, 1000);\n await el.updateComplete;\n expect(el.wallClock.year).to.equal(2000);\n });\n\n it('recaps day when switching to a shorter month', async () => {\n const el = await seeded();\n changeField(el, FIELD.day, 31); // January has 31 days\n await el.updateComplete;\n expect(el.wallClock.day).to.equal(31);\n changeField(el, FIELD.month, 4); // April has 30\n await el.updateComplete;\n expect(el.wallClock.day).to.equal(30);\n });\n });\n\n describe('timezone behaviour', () => {\n it('switching timezone keeps fields and changes epoch', async () => {\n const el = await make();\n el.timezone = 'UTC';\n el.value = Date.UTC(2022, 0, 1, 12, 0, 0, 0);\n await el.updateComplete;\n const before = {\n y: el.wallClock.year,\n mo: el.wallClock.month,\n d: el.wallClock.day,\n h: el.wallClock.hour,\n epoch: el.value?.getTime(),\n };\n\n const select = el.shadowRoot!.querySelector('nile-select');\n // ensure select exists (expanded not required for handler)\n (el as any).open = true;\n await el.updateComplete;\n const tzSelect = el.shadowRoot!.querySelector('nile-select')!;\n tzSelect.dispatchEvent(\n new CustomEvent('nile-change', {\n detail: { value: 'Asia/Kolkata' },\n bubbles: true,\n composed: true,\n })\n );\n await el.updateComplete;\n // Timezone selection stages only — commit via Done to see the new epoch.\n (el as any).handleDone();\n await el.updateComplete;\n\n expect(select || tzSelect).to.exist;\n expect(el.wallClock.year).to.equal(before.y);\n expect(el.wallClock.month).to.equal(before.mo);\n expect(el.wallClock.day).to.equal(before.d);\n expect(el.wallClock.hour).to.equal(before.h);\n expect(el.value?.getTime()).to.not.equal(before.epoch);\n });\n\n it('Use UTC sets timezone to UTC and keeps fields', async () => {\n const el = await make();\n el.timezone = 'Asia/Kolkata';\n el.value = Date.now();\n await el.updateComplete;\n const y = el.wallClock.year;\n (el as any).handleUseUtc();\n await el.updateComplete;\n expect(el.timezone).to.equal('UTC');\n expect(el.wallClock.year).to.equal(y);\n });\n\n it('Use Local Timezone sets a valid tz', async () => {\n const el = await make();\n el.timezone = 'UTC';\n el.value = Date.now();\n await el.updateComplete;\n (el as any).handleUseLocalTz();\n await el.updateComplete;\n expect(isValidTimeZone(el.timezone)).to.be.true;\n });\n });\n\n describe('set to now', () => {\n it('sets value near Date.now() and emits nile-change', async () => {\n const el = await make();\n setTimeout(() => (el as any).handleSetNow());\n const evt = await oneEvent(el, 'nile-change');\n // Emitted detail matches the date-time picker contract: a zone-encoded\n // string value plus the absolute instant as a Date.\n expect(evt.detail.value).to.be.a('string');\n expect(evt.detail.value).to.match(/^\\d{4}-\\d{2}-\\d{2}T.*\\[GMT[+-]\\d{2}:\\d{2} .+\\]$/);\n expect(evt.detail.localTimezoneValue).to.be.an.instanceOf(Date);\n expect(evt.detail.timezone).to.be.a('string');\n expect(Math.abs(el.value!.getTime() - Date.now())).to.be.lessThan(5000);\n expect(el.hasValue).to.be.true;\n });\n });\n\n describe('emit contract (date-time picker parity)', () => {\n it('emits a zone-encoded value string carrying the selected offset + zone, only on Done', async () => {\n const el = await make();\n el.timezone = 'Asia/Yerevan'; // UTC+4, no DST\n el.value = Date.UTC(2030, 3, 7, 17, 8, 56, 892); // 21:08:56.892 wall-clock\n (el as any).open = true; // fields only render in the expanded view\n await el.updateComplete;\n\n // Editing a field only stages it — no nile-change until Done.\n let changeFired = false;\n el.addEventListener('nile-change', () => (changeFired = true));\n changeField(el, FIELD.second, 56); // same value; re-stages the field\n await el.updateComplete;\n expect(changeFired).to.be.false;\n\n const listener = oneEvent(el, 'nile-change');\n (el as any).handleDone();\n const evt = await listener;\n\n expect(evt.detail.value).to.equal(\n '2030-04-07T21:08:56.892[GMT+04:00 Asia/Yerevan]'\n );\n expect(evt.detail.localTimezoneValue).to.be.an.instanceOf(Date);\n // localTimezoneValue is the absolute instant behind the wall-clock, and it\n // must agree exactly with the epoch — no roundtrip drift.\n expect((evt.detail.localTimezoneValue as Date).getTime()).to.equal(\n Date.UTC(2030, 3, 7, 17, 8, 56, 892)\n );\n expect(el.value?.getTime()).to.equal(Date.UTC(2030, 3, 7, 17, 8, 56, 892));\n expect(evt.detail.timezone).to.equal('Asia/Yerevan');\n });\n\n it('labels a UTC value as [GMT+00:00 UTC]', async () => {\n const el = await make();\n el.timezone = 'UTC';\n el.value = Date.UTC(2030, 3, 7, 17, 8, 56, 892);\n (el as any).open = true;\n await el.updateComplete;\n\n changeField(el, FIELD.second, 56);\n await el.updateComplete;\n\n const listener = oneEvent(el, 'nile-change');\n (el as any).handleDone();\n const evt = await listener;\n\n expect(evt.detail.value).to.equal(\n '2030-04-07T17:08:56.892[GMT+00:00 UTC]'\n );\n });\n\n it('selecting a timezone stages only — no nile-change until Done', async () => {\n const el = await make();\n el.timezone = 'UTC';\n el.value = Date.UTC(2022, 0, 1, 12, 0, 0, 0);\n (el as any).open = true;\n await el.updateComplete;\n\n let changeFired = false;\n el.addEventListener('nile-change', () => (changeFired = true));\n\n const tzSelect = el.shadowRoot!.querySelector('nile-select')!;\n tzSelect.dispatchEvent(\n new CustomEvent('nile-change', {\n detail: { value: 'Asia/Kolkata' },\n bubbles: true,\n composed: true,\n })\n );\n await el.updateComplete;\n\n expect(el.timezone).to.equal('Asia/Kolkata');\n expect(changeFired).to.be.false;\n expect(el.value?.getTime()).to.equal(Date.UTC(2022, 0, 1, 12, 0, 0, 0)); // unchanged\n\n const listener = oneEvent(el, 'nile-change');\n (el as any).handleDone();\n const evt = await listener;\n expect(evt.detail.timezone).to.equal('Asia/Kolkata');\n expect(el.value?.getTime()).to.not.equal(Date.UTC(2022, 0, 1, 12, 0, 0, 0));\n });\n\n it('field edits emit live nile-input without committing', async () => {\n const el = await make();\n el.timezone = 'UTC';\n el.value = Date.UTC(2022, 0, 1, 12, 0, 0, 0);\n (el as any).open = true;\n await el.updateComplete;\n\n const listener = oneEvent(el, 'nile-input');\n changeField(el, FIELD.hour, 9);\n const evt = await listener;\n\n expect(evt.detail.value).to.be.a('string');\n expect(evt.detail.localTimezoneValue).to.be.an.instanceOf(Date);\n // The stored value has NOT committed yet.\n expect(el.value?.getTime()).to.equal(Date.UTC(2022, 0, 1, 12, 0, 0, 0));\n });\n });\n\n describe('value accepts Date, number, or string, stores a Date', () => {\n it('accepts an ISO string via property assignment', async () => {\n const el = await make();\n el.value = '2026-07-15T00:00:00.000Z';\n await el.updateComplete;\n expect(el.value?.getTime()).to.equal(Date.UTC(2026, 6, 15, 0, 0, 0, 0));\n });\n\n it('accepts a numeric string via property assignment', async () => {\n const el = await make();\n const epoch = Date.UTC(2026, 6, 15, 0, 0, 0, 0);\n el.value = String(epoch);\n await el.updateComplete;\n expect(el.value?.getTime()).to.equal(epoch);\n });\n\n it('accepts a Date via property assignment', async () => {\n const el = await make();\n const date = new Date(Date.UTC(2026, 6, 15, 0, 0, 0, 0));\n el.value = date;\n await el.updateComplete;\n expect(el.value).to.be.an.instanceOf(Date);\n expect(el.value?.getTime()).to.equal(date.getTime());\n });\n\n it('accepts an ISO string via the value attribute', async () => {\n const el = await fixture<NileTimestampBuilder>(\n html`<nile-timestamp-builder\n value=\"2026-07-15T00:00:00.000Z\"\n ></nile-timestamp-builder>`\n );\n expect(el.value?.getTime()).to.equal(Date.UTC(2026, 6, 15, 0, 0, 0, 0));\n });\n\n it('collapses an unparseable string to null', async () => {\n const el = await make();\n el.value = 'not-a-date';\n await el.updateComplete;\n expect(el.value).to.equal(null);\n });\n\n it('collapses an empty string to null', async () => {\n const el = await make();\n el.value = Date.now();\n await el.updateComplete;\n el.value = '';\n await el.updateComplete;\n expect(el.value).to.equal(null);\n });\n });\n\n describe('empty-expand seeding', () => {\n it('seeds fields on Edit but does NOT emit until Done', async () => {\n const el = await make();\n let emitted = false;\n el.addEventListener('nile-change', () => (emitted = true));\n\n (el as any).handleEdit();\n await el.updateComplete;\n\n expect(el.value).to.equal(null);\n expect(el.hasValue).to.be.false;\n expect(el.wallClock.year).to.be.greaterThan(1970);\n expect(emitted).to.be.false;\n\n (el as any).handleDone();\n await el.updateComplete;\n expect(emitted).to.be.true;\n expect(el.value).to.be.an.instanceOf(Date);\n expect(el.hasValue).to.be.true;\n });\n });\n\n describe('external value = null clears', () => {\n it('clears state when value set back to null', async () => {\n const el = await make();\n el.timezone = 'UTC';\n el.value = Date.now();\n await el.updateComplete;\n expect(el.hasValue).to.be.true;\n\n el.value = null;\n await el.updateComplete;\n expect(el.hasValue).to.be.false;\n const hidden =\n el.shadowRoot!.querySelector<HTMLInputElement>('.value-input')!;\n expect(hidden.value).to.equal('');\n });\n });\n\n describe('form association', () => {\n it('FormData contains name -> ISO string', async () => {\n const epoch = Date.UTC(2020, 0, 1, 0, 0, 0, 0);\n const form = await fixture<HTMLFormElement>(html`\n <form>\n <nile-timestamp-builder\n name=\"ts\"\n .value=${epoch}\n ></nile-timestamp-builder>\n </form>\n `);\n const el = form.querySelector<NileTimestampBuilder>(\n 'nile-timestamp-builder'\n )!;\n await el.updateComplete;\n const data = new FormData(form);\n expect(data.get('ts')).to.equal(new Date(epoch).toISOString());\n });\n\n it('required + null is invalid', async () => {\n const el = await make();\n el.required = true;\n el.value = null;\n await el.updateComplete;\n expect(el.checkValidity()).to.be.false;\n });\n\n it('required + value is valid', async () => {\n const el = await make();\n el.required = true;\n el.value = Date.now();\n await el.updateComplete;\n expect(el.checkValidity()).to.be.true;\n });\n\n it('disabled control is excluded from FormData', async () => {\n const epoch = Date.UTC(2020, 0, 1, 0, 0, 0, 0);\n const form = await fixture<HTMLFormElement>(html`\n <form>\n <nile-timestamp-builder\n name=\"ts\"\n disabled\n .value=${epoch}\n ></nile-timestamp-builder>\n </form>\n `);\n const el = form.querySelector<NileTimestampBuilder>(\n 'nile-timestamp-builder'\n )!;\n await el.updateComplete;\n const data = new FormData(form);\n expect(data.get('ts')).to.equal(null);\n });\n\n it('reset restores the default value', async () => {\n const form = await fixture<HTMLFormElement>(html`\n <form>\n <nile-timestamp-builder\n name=\"ts\"\n value=\"1000\"\n ></nile-timestamp-builder>\n </form>\n `);\n const el = form.querySelector<NileTimestampBuilder>(\n 'nile-timestamp-builder'\n )!;\n await el.updateComplete;\n el.value = 5000;\n await el.updateComplete;\n form.reset();\n await el.updateComplete;\n expect(el.value?.getTime()).to.equal(1000);\n });\n });\n\n describe('robustness', () => {\n it('falls back to a valid tz when given junk', async () => {\n const el = await fixture<NileTimestampBuilder>(\n html`<nile-timestamp-builder\n timezone=\"Not/ARealZone\"\n ></nile-timestamp-builder>`\n );\n await el.updateComplete;\n expect(isValidTimeZone(el.timezone)).to.be.true;\n });\n });\n});\n\ndescribe('nile-timestamp-builder utils', () => {\n it('daysInMonth is leap-aware', () => {\n expect(daysInMonth(2024, 2)).to.equal(29);\n expect(daysInMonth(2023, 2)).to.equal(28);\n expect(daysInMonth(2024, 4)).to.equal(30);\n expect(daysInMonth(2024, 1)).to.equal(31);\n expect(daysInMonth(2024, 12)).to.equal(31);\n });\n\n it('clampField collapses NaN to min', () => {\n expect(clampField(NaN, 0, 10)).to.equal(0);\n expect(clampField(5, 0, 10)).to.equal(5);\n expect(clampField(-3, 0, 10)).to.equal(0);\n expect(clampField(99, 0, 10)).to.equal(10);\n });\n\n it('clampWallClock caps day using year+month', () => {\n const clamped = clampWallClock(\n {\n year: 2023,\n month: 2,\n day: 31,\n hour: 25,\n minute: 61,\n second: 61,\n millisecond: 1001,\n },\n 1,\n 9999\n );\n expect(clamped.day).to.equal(28);\n expect(clamped.hour).to.equal(23);\n expect(clamped.minute).to.equal(59);\n expect(clamped.second).to.equal(59);\n expect(clamped.millisecond).to.equal(999);\n });\n\n it('getTimezoneList is non-empty', () => {\n expect(getTimezoneList().length).to.be.greaterThan(0);\n });\n\n it('getLocalTimeZone is valid', () => {\n expect(isValidTimeZone(getLocalTimeZone())).to.be.true;\n });\n\n it('isValidTimeZone', () => {\n expect(isValidTimeZone('UTC')).to.be.true;\n expect(isValidTimeZone('America/New_York')).to.be.true;\n expect(isValidTimeZone('Not/AZone')).to.be.false;\n expect(isValidTimeZone('')).to.be.false;\n });\n\n it('hasTemporal returns a boolean', () => {\n expect(hasTemporal()).to.be.a('boolean');\n });\n\n describe('normalizeValueInput', () => {\n it('converts a number to a Date at that instant', () => {\n const result = normalizeValueInput(1712500000000);\n expect(result).to.be.an.instanceOf(Date);\n expect(result?.getTime()).to.equal(1712500000000);\n });\n\n it('parses a numeric string as a Date at that epoch ms', () => {\n expect(normalizeValueInput('1712500000000')?.getTime()).to.equal(\n 1712500000000\n );\n });\n\n it('parses an ISO string as a Date', () => {\n expect(normalizeValueInput('2026-07-15T00:00:00.000Z')?.getTime()).to.equal(\n Date.UTC(2026, 6, 15, 0, 0, 0, 0)\n );\n });\n\n it('passes a Date through unchanged', () => {\n const d = new Date(1712500000000);\n expect(normalizeValueInput(d)).to.equal(d);\n });\n\n it('collapses null, undefined, empty string, and NaN to null', () => {\n expect(normalizeValueInput(null)).to.equal(null);\n expect(normalizeValueInput(undefined)).to.equal(null);\n expect(normalizeValueInput('')).to.equal(null);\n expect(normalizeValueInput(' ')).to.equal(null);\n expect(normalizeValueInput(NaN)).to.equal(null);\n });\n\n it('collapses an unparseable string to null', () => {\n expect(normalizeValueInput('not-a-date')).to.equal(null);\n });\n });\n\n describe('parseZonedValue offset/timezone consistency', () => {\n it('accepts an offset that matches the zone at that instant', () => {\n const parsed = parseZonedValue('2026-08-04T12:00:00[GMT+02:00 Europe/Paris]');\n expect(parsed).to.not.equal(null);\n expect(parsed!.timezone).to.equal('Europe/Paris');\n // 12:00 at +02:00 is 10:00Z — the wall-clock the string displays.\n expect(parsed!.date.getTime()).to.equal(Date.UTC(2026, 7, 4, 10, 0, 0, 0));\n });\n\n it('rejects a stale offset that contradicts the zone', () => {\n // Paris is +02:00 in August. Accepting +01:00 would resolve to 11:00Z and\n // silently render as 13:00 Paris — an hour away from the 12:00 shown.\n expect(\n parseZonedValue('2026-08-04T12:00:00[GMT+01:00 Europe/Paris]')\n ).to.equal(null);\n });\n\n it('accepts both offsets of a DST fall-back, preserving the distinct instants', () => {\n // 2026-11-01 01:30 occurs twice in New York; only the offset separates them.\n const first = parseZonedValue(\n '2026-11-01T01:30:00[GMT-04:00 America/New_York]'\n );\n const second = parseZonedValue(\n '2026-11-01T01:30:00[GMT-05:00 America/New_York]'\n );\n expect(first).to.not.equal(null);\n expect(second).to.not.equal(null);\n expect(first!.date.getTime()).to.equal(Date.UTC(2026, 10, 1, 5, 30, 0, 0));\n expect(second!.date.getTime()).to.equal(Date.UTC(2026, 10, 1, 6, 30, 0, 0));\n expect(first!.date.getTime()).to.not.equal(second!.date.getTime());\n });\n\n it('rejects a nonexistent spring-forward local time under either offset', () => {\n // New York jumps 02:00 -> 03:00 on 2026-03-08, so 02:30 never occurs.\n expect(\n parseZonedValue('2026-03-08T02:30:00[GMT-05:00 America/New_York]')\n ).to.equal(null);\n expect(\n parseZonedValue('2026-03-08T02:30:00[GMT-04:00 America/New_York]')\n ).to.equal(null);\n });\n\n it('rejects an unknown timezone identifier without throwing', () => {\n expect(\n parseZonedValue('2026-08-04T12:00:00[GMT+02:00 Not/AZone]')\n ).to.equal(null);\n });\n\n it('round-trips the values emitted by formatZonedValue', () => {\n const yerevan = parseZonedValue(\n '2030-04-07T21:08:56.892[GMT+04:00 Asia/Yerevan]'\n );\n expect(yerevan?.date.getTime()).to.equal(\n Date.UTC(2030, 3, 7, 17, 8, 56, 892)\n );\n const utc = parseZonedValue('2030-04-07T17:08:56.892[GMT+00:00 UTC]');\n expect(utc?.date.getTime()).to.equal(Date.UTC(2030, 3, 7, 17, 8, 56, 892));\n });\n });\n\n it('formatWallClock pads correctly', () => {\n expect(\n formatWallClock({\n year: 5,\n month: 3,\n day: 7,\n hour: 8,\n minute: 9,\n second: 1,\n millisecond: 42,\n })\n ).to.equal('0005-03-07 08:09:01.042');\n });\n\n it('round-trips across multiple zones', () => {\n const epoch = Date.UTC(2021, 5, 15, 12, 30, 45, 123);\n for (const tz of [\n 'UTC',\n 'America/New_York',\n 'Asia/Kolkata',\n 'Asia/Kathmandu',\n ]) {\n const w = epochToFields(epoch, tz);\n expect(fieldsToEpoch(w, tz)).to.equal(epoch);\n }\n });\n\n it('resolves DST gaps/overlaps deterministically', () => {\n // Spring-forward gap in US Eastern (2021-03-14 02:30 does not exist).\n const gap = {\n year: 2021,\n month: 3,\n day: 14,\n hour: 2,\n minute: 30,\n second: 0,\n millisecond: 0,\n };\n const a = fieldsToEpoch(gap, 'America/New_York');\n const b = fieldsToEpoch(gap, 'America/New_York');\n expect(a).to.equal(b);\n expect(Number.isFinite(a)).to.be.true;\n\n // Fall-back overlap (2021-11-07 01:30 occurs twice).\n const overlap = { ...gap, month: 11, day: 7, hour: 1 };\n const c = fieldsToEpoch(overlap, 'America/New_York');\n expect(fieldsToEpoch(overlap, 'America/New_York')).to.equal(c);\n expect(Number.isFinite(c)).to.be.true;\n });\n\n it('epochToFields agrees with a known UTC instant', () => {\n const w = epochToFields(Date.UTC(1999, 11, 31, 23, 59, 59, 999), 'UTC');\n expect(w).to.deep.equal({\n year: 1999,\n month: 12,\n day: 31,\n hour: 23,\n minute: 59,\n second: 59,\n millisecond: 999,\n });\n });\n});\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2026
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
/** Bundled IANA timezone identifiers used as the offline fallback */
|
|
8
|
+
export declare const TIMEZONES: string[];
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2026
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
/** Bundled IANA timezone identifiers used as the offline fallback */
|
|
8
|
+
export const TIMEZONES = [
|
|
9
|
+
'Europe/Andorra',
|
|
10
|
+
'Asia/Dubai',
|
|
11
|
+
'Asia/Kabul',
|
|
12
|
+
'Europe/Tirane',
|
|
13
|
+
'Asia/Yerevan',
|
|
14
|
+
'Antarctica/Casey',
|
|
15
|
+
'Antarctica/Davis',
|
|
16
|
+
'Antarctica/DumontDUrville',
|
|
17
|
+
'Antarctica/Mawson',
|
|
18
|
+
'Antarctica/Palmer',
|
|
19
|
+
'Antarctica/Rothera',
|
|
20
|
+
'Antarctica/Syowa',
|
|
21
|
+
'Antarctica/Troll',
|
|
22
|
+
'Antarctica/Vostok',
|
|
23
|
+
'America/Argentina/Buenos_Aires',
|
|
24
|
+
'America/Argentina/Cordoba',
|
|
25
|
+
'America/Argentina/Salta',
|
|
26
|
+
'America/Argentina/Jujuy',
|
|
27
|
+
'America/Argentina/Tucuman',
|
|
28
|
+
'America/Argentina/Catamarca',
|
|
29
|
+
'America/Argentina/La_Rioja',
|
|
30
|
+
'America/Argentina/San_Juan',
|
|
31
|
+
'America/Argentina/Mendoza',
|
|
32
|
+
'America/Argentina/San_Luis',
|
|
33
|
+
'America/Argentina/Rio_Gallegos',
|
|
34
|
+
'America/Argentina/Ushuaia',
|
|
35
|
+
'Pacific/Pago_Pago',
|
|
36
|
+
'Europe/Vienna',
|
|
37
|
+
'Australia/Lord_Howe',
|
|
38
|
+
'Antarctica/Macquarie',
|
|
39
|
+
'Australia/Hobart',
|
|
40
|
+
'Australia/Currie',
|
|
41
|
+
'Australia/Melbourne',
|
|
42
|
+
'Australia/Sydney',
|
|
43
|
+
'Australia/Broken_Hill',
|
|
44
|
+
'Australia/Brisbane',
|
|
45
|
+
'Australia/Lindeman',
|
|
46
|
+
'Australia/Adelaide',
|
|
47
|
+
'Australia/Darwin',
|
|
48
|
+
'Australia/Perth',
|
|
49
|
+
'Australia/Eucla',
|
|
50
|
+
'Asia/Baku',
|
|
51
|
+
'America/Barbados',
|
|
52
|
+
'Asia/Dhaka',
|
|
53
|
+
'Europe/Brussels',
|
|
54
|
+
'Europe/Sofia',
|
|
55
|
+
'Atlantic/Bermuda',
|
|
56
|
+
'Asia/Brunei',
|
|
57
|
+
'America/La_Paz',
|
|
58
|
+
'America/Noronha',
|
|
59
|
+
'America/Belem',
|
|
60
|
+
'America/Fortaleza',
|
|
61
|
+
'America/Recife',
|
|
62
|
+
'America/Araguaina',
|
|
63
|
+
'America/Maceio',
|
|
64
|
+
'America/Bahia',
|
|
65
|
+
'America/Sao_Paulo',
|
|
66
|
+
'America/Campo_Grande',
|
|
67
|
+
'America/Cuiaba',
|
|
68
|
+
'America/Santarem',
|
|
69
|
+
'America/Porto_Velho',
|
|
70
|
+
'America/Boa_Vista',
|
|
71
|
+
'America/Manaus',
|
|
72
|
+
'America/Eirunepe',
|
|
73
|
+
'America/Rio_Branco',
|
|
74
|
+
'America/Nassau',
|
|
75
|
+
'Asia/Thimphu',
|
|
76
|
+
'Europe/Minsk',
|
|
77
|
+
'America/Belize',
|
|
78
|
+
'America/St_Johns',
|
|
79
|
+
'America/Halifax',
|
|
80
|
+
'America/Glace_Bay',
|
|
81
|
+
'America/Moncton',
|
|
82
|
+
'America/Goose_Bay',
|
|
83
|
+
'America/Blanc-Sablon',
|
|
84
|
+
'America/Toronto',
|
|
85
|
+
'America/Nipigon',
|
|
86
|
+
'America/Thunder_Bay',
|
|
87
|
+
'America/Iqaluit',
|
|
88
|
+
'America/Pangnirtung',
|
|
89
|
+
'America/Atikokan',
|
|
90
|
+
'America/Winnipeg',
|
|
91
|
+
'America/Rainy_River',
|
|
92
|
+
'America/Resolute',
|
|
93
|
+
'America/Rankin_Inlet',
|
|
94
|
+
'America/Regina',
|
|
95
|
+
'America/Swift_Current',
|
|
96
|
+
'America/Edmonton',
|
|
97
|
+
'America/Cambridge_Bay',
|
|
98
|
+
'America/Yellowknife',
|
|
99
|
+
'America/Inuvik',
|
|
100
|
+
'America/Creston',
|
|
101
|
+
'America/Dawson_Creek',
|
|
102
|
+
'America/Fort_Nelson',
|
|
103
|
+
'America/Vancouver',
|
|
104
|
+
'America/Whitehorse',
|
|
105
|
+
'America/Dawson',
|
|
106
|
+
'Indian/Cocos',
|
|
107
|
+
'Europe/Zurich',
|
|
108
|
+
'Africa/Abidjan',
|
|
109
|
+
'Pacific/Rarotonga',
|
|
110
|
+
'America/Santiago',
|
|
111
|
+
'America/Punta_Arenas',
|
|
112
|
+
'Pacific/Easter',
|
|
113
|
+
'Asia/Shanghai',
|
|
114
|
+
'Asia/Urumqi',
|
|
115
|
+
'America/Bogota',
|
|
116
|
+
'America/Costa_Rica',
|
|
117
|
+
'America/Havana',
|
|
118
|
+
'Atlantic/Cape_Verde',
|
|
119
|
+
'America/Curacao',
|
|
120
|
+
'Indian/Christmas',
|
|
121
|
+
'Asia/Nicosia',
|
|
122
|
+
'Asia/Famagusta',
|
|
123
|
+
'Europe/Prague',
|
|
124
|
+
'Europe/Berlin',
|
|
125
|
+
'Europe/Copenhagen',
|
|
126
|
+
'America/Santo_Domingo',
|
|
127
|
+
'Africa/Algiers',
|
|
128
|
+
'America/Guayaquil',
|
|
129
|
+
'Pacific/Galapagos',
|
|
130
|
+
'Europe/Tallinn',
|
|
131
|
+
'Africa/Cairo',
|
|
132
|
+
'Africa/El_Aaiun',
|
|
133
|
+
'Europe/Madrid',
|
|
134
|
+
'Africa/Ceuta',
|
|
135
|
+
'Atlantic/Canary',
|
|
136
|
+
'Europe/Helsinki',
|
|
137
|
+
'Pacific/Fiji',
|
|
138
|
+
'Atlantic/Stanley',
|
|
139
|
+
'Pacific/Chuuk',
|
|
140
|
+
'Pacific/Pohnpei',
|
|
141
|
+
'Pacific/Kosrae',
|
|
142
|
+
'Atlantic/Faroe',
|
|
143
|
+
'Europe/Paris',
|
|
144
|
+
'Europe/London',
|
|
145
|
+
'Asia/Tbilisi',
|
|
146
|
+
'America/Cayenne',
|
|
147
|
+
'Africa/Accra',
|
|
148
|
+
'Europe/Gibraltar',
|
|
149
|
+
'America/Godthab',
|
|
150
|
+
'America/Danmarkshavn',
|
|
151
|
+
'America/Scoresbysund',
|
|
152
|
+
'America/Thule',
|
|
153
|
+
'Europe/Athens',
|
|
154
|
+
'Atlantic/South_Georgia',
|
|
155
|
+
'America/Guatemala',
|
|
156
|
+
'Pacific/Guam',
|
|
157
|
+
'Africa/Bissau',
|
|
158
|
+
'America/Guyana',
|
|
159
|
+
'Asia/Hong_Kong',
|
|
160
|
+
'America/Tegucigalpa',
|
|
161
|
+
'America/Port-au-Prince',
|
|
162
|
+
'Europe/Budapest',
|
|
163
|
+
'Asia/Jakarta',
|
|
164
|
+
'Asia/Pontianak',
|
|
165
|
+
'Asia/Makassar',
|
|
166
|
+
'Asia/Jayapura',
|
|
167
|
+
'Europe/Dublin',
|
|
168
|
+
'Asia/Jerusalem',
|
|
169
|
+
'Asia/Kolkata',
|
|
170
|
+
'Indian/Chagos',
|
|
171
|
+
'Asia/Baghdad',
|
|
172
|
+
'Asia/Tehran',
|
|
173
|
+
'Atlantic/Reykjavik',
|
|
174
|
+
'Europe/Rome',
|
|
175
|
+
'America/Jamaica',
|
|
176
|
+
'Asia/Amman',
|
|
177
|
+
'Asia/Tokyo',
|
|
178
|
+
'Africa/Nairobi',
|
|
179
|
+
'Asia/Bishkek',
|
|
180
|
+
'Pacific/Tarawa',
|
|
181
|
+
'Pacific/Enderbury',
|
|
182
|
+
'Pacific/Kiritimati',
|
|
183
|
+
'Asia/Pyongyang',
|
|
184
|
+
'Asia/Seoul',
|
|
185
|
+
'Asia/Almaty',
|
|
186
|
+
'Asia/Qyzylorda',
|
|
187
|
+
'Asia/Qostanay',
|
|
188
|
+
'Asia/Aqtau',
|
|
189
|
+
'Asia/Atyrau',
|
|
190
|
+
'Asia/Oral',
|
|
191
|
+
'Asia/Beirut',
|
|
192
|
+
'Asia/Colombo',
|
|
193
|
+
'Africa/Monrovia',
|
|
194
|
+
'Europe/Vilnius',
|
|
195
|
+
'Europe/Luxembourg',
|
|
196
|
+
'Europe/Riga',
|
|
197
|
+
'Africa/Tripoli',
|
|
198
|
+
'Africa/Casablanca',
|
|
199
|
+
'Europe/Monaco',
|
|
200
|
+
'Europe/Chisinau',
|
|
201
|
+
'Pacific/Majuro',
|
|
202
|
+
'Pacific/Kwajalein',
|
|
203
|
+
'Asia/Yangon',
|
|
204
|
+
'Asia/Ulaanbaatar',
|
|
205
|
+
'Asia/Hovd',
|
|
206
|
+
'Asia/Choibalsan',
|
|
207
|
+
'Asia/Macau',
|
|
208
|
+
'America/Martinique',
|
|
209
|
+
'Europe/Malta',
|
|
210
|
+
'Indian/Mauritius',
|
|
211
|
+
'Indian/Maldives',
|
|
212
|
+
'America/Mexico_City',
|
|
213
|
+
'America/Cancun',
|
|
214
|
+
'America/Merida',
|
|
215
|
+
'America/Monterrey',
|
|
216
|
+
'America/Matamoros',
|
|
217
|
+
'America/Mazatlan',
|
|
218
|
+
'America/Chihuahua',
|
|
219
|
+
'America/Ojinaga',
|
|
220
|
+
'America/Hermosillo',
|
|
221
|
+
'America/Tijuana',
|
|
222
|
+
'America/Bahia_Banderas',
|
|
223
|
+
'Asia/Kuala_Lumpur',
|
|
224
|
+
'Asia/Kuching',
|
|
225
|
+
'Africa/Maputo',
|
|
226
|
+
'Africa/Windhoek',
|
|
227
|
+
'Pacific/Noumea',
|
|
228
|
+
'Pacific/Norfolk',
|
|
229
|
+
'Africa/Lagos',
|
|
230
|
+
'America/Managua',
|
|
231
|
+
'Europe/Amsterdam',
|
|
232
|
+
'Europe/Oslo',
|
|
233
|
+
'Asia/Kathmandu',
|
|
234
|
+
'Pacific/Nauru',
|
|
235
|
+
'Pacific/Niue',
|
|
236
|
+
'Pacific/Auckland',
|
|
237
|
+
'Pacific/Chatham',
|
|
238
|
+
'America/Panama',
|
|
239
|
+
'America/Lima',
|
|
240
|
+
'Pacific/Tahiti',
|
|
241
|
+
'Pacific/Marquesas',
|
|
242
|
+
'Pacific/Gambier',
|
|
243
|
+
'Pacific/Port_Moresby',
|
|
244
|
+
'Pacific/Bougainville',
|
|
245
|
+
'Asia/Manila',
|
|
246
|
+
'Asia/Karachi',
|
|
247
|
+
'Europe/Warsaw',
|
|
248
|
+
'America/Miquelon',
|
|
249
|
+
'Pacific/Pitcairn',
|
|
250
|
+
'America/Puerto_Rico',
|
|
251
|
+
'Asia/Gaza',
|
|
252
|
+
'Asia/Hebron',
|
|
253
|
+
'Europe/Lisbon',
|
|
254
|
+
'Atlantic/Madeira',
|
|
255
|
+
'Atlantic/Azores',
|
|
256
|
+
'Pacific/Palau',
|
|
257
|
+
'America/Asuncion',
|
|
258
|
+
'Asia/Qatar',
|
|
259
|
+
'Indian/Reunion',
|
|
260
|
+
'Europe/Bucharest',
|
|
261
|
+
'Europe/Belgrade',
|
|
262
|
+
'Europe/Kaliningrad',
|
|
263
|
+
'Europe/Moscow',
|
|
264
|
+
'Europe/Simferopol',
|
|
265
|
+
'Europe/Kirov',
|
|
266
|
+
'Europe/Astrakhan',
|
|
267
|
+
'Europe/Volgograd',
|
|
268
|
+
'Europe/Saratov',
|
|
269
|
+
'Europe/Ulyanovsk',
|
|
270
|
+
'Europe/Samara',
|
|
271
|
+
'Asia/Yekaterinburg',
|
|
272
|
+
'Asia/Omsk',
|
|
273
|
+
'Asia/Novosibirsk',
|
|
274
|
+
'Asia/Barnaul',
|
|
275
|
+
'Asia/Tomsk',
|
|
276
|
+
'Asia/Novokuznetsk',
|
|
277
|
+
'Asia/Krasnoyarsk',
|
|
278
|
+
'Asia/Irkutsk',
|
|
279
|
+
'Asia/Chita',
|
|
280
|
+
'Asia/Yakutsk',
|
|
281
|
+
'Asia/Khandyga',
|
|
282
|
+
'Asia/Vladivostok',
|
|
283
|
+
'Asia/Ust-Nera',
|
|
284
|
+
'Asia/Magadan',
|
|
285
|
+
'Asia/Sakhalin',
|
|
286
|
+
'Asia/Srednekolymsk',
|
|
287
|
+
'Asia/Kamchatka',
|
|
288
|
+
'Asia/Anadyr',
|
|
289
|
+
'Asia/Riyadh',
|
|
290
|
+
'Pacific/Guadalcanal',
|
|
291
|
+
'Indian/Mahe',
|
|
292
|
+
'Africa/Khartoum',
|
|
293
|
+
'Europe/Stockholm',
|
|
294
|
+
'Asia/Singapore',
|
|
295
|
+
'America/Paramaribo',
|
|
296
|
+
'Africa/Juba',
|
|
297
|
+
'Africa/Sao_Tome',
|
|
298
|
+
'America/El_Salvador',
|
|
299
|
+
'Asia/Damascus',
|
|
300
|
+
'America/Grand_Turk',
|
|
301
|
+
'Africa/Ndjamena',
|
|
302
|
+
'Indian/Kerguelen',
|
|
303
|
+
'Asia/Bangkok',
|
|
304
|
+
'Asia/Dushanbe',
|
|
305
|
+
'Pacific/Fakaofo',
|
|
306
|
+
'Asia/Dili',
|
|
307
|
+
'Asia/Ashgabat',
|
|
308
|
+
'Africa/Tunis',
|
|
309
|
+
'Pacific/Tongatapu',
|
|
310
|
+
'Europe/Istanbul',
|
|
311
|
+
'America/Port_of_Spain',
|
|
312
|
+
'Pacific/Funafuti',
|
|
313
|
+
'Asia/Taipei',
|
|
314
|
+
'Europe/Kiev',
|
|
315
|
+
'Europe/Uzhgorod',
|
|
316
|
+
'Europe/Zaporozhye',
|
|
317
|
+
'Pacific/Wake',
|
|
318
|
+
'America/New_York',
|
|
319
|
+
'America/Detroit',
|
|
320
|
+
'America/Kentucky/Louisville',
|
|
321
|
+
'America/Kentucky/Monticello',
|
|
322
|
+
'America/Indiana/Indianapolis',
|
|
323
|
+
'America/Indiana/Vincennes',
|
|
324
|
+
'America/Indiana/Winamac',
|
|
325
|
+
'America/Indiana/Marengo',
|
|
326
|
+
'America/Indiana/Petersburg',
|
|
327
|
+
'America/Indiana/Vevay',
|
|
328
|
+
'America/Chicago',
|
|
329
|
+
'America/Indiana/Tell_City',
|
|
330
|
+
'America/Indiana/Knox',
|
|
331
|
+
'America/Menominee',
|
|
332
|
+
'America/North_Dakota/Center',
|
|
333
|
+
'America/North_Dakota/New_Salem',
|
|
334
|
+
'America/North_Dakota/Beulah',
|
|
335
|
+
'America/Denver',
|
|
336
|
+
'America/Boise',
|
|
337
|
+
'America/Phoenix',
|
|
338
|
+
'America/Los_Angeles',
|
|
339
|
+
'America/Anchorage',
|
|
340
|
+
'America/Juneau',
|
|
341
|
+
'America/Sitka',
|
|
342
|
+
'America/Metlakatla',
|
|
343
|
+
'America/Yakutat',
|
|
344
|
+
'America/Nome',
|
|
345
|
+
'America/Adak',
|
|
346
|
+
'Pacific/Honolulu',
|
|
347
|
+
'America/Montevideo',
|
|
348
|
+
'Asia/Samarkand',
|
|
349
|
+
'Asia/Tashkent',
|
|
350
|
+
'America/Caracas',
|
|
351
|
+
'Asia/Ho_Chi_Minh',
|
|
352
|
+
'Pacific/Efate',
|
|
353
|
+
'Pacific/Wallis',
|
|
354
|
+
'Pacific/Apia',
|
|
355
|
+
'Africa/Johannesburg'
|
|
356
|
+
];
|
|
357
|
+
//# sourceMappingURL=timezones.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timezones.js","sourceRoot":"","sources":["../../../src/nile-timestamp-builder/timezones.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2026\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/** Bundled IANA timezone identifiers used as the offline fallback */\nexport const TIMEZONES = [\n 'Europe/Andorra',\n 'Asia/Dubai',\n 'Asia/Kabul',\n 'Europe/Tirane',\n 'Asia/Yerevan',\n 'Antarctica/Casey',\n 'Antarctica/Davis',\n 'Antarctica/DumontDUrville',\n 'Antarctica/Mawson',\n 'Antarctica/Palmer',\n 'Antarctica/Rothera',\n 'Antarctica/Syowa',\n 'Antarctica/Troll',\n 'Antarctica/Vostok',\n 'America/Argentina/Buenos_Aires',\n 'America/Argentina/Cordoba',\n 'America/Argentina/Salta',\n 'America/Argentina/Jujuy',\n 'America/Argentina/Tucuman',\n 'America/Argentina/Catamarca',\n 'America/Argentina/La_Rioja',\n 'America/Argentina/San_Juan',\n 'America/Argentina/Mendoza',\n 'America/Argentina/San_Luis',\n 'America/Argentina/Rio_Gallegos',\n 'America/Argentina/Ushuaia',\n 'Pacific/Pago_Pago',\n 'Europe/Vienna',\n 'Australia/Lord_Howe',\n 'Antarctica/Macquarie',\n 'Australia/Hobart',\n 'Australia/Currie',\n 'Australia/Melbourne',\n 'Australia/Sydney',\n 'Australia/Broken_Hill',\n 'Australia/Brisbane',\n 'Australia/Lindeman',\n 'Australia/Adelaide',\n 'Australia/Darwin',\n 'Australia/Perth',\n 'Australia/Eucla',\n 'Asia/Baku',\n 'America/Barbados',\n 'Asia/Dhaka',\n 'Europe/Brussels',\n 'Europe/Sofia',\n 'Atlantic/Bermuda',\n 'Asia/Brunei',\n 'America/La_Paz',\n 'America/Noronha',\n 'America/Belem',\n 'America/Fortaleza',\n 'America/Recife',\n 'America/Araguaina',\n 'America/Maceio',\n 'America/Bahia',\n 'America/Sao_Paulo',\n 'America/Campo_Grande',\n 'America/Cuiaba',\n 'America/Santarem',\n 'America/Porto_Velho',\n 'America/Boa_Vista',\n 'America/Manaus',\n 'America/Eirunepe',\n 'America/Rio_Branco',\n 'America/Nassau',\n 'Asia/Thimphu',\n 'Europe/Minsk',\n 'America/Belize',\n 'America/St_Johns',\n 'America/Halifax',\n 'America/Glace_Bay',\n 'America/Moncton',\n 'America/Goose_Bay',\n 'America/Blanc-Sablon',\n 'America/Toronto',\n 'America/Nipigon',\n 'America/Thunder_Bay',\n 'America/Iqaluit',\n 'America/Pangnirtung',\n 'America/Atikokan',\n 'America/Winnipeg',\n 'America/Rainy_River',\n 'America/Resolute',\n 'America/Rankin_Inlet',\n 'America/Regina',\n 'America/Swift_Current',\n 'America/Edmonton',\n 'America/Cambridge_Bay',\n 'America/Yellowknife',\n 'America/Inuvik',\n 'America/Creston',\n 'America/Dawson_Creek',\n 'America/Fort_Nelson',\n 'America/Vancouver',\n 'America/Whitehorse',\n 'America/Dawson',\n 'Indian/Cocos',\n 'Europe/Zurich',\n 'Africa/Abidjan',\n 'Pacific/Rarotonga',\n 'America/Santiago',\n 'America/Punta_Arenas',\n 'Pacific/Easter',\n 'Asia/Shanghai',\n 'Asia/Urumqi',\n 'America/Bogota',\n 'America/Costa_Rica',\n 'America/Havana',\n 'Atlantic/Cape_Verde',\n 'America/Curacao',\n 'Indian/Christmas',\n 'Asia/Nicosia',\n 'Asia/Famagusta',\n 'Europe/Prague',\n 'Europe/Berlin',\n 'Europe/Copenhagen',\n 'America/Santo_Domingo',\n 'Africa/Algiers',\n 'America/Guayaquil',\n 'Pacific/Galapagos',\n 'Europe/Tallinn',\n 'Africa/Cairo',\n 'Africa/El_Aaiun',\n 'Europe/Madrid',\n 'Africa/Ceuta',\n 'Atlantic/Canary',\n 'Europe/Helsinki',\n 'Pacific/Fiji',\n 'Atlantic/Stanley',\n 'Pacific/Chuuk',\n 'Pacific/Pohnpei',\n 'Pacific/Kosrae',\n 'Atlantic/Faroe',\n 'Europe/Paris',\n 'Europe/London',\n 'Asia/Tbilisi',\n 'America/Cayenne',\n 'Africa/Accra',\n 'Europe/Gibraltar',\n 'America/Godthab',\n 'America/Danmarkshavn',\n 'America/Scoresbysund',\n 'America/Thule',\n 'Europe/Athens',\n 'Atlantic/South_Georgia',\n 'America/Guatemala',\n 'Pacific/Guam',\n 'Africa/Bissau',\n 'America/Guyana',\n 'Asia/Hong_Kong',\n 'America/Tegucigalpa',\n 'America/Port-au-Prince',\n 'Europe/Budapest',\n 'Asia/Jakarta',\n 'Asia/Pontianak',\n 'Asia/Makassar',\n 'Asia/Jayapura',\n 'Europe/Dublin',\n 'Asia/Jerusalem',\n 'Asia/Kolkata',\n 'Indian/Chagos',\n 'Asia/Baghdad',\n 'Asia/Tehran',\n 'Atlantic/Reykjavik',\n 'Europe/Rome',\n 'America/Jamaica',\n 'Asia/Amman',\n 'Asia/Tokyo',\n 'Africa/Nairobi',\n 'Asia/Bishkek',\n 'Pacific/Tarawa',\n 'Pacific/Enderbury',\n 'Pacific/Kiritimati',\n 'Asia/Pyongyang',\n 'Asia/Seoul',\n 'Asia/Almaty',\n 'Asia/Qyzylorda',\n 'Asia/Qostanay',\n 'Asia/Aqtau',\n 'Asia/Atyrau',\n 'Asia/Oral',\n 'Asia/Beirut',\n 'Asia/Colombo',\n 'Africa/Monrovia',\n 'Europe/Vilnius',\n 'Europe/Luxembourg',\n 'Europe/Riga',\n 'Africa/Tripoli',\n 'Africa/Casablanca',\n 'Europe/Monaco',\n 'Europe/Chisinau',\n 'Pacific/Majuro',\n 'Pacific/Kwajalein',\n 'Asia/Yangon',\n 'Asia/Ulaanbaatar',\n 'Asia/Hovd',\n 'Asia/Choibalsan',\n 'Asia/Macau',\n 'America/Martinique',\n 'Europe/Malta',\n 'Indian/Mauritius',\n 'Indian/Maldives',\n 'America/Mexico_City',\n 'America/Cancun',\n 'America/Merida',\n 'America/Monterrey',\n 'America/Matamoros',\n 'America/Mazatlan',\n 'America/Chihuahua',\n 'America/Ojinaga',\n 'America/Hermosillo',\n 'America/Tijuana',\n 'America/Bahia_Banderas',\n 'Asia/Kuala_Lumpur',\n 'Asia/Kuching',\n 'Africa/Maputo',\n 'Africa/Windhoek',\n 'Pacific/Noumea',\n 'Pacific/Norfolk',\n 'Africa/Lagos',\n 'America/Managua',\n 'Europe/Amsterdam',\n 'Europe/Oslo',\n 'Asia/Kathmandu',\n 'Pacific/Nauru',\n 'Pacific/Niue',\n 'Pacific/Auckland',\n 'Pacific/Chatham',\n 'America/Panama',\n 'America/Lima',\n 'Pacific/Tahiti',\n 'Pacific/Marquesas',\n 'Pacific/Gambier',\n 'Pacific/Port_Moresby',\n 'Pacific/Bougainville',\n 'Asia/Manila',\n 'Asia/Karachi',\n 'Europe/Warsaw',\n 'America/Miquelon',\n 'Pacific/Pitcairn',\n 'America/Puerto_Rico',\n 'Asia/Gaza',\n 'Asia/Hebron',\n 'Europe/Lisbon',\n 'Atlantic/Madeira',\n 'Atlantic/Azores',\n 'Pacific/Palau',\n 'America/Asuncion',\n 'Asia/Qatar',\n 'Indian/Reunion',\n 'Europe/Bucharest',\n 'Europe/Belgrade',\n 'Europe/Kaliningrad',\n 'Europe/Moscow',\n 'Europe/Simferopol',\n 'Europe/Kirov',\n 'Europe/Astrakhan',\n 'Europe/Volgograd',\n 'Europe/Saratov',\n 'Europe/Ulyanovsk',\n 'Europe/Samara',\n 'Asia/Yekaterinburg',\n 'Asia/Omsk',\n 'Asia/Novosibirsk',\n 'Asia/Barnaul',\n 'Asia/Tomsk',\n 'Asia/Novokuznetsk',\n 'Asia/Krasnoyarsk',\n 'Asia/Irkutsk',\n 'Asia/Chita',\n 'Asia/Yakutsk',\n 'Asia/Khandyga',\n 'Asia/Vladivostok',\n 'Asia/Ust-Nera',\n 'Asia/Magadan',\n 'Asia/Sakhalin',\n 'Asia/Srednekolymsk',\n 'Asia/Kamchatka',\n 'Asia/Anadyr',\n 'Asia/Riyadh',\n 'Pacific/Guadalcanal',\n 'Indian/Mahe',\n 'Africa/Khartoum',\n 'Europe/Stockholm',\n 'Asia/Singapore',\n 'America/Paramaribo',\n 'Africa/Juba',\n 'Africa/Sao_Tome',\n 'America/El_Salvador',\n 'Asia/Damascus',\n 'America/Grand_Turk',\n 'Africa/Ndjamena',\n 'Indian/Kerguelen',\n 'Asia/Bangkok',\n 'Asia/Dushanbe',\n 'Pacific/Fakaofo',\n 'Asia/Dili',\n 'Asia/Ashgabat',\n 'Africa/Tunis',\n 'Pacific/Tongatapu',\n 'Europe/Istanbul',\n 'America/Port_of_Spain',\n 'Pacific/Funafuti',\n 'Asia/Taipei',\n 'Europe/Kiev',\n 'Europe/Uzhgorod',\n 'Europe/Zaporozhye',\n 'Pacific/Wake',\n 'America/New_York',\n 'America/Detroit',\n 'America/Kentucky/Louisville',\n 'America/Kentucky/Monticello',\n 'America/Indiana/Indianapolis',\n 'America/Indiana/Vincennes',\n 'America/Indiana/Winamac',\n 'America/Indiana/Marengo',\n 'America/Indiana/Petersburg',\n 'America/Indiana/Vevay',\n 'America/Chicago',\n 'America/Indiana/Tell_City',\n 'America/Indiana/Knox',\n 'America/Menominee',\n 'America/North_Dakota/Center',\n 'America/North_Dakota/New_Salem',\n 'America/North_Dakota/Beulah',\n 'America/Denver',\n 'America/Boise',\n 'America/Phoenix',\n 'America/Los_Angeles',\n 'America/Anchorage',\n 'America/Juneau',\n 'America/Sitka',\n 'America/Metlakatla',\n 'America/Yakutat',\n 'America/Nome',\n 'America/Adak',\n 'Pacific/Honolulu',\n 'America/Montevideo',\n 'Asia/Samarkand',\n 'Asia/Tashkent',\n 'America/Caracas',\n 'Asia/Ho_Chi_Minh',\n 'Pacific/Efate',\n 'Pacific/Wallis',\n 'Pacific/Apia',\n 'Africa/Johannesburg'];\n"]}
|