@ultraviolet/ui 2.0.0 → 2.0.1
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/ActionBar/index.cjs +3 -3
- package/dist/components/ActionBar/index.js +3 -3
- package/dist/components/Alert/index.cjs +20 -20
- package/dist/components/Alert/index.js +21 -21
- package/dist/components/Avatar/constants.cjs +10 -10
- package/dist/components/Avatar/constants.d.ts +9 -9
- package/dist/components/Avatar/constants.js +10 -10
- package/dist/components/Avatar/index.cjs +10 -10
- package/dist/components/Avatar/index.js +10 -10
- package/dist/components/Badge/index.cjs +2 -2
- package/dist/components/Badge/index.js +2 -2
- package/dist/components/Banner/index.cjs +21 -21
- package/dist/components/Banner/index.js +21 -21
- package/dist/components/BarChart/Tooltip.cjs +4 -4
- package/dist/components/BarChart/Tooltip.js +4 -4
- package/dist/components/BarChart/index.cjs +4 -4
- package/dist/components/BarChart/index.js +4 -4
- package/dist/components/BarStack/index.cjs +5 -5
- package/dist/components/BarStack/index.js +5 -5
- package/dist/components/Breadcrumbs/components/Item.cjs +4 -4
- package/dist/components/Breadcrumbs/components/Item.js +4 -4
- package/dist/components/Bullet/index.cjs +15 -15
- package/dist/components/Bullet/index.d.ts +3 -3
- package/dist/components/Bullet/index.js +15 -15
- package/dist/components/Button/index.cjs +14 -14
- package/dist/components/Button/index.d.ts +2 -2
- package/dist/components/Button/index.js +14 -14
- package/dist/components/Card/index.cjs +8 -8
- package/dist/components/Card/index.js +8 -8
- package/dist/components/Carousel/index.cjs +13 -13
- package/dist/components/Carousel/index.js +13 -13
- package/dist/components/Checkbox/index.cjs +18 -18
- package/dist/components/Checkbox/index.js +18 -18
- package/dist/components/CheckboxGroup/index.cjs +10 -10
- package/dist/components/CheckboxGroup/index.js +10 -10
- package/dist/components/Chip/ChipIcon.cjs +3 -3
- package/dist/components/Chip/ChipIcon.js +3 -3
- package/dist/components/Chip/index.cjs +5 -5
- package/dist/components/Chip/index.d.ts +1 -1
- package/dist/components/Chip/index.js +5 -5
- package/dist/components/CopyButton/index.cjs +2 -2
- package/dist/components/CopyButton/index.js +2 -2
- package/dist/components/DateInput/Context.cjs +10 -10
- package/dist/components/DateInput/Context.js +10 -10
- package/dist/components/DateInput/components/CalendarContent.cjs +7 -7
- package/dist/components/DateInput/components/CalendarContent.js +7 -7
- package/dist/components/DateInput/components/CalendarDaily.cjs +18 -18
- package/dist/components/DateInput/components/CalendarDaily.js +18 -18
- package/dist/components/DateInput/components/CalendarMonthly.cjs +16 -16
- package/dist/components/DateInput/components/CalendarMonthly.js +16 -16
- package/dist/components/DateInput/components/Popup.cjs +2 -2
- package/dist/components/DateInput/components/Popup.js +2 -2
- package/dist/components/DateInput/index.cjs +30 -30
- package/dist/components/DateInput/index.js +30 -30
- package/dist/components/Dialog/components/Button.cjs +1 -1
- package/dist/components/Dialog/components/Button.js +1 -1
- package/dist/components/Dialog/components/CancelButton.cjs +1 -1
- package/dist/components/Dialog/components/CancelButton.js +1 -1
- package/dist/components/Dialog/components/Text.cjs +1 -1
- package/dist/components/Dialog/components/Text.js +1 -1
- package/dist/components/Dialog/index.cjs +4 -4
- package/dist/components/Dialog/index.d.ts +5 -5
- package/dist/components/Dialog/index.js +4 -4
- package/dist/components/Drawer/index.cjs +15 -15
- package/dist/components/Drawer/index.d.ts +2 -2
- package/dist/components/Drawer/index.js +15 -15
- package/dist/components/EmptyState/index.cjs +17 -17
- package/dist/components/EmptyState/index.d.ts +2 -2
- package/dist/components/EmptyState/index.js +17 -17
- package/dist/components/Expandable/index.cjs +8 -8
- package/dist/components/Expandable/index.js +8 -8
- package/dist/components/ExpandableCard/components/Title.cjs +1 -1
- package/dist/components/ExpandableCard/components/Title.js +1 -1
- package/dist/components/ExpandableCard/index.cjs +18 -18
- package/dist/components/ExpandableCard/index.js +18 -18
- package/dist/components/GlobalAlert/GlobalAlertLink.cjs +1 -1
- package/dist/components/GlobalAlert/GlobalAlertLink.js +1 -1
- package/dist/components/GlobalAlert/index.cjs +8 -8
- package/dist/components/GlobalAlert/index.js +8 -8
- package/dist/components/InfiniteScroll/index.cjs +2 -2
- package/dist/components/InfiniteScroll/index.js +2 -2
- package/dist/components/Label/index.cjs +8 -8
- package/dist/components/Label/index.js +8 -8
- package/dist/components/LineChart/CustomLegend.cjs +20 -20
- package/dist/components/LineChart/CustomLegend.js +20 -20
- package/dist/components/LineChart/Tooltip.cjs +4 -4
- package/dist/components/LineChart/Tooltip.js +4 -4
- package/dist/components/LineChart/index.cjs +8 -8
- package/dist/components/LineChart/index.js +8 -8
- package/dist/components/Link/index.cjs +7 -7
- package/dist/components/Link/index.d.ts +1 -1
- package/dist/components/Link/index.js +7 -7
- package/dist/components/List/Cell.cjs +2 -2
- package/dist/components/List/Cell.js +2 -2
- package/dist/components/List/HeaderCell.cjs +5 -5
- package/dist/components/List/HeaderCell.js +5 -5
- package/dist/components/List/HeaderRow.cjs +4 -4
- package/dist/components/List/HeaderRow.js +4 -4
- package/dist/components/List/ListContext.cjs +7 -7
- package/dist/components/List/ListContext.js +7 -7
- package/dist/components/List/Row.cjs +12 -12
- package/dist/components/List/Row.js +12 -12
- package/dist/components/List/SelectBar.cjs +1 -1
- package/dist/components/List/SelectBar.js +1 -1
- package/dist/components/List/SkeletonRows.cjs +3 -3
- package/dist/components/List/SkeletonRows.js +3 -3
- package/dist/components/List/index.cjs +6 -6
- package/dist/components/List/index.d.ts +7 -7
- package/dist/components/List/index.js +6 -6
- package/dist/components/Loader/index.cjs +13 -13
- package/dist/components/Loader/index.d.ts +3 -3
- package/dist/components/Loader/index.js +13 -13
- package/dist/components/Menu/MenuContent.cjs +13 -13
- package/dist/components/Menu/MenuContent.js +13 -13
- package/dist/components/Menu/MenuProvider.cjs +5 -5
- package/dist/components/Menu/MenuProvider.js +5 -5
- package/dist/components/Menu/components/Group.cjs +3 -3
- package/dist/components/Menu/components/Group.js +3 -3
- package/dist/components/Menu/components/Item.cjs +11 -11
- package/dist/components/Menu/components/Item.js +11 -11
- package/dist/components/Menu/constants.cjs +2 -2
- package/dist/components/Menu/constants.d.ts +2 -2
- package/dist/components/Menu/constants.js +2 -2
- package/dist/components/Menu/index.cjs +5 -5
- package/dist/components/Menu/index.d.ts +6 -6
- package/dist/components/Menu/index.js +5 -5
- package/dist/components/Meter/index.cjs +6 -6
- package/dist/components/Meter/index.js +6 -6
- package/dist/components/Modal/ModalContent.cjs +7 -7
- package/dist/components/Modal/ModalContent.js +7 -7
- package/dist/components/Modal/ModalProvider.cjs +2 -2
- package/dist/components/Modal/ModalProvider.js +2 -2
- package/dist/components/Modal/components/Dialog.cjs +8 -8
- package/dist/components/Modal/components/Dialog.js +8 -8
- package/dist/components/Modal/components/Disclosure.cjs +6 -6
- package/dist/components/Modal/components/Disclosure.js +6 -6
- package/dist/components/Modal/index.cjs +3 -3
- package/dist/components/Modal/index.js +3 -3
- package/dist/components/Notice/index.cjs +3 -3
- package/dist/components/Notice/index.js +3 -3
- package/dist/components/Notification/index.cjs +6 -6
- package/dist/components/Notification/index.js +6 -6
- package/dist/components/NumberInput/index.cjs +21 -21
- package/dist/components/NumberInput/index.d.ts +2 -2
- package/dist/components/NumberInput/index.js +21 -21
- package/dist/components/Pagination/PaginationButtons.cjs +8 -8
- package/dist/components/Pagination/PaginationButtons.js +8 -8
- package/dist/components/Pagination/PerPage.cjs +13 -13
- package/dist/components/Pagination/PerPage.js +13 -13
- package/dist/components/Pagination/index.cjs +2 -2
- package/dist/components/Pagination/index.js +2 -2
- package/dist/components/PasswordCheck/index.cjs +3 -3
- package/dist/components/PasswordCheck/index.js +3 -3
- package/dist/components/PieChart/Legends.cjs +13 -13
- package/dist/components/PieChart/Legends.js +13 -13
- package/dist/components/PieChart/Tooltip.cjs +7 -7
- package/dist/components/PieChart/Tooltip.js +7 -7
- package/dist/components/PieChart/index.cjs +8 -8
- package/dist/components/PieChart/index.js +8 -8
- package/dist/components/Popover/index.cjs +9 -9
- package/dist/components/Popover/index.d.ts +2 -2
- package/dist/components/Popover/index.js +9 -9
- package/dist/components/Popup/helpers.cjs +21 -21
- package/dist/components/Popup/helpers.d.ts +2 -2
- package/dist/components/Popup/helpers.js +21 -21
- package/dist/components/Popup/index.cjs +9 -9
- package/dist/components/Popup/index.js +9 -9
- package/dist/components/ProgressBar/index.cjs +9 -9
- package/dist/components/ProgressBar/index.js +9 -9
- package/dist/components/Radio/index.cjs +12 -12
- package/dist/components/Radio/index.js +12 -12
- package/dist/components/RadioGroup/index.cjs +9 -9
- package/dist/components/RadioGroup/index.js +9 -9
- package/dist/components/Row/index.cjs +2 -2
- package/dist/components/Row/index.js +2 -2
- package/dist/components/SearchInput/Key.cjs +7 -7
- package/dist/components/SearchInput/Key.d.ts +5 -5
- package/dist/components/SearchInput/Key.js +7 -7
- package/dist/components/SearchInput/KeyGroup.cjs +2 -2
- package/dist/components/SearchInput/KeyGroup.js +2 -2
- package/dist/components/SearchInput/index.cjs +5 -5
- package/dist/components/SearchInput/index.js +5 -5
- package/dist/components/SelectInput/Dropdown.cjs +39 -39
- package/dist/components/SelectInput/Dropdown.js +39 -39
- package/dist/components/SelectInput/DropdownOption.cjs +18 -18
- package/dist/components/SelectInput/DropdownOption.js +18 -18
- package/dist/components/SelectInput/SearchBarDropdown.cjs +6 -6
- package/dist/components/SelectInput/SearchBarDropdown.js +6 -6
- package/dist/components/SelectInput/SelectBar.cjs +32 -32
- package/dist/components/SelectInput/SelectBar.js +32 -32
- package/dist/components/SelectInput/SelectInputProvider.cjs +42 -42
- package/dist/components/SelectInput/SelectInputProvider.js +42 -42
- package/dist/components/SelectInput/index.cjs +7 -7
- package/dist/components/SelectInput/index.js +7 -7
- package/dist/components/SelectInput/types.cjs +3 -3
- package/dist/components/SelectInput/types.d.ts +2 -2
- package/dist/components/SelectInput/types.js +3 -3
- package/dist/components/SelectableCard/index.cjs +18 -18
- package/dist/components/SelectableCard/index.js +18 -18
- package/dist/components/SelectableCardGroup/index.cjs +7 -7
- package/dist/components/SelectableCardGroup/index.js +7 -7
- package/dist/components/SelectableCardOptionGroup/Provider.cjs +4 -4
- package/dist/components/SelectableCardOptionGroup/Provider.js +4 -4
- package/dist/components/SelectableCardOptionGroup/components/Image.cjs +2 -2
- package/dist/components/SelectableCardOptionGroup/components/Image.js +2 -2
- package/dist/components/SelectableCardOptionGroup/components/Option.cjs +13 -13
- package/dist/components/SelectableCardOptionGroup/components/Option.d.ts +1 -1
- package/dist/components/SelectableCardOptionGroup/components/Option.js +13 -13
- package/dist/components/SelectableCardOptionGroup/index.cjs +6 -6
- package/dist/components/SelectableCardOptionGroup/index.js +6 -6
- package/dist/components/Separator/index.cjs +6 -6
- package/dist/components/Separator/index.js +6 -6
- package/dist/components/Skeleton/index.cjs +4 -4
- package/dist/components/Skeleton/index.js +4 -4
- package/dist/components/Slider/components/DoubleSlider.cjs +22 -22
- package/dist/components/Slider/components/DoubleSlider.js +22 -22
- package/dist/components/Slider/components/Options.cjs +3 -3
- package/dist/components/Slider/components/Options.js +3 -3
- package/dist/components/Slider/components/SingleSlider.cjs +13 -13
- package/dist/components/Slider/components/SingleSlider.js +13 -13
- package/dist/components/Slider/index.cjs +7 -7
- package/dist/components/Slider/index.js +7 -7
- package/dist/components/Snippet/index.cjs +14 -14
- package/dist/components/Snippet/index.js +14 -14
- package/dist/components/Status/index.cjs +4 -4
- package/dist/components/Status/index.js +4 -4
- package/dist/components/StepList/index.cjs +5 -5
- package/dist/components/StepList/index.js +5 -5
- package/dist/components/Stepper/Step.cjs +10 -10
- package/dist/components/Stepper/Step.js +10 -10
- package/dist/components/Stepper/StepperProvider.cjs +10 -10
- package/dist/components/Stepper/StepperProvider.js +10 -10
- package/dist/components/Stepper/index.cjs +7 -7
- package/dist/components/Stepper/index.js +7 -7
- package/dist/components/SwitchButton/FocusOverlay.cjs +3 -3
- package/dist/components/SwitchButton/FocusOverlay.js +3 -3
- package/dist/components/SwitchButton/Option.cjs +4 -4
- package/dist/components/SwitchButton/Option.js +4 -4
- package/dist/components/SwitchButton/index.cjs +12 -12
- package/dist/components/SwitchButton/index.js +12 -12
- package/dist/components/Table/Cell.cjs +2 -2
- package/dist/components/Table/Cell.js +2 -2
- package/dist/components/Table/HeaderCell.cjs +6 -6
- package/dist/components/Table/HeaderCell.js +6 -6
- package/dist/components/Table/HeaderRow.cjs +2 -2
- package/dist/components/Table/HeaderRow.js +2 -2
- package/dist/components/Table/Row.cjs +9 -9
- package/dist/components/Table/Row.js +9 -9
- package/dist/components/Table/SelectBar.cjs +1 -1
- package/dist/components/Table/SelectBar.js +1 -1
- package/dist/components/Table/SkeletonRows.cjs +3 -3
- package/dist/components/Table/SkeletonRows.js +3 -3
- package/dist/components/Table/TableContext.cjs +3 -3
- package/dist/components/Table/TableContext.js +3 -3
- package/dist/components/Table/index.cjs +9 -9
- package/dist/components/Table/index.d.ts +12 -12
- package/dist/components/Table/index.js +9 -9
- package/dist/components/Tabs/Tab.cjs +10 -10
- package/dist/components/Tabs/Tab.js +10 -10
- package/dist/components/Tabs/TabMenu.cjs +8 -8
- package/dist/components/Tabs/TabMenu.js +8 -8
- package/dist/components/Tabs/TabMenuItem.cjs +3 -3
- package/dist/components/Tabs/TabMenuItem.js +3 -3
- package/dist/components/Tabs/index.cjs +7 -7
- package/dist/components/Tabs/index.js +7 -7
- package/dist/components/Tag/index.cjs +10 -10
- package/dist/components/Tag/index.js +10 -10
- package/dist/components/TagInput/index.cjs +14 -14
- package/dist/components/TagInput/index.js +14 -14
- package/dist/components/TagList/index.cjs +16 -16
- package/dist/components/TagList/index.js +16 -16
- package/dist/components/Text/index.cjs +2 -2
- package/dist/components/Text/index.js +2 -2
- package/dist/components/TextArea/index.cjs +13 -13
- package/dist/components/TextArea/index.js +13 -13
- package/dist/components/TextInput/index.cjs +30 -30
- package/dist/components/TextInput/index.d.ts +2 -2
- package/dist/components/TextInput/index.js +30 -30
- package/dist/components/TimeInput/constants.cjs +2 -2
- package/dist/components/TimeInput/constants.d.ts +2 -2
- package/dist/components/TimeInput/constants.js +2 -2
- package/dist/components/TimeInput/index.cjs +18 -18
- package/dist/components/TimeInput/index.js +19 -19
- package/dist/components/Toaster/components/Button.cjs +1 -1
- package/dist/components/Toaster/components/Button.js +1 -1
- package/dist/components/Toaster/index.cjs +4 -4
- package/dist/components/Toaster/index.js +4 -4
- package/dist/components/Toggle/index.cjs +11 -11
- package/dist/components/Toggle/index.js +11 -11
- package/dist/components/ToggleGroup/index.cjs +9 -9
- package/dist/components/ToggleGroup/index.js +9 -9
- package/dist/components/Tooltip/index.cjs +2 -2
- package/dist/components/Tooltip/index.js +2 -2
- package/dist/components/UnitInput/index.cjs +15 -15
- package/dist/components/UnitInput/index.d.ts +1 -1
- package/dist/components/UnitInput/index.js +15 -15
- package/dist/components/VerificationCode/index.cjs +8 -8
- package/dist/components/VerificationCode/index.js +8 -8
- package/dist/components/index.d.ts +3 -3
- package/dist/helpers/nivoTheme.cjs +2 -2
- package/dist/helpers/nivoTheme.d.ts +2 -2
- package/dist/helpers/nivoTheme.js +2 -2
- package/dist/index.cjs +112 -112
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/theme/index.d.ts +12 -12
- package/dist/utils/index.d.ts +3 -3
- package/package.json +4 -4
|
@@ -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/LmZvY3VzKClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0YWNrIGdhcD17MC41fSBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICB7bGFiZWwgfHwgbGFiZWxEZXNjcmlwdGlvbiA/IChcbiAgICAgICAgPExhYmVsXG4gICAgICAgICAgbGFiZWxEZXNjcmlwdGlvbj17bGFiZWxEZXNjcmlwdGlvbn1cbiAgICAgICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICBodG1sRm9yPXtpZCA/PyBsb2NhbElkfVxuICAgICAgICA+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L0xhYmVsPlxuICAgICAgKSA6IG51bGx9XG4gICAgICA8VGltZUlucHV0V3JhcHBlclxuICAgICAgICBkYXRhLXJlYWRvbmx5PXtyZWFkT25seX1cbiAgICAgICAgZGF0YS1kaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIGRhdGEtc2l6ZT17c2l6ZX1cbiAgICAgICAgZGF0YS1lcnJvcj17ISFlcnJvcn1cbiAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICBvbkZvY3VzPXtvbkZvY3VzfVxuICAgICAgICBhcmlhLXJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgICAgb25DbGljaz17KCkgPT4gcmVmSG91cnMuY3VycmVudD8uZm9jdXMoKX1cbiAgICAgICAgaWQ9e2lkfVxuICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZH1cbiAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgPlxuICAgICAgICA8U3RhY2sgZGlyZWN0aW9uPVwicm93XCI+XG4gICAgICAgICAge1RJTUVfS0VZUy5tYXAodHlwZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21wdXRlZFJlZiA9ICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdoJykgcmV0dXJuIHJlZkhvdXJzXG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnbScpIHJldHVybiByZWZNaW51dGVzXG5cbiAgICAgICAgICAgICAgcmV0dXJuIHJlZlNlY29uZHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGZ1bGxOYW1lID0gKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2gnKSByZXR1cm4gJ2hvdXJzJ1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ20nKSByZXR1cm4gJ21pbnV0ZXMnXG5cbiAgICAgICAgICAgICAgcmV0dXJuICdzZWNvbmRzJ1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjb21wdXRlTWF4VmFsdWUgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHJldHVybiAxMlxuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDI0KSByZXR1cm4gMjNcblxuICAgICAgICAgICAgICByZXR1cm4gNTlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPFN0YWNrIGtleT17dHlwZX0gZGlyZWN0aW9uPVwicm93XCI+XG4gICAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17XG4gICAgICAgICAgICAgICAgICAgIGZpbGxlZFt0eXBlXVxuICAgICAgICAgICAgICAgICAgICAgID8gZm9ybWF0KGdldFZhbHVlQnlUeXBlKHR5cGUsIHRpbWUpLCB0eXBlLCB0aW1lRm9ybWF0KVxuICAgICAgICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlclt0eXBlXX1cbiAgICAgICAgICAgICAgICAgIGRhdGEtc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtgJHtmdWxsTmFtZSgpfS1pbnB1dGB9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgcmVmPXtjb21wdXRlZFJlZigpfVxuICAgICAgICAgICAgICAgICAgcm9sZT1cInNwaW5idXR0b25cIlxuICAgICAgICAgICAgICAgICAgYXV0b0NvbXBsZXRlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgYXJpYS12YWx1ZW1heD17Y29tcHV0ZU1heFZhbHVlKCl9XG4gICAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbWluPXt0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMTIgPyAxIDogMH1cbiAgICAgICAgICAgICAgICAgIGFyaWEtdmFsdWVub3c9e1xuICAgICAgICAgICAgICAgICAgICBmaWxsZWRbdHlwZV1cbiAgICAgICAgICAgICAgICAgICAgICA/IE51bWJlci5wYXJzZUludChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0KGdldFZhbHVlQnlUeXBlKHR5cGUsIHRpbWUpLCB0eXBlLCB0aW1lRm9ybWF0KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTAsXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gZ2V0TGFzdFR5cGVkQ2hhcihcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldFZhbHVlQnlUeXBlKHR5cGUsIHRpbWUpLFxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNOdW1iZXIoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKHR5cGUsIE51bWJlci5wYXJzZUludChrZXksIDEwKSlcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBvbktleURvd249e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZWFkT25seSAmJiAhZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUluY3JlYXNlKHR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVEZWNyZWFzZSh0eXBlKVxuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlUHJldmlvdXModHlwZSlcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVOZXh0KHR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzPXthdXRvRm9jdXMgJiYgdHlwZSA9PT0gJ2gnfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAge3R5cGUgPT09ICdzJyA/IG51bGwgOiAoXG4gICAgICAgICAgICAgICAgICA8Q3VzdG9tVGV4dFxuICAgICAgICAgICAgICAgICAgICBhcz1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiYm9keVwiXG4gICAgICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJkZWZhdWx0XCJcbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDpcbiAgICAgICAgICAgICAgICAgIDwvQ3VzdG9tVGV4dD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgKVxuICAgICAgICAgIH0pfVxuICAgICAgICAgIHt0aW1lRm9ybWF0ID09PSAxMiA/IChcbiAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICB2YWx1ZT17cGVyaW9kPy50b1VwcGVyQ2FzZSgpfVxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXIucGVyaW9kID8/ICdBTSd9XG4gICAgICAgICAgICAgIGRhdGEtc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgZGF0YS1wZXJpb2RcbiAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJhbS1wbS1pbnB1dFwiXG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFyZWFkT25seSAmJiAhZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IGV2ZW50LnRhcmdldC52YWx1ZS5zbGljZSgtMSlcbiAgICAgICAgICAgICAgICAgIGlmIChpc0FPclAoa2V5KSkgaGFuZGxlQ2hhbmdlUGVyaW9kKGtleSBhcyAnYScgfCAncCcpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBvbktleURvd249e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlYWRPbmx5ICYmICFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnIHx8IGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2VQZXJpb2QocGVyaW9kID09PSAnYW0nID8gJ3AnIDogJ2EnKVxuICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgcmVmU2Vjb25kcy5jdXJyZW50Py5mb2N1cygpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICByZWY9e3JlZlBlcmlvZH1cbiAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAgICAgICAgIHJvbGU9XCJzcGluYnV0dG9uXCJcbiAgICAgICAgICAgICAgYXV0b0NvbXBsZXRlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBhcmlhLXZhbHVlbWF4PXsxMn1cbiAgICAgICAgICAgICAgYXJpYS12YWx1ZW1pbj17MH1cbiAgICAgICAgICAgICAgYXJpYS12YWx1ZW5vdz17cGVyaW9kID09PSAnYW0nID8gMCA6IDEyfVxuICAgICAgICAgICAgICBhcmlhLXZhbHVldGV4dD17cGVyaW9kfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TdGFjaz5cbiAgICAgICAge2Vycm9yIHx8IGNsZWFyYWJsZSA/IChcbiAgICAgICAgICA8U3RhY2sgZGlyZWN0aW9uPVwicm93XCIgYWxpZ25JdGVtcz1cImNlbnRlclwiIGdhcD1cIjFcIj5cbiAgICAgICAgICAgIHtlcnJvciA/IDxBbGVydENpcmNsZUljb24gc2VudGltZW50PVwiZGFuZ2VyXCIgLz4gOiBudWxsfVxuICAgICAgICAgICAge2NsZWFyYWJsZSA/IChcbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJjbGVhciB2YWx1ZVwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkIHx8IHJlYWRPbmx5fVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgICAgc2V0VGltZSh1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT8uKHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiY2xlYXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENsb3NlSWNvbiAvPlxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9UaW1lSW5wdXRXcmFwcGVyPlxuICAgICAge2hlbHBlciB8fCBlcnJvciA/IChcbiAgICAgICAgPFRleHRcbiAgICAgICAgICBhcz1cInBcIlxuICAgICAgICAgIHZhcmlhbnQ9XCJjYXB0aW9uXCJcbiAgICAgICAgICBzZW50aW1lbnQ9e2Vycm9yID8gJ2RhbmdlcicgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgcHJvbWluZW5jZT17ZXJyb3IgPyAnZGVmYXVsdCcgOiAnd2Vhayd9XG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICA+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/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 */"));
|
|
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/LmZvY3VzKClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0YWNrIGdhcD17MC41fSBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICB7bGFiZWwgfHwgbGFiZWxEZXNjcmlwdGlvbiA/IChcbiAgICAgICAgPExhYmVsXG4gICAgICAgICAgbGFiZWxEZXNjcmlwdGlvbj17bGFiZWxEZXNjcmlwdGlvbn1cbiAgICAgICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICBodG1sRm9yPXtpZCA/PyBsb2NhbElkfVxuICAgICAgICA+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L0xhYmVsPlxuICAgICAgKSA6IG51bGx9XG4gICAgICA8VGltZUlucHV0V3JhcHBlclxuICAgICAgICBkYXRhLXJlYWRvbmx5PXtyZWFkT25seX1cbiAgICAgICAgZGF0YS1kaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIGRhdGEtc2l6ZT17c2l6ZX1cbiAgICAgICAgZGF0YS1lcnJvcj17ISFlcnJvcn1cbiAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICBvbkZvY3VzPXtvbkZvY3VzfVxuICAgICAgICBhcmlhLXJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgICAgb25DbGljaz17KCkgPT4gcmVmSG91cnMuY3VycmVudD8uZm9jdXMoKX1cbiAgICAgICAgaWQ9e2lkfVxuICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZH1cbiAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgPlxuICAgICAgICA8U3RhY2sgZGlyZWN0aW9uPVwicm93XCI+XG4gICAgICAgICAge1RJTUVfS0VZUy5tYXAodHlwZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21wdXRlZFJlZiA9ICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdoJykgcmV0dXJuIHJlZkhvdXJzXG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnbScpIHJldHVybiByZWZNaW51dGVzXG5cbiAgICAgICAgICAgICAgcmV0dXJuIHJlZlNlY29uZHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGZ1bGxOYW1lID0gKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2gnKSByZXR1cm4gJ2hvdXJzJ1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ20nKSByZXR1cm4gJ21pbnV0ZXMnXG5cbiAgICAgICAgICAgICAgcmV0dXJuICdzZWNvbmRzJ1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjb21wdXRlTWF4VmFsdWUgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMTIpIHJldHVybiAxMlxuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDI0KSByZXR1cm4gMjNcblxuICAgICAgICAgICAgICByZXR1cm4gNTlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPFN0YWNrIGtleT17dHlwZX0gZGlyZWN0aW9uPVwicm93XCI+XG4gICAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17XG4gICAgICAgICAgICAgICAgICAgIGZpbGxlZFt0eXBlXVxuICAgICAgICAgICAgICAgICAgICAgID8gZm9ybWF0KGdldFZhbHVlQnlUeXBlKHR5cGUsIHRpbWUpLCB0eXBlLCB0aW1lRm9ybWF0KVxuICAgICAgICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlclt0eXBlXX1cbiAgICAgICAgICAgICAgICAgIGRhdGEtc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtgJHtmdWxsTmFtZSgpfS1pbnB1dGB9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgcmVmPXtjb21wdXRlZFJlZigpfVxuICAgICAgICAgICAgICAgICAgcm9sZT1cInNwaW5idXR0b25cIlxuICAgICAgICAgICAgICAgICAgYXV0b0NvbXBsZXRlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgYXJpYS12YWx1ZW1heD17Y29tcHV0ZU1heFZhbHVlKCl9XG4gICAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbWluPXt0eXBlID09PSAnaCcgJiYgdGltZUZvcm1hdCA9PT0gMTIgPyAxIDogMH1cbiAgICAgICAgICAgICAgICAgIGFyaWEtdmFsdWVub3c9e1xuICAgICAgICAgICAgICAgICAgICBmaWxsZWRbdHlwZV1cbiAgICAgICAgICAgICAgICAgICAgICA/IE51bWJlci5wYXJzZUludChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0KGdldFZhbHVlQnlUeXBlKHR5cGUsIHRpbWUpLCB0eXBlLCB0aW1lRm9ybWF0KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTAsXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gZ2V0TGFzdFR5cGVkQ2hhcihcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldFZhbHVlQnlUeXBlKHR5cGUsIHRpbWUpLFxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNOdW1iZXIoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKHR5cGUsIE51bWJlci5wYXJzZUludChrZXksIDEwKSlcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBvbktleURvd249e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZWFkT25seSAmJiAhZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUluY3JlYXNlKHR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVEZWNyZWFzZSh0eXBlKVxuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlUHJldmlvdXModHlwZSlcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVOZXh0KHR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzPXthdXRvRm9jdXMgJiYgdHlwZSA9PT0gJ2gnfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAge3R5cGUgPT09ICdzJyA/IG51bGwgOiAoXG4gICAgICAgICAgICAgICAgICA8Q3VzdG9tVGV4dFxuICAgICAgICAgICAgICAgICAgICBhcz1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiYm9keVwiXG4gICAgICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJkZWZhdWx0XCJcbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDpcbiAgICAgICAgICAgICAgICAgIDwvQ3VzdG9tVGV4dD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgKVxuICAgICAgICAgIH0pfVxuICAgICAgICAgIHt0aW1lRm9ybWF0ID09PSAxMiA/IChcbiAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICB2YWx1ZT17cGVyaW9kPy50b1VwcGVyQ2FzZSgpfVxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXIucGVyaW9kID8/ICdBTSd9XG4gICAgICAgICAgICAgIGRhdGEtc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgZGF0YS1wZXJpb2RcbiAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJhbS1wbS1pbnB1dFwiXG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFyZWFkT25seSAmJiAhZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IGV2ZW50LnRhcmdldC52YWx1ZS5zbGljZSgtMSlcbiAgICAgICAgICAgICAgICAgIGlmIChpc0FPclAoa2V5KSkgaGFuZGxlQ2hhbmdlUGVyaW9kKGtleSBhcyAnYScgfCAncCcpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBvbktleURvd249e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlYWRPbmx5ICYmICFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnIHx8IGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2VQZXJpb2QocGVyaW9kID09PSAnYW0nID8gJ3AnIDogJ2EnKVxuICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgcmVmU2Vjb25kcy5jdXJyZW50Py5mb2N1cygpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICByZWY9e3JlZlBlcmlvZH1cbiAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAgICAgICAgIHJvbGU9XCJzcGluYnV0dG9uXCJcbiAgICAgICAgICAgICAgYXV0b0NvbXBsZXRlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBhcmlhLXZhbHVlbWF4PXsxMn1cbiAgICAgICAgICAgICAgYXJpYS12YWx1ZW1pbj17MH1cbiAgICAgICAgICAgICAgYXJpYS12YWx1ZW5vdz17cGVyaW9kID09PSAnYW0nID8gMCA6IDEyfVxuICAgICAgICAgICAgICBhcmlhLXZhbHVldGV4dD17cGVyaW9kfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TdGFjaz5cbiAgICAgICAge2Vycm9yIHx8IGNsZWFyYWJsZSA/IChcbiAgICAgICAgICA8U3RhY2sgZGlyZWN0aW9uPVwicm93XCIgYWxpZ25JdGVtcz1cImNlbnRlclwiIGdhcD1cIjFcIj5cbiAgICAgICAgICAgIHtlcnJvciA/IDxBbGVydENpcmNsZUljb24gc2VudGltZW50PVwiZGFuZ2VyXCIgLz4gOiBudWxsfVxuICAgICAgICAgICAge2NsZWFyYWJsZSA/IChcbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJjbGVhciB2YWx1ZVwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkIHx8IHJlYWRPbmx5fVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgICAgc2V0VGltZSh1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT8uKHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiY2xlYXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENsb3NlSWNvbiAvPlxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9UaW1lSW5wdXRXcmFwcGVyPlxuICAgICAge2hlbHBlciB8fCBlcnJvciA/IChcbiAgICAgICAgPFRleHRcbiAgICAgICAgICBhcz1cInBcIlxuICAgICAgICAgIHZhcmlhbnQ9XCJjYXB0aW9uXCJcbiAgICAgICAgICBzZW50aW1lbnQ9e2Vycm9yID8gJ2RhbmdlcicgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgcHJvbWluZW5jZT17ZXJyb3IgPyAnZGVmYXVsdCcgOiAnd2Vhayd9XG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICA+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/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 */"));
|
|
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+IHtcbiAgICBpZiAodHlwZSA9PT0gJ20nKSByZWZIb3Vycy5jdXJyZW50Py5mb2N1cygpXG4gICAgaWYgKHR5cGUgPT09ICdzJykgcmVmTWludXRlcy5jdXJyZW50Py5mb2N1cygpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdGFjayBnYXA9ezAuNX0gY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxuICAgICAge2xhYmVsIHx8IGxhYmVsRGVzY3JpcHRpb24gPyAoXG4gICAgICAgIDxMYWJlbFxuICAgICAgICAgIGxhYmVsRGVzY3JpcHRpb249e2xhYmVsRGVzY3JpcHRpb259XG4gICAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgaHRtbEZvcj17aWQgPz8gbG9jYWxJZH1cbiAgICAgICAgPlxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9MYWJlbD5cbiAgICAgICkgOiBudWxsfVxuICAgICAgPFRpbWVJbnB1dFdyYXBwZXJcbiAgICAgICAgZGF0YS1yZWFkb25seT17cmVhZE9ubHl9XG4gICAgICAgIGRhdGEtZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBkYXRhLXNpemU9e3NpemV9XG4gICAgICAgIGRhdGEtZXJyb3I9eyEhZXJyb3J9XG4gICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICBqdXN0aWZ5Q29udGVudD1cInNwYWNlLWJldHdlZW5cIlxuICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgICAgYXJpYS1yZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHJlZkhvdXJzLmN1cnJlbnQ/LmZvY3VzKCl9XG4gICAgICAgIGlkPXtpZH1cbiAgICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgID5cbiAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgIHtUSU1FX0tFWVMubWFwKHR5cGUgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29tcHV0ZWRSZWYgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSAnaCcpIHJldHVybiByZWZIb3Vyc1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ20nKSByZXR1cm4gcmVmTWludXRlc1xuXG4gICAgICAgICAgICAgIHJldHVybiByZWZTZWNvbmRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBmdWxsTmFtZSA9ICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdoJykgcmV0dXJuICdob3VycydcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdtJykgcmV0dXJuICdtaW51dGVzJ1xuXG4gICAgICAgICAgICAgIHJldHVybiAnc2Vjb25kcydcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgY29tcHV0ZU1heFZhbHVlID0gKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDEyKSByZXR1cm4gMTJcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdoJyAmJiB0aW1lRm9ybWF0ID09PSAyNCkgcmV0dXJuIDIzXG5cbiAgICAgICAgICAgICAgcmV0dXJuIDU5XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxTdGFjayBrZXk9e3R5cGV9IGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgdmFsdWU9e1xuICAgICAgICAgICAgICAgICAgICBmaWxsZWRbdHlwZV1cbiAgICAgICAgICAgICAgICAgICAgICA/IGZvcm1hdChnZXRWYWx1ZUJ5VHlwZSh0eXBlLCB0aW1lKSwgdHlwZSwgdGltZUZvcm1hdClcbiAgICAgICAgICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJbdHlwZV19XG4gICAgICAgICAgICAgICAgICBkYXRhLXNpemU9e3NpemV9XG4gICAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD17YCR7ZnVsbE5hbWUoKX0taW5wdXRgfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIHJlZj17Y29tcHV0ZWRSZWYoKX1cbiAgICAgICAgICAgICAgICAgIHJvbGU9XCJzcGluYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtdmFsdWVtYXg9e2NvbXB1dGVNYXhWYWx1ZSgpfVxuICAgICAgICAgICAgICAgICAgYXJpYS12YWx1ZW1pbj17dHlwZSA9PT0gJ2gnICYmIHRpbWVGb3JtYXQgPT09IDEyID8gMSA6IDB9XG4gICAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbm93PXtcbiAgICAgICAgICAgICAgICAgICAgZmlsbGVkW3R5cGVdXG4gICAgICAgICAgICAgICAgICAgICAgPyBOdW1iZXIucGFyc2VJbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdChnZXRWYWx1ZUJ5VHlwZSh0eXBlLCB0aW1lKSwgdHlwZSwgdGltZUZvcm1hdCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwLFxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXJlYWRPbmx5ICYmICFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IGdldExhc3RUeXBlZENoYXIoXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC50YXJnZXQudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXRWYWx1ZUJ5VHlwZSh0eXBlLCB0aW1lKSxcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGlzTnVtYmVyKGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZSh0eXBlLCBOdW1iZXIucGFyc2VJbnQoa2V5LCAxMCkpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVJbmNyZWFzZSh0eXBlKVxuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlRGVjcmVhc2UodHlwZSlcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVByZXZpb3VzKHR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlTmV4dCh0eXBlKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGF1dG9Gb2N1cz17YXV0b0ZvY3VzICYmIHR5cGUgPT09ICdoJ31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIHt0eXBlID09PSAncycgPyBudWxsIDogKFxuICAgICAgICAgICAgICAgICAgPEN1c3RvbVRleHRcbiAgICAgICAgICAgICAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImJvZHlcIlxuICAgICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA6XG4gICAgICAgICAgICAgICAgICA8L0N1c3RvbVRleHQ+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KX1cbiAgICAgICAgICB7dGltZUZvcm1hdCA9PT0gMTIgPyAoXG4gICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgdmFsdWU9e3BlcmlvZD8udG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyLnBlcmlvZCA/PyAnQU0nfVxuICAgICAgICAgICAgICBkYXRhLXNpemU9e3NpemV9XG4gICAgICAgICAgICAgIGRhdGEtcGVyaW9kXG4gICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiYW0tcG0taW5wdXRcIlxuICAgICAgICAgICAgICBvbkNoYW5nZT17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcmVhZE9ubHkgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBldmVudC50YXJnZXQudmFsdWUuc2xpY2UoLTEpXG4gICAgICAgICAgICAgICAgICBpZiAoaXNBT3JQKGtleSkpIGhhbmRsZUNoYW5nZVBlcmlvZChrZXkgYXMgJ2EnIHwgJ3AnKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25LZXlEb3duPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFyZWFkT25seSAmJiAhZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1VwJyB8fCBldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlUGVyaW9kKHBlcmlvZCA9PT0gJ2FtJyA/ICdwJyA6ICdhJylcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgIHJlZlNlY29uZHMuY3VycmVudD8uZm9jdXMoKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgcmVmPXtyZWZQZXJpb2R9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2V2ZW50ID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICAgICAgICByb2xlPVwic3BpbmJ1dHRvblwiXG4gICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgYXJpYS12YWx1ZW1heD17MTJ9XG4gICAgICAgICAgICAgIGFyaWEtdmFsdWVtaW49ezB9XG4gICAgICAgICAgICAgIGFyaWEtdmFsdWVub3c9e3BlcmlvZCA9PT0gJ2FtJyA/IDAgOiAxMn1cbiAgICAgICAgICAgICAgYXJpYS12YWx1ZXRleHQ9e3BlcmlvZH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvU3RhY2s+XG4gICAgICAgIHtlcnJvciB8fCBjbGVhcmFibGUgPyAoXG4gICAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIiBnYXA9XCIxXCI+XG4gICAgICAgICAgICB7ZXJyb3IgPyA8QWxlcnRDaXJjbGVJY29uIHNlbnRpbWVudD1cImRhbmdlclwiIC8+IDogbnVsbH1cbiAgICAgICAgICAgIHtjbGVhcmFibGUgPyAoXG4gICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiY2xlYXIgdmFsdWVcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZCB8fCByZWFkT25seX1cbiAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAgIHNldFRpbWUodW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U/Lih1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImNsZWFyXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDbG9zZUljb24gLz5cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVGltZUlucHV0V3JhcHBlcj5cbiAgICAgIHtoZWxwZXIgfHwgZXJyb3IgPyAoXG4gICAgICAgIDxUZXh0XG4gICAgICAgICAgYXM9XCJwXCJcbiAgICAgICAgICB2YXJpYW50PVwiY2FwdGlvblwiXG4gICAgICAgICAgc2VudGltZW50PXtlcnJvciA/ICdkYW5nZXInIDogJ25ldXRyYWwnfVxuICAgICAgICAgIHByb21pbmVuY2U9e2Vycm9yID8gJ2RlZmF1bHQnIDogJ3dlYWsnfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgPlxuICAgICAgICAgIHtlcnJvciB8fCBoZWxwZXJ9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvU3RhY2s+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+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== */"));
|
|
100
100
|
const TimeInput = ({
|
|
101
101
|
label,
|
|
102
102
|
timeFormat = 24,
|
|
@@ -243,9 +243,9 @@ const TimeInput = ({
|
|
|
243
243
|
if (type === "m") refHours.current?.focus();
|
|
244
244
|
if (type === "s") refMinutes.current?.focus();
|
|
245
245
|
};
|
|
246
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(index.Stack, { gap: 0.5,
|
|
247
|
-
label || labelDescription ? /* @__PURE__ */ jsxRuntime.jsx(index$1.Label, {
|
|
248
|
-
/* @__PURE__ */ jsxRuntime.jsxs(TimeInputWrapper, { "
|
|
246
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(index.Stack, { className, gap: 0.5, children: [
|
|
247
|
+
label || labelDescription ? /* @__PURE__ */ jsxRuntime.jsx(index$1.Label, { htmlFor: id ?? localId, labelDescription, required, size, children: label }) : null,
|
|
248
|
+
/* @__PURE__ */ jsxRuntime.jsxs(TimeInputWrapper, { alignItems: "center", "aria-label": ariaLabel, "aria-required": required, "data-disabled": disabled, "data-error": !!error, "data-readonly": readOnly, "data-size": size, "data-testid": dataTestId, direction: "row", id, justifyContent: "space-between", onBlur, onClick: () => refHours.current?.focus(), onFocus, children: [
|
|
249
249
|
/* @__PURE__ */ jsxRuntime.jsxs(index.Stack, { direction: "row", children: [
|
|
250
250
|
constants.TIME_KEYS.map((type) => {
|
|
251
251
|
const computedRef = () => {
|
|
@@ -264,15 +264,15 @@ const TimeInput = ({
|
|
|
264
264
|
return 59;
|
|
265
265
|
};
|
|
266
266
|
return /* @__PURE__ */ jsxRuntime.jsxs(index.Stack, { direction: "row", children: [
|
|
267
|
-
/* @__PURE__ */ jsxRuntime.jsx(Input, {
|
|
268
|
-
event.stopPropagation();
|
|
269
|
-
}, ref: computedRef(), role: "spinbutton", autoComplete: "false", "aria-valuemax": computeMaxValue(), "aria-valuemin": type === "h" && timeFormat === 12 ? 1 : 0, "aria-valuenow": filled[type] ? Number.parseInt(helpers.format(helpers.getValueByType(type, time), type, timeFormat), 10) : void 0, onChange: (event) => {
|
|
267
|
+
/* @__PURE__ */ jsxRuntime.jsx(Input, { "aria-label": ariaLabel, "aria-valuemax": computeMaxValue(), "aria-valuemin": type === "h" && timeFormat === 12 ? 1 : 0, "aria-valuenow": filled[type] ? Number.parseInt(helpers.format(helpers.getValueByType(type, time), type, timeFormat), 10) : void 0, autoComplete: "false", autoFocus: autoFocus && type === "h", "data-size": size, "data-testid": `${fullName()}-input`, disabled, onChange: (event) => {
|
|
270
268
|
if (!readOnly && !disabled) {
|
|
271
269
|
const key = helpers.getLastTypedChar(event.target.value, helpers.getValueByType(type, time));
|
|
272
270
|
if (helpers.isNumber(key)) {
|
|
273
271
|
handleChange(type, Number.parseInt(key, 10));
|
|
274
272
|
}
|
|
275
273
|
}
|
|
274
|
+
}, onClick: (event) => {
|
|
275
|
+
event.stopPropagation();
|
|
276
276
|
}, onKeyDown: (event) => {
|
|
277
277
|
if (!readOnly && !disabled) {
|
|
278
278
|
if (event.key === "ArrowUp") {
|
|
@@ -289,16 +289,16 @@ const TimeInput = ({
|
|
|
289
289
|
handleNext(type);
|
|
290
290
|
}
|
|
291
291
|
}
|
|
292
|
-
},
|
|
293
|
-
type === "s" ? null : /* @__PURE__ */ jsxRuntime.jsx(CustomText, { as: "span",
|
|
292
|
+
}, placeholder: placeholder[type], readOnly, ref: computedRef(), role: "spinbutton", value: filled[type] ? helpers.format(helpers.getValueByType(type, time), type, timeFormat) : "" }),
|
|
293
|
+
type === "s" ? null : /* @__PURE__ */ jsxRuntime.jsx(CustomText, { as: "span", prominence: "default", sentiment: "neutral", variant: "body", children: ":" })
|
|
294
294
|
] }, type);
|
|
295
295
|
}),
|
|
296
|
-
timeFormat === 12 ? /* @__PURE__ */ jsxRuntime.jsx(Input, {
|
|
296
|
+
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
297
|
if (!readOnly && !disabled) {
|
|
298
298
|
const key = event.target.value.slice(-1);
|
|
299
299
|
if (helpers.isAOrP(key)) handleChangePeriod(key);
|
|
300
300
|
}
|
|
301
|
-
}, onKeyDown: (event) => {
|
|
301
|
+
}, onClick: (event) => event.stopPropagation(), onKeyDown: (event) => {
|
|
302
302
|
if (!readOnly && !disabled) {
|
|
303
303
|
if (event.key === "ArrowUp" || event.key === "ArrowDown") {
|
|
304
304
|
event.preventDefault();
|
|
@@ -308,18 +308,18 @@ const TimeInput = ({
|
|
|
308
308
|
refSeconds.current?.focus();
|
|
309
309
|
}
|
|
310
310
|
}
|
|
311
|
-
},
|
|
311
|
+
}, placeholder: placeholder.period ?? "AM", readOnly, ref: refPeriod, role: "spinbutton", value: period?.toUpperCase() }) : null
|
|
312
312
|
] }),
|
|
313
|
-
error || clearable ? /* @__PURE__ */ jsxRuntime.jsxs(index.Stack, {
|
|
313
|
+
error || clearable ? /* @__PURE__ */ jsxRuntime.jsxs(index.Stack, { alignItems: "center", direction: "row", gap: "1", children: [
|
|
314
314
|
error ? /* @__PURE__ */ jsxRuntime.jsx(Icon.AlertCircleIcon, { sentiment: "danger" }) : null,
|
|
315
|
-
clearable ? /* @__PURE__ */ jsxRuntime.jsx(index$2.Button, { "aria-label": "clear value", disabled: disabled || readOnly,
|
|
315
|
+
clearable ? /* @__PURE__ */ jsxRuntime.jsx(index$2.Button, { "aria-label": "clear value", "data-testid": "clear", disabled: disabled || readOnly, onClick: (event) => {
|
|
316
316
|
event.stopPropagation();
|
|
317
317
|
setTime(void 0);
|
|
318
318
|
onChange?.(void 0);
|
|
319
|
-
}, sentiment: "neutral", "
|
|
319
|
+
}, sentiment: "neutral", size: "small", variant: "ghost", children: /* @__PURE__ */ jsxRuntime.jsx(Icon.CloseIcon, {}) }) : null
|
|
320
320
|
] }) : null
|
|
321
321
|
] }),
|
|
322
|
-
helper || error ? /* @__PURE__ */ jsxRuntime.jsx(index$3.Text, { as: "p",
|
|
322
|
+
helper || error ? /* @__PURE__ */ jsxRuntime.jsx(index$3.Text, { as: "p", disabled, prominence: error ? "default" : "weak", sentiment: error ? "danger" : "neutral", variant: "caption", children: error || helper }) : null
|
|
323
323
|
] });
|
|
324
324
|
};
|
|
325
325
|
exports.Input = Input;
|