@ultraviolet/ui 2.0.1 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Alert/index.cjs +10 -8
- package/dist/components/Alert/index.js +10 -8
- package/dist/components/Badge/index.cjs +7 -3
- package/dist/components/Badge/index.js +7 -3
- package/dist/components/Banner/index.cjs +10 -8
- package/dist/components/Banner/index.js +10 -8
- package/dist/components/Button/index.cjs +6 -4
- package/dist/components/Button/index.js +6 -4
- package/dist/components/Chip/index.cjs +10 -4
- package/dist/components/Chip/index.js +10 -4
- package/dist/components/DateInput/components/CalendarDaily.cjs +23 -9
- package/dist/components/DateInput/components/CalendarDaily.js +23 -9
- package/dist/components/DateInput/components/CalendarMonthly.cjs +7 -3
- package/dist/components/DateInput/components/CalendarMonthly.js +7 -3
- package/dist/components/DateInput/index.cjs +29 -11
- package/dist/components/DateInput/index.js +29 -11
- package/dist/components/Drawer/index.cjs +13 -9
- package/dist/components/Drawer/index.js +13 -9
- package/dist/components/Expandable/index.cjs +4 -2
- package/dist/components/Expandable/index.js +4 -2
- package/dist/components/GlobalAlert/index.cjs +5 -3
- package/dist/components/GlobalAlert/index.js +5 -3
- package/dist/components/InfiniteScroll/index.cjs +15 -5
- package/dist/components/InfiniteScroll/index.js +15 -5
- package/dist/components/LineChart/helpers.cjs +15 -5
- package/dist/components/LineChart/helpers.js +15 -5
- package/dist/components/Link/index.cjs +10 -6
- package/dist/components/Link/index.js +10 -6
- package/dist/components/List/ListContext.cjs +2 -4
- package/dist/components/List/ListContext.js +2 -4
- package/dist/components/Menu/MenuContent.cjs +14 -8
- package/dist/components/Menu/MenuContent.js +14 -8
- package/dist/components/Menu/MenuProvider.cjs +3 -1
- package/dist/components/Menu/MenuProvider.js +3 -1
- package/dist/components/Menu/components/Item.cjs +6 -4
- package/dist/components/Menu/components/Item.js +6 -4
- package/dist/components/Modal/ModalProvider.d.ts +2 -2
- package/dist/components/Modal/components/Dialog.cjs +6 -6
- package/dist/components/Modal/components/Dialog.js +6 -6
- package/dist/components/NumberInput/index.cjs +11 -7
- package/dist/components/NumberInput/index.js +11 -7
- package/dist/components/Pagination/index.cjs +3 -1
- package/dist/components/Pagination/index.js +3 -1
- package/dist/components/Popup/index.cjs +16 -12
- package/dist/components/Popup/index.js +16 -12
- package/dist/components/SelectInput/Dropdown.cjs +31 -20
- package/dist/components/SelectInput/Dropdown.d.ts +2 -1
- package/dist/components/SelectInput/Dropdown.js +32 -21
- package/dist/components/SelectInput/SearchBarDropdown.cjs +8 -4
- package/dist/components/SelectInput/SearchBarDropdown.js +8 -4
- package/dist/components/SelectInput/SelectBar.cjs +13 -10
- package/dist/components/SelectInput/SelectBar.d.ts +2 -1
- package/dist/components/SelectInput/SelectBar.js +13 -10
- package/dist/components/SelectInput/SelectInputProvider.cjs +14 -7
- package/dist/components/SelectInput/SelectInputProvider.js +14 -7
- package/dist/components/SelectInput/index.cjs +5 -4
- package/dist/components/SelectInput/index.js +5 -4
- package/dist/components/SelectableCard/index.cjs +18 -16
- package/dist/components/SelectableCard/index.js +18 -16
- package/dist/components/Slider/components/DoubleSlider.cjs +23 -11
- package/dist/components/Slider/components/DoubleSlider.js +23 -11
- package/dist/components/Slider/index.cjs +6 -2
- package/dist/components/Slider/index.js +6 -2
- package/dist/components/Stepper/index.cjs +12 -6
- package/dist/components/Stepper/index.js +12 -6
- package/dist/components/SwitchButton/index.cjs +13 -5
- package/dist/components/SwitchButton/index.js +13 -5
- package/dist/components/Tabs/Tab.cjs +8 -6
- package/dist/components/Tabs/Tab.js +8 -6
- package/dist/components/Tabs/TabMenu.cjs +5 -4
- package/dist/components/Tabs/TabMenu.js +5 -4
- package/dist/components/Tabs/index.cjs +6 -4
- package/dist/components/Tabs/index.js +6 -4
- package/dist/components/TimeInput/helpers.cjs +24 -8
- package/dist/components/TimeInput/helpers.js +24 -8
- package/dist/components/TimeInput/index.cjs +47 -21
- package/dist/components/TimeInput/index.js +47 -21
- package/dist/components/Toggle/index.cjs +23 -31
- package/dist/components/Toggle/index.js +24 -32
- package/dist/components/VerificationCode/index.cjs +13 -8
- package/dist/components/VerificationCode/index.js +13 -8
- package/dist/helpers/recursivelyGetChildrenString.cjs +9 -3
- package/dist/helpers/recursivelyGetChildrenString.js +9 -3
- package/dist/mocks/list.d.ts +2 -2
- package/dist/utils/responsive/utilities.cjs +6 -2
- package/dist/utils/responsive/utilities.js +6 -2
- package/dist/utils/searchAlgorithm.cjs +15 -5
- package/dist/utils/searchAlgorithm.js +15 -5
- package/package.json +7 -7
|
@@ -58,7 +58,7 @@ const TimeInputWrapper = /* @__PURE__ */ _styled__default.default(index.Stack, p
|
|
|
58
58
|
theme
|
|
59
59
|
}) => theme.shadows.focusDanger, ';}&:not([data-disabled="true"]):not([data-readonly="true"]):hover{border-color:', ({
|
|
60
60
|
theme
|
|
61
|
-
}) => theme.colors.danger.borderHover, ";}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RpbWVJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUNFIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RpbWVJbnB1dC9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBBbGVydENpcmNsZUljb24sIENsb3NlSWNvbiB9IGZyb20gJ0B1bHRyYXZpb2xldC9pY29ucydcbmltcG9ydCB0eXBlIHsgRm9jdXNFdmVudCwgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZUlkLCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9CdXR0b24nXG5pbXBvcnQgeyBMYWJlbCB9IGZyb20gJy4uL0xhYmVsJ1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICcuLi9TdGFjaydcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi9UZXh0J1xuaW1wb3J0IHtcbiAgREVGQVVMVF9EQVRFLFxuICBERUZBVUxUX1BMQUNFSE9MREVSLFxuICBJTlBVVF9TSVpFX0hFSUdIVCxcbiAgVElNRV9LRVlTLFxufSBmcm9tICcuL2NvbnN0YW50cydcbmltcG9ydCB7XG4gIGNhbkNvbmNhdCxcbiAgZm9ybWF0LFxuICBnZXRMYXN0VHlwZWRDaGFyLFxuICBnZXRWYWx1ZUJ5VHlwZSxcbiAgaXNBT3JQLFxuICBpc0NvbXBsZXRlSG91cixcbiAgaXNOdW1iZXIsXG4gIHNldFZhbHVlQnlUeXBlLFxufSBmcm9tICcuL2hlbHBlcnMnXG5cbmV4cG9ydCB0eXBlIFRpbWUgPSB7XG4gIGg6IHN0cmluZ1xuICBtOiBzdHJpbmdcbiAgczogc3RyaW5nXG4gIHBlcmlvZD86IHN0cmluZ1xufVxuXG5jb25zdCBUaW1lSW5wdXRXcmFwcGVyID0gc3R5bGVkKFN0YWNrKTx7XG4gICdkYXRhLXJlYWRvbmx5JzogYm9vbGVhblxuICAnZGF0YS1kaXNhYmxlZCc6IGJvb2xlYW5cbiAgJ2RhdGEtc2l6ZSc6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSdcbiAgJ2RhdGEtZXJyb3InOiBib29sZWFuXG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgY3Vyc29yOiB0ZXh0O1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWzFdfTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kfTtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuXG4gICY6bm90KFtkYXRhLWRpc2FibGVkPVwidHJ1ZVwiXSk6bm90KFtkYXRhLXJlYWRvbmx5PVwidHJ1ZVwiXSk6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVySG92ZXJ9O1xuICAgIGJveC1zaGFkb3c6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2hhZG93cy5mb2N1c1ByaW1hcnl9O1xuICB9XG5cbiAgJltkYXRhLWRpc2FibGVkPVwiZmFsc2VcIl06aG92ZXIsXG4gIFtkYXRhLWRpc2FibGVkPVwiZmFsc2VcIl06Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJIb3Zlcn07XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVySG92ZXJ9O1xuICB9XG5cbiAgJltkYXRhLXNpemU9J3NtYWxsJ10ge1xuICAgIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaXppbmdbSU5QVVRfU0laRV9IRUlHSFQuc21hbGxdfTtcbiAgICBwYWRkaW5nLWxlZnQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbMV19O1xuICB9XG5cbiAgJltkYXRhLXNpemU9J21lZGl1bSddIHtcbiAgICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nW0lOUFVUX1NJWkVfSEVJR0hULm1lZGl1bV19O1xuICB9XG5cbiAgJltkYXRhLXNpemU9J2xhcmdlJ10ge1xuICAgIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaXppbmdbSU5QVVRfU0laRV9IRUlHSFQubGFyZ2VdfTtcbiAgfVxuXG4gICZbZGF0YS1yZWFkb25seT0ndHJ1ZSddIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrfTtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICAmW2RhdGEtZGlzYWJsZWQ9J3RydWUnXSB7XG4gICAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWR9O1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJEaXNhYmxlZH07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gICZbZGF0YS1lcnJvcj0ndHJ1ZSddIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVyfTtcblxuICAgICY6bm90KFtkYXRhLWRpc2FibGVkPVwidHJ1ZVwiXSk6bm90KFtkYXRhLXJlYWRvbmx5PVwidHJ1ZVwiXSk6YWN0aXZlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICAgIGJveC1zaGFkb3c6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2hhZG93cy5mb2N1c0Rhbmdlcn07XG4gICAgfVxuXG4gICAgJjpub3QoW2RhdGEtZGlzYWJsZWQ9XCJ0cnVlXCJdKTpub3QoW2RhdGEtcmVhZG9ubHk9XCJ0cnVlXCJdKTpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJIb3Zlcn07XG4gICAgfVxuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBJbnB1dCA9IHN0eWxlZC5pbnB1dDx7XG4gICdkYXRhLXNpemUnOiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnXG4gICdkYXRhLXBlcmlvZCc/OiBib29sZWFuXG59PmBcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnR5cG9ncmFwaHkuYm9keVNtYWxsLmZvbnRTaXplfTtcbiAgd2lkdGg6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nWzMxMl19O1xuICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nWzMwMF19O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucmFkaWkuZGVmYXVsdH07XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICBjYXJldC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgJltkYXRhLXNpemU9J2xhcmdlJ10ge1xuICAgIGZvbnQtc2l6ZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS50eXBvZ3JhcGh5LmJvZHkuZm9udFNpemV9O1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrfTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6YWN0aXZlLFxuICA6bm90KDpkaXNhYmxlZCk6Zm9jdXN7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nfTtcbiAgICBjb2xvcjogICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dH07XG4gIH1cblxuICAmOnJlYWQtb25seSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gICZbZGF0YS1wZXJpb2Q9XCJ0cnVlXCJdIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG5cbiAgICAmW2RhdGEtc2l6ZT1cImxhcmdlXCJdIHtcbiAgICAgIHdpZHRoOiBjYWxjKCR7KHsgdGhlbWUgfSkgPT4gYCR7dGhlbWUuc2l6aW5nWyczMTInXX0gKyAke3RoZW1lLnNpemluZ1snMDI1J119YH0pXG4gICAgfVxuXG4gIH1cblxuICA6Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG5cbiAgOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbmBcblxuY29uc3QgQ3VzdG9tVGV4dCA9IHN0eWxlZChUZXh0KWBcbnBhZGRpbmctaW5saW5lOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG50eXBlIFRpbWVJbnB1dFByb3BzID0ge1xuICBwbGFjZWhvbGRlcj86IFRpbWVcbiAgdmFsdWU/OiBEYXRlIHwgbnVsbFxuICBjbGVhcmFibGU/OiBib29sZWFuXG4gIHJlcXVpcmVkPzogYm9vbGVhblxuICBsYWJlbERlc2NyaXB0aW9uPzogUmVhY3ROb2RlXG4gIGhlbHBlcj86IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgcmVhZE9ubHk/OiBib29sZWFuXG4gIGVycm9yPzogYm9vbGVhbiB8IHN0cmluZ1xuICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIG9uQ2hhbmdlPzogKHZhbHVlOiBEYXRlIHwgdW5kZWZpbmVkLCB2YWx1ZVBlcmlvZD86IHN0cmluZykgPT4gdm9pZFxuICBvbkJsdXI/OiAoZXZlbnQ6IEZvY3VzRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHZvaWRcbiAgb25Gb2N1cz86IChldmVudDogRm9jdXNFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4gdm9pZFxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgaWQ/OiBzdHJpbmdcbiAgc2l6ZT86ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSdcbiAgdGltZUZvcm1hdD86IDEyIHwgMjRcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgZm9jdXMgb24gdGhlIGVsZW1lbnQgb24gcmVuZGVyLiBBdXRvZm9jdXMgaXMgYXBwbGllZCB0byB0aGUgaG91ciBpbnB1dFxuICAgKi9cbiAgYXV0b0ZvY3VzPzogYm9vbGVhblxufSAmIChcbiAgfCB7XG4gICAgICBsYWJlbD86IHN0cmluZ1xuICAgICAgJ2FyaWEtbGFiZWwnPzogbmV2ZXJcbiAgICB9XG4gIHwge1xuICAgICAgbGFiZWw/OiBuZXZlclxuICAgICAgJ2FyaWEtbGFiZWwnOiBzdHJpbmdcbiAgICB9XG4pXG5cbi8qKlxuICogQSB0aW1lIGlucHV0IGNvbXBvbmVudCB0aGF0IGFsbG93cyB1c2VycyB0byB0eXBlIGEgdGltZSBpbiBhIDI0IG9yIDEyLWhvdXIgZm9ybWF0LlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGNvbXBvbmVudCBpcyBleHBlcmltZW50YWwgYW5kIG1heSBiZSBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgaW4gdGhlIGZ1dHVyZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRpbWVJbnB1dCA9ICh7XG4gIGxhYmVsLFxuICB0aW1lRm9ybWF0ID0gMjQsXG4gIHZhbHVlLFxuICBjbGVhcmFibGUsXG4gIHJlcXVpcmVkLFxuICBsYWJlbERlc2NyaXB0aW9uLFxuICBoZWxwZXIsXG4gIHNpemUgPSAnbGFyZ2UnLFxuICBkaXNhYmxlZCA9IGZhbHNlLFxuICByZWFkT25seSA9IGZhbHNlLFxuICBlcnJvciA9IGZhbHNlLFxuICBvbkNoYW5nZSxcbiAgb25CbHVyLFxuICBvbkZvY3VzLFxuICBjbGFzc05hbWUsXG4gIGlkLFxuICBhdXRvRm9jdXMsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gIHBsYWNlaG9sZGVyID0gREVGQVVMVF9QTEFDRUhPTERFUixcbiAgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsXG59OiBUaW1lSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbElkID0gdXNlSWQoKVxuICBjb25zdCBkZWZhdWx0UGVyaW9kID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSByZXR1cm4gdmFsdWUuZ2V0SG91cnMoKSA+PSAxMiA/ICdwbScgOiAnYW0nXG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH0sIFt2YWx1ZV0pXG5cbiAgY29uc3QgW3RpbWUsIHNldFRpbWVdID0gdXNlU3RhdGUodmFsdWUpXG4gIGNvbnN0IFtwZXJpb2QsIHNldFBlcmlvZF0gPSB1c2VTdGF0ZTwncG0nIHwgJ2FtJyB8IHVuZGVmaW5lZD4oZGVmYXVsdFBlcmlvZClcbiAgY29uc3QgW2ZpbGxlZCwgc2V0RmlsbGVkXSA9IHVzZVN0YXRlKFxuICAgIHZhbHVlID8geyBoOiB0cnVlLCBtOiB0cnVlLCBzOiB0cnVlIH0gOiB7IGg6IGZhbHNlLCBtOiBmYWxzZSwgczogZmFsc2UgfSxcbiAgKSAvLyB0byBub3Qgc2hvdyAwMCB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIHBsYWNlaG9sZGVyXG5cbiAgY29uc3QgcmVmSG91cnMgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcbiAgY29uc3QgcmVmU2Vjb25kcyA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuICBjb25zdCByZWZNaW51dGVzID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHJlZlBlcmlvZCA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBzZXRUaW1lKHZhbHVlKVxuXG4gICAgICAvLyB3aXRob3V0IHRoaXMgY29uZGl0aW9uLCBldmVyeSB0aW1lIGFuIGlucHV0IHZhbHVlIGNoYW5nZXMsIHRoZSBvdGhlciBvbmVzIHdpbGwgYmUgc2V0IHRvIDAgaWYgdGhleSB1c2VkIHRvIGJlIHVuZGVmaW5lZFxuICAgICAgLy8gaW5zdGVhZCBvZiBsZWF2aW5nIHRoZW0gZW1wdHkgKGFuZCBzaG93aW5nIHRoZSBwbGFjZWhvbGRlcilcbiAgICAgIGlmICh2YWx1ZS5nZXRUaW1lKCkgIT09IHRpbWU/LmdldFRpbWUoKSkge1xuICAgICAgICBzZXRGaWxsZWQoeyBoOiB0cnVlLCBtOiB0cnVlLCBzOiB0cnVlIH0pXG4gICAgICB9XG4gICAgfVxuICAgIC8vIG94bGludC1kaXNhYmxlIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbdmFsdWVdKVxuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZVBlcmlvZCA9IChrZXk6ICdhJyB8ICdwJykgPT4ge1xuICAgIGlmICghdGltZSkge1xuICAgICAgc2V0UGVyaW9kKGAke2tleX1tYClcbiAgICB9IGVsc2UgaWYgKGtleS50b0xvd2VyQ2FzZSgpID09PSAnYScpIHtcbiAgICAgIGlmICh0aW1lLmdldEhvdXJzKCkgPj0gMTIpIHtcbiAgICAgICAgY29uc3QgbmV3VGltZSA9IG5ldyBEYXRlKHRpbWUpXG4gICAgICAgIG5ld1RpbWUuc2V0SG91cnMobmV3VGltZS5nZXRIb3VycygpIC0gMTIpXG4gICAgICAgIHNldFRpbWUobmV3VGltZSlcbiAgICAgICAgb25DaGFuZ2U/LihuZXdUaW1lKVxuICAgICAgfVxuICAgICAgc2V0UGVyaW9kKCdhbScpXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aW1lLmdldEhvdXJzKCkgPCAxMikge1xuICAgICAgICBjb25zdCBuZXdUaW1lID0gbmV3IERhdGUodGltZSlcbiAgICAgICAgbmV3VGltZS5zZXRIb3VycyhuZXdUaW1lLmdldEhvdXJzKCkgKyAxMilcbiAgICAgICAgc2V0VGltZShuZXdUaW1lKVxuICAgICAgICBvbkNoYW5nZT8uKG5ld1RpbWUpXG4gICAgICB9XG4gICAgICBzZXRQZXJpb2QoJ3BtJylcbiAgICB9XG4gIH1cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKHR5cGU6ICdoJyB8ICdtJyB8ICdzJywga2V5OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBuZXdUaW1lID0gdGltZSA/IG5ldyBEYXRlKHRpbWUpIDogREVGQVVMVF9EQVRFXG4gICAgY29uc3QgdmFsdWVUb0NoYW5nZSA9IGdldFZhbHVlQnlUeXBlKHR5cGUsIHRpbWUpXG5cbiAgICBpZiAoY2FuQ29uY2F0KHZhbHVlVG9DaGFuZ2UsIHR5cGUsIGtleSwgdGltZUZvcm1hdCkpIHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gKHZhbHVlVG9DaGFuZ2UgJSAxMCkgKiAxMCArIGtleVxuXG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBuZXdWYWx1ZSlcbiAgICB9IGVsc2Ugc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwga2V5KVxuXG4gICAgY29uc3QgbmV3VmFsdWUgPSBnZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lKVxuICAgIC8vIEZvY3VzIHRvIG5leHQgaW5wdXQgaWYgdGhlIGN1cnJlbnQgaW5wdXQgaGFzIGEgdmFsaWQgdGltZVxuICAgIGlmICh0eXBlID09PSAncycgJiYgbmV3VGltZSAmJiBuZXdWYWx1ZSA+PSA3ICYmIHRpbWVGb3JtYXQgPT09IDEyKSB7XG4gICAgICByZWZQZXJpb2QuY3VycmVudD8uZm9jdXMoKVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ20nICYmIG5ld1RpbWUgJiYgbmV3VmFsdWUgPj0gNikge1xuICAgICAgcmVmU2Vjb25kcy5jdXJyZW50Py5mb2N1cygpXG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICdoJykge1xuICAgICAgaWYgKGlzQ29tcGxldGVIb3VyKHRpbWVGb3JtYXQsIG5ld1ZhbHVlKSkge1xuICAgICAgICByZWZNaW51dGVzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgbmV3RmlsbGVkID0geyAuLi5maWxsZWQgfVxuICAgIG5ld0ZpbGxlZFt0eXBlXSA9IHRydWVcblxuICAgIHNldFRpbWUobmV3VGltZSlcbiAgICBvbkNoYW5nZT8uKG5ld1RpbWUpXG5cbiAgICBzZXRGaWxsZWQobmV3RmlsbGVkKVxuICB9XG5cbiAgLy8gSW5jcmVhc2UgdGltZSB3aXRoIGFycm93IHVwXG4gIGNvbnN0IGhhbmRsZUluY3JlYXNlID0gKHR5cGU6ICdoJyB8ICdtJyB8ICdzJykgPT4ge1xuICAgIGNvbnN0IG5ld1RpbWUgPSB0aW1lID8gbmV3IERhdGUodGltZSkgOiBERUZBVUxUX0RBVEVcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBnZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lKVxuICAgIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMjQpIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGN1cnJlbnRWYWx1ZSA9PT0gMjMgPyAwIDogY3VycmVudFZhbHVlICsgMSlcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAxMikge1xuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgY3VycmVudFZhbHVlID09PSAxMiA/IDEgOiBjdXJyZW50VmFsdWUgKyAxKVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBjdXJyZW50VmFsdWUgPT09IDU5ID8gMCA6IGN1cnJlbnRWYWx1ZSArIDEpXG4gICAgfVxuICAgIGNvbnN0IG5ld0ZpbGxlZCA9IHsgLi4uZmlsbGVkIH1cbiAgICBuZXdGaWxsZWRbdHlwZV0gPSB0cnVlXG5cbiAgICBzZXRUaW1lKG5ld1RpbWUpXG4gICAgb25DaGFuZ2U/LihuZXdUaW1lKVxuICAgIHNldEZpbGxlZChuZXdGaWxsZWQpXG4gIH1cblxuICAvLyBEZWNyZWFzZSB0aW1lIHdpdGggYXJyb3cgZG93blxuICBjb25zdCBoYW5kbGVEZWNyZWFzZSA9ICh0eXBlOiAnaCcgfCAnbScgfCAncycpID0+IHtcbiAgICBjb25zdCBuZXdUaW1lID0gdGltZSA/IG5ldyBEYXRlKHRpbWUpIDogREVGQVVMVF9EQVRFXG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gZ2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSlcblxuICAgIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMjQpIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGN1cnJlbnRWYWx1ZSA9PT0gMCA/IDIzIDogY3VycmVudFZhbHVlIC0gMSlcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAxMikge1xuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgY3VycmVudFZhbHVlID09PSAxID8gMTIgOiBjdXJyZW50VmFsdWUgLSAxKVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBjdXJyZW50VmFsdWUgPT09IDAgPyA1OSA6IGN1cnJlbnRWYWx1ZSAtIDEpXG4gICAgfVxuICAgIGNvbnN0IG5ld0ZpbGxlZCA9IHsgLi4uZmlsbGVkIH1cbiAgICBuZXdGaWxsZWRbdHlwZV0gPSB0cnVlXG5cbiAgICBzZXRUaW1lKG5ld1RpbWUpXG4gICAgb25DaGFuZ2U/LihuZXdUaW1lKVxuICAgIHNldEZpbGxlZChuZXdGaWxsZWQpXG4gIH1cblxuICAvLyBHbyB0byBuZXh0IGlucHV0XG4gIGNvbnN0IGhhbmRsZU5leHQgPSAodHlwZTogJ2gnIHwgJ20nIHwgJ3MnKSA9PiB7XG4gICAgaWYgKHR5cGUgPT09ICdoJykgcmVmTWludXRlcy5jdXJyZW50Py5mb2N1cygpXG4gICAgaWYgKHR5cGUgPT09ICdtJykgcmVmU2Vjb25kcy5jdXJyZW50Py5mb2N1cygpXG4gICAgaWYgKHR5cGUgPT09ICdzJyAmJiB0aW1lRm9ybWF0ID09PSAxMikgcmVmUGVyaW9kLmN1cnJlbnQ/LmZvY3VzKClcbiAgfVxuXG4gIC8vIEdvIHRvIHByZXZpb3VzIGlucHV0XG4gIGNvbnN0IGhhbmRsZVByZXZpb3VzID0gKHR5cGU6ICdoJyB8ICdtJyB8ICdzJykgPT4ge1xuICAgIGlmICh0eXBlID09PSAnbScpIHJlZkhvdXJzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICBpZiAodHlwZSA9PT0gJ3MnKSByZWZNaW51dGVzLmN1cnJlbnQ/LmZvY3VzKClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0YWNrIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSBnYXA9ezAuNX0+XG4gICAgICB7bGFiZWwgfHwgbGFiZWxEZXNjcmlwdGlvbiA/IChcbiAgICAgICAgPExhYmVsXG4gICAgICAgICAgaHRtbEZvcj17aWQgPz8gbG9jYWxJZH1cbiAgICAgICAgICBsYWJlbERlc2NyaXB0aW9uPXtsYWJlbERlc2NyaXB0aW9ufVxuICAgICAgICAgIHJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICA+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L0xhYmVsPlxuICAgICAgKSA6IG51bGx9XG4gICAgICA8VGltZUlucHV0V3JhcHBlclxuICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICBhcmlhLXJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgICAgZGF0YS1kaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIGRhdGEtZXJyb3I9eyEhZXJyb3J9XG4gICAgICAgIGRhdGEtcmVhZG9ubHk9e3JlYWRPbmx5fVxuICAgICAgICBkYXRhLXNpemU9e3NpemV9XG4gICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxuICAgICAgICBpZD17aWR9XG4gICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiByZWZIb3Vycy5jdXJyZW50Py5mb2N1cygpfVxuICAgICAgICBvbkZvY3VzPXtvbkZvY3VzfVxuICAgICAgPlxuICAgICAgICA8U3RhY2sgZGlyZWN0aW9uPVwicm93XCI+XG4gICAgICAgICAge1RJTUVfS0VZUy5tYXAodHlwZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21wdXRlZFJlZiA9ICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdoJykgcmV0dXJuIHJlZkhvdXJzXG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnbScpIHJldHVybiByZWZNaW51dGVzXG5cbiAgICAgICAgICAgICAgcmV0dXJuIHJlZlNlY29uZHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGZ1bGxOYW1lID0gKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2gnKSByZXR1cm4gJ2hvdXJzJ1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ20nKSByZXR1cm4gJ21pbnV0ZXMnXG5cbiAgICAgICAgICAgICAgcmV0dXJuICdzZWNvbmRzJ1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjb21wdXRlTWF4VmFsdWUgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHJldHVybiAxMlxuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDI0KSByZXR1cm4gMjNcblxuICAgICAgICAgICAgICByZXR1cm4gNTlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiIGtleT17dHlwZX0+XG4gICAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbWF4PXtjb21wdXRlTWF4VmFsdWUoKX1cbiAgICAgICAgICAgICAgICAgIGFyaWEtdmFsdWVtaW49e3R5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAxMiA/IDEgOiAwfVxuICAgICAgICAgICAgICAgICAgYXJpYS12YWx1ZW5vdz17XG4gICAgICAgICAgICAgICAgICAgIGZpbGxlZFt0eXBlXVxuICAgICAgICAgICAgICAgICAgICAgID8gTnVtYmVyLnBhcnNlSW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQoZ2V0VmFsdWVCeVR5cGUodHlwZSwgdGltZSksIHR5cGUsIHRpbWVGb3JtYXQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAxMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgYXV0b0NvbXBsZXRlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzPXthdXRvRm9jdXMgJiYgdHlwZSA9PT0gJ2gnfVxuICAgICAgICAgICAgICAgICAgZGF0YS1zaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2Ake2Z1bGxOYW1lKCl9LWlucHV0YH1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gZ2V0TGFzdFR5cGVkQ2hhcihcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldFZhbHVlQnlUeXBlKHR5cGUsIHRpbWUpLFxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNOdW1iZXIoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKHR5cGUsIE51bWJlci5wYXJzZUludChrZXksIDEwKSlcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVJbmNyZWFzZSh0eXBlKVxuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlRGVjcmVhc2UodHlwZSlcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVByZXZpb3VzKHR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlTmV4dCh0eXBlKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlclt0eXBlXX1cbiAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICAgIHJlZj17Y29tcHV0ZWRSZWYoKX1cbiAgICAgICAgICAgICAgICAgIHJvbGU9XCJzcGluYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtcbiAgICAgICAgICAgICAgICAgICAgZmlsbGVkW3R5cGVdXG4gICAgICAgICAgICAgICAgICAgICAgPyBmb3JtYXQoZ2V0VmFsdWVCeVR5cGUodHlwZSwgdGltZSksIHR5cGUsIHRpbWVGb3JtYXQpXG4gICAgICAgICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAge3R5cGUgPT09ICdzJyA/IG51bGwgOiAoXG4gICAgICAgICAgICAgICAgICA8Q3VzdG9tVGV4dFxuICAgICAgICAgICAgICAgICAgICBhcz1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiYm9keVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDpcbiAgICAgICAgICAgICAgICAgIDwvQ3VzdG9tVGV4dD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgKVxuICAgICAgICAgIH0pfVxuICAgICAgICAgIHt0aW1lRm9ybWF0ID09PSAxMiA/IChcbiAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgICAgICAgIGFyaWEtdmFsdWVtYXg9ezEyfVxuICAgICAgICAgICAgICBhcmlhLXZhbHVlbWluPXswfVxuICAgICAgICAgICAgICBhcmlhLXZhbHVlbm93PXtwZXJpb2QgPT09ICdhbScgPyAwIDogMTJ9XG4gICAgICAgICAgICAgIGFyaWEtdmFsdWV0ZXh0PXtwZXJpb2R9XG4gICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgZGF0YS1wZXJpb2RcbiAgICAgICAgICAgICAgZGF0YS1zaXplPXtzaXplfVxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImFtLXBtLWlucHV0XCJcbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBldmVudC50YXJnZXQudmFsdWUuc2xpY2UoLTEpXG4gICAgICAgICAgICAgICAgICBpZiAoaXNBT3JQKGtleSkpIGhhbmRsZUNoYW5nZVBlcmlvZChrZXkgYXMgJ2EnIHwgJ3AnKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAgICAgICAgIG9uS2V5RG93bj17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZVBlcmlvZChwZXJpb2QgPT09ICdhbScgPyAncCcgOiAnYScpXG4gICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICByZWZTZWNvbmRzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlci5wZXJpb2QgPz8gJ0FNJ31cbiAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICByZWY9e3JlZlBlcmlvZH1cbiAgICAgICAgICAgICAgcm9sZT1cInNwaW5idXR0b25cIlxuICAgICAgICAgICAgICB2YWx1ZT17cGVyaW9kPy50b1VwcGVyQ2FzZSgpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TdGFjaz5cbiAgICAgICAge2Vycm9yIHx8IGNsZWFyYWJsZSA/IChcbiAgICAgICAgICA8U3RhY2sgYWxpZ25JdGVtcz1cImNlbnRlclwiIGRpcmVjdGlvbj1cInJvd1wiIGdhcD1cIjFcIj5cbiAgICAgICAgICAgIHtlcnJvciA/IDxBbGVydENpcmNsZUljb24gc2VudGltZW50PVwiZGFuZ2VyXCIgLz4gOiBudWxsfVxuICAgICAgICAgICAge2NsZWFyYWJsZSA/IChcbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJjbGVhciB2YWx1ZVwiXG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJjbGVhclwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkIHx8IHJlYWRPbmx5fVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICBzZXRUaW1lKHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPy4odW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENsb3NlSWNvbiAvPlxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9UaW1lSW5wdXRXcmFwcGVyPlxuICAgICAge2hlbHBlciB8fCBlcnJvciA/IChcbiAgICAgICAgPFRleHRcbiAgICAgICAgICBhcz1cInBcIlxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBwcm9taW5lbmNlPXtlcnJvciA/ICdkZWZhdWx0JyA6ICd3ZWFrJ31cbiAgICAgICAgICBzZW50aW1lbnQ9e2Vycm9yID8gJ2RhbmdlcicgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgdmFyaWFudD1cImNhcHRpb25cIlxuICAgICAgICA+XG4gICAgICAgICAge2Vycm9yIHx8IGhlbHBlcn1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9TdGFjaz5cbiAgKVxufVxuIl19 */"));
|
|
61
|
+
}) => theme.colors.danger.borderHover, ";}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RpbWVJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUNFIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RpbWVJbnB1dC9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBBbGVydENpcmNsZUljb24sIENsb3NlSWNvbiB9IGZyb20gJ0B1bHRyYXZpb2xldC9pY29ucydcbmltcG9ydCB0eXBlIHsgRm9jdXNFdmVudCwgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZUlkLCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9CdXR0b24nXG5pbXBvcnQgeyBMYWJlbCB9IGZyb20gJy4uL0xhYmVsJ1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICcuLi9TdGFjaydcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi9UZXh0J1xuaW1wb3J0IHtcbiAgREVGQVVMVF9EQVRFLFxuICBERUZBVUxUX1BMQUNFSE9MREVSLFxuICBJTlBVVF9TSVpFX0hFSUdIVCxcbiAgVElNRV9LRVlTLFxufSBmcm9tICcuL2NvbnN0YW50cydcbmltcG9ydCB7XG4gIGNhbkNvbmNhdCxcbiAgZm9ybWF0LFxuICBnZXRMYXN0VHlwZWRDaGFyLFxuICBnZXRWYWx1ZUJ5VHlwZSxcbiAgaXNBT3JQLFxuICBpc0NvbXBsZXRlSG91cixcbiAgaXNOdW1iZXIsXG4gIHNldFZhbHVlQnlUeXBlLFxufSBmcm9tICcuL2hlbHBlcnMnXG5cbmV4cG9ydCB0eXBlIFRpbWUgPSB7XG4gIGg6IHN0cmluZ1xuICBtOiBzdHJpbmdcbiAgczogc3RyaW5nXG4gIHBlcmlvZD86IHN0cmluZ1xufVxuXG5jb25zdCBUaW1lSW5wdXRXcmFwcGVyID0gc3R5bGVkKFN0YWNrKTx7XG4gICdkYXRhLXJlYWRvbmx5JzogYm9vbGVhblxuICAnZGF0YS1kaXNhYmxlZCc6IGJvb2xlYW5cbiAgJ2RhdGEtc2l6ZSc6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSdcbiAgJ2RhdGEtZXJyb3InOiBib29sZWFuXG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgY3Vyc29yOiB0ZXh0O1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWzFdfTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kfTtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuXG4gICY6bm90KFtkYXRhLWRpc2FibGVkPVwidHJ1ZVwiXSk6bm90KFtkYXRhLXJlYWRvbmx5PVwidHJ1ZVwiXSk6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVySG92ZXJ9O1xuICAgIGJveC1zaGFkb3c6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2hhZG93cy5mb2N1c1ByaW1hcnl9O1xuICB9XG5cbiAgJltkYXRhLWRpc2FibGVkPVwiZmFsc2VcIl06aG92ZXIsXG4gIFtkYXRhLWRpc2FibGVkPVwiZmFsc2VcIl06Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJIb3Zlcn07XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVySG92ZXJ9O1xuICB9XG5cbiAgJltkYXRhLXNpemU9J3NtYWxsJ10ge1xuICAgIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaXppbmdbSU5QVVRfU0laRV9IRUlHSFQuc21hbGxdfTtcbiAgICBwYWRkaW5nLWxlZnQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbMV19O1xuICB9XG5cbiAgJltkYXRhLXNpemU9J21lZGl1bSddIHtcbiAgICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nW0lOUFVUX1NJWkVfSEVJR0hULm1lZGl1bV19O1xuICB9XG5cbiAgJltkYXRhLXNpemU9J2xhcmdlJ10ge1xuICAgIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaXppbmdbSU5QVVRfU0laRV9IRUlHSFQubGFyZ2VdfTtcbiAgfVxuXG4gICZbZGF0YS1yZWFkb25seT0ndHJ1ZSddIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrfTtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICAmW2RhdGEtZGlzYWJsZWQ9J3RydWUnXSB7XG4gICAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWR9O1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJEaXNhYmxlZH07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gICZbZGF0YS1lcnJvcj0ndHJ1ZSddIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVyfTtcblxuICAgICY6bm90KFtkYXRhLWRpc2FibGVkPVwidHJ1ZVwiXSk6bm90KFtkYXRhLXJlYWRvbmx5PVwidHJ1ZVwiXSk6YWN0aXZlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICAgIGJveC1zaGFkb3c6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2hhZG93cy5mb2N1c0Rhbmdlcn07XG4gICAgfVxuXG4gICAgJjpub3QoW2RhdGEtZGlzYWJsZWQ9XCJ0cnVlXCJdKTpub3QoW2RhdGEtcmVhZG9ubHk9XCJ0cnVlXCJdKTpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJIb3Zlcn07XG4gICAgfVxuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBJbnB1dCA9IHN0eWxlZC5pbnB1dDx7XG4gICdkYXRhLXNpemUnOiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnXG4gICdkYXRhLXBlcmlvZCc/OiBib29sZWFuXG59PmBcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnR5cG9ncmFwaHkuYm9keVNtYWxsLmZvbnRTaXplfTtcbiAgd2lkdGg6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nWzMxMl19O1xuICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nWzMwMF19O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucmFkaWkuZGVmYXVsdH07XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICBjYXJldC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgJltkYXRhLXNpemU9J2xhcmdlJ10ge1xuICAgIGZvbnQtc2l6ZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS50eXBvZ3JhcGh5LmJvZHkuZm9udFNpemV9O1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrfTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6YWN0aXZlLFxuICA6bm90KDpkaXNhYmxlZCk6Zm9jdXN7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nfTtcbiAgICBjb2xvcjogICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dH07XG4gIH1cblxuICAmOnJlYWQtb25seSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gICZbZGF0YS1wZXJpb2Q9XCJ0cnVlXCJdIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG5cbiAgICAmW2RhdGEtc2l6ZT1cImxhcmdlXCJdIHtcbiAgICAgIHdpZHRoOiBjYWxjKCR7KHsgdGhlbWUgfSkgPT4gYCR7dGhlbWUuc2l6aW5nWyczMTInXX0gKyAke3RoZW1lLnNpemluZ1snMDI1J119YH0pXG4gICAgfVxuXG4gIH1cblxuICA6Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG5cbiAgOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbmBcblxuY29uc3QgQ3VzdG9tVGV4dCA9IHN0eWxlZChUZXh0KWBcbnBhZGRpbmctaW5saW5lOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG50eXBlIFRpbWVJbnB1dFByb3BzID0ge1xuICBwbGFjZWhvbGRlcj86IFRpbWVcbiAgdmFsdWU/OiBEYXRlIHwgbnVsbFxuICBjbGVhcmFibGU/OiBib29sZWFuXG4gIHJlcXVpcmVkPzogYm9vbGVhblxuICBsYWJlbERlc2NyaXB0aW9uPzogUmVhY3ROb2RlXG4gIGhlbHBlcj86IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgcmVhZE9ubHk/OiBib29sZWFuXG4gIGVycm9yPzogYm9vbGVhbiB8IHN0cmluZ1xuICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIG9uQ2hhbmdlPzogKHZhbHVlOiBEYXRlIHwgdW5kZWZpbmVkLCB2YWx1ZVBlcmlvZD86IHN0cmluZykgPT4gdm9pZFxuICBvbkJsdXI/OiAoZXZlbnQ6IEZvY3VzRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHZvaWRcbiAgb25Gb2N1cz86IChldmVudDogRm9jdXNFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4gdm9pZFxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgaWQ/OiBzdHJpbmdcbiAgc2l6ZT86ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSdcbiAgdGltZUZvcm1hdD86IDEyIHwgMjRcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgZm9jdXMgb24gdGhlIGVsZW1lbnQgb24gcmVuZGVyLiBBdXRvZm9jdXMgaXMgYXBwbGllZCB0byB0aGUgaG91ciBpbnB1dFxuICAgKi9cbiAgYXV0b0ZvY3VzPzogYm9vbGVhblxufSAmIChcbiAgfCB7XG4gICAgICBsYWJlbD86IHN0cmluZ1xuICAgICAgJ2FyaWEtbGFiZWwnPzogbmV2ZXJcbiAgICB9XG4gIHwge1xuICAgICAgbGFiZWw/OiBuZXZlclxuICAgICAgJ2FyaWEtbGFiZWwnOiBzdHJpbmdcbiAgICB9XG4pXG5cbi8qKlxuICogQSB0aW1lIGlucHV0IGNvbXBvbmVudCB0aGF0IGFsbG93cyB1c2VycyB0byB0eXBlIGEgdGltZSBpbiBhIDI0IG9yIDEyLWhvdXIgZm9ybWF0LlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGNvbXBvbmVudCBpcyBleHBlcmltZW50YWwgYW5kIG1heSBiZSBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgaW4gdGhlIGZ1dHVyZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRpbWVJbnB1dCA9ICh7XG4gIGxhYmVsLFxuICB0aW1lRm9ybWF0ID0gMjQsXG4gIHZhbHVlLFxuICBjbGVhcmFibGUsXG4gIHJlcXVpcmVkLFxuICBsYWJlbERlc2NyaXB0aW9uLFxuICBoZWxwZXIsXG4gIHNpemUgPSAnbGFyZ2UnLFxuICBkaXNhYmxlZCA9IGZhbHNlLFxuICByZWFkT25seSA9IGZhbHNlLFxuICBlcnJvciA9IGZhbHNlLFxuICBvbkNoYW5nZSxcbiAgb25CbHVyLFxuICBvbkZvY3VzLFxuICBjbGFzc05hbWUsXG4gIGlkLFxuICBhdXRvRm9jdXMsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gIHBsYWNlaG9sZGVyID0gREVGQVVMVF9QTEFDRUhPTERFUixcbiAgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsXG59OiBUaW1lSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbElkID0gdXNlSWQoKVxuICBjb25zdCBkZWZhdWx0UGVyaW9kID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWUuZ2V0SG91cnMoKSA+PSAxMiA/ICdwbScgOiAnYW0nXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbdmFsdWVdKVxuXG4gIGNvbnN0IFt0aW1lLCBzZXRUaW1lXSA9IHVzZVN0YXRlKHZhbHVlKVxuICBjb25zdCBbcGVyaW9kLCBzZXRQZXJpb2RdID0gdXNlU3RhdGU8J3BtJyB8ICdhbScgfCB1bmRlZmluZWQ+KGRlZmF1bHRQZXJpb2QpXG4gIGNvbnN0IFtmaWxsZWQsIHNldEZpbGxlZF0gPSB1c2VTdGF0ZShcbiAgICB2YWx1ZSA/IHsgaDogdHJ1ZSwgbTogdHJ1ZSwgczogdHJ1ZSB9IDogeyBoOiBmYWxzZSwgbTogZmFsc2UsIHM6IGZhbHNlIH0sXG4gICkgLy8gdG8gbm90IHNob3cgMDAgd2hlbiB0aGVyZSBzaG91bGQgYmUgYSBwbGFjZWhvbGRlclxuXG4gIGNvbnN0IHJlZkhvdXJzID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHJlZlNlY29uZHMgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcbiAgY29uc3QgcmVmTWludXRlcyA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuICBjb25zdCByZWZQZXJpb2QgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgc2V0VGltZSh2YWx1ZSlcblxuICAgICAgLy8gd2l0aG91dCB0aGlzIGNvbmRpdGlvbiwgZXZlcnkgdGltZSBhbiBpbnB1dCB2YWx1ZSBjaGFuZ2VzLCB0aGUgb3RoZXIgb25lcyB3aWxsIGJlIHNldCB0byAwIGlmIHRoZXkgdXNlZCB0byBiZSB1bmRlZmluZWRcbiAgICAgIC8vIGluc3RlYWQgb2YgbGVhdmluZyB0aGVtIGVtcHR5IChhbmQgc2hvd2luZyB0aGUgcGxhY2Vob2xkZXIpXG4gICAgICBpZiAodmFsdWUuZ2V0VGltZSgpICE9PSB0aW1lPy5nZXRUaW1lKCkpIHtcbiAgICAgICAgc2V0RmlsbGVkKHsgaDogdHJ1ZSwgbTogdHJ1ZSwgczogdHJ1ZSB9KVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBveGxpbnQtZGlzYWJsZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW3ZhbHVlXSlcblxuICBjb25zdCBoYW5kbGVDaGFuZ2VQZXJpb2QgPSAoa2V5OiAnYScgfCAncCcpID0+IHtcbiAgICBpZiAoIXRpbWUpIHtcbiAgICAgIHNldFBlcmlvZChgJHtrZXl9bWApXG4gICAgfSBlbHNlIGlmIChrZXkudG9Mb3dlckNhc2UoKSA9PT0gJ2EnKSB7XG4gICAgICBpZiAodGltZS5nZXRIb3VycygpID49IDEyKSB7XG4gICAgICAgIGNvbnN0IG5ld1RpbWUgPSBuZXcgRGF0ZSh0aW1lKVxuICAgICAgICBuZXdUaW1lLnNldEhvdXJzKG5ld1RpbWUuZ2V0SG91cnMoKSAtIDEyKVxuICAgICAgICBzZXRUaW1lKG5ld1RpbWUpXG4gICAgICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcbiAgICAgIH1cbiAgICAgIHNldFBlcmlvZCgnYW0nKVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGltZS5nZXRIb3VycygpIDwgMTIpIHtcbiAgICAgICAgY29uc3QgbmV3VGltZSA9IG5ldyBEYXRlKHRpbWUpXG4gICAgICAgIG5ld1RpbWUuc2V0SG91cnMobmV3VGltZS5nZXRIb3VycygpICsgMTIpXG4gICAgICAgIHNldFRpbWUobmV3VGltZSlcbiAgICAgICAgb25DaGFuZ2U/LihuZXdUaW1lKVxuICAgICAgfVxuICAgICAgc2V0UGVyaW9kKCdwbScpXG4gICAgfVxuICB9XG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9ICh0eXBlOiAnaCcgfCAnbScgfCAncycsIGtleTogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgbmV3VGltZSA9IHRpbWUgPyBuZXcgRGF0ZSh0aW1lKSA6IERFRkFVTFRfREFURVxuICAgIGNvbnN0IHZhbHVlVG9DaGFuZ2UgPSBnZXRWYWx1ZUJ5VHlwZSh0eXBlLCB0aW1lKVxuXG4gICAgaWYgKGNhbkNvbmNhdCh2YWx1ZVRvQ2hhbmdlLCB0eXBlLCBrZXksIHRpbWVGb3JtYXQpKSB7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9ICh2YWx1ZVRvQ2hhbmdlICUgMTApICogMTAgKyBrZXlcblxuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgbmV3VmFsdWUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGtleSlcbiAgICB9XG5cbiAgICBjb25zdCBuZXdWYWx1ZSA9IGdldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUpXG4gICAgLy8gRm9jdXMgdG8gbmV4dCBpbnB1dCBpZiB0aGUgY3VycmVudCBpbnB1dCBoYXMgYSB2YWxpZCB0aW1lXG4gICAgaWYgKHR5cGUgPT09ICdzJyAmJiBuZXdUaW1lICYmIG5ld1ZhbHVlID49IDcgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHtcbiAgICAgIHJlZlBlcmlvZC5jdXJyZW50Py5mb2N1cygpXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnbScgJiYgbmV3VGltZSAmJiBuZXdWYWx1ZSA+PSA2KSB7XG4gICAgICByZWZTZWNvbmRzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ2gnICYmIGlzQ29tcGxldGVIb3VyKHRpbWVGb3JtYXQsIG5ld1ZhbHVlKSkge1xuICAgICAgcmVmTWludXRlcy5jdXJyZW50Py5mb2N1cygpXG4gICAgfVxuICAgIGNvbnN0IG5ld0ZpbGxlZCA9IHsgLi4uZmlsbGVkIH1cbiAgICBuZXdGaWxsZWRbdHlwZV0gPSB0cnVlXG5cbiAgICBzZXRUaW1lKG5ld1RpbWUpXG4gICAgb25DaGFuZ2U/LihuZXdUaW1lKVxuXG4gICAgc2V0RmlsbGVkKG5ld0ZpbGxlZClcbiAgfVxuXG4gIC8vIEluY3JlYXNlIHRpbWUgd2l0aCBhcnJvdyB1cFxuICBjb25zdCBoYW5kbGVJbmNyZWFzZSA9ICh0eXBlOiAnaCcgfCAnbScgfCAncycpID0+IHtcbiAgICBjb25zdCBuZXdUaW1lID0gdGltZSA/IG5ldyBEYXRlKHRpbWUpIDogREVGQVVMVF9EQVRFXG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gZ2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSlcbiAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDI0KSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBjdXJyZW50VmFsdWUgPT09IDIzID8gMCA6IGN1cnJlbnRWYWx1ZSArIDEpXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGN1cnJlbnRWYWx1ZSA9PT0gMTIgPyAxIDogY3VycmVudFZhbHVlICsgMSlcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgY3VycmVudFZhbHVlID09PSA1OSA/IDAgOiBjdXJyZW50VmFsdWUgKyAxKVxuICAgIH1cbiAgICBjb25zdCBuZXdGaWxsZWQgPSB7IC4uLmZpbGxlZCB9XG4gICAgbmV3RmlsbGVkW3R5cGVdID0gdHJ1ZVxuXG4gICAgc2V0VGltZShuZXdUaW1lKVxuICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcbiAgICBzZXRGaWxsZWQobmV3RmlsbGVkKVxuICB9XG5cbiAgLy8gRGVjcmVhc2UgdGltZSB3aXRoIGFycm93IGRvd25cbiAgY29uc3QgaGFuZGxlRGVjcmVhc2UgPSAodHlwZTogJ2gnIHwgJ20nIHwgJ3MnKSA9PiB7XG4gICAgY29uc3QgbmV3VGltZSA9IHRpbWUgPyBuZXcgRGF0ZSh0aW1lKSA6IERFRkFVTFRfREFURVxuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGdldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUpXG5cbiAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDI0KSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBjdXJyZW50VmFsdWUgPT09IDAgPyAyMyA6IGN1cnJlbnRWYWx1ZSAtIDEpXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGN1cnJlbnRWYWx1ZSA9PT0gMSA/IDEyIDogY3VycmVudFZhbHVlIC0gMSlcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgY3VycmVudFZhbHVlID09PSAwID8gNTkgOiBjdXJyZW50VmFsdWUgLSAxKVxuICAgIH1cbiAgICBjb25zdCBuZXdGaWxsZWQgPSB7IC4uLmZpbGxlZCB9XG4gICAgbmV3RmlsbGVkW3R5cGVdID0gdHJ1ZVxuXG4gICAgc2V0VGltZShuZXdUaW1lKVxuICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcbiAgICBzZXRGaWxsZWQobmV3RmlsbGVkKVxuICB9XG5cbiAgLy8gR28gdG8gbmV4dCBpbnB1dFxuICBjb25zdCBoYW5kbGVOZXh0ID0gKHR5cGU6ICdoJyB8ICdtJyB8ICdzJykgPT4ge1xuICAgIGlmICh0eXBlID09PSAnaCcpIHtcbiAgICAgIHJlZk1pbnV0ZXMuY3VycmVudD8uZm9jdXMoKVxuICAgIH1cbiAgICBpZiAodHlwZSA9PT0gJ20nKSB7XG4gICAgICByZWZTZWNvbmRzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICB9XG4gICAgaWYgKHR5cGUgPT09ICdzJyAmJiB0aW1lRm9ybWF0ID09PSAxMikge1xuICAgICAgcmVmUGVyaW9kLmN1cnJlbnQ/LmZvY3VzKClcbiAgICB9XG4gIH1cblxuICAvLyBHbyB0byBwcmV2aW91cyBpbnB1dFxuICBjb25zdCBoYW5kbGVQcmV2aW91cyA9ICh0eXBlOiAnaCcgfCAnbScgfCAncycpID0+IHtcbiAgICBpZiAodHlwZSA9PT0gJ20nKSB7XG4gICAgICByZWZIb3Vycy5jdXJyZW50Py5mb2N1cygpXG4gICAgfVxuICAgIGlmICh0eXBlID09PSAncycpIHtcbiAgICAgIHJlZk1pbnV0ZXMuY3VycmVudD8uZm9jdXMoKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0YWNrIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSBnYXA9ezAuNX0+XG4gICAgICB7bGFiZWwgfHwgbGFiZWxEZXNjcmlwdGlvbiA/IChcbiAgICAgICAgPExhYmVsXG4gICAgICAgICAgaHRtbEZvcj17aWQgPz8gbG9jYWxJZH1cbiAgICAgICAgICBsYWJlbERlc2NyaXB0aW9uPXtsYWJlbERlc2NyaXB0aW9ufVxuICAgICAgICAgIHJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICA+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L0xhYmVsPlxuICAgICAgKSA6IG51bGx9XG4gICAgICA8VGltZUlucHV0V3JhcHBlclxuICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICBhcmlhLXJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgICAgZGF0YS1kaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIGRhdGEtZXJyb3I9eyEhZXJyb3J9XG4gICAgICAgIGRhdGEtcmVhZG9ubHk9e3JlYWRPbmx5fVxuICAgICAgICBkYXRhLXNpemU9e3NpemV9XG4gICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxuICAgICAgICBpZD17aWR9XG4gICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiByZWZIb3Vycy5jdXJyZW50Py5mb2N1cygpfVxuICAgICAgICBvbkZvY3VzPXtvbkZvY3VzfVxuICAgICAgPlxuICAgICAgICA8U3RhY2sgZGlyZWN0aW9uPVwicm93XCI+XG4gICAgICAgICAge1RJTUVfS0VZUy5tYXAodHlwZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21wdXRlZFJlZiA9ICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdoJykge1xuICAgICAgICAgICAgICAgIHJldHVybiByZWZIb3Vyc1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnbScpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVmTWludXRlc1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHJlZlNlY29uZHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGZ1bGxOYW1lID0gKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2gnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdob3VycydcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ20nKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdtaW51dGVzJ1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuICdzZWNvbmRzJ1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjb21wdXRlTWF4VmFsdWUgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gMTJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDI0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIDIzXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gNTlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiIGtleT17dHlwZX0+XG4gICAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbWF4PXtjb21wdXRlTWF4VmFsdWUoKX1cbiAgICAgICAgICAgICAgICAgIGFyaWEtdmFsdWVtaW49e3R5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAxMiA/IDEgOiAwfVxuICAgICAgICAgICAgICAgICAgYXJpYS12YWx1ZW5vdz17XG4gICAgICAgICAgICAgICAgICAgIGZpbGxlZFt0eXBlXVxuICAgICAgICAgICAgICAgICAgICAgID8gTnVtYmVyLnBhcnNlSW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQoZ2V0VmFsdWVCeVR5cGUodHlwZSwgdGltZSksIHR5cGUsIHRpbWVGb3JtYXQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAxMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgYXV0b0NvbXBsZXRlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzPXthdXRvRm9jdXMgJiYgdHlwZSA9PT0gJ2gnfVxuICAgICAgICAgICAgICAgICAgZGF0YS1zaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2Ake2Z1bGxOYW1lKCl9LWlucHV0YH1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gZ2V0TGFzdFR5cGVkQ2hhcihcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldFZhbHVlQnlUeXBlKHR5cGUsIHRpbWUpLFxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNOdW1iZXIoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKHR5cGUsIE51bWJlci5wYXJzZUludChrZXksIDEwKSlcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVJbmNyZWFzZSh0eXBlKVxuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlRGVjcmVhc2UodHlwZSlcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVByZXZpb3VzKHR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlTmV4dCh0eXBlKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlclt0eXBlXX1cbiAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICAgIHJlZj17Y29tcHV0ZWRSZWYoKX1cbiAgICAgICAgICAgICAgICAgIHJvbGU9XCJzcGluYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtcbiAgICAgICAgICAgICAgICAgICAgZmlsbGVkW3R5cGVdXG4gICAgICAgICAgICAgICAgICAgICAgPyBmb3JtYXQoZ2V0VmFsdWVCeVR5cGUodHlwZSwgdGltZSksIHR5cGUsIHRpbWVGb3JtYXQpXG4gICAgICAgICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAge3R5cGUgPT09ICdzJyA/IG51bGwgOiAoXG4gICAgICAgICAgICAgICAgICA8Q3VzdG9tVGV4dFxuICAgICAgICAgICAgICAgICAgICBhcz1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiYm9keVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDpcbiAgICAgICAgICAgICAgICAgIDwvQ3VzdG9tVGV4dD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgKVxuICAgICAgICAgIH0pfVxuICAgICAgICAgIHt0aW1lRm9ybWF0ID09PSAxMiA/IChcbiAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgICAgICAgIGFyaWEtdmFsdWVtYXg9ezEyfVxuICAgICAgICAgICAgICBhcmlhLXZhbHVlbWluPXswfVxuICAgICAgICAgICAgICBhcmlhLXZhbHVlbm93PXtwZXJpb2QgPT09ICdhbScgPyAwIDogMTJ9XG4gICAgICAgICAgICAgIGFyaWEtdmFsdWV0ZXh0PXtwZXJpb2R9XG4gICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgZGF0YS1wZXJpb2RcbiAgICAgICAgICAgICAgZGF0YS1zaXplPXtzaXplfVxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImFtLXBtLWlucHV0XCJcbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBldmVudC50YXJnZXQudmFsdWUuc2xpY2UoLTEpXG4gICAgICAgICAgICAgICAgICBpZiAoaXNBT3JQKGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlUGVyaW9kKGtleSBhcyAnYScgfCAncCcpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBvbkNsaWNrPXtldmVudCA9PiBldmVudC5zdG9wUHJvcGFnYXRpb24oKX1cbiAgICAgICAgICAgICAgb25LZXlEb3duPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFyZWFkT25seSAmJiAhZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1VwJyB8fCBldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlUGVyaW9kKHBlcmlvZCA9PT0gJ2FtJyA/ICdwJyA6ICdhJylcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgIHJlZlNlY29uZHMuY3VycmVudD8uZm9jdXMoKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyLnBlcmlvZCA/PyAnQU0nfVxuICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgIHJlZj17cmVmUGVyaW9kfVxuICAgICAgICAgICAgICByb2xlPVwic3BpbmJ1dHRvblwiXG4gICAgICAgICAgICAgIHZhbHVlPXtwZXJpb2Q/LnRvVXBwZXJDYXNlKCl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L1N0YWNrPlxuICAgICAgICB7ZXJyb3IgfHwgY2xlYXJhYmxlID8gKFxuICAgICAgICAgIDxTdGFjayBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZGlyZWN0aW9uPVwicm93XCIgZ2FwPVwiMVwiPlxuICAgICAgICAgICAge2Vycm9yID8gPEFsZXJ0Q2lyY2xlSWNvbiBzZW50aW1lbnQ9XCJkYW5nZXJcIiAvPiA6IG51bGx9XG4gICAgICAgICAgICB7Y2xlYXJhYmxlID8gKFxuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cImNsZWFyIHZhbHVlXCJcbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImNsZWFyXCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWQgfHwgcmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAgIHNldFRpbWUodW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U/Lih1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Q2xvc2VJY29uIC8+XG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L1RpbWVJbnB1dFdyYXBwZXI+XG4gICAgICB7aGVscGVyIHx8IGVycm9yID8gKFxuICAgICAgICA8VGV4dFxuICAgICAgICAgIGFzPVwicFwiXG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgIHByb21pbmVuY2U9e2Vycm9yID8gJ2RlZmF1bHQnIDogJ3dlYWsnfVxuICAgICAgICAgIHNlbnRpbWVudD17ZXJyb3IgPyAnZGFuZ2VyJyA6ICduZXV0cmFsJ31cbiAgICAgICAgICB2YXJpYW50PVwiY2FwdGlvblwiXG4gICAgICAgID5cbiAgICAgICAgICB7ZXJyb3IgfHwgaGVscGVyfVxuICAgICAgICA8L1RleHQ+XG4gICAgICApIDogbnVsbH1cbiAgICA8L1N0YWNrPlxuICApXG59XG4iXX0= */"));
|
|
62
62
|
const Input = /* @__PURE__ */ _styled__default.default("input", process.env.NODE_ENV === "production" ? {
|
|
63
63
|
target: "e1ewpo8m1"
|
|
64
64
|
} : {
|
|
@@ -88,7 +88,7 @@ const Input = /* @__PURE__ */ _styled__default.default("input", process.env.NODE
|
|
|
88
88
|
theme
|
|
89
89
|
}) => theme.colors.neutral.textWeak, ';&[data-size="large"]{width:calc(', ({
|
|
90
90
|
theme
|
|
91
|
-
}) => `${theme.sizing["312"]} + ${theme.sizing["025"]}`, ");}}::-moz-selection{background:none;}::selection{background:none;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RpbWVJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEdFIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RpbWVJbnB1dC9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBBbGVydENpcmNsZUljb24sIENsb3NlSWNvbiB9IGZyb20gJ0B1bHRyYXZpb2xldC9pY29ucydcbmltcG9ydCB0eXBlIHsgRm9jdXNFdmVudCwgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZUlkLCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9CdXR0b24nXG5pbXBvcnQgeyBMYWJlbCB9IGZyb20gJy4uL0xhYmVsJ1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICcuLi9TdGFjaydcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi9UZXh0J1xuaW1wb3J0IHtcbiAgREVGQVVMVF9EQVRFLFxuICBERUZBVUxUX1BMQUNFSE9MREVSLFxuICBJTlBVVF9TSVpFX0hFSUdIVCxcbiAgVElNRV9LRVlTLFxufSBmcm9tICcuL2NvbnN0YW50cydcbmltcG9ydCB7XG4gIGNhbkNvbmNhdCxcbiAgZm9ybWF0LFxuICBnZXRMYXN0VHlwZWRDaGFyLFxuICBnZXRWYWx1ZUJ5VHlwZSxcbiAgaXNBT3JQLFxuICBpc0NvbXBsZXRlSG91cixcbiAgaXNOdW1iZXIsXG4gIHNldFZhbHVlQnlUeXBlLFxufSBmcm9tICcuL2hlbHBlcnMnXG5cbmV4cG9ydCB0eXBlIFRpbWUgPSB7XG4gIGg6IHN0cmluZ1xuICBtOiBzdHJpbmdcbiAgczogc3RyaW5nXG4gIHBlcmlvZD86IHN0cmluZ1xufVxuXG5jb25zdCBUaW1lSW5wdXRXcmFwcGVyID0gc3R5bGVkKFN0YWNrKTx7XG4gICdkYXRhLXJlYWRvbmx5JzogYm9vbGVhblxuICAnZGF0YS1kaXNhYmxlZCc6IGJvb2xlYW5cbiAgJ2RhdGEtc2l6ZSc6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSdcbiAgJ2RhdGEtZXJyb3InOiBib29sZWFuXG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgY3Vyc29yOiB0ZXh0O1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWzFdfTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kfTtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuXG4gICY6bm90KFtkYXRhLWRpc2FibGVkPVwidHJ1ZVwiXSk6bm90KFtkYXRhLXJlYWRvbmx5PVwidHJ1ZVwiXSk6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVySG92ZXJ9O1xuICAgIGJveC1zaGFkb3c6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2hhZG93cy5mb2N1c1ByaW1hcnl9O1xuICB9XG5cbiAgJltkYXRhLWRpc2FibGVkPVwiZmFsc2VcIl06aG92ZXIsXG4gIFtkYXRhLWRpc2FibGVkPVwiZmFsc2VcIl06Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJIb3Zlcn07XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVySG92ZXJ9O1xuICB9XG5cbiAgJltkYXRhLXNpemU9J3NtYWxsJ10ge1xuICAgIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaXppbmdbSU5QVVRfU0laRV9IRUlHSFQuc21hbGxdfTtcbiAgICBwYWRkaW5nLWxlZnQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbMV19O1xuICB9XG5cbiAgJltkYXRhLXNpemU9J21lZGl1bSddIHtcbiAgICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nW0lOUFVUX1NJWkVfSEVJR0hULm1lZGl1bV19O1xuICB9XG5cbiAgJltkYXRhLXNpemU9J2xhcmdlJ10ge1xuICAgIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaXppbmdbSU5QVVRfU0laRV9IRUlHSFQubGFyZ2VdfTtcbiAgfVxuXG4gICZbZGF0YS1yZWFkb25seT0ndHJ1ZSddIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrfTtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICAmW2RhdGEtZGlzYWJsZWQ9J3RydWUnXSB7XG4gICAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWR9O1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJEaXNhYmxlZH07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gICZbZGF0YS1lcnJvcj0ndHJ1ZSddIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVyfTtcblxuICAgICY6bm90KFtkYXRhLWRpc2FibGVkPVwidHJ1ZVwiXSk6bm90KFtkYXRhLXJlYWRvbmx5PVwidHJ1ZVwiXSk6YWN0aXZlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICAgIGJveC1zaGFkb3c6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2hhZG93cy5mb2N1c0Rhbmdlcn07XG4gICAgfVxuXG4gICAgJjpub3QoW2RhdGEtZGlzYWJsZWQ9XCJ0cnVlXCJdKTpub3QoW2RhdGEtcmVhZG9ubHk9XCJ0cnVlXCJdKTpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJIb3Zlcn07XG4gICAgfVxuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBJbnB1dCA9IHN0eWxlZC5pbnB1dDx7XG4gICdkYXRhLXNpemUnOiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnXG4gICdkYXRhLXBlcmlvZCc/OiBib29sZWFuXG59PmBcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnR5cG9ncmFwaHkuYm9keVNtYWxsLmZvbnRTaXplfTtcbiAgd2lkdGg6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nWzMxMl19O1xuICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nWzMwMF19O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucmFkaWkuZGVmYXVsdH07XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICBjYXJldC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgJltkYXRhLXNpemU9J2xhcmdlJ10ge1xuICAgIGZvbnQtc2l6ZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS50eXBvZ3JhcGh5LmJvZHkuZm9udFNpemV9O1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrfTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6YWN0aXZlLFxuICA6bm90KDpkaXNhYmxlZCk6Zm9jdXN7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nfTtcbiAgICBjb2xvcjogICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dH07XG4gIH1cblxuICAmOnJlYWQtb25seSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gICZbZGF0YS1wZXJpb2Q9XCJ0cnVlXCJdIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG5cbiAgICAmW2RhdGEtc2l6ZT1cImxhcmdlXCJdIHtcbiAgICAgIHdpZHRoOiBjYWxjKCR7KHsgdGhlbWUgfSkgPT4gYCR7dGhlbWUuc2l6aW5nWyczMTInXX0gKyAke3RoZW1lLnNpemluZ1snMDI1J119YH0pXG4gICAgfVxuXG4gIH1cblxuICA6Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG5cbiAgOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbmBcblxuY29uc3QgQ3VzdG9tVGV4dCA9IHN0eWxlZChUZXh0KWBcbnBhZGRpbmctaW5saW5lOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG50eXBlIFRpbWVJbnB1dFByb3BzID0ge1xuICBwbGFjZWhvbGRlcj86IFRpbWVcbiAgdmFsdWU/OiBEYXRlIHwgbnVsbFxuICBjbGVhcmFibGU/OiBib29sZWFuXG4gIHJlcXVpcmVkPzogYm9vbGVhblxuICBsYWJlbERlc2NyaXB0aW9uPzogUmVhY3ROb2RlXG4gIGhlbHBlcj86IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgcmVhZE9ubHk/OiBib29sZWFuXG4gIGVycm9yPzogYm9vbGVhbiB8IHN0cmluZ1xuICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIG9uQ2hhbmdlPzogKHZhbHVlOiBEYXRlIHwgdW5kZWZpbmVkLCB2YWx1ZVBlcmlvZD86IHN0cmluZykgPT4gdm9pZFxuICBvbkJsdXI/OiAoZXZlbnQ6IEZvY3VzRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHZvaWRcbiAgb25Gb2N1cz86IChldmVudDogRm9jdXNFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4gdm9pZFxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgaWQ/OiBzdHJpbmdcbiAgc2l6ZT86ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSdcbiAgdGltZUZvcm1hdD86IDEyIHwgMjRcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgZm9jdXMgb24gdGhlIGVsZW1lbnQgb24gcmVuZGVyLiBBdXRvZm9jdXMgaXMgYXBwbGllZCB0byB0aGUgaG91ciBpbnB1dFxuICAgKi9cbiAgYXV0b0ZvY3VzPzogYm9vbGVhblxufSAmIChcbiAgfCB7XG4gICAgICBsYWJlbD86IHN0cmluZ1xuICAgICAgJ2FyaWEtbGFiZWwnPzogbmV2ZXJcbiAgICB9XG4gIHwge1xuICAgICAgbGFiZWw/OiBuZXZlclxuICAgICAgJ2FyaWEtbGFiZWwnOiBzdHJpbmdcbiAgICB9XG4pXG5cbi8qKlxuICogQSB0aW1lIGlucHV0IGNvbXBvbmVudCB0aGF0IGFsbG93cyB1c2VycyB0byB0eXBlIGEgdGltZSBpbiBhIDI0IG9yIDEyLWhvdXIgZm9ybWF0LlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGNvbXBvbmVudCBpcyBleHBlcmltZW50YWwgYW5kIG1heSBiZSBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgaW4gdGhlIGZ1dHVyZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRpbWVJbnB1dCA9ICh7XG4gIGxhYmVsLFxuICB0aW1lRm9ybWF0ID0gMjQsXG4gIHZhbHVlLFxuICBjbGVhcmFibGUsXG4gIHJlcXVpcmVkLFxuICBsYWJlbERlc2NyaXB0aW9uLFxuICBoZWxwZXIsXG4gIHNpemUgPSAnbGFyZ2UnLFxuICBkaXNhYmxlZCA9IGZhbHNlLFxuICByZWFkT25seSA9IGZhbHNlLFxuICBlcnJvciA9IGZhbHNlLFxuICBvbkNoYW5nZSxcbiAgb25CbHVyLFxuICBvbkZvY3VzLFxuICBjbGFzc05hbWUsXG4gIGlkLFxuICBhdXRvRm9jdXMsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gIHBsYWNlaG9sZGVyID0gREVGQVVMVF9QTEFDRUhPTERFUixcbiAgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsXG59OiBUaW1lSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbElkID0gdXNlSWQoKVxuICBjb25zdCBkZWZhdWx0UGVyaW9kID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSByZXR1cm4gdmFsdWUuZ2V0SG91cnMoKSA+PSAxMiA/ICdwbScgOiAnYW0nXG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH0sIFt2YWx1ZV0pXG5cbiAgY29uc3QgW3RpbWUsIHNldFRpbWVdID0gdXNlU3RhdGUodmFsdWUpXG4gIGNvbnN0IFtwZXJpb2QsIHNldFBlcmlvZF0gPSB1c2VTdGF0ZTwncG0nIHwgJ2FtJyB8IHVuZGVmaW5lZD4oZGVmYXVsdFBlcmlvZClcbiAgY29uc3QgW2ZpbGxlZCwgc2V0RmlsbGVkXSA9IHVzZVN0YXRlKFxuICAgIHZhbHVlID8geyBoOiB0cnVlLCBtOiB0cnVlLCBzOiB0cnVlIH0gOiB7IGg6IGZhbHNlLCBtOiBmYWxzZSwgczogZmFsc2UgfSxcbiAgKSAvLyB0byBub3Qgc2hvdyAwMCB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIHBsYWNlaG9sZGVyXG5cbiAgY29uc3QgcmVmSG91cnMgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcbiAgY29uc3QgcmVmU2Vjb25kcyA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuICBjb25zdCByZWZNaW51dGVzID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHJlZlBlcmlvZCA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBzZXRUaW1lKHZhbHVlKVxuXG4gICAgICAvLyB3aXRob3V0IHRoaXMgY29uZGl0aW9uLCBldmVyeSB0aW1lIGFuIGlucHV0IHZhbHVlIGNoYW5nZXMsIHRoZSBvdGhlciBvbmVzIHdpbGwgYmUgc2V0IHRvIDAgaWYgdGhleSB1c2VkIHRvIGJlIHVuZGVmaW5lZFxuICAgICAgLy8gaW5zdGVhZCBvZiBsZWF2aW5nIHRoZW0gZW1wdHkgKGFuZCBzaG93aW5nIHRoZSBwbGFjZWhvbGRlcilcbiAgICAgIGlmICh2YWx1ZS5nZXRUaW1lKCkgIT09IHRpbWU/LmdldFRpbWUoKSkge1xuICAgICAgICBzZXRGaWxsZWQoeyBoOiB0cnVlLCBtOiB0cnVlLCBzOiB0cnVlIH0pXG4gICAgICB9XG4gICAgfVxuICAgIC8vIG94bGludC1kaXNhYmxlIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbdmFsdWVdKVxuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZVBlcmlvZCA9IChrZXk6ICdhJyB8ICdwJykgPT4ge1xuICAgIGlmICghdGltZSkge1xuICAgICAgc2V0UGVyaW9kKGAke2tleX1tYClcbiAgICB9IGVsc2UgaWYgKGtleS50b0xvd2VyQ2FzZSgpID09PSAnYScpIHtcbiAgICAgIGlmICh0aW1lLmdldEhvdXJzKCkgPj0gMTIpIHtcbiAgICAgICAgY29uc3QgbmV3VGltZSA9IG5ldyBEYXRlKHRpbWUpXG4gICAgICAgIG5ld1RpbWUuc2V0SG91cnMobmV3VGltZS5nZXRIb3VycygpIC0gMTIpXG4gICAgICAgIHNldFRpbWUobmV3VGltZSlcbiAgICAgICAgb25DaGFuZ2U/LihuZXdUaW1lKVxuICAgICAgfVxuICAgICAgc2V0UGVyaW9kKCdhbScpXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aW1lLmdldEhvdXJzKCkgPCAxMikge1xuICAgICAgICBjb25zdCBuZXdUaW1lID0gbmV3IERhdGUodGltZSlcbiAgICAgICAgbmV3VGltZS5zZXRIb3VycyhuZXdUaW1lLmdldEhvdXJzKCkgKyAxMilcbiAgICAgICAgc2V0VGltZShuZXdUaW1lKVxuICAgICAgICBvbkNoYW5nZT8uKG5ld1RpbWUpXG4gICAgICB9XG4gICAgICBzZXRQZXJpb2QoJ3BtJylcbiAgICB9XG4gIH1cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKHR5cGU6ICdoJyB8ICdtJyB8ICdzJywga2V5OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBuZXdUaW1lID0gdGltZSA/IG5ldyBEYXRlKHRpbWUpIDogREVGQVVMVF9EQVRFXG4gICAgY29uc3QgdmFsdWVUb0NoYW5nZSA9IGdldFZhbHVlQnlUeXBlKHR5cGUsIHRpbWUpXG5cbiAgICBpZiAoY2FuQ29uY2F0KHZhbHVlVG9DaGFuZ2UsIHR5cGUsIGtleSwgdGltZUZvcm1hdCkpIHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gKHZhbHVlVG9DaGFuZ2UgJSAxMCkgKiAxMCArIGtleVxuXG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBuZXdWYWx1ZSlcbiAgICB9IGVsc2Ugc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwga2V5KVxuXG4gICAgY29uc3QgbmV3VmFsdWUgPSBnZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lKVxuICAgIC8vIEZvY3VzIHRvIG5leHQgaW5wdXQgaWYgdGhlIGN1cnJlbnQgaW5wdXQgaGFzIGEgdmFsaWQgdGltZVxuICAgIGlmICh0eXBlID09PSAncycgJiYgbmV3VGltZSAmJiBuZXdWYWx1ZSA+PSA3ICYmIHRpbWVGb3JtYXQgPT09IDEyKSB7XG4gICAgICByZWZQZXJpb2QuY3VycmVudD8uZm9jdXMoKVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ20nICYmIG5ld1RpbWUgJiYgbmV3VmFsdWUgPj0gNikge1xuICAgICAgcmVmU2Vjb25kcy5jdXJyZW50Py5mb2N1cygpXG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICdoJykge1xuICAgICAgaWYgKGlzQ29tcGxldGVIb3VyKHRpbWVGb3JtYXQsIG5ld1ZhbHVlKSkge1xuICAgICAgICByZWZNaW51dGVzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgbmV3RmlsbGVkID0geyAuLi5maWxsZWQgfVxuICAgIG5ld0ZpbGxlZFt0eXBlXSA9IHRydWVcblxuICAgIHNldFRpbWUobmV3VGltZSlcbiAgICBvbkNoYW5nZT8uKG5ld1RpbWUpXG5cbiAgICBzZXRGaWxsZWQobmV3RmlsbGVkKVxuICB9XG5cbiAgLy8gSW5jcmVhc2UgdGltZSB3aXRoIGFycm93IHVwXG4gIGNvbnN0IGhhbmRsZUluY3JlYXNlID0gKHR5cGU6ICdoJyB8ICdtJyB8ICdzJykgPT4ge1xuICAgIGNvbnN0IG5ld1RpbWUgPSB0aW1lID8gbmV3IERhdGUodGltZSkgOiBERUZBVUxUX0RBVEVcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBnZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lKVxuICAgIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMjQpIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGN1cnJlbnRWYWx1ZSA9PT0gMjMgPyAwIDogY3VycmVudFZhbHVlICsgMSlcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAxMikge1xuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgY3VycmVudFZhbHVlID09PSAxMiA/IDEgOiBjdXJyZW50VmFsdWUgKyAxKVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBjdXJyZW50VmFsdWUgPT09IDU5ID8gMCA6IGN1cnJlbnRWYWx1ZSArIDEpXG4gICAgfVxuICAgIGNvbnN0IG5ld0ZpbGxlZCA9IHsgLi4uZmlsbGVkIH1cbiAgICBuZXdGaWxsZWRbdHlwZV0gPSB0cnVlXG5cbiAgICBzZXRUaW1lKG5ld1RpbWUpXG4gICAgb25DaGFuZ2U/LihuZXdUaW1lKVxuICAgIHNldEZpbGxlZChuZXdGaWxsZWQpXG4gIH1cblxuICAvLyBEZWNyZWFzZSB0aW1lIHdpdGggYXJyb3cgZG93blxuICBjb25zdCBoYW5kbGVEZWNyZWFzZSA9ICh0eXBlOiAnaCcgfCAnbScgfCAncycpID0+IHtcbiAgICBjb25zdCBuZXdUaW1lID0gdGltZSA/IG5ldyBEYXRlKHRpbWUpIDogREVGQVVMVF9EQVRFXG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gZ2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSlcblxuICAgIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMjQpIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGN1cnJlbnRWYWx1ZSA9PT0gMCA/IDIzIDogY3VycmVudFZhbHVlIC0gMSlcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAxMikge1xuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgY3VycmVudFZhbHVlID09PSAxID8gMTIgOiBjdXJyZW50VmFsdWUgLSAxKVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBjdXJyZW50VmFsdWUgPT09IDAgPyA1OSA6IGN1cnJlbnRWYWx1ZSAtIDEpXG4gICAgfVxuICAgIGNvbnN0IG5ld0ZpbGxlZCA9IHsgLi4uZmlsbGVkIH1cbiAgICBuZXdGaWxsZWRbdHlwZV0gPSB0cnVlXG5cbiAgICBzZXRUaW1lKG5ld1RpbWUpXG4gICAgb25DaGFuZ2U/LihuZXdUaW1lKVxuICAgIHNldEZpbGxlZChuZXdGaWxsZWQpXG4gIH1cblxuICAvLyBHbyB0byBuZXh0IGlucHV0XG4gIGNvbnN0IGhhbmRsZU5leHQgPSAodHlwZTogJ2gnIHwgJ20nIHwgJ3MnKSA9PiB7XG4gICAgaWYgKHR5cGUgPT09ICdoJykgcmVmTWludXRlcy5jdXJyZW50Py5mb2N1cygpXG4gICAgaWYgKHR5cGUgPT09ICdtJykgcmVmU2Vjb25kcy5jdXJyZW50Py5mb2N1cygpXG4gICAgaWYgKHR5cGUgPT09ICdzJyAmJiB0aW1lRm9ybWF0ID09PSAxMikgcmVmUGVyaW9kLmN1cnJlbnQ/LmZvY3VzKClcbiAgfVxuXG4gIC8vIEdvIHRvIHByZXZpb3VzIGlucHV0XG4gIGNvbnN0IGhhbmRsZVByZXZpb3VzID0gKHR5cGU6ICdoJyB8ICdtJyB8ICdzJykgPT4ge1xuICAgIGlmICh0eXBlID09PSAnbScpIHJlZkhvdXJzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICBpZiAodHlwZSA9PT0gJ3MnKSByZWZNaW51dGVzLmN1cnJlbnQ/LmZvY3VzKClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0YWNrIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSBnYXA9ezAuNX0+XG4gICAgICB7bGFiZWwgfHwgbGFiZWxEZXNjcmlwdGlvbiA/IChcbiAgICAgICAgPExhYmVsXG4gICAgICAgICAgaHRtbEZvcj17aWQgPz8gbG9jYWxJZH1cbiAgICAgICAgICBsYWJlbERlc2NyaXB0aW9uPXtsYWJlbERlc2NyaXB0aW9ufVxuICAgICAgICAgIHJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICA+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L0xhYmVsPlxuICAgICAgKSA6IG51bGx9XG4gICAgICA8VGltZUlucHV0V3JhcHBlclxuICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICBhcmlhLXJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgICAgZGF0YS1kaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIGRhdGEtZXJyb3I9eyEhZXJyb3J9XG4gICAgICAgIGRhdGEtcmVhZG9ubHk9e3JlYWRPbmx5fVxuICAgICAgICBkYXRhLXNpemU9e3NpemV9XG4gICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxuICAgICAgICBpZD17aWR9XG4gICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiByZWZIb3Vycy5jdXJyZW50Py5mb2N1cygpfVxuICAgICAgICBvbkZvY3VzPXtvbkZvY3VzfVxuICAgICAgPlxuICAgICAgICA8U3RhY2sgZGlyZWN0aW9uPVwicm93XCI+XG4gICAgICAgICAge1RJTUVfS0VZUy5tYXAodHlwZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21wdXRlZFJlZiA9ICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdoJykgcmV0dXJuIHJlZkhvdXJzXG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnbScpIHJldHVybiByZWZNaW51dGVzXG5cbiAgICAgICAgICAgICAgcmV0dXJuIHJlZlNlY29uZHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGZ1bGxOYW1lID0gKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2gnKSByZXR1cm4gJ2hvdXJzJ1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ20nKSByZXR1cm4gJ21pbnV0ZXMnXG5cbiAgICAgICAgICAgICAgcmV0dXJuICdzZWNvbmRzJ1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjb21wdXRlTWF4VmFsdWUgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHJldHVybiAxMlxuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDI0KSByZXR1cm4gMjNcblxuICAgICAgICAgICAgICByZXR1cm4gNTlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiIGtleT17dHlwZX0+XG4gICAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbWF4PXtjb21wdXRlTWF4VmFsdWUoKX1cbiAgICAgICAgICAgICAgICAgIGFyaWEtdmFsdWVtaW49e3R5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAxMiA/IDEgOiAwfVxuICAgICAgICAgICAgICAgICAgYXJpYS12YWx1ZW5vdz17XG4gICAgICAgICAgICAgICAgICAgIGZpbGxlZFt0eXBlXVxuICAgICAgICAgICAgICAgICAgICAgID8gTnVtYmVyLnBhcnNlSW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQoZ2V0VmFsdWVCeVR5cGUodHlwZSwgdGltZSksIHR5cGUsIHRpbWVGb3JtYXQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAxMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgYXV0b0NvbXBsZXRlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzPXthdXRvRm9jdXMgJiYgdHlwZSA9PT0gJ2gnfVxuICAgICAgICAgICAgICAgICAgZGF0YS1zaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2Ake2Z1bGxOYW1lKCl9LWlucHV0YH1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gZ2V0TGFzdFR5cGVkQ2hhcihcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldFZhbHVlQnlUeXBlKHR5cGUsIHRpbWUpLFxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNOdW1iZXIoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKHR5cGUsIE51bWJlci5wYXJzZUludChrZXksIDEwKSlcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVJbmNyZWFzZSh0eXBlKVxuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlRGVjcmVhc2UodHlwZSlcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVByZXZpb3VzKHR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlTmV4dCh0eXBlKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlclt0eXBlXX1cbiAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICAgIHJlZj17Y29tcHV0ZWRSZWYoKX1cbiAgICAgICAgICAgICAgICAgIHJvbGU9XCJzcGluYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtcbiAgICAgICAgICAgICAgICAgICAgZmlsbGVkW3R5cGVdXG4gICAgICAgICAgICAgICAgICAgICAgPyBmb3JtYXQoZ2V0VmFsdWVCeVR5cGUodHlwZSwgdGltZSksIHR5cGUsIHRpbWVGb3JtYXQpXG4gICAgICAgICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAge3R5cGUgPT09ICdzJyA/IG51bGwgOiAoXG4gICAgICAgICAgICAgICAgICA8Q3VzdG9tVGV4dFxuICAgICAgICAgICAgICAgICAgICBhcz1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiYm9keVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDpcbiAgICAgICAgICAgICAgICAgIDwvQ3VzdG9tVGV4dD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgKVxuICAgICAgICAgIH0pfVxuICAgICAgICAgIHt0aW1lRm9ybWF0ID09PSAxMiA/IChcbiAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgICAgICAgIGFyaWEtdmFsdWVtYXg9ezEyfVxuICAgICAgICAgICAgICBhcmlhLXZhbHVlbWluPXswfVxuICAgICAgICAgICAgICBhcmlhLXZhbHVlbm93PXtwZXJpb2QgPT09ICdhbScgPyAwIDogMTJ9XG4gICAgICAgICAgICAgIGFyaWEtdmFsdWV0ZXh0PXtwZXJpb2R9XG4gICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgZGF0YS1wZXJpb2RcbiAgICAgICAgICAgICAgZGF0YS1zaXplPXtzaXplfVxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImFtLXBtLWlucHV0XCJcbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBldmVudC50YXJnZXQudmFsdWUuc2xpY2UoLTEpXG4gICAgICAgICAgICAgICAgICBpZiAoaXNBT3JQKGtleSkpIGhhbmRsZUNoYW5nZVBlcmlvZChrZXkgYXMgJ2EnIHwgJ3AnKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAgICAgICAgIG9uS2V5RG93bj17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZVBlcmlvZChwZXJpb2QgPT09ICdhbScgPyAncCcgOiAnYScpXG4gICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICByZWZTZWNvbmRzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlci5wZXJpb2QgPz8gJ0FNJ31cbiAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICByZWY9e3JlZlBlcmlvZH1cbiAgICAgICAgICAgICAgcm9sZT1cInNwaW5idXR0b25cIlxuICAgICAgICAgICAgICB2YWx1ZT17cGVyaW9kPy50b1VwcGVyQ2FzZSgpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TdGFjaz5cbiAgICAgICAge2Vycm9yIHx8IGNsZWFyYWJsZSA/IChcbiAgICAgICAgICA8U3RhY2sgYWxpZ25JdGVtcz1cImNlbnRlclwiIGRpcmVjdGlvbj1cInJvd1wiIGdhcD1cIjFcIj5cbiAgICAgICAgICAgIHtlcnJvciA/IDxBbGVydENpcmNsZUljb24gc2VudGltZW50PVwiZGFuZ2VyXCIgLz4gOiBudWxsfVxuICAgICAgICAgICAge2NsZWFyYWJsZSA/IChcbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJjbGVhciB2YWx1ZVwiXG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJjbGVhclwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkIHx8IHJlYWRPbmx5fVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICBzZXRUaW1lKHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPy4odW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENsb3NlSWNvbiAvPlxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9UaW1lSW5wdXRXcmFwcGVyPlxuICAgICAge2hlbHBlciB8fCBlcnJvciA/IChcbiAgICAgICAgPFRleHRcbiAgICAgICAgICBhcz1cInBcIlxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBwcm9taW5lbmNlPXtlcnJvciA/ICdkZWZhdWx0JyA6ICd3ZWFrJ31cbiAgICAgICAgICBzZW50aW1lbnQ9e2Vycm9yID8gJ2RhbmdlcicgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgdmFyaWFudD1cImNhcHRpb25cIlxuICAgICAgICA+XG4gICAgICAgICAge2Vycm9yIHx8IGhlbHBlcn1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9TdGFjaz5cbiAgKVxufVxuIl19 */"));
|
|
91
|
+
}) => `${theme.sizing["312"]} + ${theme.sizing["025"]}`, ");}}::-moz-selection{background:none;}::selection{background:none;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RpbWVJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEdFIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RpbWVJbnB1dC9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBBbGVydENpcmNsZUljb24sIENsb3NlSWNvbiB9IGZyb20gJ0B1bHRyYXZpb2xldC9pY29ucydcbmltcG9ydCB0eXBlIHsgRm9jdXNFdmVudCwgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZUlkLCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9CdXR0b24nXG5pbXBvcnQgeyBMYWJlbCB9IGZyb20gJy4uL0xhYmVsJ1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICcuLi9TdGFjaydcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi9UZXh0J1xuaW1wb3J0IHtcbiAgREVGQVVMVF9EQVRFLFxuICBERUZBVUxUX1BMQUNFSE9MREVSLFxuICBJTlBVVF9TSVpFX0hFSUdIVCxcbiAgVElNRV9LRVlTLFxufSBmcm9tICcuL2NvbnN0YW50cydcbmltcG9ydCB7XG4gIGNhbkNvbmNhdCxcbiAgZm9ybWF0LFxuICBnZXRMYXN0VHlwZWRDaGFyLFxuICBnZXRWYWx1ZUJ5VHlwZSxcbiAgaXNBT3JQLFxuICBpc0NvbXBsZXRlSG91cixcbiAgaXNOdW1iZXIsXG4gIHNldFZhbHVlQnlUeXBlLFxufSBmcm9tICcuL2hlbHBlcnMnXG5cbmV4cG9ydCB0eXBlIFRpbWUgPSB7XG4gIGg6IHN0cmluZ1xuICBtOiBzdHJpbmdcbiAgczogc3RyaW5nXG4gIHBlcmlvZD86IHN0cmluZ1xufVxuXG5jb25zdCBUaW1lSW5wdXRXcmFwcGVyID0gc3R5bGVkKFN0YWNrKTx7XG4gICdkYXRhLXJlYWRvbmx5JzogYm9vbGVhblxuICAnZGF0YS1kaXNhYmxlZCc6IGJvb2xlYW5cbiAgJ2RhdGEtc2l6ZSc6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSdcbiAgJ2RhdGEtZXJyb3InOiBib29sZWFuXG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgY3Vyc29yOiB0ZXh0O1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWzFdfTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kfTtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuXG4gICY6bm90KFtkYXRhLWRpc2FibGVkPVwidHJ1ZVwiXSk6bm90KFtkYXRhLXJlYWRvbmx5PVwidHJ1ZVwiXSk6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVySG92ZXJ9O1xuICAgIGJveC1zaGFkb3c6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2hhZG93cy5mb2N1c1ByaW1hcnl9O1xuICB9XG5cbiAgJltkYXRhLWRpc2FibGVkPVwiZmFsc2VcIl06aG92ZXIsXG4gIFtkYXRhLWRpc2FibGVkPVwiZmFsc2VcIl06Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJIb3Zlcn07XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVySG92ZXJ9O1xuICB9XG5cbiAgJltkYXRhLXNpemU9J3NtYWxsJ10ge1xuICAgIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaXppbmdbSU5QVVRfU0laRV9IRUlHSFQuc21hbGxdfTtcbiAgICBwYWRkaW5nLWxlZnQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbMV19O1xuICB9XG5cbiAgJltkYXRhLXNpemU9J21lZGl1bSddIHtcbiAgICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nW0lOUFVUX1NJWkVfSEVJR0hULm1lZGl1bV19O1xuICB9XG5cbiAgJltkYXRhLXNpemU9J2xhcmdlJ10ge1xuICAgIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaXppbmdbSU5QVVRfU0laRV9IRUlHSFQubGFyZ2VdfTtcbiAgfVxuXG4gICZbZGF0YS1yZWFkb25seT0ndHJ1ZSddIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrfTtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICAmW2RhdGEtZGlzYWJsZWQ9J3RydWUnXSB7XG4gICAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWR9O1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJEaXNhYmxlZH07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gICZbZGF0YS1lcnJvcj0ndHJ1ZSddIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVyfTtcblxuICAgICY6bm90KFtkYXRhLWRpc2FibGVkPVwidHJ1ZVwiXSk6bm90KFtkYXRhLXJlYWRvbmx5PVwidHJ1ZVwiXSk6YWN0aXZlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICAgIGJveC1zaGFkb3c6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2hhZG93cy5mb2N1c0Rhbmdlcn07XG4gICAgfVxuXG4gICAgJjpub3QoW2RhdGEtZGlzYWJsZWQ9XCJ0cnVlXCJdKTpub3QoW2RhdGEtcmVhZG9ubHk9XCJ0cnVlXCJdKTpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJIb3Zlcn07XG4gICAgfVxuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBJbnB1dCA9IHN0eWxlZC5pbnB1dDx7XG4gICdkYXRhLXNpemUnOiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnXG4gICdkYXRhLXBlcmlvZCc/OiBib29sZWFuXG59PmBcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnR5cG9ncmFwaHkuYm9keVNtYWxsLmZvbnRTaXplfTtcbiAgd2lkdGg6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nWzMxMl19O1xuICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nWzMwMF19O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucmFkaWkuZGVmYXVsdH07XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICBjYXJldC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgJltkYXRhLXNpemU9J2xhcmdlJ10ge1xuICAgIGZvbnQtc2l6ZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS50eXBvZ3JhcGh5LmJvZHkuZm9udFNpemV9O1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrfTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6YWN0aXZlLFxuICA6bm90KDpkaXNhYmxlZCk6Zm9jdXN7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nfTtcbiAgICBjb2xvcjogICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dH07XG4gIH1cblxuICAmOnJlYWQtb25seSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gICZbZGF0YS1wZXJpb2Q9XCJ0cnVlXCJdIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG5cbiAgICAmW2RhdGEtc2l6ZT1cImxhcmdlXCJdIHtcbiAgICAgIHdpZHRoOiBjYWxjKCR7KHsgdGhlbWUgfSkgPT4gYCR7dGhlbWUuc2l6aW5nWyczMTInXX0gKyAke3RoZW1lLnNpemluZ1snMDI1J119YH0pXG4gICAgfVxuXG4gIH1cblxuICA6Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG5cbiAgOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbmBcblxuY29uc3QgQ3VzdG9tVGV4dCA9IHN0eWxlZChUZXh0KWBcbnBhZGRpbmctaW5saW5lOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG50eXBlIFRpbWVJbnB1dFByb3BzID0ge1xuICBwbGFjZWhvbGRlcj86IFRpbWVcbiAgdmFsdWU/OiBEYXRlIHwgbnVsbFxuICBjbGVhcmFibGU/OiBib29sZWFuXG4gIHJlcXVpcmVkPzogYm9vbGVhblxuICBsYWJlbERlc2NyaXB0aW9uPzogUmVhY3ROb2RlXG4gIGhlbHBlcj86IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgcmVhZE9ubHk/OiBib29sZWFuXG4gIGVycm9yPzogYm9vbGVhbiB8IHN0cmluZ1xuICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIG9uQ2hhbmdlPzogKHZhbHVlOiBEYXRlIHwgdW5kZWZpbmVkLCB2YWx1ZVBlcmlvZD86IHN0cmluZykgPT4gdm9pZFxuICBvbkJsdXI/OiAoZXZlbnQ6IEZvY3VzRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHZvaWRcbiAgb25Gb2N1cz86IChldmVudDogRm9jdXNFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4gdm9pZFxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgaWQ/OiBzdHJpbmdcbiAgc2l6ZT86ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSdcbiAgdGltZUZvcm1hdD86IDEyIHwgMjRcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgZm9jdXMgb24gdGhlIGVsZW1lbnQgb24gcmVuZGVyLiBBdXRvZm9jdXMgaXMgYXBwbGllZCB0byB0aGUgaG91ciBpbnB1dFxuICAgKi9cbiAgYXV0b0ZvY3VzPzogYm9vbGVhblxufSAmIChcbiAgfCB7XG4gICAgICBsYWJlbD86IHN0cmluZ1xuICAgICAgJ2FyaWEtbGFiZWwnPzogbmV2ZXJcbiAgICB9XG4gIHwge1xuICAgICAgbGFiZWw/OiBuZXZlclxuICAgICAgJ2FyaWEtbGFiZWwnOiBzdHJpbmdcbiAgICB9XG4pXG5cbi8qKlxuICogQSB0aW1lIGlucHV0IGNvbXBvbmVudCB0aGF0IGFsbG93cyB1c2VycyB0byB0eXBlIGEgdGltZSBpbiBhIDI0IG9yIDEyLWhvdXIgZm9ybWF0LlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGNvbXBvbmVudCBpcyBleHBlcmltZW50YWwgYW5kIG1heSBiZSBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgaW4gdGhlIGZ1dHVyZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRpbWVJbnB1dCA9ICh7XG4gIGxhYmVsLFxuICB0aW1lRm9ybWF0ID0gMjQsXG4gIHZhbHVlLFxuICBjbGVhcmFibGUsXG4gIHJlcXVpcmVkLFxuICBsYWJlbERlc2NyaXB0aW9uLFxuICBoZWxwZXIsXG4gIHNpemUgPSAnbGFyZ2UnLFxuICBkaXNhYmxlZCA9IGZhbHNlLFxuICByZWFkT25seSA9IGZhbHNlLFxuICBlcnJvciA9IGZhbHNlLFxuICBvbkNoYW5nZSxcbiAgb25CbHVyLFxuICBvbkZvY3VzLFxuICBjbGFzc05hbWUsXG4gIGlkLFxuICBhdXRvRm9jdXMsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gIHBsYWNlaG9sZGVyID0gREVGQVVMVF9QTEFDRUhPTERFUixcbiAgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsXG59OiBUaW1lSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbElkID0gdXNlSWQoKVxuICBjb25zdCBkZWZhdWx0UGVyaW9kID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWUuZ2V0SG91cnMoKSA+PSAxMiA/ICdwbScgOiAnYW0nXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbdmFsdWVdKVxuXG4gIGNvbnN0IFt0aW1lLCBzZXRUaW1lXSA9IHVzZVN0YXRlKHZhbHVlKVxuICBjb25zdCBbcGVyaW9kLCBzZXRQZXJpb2RdID0gdXNlU3RhdGU8J3BtJyB8ICdhbScgfCB1bmRlZmluZWQ+KGRlZmF1bHRQZXJpb2QpXG4gIGNvbnN0IFtmaWxsZWQsIHNldEZpbGxlZF0gPSB1c2VTdGF0ZShcbiAgICB2YWx1ZSA/IHsgaDogdHJ1ZSwgbTogdHJ1ZSwgczogdHJ1ZSB9IDogeyBoOiBmYWxzZSwgbTogZmFsc2UsIHM6IGZhbHNlIH0sXG4gICkgLy8gdG8gbm90IHNob3cgMDAgd2hlbiB0aGVyZSBzaG91bGQgYmUgYSBwbGFjZWhvbGRlclxuXG4gIGNvbnN0IHJlZkhvdXJzID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHJlZlNlY29uZHMgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcbiAgY29uc3QgcmVmTWludXRlcyA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuICBjb25zdCByZWZQZXJpb2QgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgc2V0VGltZSh2YWx1ZSlcblxuICAgICAgLy8gd2l0aG91dCB0aGlzIGNvbmRpdGlvbiwgZXZlcnkgdGltZSBhbiBpbnB1dCB2YWx1ZSBjaGFuZ2VzLCB0aGUgb3RoZXIgb25lcyB3aWxsIGJlIHNldCB0byAwIGlmIHRoZXkgdXNlZCB0byBiZSB1bmRlZmluZWRcbiAgICAgIC8vIGluc3RlYWQgb2YgbGVhdmluZyB0aGVtIGVtcHR5IChhbmQgc2hvd2luZyB0aGUgcGxhY2Vob2xkZXIpXG4gICAgICBpZiAodmFsdWUuZ2V0VGltZSgpICE9PSB0aW1lPy5nZXRUaW1lKCkpIHtcbiAgICAgICAgc2V0RmlsbGVkKHsgaDogdHJ1ZSwgbTogdHJ1ZSwgczogdHJ1ZSB9KVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBveGxpbnQtZGlzYWJsZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW3ZhbHVlXSlcblxuICBjb25zdCBoYW5kbGVDaGFuZ2VQZXJpb2QgPSAoa2V5OiAnYScgfCAncCcpID0+IHtcbiAgICBpZiAoIXRpbWUpIHtcbiAgICAgIHNldFBlcmlvZChgJHtrZXl9bWApXG4gICAgfSBlbHNlIGlmIChrZXkudG9Mb3dlckNhc2UoKSA9PT0gJ2EnKSB7XG4gICAgICBpZiAodGltZS5nZXRIb3VycygpID49IDEyKSB7XG4gICAgICAgIGNvbnN0IG5ld1RpbWUgPSBuZXcgRGF0ZSh0aW1lKVxuICAgICAgICBuZXdUaW1lLnNldEhvdXJzKG5ld1RpbWUuZ2V0SG91cnMoKSAtIDEyKVxuICAgICAgICBzZXRUaW1lKG5ld1RpbWUpXG4gICAgICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcbiAgICAgIH1cbiAgICAgIHNldFBlcmlvZCgnYW0nKVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGltZS5nZXRIb3VycygpIDwgMTIpIHtcbiAgICAgICAgY29uc3QgbmV3VGltZSA9IG5ldyBEYXRlKHRpbWUpXG4gICAgICAgIG5ld1RpbWUuc2V0SG91cnMobmV3VGltZS5nZXRIb3VycygpICsgMTIpXG4gICAgICAgIHNldFRpbWUobmV3VGltZSlcbiAgICAgICAgb25DaGFuZ2U/LihuZXdUaW1lKVxuICAgICAgfVxuICAgICAgc2V0UGVyaW9kKCdwbScpXG4gICAgfVxuICB9XG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9ICh0eXBlOiAnaCcgfCAnbScgfCAncycsIGtleTogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgbmV3VGltZSA9IHRpbWUgPyBuZXcgRGF0ZSh0aW1lKSA6IERFRkFVTFRfREFURVxuICAgIGNvbnN0IHZhbHVlVG9DaGFuZ2UgPSBnZXRWYWx1ZUJ5VHlwZSh0eXBlLCB0aW1lKVxuXG4gICAgaWYgKGNhbkNvbmNhdCh2YWx1ZVRvQ2hhbmdlLCB0eXBlLCBrZXksIHRpbWVGb3JtYXQpKSB7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9ICh2YWx1ZVRvQ2hhbmdlICUgMTApICogMTAgKyBrZXlcblxuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgbmV3VmFsdWUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGtleSlcbiAgICB9XG5cbiAgICBjb25zdCBuZXdWYWx1ZSA9IGdldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUpXG4gICAgLy8gRm9jdXMgdG8gbmV4dCBpbnB1dCBpZiB0aGUgY3VycmVudCBpbnB1dCBoYXMgYSB2YWxpZCB0aW1lXG4gICAgaWYgKHR5cGUgPT09ICdzJyAmJiBuZXdUaW1lICYmIG5ld1ZhbHVlID49IDcgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHtcbiAgICAgIHJlZlBlcmlvZC5jdXJyZW50Py5mb2N1cygpXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnbScgJiYgbmV3VGltZSAmJiBuZXdWYWx1ZSA+PSA2KSB7XG4gICAgICByZWZTZWNvbmRzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ2gnICYmIGlzQ29tcGxldGVIb3VyKHRpbWVGb3JtYXQsIG5ld1ZhbHVlKSkge1xuICAgICAgcmVmTWludXRlcy5jdXJyZW50Py5mb2N1cygpXG4gICAgfVxuICAgIGNvbnN0IG5ld0ZpbGxlZCA9IHsgLi4uZmlsbGVkIH1cbiAgICBuZXdGaWxsZWRbdHlwZV0gPSB0cnVlXG5cbiAgICBzZXRUaW1lKG5ld1RpbWUpXG4gICAgb25DaGFuZ2U/LihuZXdUaW1lKVxuXG4gICAgc2V0RmlsbGVkKG5ld0ZpbGxlZClcbiAgfVxuXG4gIC8vIEluY3JlYXNlIHRpbWUgd2l0aCBhcnJvdyB1cFxuICBjb25zdCBoYW5kbGVJbmNyZWFzZSA9ICh0eXBlOiAnaCcgfCAnbScgfCAncycpID0+IHtcbiAgICBjb25zdCBuZXdUaW1lID0gdGltZSA/IG5ldyBEYXRlKHRpbWUpIDogREVGQVVMVF9EQVRFXG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gZ2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSlcbiAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDI0KSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBjdXJyZW50VmFsdWUgPT09IDIzID8gMCA6IGN1cnJlbnRWYWx1ZSArIDEpXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGN1cnJlbnRWYWx1ZSA9PT0gMTIgPyAxIDogY3VycmVudFZhbHVlICsgMSlcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgY3VycmVudFZhbHVlID09PSA1OSA/IDAgOiBjdXJyZW50VmFsdWUgKyAxKVxuICAgIH1cbiAgICBjb25zdCBuZXdGaWxsZWQgPSB7IC4uLmZpbGxlZCB9XG4gICAgbmV3RmlsbGVkW3R5cGVdID0gdHJ1ZVxuXG4gICAgc2V0VGltZShuZXdUaW1lKVxuICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcbiAgICBzZXRGaWxsZWQobmV3RmlsbGVkKVxuICB9XG5cbiAgLy8gRGVjcmVhc2UgdGltZSB3aXRoIGFycm93IGRvd25cbiAgY29uc3QgaGFuZGxlRGVjcmVhc2UgPSAodHlwZTogJ2gnIHwgJ20nIHwgJ3MnKSA9PiB7XG4gICAgY29uc3QgbmV3VGltZSA9IHRpbWUgPyBuZXcgRGF0ZSh0aW1lKSA6IERFRkFVTFRfREFURVxuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGdldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUpXG5cbiAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDI0KSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBjdXJyZW50VmFsdWUgPT09IDAgPyAyMyA6IGN1cnJlbnRWYWx1ZSAtIDEpXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGN1cnJlbnRWYWx1ZSA9PT0gMSA/IDEyIDogY3VycmVudFZhbHVlIC0gMSlcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgY3VycmVudFZhbHVlID09PSAwID8gNTkgOiBjdXJyZW50VmFsdWUgLSAxKVxuICAgIH1cbiAgICBjb25zdCBuZXdGaWxsZWQgPSB7IC4uLmZpbGxlZCB9XG4gICAgbmV3RmlsbGVkW3R5cGVdID0gdHJ1ZVxuXG4gICAgc2V0VGltZShuZXdUaW1lKVxuICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcbiAgICBzZXRGaWxsZWQobmV3RmlsbGVkKVxuICB9XG5cbiAgLy8gR28gdG8gbmV4dCBpbnB1dFxuICBjb25zdCBoYW5kbGVOZXh0ID0gKHR5cGU6ICdoJyB8ICdtJyB8ICdzJykgPT4ge1xuICAgIGlmICh0eXBlID09PSAnaCcpIHtcbiAgICAgIHJlZk1pbnV0ZXMuY3VycmVudD8uZm9jdXMoKVxuICAgIH1cbiAgICBpZiAodHlwZSA9PT0gJ20nKSB7XG4gICAgICByZWZTZWNvbmRzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICB9XG4gICAgaWYgKHR5cGUgPT09ICdzJyAmJiB0aW1lRm9ybWF0ID09PSAxMikge1xuICAgICAgcmVmUGVyaW9kLmN1cnJlbnQ/LmZvY3VzKClcbiAgICB9XG4gIH1cblxuICAvLyBHbyB0byBwcmV2aW91cyBpbnB1dFxuICBjb25zdCBoYW5kbGVQcmV2aW91cyA9ICh0eXBlOiAnaCcgfCAnbScgfCAncycpID0+IHtcbiAgICBpZiAodHlwZSA9PT0gJ20nKSB7XG4gICAgICByZWZIb3Vycy5jdXJyZW50Py5mb2N1cygpXG4gICAgfVxuICAgIGlmICh0eXBlID09PSAncycpIHtcbiAgICAgIHJlZk1pbnV0ZXMuY3VycmVudD8uZm9jdXMoKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0YWNrIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSBnYXA9ezAuNX0+XG4gICAgICB7bGFiZWwgfHwgbGFiZWxEZXNjcmlwdGlvbiA/IChcbiAgICAgICAgPExhYmVsXG4gICAgICAgICAgaHRtbEZvcj17aWQgPz8gbG9jYWxJZH1cbiAgICAgICAgICBsYWJlbERlc2NyaXB0aW9uPXtsYWJlbERlc2NyaXB0aW9ufVxuICAgICAgICAgIHJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICA+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L0xhYmVsPlxuICAgICAgKSA6IG51bGx9XG4gICAgICA8VGltZUlucHV0V3JhcHBlclxuICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICBhcmlhLXJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgICAgZGF0YS1kaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIGRhdGEtZXJyb3I9eyEhZXJyb3J9XG4gICAgICAgIGRhdGEtcmVhZG9ubHk9e3JlYWRPbmx5fVxuICAgICAgICBkYXRhLXNpemU9e3NpemV9XG4gICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxuICAgICAgICBpZD17aWR9XG4gICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiByZWZIb3Vycy5jdXJyZW50Py5mb2N1cygpfVxuICAgICAgICBvbkZvY3VzPXtvbkZvY3VzfVxuICAgICAgPlxuICAgICAgICA8U3RhY2sgZGlyZWN0aW9uPVwicm93XCI+XG4gICAgICAgICAge1RJTUVfS0VZUy5tYXAodHlwZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21wdXRlZFJlZiA9ICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdoJykge1xuICAgICAgICAgICAgICAgIHJldHVybiByZWZIb3Vyc1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnbScpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVmTWludXRlc1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHJlZlNlY29uZHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGZ1bGxOYW1lID0gKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2gnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdob3VycydcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ20nKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdtaW51dGVzJ1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuICdzZWNvbmRzJ1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjb21wdXRlTWF4VmFsdWUgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gMTJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDI0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIDIzXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gNTlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiIGtleT17dHlwZX0+XG4gICAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbWF4PXtjb21wdXRlTWF4VmFsdWUoKX1cbiAgICAgICAgICAgICAgICAgIGFyaWEtdmFsdWVtaW49e3R5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAxMiA/IDEgOiAwfVxuICAgICAgICAgICAgICAgICAgYXJpYS12YWx1ZW5vdz17XG4gICAgICAgICAgICAgICAgICAgIGZpbGxlZFt0eXBlXVxuICAgICAgICAgICAgICAgICAgICAgID8gTnVtYmVyLnBhcnNlSW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQoZ2V0VmFsdWVCeVR5cGUodHlwZSwgdGltZSksIHR5cGUsIHRpbWVGb3JtYXQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAxMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgYXV0b0NvbXBsZXRlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzPXthdXRvRm9jdXMgJiYgdHlwZSA9PT0gJ2gnfVxuICAgICAgICAgICAgICAgICAgZGF0YS1zaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2Ake2Z1bGxOYW1lKCl9LWlucHV0YH1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gZ2V0TGFzdFR5cGVkQ2hhcihcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldFZhbHVlQnlUeXBlKHR5cGUsIHRpbWUpLFxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNOdW1iZXIoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKHR5cGUsIE51bWJlci5wYXJzZUludChrZXksIDEwKSlcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVJbmNyZWFzZSh0eXBlKVxuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlRGVjcmVhc2UodHlwZSlcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVByZXZpb3VzKHR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlTmV4dCh0eXBlKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlclt0eXBlXX1cbiAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICAgIHJlZj17Y29tcHV0ZWRSZWYoKX1cbiAgICAgICAgICAgICAgICAgIHJvbGU9XCJzcGluYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtcbiAgICAgICAgICAgICAgICAgICAgZmlsbGVkW3R5cGVdXG4gICAgICAgICAgICAgICAgICAgICAgPyBmb3JtYXQoZ2V0VmFsdWVCeVR5cGUodHlwZSwgdGltZSksIHR5cGUsIHRpbWVGb3JtYXQpXG4gICAgICAgICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAge3R5cGUgPT09ICdzJyA/IG51bGwgOiAoXG4gICAgICAgICAgICAgICAgICA8Q3VzdG9tVGV4dFxuICAgICAgICAgICAgICAgICAgICBhcz1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiYm9keVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDpcbiAgICAgICAgICAgICAgICAgIDwvQ3VzdG9tVGV4dD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgKVxuICAgICAgICAgIH0pfVxuICAgICAgICAgIHt0aW1lRm9ybWF0ID09PSAxMiA/IChcbiAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgICAgICAgIGFyaWEtdmFsdWVtYXg9ezEyfVxuICAgICAgICAgICAgICBhcmlhLXZhbHVlbWluPXswfVxuICAgICAgICAgICAgICBhcmlhLXZhbHVlbm93PXtwZXJpb2QgPT09ICdhbScgPyAwIDogMTJ9XG4gICAgICAgICAgICAgIGFyaWEtdmFsdWV0ZXh0PXtwZXJpb2R9XG4gICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgZGF0YS1wZXJpb2RcbiAgICAgICAgICAgICAgZGF0YS1zaXplPXtzaXplfVxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImFtLXBtLWlucHV0XCJcbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBldmVudC50YXJnZXQudmFsdWUuc2xpY2UoLTEpXG4gICAgICAgICAgICAgICAgICBpZiAoaXNBT3JQKGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlUGVyaW9kKGtleSBhcyAnYScgfCAncCcpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBvbkNsaWNrPXtldmVudCA9PiBldmVudC5zdG9wUHJvcGFnYXRpb24oKX1cbiAgICAgICAgICAgICAgb25LZXlEb3duPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFyZWFkT25seSAmJiAhZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1VwJyB8fCBldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlUGVyaW9kKHBlcmlvZCA9PT0gJ2FtJyA/ICdwJyA6ICdhJylcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgIHJlZlNlY29uZHMuY3VycmVudD8uZm9jdXMoKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyLnBlcmlvZCA/PyAnQU0nfVxuICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgIHJlZj17cmVmUGVyaW9kfVxuICAgICAgICAgICAgICByb2xlPVwic3BpbmJ1dHRvblwiXG4gICAgICAgICAgICAgIHZhbHVlPXtwZXJpb2Q/LnRvVXBwZXJDYXNlKCl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L1N0YWNrPlxuICAgICAgICB7ZXJyb3IgfHwgY2xlYXJhYmxlID8gKFxuICAgICAgICAgIDxTdGFjayBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZGlyZWN0aW9uPVwicm93XCIgZ2FwPVwiMVwiPlxuICAgICAgICAgICAge2Vycm9yID8gPEFsZXJ0Q2lyY2xlSWNvbiBzZW50aW1lbnQ9XCJkYW5nZXJcIiAvPiA6IG51bGx9XG4gICAgICAgICAgICB7Y2xlYXJhYmxlID8gKFxuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cImNsZWFyIHZhbHVlXCJcbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImNsZWFyXCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWQgfHwgcmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAgIHNldFRpbWUodW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U/Lih1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Q2xvc2VJY29uIC8+XG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L1RpbWVJbnB1dFdyYXBwZXI+XG4gICAgICB7aGVscGVyIHx8IGVycm9yID8gKFxuICAgICAgICA8VGV4dFxuICAgICAgICAgIGFzPVwicFwiXG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgIHByb21pbmVuY2U9e2Vycm9yID8gJ2RlZmF1bHQnIDogJ3dlYWsnfVxuICAgICAgICAgIHNlbnRpbWVudD17ZXJyb3IgPyAnZGFuZ2VyJyA6ICduZXV0cmFsJ31cbiAgICAgICAgICB2YXJpYW50PVwiY2FwdGlvblwiXG4gICAgICAgID5cbiAgICAgICAgICB7ZXJyb3IgfHwgaGVscGVyfVxuICAgICAgICA8L1RleHQ+XG4gICAgICApIDogbnVsbH1cbiAgICA8L1N0YWNrPlxuICApXG59XG4iXX0= */"));
|
|
92
92
|
const CustomText = /* @__PURE__ */ _styled__default.default(index$3.Text, process.env.NODE_ENV === "production" ? {
|
|
93
93
|
target: "e1ewpo8m0"
|
|
94
94
|
} : {
|
|
@@ -96,7 +96,7 @@ const CustomText = /* @__PURE__ */ _styled__default.default(index$3.Text, proces
|
|
|
96
96
|
label: "CustomText"
|
|
97
97
|
})("padding-inline:", ({
|
|
98
98
|
theme
|
|
99
|
-
}) => theme.space["0.25"], ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RpbWVJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0srQiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9UaW1lSW5wdXQvaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgQWxlcnRDaXJjbGVJY29uLCBDbG9zZUljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7IEZvY3VzRXZlbnQsIFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VJZCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJ1xuaW1wb3J0IHsgTGFiZWwgfSBmcm9tICcuLi9MYWJlbCdcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcbmltcG9ydCB7XG4gIERFRkFVTFRfREFURSxcbiAgREVGQVVMVF9QTEFDRUhPTERFUixcbiAgSU5QVVRfU0laRV9IRUlHSFQsXG4gIFRJTUVfS0VZUyxcbn0gZnJvbSAnLi9jb25zdGFudHMnXG5pbXBvcnQge1xuICBjYW5Db25jYXQsXG4gIGZvcm1hdCxcbiAgZ2V0TGFzdFR5cGVkQ2hhcixcbiAgZ2V0VmFsdWVCeVR5cGUsXG4gIGlzQU9yUCxcbiAgaXNDb21wbGV0ZUhvdXIsXG4gIGlzTnVtYmVyLFxuICBzZXRWYWx1ZUJ5VHlwZSxcbn0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5leHBvcnQgdHlwZSBUaW1lID0ge1xuICBoOiBzdHJpbmdcbiAgbTogc3RyaW5nXG4gIHM6IHN0cmluZ1xuICBwZXJpb2Q/OiBzdHJpbmdcbn1cblxuY29uc3QgVGltZUlucHV0V3JhcHBlciA9IHN0eWxlZChTdGFjayk8e1xuICAnZGF0YS1yZWFkb25seSc6IGJvb2xlYW5cbiAgJ2RhdGEtZGlzYWJsZWQnOiBib29sZWFuXG4gICdkYXRhLXNpemUnOiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnXG4gICdkYXRhLWVycm9yJzogYm9vbGVhblxufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGN1cnNvcjogdGV4dDtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsxXX07XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucmFkaWkuZGVmYXVsdH07XG4gIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcblxuICAmOm5vdChbZGF0YS1kaXNhYmxlZD1cInRydWVcIl0pOm5vdChbZGF0YS1yZWFkb25seT1cInRydWVcIl0pOmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgICBib3gtc2hhZG93OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNoYWRvd3MuZm9jdXNQcmltYXJ5fTtcbiAgfVxuXG4gICZbZGF0YS1kaXNhYmxlZD1cImZhbHNlXCJdOmhvdmVyLFxuICBbZGF0YS1kaXNhYmxlZD1cImZhbHNlXCJdOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVySG92ZXJ9O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgfVxuXG4gICZbZGF0YS1zaXplPSdzbWFsbCddIHtcbiAgICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nW0lOUFVUX1NJWkVfSEVJR0hULnNtYWxsXX07XG4gICAgcGFkZGluZy1sZWZ0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWzFdfTtcbiAgfVxuXG4gICZbZGF0YS1zaXplPSdtZWRpdW0nXSB7XG4gICAgaGVpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1tJTlBVVF9TSVpFX0hFSUdIVC5tZWRpdW1dfTtcbiAgfVxuXG4gICZbZGF0YS1zaXplPSdsYXJnZSddIHtcbiAgICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nW0lOUFVUX1NJWkVfSEVJR0hULmxhcmdlXX07XG4gIH1cblxuICAmW2RhdGEtcmVhZG9ubHk9J3RydWUnXSB7XG4gICAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha307XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJvcmRlcn07XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgJltkYXRhLWRpc2FibGVkPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAmW2RhdGEtZXJyb3I9J3RydWUnXSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlcn07XG5cbiAgICAmOm5vdChbZGF0YS1kaXNhYmxlZD1cInRydWVcIl0pOm5vdChbZGF0YS1yZWFkb25seT1cInRydWVcIl0pOmFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJIb3Zlcn07XG4gICAgICBib3gtc2hhZG93OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNoYWRvd3MuZm9jdXNEYW5nZXJ9O1xuICAgIH1cblxuICAgICY6bm90KFtkYXRhLWRpc2FibGVkPVwidHJ1ZVwiXSk6bm90KFtkYXRhLXJlYWRvbmx5PVwidHJ1ZVwiXSk6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJ9O1xuICAgIH1cbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgSW5wdXQgPSBzdHlsZWQuaW5wdXQ8e1xuICAnZGF0YS1zaXplJzogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJ1xuICAnZGF0YS1wZXJpb2QnPzogYm9vbGVhblxufT5gXG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS50eXBvZ3JhcGh5LmJvZHlTbWFsbC5mb250U2l6ZX07XG4gIHdpZHRoOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1szMTJdfTtcbiAgaGVpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1szMDBdfTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0fTtcbiAgY2FyZXQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICZbZGF0YS1zaXplPSdsYXJnZSddIHtcbiAgICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUudHlwb2dyYXBoeS5ib2R5LmZvbnRTaXplfTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZEhvdmVyfTtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSxcbiAgOm5vdCg6ZGlzYWJsZWQpOmZvY3Vze1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFN0cm9uZ307XG4gICAgY29sb3I6ICAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICB9XG5cbiAgJjpyZWFkLW9ubHkge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAmW2RhdGEtcGVyaW9kPVwidHJ1ZVwiXSB7XG4gICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuXG4gICAgJltkYXRhLXNpemU9XCJsYXJnZVwiXSB7XG4gICAgICB3aWR0aDogY2FsYygkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNpemluZ1snMzEyJ119ICsgJHt0aGVtZS5zaXppbmdbJzAyNSddfWB9KVxuICAgIH1cblxuICB9XG5cbiAgOjotbW96LXNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgfVxuXG4gIDo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG5gXG5cbmNvbnN0IEN1c3RvbVRleHQgPSBzdHlsZWQoVGV4dClgXG5wYWRkaW5nLWlubGluZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbmBcblxudHlwZSBUaW1lSW5wdXRQcm9wcyA9IHtcbiAgcGxhY2Vob2xkZXI/OiBUaW1lXG4gIHZhbHVlPzogRGF0ZSB8IG51bGxcbiAgY2xlYXJhYmxlPzogYm9vbGVhblxuICByZXF1aXJlZD86IGJvb2xlYW5cbiAgbGFiZWxEZXNjcmlwdGlvbj86IFJlYWN0Tm9kZVxuICBoZWxwZXI/OiBSZWFjdE5vZGVcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIHJlYWRPbmx5PzogYm9vbGVhblxuICBlcnJvcj86IGJvb2xlYW4gfCBzdHJpbmdcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xuICBvbkNoYW5nZT86ICh2YWx1ZTogRGF0ZSB8IHVuZGVmaW5lZCwgdmFsdWVQZXJpb2Q/OiBzdHJpbmcpID0+IHZvaWRcbiAgb25CbHVyPzogKGV2ZW50OiBGb2N1c0V2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uRm9jdXM/OiAoZXZlbnQ6IEZvY3VzRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHZvaWRcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGlkPzogc3RyaW5nXG4gIHNpemU/OiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnXG4gIHRpbWVGb3JtYXQ/OiAxMiB8IDI0XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGZvY3VzIG9uIHRoZSBlbGVtZW50IG9uIHJlbmRlci4gQXV0b2ZvY3VzIGlzIGFwcGxpZWQgdG8gdGhlIGhvdXIgaW5wdXRcbiAgICovXG4gIGF1dG9Gb2N1cz86IGJvb2xlYW5cbn0gJiAoXG4gIHwge1xuICAgICAgbGFiZWw/OiBzdHJpbmdcbiAgICAgICdhcmlhLWxhYmVsJz86IG5ldmVyXG4gICAgfVxuICB8IHtcbiAgICAgIGxhYmVsPzogbmV2ZXJcbiAgICAgICdhcmlhLWxhYmVsJzogc3RyaW5nXG4gICAgfVxuKVxuXG4vKipcbiAqIEEgdGltZSBpbnB1dCBjb21wb25lbnQgdGhhdCBhbGxvd3MgdXNlcnMgdG8gdHlwZSBhIHRpbWUgaW4gYSAyNCBvciAxMi1ob3VyIGZvcm1hdC5cbiAqIEBleHBlcmltZW50YWwgVGhpcyBjb21wb25lbnQgaXMgZXhwZXJpbWVudGFsIGFuZCBtYXkgYmUgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIGluIHRoZSBmdXR1cmUuXG4gKi9cbmV4cG9ydCBjb25zdCBUaW1lSW5wdXQgPSAoe1xuICBsYWJlbCxcbiAgdGltZUZvcm1hdCA9IDI0LFxuICB2YWx1ZSxcbiAgY2xlYXJhYmxlLFxuICByZXF1aXJlZCxcbiAgbGFiZWxEZXNjcmlwdGlvbixcbiAgaGVscGVyLFxuICBzaXplID0gJ2xhcmdlJyxcbiAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgZXJyb3IgPSBmYWxzZSxcbiAgb25DaGFuZ2UsXG4gIG9uQmx1cixcbiAgb25Gb2N1cyxcbiAgY2xhc3NOYW1lLFxuICBpZCxcbiAgYXV0b0ZvY3VzLFxuICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxuICBwbGFjZWhvbGRlciA9IERFRkFVTFRfUExBQ0VIT0xERVIsXG4gICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxufTogVGltZUlucHV0UHJvcHMpID0+IHtcbiAgY29uc3QgbG9jYWxJZCA9IHVzZUlkKClcbiAgY29uc3QgZGVmYXVsdFBlcmlvZCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICh2YWx1ZSkgcmV0dXJuIHZhbHVlLmdldEhvdXJzKCkgPj0gMTIgPyAncG0nIDogJ2FtJ1xuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbdmFsdWVdKVxuXG4gIGNvbnN0IFt0aW1lLCBzZXRUaW1lXSA9IHVzZVN0YXRlKHZhbHVlKVxuICBjb25zdCBbcGVyaW9kLCBzZXRQZXJpb2RdID0gdXNlU3RhdGU8J3BtJyB8ICdhbScgfCB1bmRlZmluZWQ+KGRlZmF1bHRQZXJpb2QpXG4gIGNvbnN0IFtmaWxsZWQsIHNldEZpbGxlZF0gPSB1c2VTdGF0ZShcbiAgICB2YWx1ZSA/IHsgaDogdHJ1ZSwgbTogdHJ1ZSwgczogdHJ1ZSB9IDogeyBoOiBmYWxzZSwgbTogZmFsc2UsIHM6IGZhbHNlIH0sXG4gICkgLy8gdG8gbm90IHNob3cgMDAgd2hlbiB0aGVyZSBzaG91bGQgYmUgYSBwbGFjZWhvbGRlclxuXG4gIGNvbnN0IHJlZkhvdXJzID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHJlZlNlY29uZHMgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcbiAgY29uc3QgcmVmTWludXRlcyA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuICBjb25zdCByZWZQZXJpb2QgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgc2V0VGltZSh2YWx1ZSlcblxuICAgICAgLy8gd2l0aG91dCB0aGlzIGNvbmRpdGlvbiwgZXZlcnkgdGltZSBhbiBpbnB1dCB2YWx1ZSBjaGFuZ2VzLCB0aGUgb3RoZXIgb25lcyB3aWxsIGJlIHNldCB0byAwIGlmIHRoZXkgdXNlZCB0byBiZSB1bmRlZmluZWRcbiAgICAgIC8vIGluc3RlYWQgb2YgbGVhdmluZyB0aGVtIGVtcHR5IChhbmQgc2hvd2luZyB0aGUgcGxhY2Vob2xkZXIpXG4gICAgICBpZiAodmFsdWUuZ2V0VGltZSgpICE9PSB0aW1lPy5nZXRUaW1lKCkpIHtcbiAgICAgICAgc2V0RmlsbGVkKHsgaDogdHJ1ZSwgbTogdHJ1ZSwgczogdHJ1ZSB9KVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBveGxpbnQtZGlzYWJsZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW3ZhbHVlXSlcblxuICBjb25zdCBoYW5kbGVDaGFuZ2VQZXJpb2QgPSAoa2V5OiAnYScgfCAncCcpID0+IHtcbiAgICBpZiAoIXRpbWUpIHtcbiAgICAgIHNldFBlcmlvZChgJHtrZXl9bWApXG4gICAgfSBlbHNlIGlmIChrZXkudG9Mb3dlckNhc2UoKSA9PT0gJ2EnKSB7XG4gICAgICBpZiAodGltZS5nZXRIb3VycygpID49IDEyKSB7XG4gICAgICAgIGNvbnN0IG5ld1RpbWUgPSBuZXcgRGF0ZSh0aW1lKVxuICAgICAgICBuZXdUaW1lLnNldEhvdXJzKG5ld1RpbWUuZ2V0SG91cnMoKSAtIDEyKVxuICAgICAgICBzZXRUaW1lKG5ld1RpbWUpXG4gICAgICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcbiAgICAgIH1cbiAgICAgIHNldFBlcmlvZCgnYW0nKVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGltZS5nZXRIb3VycygpIDwgMTIpIHtcbiAgICAgICAgY29uc3QgbmV3VGltZSA9IG5ldyBEYXRlKHRpbWUpXG4gICAgICAgIG5ld1RpbWUuc2V0SG91cnMobmV3VGltZS5nZXRIb3VycygpICsgMTIpXG4gICAgICAgIHNldFRpbWUobmV3VGltZSlcbiAgICAgICAgb25DaGFuZ2U/LihuZXdUaW1lKVxuICAgICAgfVxuICAgICAgc2V0UGVyaW9kKCdwbScpXG4gICAgfVxuICB9XG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9ICh0eXBlOiAnaCcgfCAnbScgfCAncycsIGtleTogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgbmV3VGltZSA9IHRpbWUgPyBuZXcgRGF0ZSh0aW1lKSA6IERFRkFVTFRfREFURVxuICAgIGNvbnN0IHZhbHVlVG9DaGFuZ2UgPSBnZXRWYWx1ZUJ5VHlwZSh0eXBlLCB0aW1lKVxuXG4gICAgaWYgKGNhbkNvbmNhdCh2YWx1ZVRvQ2hhbmdlLCB0eXBlLCBrZXksIHRpbWVGb3JtYXQpKSB7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9ICh2YWx1ZVRvQ2hhbmdlICUgMTApICogMTAgKyBrZXlcblxuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgbmV3VmFsdWUpXG4gICAgfSBlbHNlIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGtleSlcblxuICAgIGNvbnN0IG5ld1ZhbHVlID0gZ2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSlcbiAgICAvLyBGb2N1cyB0byBuZXh0IGlucHV0IGlmIHRoZSBjdXJyZW50IGlucHV0IGhhcyBhIHZhbGlkIHRpbWVcbiAgICBpZiAodHlwZSA9PT0gJ3MnICYmIG5ld1RpbWUgJiYgbmV3VmFsdWUgPj0gNyAmJiB0aW1lRm9ybWF0ID09PSAxMikge1xuICAgICAgcmVmUGVyaW9kLmN1cnJlbnQ/LmZvY3VzKClcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdtJyAmJiBuZXdUaW1lICYmIG5ld1ZhbHVlID49IDYpIHtcbiAgICAgIHJlZlNlY29uZHMuY3VycmVudD8uZm9jdXMoKVxuICAgIH1cblxuICAgIGlmICh0eXBlID09PSAnaCcpIHtcbiAgICAgIGlmIChpc0NvbXBsZXRlSG91cih0aW1lRm9ybWF0LCBuZXdWYWx1ZSkpIHtcbiAgICAgICAgcmVmTWludXRlcy5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IG5ld0ZpbGxlZCA9IHsgLi4uZmlsbGVkIH1cbiAgICBuZXdGaWxsZWRbdHlwZV0gPSB0cnVlXG5cbiAgICBzZXRUaW1lKG5ld1RpbWUpXG4gICAgb25DaGFuZ2U/LihuZXdUaW1lKVxuXG4gICAgc2V0RmlsbGVkKG5ld0ZpbGxlZClcbiAgfVxuXG4gIC8vIEluY3JlYXNlIHRpbWUgd2l0aCBhcnJvdyB1cFxuICBjb25zdCBoYW5kbGVJbmNyZWFzZSA9ICh0eXBlOiAnaCcgfCAnbScgfCAncycpID0+IHtcbiAgICBjb25zdCBuZXdUaW1lID0gdGltZSA/IG5ldyBEYXRlKHRpbWUpIDogREVGQVVMVF9EQVRFXG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gZ2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSlcbiAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDI0KSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBjdXJyZW50VmFsdWUgPT09IDIzID8gMCA6IGN1cnJlbnRWYWx1ZSArIDEpXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGN1cnJlbnRWYWx1ZSA9PT0gMTIgPyAxIDogY3VycmVudFZhbHVlICsgMSlcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgY3VycmVudFZhbHVlID09PSA1OSA/IDAgOiBjdXJyZW50VmFsdWUgKyAxKVxuICAgIH1cbiAgICBjb25zdCBuZXdGaWxsZWQgPSB7IC4uLmZpbGxlZCB9XG4gICAgbmV3RmlsbGVkW3R5cGVdID0gdHJ1ZVxuXG4gICAgc2V0VGltZShuZXdUaW1lKVxuICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcbiAgICBzZXRGaWxsZWQobmV3RmlsbGVkKVxuICB9XG5cbiAgLy8gRGVjcmVhc2UgdGltZSB3aXRoIGFycm93IGRvd25cbiAgY29uc3QgaGFuZGxlRGVjcmVhc2UgPSAodHlwZTogJ2gnIHwgJ20nIHwgJ3MnKSA9PiB7XG4gICAgY29uc3QgbmV3VGltZSA9IHRpbWUgPyBuZXcgRGF0ZSh0aW1lKSA6IERFRkFVTFRfREFURVxuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGdldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUpXG5cbiAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDI0KSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBjdXJyZW50VmFsdWUgPT09IDAgPyAyMyA6IGN1cnJlbnRWYWx1ZSAtIDEpXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGN1cnJlbnRWYWx1ZSA9PT0gMSA/IDEyIDogY3VycmVudFZhbHVlIC0gMSlcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgY3VycmVudFZhbHVlID09PSAwID8gNTkgOiBjdXJyZW50VmFsdWUgLSAxKVxuICAgIH1cbiAgICBjb25zdCBuZXdGaWxsZWQgPSB7IC4uLmZpbGxlZCB9XG4gICAgbmV3RmlsbGVkW3R5cGVdID0gdHJ1ZVxuXG4gICAgc2V0VGltZShuZXdUaW1lKVxuICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcbiAgICBzZXRGaWxsZWQobmV3RmlsbGVkKVxuICB9XG5cbiAgLy8gR28gdG8gbmV4dCBpbnB1dFxuICBjb25zdCBoYW5kbGVOZXh0ID0gKHR5cGU6ICdoJyB8ICdtJyB8ICdzJykgPT4ge1xuICAgIGlmICh0eXBlID09PSAnaCcpIHJlZk1pbnV0ZXMuY3VycmVudD8uZm9jdXMoKVxuICAgIGlmICh0eXBlID09PSAnbScpIHJlZlNlY29uZHMuY3VycmVudD8uZm9jdXMoKVxuICAgIGlmICh0eXBlID09PSAncycgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHJlZlBlcmlvZC5jdXJyZW50Py5mb2N1cygpXG4gIH1cblxuICAvLyBHbyB0byBwcmV2aW91cyBpbnB1dFxuICBjb25zdCBoYW5kbGVQcmV2aW91cyA9ICh0eXBlOiAnaCcgfCAnbScgfCAncycpID0+IHtcbiAgICBpZiAodHlwZSA9PT0gJ20nKSByZWZIb3Vycy5jdXJyZW50Py5mb2N1cygpXG4gICAgaWYgKHR5cGUgPT09ICdzJykgcmVmTWludXRlcy5jdXJyZW50Py5mb2N1cygpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdGFjayBjbGFzc05hbWU9e2NsYXNzTmFtZX0gZ2FwPXswLjV9PlxuICAgICAge2xhYmVsIHx8IGxhYmVsRGVzY3JpcHRpb24gPyAoXG4gICAgICAgIDxMYWJlbFxuICAgICAgICAgIGh0bWxGb3I9e2lkID8/IGxvY2FsSWR9XG4gICAgICAgICAgbGFiZWxEZXNjcmlwdGlvbj17bGFiZWxEZXNjcmlwdGlvbn1cbiAgICAgICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgPlxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9MYWJlbD5cbiAgICAgICkgOiBudWxsfVxuICAgICAgPFRpbWVJbnB1dFdyYXBwZXJcbiAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgYXJpYS1yZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgIGRhdGEtZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBkYXRhLWVycm9yPXshIWVycm9yfVxuICAgICAgICBkYXRhLXJlYWRvbmx5PXtyZWFkT25seX1cbiAgICAgICAgZGF0YS1zaXplPXtzaXplfVxuICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZH1cbiAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgaWQ9e2lkfVxuICAgICAgICBqdXN0aWZ5Q29udGVudD1cInNwYWNlLWJldHdlZW5cIlxuICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgb25DbGljaz17KCkgPT4gcmVmSG91cnMuY3VycmVudD8uZm9jdXMoKX1cbiAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgID5cbiAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgIHtUSU1FX0tFWVMubWFwKHR5cGUgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29tcHV0ZWRSZWYgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnaCcpIHJldHVybiByZWZIb3Vyc1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ20nKSByZXR1cm4gcmVmTWludXRlc1xuXG4gICAgICAgICAgICAgIHJldHVybiByZWZTZWNvbmRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBmdWxsTmFtZSA9ICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdoJykgcmV0dXJuICdob3VycydcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdtJykgcmV0dXJuICdtaW51dGVzJ1xuXG4gICAgICAgICAgICAgIHJldHVybiAnc2Vjb25kcydcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgY29tcHV0ZU1heFZhbHVlID0gKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDEyKSByZXR1cm4gMTJcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAyNCkgcmV0dXJuIDIzXG5cbiAgICAgICAgICAgICAgcmV0dXJuIDU5XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBrZXk9e3R5cGV9PlxuICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICAgICAgICAgICAgYXJpYS12YWx1ZW1heD17Y29tcHV0ZU1heFZhbHVlKCl9XG4gICAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbWluPXt0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMTIgPyAxIDogMH1cbiAgICAgICAgICAgICAgICAgIGFyaWEtdmFsdWVub3c9e1xuICAgICAgICAgICAgICAgICAgICBmaWxsZWRbdHlwZV1cbiAgICAgICAgICAgICAgICAgICAgICA/IE51bWJlci5wYXJzZUludChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0KGdldFZhbHVlQnlUeXBlKHR5cGUsIHRpbWUpLCB0eXBlLCB0aW1lRm9ybWF0KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTAsXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgIGF1dG9Gb2N1cz17YXV0b0ZvY3VzICYmIHR5cGUgPT09ICdoJ31cbiAgICAgICAgICAgICAgICAgIGRhdGEtc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtgJHtmdWxsTmFtZSgpfS1pbnB1dGB9XG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXJlYWRPbmx5ICYmICFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IGdldExhc3RUeXBlZENoYXIoXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC50YXJnZXQudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXRWYWx1ZUJ5VHlwZSh0eXBlLCB0aW1lKSxcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGlzTnVtYmVyKGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZSh0eXBlLCBOdW1iZXIucGFyc2VJbnQoa2V5LCAxMCkpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXJlYWRPbmx5ICYmICFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSW5jcmVhc2UodHlwZSlcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZURlY3JlYXNlKHR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVQcmV2aW91cyh0eXBlKVxuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dSaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU5leHQodHlwZSlcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJbdHlwZV19XG4gICAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICByZWY9e2NvbXB1dGVkUmVmKCl9XG4gICAgICAgICAgICAgICAgICByb2xlPVwic3BpbmJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17XG4gICAgICAgICAgICAgICAgICAgIGZpbGxlZFt0eXBlXVxuICAgICAgICAgICAgICAgICAgICAgID8gZm9ybWF0KGdldFZhbHVlQnlUeXBlKHR5cGUsIHRpbWUpLCB0eXBlLCB0aW1lRm9ybWF0KVxuICAgICAgICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIHt0eXBlID09PSAncycgPyBudWxsIDogKFxuICAgICAgICAgICAgICAgICAgPEN1c3RvbVRleHRcbiAgICAgICAgICAgICAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cImRlZmF1bHRcIlxuICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImJvZHlcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA6XG4gICAgICAgICAgICAgICAgICA8L0N1c3RvbVRleHQ+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KX1cbiAgICAgICAgICB7dGltZUZvcm1hdCA9PT0gMTIgPyAoXG4gICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICAgICAgICBhcmlhLXZhbHVlbWF4PXsxMn1cbiAgICAgICAgICAgICAgYXJpYS12YWx1ZW1pbj17MH1cbiAgICAgICAgICAgICAgYXJpYS12YWx1ZW5vdz17cGVyaW9kID09PSAnYW0nID8gMCA6IDEyfVxuICAgICAgICAgICAgICBhcmlhLXZhbHVldGV4dD17cGVyaW9kfVxuICAgICAgICAgICAgICBhdXRvQ29tcGxldGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgIGRhdGEtcGVyaW9kXG4gICAgICAgICAgICAgIGRhdGEtc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJhbS1wbS1pbnB1dFwiXG4gICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlYWRPbmx5ICYmICFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQudGFyZ2V0LnZhbHVlLnNsaWNlKC0xKVxuICAgICAgICAgICAgICAgICAgaWYgKGlzQU9yUChrZXkpKSBoYW5kbGVDaGFuZ2VQZXJpb2Qoa2V5IGFzICdhJyB8ICdwJylcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2V2ZW50ID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICAgICAgICBvbktleURvd249e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlYWRPbmx5ICYmICFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnIHx8IGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2VQZXJpb2QocGVyaW9kID09PSAnYW0nID8gJ3AnIDogJ2EnKVxuICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgcmVmU2Vjb25kcy5jdXJyZW50Py5mb2N1cygpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXIucGVyaW9kID8/ICdBTSd9XG4gICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgcmVmPXtyZWZQZXJpb2R9XG4gICAgICAgICAgICAgIHJvbGU9XCJzcGluYnV0dG9uXCJcbiAgICAgICAgICAgICAgdmFsdWU9e3BlcmlvZD8udG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvU3RhY2s+XG4gICAgICAgIHtlcnJvciB8fCBjbGVhcmFibGUgPyAoXG4gICAgICAgICAgPFN0YWNrIGFsaWduSXRlbXM9XCJjZW50ZXJcIiBkaXJlY3Rpb249XCJyb3dcIiBnYXA9XCIxXCI+XG4gICAgICAgICAgICB7ZXJyb3IgPyA8QWxlcnRDaXJjbGVJY29uIHNlbnRpbWVudD1cImRhbmdlclwiIC8+IDogbnVsbH1cbiAgICAgICAgICAgIHtjbGVhcmFibGUgPyAoXG4gICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiY2xlYXIgdmFsdWVcIlxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiY2xlYXJcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZCB8fCByZWFkT25seX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgICAgc2V0VGltZSh1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT8uKHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDbG9zZUljb24gLz5cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVGltZUlucHV0V3JhcHBlcj5cbiAgICAgIHtoZWxwZXIgfHwgZXJyb3IgPyAoXG4gICAgICAgIDxUZXh0XG4gICAgICAgICAgYXM9XCJwXCJcbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgcHJvbWluZW5jZT17ZXJyb3IgPyAnZGVmYXVsdCcgOiAnd2Vhayd9XG4gICAgICAgICAgc2VudGltZW50PXtlcnJvciA/ICdkYW5nZXInIDogJ25ldXRyYWwnfVxuICAgICAgICAgIHZhcmlhbnQ9XCJjYXB0aW9uXCJcbiAgICAgICAgPlxuICAgICAgICAgIHtlcnJvciB8fCBoZWxwZXJ9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvU3RhY2s+XG4gIClcbn1cbiJdfQ== */"));
|
|
99
|
+
}) => theme.space["0.25"], ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RpbWVJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0srQiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9UaW1lSW5wdXQvaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgQWxlcnRDaXJjbGVJY29uLCBDbG9zZUljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7IEZvY3VzRXZlbnQsIFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VJZCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJ1xuaW1wb3J0IHsgTGFiZWwgfSBmcm9tICcuLi9MYWJlbCdcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcbmltcG9ydCB7XG4gIERFRkFVTFRfREFURSxcbiAgREVGQVVMVF9QTEFDRUhPTERFUixcbiAgSU5QVVRfU0laRV9IRUlHSFQsXG4gIFRJTUVfS0VZUyxcbn0gZnJvbSAnLi9jb25zdGFudHMnXG5pbXBvcnQge1xuICBjYW5Db25jYXQsXG4gIGZvcm1hdCxcbiAgZ2V0TGFzdFR5cGVkQ2hhcixcbiAgZ2V0VmFsdWVCeVR5cGUsXG4gIGlzQU9yUCxcbiAgaXNDb21wbGV0ZUhvdXIsXG4gIGlzTnVtYmVyLFxuICBzZXRWYWx1ZUJ5VHlwZSxcbn0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5leHBvcnQgdHlwZSBUaW1lID0ge1xuICBoOiBzdHJpbmdcbiAgbTogc3RyaW5nXG4gIHM6IHN0cmluZ1xuICBwZXJpb2Q/OiBzdHJpbmdcbn1cblxuY29uc3QgVGltZUlucHV0V3JhcHBlciA9IHN0eWxlZChTdGFjayk8e1xuICAnZGF0YS1yZWFkb25seSc6IGJvb2xlYW5cbiAgJ2RhdGEtZGlzYWJsZWQnOiBib29sZWFuXG4gICdkYXRhLXNpemUnOiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnXG4gICdkYXRhLWVycm9yJzogYm9vbGVhblxufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGN1cnNvcjogdGV4dDtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsxXX07XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucmFkaWkuZGVmYXVsdH07XG4gIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcblxuICAmOm5vdChbZGF0YS1kaXNhYmxlZD1cInRydWVcIl0pOm5vdChbZGF0YS1yZWFkb25seT1cInRydWVcIl0pOmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgICBib3gtc2hhZG93OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNoYWRvd3MuZm9jdXNQcmltYXJ5fTtcbiAgfVxuXG4gICZbZGF0YS1kaXNhYmxlZD1cImZhbHNlXCJdOmhvdmVyLFxuICBbZGF0YS1kaXNhYmxlZD1cImZhbHNlXCJdOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVySG92ZXJ9O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgfVxuXG4gICZbZGF0YS1zaXplPSdzbWFsbCddIHtcbiAgICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nW0lOUFVUX1NJWkVfSEVJR0hULnNtYWxsXX07XG4gICAgcGFkZGluZy1sZWZ0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWzFdfTtcbiAgfVxuXG4gICZbZGF0YS1zaXplPSdtZWRpdW0nXSB7XG4gICAgaGVpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1tJTlBVVF9TSVpFX0hFSUdIVC5tZWRpdW1dfTtcbiAgfVxuXG4gICZbZGF0YS1zaXplPSdsYXJnZSddIHtcbiAgICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nW0lOUFVUX1NJWkVfSEVJR0hULmxhcmdlXX07XG4gIH1cblxuICAmW2RhdGEtcmVhZG9ubHk9J3RydWUnXSB7XG4gICAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha307XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJvcmRlcn07XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgJltkYXRhLWRpc2FibGVkPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAmW2RhdGEtZXJyb3I9J3RydWUnXSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlcn07XG5cbiAgICAmOm5vdChbZGF0YS1kaXNhYmxlZD1cInRydWVcIl0pOm5vdChbZGF0YS1yZWFkb25seT1cInRydWVcIl0pOmFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJIb3Zlcn07XG4gICAgICBib3gtc2hhZG93OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNoYWRvd3MuZm9jdXNEYW5nZXJ9O1xuICAgIH1cblxuICAgICY6bm90KFtkYXRhLWRpc2FibGVkPVwidHJ1ZVwiXSk6bm90KFtkYXRhLXJlYWRvbmx5PVwidHJ1ZVwiXSk6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJ9O1xuICAgIH1cbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgSW5wdXQgPSBzdHlsZWQuaW5wdXQ8e1xuICAnZGF0YS1zaXplJzogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJ1xuICAnZGF0YS1wZXJpb2QnPzogYm9vbGVhblxufT5gXG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS50eXBvZ3JhcGh5LmJvZHlTbWFsbC5mb250U2l6ZX07XG4gIHdpZHRoOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1szMTJdfTtcbiAgaGVpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1szMDBdfTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0fTtcbiAgY2FyZXQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICZbZGF0YS1zaXplPSdsYXJnZSddIHtcbiAgICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUudHlwb2dyYXBoeS5ib2R5LmZvbnRTaXplfTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZEhvdmVyfTtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSxcbiAgOm5vdCg6ZGlzYWJsZWQpOmZvY3Vze1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFN0cm9uZ307XG4gICAgY29sb3I6ICAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICB9XG5cbiAgJjpyZWFkLW9ubHkge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAmW2RhdGEtcGVyaW9kPVwidHJ1ZVwiXSB7XG4gICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuXG4gICAgJltkYXRhLXNpemU9XCJsYXJnZVwiXSB7XG4gICAgICB3aWR0aDogY2FsYygkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNpemluZ1snMzEyJ119ICsgJHt0aGVtZS5zaXppbmdbJzAyNSddfWB9KVxuICAgIH1cblxuICB9XG5cbiAgOjotbW96LXNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgfVxuXG4gIDo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG5gXG5cbmNvbnN0IEN1c3RvbVRleHQgPSBzdHlsZWQoVGV4dClgXG5wYWRkaW5nLWlubGluZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbmBcblxudHlwZSBUaW1lSW5wdXRQcm9wcyA9IHtcbiAgcGxhY2Vob2xkZXI/OiBUaW1lXG4gIHZhbHVlPzogRGF0ZSB8IG51bGxcbiAgY2xlYXJhYmxlPzogYm9vbGVhblxuICByZXF1aXJlZD86IGJvb2xlYW5cbiAgbGFiZWxEZXNjcmlwdGlvbj86IFJlYWN0Tm9kZVxuICBoZWxwZXI/OiBSZWFjdE5vZGVcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIHJlYWRPbmx5PzogYm9vbGVhblxuICBlcnJvcj86IGJvb2xlYW4gfCBzdHJpbmdcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xuICBvbkNoYW5nZT86ICh2YWx1ZTogRGF0ZSB8IHVuZGVmaW5lZCwgdmFsdWVQZXJpb2Q/OiBzdHJpbmcpID0+IHZvaWRcbiAgb25CbHVyPzogKGV2ZW50OiBGb2N1c0V2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uRm9jdXM/OiAoZXZlbnQ6IEZvY3VzRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHZvaWRcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGlkPzogc3RyaW5nXG4gIHNpemU/OiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnXG4gIHRpbWVGb3JtYXQ/OiAxMiB8IDI0XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGZvY3VzIG9uIHRoZSBlbGVtZW50IG9uIHJlbmRlci4gQXV0b2ZvY3VzIGlzIGFwcGxpZWQgdG8gdGhlIGhvdXIgaW5wdXRcbiAgICovXG4gIGF1dG9Gb2N1cz86IGJvb2xlYW5cbn0gJiAoXG4gIHwge1xuICAgICAgbGFiZWw/OiBzdHJpbmdcbiAgICAgICdhcmlhLWxhYmVsJz86IG5ldmVyXG4gICAgfVxuICB8IHtcbiAgICAgIGxhYmVsPzogbmV2ZXJcbiAgICAgICdhcmlhLWxhYmVsJzogc3RyaW5nXG4gICAgfVxuKVxuXG4vKipcbiAqIEEgdGltZSBpbnB1dCBjb21wb25lbnQgdGhhdCBhbGxvd3MgdXNlcnMgdG8gdHlwZSBhIHRpbWUgaW4gYSAyNCBvciAxMi1ob3VyIGZvcm1hdC5cbiAqIEBleHBlcmltZW50YWwgVGhpcyBjb21wb25lbnQgaXMgZXhwZXJpbWVudGFsIGFuZCBtYXkgYmUgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIGluIHRoZSBmdXR1cmUuXG4gKi9cbmV4cG9ydCBjb25zdCBUaW1lSW5wdXQgPSAoe1xuICBsYWJlbCxcbiAgdGltZUZvcm1hdCA9IDI0LFxuICB2YWx1ZSxcbiAgY2xlYXJhYmxlLFxuICByZXF1aXJlZCxcbiAgbGFiZWxEZXNjcmlwdGlvbixcbiAgaGVscGVyLFxuICBzaXplID0gJ2xhcmdlJyxcbiAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgZXJyb3IgPSBmYWxzZSxcbiAgb25DaGFuZ2UsXG4gIG9uQmx1cixcbiAgb25Gb2N1cyxcbiAgY2xhc3NOYW1lLFxuICBpZCxcbiAgYXV0b0ZvY3VzLFxuICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxuICBwbGFjZWhvbGRlciA9IERFRkFVTFRfUExBQ0VIT0xERVIsXG4gICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxufTogVGltZUlucHV0UHJvcHMpID0+IHtcbiAgY29uc3QgbG9jYWxJZCA9IHVzZUlkKClcbiAgY29uc3QgZGVmYXVsdFBlcmlvZCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgcmV0dXJuIHZhbHVlLmdldEhvdXJzKCkgPj0gMTIgPyAncG0nIDogJ2FtJ1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfSwgW3ZhbHVlXSlcblxuICBjb25zdCBbdGltZSwgc2V0VGltZV0gPSB1c2VTdGF0ZSh2YWx1ZSlcbiAgY29uc3QgW3BlcmlvZCwgc2V0UGVyaW9kXSA9IHVzZVN0YXRlPCdwbScgfCAnYW0nIHwgdW5kZWZpbmVkPihkZWZhdWx0UGVyaW9kKVxuICBjb25zdCBbZmlsbGVkLCBzZXRGaWxsZWRdID0gdXNlU3RhdGUoXG4gICAgdmFsdWUgPyB7IGg6IHRydWUsIG06IHRydWUsIHM6IHRydWUgfSA6IHsgaDogZmFsc2UsIG06IGZhbHNlLCBzOiBmYWxzZSB9LFxuICApIC8vIHRvIG5vdCBzaG93IDAwIHdoZW4gdGhlcmUgc2hvdWxkIGJlIGEgcGxhY2Vob2xkZXJcblxuICBjb25zdCByZWZIb3VycyA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuICBjb25zdCByZWZTZWNvbmRzID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHJlZk1pbnV0ZXMgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcbiAgY29uc3QgcmVmUGVyaW9kID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHNldFRpbWUodmFsdWUpXG5cbiAgICAgIC8vIHdpdGhvdXQgdGhpcyBjb25kaXRpb24sIGV2ZXJ5IHRpbWUgYW4gaW5wdXQgdmFsdWUgY2hhbmdlcywgdGhlIG90aGVyIG9uZXMgd2lsbCBiZSBzZXQgdG8gMCBpZiB0aGV5IHVzZWQgdG8gYmUgdW5kZWZpbmVkXG4gICAgICAvLyBpbnN0ZWFkIG9mIGxlYXZpbmcgdGhlbSBlbXB0eSAoYW5kIHNob3dpbmcgdGhlIHBsYWNlaG9sZGVyKVxuICAgICAgaWYgKHZhbHVlLmdldFRpbWUoKSAhPT0gdGltZT8uZ2V0VGltZSgpKSB7XG4gICAgICAgIHNldEZpbGxlZCh7IGg6IHRydWUsIG06IHRydWUsIHM6IHRydWUgfSlcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gb3hsaW50LWRpc2FibGUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIH0sIFt2YWx1ZV0pXG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlUGVyaW9kID0gKGtleTogJ2EnIHwgJ3AnKSA9PiB7XG4gICAgaWYgKCF0aW1lKSB7XG4gICAgICBzZXRQZXJpb2QoYCR7a2V5fW1gKVxuICAgIH0gZWxzZSBpZiAoa2V5LnRvTG93ZXJDYXNlKCkgPT09ICdhJykge1xuICAgICAgaWYgKHRpbWUuZ2V0SG91cnMoKSA+PSAxMikge1xuICAgICAgICBjb25zdCBuZXdUaW1lID0gbmV3IERhdGUodGltZSlcbiAgICAgICAgbmV3VGltZS5zZXRIb3VycyhuZXdUaW1lLmdldEhvdXJzKCkgLSAxMilcbiAgICAgICAgc2V0VGltZShuZXdUaW1lKVxuICAgICAgICBvbkNoYW5nZT8uKG5ld1RpbWUpXG4gICAgICB9XG4gICAgICBzZXRQZXJpb2QoJ2FtJylcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRpbWUuZ2V0SG91cnMoKSA8IDEyKSB7XG4gICAgICAgIGNvbnN0IG5ld1RpbWUgPSBuZXcgRGF0ZSh0aW1lKVxuICAgICAgICBuZXdUaW1lLnNldEhvdXJzKG5ld1RpbWUuZ2V0SG91cnMoKSArIDEyKVxuICAgICAgICBzZXRUaW1lKG5ld1RpbWUpXG4gICAgICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcbiAgICAgIH1cbiAgICAgIHNldFBlcmlvZCgncG0nKVxuICAgIH1cbiAgfVxuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSAodHlwZTogJ2gnIHwgJ20nIHwgJ3MnLCBrZXk6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IG5ld1RpbWUgPSB0aW1lID8gbmV3IERhdGUodGltZSkgOiBERUZBVUxUX0RBVEVcbiAgICBjb25zdCB2YWx1ZVRvQ2hhbmdlID0gZ2V0VmFsdWVCeVR5cGUodHlwZSwgdGltZSlcblxuICAgIGlmIChjYW5Db25jYXQodmFsdWVUb0NoYW5nZSwgdHlwZSwga2V5LCB0aW1lRm9ybWF0KSkge1xuICAgICAgY29uc3QgbmV3VmFsdWUgPSAodmFsdWVUb0NoYW5nZSAlIDEwKSAqIDEwICsga2V5XG5cbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIG5ld1ZhbHVlKVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBrZXkpXG4gICAgfVxuXG4gICAgY29uc3QgbmV3VmFsdWUgPSBnZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lKVxuICAgIC8vIEZvY3VzIHRvIG5leHQgaW5wdXQgaWYgdGhlIGN1cnJlbnQgaW5wdXQgaGFzIGEgdmFsaWQgdGltZVxuICAgIGlmICh0eXBlID09PSAncycgJiYgbmV3VGltZSAmJiBuZXdWYWx1ZSA+PSA3ICYmIHRpbWVGb3JtYXQgPT09IDEyKSB7XG4gICAgICByZWZQZXJpb2QuY3VycmVudD8uZm9jdXMoKVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ20nICYmIG5ld1RpbWUgJiYgbmV3VmFsdWUgPj0gNikge1xuICAgICAgcmVmU2Vjb25kcy5jdXJyZW50Py5mb2N1cygpXG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICdoJyAmJiBpc0NvbXBsZXRlSG91cih0aW1lRm9ybWF0LCBuZXdWYWx1ZSkpIHtcbiAgICAgIHJlZk1pbnV0ZXMuY3VycmVudD8uZm9jdXMoKVxuICAgIH1cbiAgICBjb25zdCBuZXdGaWxsZWQgPSB7IC4uLmZpbGxlZCB9XG4gICAgbmV3RmlsbGVkW3R5cGVdID0gdHJ1ZVxuXG4gICAgc2V0VGltZShuZXdUaW1lKVxuICAgIG9uQ2hhbmdlPy4obmV3VGltZSlcblxuICAgIHNldEZpbGxlZChuZXdGaWxsZWQpXG4gIH1cblxuICAvLyBJbmNyZWFzZSB0aW1lIHdpdGggYXJyb3cgdXBcbiAgY29uc3QgaGFuZGxlSW5jcmVhc2UgPSAodHlwZTogJ2gnIHwgJ20nIHwgJ3MnKSA9PiB7XG4gICAgY29uc3QgbmV3VGltZSA9IHRpbWUgPyBuZXcgRGF0ZSh0aW1lKSA6IERFRkFVTFRfREFURVxuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGdldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUpXG4gICAgaWYgKHR5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAyNCkge1xuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgY3VycmVudFZhbHVlID09PSAyMyA/IDAgOiBjdXJyZW50VmFsdWUgKyAxKVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDEyKSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBjdXJyZW50VmFsdWUgPT09IDEyID8gMSA6IGN1cnJlbnRWYWx1ZSArIDEpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGN1cnJlbnRWYWx1ZSA9PT0gNTkgPyAwIDogY3VycmVudFZhbHVlICsgMSlcbiAgICB9XG4gICAgY29uc3QgbmV3RmlsbGVkID0geyAuLi5maWxsZWQgfVxuICAgIG5ld0ZpbGxlZFt0eXBlXSA9IHRydWVcblxuICAgIHNldFRpbWUobmV3VGltZSlcbiAgICBvbkNoYW5nZT8uKG5ld1RpbWUpXG4gICAgc2V0RmlsbGVkKG5ld0ZpbGxlZClcbiAgfVxuXG4gIC8vIERlY3JlYXNlIHRpbWUgd2l0aCBhcnJvdyBkb3duXG4gIGNvbnN0IGhhbmRsZURlY3JlYXNlID0gKHR5cGU6ICdoJyB8ICdtJyB8ICdzJykgPT4ge1xuICAgIGNvbnN0IG5ld1RpbWUgPSB0aW1lID8gbmV3IERhdGUodGltZSkgOiBERUZBVUxUX0RBVEVcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBnZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lKVxuXG4gICAgaWYgKHR5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAyNCkge1xuICAgICAgc2V0VmFsdWVCeVR5cGUodHlwZSwgbmV3VGltZSwgY3VycmVudFZhbHVlID09PSAwID8gMjMgOiBjdXJyZW50VmFsdWUgLSAxKVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDEyKSB7XG4gICAgICBzZXRWYWx1ZUJ5VHlwZSh0eXBlLCBuZXdUaW1lLCBjdXJyZW50VmFsdWUgPT09IDEgPyAxMiA6IGN1cnJlbnRWYWx1ZSAtIDEpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFZhbHVlQnlUeXBlKHR5cGUsIG5ld1RpbWUsIGN1cnJlbnRWYWx1ZSA9PT0gMCA/IDU5IDogY3VycmVudFZhbHVlIC0gMSlcbiAgICB9XG4gICAgY29uc3QgbmV3RmlsbGVkID0geyAuLi5maWxsZWQgfVxuICAgIG5ld0ZpbGxlZFt0eXBlXSA9IHRydWVcblxuICAgIHNldFRpbWUobmV3VGltZSlcbiAgICBvbkNoYW5nZT8uKG5ld1RpbWUpXG4gICAgc2V0RmlsbGVkKG5ld0ZpbGxlZClcbiAgfVxuXG4gIC8vIEdvIHRvIG5leHQgaW5wdXRcbiAgY29uc3QgaGFuZGxlTmV4dCA9ICh0eXBlOiAnaCcgfCAnbScgfCAncycpID0+IHtcbiAgICBpZiAodHlwZSA9PT0gJ2gnKSB7XG4gICAgICByZWZNaW51dGVzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICB9XG4gICAgaWYgKHR5cGUgPT09ICdtJykge1xuICAgICAgcmVmU2Vjb25kcy5jdXJyZW50Py5mb2N1cygpXG4gICAgfVxuICAgIGlmICh0eXBlID09PSAncycgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHtcbiAgICAgIHJlZlBlcmlvZC5jdXJyZW50Py5mb2N1cygpXG4gICAgfVxuICB9XG5cbiAgLy8gR28gdG8gcHJldmlvdXMgaW5wdXRcbiAgY29uc3QgaGFuZGxlUHJldmlvdXMgPSAodHlwZTogJ2gnIHwgJ20nIHwgJ3MnKSA9PiB7XG4gICAgaWYgKHR5cGUgPT09ICdtJykge1xuICAgICAgcmVmSG91cnMuY3VycmVudD8uZm9jdXMoKVxuICAgIH1cbiAgICBpZiAodHlwZSA9PT0gJ3MnKSB7XG4gICAgICByZWZNaW51dGVzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICB9XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdGFjayBjbGFzc05hbWU9e2NsYXNzTmFtZX0gZ2FwPXswLjV9PlxuICAgICAge2xhYmVsIHx8IGxhYmVsRGVzY3JpcHRpb24gPyAoXG4gICAgICAgIDxMYWJlbFxuICAgICAgICAgIGh0bWxGb3I9e2lkID8/IGxvY2FsSWR9XG4gICAgICAgICAgbGFiZWxEZXNjcmlwdGlvbj17bGFiZWxEZXNjcmlwdGlvbn1cbiAgICAgICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgPlxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9MYWJlbD5cbiAgICAgICkgOiBudWxsfVxuICAgICAgPFRpbWVJbnB1dFdyYXBwZXJcbiAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgYXJpYS1yZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgIGRhdGEtZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBkYXRhLWVycm9yPXshIWVycm9yfVxuICAgICAgICBkYXRhLXJlYWRvbmx5PXtyZWFkT25seX1cbiAgICAgICAgZGF0YS1zaXplPXtzaXplfVxuICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZH1cbiAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgaWQ9e2lkfVxuICAgICAgICBqdXN0aWZ5Q29udGVudD1cInNwYWNlLWJldHdlZW5cIlxuICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgb25DbGljaz17KCkgPT4gcmVmSG91cnMuY3VycmVudD8uZm9jdXMoKX1cbiAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgID5cbiAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgIHtUSU1FX0tFWVMubWFwKHR5cGUgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29tcHV0ZWRSZWYgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnaCcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVmSG91cnNcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ20nKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlZk1pbnV0ZXNcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiByZWZTZWNvbmRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBmdWxsTmFtZSA9ICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdoJykge1xuICAgICAgICAgICAgICAgIHJldHVybiAnaG91cnMnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdtJykge1xuICAgICAgICAgICAgICAgIHJldHVybiAnbWludXRlcydcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiAnc2Vjb25kcydcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgY29tcHV0ZU1heFZhbHVlID0gKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDEyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIDEyXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAyNCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAyM1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIDU5XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBrZXk9e3R5cGV9PlxuICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICAgICAgICAgICAgYXJpYS12YWx1ZW1heD17Y29tcHV0ZU1heFZhbHVlKCl9XG4gICAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbWluPXt0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMTIgPyAxIDogMH1cbiAgICAgICAgICAgICAgICAgIGFyaWEtdmFsdWVub3c9e1xuICAgICAgICAgICAgICAgICAgICBmaWxsZWRbdHlwZV1cbiAgICAgICAgICAgICAgICAgICAgICA/IE51bWJlci5wYXJzZUludChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0KGdldFZhbHVlQnlUeXBlKHR5cGUsIHRpbWUpLCB0eXBlLCB0aW1lRm9ybWF0KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTAsXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgIGF1dG9Gb2N1cz17YXV0b0ZvY3VzICYmIHR5cGUgPT09ICdoJ31cbiAgICAgICAgICAgICAgICAgIGRhdGEtc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtgJHtmdWxsTmFtZSgpfS1pbnB1dGB9XG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXJlYWRPbmx5ICYmICFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IGdldExhc3RUeXBlZENoYXIoXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC50YXJnZXQudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXRWYWx1ZUJ5VHlwZSh0eXBlLCB0aW1lKSxcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGlzTnVtYmVyKGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZSh0eXBlLCBOdW1iZXIucGFyc2VJbnQoa2V5LCAxMCkpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXJlYWRPbmx5ICYmICFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSW5jcmVhc2UodHlwZSlcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZURlY3JlYXNlKHR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVQcmV2aW91cyh0eXBlKVxuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dSaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU5leHQodHlwZSlcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJbdHlwZV19XG4gICAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICByZWY9e2NvbXB1dGVkUmVmKCl9XG4gICAgICAgICAgICAgICAgICByb2xlPVwic3BpbmJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17XG4gICAgICAgICAgICAgICAgICAgIGZpbGxlZFt0eXBlXVxuICAgICAgICAgICAgICAgICAgICAgID8gZm9ybWF0KGdldFZhbHVlQnlUeXBlKHR5cGUsIHRpbWUpLCB0eXBlLCB0aW1lRm9ybWF0KVxuICAgICAgICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIHt0eXBlID09PSAncycgPyBudWxsIDogKFxuICAgICAgICAgICAgICAgICAgPEN1c3RvbVRleHRcbiAgICAgICAgICAgICAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cImRlZmF1bHRcIlxuICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImJvZHlcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA6XG4gICAgICAgICAgICAgICAgICA8L0N1c3RvbVRleHQ+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KX1cbiAgICAgICAgICB7dGltZUZvcm1hdCA9PT0gMTIgPyAoXG4gICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICAgICAgICBhcmlhLXZhbHVlbWF4PXsxMn1cbiAgICAgICAgICAgICAgYXJpYS12YWx1ZW1pbj17MH1cbiAgICAgICAgICAgICAgYXJpYS12YWx1ZW5vdz17cGVyaW9kID09PSAnYW0nID8gMCA6IDEyfVxuICAgICAgICAgICAgICBhcmlhLXZhbHVldGV4dD17cGVyaW9kfVxuICAgICAgICAgICAgICBhdXRvQ29tcGxldGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgIGRhdGEtcGVyaW9kXG4gICAgICAgICAgICAgIGRhdGEtc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJhbS1wbS1pbnB1dFwiXG4gICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlYWRPbmx5ICYmICFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQudGFyZ2V0LnZhbHVlLnNsaWNlKC0xKVxuICAgICAgICAgICAgICAgICAgaWYgKGlzQU9yUChrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZVBlcmlvZChrZXkgYXMgJ2EnIHwgJ3AnKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAgICAgICAgIG9uS2V5RG93bj17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZVBlcmlvZChwZXJpb2QgPT09ICdhbScgPyAncCcgOiAnYScpXG4gICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICByZWZTZWNvbmRzLmN1cnJlbnQ/LmZvY3VzKClcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlci5wZXJpb2QgPz8gJ0FNJ31cbiAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICByZWY9e3JlZlBlcmlvZH1cbiAgICAgICAgICAgICAgcm9sZT1cInNwaW5idXR0b25cIlxuICAgICAgICAgICAgICB2YWx1ZT17cGVyaW9kPy50b1VwcGVyQ2FzZSgpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TdGFjaz5cbiAgICAgICAge2Vycm9yIHx8IGNsZWFyYWJsZSA/IChcbiAgICAgICAgICA8U3RhY2sgYWxpZ25JdGVtcz1cImNlbnRlclwiIGRpcmVjdGlvbj1cInJvd1wiIGdhcD1cIjFcIj5cbiAgICAgICAgICAgIHtlcnJvciA/IDxBbGVydENpcmNsZUljb24gc2VudGltZW50PVwiZGFuZ2VyXCIgLz4gOiBudWxsfVxuICAgICAgICAgICAge2NsZWFyYWJsZSA/IChcbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJjbGVhciB2YWx1ZVwiXG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJjbGVhclwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkIHx8IHJlYWRPbmx5fVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICBzZXRUaW1lKHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPy4odW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENsb3NlSWNvbiAvPlxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9UaW1lSW5wdXRXcmFwcGVyPlxuICAgICAge2hlbHBlciB8fCBlcnJvciA/IChcbiAgICAgICAgPFRleHRcbiAgICAgICAgICBhcz1cInBcIlxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBwcm9taW5lbmNlPXtlcnJvciA/ICdkZWZhdWx0JyA6ICd3ZWFrJ31cbiAgICAgICAgICBzZW50aW1lbnQ9e2Vycm9yID8gJ2RhbmdlcicgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgdmFyaWFudD1cImNhcHRpb25cIlxuICAgICAgICA+XG4gICAgICAgICAge2Vycm9yIHx8IGhlbHBlcn1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9TdGFjaz5cbiAgKVxufVxuIl19 */"));
|
|
100
100
|
const TimeInput = ({
|
|
101
101
|
label,
|
|
102
102
|
timeFormat = 24,
|
|
@@ -121,7 +121,9 @@ const TimeInput = ({
|
|
|
121
121
|
}) => {
|
|
122
122
|
const localId = react.useId();
|
|
123
123
|
const defaultPeriod = react.useMemo(() => {
|
|
124
|
-
if (value)
|
|
124
|
+
if (value) {
|
|
125
|
+
return value.getHours() >= 12 ? "pm" : "am";
|
|
126
|
+
}
|
|
125
127
|
return void 0;
|
|
126
128
|
}, [value]);
|
|
127
129
|
const [time, setTime] = react.useState(value);
|
|
@@ -178,17 +180,17 @@ const TimeInput = ({
|
|
|
178
180
|
if (helpers.canConcat(valueToChange, type, key, timeFormat)) {
|
|
179
181
|
const newValue2 = valueToChange % 10 * 10 + key;
|
|
180
182
|
helpers.setValueByType(type, newTime, newValue2);
|
|
181
|
-
} else
|
|
183
|
+
} else {
|
|
184
|
+
helpers.setValueByType(type, newTime, key);
|
|
185
|
+
}
|
|
182
186
|
const newValue = helpers.getValueByType(type, newTime);
|
|
183
187
|
if (type === "s" && newTime && newValue >= 7 && timeFormat === 12) {
|
|
184
188
|
refPeriod.current?.focus();
|
|
185
189
|
} else if (type === "m" && newTime && newValue >= 6) {
|
|
186
190
|
refSeconds.current?.focus();
|
|
187
191
|
}
|
|
188
|
-
if (type === "h") {
|
|
189
|
-
|
|
190
|
-
refMinutes.current?.focus();
|
|
191
|
-
}
|
|
192
|
+
if (type === "h" && helpers.isCompleteHour(timeFormat, newValue)) {
|
|
193
|
+
refMinutes.current?.focus();
|
|
192
194
|
}
|
|
193
195
|
const newFilled = {
|
|
194
196
|
...filled
|
|
@@ -235,13 +237,23 @@ const TimeInput = ({
|
|
|
235
237
|
setFilled(newFilled);
|
|
236
238
|
};
|
|
237
239
|
const handleNext = (type) => {
|
|
238
|
-
if (type === "h")
|
|
239
|
-
|
|
240
|
-
|
|
240
|
+
if (type === "h") {
|
|
241
|
+
refMinutes.current?.focus();
|
|
242
|
+
}
|
|
243
|
+
if (type === "m") {
|
|
244
|
+
refSeconds.current?.focus();
|
|
245
|
+
}
|
|
246
|
+
if (type === "s" && timeFormat === 12) {
|
|
247
|
+
refPeriod.current?.focus();
|
|
248
|
+
}
|
|
241
249
|
};
|
|
242
250
|
const handlePrevious = (type) => {
|
|
243
|
-
if (type === "m")
|
|
244
|
-
|
|
251
|
+
if (type === "m") {
|
|
252
|
+
refHours.current?.focus();
|
|
253
|
+
}
|
|
254
|
+
if (type === "s") {
|
|
255
|
+
refMinutes.current?.focus();
|
|
256
|
+
}
|
|
245
257
|
};
|
|
246
258
|
return /* @__PURE__ */ jsxRuntime.jsxs(index.Stack, { className, gap: 0.5, children: [
|
|
247
259
|
label || labelDescription ? /* @__PURE__ */ jsxRuntime.jsx(index$1.Label, { htmlFor: id ?? localId, labelDescription, required, size, children: label }) : null,
|
|
@@ -249,18 +261,30 @@ const TimeInput = ({
|
|
|
249
261
|
/* @__PURE__ */ jsxRuntime.jsxs(index.Stack, { direction: "row", children: [
|
|
250
262
|
constants.TIME_KEYS.map((type) => {
|
|
251
263
|
const computedRef = () => {
|
|
252
|
-
if (type === "h")
|
|
253
|
-
|
|
264
|
+
if (type === "h") {
|
|
265
|
+
return refHours;
|
|
266
|
+
}
|
|
267
|
+
if (type === "m") {
|
|
268
|
+
return refMinutes;
|
|
269
|
+
}
|
|
254
270
|
return refSeconds;
|
|
255
271
|
};
|
|
256
272
|
const fullName = () => {
|
|
257
|
-
if (type === "h")
|
|
258
|
-
|
|
273
|
+
if (type === "h") {
|
|
274
|
+
return "hours";
|
|
275
|
+
}
|
|
276
|
+
if (type === "m") {
|
|
277
|
+
return "minutes";
|
|
278
|
+
}
|
|
259
279
|
return "seconds";
|
|
260
280
|
};
|
|
261
281
|
const computeMaxValue = () => {
|
|
262
|
-
if (type === "h" && timeFormat === 12)
|
|
263
|
-
|
|
282
|
+
if (type === "h" && timeFormat === 12) {
|
|
283
|
+
return 12;
|
|
284
|
+
}
|
|
285
|
+
if (type === "h" && timeFormat === 24) {
|
|
286
|
+
return 23;
|
|
287
|
+
}
|
|
264
288
|
return 59;
|
|
265
289
|
};
|
|
266
290
|
return /* @__PURE__ */ jsxRuntime.jsxs(index.Stack, { direction: "row", children: [
|
|
@@ -296,7 +320,9 @@ const TimeInput = ({
|
|
|
296
320
|
timeFormat === 12 ? /* @__PURE__ */ jsxRuntime.jsx(Input, { "aria-label": ariaLabel, "aria-valuemax": 12, "aria-valuemin": 0, "aria-valuenow": period === "am" ? 0 : 12, "aria-valuetext": period, autoComplete: "false", "data-period": true, "data-size": size, "data-testid": "am-pm-input", disabled, onChange: (event) => {
|
|
297
321
|
if (!readOnly && !disabled) {
|
|
298
322
|
const key = event.target.value.slice(-1);
|
|
299
|
-
if (helpers.isAOrP(key))
|
|
323
|
+
if (helpers.isAOrP(key)) {
|
|
324
|
+
handleChangePeriod(key);
|
|
325
|
+
}
|
|
300
326
|
}
|
|
301
327
|
}, onClick: (event) => event.stopPropagation(), onKeyDown: (event) => {
|
|
302
328
|
if (!readOnly && !disabled) {
|