@ultraviolet/plus 3.0.0-beta.9 → 3.0.0

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.
Files changed (223) hide show
  1. package/dist/components/CodeEditor/CodeEditor.d.ts +3 -2
  2. package/dist/components/CodeEditor/CodeEditor.js +44 -13
  3. package/dist/components/ContentCard/Skeleton.d.ts +1 -1
  4. package/dist/components/ContentCard/Skeleton.js +13 -8
  5. package/dist/components/ContentCard/index.d.ts +2 -1
  6. package/dist/components/ContentCard/index.js +131 -50
  7. package/dist/components/ContentCard/styles.css.js +0 -1
  8. package/dist/components/ContentCardGroup/Card.d.ts +2 -1
  9. package/dist/components/ContentCardGroup/Card.js +65 -86
  10. package/dist/components/ContentCardGroup/SkeletonCard.d.ts +1 -1
  11. package/dist/components/ContentCardGroup/SkeletonCard.js +4 -22
  12. package/dist/components/ContentCardGroup/index.d.ts +3 -1
  13. package/dist/components/ContentCardGroup/index.js +12 -18
  14. package/dist/components/ContentCardGroup/styles.css.d.ts +7 -0
  15. package/dist/components/ContentCardGroup/styles.css.js +18 -0
  16. package/dist/components/Conversation/index.d.ts +25 -17
  17. package/dist/components/Conversation/index.js +37 -103
  18. package/dist/components/Conversation/styles.css.d.ts +7 -0
  19. package/dist/components/Conversation/styles.css.js +17 -0
  20. package/dist/components/CustomerSatisfaction/index.d.ts +3 -1
  21. package/dist/components/CustomerSatisfaction/index.js +70 -96
  22. package/dist/components/CustomerSatisfaction/styles.css.d.ts +17 -0
  23. package/dist/components/CustomerSatisfaction/styles.css.js +6 -0
  24. package/dist/components/EstimateCost/Components/CustomUnitInput.d.ts +1 -1
  25. package/dist/components/EstimateCost/Components/CustomUnitInput.js +47 -27
  26. package/dist/components/EstimateCost/Components/Item.d.ts +3 -2
  27. package/dist/components/EstimateCost/Components/Item.js +308 -288
  28. package/dist/components/EstimateCost/Components/LineThrough.d.ts +3 -5
  29. package/dist/components/EstimateCost/Components/LineThrough.js +12 -12
  30. package/dist/components/EstimateCost/Components/NumberInput.d.ts +1 -1
  31. package/dist/components/EstimateCost/Components/NumberInput.js +18 -10
  32. package/dist/components/EstimateCost/Components/Region.d.ts +2 -2
  33. package/dist/components/EstimateCost/Components/Region.js +44 -33
  34. package/dist/components/EstimateCost/Components/Regular.d.ts +3 -2
  35. package/dist/components/EstimateCost/Components/Regular.js +21 -29
  36. package/dist/components/EstimateCost/Components/Strong.d.ts +3 -10
  37. package/dist/components/EstimateCost/Components/Strong.js +13 -24
  38. package/dist/components/EstimateCost/Components/Unit.d.ts +3 -1
  39. package/dist/components/EstimateCost/Components/Unit.js +23 -31
  40. package/dist/components/EstimateCost/Components/Zone.d.ts +3 -1
  41. package/dist/components/EstimateCost/Components/Zone.js +42 -32
  42. package/dist/components/EstimateCost/Components/components.css.d.ts +77 -0
  43. package/dist/components/EstimateCost/Components/components.css.js +124 -0
  44. package/dist/components/EstimateCost/EstimateCost.d.ts +29 -29
  45. package/dist/components/EstimateCost/EstimateCost.js +74 -25
  46. package/dist/components/EstimateCost/EstimateCostContent.d.ts +1 -1
  47. package/dist/components/EstimateCost/EstimateCostContent.js +270 -174
  48. package/dist/components/EstimateCost/EstimateCostProvider.d.ts +1 -1
  49. package/dist/components/EstimateCost/EstimateCostProvider.js +24 -21
  50. package/dist/components/EstimateCost/OverlayComponent.d.ts +1 -1
  51. package/dist/components/EstimateCost/OverlayComponent.js +57 -81
  52. package/dist/components/EstimateCost/OverlayContext.d.ts +1 -1
  53. package/dist/components/EstimateCost/OverlayContext.js +2 -4
  54. package/dist/components/EstimateCost/constants.js +0 -4
  55. package/dist/components/EstimateCost/styles.css.d.ts +76 -0
  56. package/dist/components/EstimateCost/styles.css.js +50 -0
  57. package/dist/components/EstimateCost/types.d.ts +2 -1
  58. package/dist/components/FAQ/index.d.ts +3 -1
  59. package/dist/components/FAQ/index.js +4 -3
  60. package/dist/components/InfoTable/InfoTable.d.ts +9 -6
  61. package/dist/components/InfoTable/InfoTable.js +14 -18
  62. package/dist/components/InfoTable/components/Cell.d.ts +3 -6
  63. package/dist/components/InfoTable/components/Cell.js +28 -34
  64. package/dist/components/InfoTable/components/Row.d.ts +3 -14
  65. package/dist/components/InfoTable/components/Row.js +25 -18
  66. package/dist/components/InfoTable/context.d.ts +3 -0
  67. package/dist/components/InfoTable/context.js +5 -0
  68. package/dist/components/InfoTable/styles.css.d.ts +6 -0
  69. package/dist/components/InfoTable/styles.css.js +15 -0
  70. package/dist/components/Navigation/Footer.d.ts +1 -1
  71. package/dist/components/Navigation/Footer.js +35 -33
  72. package/dist/components/Navigation/Header.d.ts +1 -1
  73. package/dist/components/Navigation/Header.js +13 -26
  74. package/dist/components/Navigation/Navigation.d.ts +11 -8
  75. package/dist/components/Navigation/Navigation.js +2 -5
  76. package/dist/components/Navigation/NavigationContent.d.ts +1 -1
  77. package/dist/components/Navigation/NavigationContent.js +60 -71
  78. package/dist/components/Navigation/NavigationProvider.d.ts +1 -1
  79. package/dist/components/Navigation/NavigationProvider.js +108 -70
  80. package/dist/components/Navigation/animations.css.d.ts +6 -0
  81. package/dist/components/Navigation/components/Group.d.ts +3 -2
  82. package/dist/components/Navigation/components/Group.js +21 -43
  83. package/dist/components/Navigation/components/Item.d.ts +3 -2
  84. package/dist/components/Navigation/components/Item.js +552 -405
  85. package/dist/components/Navigation/components/ItemProvider.d.ts +1 -1
  86. package/dist/components/Navigation/components/ItemProvider.js +2 -4
  87. package/dist/components/Navigation/components/PinnedItems.d.ts +3 -2
  88. package/dist/components/Navigation/components/PinnedItems.js +94 -74
  89. package/dist/components/Navigation/components/Separator.d.ts +1 -1
  90. package/dist/components/Navigation/components/Separator.js +3 -11
  91. package/dist/components/Navigation/components/items.css.d.ts +70 -0
  92. package/dist/components/Navigation/components/items.css.js +47 -0
  93. package/dist/components/Navigation/components/styles.css.d.ts +23 -0
  94. package/dist/components/Navigation/components/styles.css.js +17 -0
  95. package/dist/components/Navigation/constants.d.ts +0 -12
  96. package/dist/components/Navigation/constants.js +1 -28
  97. package/dist/components/Navigation/styles.css.d.ts +33 -0
  98. package/dist/components/Navigation/styles.css.js +22 -0
  99. package/dist/components/Navigation/types.d.ts +2 -1
  100. package/dist/components/Navigation/variables.css.d.ts +1 -0
  101. package/dist/components/Navigation/variables.css.js +5 -0
  102. package/dist/components/OfferList/OfferList.d.ts +8 -5
  103. package/dist/components/OfferList/OfferList.js +43 -22
  104. package/dist/components/OfferList/OfferListProvider.d.ts +1 -1
  105. package/dist/components/OfferList/OfferListProvider.js +25 -15
  106. package/dist/components/OfferList/components/Banner.d.ts +1 -1
  107. package/dist/components/OfferList/components/Banner.js +32 -95
  108. package/dist/components/OfferList/components/Cell.d.ts +1 -1
  109. package/dist/components/OfferList/components/Cell.js +16 -37
  110. package/dist/components/OfferList/components/Row.d.ts +4 -2
  111. package/dist/components/OfferList/components/Row.js +141 -125
  112. package/dist/components/OfferList/styles.css.d.ts +42 -0
  113. package/dist/components/OfferList/styles.css.js +38 -0
  114. package/dist/components/OrderSummary/NonScrollableContent.d.ts +1 -1
  115. package/dist/components/OrderSummary/NonScrollableContent.js +70 -34
  116. package/dist/components/OrderSummary/Provider.js +1 -4
  117. package/dist/components/OrderSummary/ScrollableContent.d.ts +1 -1
  118. package/dist/components/OrderSummary/ScrollableContent.js +175 -68
  119. package/dist/components/OrderSummary/constants.js +7 -1
  120. package/dist/components/OrderSummary/helpers.js +39 -21
  121. package/dist/components/OrderSummary/index.d.ts +1 -1
  122. package/dist/components/OrderSummary/index.js +139 -83
  123. package/dist/components/OrderSummary/styles.css.d.ts +8 -0
  124. package/dist/components/OrderSummary/styles.css.js +19 -0
  125. package/dist/components/OrderSummary/types.d.ts +2 -1
  126. package/dist/components/Plans/FeatureHint.d.ts +1 -1
  127. package/dist/components/Plans/FeatureHint.js +27 -25
  128. package/dist/components/Plans/PlanHeader.d.ts +1 -1
  129. package/dist/components/Plans/PlanHeader.js +80 -84
  130. package/dist/components/Plans/index.d.ts +3 -1
  131. package/dist/components/Plans/index.js +150 -109
  132. package/dist/components/Plans/styles.css.d.ts +61 -0
  133. package/dist/components/Plans/styles.css.js +26 -0
  134. package/dist/components/SteppedListCard/Step.d.ts +6 -1
  135. package/dist/components/SteppedListCard/Step.js +44 -32
  136. package/dist/components/SteppedListCard/SteppedListCard.d.ts +9 -5
  137. package/dist/components/SteppedListCard/SteppedListCard.js +70 -45
  138. package/dist/components/SteppedListCard/SteppedListContent.d.ts +4 -3
  139. package/dist/components/SteppedListCard/SteppedListContent.js +20 -51
  140. package/dist/components/SteppedListCard/helper.d.ts +1 -1
  141. package/dist/components/SteppedListCard/helper.js +4 -1
  142. package/dist/components/SteppedListCard/styles.css.d.ts +8 -0
  143. package/dist/components/SteppedListCard/styles.css.js +19 -0
  144. package/dist/plus.css +1 -1
  145. package/package.json +13 -16
  146. package/dist/components/CodeEditor/CodeEditor.cjs +0 -49
  147. package/dist/components/CodeEditor/styles.css.cjs +0 -9
  148. package/dist/components/ContentCard/Skeleton.cjs +0 -23
  149. package/dist/components/ContentCard/index.cjs +0 -61
  150. package/dist/components/ContentCard/styles.css.cjs +0 -28
  151. package/dist/components/ContentCardGroup/Card.cjs +0 -94
  152. package/dist/components/ContentCardGroup/SkeletonCard.cjs +0 -35
  153. package/dist/components/ContentCardGroup/index.cjs +0 -31
  154. package/dist/components/Conversation/index.cjs +0 -127
  155. package/dist/components/CustomerSatisfaction/assets/1-5.svg.cjs +0 -3
  156. package/dist/components/CustomerSatisfaction/assets/1-5NB.svg.cjs +0 -3
  157. package/dist/components/CustomerSatisfaction/assets/2-5.svg.cjs +0 -3
  158. package/dist/components/CustomerSatisfaction/assets/2-5NB.svg.cjs +0 -3
  159. package/dist/components/CustomerSatisfaction/assets/3-5.svg.cjs +0 -3
  160. package/dist/components/CustomerSatisfaction/assets/3-5NB.svg.cjs +0 -3
  161. package/dist/components/CustomerSatisfaction/assets/4-5.svg.cjs +0 -3
  162. package/dist/components/CustomerSatisfaction/assets/4-5NB.svg.cjs +0 -3
  163. package/dist/components/CustomerSatisfaction/assets/5-5.svg.cjs +0 -3
  164. package/dist/components/CustomerSatisfaction/assets/5-5NB.svg.cjs +0 -3
  165. package/dist/components/CustomerSatisfaction/index.cjs +0 -123
  166. package/dist/components/EstimateCost/Components/CustomUnitInput.cjs +0 -34
  167. package/dist/components/EstimateCost/Components/Item.cjs +0 -303
  168. package/dist/components/EstimateCost/Components/LineThrough.cjs +0 -19
  169. package/dist/components/EstimateCost/Components/NumberInput.cjs +0 -31
  170. package/dist/components/EstimateCost/Components/Region.cjs +0 -43
  171. package/dist/components/EstimateCost/Components/Regular.cjs +0 -37
  172. package/dist/components/EstimateCost/Components/Strong.cjs +0 -30
  173. package/dist/components/EstimateCost/Components/Unit.cjs +0 -53
  174. package/dist/components/EstimateCost/Components/Zone.cjs +0 -42
  175. package/dist/components/EstimateCost/EstimateCost.cjs +0 -90
  176. package/dist/components/EstimateCost/EstimateCostContent.cjs +0 -256
  177. package/dist/components/EstimateCost/EstimateCostProvider.cjs +0 -37
  178. package/dist/components/EstimateCost/OverlayComponent.cjs +0 -123
  179. package/dist/components/EstimateCost/OverlayContext.cjs +0 -15
  180. package/dist/components/EstimateCost/componentStyle.cjs +0 -221
  181. package/dist/components/EstimateCost/componentStyle.d.ts +0 -106
  182. package/dist/components/EstimateCost/componentStyle.js +0 -219
  183. package/dist/components/EstimateCost/constants.cjs +0 -32
  184. package/dist/components/EstimateCost/helper.cjs +0 -16
  185. package/dist/components/EstimateCost/locales/en.cjs +0 -23
  186. package/dist/components/FAQ/index.cjs +0 -48
  187. package/dist/components/FAQ/styles.css.cjs +0 -5
  188. package/dist/components/InfoTable/InfoTable.cjs +0 -32
  189. package/dist/components/InfoTable/components/Cell.cjs +0 -44
  190. package/dist/components/InfoTable/components/Row.cjs +0 -26
  191. package/dist/components/Navigation/Footer.cjs +0 -71
  192. package/dist/components/Navigation/Header.cjs +0 -36
  193. package/dist/components/Navigation/Navigation.cjs +0 -18
  194. package/dist/components/Navigation/NavigationContent.cjs +0 -163
  195. package/dist/components/Navigation/NavigationProvider.cjs +0 -129
  196. package/dist/components/Navigation/components/Group.cjs +0 -62
  197. package/dist/components/Navigation/components/Item.cjs +0 -429
  198. package/dist/components/Navigation/components/ItemProvider.cjs +0 -14
  199. package/dist/components/Navigation/components/PinnedItems.cjs +0 -116
  200. package/dist/components/Navigation/components/Separator.cjs +0 -18
  201. package/dist/components/Navigation/constants.cjs +0 -37
  202. package/dist/components/Navigation/locales/en.cjs +0 -11
  203. package/dist/components/OfferList/OfferList.cjs +0 -58
  204. package/dist/components/OfferList/OfferListProvider.cjs +0 -38
  205. package/dist/components/OfferList/components/Banner.cjs +0 -108
  206. package/dist/components/OfferList/components/Cell.cjs +0 -50
  207. package/dist/components/OfferList/components/Row.cjs +0 -192
  208. package/dist/components/OrderSummary/NonScrollableContent.cjs +0 -68
  209. package/dist/components/OrderSummary/Provider.cjs +0 -18
  210. package/dist/components/OrderSummary/ScrollableContent.cjs +0 -109
  211. package/dist/components/OrderSummary/constants.cjs +0 -12
  212. package/dist/components/OrderSummary/helpers.cjs +0 -91
  213. package/dist/components/OrderSummary/index.cjs +0 -135
  214. package/dist/components/OrderSummary/locales/en.cjs +0 -11
  215. package/dist/components/Plans/FeatureHint.cjs +0 -42
  216. package/dist/components/Plans/PlanHeader.cjs +0 -102
  217. package/dist/components/Plans/index.cjs +0 -152
  218. package/dist/components/Plans/locales/en.cjs +0 -7
  219. package/dist/components/SteppedListCard/Step.cjs +0 -51
  220. package/dist/components/SteppedListCard/SteppedListCard.cjs +0 -82
  221. package/dist/components/SteppedListCard/SteppedListContent.cjs +0 -86
  222. package/dist/components/SteppedListCard/helper.cjs +0 -38
  223. package/dist/index.cjs +0 -33
@@ -1,85 +1,42 @@
1
1
  "use client";
2
- import { jsxs, jsx, Fragment } from "@emotion/react/jsx-runtime";
3
- import _styled from "@emotion/styled/base";
2
+ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
4
3
  import { CalculatorIcon } from "@ultraviolet/icons";
5
- import { Stack, Alert, Text } from "@ultraviolet/ui";
4
+ import { Stack, Alert, Badge, Text } from "@ultraviolet/ui";
5
+ import { assignInlineVars } from "@vanilla-extract/dynamic";
6
6
  import { useState, useMemo, useEffect, memo, Children, cloneElement, isValidElement } from "react";
7
7
  import { useInView } from "react-intersection-observer";
8
8
  import { CustomUnitInput } from "./Components/CustomUnitInput.js";
9
9
  import { Item } from "./Components/Item.js";
10
10
  import { LineThrough } from "./Components/LineThrough.js";
11
- import { StyledTable, PriceCol, TimeCell, EmptyTable, EmptyCell, TotalPriceCell, BadgeBeta, StyledFeesTable, Title, Cell, priceCell } from "./componentStyle.js";
12
11
  import { maximumFractionDigitsLong, maximumFractionDigits } from "./constants.js";
13
12
  import { useEstimateCost } from "./EstimateCostProvider.js";
14
13
  import { calculatePrice } from "./helper.js";
15
14
  import EstimateCostLocales from "./locales/en.js";
16
15
  import { OverlayComponent } from "./OverlayComponent.js";
17
16
  import { OverlayContextProvider } from "./OverlayContext.js";
18
- function _EMOTION_STRINGIFIED_CSS_ERROR__() {
19
- return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).";
20
- }
21
- const FeesText = /* @__PURE__ */ _styled(Text, process.env.NODE_ENV === "production" ? {
22
- target: "excc3v74"
23
- } : {
24
- target: "excc3v74",
25
- label: "FeesText"
26
- })("margin-top:", ({
27
- theme
28
- }) => theme.space["3"], ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvRXN0aW1hdGVDb3N0L0VzdGltYXRlQ29zdENvbnRlbnQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThDNkIiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvcGx1cy9zcmMvY29tcG9uZW50cy9Fc3RpbWF0ZUNvc3QvRXN0aW1hdGVDb3N0Q29udGVudC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBDYWxjdWxhdG9ySWNvbiB9IGZyb20gJ0B1bHRyYXZpb2xldC9pY29ucydcbmltcG9ydCB7IEFsZXJ0LCBTdGFjaywgVGV4dCB9IGZyb20gJ0B1bHRyYXZpb2xldC91aSdcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50UHJvcHMsIFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgQ2hpbGRyZW4sXG4gIGNsb25lRWxlbWVudCxcbiAgaXNWYWxpZEVsZW1lbnQsXG4gIG1lbW8sXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlSW5WaWV3IH0gZnJvbSAncmVhY3QtaW50ZXJzZWN0aW9uLW9ic2VydmVyJ1xuaW1wb3J0IHsgQ3VzdG9tVW5pdElucHV0IH0gZnJvbSAnLi9Db21wb25lbnRzL0N1c3RvbVVuaXRJbnB1dCdcbmltcG9ydCB7IEl0ZW0gfSBmcm9tICcuL0NvbXBvbmVudHMvSXRlbSdcbmltcG9ydCB7IExpbmVUaHJvdWdoIH0gZnJvbSAnLi9Db21wb25lbnRzL0xpbmVUaHJvdWdoJ1xuaW1wb3J0IHtcbiAgQmFkZ2VCZXRhLFxuICBDZWxsLFxuICBFbXB0eUNlbGwsXG4gIEVtcHR5VGFibGUsXG4gIFByaWNlQ29sLFxuICBwcmljZUNlbGwsXG4gIFN0eWxlZEZlZXNUYWJsZSxcbiAgU3R5bGVkVGFibGUsXG4gIFRpbWVDZWxsLFxuICBUaXRsZSxcbiAgVG90YWxQcmljZUNlbGwsXG59IGZyb20gJy4vY29tcG9uZW50U3R5bGUnXG5pbXBvcnQgeyBtYXhpbXVtRnJhY3Rpb25EaWdpdHMsIG1heGltdW1GcmFjdGlvbkRpZ2l0c0xvbmcgfSBmcm9tICcuL2NvbnN0YW50cydcbmltcG9ydCB7IHVzZUVzdGltYXRlQ29zdCB9IGZyb20gJy4vRXN0aW1hdGVDb3N0UHJvdmlkZXInXG5pbXBvcnQgeyBjYWxjdWxhdGVQcmljZSB9IGZyb20gJy4vaGVscGVyJ1xuaW1wb3J0IEVzdGltYXRlQ29zdExvY2FsZXMgZnJvbSAnLi9sb2NhbGVzL2VuJ1xuaW1wb3J0IHsgT3ZlcmxheUNvbXBvbmVudCB9IGZyb20gJy4vT3ZlcmxheUNvbXBvbmVudCdcbmltcG9ydCB7IE92ZXJsYXlDb250ZXh0UHJvdmlkZXIgfSBmcm9tICcuL092ZXJsYXlDb250ZXh0J1xuaW1wb3J0IHR5cGUge1xuICBCYXJlRXN0aW1hdGVQcm9kdWN0LFxuICBFc3RpbWF0ZUNvc3RQcm9wcyxcbiAgRXN0aW1hdGVQcm9kdWN0LFxuICBJdGVyYXRpb24sXG4gIFVuaXRzLFxufSBmcm9tICcuL3R5cGVzJ1xuXG5jb25zdCBGZWVzVGV4dCA9IHN0eWxlZChUZXh0KWBcbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMyddfTtcbmBcblxuY29uc3QgU3R5bGVkVGV4dCA9IHN0eWxlZChUZXh0KTx7XG4gIGlzQmV0YT86IGJvb2xlYW5cbn0+YFxuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgJHsoeyBpc0JldGEsIHRoZW1lIH0pID0+XG4gICAgaXNCZXRhID8gYG1hcmdpbi1sZWZ0OiAke3RoZW1lLnNwYWNlWycyJ119O2AgOiBudWxsfVxuYFxuXG5jb25zdCBSaWdodEFsaWduZWRUZXh0ID0gc3R5bGVkKFRleHQpYFxuICB0ZXh0LWFsaWduOiByaWdodDtcbmBcblxuY29uc3QgU3R5bGVkQ2FsY3VsYXRvckljb24gPSBzdHlsZWQoQ2FsY3VsYXRvckljb24pYFxuICBtYXJnaW4tcmlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG5gXG5cbmNvbnN0IFN0eWxlZFByaWNlQ2VsbCA9IHN0eWxlZChDZWxsLndpdGhDb21wb25lbnQoJ3RoJykpYFxuICAkeyh7IHRoZW1lIH0pID0+IHByaWNlQ2VsbCh0aGVtZSl9XG4gIHBhZGRpbmc6IDA7XG5gXG5cbmNvbnN0IERFRkFVTFRfVU5JVF9MSVNUOiBVbml0c1tdID0gWydob3VycycsICdkYXlzJywgJ21vbnRocyddXG5cbnR5cGUgRXh0cmFQcm9wcyA9IHtcbiAgaXNMYXN0RWxlbWVudD86IGJvb2xlYW5cbiAgcHJvZHVjdHNDYWxsYmFjaz86IHtcbiAgICBhZGQ6IChwcm9kdWN0OiBFc3RpbWF0ZVByb2R1Y3QpID0+IHZvaWRcbiAgICByZW1vdmU6IChwcm9kdWN0OiBCYXJlRXN0aW1hdGVQcm9kdWN0KSA9PiB2b2lkXG4gIH1cbiAgaXRlcmF0aW9uPzogSXRlcmF0aW9uXG4gIGRpc2NvdW50PzogbnVtYmVyXG59XG5cbmNvbnN0IERlc2NyaXB0aW9uQ29tcG9uZW50ID0gbWVtbyhcbiAgKHtcbiAgICBkZXNjcmlwdGlvbixcbiAgICBsb2NhbGVzLFxuICB9OiB7XG4gICAgZGVzY3JpcHRpb246IFJlYWN0Tm9kZVxuICAgIGxvY2FsZXM6IFJlY29yZDxrZXlvZiB0eXBlb2YgRXN0aW1hdGVDb3N0TG9jYWxlcywgc3RyaW5nPlxuICB9KSA9PlxuICAgIGRlc2NyaXB0aW9uID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIGRlc2NyaXB0aW9uID09PSAnc3RyaW5nJyA/IChcbiAgICAgIDxUZXh0IGFzPVwic3BhblwiIHZhcmlhbnQ9XCJib2R5XCI+XG4gICAgICAgIHtkZXNjcmlwdGlvbiB8fCBsb2NhbGVzWydlc3RpbWF0ZS5jb3N0LmRlc2NyaXB0aW9uJ119XG4gICAgICA8L1RleHQ+XG4gICAgKSA6IChcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgKSxcbilcblxuY29uc3QgVGl0bGVDb21wb25lbnQgPSBtZW1vKFxuICAoe1xuICAgIGxvY2FsZXMsXG4gIH06IHtcbiAgICBsb2NhbGVzOiBSZXF1aXJlZDxDb21wb25lbnRQcm9wczx0eXBlb2YgRXN0aW1hdGVDb3N0Q29udGVudD5bJ2xvY2FsZXMnXT5cbiAgfSkgPT4gKFxuICAgIDxUaXRsZT5cbiAgICAgIDxTdHlsZWRDYWxjdWxhdG9ySWNvbiBzZW50aW1lbnQ9XCJwcmltYXJ5XCIgc2l6ZT1cIm1lZGl1bVwiIC8+XG4gICAgICB7bG9jYWxlcz8uWydlc3RpbWF0ZS5jb3N0LmxhYmVsJ119XG4gICAgPC9UaXRsZT5cbiAgKSxcbilcblxuZXhwb3J0IGNvbnN0IEVzdGltYXRlQ29zdENvbnRlbnQgPSAoe1xuICBkZXNjcmlwdGlvbixcbiAgYWxlcnQsXG4gIGFsZXJ0VGl0bGUsXG4gIGFsZXJ0VmFyaWFudCA9ICd3YXJuaW5nJyxcbiAgZGVmYXVsdFRpbWVVbml0ID0gJ2hvdXJzJyxcbiAgdGltZVVuaXRzID0gREVGQVVMVF9VTklUX0xJU1QsXG4gIGhpZGVPdmVybGF5ID0gZmFsc2UsXG4gIGRpc2FibGVPdmVybGF5TGVmdCA9IGZhbHNlLFxuICBkaXNhYmxlT3ZlcmxheVJpZ2h0ID0gZmFsc2UsXG4gIGhpZGVUaW1lVW5pdCA9IGZhbHNlLFxuICBoaWRlVG90YWwgPSBmYWxzZSxcbiAgaGlkZUhvdXJseVByaWNlT25Ub3RhbCA9IGZhbHNlLFxuICBkaXNjb3VudCA9IDAsXG4gIE92ZXJsYXlSaWdodCxcbiAgT3ZlcmxheUxlZnQsXG4gIGlzQmV0YSA9IGZhbHNlLFxuICBjb21taXRtZW50RmVlcyxcbiAgY29tbWl0bWVudEZlZXNDb250ZW50LFxuICBtb250aGx5RmVlcyxcbiAgbW9udGhseUZlZXNMYWJlbCxcbiAgbW9udGhseUZlZXNDb250ZW50LFxuICBvdmVybGF5VW5pdCA9ICdob3VycycsXG4gIGNoaWxkcmVuID0gbnVsbCxcbiAgbG9jYWxlcyA9IEVzdGltYXRlQ29zdExvY2FsZXMsXG4gIG92ZXJsYXlNYXJnaW4sXG4gIG9uVG90YWxQcmljZUNoYW5nZSxcbn06IEVzdGltYXRlQ29zdFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZm9ybWF0TnVtYmVyIH0gPSB1c2VFc3RpbWF0ZUNvc3QoKVxuICBjb25zdCBbcmVmLCBpblZpZXddID0gdXNlSW5WaWV3KClcbiAgY29uc3QgW3Byb2R1Y3RzLCBzZXRQcm9kdWN0c10gPSB1c2VTdGF0ZTxFc3RpbWF0ZVByb2R1Y3RbXT4oW10pIC8vIHByb2R1Y3QgaXMgdXNlZCB0byBzdG9yZSBlYWNoIGl0ZW1zIHdpdGggdGhlaXIgcHJpY2UgYW5kIGFtb3VudFxuICBjb25zdCBbdG90YWxQcmljZSwgc2V0VG90YWxQcmljZV0gPSB1c2VTdGF0ZSh7XG4gICAgaG91cmx5OiAwLFxuICAgIG1heEhvdXJseTogMCxcbiAgICBtYXhPdmVybGF5SG91cmx5OiAwLFxuICAgIG1heFRvdGFsOiAwLFxuICAgIG92ZXJsYXlIb3VybHk6IDAsXG4gICAgdG90YWw6IDAsXG4gIH0pXG4gIGNvbnN0IFtpdGVyYXRpb24sIHNldEl0ZXJhdGlvbl0gPSB1c2VTdGF0ZTxJdGVyYXRpb24+KHtcbiAgICB1bml0OiBkZWZhdWx0VGltZVVuaXQgPz8gJ2hvdXJzJyxcbiAgICB2YWx1ZTogMSxcbiAgfSlcblxuICBjb25zdCBbaXNMb25nRnJhY3Rpb25EaWdpdHMsIHNldElzTG9uZ0ZyYWN0aW9uRGlnaXRzXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBwcm92aWRlclZhbHVlID0gdXNlTWVtbygoKSA9PiAoeyBpc092ZXJsYXk6IGZhbHNlIH0pLCBbXSlcblxuICBjb25zdCB0b3RhbFZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgZm9ybWF0TnVtYmVyKHRvdGFsUHJpY2UudG90YWwgPCAwID8gMCA6IHRvdGFsUHJpY2UudG90YWwsIHtcbiAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBpc0xvbmdGcmFjdGlvbkRpZ2l0c1xuICAgICAgICAgID8gbWF4aW11bUZyYWN0aW9uRGlnaXRzTG9uZ1tpdGVyYXRpb24udW5pdF1cbiAgICAgICAgICA6IG1heGltdW1GcmFjdGlvbkRpZ2l0c1tpdGVyYXRpb24udW5pdF0sXG4gICAgICB9KSxcbiAgICBbZm9ybWF0TnVtYmVyLCBpc0xvbmdGcmFjdGlvbkRpZ2l0cywgaXRlcmF0aW9uLnVuaXQsIHRvdGFsUHJpY2UudG90YWxdLFxuICApXG5cbiAgY29uc3QgdG90YWxNYXhWYWx1ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIGZvcm1hdE51bWJlcih0b3RhbFByaWNlLm1heFRvdGFsIDwgMCA/IDAgOiB0b3RhbFByaWNlLm1heFRvdGFsLCB7XG4gICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogaXNMb25nRnJhY3Rpb25EaWdpdHNcbiAgICAgICAgICA/IG1heGltdW1GcmFjdGlvbkRpZ2l0c0xvbmdbaXRlcmF0aW9uLnVuaXRdXG4gICAgICAgICAgOiBtYXhpbXVtRnJhY3Rpb25EaWdpdHNbaXRlcmF0aW9uLnVuaXRdLFxuICAgICAgfSksXG4gICAgW2Zvcm1hdE51bWJlciwgaXNMb25nRnJhY3Rpb25EaWdpdHMsIGl0ZXJhdGlvbi51bml0LCB0b3RhbFByaWNlLm1heFRvdGFsXSxcbiAgKVxuXG4gIGNvbnN0IHByb2R1Y3RzQ2FsbGJhY2sgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBhZGQ6IChuZXdQcm9kdWN0OiBFc3RpbWF0ZVByb2R1Y3QpID0+IHtcbiAgICAgICAgc2V0UHJvZHVjdHModG90YWwgPT4ge1xuICAgICAgICAgIGlmICh0b3RhbC5maW5kKHByb2R1Y3QgPT4gcHJvZHVjdC5pZCA9PT0gbmV3UHJvZHVjdC5pZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0b3RhbC5tYXAocHJvZHVjdCA9PlxuICAgICAgICAgICAgICBwcm9kdWN0LmlkID09PSBuZXdQcm9kdWN0LmlkID8gbmV3UHJvZHVjdCA6IHByb2R1Y3QsXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFsuLi50b3RhbCwgbmV3UHJvZHVjdF1cbiAgICAgICAgfSlcbiAgICAgIH0sXG5cbiAgICAgIHJlbW92ZTogKHsgaWQgfTogQmFyZUVzdGltYXRlUHJvZHVjdCkgPT4ge1xuICAgICAgICBzZXRQcm9kdWN0cyh0b3RhbCA9PiB0b3RhbC5maWx0ZXIocHJvZHVjdCA9PiBwcm9kdWN0LmlkICE9PSBpZCkpXG4gICAgICB9LFxuICAgIH0pLFxuICAgIFtzZXRQcm9kdWN0c10sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIHRoaXMgdmFyaWFibGUgY2hlY2sgaWYgdGhlcmUgaXMgYSBtYXhBbW91bnQgaW4gZWFjaCBwcm9kdWN0XG4gICAgLy8gaWYgbm90IHdlIGRvIG5vdCBuZWVkIHRvIGNhbGN1bGF0ZSBtYXhUb3RhbCwgbWF4SG91cmx5LCBtYXhPdmVybGF5SG91cmx5XG4gICAgY29uc3QgaXNNYXhBbW91bnRJblByb2R1Y3RzID0gcHJvZHVjdHMuZmluZChwcm9kdWN0ID0+IHByb2R1Y3QubWF4QW1vdW50KVxuICAgIHNldElzTG9uZ0ZyYWN0aW9uRGlnaXRzKFxuICAgICAgISFwcm9kdWN0cy5maW5kKHByb2R1Y3QgPT4gcHJvZHVjdC5sb25nRnJhY3Rpb25EaWdpdHMpLFxuICAgIClcbiAgICBzZXRUb3RhbFByaWNlKHtcbiAgICAgIGhvdXJseTogcHJvZHVjdHMucmVkdWNlKFxuICAgICAgICAoYWNjLCBwcm9kdWN0KSA9PlxuICAgICAgICAgIGFjYyArXG4gICAgICAgICAgKHByb2R1Y3Qubm9JdGVyYXRpb25cbiAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgOiAocHJvZHVjdC5wcmljZSAtIHByb2R1Y3QucHJpY2UgKiBwcm9kdWN0LmRpc2NvdW50KSAqXG4gICAgICAgICAgICAgIE1hdGgubWF4KHByb2R1Y3QuYW1vdW50IC0gcHJvZHVjdC5hbW91bnRGcmVlLCAwKSksXG4gICAgICAgIDAsXG4gICAgICApLFxuICAgICAgbWF4SG91cmx5OiBpc01heEFtb3VudEluUHJvZHVjdHNcbiAgICAgICAgPyBwcm9kdWN0cy5yZWR1Y2UoXG4gICAgICAgICAgICAoYWNjLCBwcm9kdWN0KSA9PlxuICAgICAgICAgICAgICBhY2MgJiYgcHJvZHVjdC5ub0l0ZXJhdGlvblxuICAgICAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgICAgIDogKHByb2R1Y3QucHJpY2UgLSBwcm9kdWN0LnByaWNlICogcHJvZHVjdC5kaXNjb3VudCkgKlxuICAgICAgICAgICAgICAgICAgTWF0aC5tYXgocHJvZHVjdC5tYXhBbW91bnQgLSBwcm9kdWN0LmFtb3VudEZyZWUsIDApLFxuXG4gICAgICAgICAgICAwLFxuICAgICAgICAgIClcbiAgICAgICAgOiAwLFxuICAgICAgbWF4T3ZlcmxheUhvdXJseTogaXNNYXhBbW91bnRJblByb2R1Y3RzXG4gICAgICAgID8gcHJvZHVjdHMucmVkdWNlKFxuICAgICAgICAgICAgKGFjYywgcHJvZHVjdCkgPT5cbiAgICAgICAgICAgICAgYWNjICtcbiAgICAgICAgICAgICAgKHByb2R1Y3Qubm9JdGVyYXRpb25cbiAgICAgICAgICAgICAgICA/IDBcbiAgICAgICAgICAgICAgICA6IChwcm9kdWN0LnByaWNlIC0gcHJvZHVjdC5wcmljZSAqIHByb2R1Y3QuZGlzY291bnQpICpcbiAgICAgICAgICAgICAgICAgIE1hdGgubWF4KHByb2R1Y3QubWF4QW1vdW50IC0gcHJvZHVjdC5hbW91bnRGcmVlLCAwKSksXG4gICAgICAgICAgICAwLFxuICAgICAgICAgIClcbiAgICAgICAgOiAwLFxuICAgICAgbWF4VG90YWw6IGlzTWF4QW1vdW50SW5Qcm9kdWN0c1xuICAgICAgICA/IHByb2R1Y3RzLnJlZHVjZShcbiAgICAgICAgICAgIChhY2MsIHByb2R1Y3QpID0+XG4gICAgICAgICAgICAgIGFjYyArXG4gICAgICAgICAgICAgIGNhbGN1bGF0ZVByaWNlKHtcbiAgICAgICAgICAgICAgICBhbW91bnQ6IHByb2R1Y3QubWF4QW1vdW50IHx8IHByb2R1Y3QuYW1vdW50LCAvLyBOb3QgYWxsIHByb2R1Y3RzIGhhdmUgbWF4QW1vdW50LCBzbyB3ZSBuZWVkIHRvIGNoZWNrIGJvdGhcbiAgICAgICAgICAgICAgICBhbW91bnRGcmVlOiBwcm9kdWN0LmFtb3VudEZyZWUsXG4gICAgICAgICAgICAgICAgZGlzY291bnQ6IHByb2R1Y3QuZGlzY291bnQsXG4gICAgICAgICAgICAgICAgcHJpY2U6IHByb2R1Y3QucHJpY2UsXG4gICAgICAgICAgICAgICAgdGltZUFtb3VudDogcHJvZHVjdC5ub0l0ZXJhdGlvbiA/IDEgOiBpdGVyYXRpb24udmFsdWUsXG4gICAgICAgICAgICAgICAgdGltZVVuaXQ6IHByb2R1Y3Qubm9JdGVyYXRpb24gPyAnaG91cnMnIDogaXRlcmF0aW9uLnVuaXQsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgMCxcbiAgICAgICAgICApXG4gICAgICAgIDogMCxcbiAgICAgIG92ZXJsYXlIb3VybHk6IHByb2R1Y3RzLnJlZHVjZShcbiAgICAgICAgKGFjYywgcHJvZHVjdCkgPT5cbiAgICAgICAgICBhY2MgK1xuICAgICAgICAgIChwcm9kdWN0Lm5vSXRlcmF0aW9uXG4gICAgICAgICAgICA/IDBcbiAgICAgICAgICAgIDogKHByb2R1Y3QucHJpY2UgLSBwcm9kdWN0LnByaWNlICogcHJvZHVjdC5kaXNjb3VudCkgKlxuICAgICAgICAgICAgICBNYXRoLm1heChwcm9kdWN0LmFtb3VudCAtIHByb2R1Y3QuYW1vdW50RnJlZSwgMCkpLFxuICAgICAgICAwLFxuICAgICAgKSxcbiAgICAgIHRvdGFsOiAhaGlkZVRvdGFsXG4gICAgICAgID8gcHJvZHVjdHMucmVkdWNlKFxuICAgICAgICAgICAgKGFjYywgcHJvZHVjdCkgPT5cbiAgICAgICAgICAgICAgYWNjICtcbiAgICAgICAgICAgICAgY2FsY3VsYXRlUHJpY2Uoe1xuICAgICAgICAgICAgICAgIGFtb3VudDogcHJvZHVjdC5hbW91bnQsXG4gICAgICAgICAgICAgICAgYW1vdW50RnJlZTogcHJvZHVjdC5hbW91bnRGcmVlLFxuICAgICAgICAgICAgICAgIGRpc2NvdW50OiBwcm9kdWN0LmRpc2NvdW50LFxuICAgICAgICAgICAgICAgIHByaWNlOiBwcm9kdWN0LnByaWNlLFxuICAgICAgICAgICAgICAgIHRpbWVBbW91bnQ6IHByb2R1Y3Qubm9JdGVyYXRpb24gPyAxIDogaXRlcmF0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICAgIHRpbWVVbml0OiBwcm9kdWN0Lm5vSXRlcmF0aW9uID8gJ2hvdXJzJyA6IGl0ZXJhdGlvbi51bml0LFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIDAsXG4gICAgICAgICAgKVxuICAgICAgICA6IDAsXG4gICAgfSlcbiAgICBvblRvdGFsUHJpY2VDaGFuZ2U/Lih7XG4gICAgICB0b3RhbDogdG90YWxQcmljZS50b3RhbCxcbiAgICAgIHRvdGFsTWF4OiB0b3RhbFByaWNlLm1heFRvdGFsID4gMCA/IHRvdGFsUHJpY2UubWF4VG90YWwgOiB1bmRlZmluZWQsXG4gICAgfSlcbiAgfSwgW1xuICAgIGhpZGVUb3RhbCxcbiAgICBwcm9kdWN0cyxcbiAgICBpdGVyYXRpb24sXG4gICAgc2V0VG90YWxQcmljZSxcbiAgICBvblRvdGFsUHJpY2VDaGFuZ2UsXG4gICAgdG90YWxQcmljZS50b3RhbCxcbiAgICB0b3RhbFByaWNlLm1heFRvdGFsLFxuICAgIHRvdGFsVmFsdWUsXG4gICAgdG90YWxNYXhWYWx1ZSxcbiAgXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIGhpZGVUaW1lVW5pdCAmJlxuICAgICAgKGl0ZXJhdGlvbi52YWx1ZSA+IDEgfHwgaXRlcmF0aW9uLnVuaXQgIT09IChkZWZhdWx0VGltZVVuaXQgPz8gJ2hvdXJzJykpXG4gICAgKSB7XG4gICAgICBzZXRJdGVyYXRpb24oeyB1bml0OiBkZWZhdWx0VGltZVVuaXQgPz8gJ2hvdXJzJywgdmFsdWU6IDEgfSlcbiAgICB9XG4gIH0sIFtoaWRlVGltZVVuaXQsIGl0ZXJhdGlvbiwgZGVmYXVsdFRpbWVVbml0XSlcblxuICByZXR1cm4gKFxuICAgIDxTdGFjayBnYXA9ezJ9PlxuICAgICAgeyFoaWRlT3ZlcmxheSA/IChcbiAgICAgICAgPE92ZXJsYXlDb21wb25lbnRcbiAgICAgICAgICBkaXNhYmxlT3ZlcmxheUxlZnQ9e2Rpc2FibGVPdmVybGF5TGVmdH1cbiAgICAgICAgICBkaXNhYmxlT3ZlcmxheVJpZ2h0PXtkaXNhYmxlT3ZlcmxheVJpZ2h0fVxuICAgICAgICAgIGRpc2NvdW50PXtkaXNjb3VudH1cbiAgICAgICAgICBpblZpZXc9e2luVmlld31cbiAgICAgICAgICBpc0JldGE9e2lzQmV0YX1cbiAgICAgICAgICBPdmVybGF5TGVmdD17T3ZlcmxheUxlZnR9XG4gICAgICAgICAgT3ZlcmxheVJpZ2h0PXtPdmVybGF5UmlnaHR9XG4gICAgICAgICAgb3ZlcmxheU1hcmdpbj17b3ZlcmxheU1hcmdpbn1cbiAgICAgICAgICB0b3RhbFByaWNlPXt0b3RhbFByaWNlfVxuICAgICAgICAgIHVuaXQ9e292ZXJsYXlVbml0ID8/ICdob3Vycyd9XG4gICAgICAgID5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvT3ZlcmxheUNvbXBvbmVudD5cbiAgICAgICkgOiBudWxsfVxuICAgICAge2Rlc2NyaXB0aW9uID09PSBmYWxzZSA/IG51bGwgOiAoXG4gICAgICAgIDxEZXNjcmlwdGlvbkNvbXBvbmVudCBkZXNjcmlwdGlvbj17ZGVzY3JpcHRpb259IGxvY2FsZXM9e2xvY2FsZXN9IC8+XG4gICAgICApfVxuICAgICAge2FsZXJ0ID8gKFxuICAgICAgICA8QWxlcnQgc2VudGltZW50PXthbGVydFZhcmlhbnR9IHRpdGxlPXthbGVydFRpdGxlfT5cbiAgICAgICAgICB7YWxlcnR9XG4gICAgICAgIDwvQWxlcnQ+XG4gICAgICApIDogbnVsbH1cbiAgICAgIDxPdmVybGF5Q29udGV4dFByb3ZpZGVyIHZhbHVlPXtwcm92aWRlclZhbHVlfT5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7Y2hpbGRyZW4gPyAoXG4gICAgICAgICAgICA8U3R5bGVkVGFibGVcbiAgICAgICAgICAgICAgY2VsbFBhZGRpbmc9XCIwXCJcbiAgICAgICAgICAgICAgY2VsbFNwYWNpbmc9XCIwXCJcbiAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJzdW1tYXJ5XCJcbiAgICAgICAgICAgICAgbm9Ub3RhbD17aGlkZVRvdGFsfVxuICAgICAgICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGNvbGdyb3VwPlxuICAgICAgICAgICAgICAgIDxjb2wgLz5cbiAgICAgICAgICAgICAgICA8UHJpY2VDb2wgLz5cbiAgICAgICAgICAgICAgPC9jb2xncm91cD5cbiAgICAgICAgICAgICAgeyFoaWRlVGltZVVuaXQgPyAoXG4gICAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICA8dGg+XG4gICAgICAgICAgICAgICAgICAgICAgPFRpdGxlQ29tcG9uZW50IGxvY2FsZXM9e2xvY2FsZXN9IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRQcmljZUNlbGw+XG4gICAgICAgICAgICAgICAgICAgICAgPFRpbWVDZWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEN1c3RvbVVuaXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VGltZVVuaXQ9e2RlZmF1bHRUaW1lVW5pdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uPXtpdGVyYXRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNldEl0ZXJhdGlvbj17c2V0SXRlcmF0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lVW5pdHM9e3RpbWVVbml0c31cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9UaW1lQ2VsbD5cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRQcmljZUNlbGw+XG4gICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgICAge0NoaWxkcmVuLm1hcChjaGlsZHJlbiwgKGNoaWxkLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgIGlzVmFsaWRFbGVtZW50PEV4dHJhUHJvcHM+KGNoaWxkKVxuICAgICAgICAgICAgICAgICAgICA/IGNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzY291bnQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdW50ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICEoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQgYXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLnByb3BzIGFzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdW50PzogbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICApLmRpc2NvdW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBkaXNjb3VudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQgYXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLnByb3BzIGFzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNjb3VudD86IG51bWJlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLmRpc2NvdW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNMYXN0RWxlbWVudDogaW5kZXggPT09IENoaWxkcmVuLmNvdW50KGNoaWxkcmVuKSAtIDEsXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9kdWN0c0NhbGxiYWNrLFxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIDogY2hpbGQsXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgIDwvU3R5bGVkVGFibGU+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgeyFoaWRlVG90YWwgPyAoXG4gICAgICAgICAgICA8RW1wdHlUYWJsZSBjZWxsUGFkZGluZz1cIjBcIiBjZWxsU3BhY2luZz1cIjBcIj5cbiAgICAgICAgICAgICAgPGNvbGdyb3VwPlxuICAgICAgICAgICAgICAgIDxjb2wgLz5cbiAgICAgICAgICAgICAgICA8UHJpY2VDb2wgLz5cbiAgICAgICAgICAgICAgPC9jb2xncm91cD5cbiAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgIDxFbXB0eUNlbGwgYXJpYS1sYWJlbD1cImNvbnRyb2xcIiAvPlxuICAgICAgICAgICAgICAgICAgPFRvdGFsUHJpY2VDZWxsIGhhc0JvcmRlcj17ZmFsc2V9PlxuICAgICAgICAgICAgICAgICAgICB7aXNCZXRhID8gKFxuICAgICAgICAgICAgICAgICAgICAgIDxCYWRnZUJldGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvbmc9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGVzW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBlc3RpbWF0ZS5jb3N0LmJldGEuJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdW50ID4gMCA/ICdkaXNjb3VudCcgOiAnZnJlZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9YFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLmxlbmd0aCA+IDI1XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwic3Ryb25nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD1cIndhcm5pbmdcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtgJHtkaXNjb3VudCA+IDAgPyBkaXNjb3VudCAqIDEwMCA6ICcnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZXNbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXN0aW1hdGUuY29zdC5iZXRhLiR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdW50ID4gMCA/ICdkaXNjb3VudCcgOiAnZnJlZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICAgICAgICA8L0JhZGdlQmV0YT5cbiAgICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0XG4gICAgICAgICAgICAgICAgICAgICAgYXM9XCJoM1wiXG4gICAgICAgICAgICAgICAgICAgICAgaXNCZXRhPXtpc0JldGF9XG4gICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImhlYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPExpbmVUaHJvdWdoXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZT17aXNCZXRhICYmIChkaXNjb3VudCA9PT0gMCB8fCBkaXNjb3VudCA+PSAxKX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7dG90YWxWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0b3RhbFByaWNlLm1heFRvdGFsID4gMCA/IGAgLSAke3RvdGFsTWF4VmFsdWV9YCA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgICAgPC9MaW5lVGhyb3VnaD5cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICAgICAgICAgICAgICB7aGlkZUhvdXJseVByaWNlT25Ub3RhbCAmJlxuICAgICAgICAgICAgICAgICAgICB0b3RhbFByaWNlLmhvdXJseSA+IDAgJiZcbiAgICAgICAgICAgICAgICAgICAgdG90YWxQcmljZS5ob3VybHkgIT09IHRvdGFsUHJpY2UudG90YWwgJiZcbiAgICAgICAgICAgICAgICAgICAgdG90YWxQcmljZS50b3RhbCA+IDAgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgPFJpZ2h0QWxpZ25lZFRleHQgYXM9XCJwXCIgdmFyaWFudD1cImJvZHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5lVGhyb3VnaFxuICAgICAgICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZT17aXNCZXRhICYmIChkaXNjb3VudCA9PT0gMCB8fCBkaXNjb3VudCA+PSAxKX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2Zvcm1hdE51bWJlcih0b3RhbFByaWNlLmhvdXJseSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogaXNMb25nRnJhY3Rpb25EaWdpdHNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gbWF4aW11bUZyYWN0aW9uRGlnaXRzTG9uZy5ob3Vyc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtYXhpbXVtRnJhY3Rpb25EaWdpdHMuaG91cnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB7dG90YWxQcmljZS5tYXhIb3VybHkgPiAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBgIC0gJHtmb3JtYXROdW1iZXIodG90YWxQcmljZS5tYXhIb3VybHksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBpc0xvbmdGcmFjdGlvbkRpZ2l0c1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gbWF4aW11bUZyYWN0aW9uRGlnaXRzTG9uZy5ob3Vyc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbWF4aW11bUZyYWN0aW9uRGlnaXRzLmhvdXJzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgL1xuICAgICAgICAgICAgICAgICAgICAgICAgICB7bG9jYWxlc1tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXN0aW1hdGUuY29zdC51bml0cy5ob3Vycy5sYWJlbGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXS50b0xvd2VyQ2FzZSgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9MaW5lVGhyb3VnaD5cbiAgICAgICAgICAgICAgICAgICAgICA8L1JpZ2h0QWxpZ25lZFRleHQ+XG4gICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgPC9Ub3RhbFByaWNlQ2VsbD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgPC9FbXB0eVRhYmxlPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIHtjb21taXRtZW50RmVlcyAhPT0gdW5kZWZpbmVkIHx8IG1vbnRobHlGZWVzICE9PSB1bmRlZmluZWQgPyAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8RmVlc1RleHQgYXM9XCJoM1wiIHZhcmlhbnQ9XCJoZWFkaW5nU21hbGxcIj5cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBsb2NhbGVzW1xuICAgICAgICAgICAgICAgICAgICBgZXN0aW1hdGUuY29zdC5mZWVzLiR7XG4gICAgICAgICAgICAgICAgICAgICAgY29tbWl0bWVudEZlZXMgPyAnb25lVGltZScgOiAnbW9udGhseSdcbiAgICAgICAgICAgICAgICAgICAgfS50aXRsZWBcbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvRmVlc1RleHQ+XG4gICAgICAgICAgICAgIDxTdHlsZWRGZWVzVGFibGU+XG4gICAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgICAgPEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgaXNMYXN0RWxlbWVudFxuICAgICAgICAgICAgICAgICAgICBsYWJlbD17XG4gICAgICAgICAgICAgICAgICAgICAgY29tbWl0bWVudEZlZXNcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbG9jYWxlc1snZXN0aW1hdGUuY29zdC5mZWVzLmNvbW1pdG1lbnQnXVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBtb250aGx5RmVlc0xhYmVsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbm9JdGVyYXRpb25cbiAgICAgICAgICAgICAgICAgICAgcHJpY2U9e2NvbW1pdG1lbnRGZWVzIHx8IG1vbnRobHlGZWVzfVxuICAgICAgICAgICAgICAgICAgICBwcm9kdWN0c0NhbGxiYWNrPXt7XG4gICAgICAgICAgICAgICAgICAgICAgYWRkOiAoKSA9PiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICByZW1vdmU6ICgpID0+IHt9LFxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7Y29tbWl0bWVudEZlZXNcbiAgICAgICAgICAgICAgICAgICAgICA/IGNvbW1pdG1lbnRGZWVzQ29udGVudFxuICAgICAgICAgICAgICAgICAgICAgIDogbW9udGhseUZlZXNDb250ZW50fVxuICAgICAgICAgICAgICAgICAgPC9JdGVtPlxuICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICAgIDwvU3R5bGVkRmVlc1RhYmxlPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9PdmVybGF5Q29udGV4dFByb3ZpZGVyPlxuICAgIDwvU3RhY2s+XG4gIClcbn1cbiJdfQ== */"));
29
- const StyledText = /* @__PURE__ */ _styled(Text, process.env.NODE_ENV === "production" ? {
30
- target: "excc3v73"
31
- } : {
32
- target: "excc3v73",
33
- label: "StyledText"
34
- })("text-align:right;", ({
35
- isBeta,
36
- theme
37
- }) => isBeta ? `margin-left: ${theme.space["2"]};` : null, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvRXN0aW1hdGVDb3N0L0VzdGltYXRlQ29zdENvbnRlbnQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9ERSIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy9wbHVzL3NyYy9jb21wb25lbnRzL0VzdGltYXRlQ29zdC9Fc3RpbWF0ZUNvc3RDb250ZW50LnRzeCIsInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IENhbGN1bGF0b3JJY29uIH0gZnJvbSAnQHVsdHJhdmlvbGV0L2ljb25zJ1xuaW1wb3J0IHsgQWxlcnQsIFN0YWNrLCBUZXh0IH0gZnJvbSAnQHVsdHJhdmlvbGV0L3VpJ1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRQcm9wcywgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQge1xuICBDaGlsZHJlbixcbiAgY2xvbmVFbGVtZW50LFxuICBpc1ZhbGlkRWxlbWVudCxcbiAgbWVtbyxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VJblZpZXcgfSBmcm9tICdyZWFjdC1pbnRlcnNlY3Rpb24tb2JzZXJ2ZXInXG5pbXBvcnQgeyBDdXN0b21Vbml0SW5wdXQgfSBmcm9tICcuL0NvbXBvbmVudHMvQ3VzdG9tVW5pdElucHV0J1xuaW1wb3J0IHsgSXRlbSB9IGZyb20gJy4vQ29tcG9uZW50cy9JdGVtJ1xuaW1wb3J0IHsgTGluZVRocm91Z2ggfSBmcm9tICcuL0NvbXBvbmVudHMvTGluZVRocm91Z2gnXG5pbXBvcnQge1xuICBCYWRnZUJldGEsXG4gIENlbGwsXG4gIEVtcHR5Q2VsbCxcbiAgRW1wdHlUYWJsZSxcbiAgUHJpY2VDb2wsXG4gIHByaWNlQ2VsbCxcbiAgU3R5bGVkRmVlc1RhYmxlLFxuICBTdHlsZWRUYWJsZSxcbiAgVGltZUNlbGwsXG4gIFRpdGxlLFxuICBUb3RhbFByaWNlQ2VsbCxcbn0gZnJvbSAnLi9jb21wb25lbnRTdHlsZSdcbmltcG9ydCB7IG1heGltdW1GcmFjdGlvbkRpZ2l0cywgbWF4aW11bUZyYWN0aW9uRGlnaXRzTG9uZyB9IGZyb20gJy4vY29uc3RhbnRzJ1xuaW1wb3J0IHsgdXNlRXN0aW1hdGVDb3N0IH0gZnJvbSAnLi9Fc3RpbWF0ZUNvc3RQcm92aWRlcidcbmltcG9ydCB7IGNhbGN1bGF0ZVByaWNlIH0gZnJvbSAnLi9oZWxwZXInXG5pbXBvcnQgRXN0aW1hdGVDb3N0TG9jYWxlcyBmcm9tICcuL2xvY2FsZXMvZW4nXG5pbXBvcnQgeyBPdmVybGF5Q29tcG9uZW50IH0gZnJvbSAnLi9PdmVybGF5Q29tcG9uZW50J1xuaW1wb3J0IHsgT3ZlcmxheUNvbnRleHRQcm92aWRlciB9IGZyb20gJy4vT3ZlcmxheUNvbnRleHQnXG5pbXBvcnQgdHlwZSB7XG4gIEJhcmVFc3RpbWF0ZVByb2R1Y3QsXG4gIEVzdGltYXRlQ29zdFByb3BzLFxuICBFc3RpbWF0ZVByb2R1Y3QsXG4gIEl0ZXJhdGlvbixcbiAgVW5pdHMsXG59IGZyb20gJy4vdHlwZXMnXG5cbmNvbnN0IEZlZXNUZXh0ID0gc3R5bGVkKFRleHQpYFxuICBtYXJnaW4tdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWyczJ119O1xuYFxuXG5jb25zdCBTdHlsZWRUZXh0ID0gc3R5bGVkKFRleHQpPHtcbiAgaXNCZXRhPzogYm9vbGVhblxufT5gXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICAkeyh7IGlzQmV0YSwgdGhlbWUgfSkgPT5cbiAgICBpc0JldGEgPyBgbWFyZ2luLWxlZnQ6ICR7dGhlbWUuc3BhY2VbJzInXX07YCA6IG51bGx9XG5gXG5cbmNvbnN0IFJpZ2h0QWxpZ25lZFRleHQgPSBzdHlsZWQoVGV4dClgXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuYFxuXG5jb25zdCBTdHlsZWRDYWxjdWxhdG9ySWNvbiA9IHN0eWxlZChDYWxjdWxhdG9ySWNvbilgXG4gIG1hcmdpbi1yaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbmBcblxuY29uc3QgU3R5bGVkUHJpY2VDZWxsID0gc3R5bGVkKENlbGwud2l0aENvbXBvbmVudCgndGgnKSlgXG4gICR7KHsgdGhlbWUgfSkgPT4gcHJpY2VDZWxsKHRoZW1lKX1cbiAgcGFkZGluZzogMDtcbmBcblxuY29uc3QgREVGQVVMVF9VTklUX0xJU1Q6IFVuaXRzW10gPSBbJ2hvdXJzJywgJ2RheXMnLCAnbW9udGhzJ11cblxudHlwZSBFeHRyYVByb3BzID0ge1xuICBpc0xhc3RFbGVtZW50PzogYm9vbGVhblxuICBwcm9kdWN0c0NhbGxiYWNrPzoge1xuICAgIGFkZDogKHByb2R1Y3Q6IEVzdGltYXRlUHJvZHVjdCkgPT4gdm9pZFxuICAgIHJlbW92ZTogKHByb2R1Y3Q6IEJhcmVFc3RpbWF0ZVByb2R1Y3QpID0+IHZvaWRcbiAgfVxuICBpdGVyYXRpb24/OiBJdGVyYXRpb25cbiAgZGlzY291bnQ/OiBudW1iZXJcbn1cblxuY29uc3QgRGVzY3JpcHRpb25Db21wb25lbnQgPSBtZW1vKFxuICAoe1xuICAgIGRlc2NyaXB0aW9uLFxuICAgIGxvY2FsZXMsXG4gIH06IHtcbiAgICBkZXNjcmlwdGlvbjogUmVhY3ROb2RlXG4gICAgbG9jYWxlczogUmVjb3JkPGtleW9mIHR5cGVvZiBFc3RpbWF0ZUNvc3RMb2NhbGVzLCBzdHJpbmc+XG4gIH0pID0+XG4gICAgZGVzY3JpcHRpb24gPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgZGVzY3JpcHRpb24gPT09ICdzdHJpbmcnID8gKFxuICAgICAgPFRleHQgYXM9XCJzcGFuXCIgdmFyaWFudD1cImJvZHlcIj5cbiAgICAgICAge2Rlc2NyaXB0aW9uIHx8IGxvY2FsZXNbJ2VzdGltYXRlLmNvc3QuZGVzY3JpcHRpb24nXX1cbiAgICAgIDwvVGV4dD5cbiAgICApIDogKFxuICAgICAgZGVzY3JpcHRpb25cbiAgICApLFxuKVxuXG5jb25zdCBUaXRsZUNvbXBvbmVudCA9IG1lbW8oXG4gICh7XG4gICAgbG9jYWxlcyxcbiAgfToge1xuICAgIGxvY2FsZXM6IFJlcXVpcmVkPENvbXBvbmVudFByb3BzPHR5cGVvZiBFc3RpbWF0ZUNvc3RDb250ZW50PlsnbG9jYWxlcyddPlxuICB9KSA9PiAoXG4gICAgPFRpdGxlPlxuICAgICAgPFN0eWxlZENhbGN1bGF0b3JJY29uIHNlbnRpbWVudD1cInByaW1hcnlcIiBzaXplPVwibWVkaXVtXCIgLz5cbiAgICAgIHtsb2NhbGVzPy5bJ2VzdGltYXRlLmNvc3QubGFiZWwnXX1cbiAgICA8L1RpdGxlPlxuICApLFxuKVxuXG5leHBvcnQgY29uc3QgRXN0aW1hdGVDb3N0Q29udGVudCA9ICh7XG4gIGRlc2NyaXB0aW9uLFxuICBhbGVydCxcbiAgYWxlcnRUaXRsZSxcbiAgYWxlcnRWYXJpYW50ID0gJ3dhcm5pbmcnLFxuICBkZWZhdWx0VGltZVVuaXQgPSAnaG91cnMnLFxuICB0aW1lVW5pdHMgPSBERUZBVUxUX1VOSVRfTElTVCxcbiAgaGlkZU92ZXJsYXkgPSBmYWxzZSxcbiAgZGlzYWJsZU92ZXJsYXlMZWZ0ID0gZmFsc2UsXG4gIGRpc2FibGVPdmVybGF5UmlnaHQgPSBmYWxzZSxcbiAgaGlkZVRpbWVVbml0ID0gZmFsc2UsXG4gIGhpZGVUb3RhbCA9IGZhbHNlLFxuICBoaWRlSG91cmx5UHJpY2VPblRvdGFsID0gZmFsc2UsXG4gIGRpc2NvdW50ID0gMCxcbiAgT3ZlcmxheVJpZ2h0LFxuICBPdmVybGF5TGVmdCxcbiAgaXNCZXRhID0gZmFsc2UsXG4gIGNvbW1pdG1lbnRGZWVzLFxuICBjb21taXRtZW50RmVlc0NvbnRlbnQsXG4gIG1vbnRobHlGZWVzLFxuICBtb250aGx5RmVlc0xhYmVsLFxuICBtb250aGx5RmVlc0NvbnRlbnQsXG4gIG92ZXJsYXlVbml0ID0gJ2hvdXJzJyxcbiAgY2hpbGRyZW4gPSBudWxsLFxuICBsb2NhbGVzID0gRXN0aW1hdGVDb3N0TG9jYWxlcyxcbiAgb3ZlcmxheU1hcmdpbixcbiAgb25Ub3RhbFByaWNlQ2hhbmdlLFxufTogRXN0aW1hdGVDb3N0UHJvcHMpID0+IHtcbiAgY29uc3QgeyBmb3JtYXROdW1iZXIgfSA9IHVzZUVzdGltYXRlQ29zdCgpXG4gIGNvbnN0IFtyZWYsIGluVmlld10gPSB1c2VJblZpZXcoKVxuICBjb25zdCBbcHJvZHVjdHMsIHNldFByb2R1Y3RzXSA9IHVzZVN0YXRlPEVzdGltYXRlUHJvZHVjdFtdPihbXSkgLy8gcHJvZHVjdCBpcyB1c2VkIHRvIHN0b3JlIGVhY2ggaXRlbXMgd2l0aCB0aGVpciBwcmljZSBhbmQgYW1vdW50XG4gIGNvbnN0IFt0b3RhbFByaWNlLCBzZXRUb3RhbFByaWNlXSA9IHVzZVN0YXRlKHtcbiAgICBob3VybHk6IDAsXG4gICAgbWF4SG91cmx5OiAwLFxuICAgIG1heE92ZXJsYXlIb3VybHk6IDAsXG4gICAgbWF4VG90YWw6IDAsXG4gICAgb3ZlcmxheUhvdXJseTogMCxcbiAgICB0b3RhbDogMCxcbiAgfSlcbiAgY29uc3QgW2l0ZXJhdGlvbiwgc2V0SXRlcmF0aW9uXSA9IHVzZVN0YXRlPEl0ZXJhdGlvbj4oe1xuICAgIHVuaXQ6IGRlZmF1bHRUaW1lVW5pdCA/PyAnaG91cnMnLFxuICAgIHZhbHVlOiAxLFxuICB9KVxuXG4gIGNvbnN0IFtpc0xvbmdGcmFjdGlvbkRpZ2l0cywgc2V0SXNMb25nRnJhY3Rpb25EaWdpdHNdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHByb3ZpZGVyVmFsdWUgPSB1c2VNZW1vKCgpID0+ICh7IGlzT3ZlcmxheTogZmFsc2UgfSksIFtdKVxuXG4gIGNvbnN0IHRvdGFsVmFsdWUgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBmb3JtYXROdW1iZXIodG90YWxQcmljZS50b3RhbCA8IDAgPyAwIDogdG90YWxQcmljZS50b3RhbCwge1xuICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IGlzTG9uZ0ZyYWN0aW9uRGlnaXRzXG4gICAgICAgICAgPyBtYXhpbXVtRnJhY3Rpb25EaWdpdHNMb25nW2l0ZXJhdGlvbi51bml0XVxuICAgICAgICAgIDogbWF4aW11bUZyYWN0aW9uRGlnaXRzW2l0ZXJhdGlvbi51bml0XSxcbiAgICAgIH0pLFxuICAgIFtmb3JtYXROdW1iZXIsIGlzTG9uZ0ZyYWN0aW9uRGlnaXRzLCBpdGVyYXRpb24udW5pdCwgdG90YWxQcmljZS50b3RhbF0sXG4gIClcblxuICBjb25zdCB0b3RhbE1heFZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgZm9ybWF0TnVtYmVyKHRvdGFsUHJpY2UubWF4VG90YWwgPCAwID8gMCA6IHRvdGFsUHJpY2UubWF4VG90YWwsIHtcbiAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBpc0xvbmdGcmFjdGlvbkRpZ2l0c1xuICAgICAgICAgID8gbWF4aW11bUZyYWN0aW9uRGlnaXRzTG9uZ1tpdGVyYXRpb24udW5pdF1cbiAgICAgICAgICA6IG1heGltdW1GcmFjdGlvbkRpZ2l0c1tpdGVyYXRpb24udW5pdF0sXG4gICAgICB9KSxcbiAgICBbZm9ybWF0TnVtYmVyLCBpc0xvbmdGcmFjdGlvbkRpZ2l0cywgaXRlcmF0aW9uLnVuaXQsIHRvdGFsUHJpY2UubWF4VG90YWxdLFxuICApXG5cbiAgY29uc3QgcHJvZHVjdHNDYWxsYmFjayA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIGFkZDogKG5ld1Byb2R1Y3Q6IEVzdGltYXRlUHJvZHVjdCkgPT4ge1xuICAgICAgICBzZXRQcm9kdWN0cyh0b3RhbCA9PiB7XG4gICAgICAgICAgaWYgKHRvdGFsLmZpbmQocHJvZHVjdCA9PiBwcm9kdWN0LmlkID09PSBuZXdQcm9kdWN0LmlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRvdGFsLm1hcChwcm9kdWN0ID0+XG4gICAgICAgICAgICAgIHByb2R1Y3QuaWQgPT09IG5ld1Byb2R1Y3QuaWQgPyBuZXdQcm9kdWN0IDogcHJvZHVjdCxcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gWy4uLnRvdGFsLCBuZXdQcm9kdWN0XVxuICAgICAgICB9KVxuICAgICAgfSxcblxuICAgICAgcmVtb3ZlOiAoeyBpZCB9OiBCYXJlRXN0aW1hdGVQcm9kdWN0KSA9PiB7XG4gICAgICAgIHNldFByb2R1Y3RzKHRvdGFsID0+IHRvdGFsLmZpbHRlcihwcm9kdWN0ID0+IHByb2R1Y3QuaWQgIT09IGlkKSlcbiAgICAgIH0sXG4gICAgfSksXG4gICAgW3NldFByb2R1Y3RzXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gdGhpcyB2YXJpYWJsZSBjaGVjayBpZiB0aGVyZSBpcyBhIG1heEFtb3VudCBpbiBlYWNoIHByb2R1Y3RcbiAgICAvLyBpZiBub3Qgd2UgZG8gbm90IG5lZWQgdG8gY2FsY3VsYXRlIG1heFRvdGFsLCBtYXhIb3VybHksIG1heE92ZXJsYXlIb3VybHlcbiAgICBjb25zdCBpc01heEFtb3VudEluUHJvZHVjdHMgPSBwcm9kdWN0cy5maW5kKHByb2R1Y3QgPT4gcHJvZHVjdC5tYXhBbW91bnQpXG4gICAgc2V0SXNMb25nRnJhY3Rpb25EaWdpdHMoXG4gICAgICAhIXByb2R1Y3RzLmZpbmQocHJvZHVjdCA9PiBwcm9kdWN0LmxvbmdGcmFjdGlvbkRpZ2l0cyksXG4gICAgKVxuICAgIHNldFRvdGFsUHJpY2Uoe1xuICAgICAgaG91cmx5OiBwcm9kdWN0cy5yZWR1Y2UoXG4gICAgICAgIChhY2MsIHByb2R1Y3QpID0+XG4gICAgICAgICAgYWNjICtcbiAgICAgICAgICAocHJvZHVjdC5ub0l0ZXJhdGlvblxuICAgICAgICAgICAgPyAwXG4gICAgICAgICAgICA6IChwcm9kdWN0LnByaWNlIC0gcHJvZHVjdC5wcmljZSAqIHByb2R1Y3QuZGlzY291bnQpICpcbiAgICAgICAgICAgICAgTWF0aC5tYXgocHJvZHVjdC5hbW91bnQgLSBwcm9kdWN0LmFtb3VudEZyZWUsIDApKSxcbiAgICAgICAgMCxcbiAgICAgICksXG4gICAgICBtYXhIb3VybHk6IGlzTWF4QW1vdW50SW5Qcm9kdWN0c1xuICAgICAgICA/IHByb2R1Y3RzLnJlZHVjZShcbiAgICAgICAgICAgIChhY2MsIHByb2R1Y3QpID0+XG4gICAgICAgICAgICAgIGFjYyAmJiBwcm9kdWN0Lm5vSXRlcmF0aW9uXG4gICAgICAgICAgICAgICAgPyAwXG4gICAgICAgICAgICAgICAgOiAocHJvZHVjdC5wcmljZSAtIHByb2R1Y3QucHJpY2UgKiBwcm9kdWN0LmRpc2NvdW50KSAqXG4gICAgICAgICAgICAgICAgICBNYXRoLm1heChwcm9kdWN0Lm1heEFtb3VudCAtIHByb2R1Y3QuYW1vdW50RnJlZSwgMCksXG5cbiAgICAgICAgICAgIDAsXG4gICAgICAgICAgKVxuICAgICAgICA6IDAsXG4gICAgICBtYXhPdmVybGF5SG91cmx5OiBpc01heEFtb3VudEluUHJvZHVjdHNcbiAgICAgICAgPyBwcm9kdWN0cy5yZWR1Y2UoXG4gICAgICAgICAgICAoYWNjLCBwcm9kdWN0KSA9PlxuICAgICAgICAgICAgICBhY2MgK1xuICAgICAgICAgICAgICAocHJvZHVjdC5ub0l0ZXJhdGlvblxuICAgICAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgICAgIDogKHByb2R1Y3QucHJpY2UgLSBwcm9kdWN0LnByaWNlICogcHJvZHVjdC5kaXNjb3VudCkgKlxuICAgICAgICAgICAgICAgICAgTWF0aC5tYXgocHJvZHVjdC5tYXhBbW91bnQgLSBwcm9kdWN0LmFtb3VudEZyZWUsIDApKSxcbiAgICAgICAgICAgIDAsXG4gICAgICAgICAgKVxuICAgICAgICA6IDAsXG4gICAgICBtYXhUb3RhbDogaXNNYXhBbW91bnRJblByb2R1Y3RzXG4gICAgICAgID8gcHJvZHVjdHMucmVkdWNlKFxuICAgICAgICAgICAgKGFjYywgcHJvZHVjdCkgPT5cbiAgICAgICAgICAgICAgYWNjICtcbiAgICAgICAgICAgICAgY2FsY3VsYXRlUHJpY2Uoe1xuICAgICAgICAgICAgICAgIGFtb3VudDogcHJvZHVjdC5tYXhBbW91bnQgfHwgcHJvZHVjdC5hbW91bnQsIC8vIE5vdCBhbGwgcHJvZHVjdHMgaGF2ZSBtYXhBbW91bnQsIHNvIHdlIG5lZWQgdG8gY2hlY2sgYm90aFxuICAgICAgICAgICAgICAgIGFtb3VudEZyZWU6IHByb2R1Y3QuYW1vdW50RnJlZSxcbiAgICAgICAgICAgICAgICBkaXNjb3VudDogcHJvZHVjdC5kaXNjb3VudCxcbiAgICAgICAgICAgICAgICBwcmljZTogcHJvZHVjdC5wcmljZSxcbiAgICAgICAgICAgICAgICB0aW1lQW1vdW50OiBwcm9kdWN0Lm5vSXRlcmF0aW9uID8gMSA6IGl0ZXJhdGlvbi52YWx1ZSxcbiAgICAgICAgICAgICAgICB0aW1lVW5pdDogcHJvZHVjdC5ub0l0ZXJhdGlvbiA/ICdob3VycycgOiBpdGVyYXRpb24udW5pdCxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAwLFxuICAgICAgICAgIClcbiAgICAgICAgOiAwLFxuICAgICAgb3ZlcmxheUhvdXJseTogcHJvZHVjdHMucmVkdWNlKFxuICAgICAgICAoYWNjLCBwcm9kdWN0KSA9PlxuICAgICAgICAgIGFjYyArXG4gICAgICAgICAgKHByb2R1Y3Qubm9JdGVyYXRpb25cbiAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgOiAocHJvZHVjdC5wcmljZSAtIHByb2R1Y3QucHJpY2UgKiBwcm9kdWN0LmRpc2NvdW50KSAqXG4gICAgICAgICAgICAgIE1hdGgubWF4KHByb2R1Y3QuYW1vdW50IC0gcHJvZHVjdC5hbW91bnRGcmVlLCAwKSksXG4gICAgICAgIDAsXG4gICAgICApLFxuICAgICAgdG90YWw6ICFoaWRlVG90YWxcbiAgICAgICAgPyBwcm9kdWN0cy5yZWR1Y2UoXG4gICAgICAgICAgICAoYWNjLCBwcm9kdWN0KSA9PlxuICAgICAgICAgICAgICBhY2MgK1xuICAgICAgICAgICAgICBjYWxjdWxhdGVQcmljZSh7XG4gICAgICAgICAgICAgICAgYW1vdW50OiBwcm9kdWN0LmFtb3VudCxcbiAgICAgICAgICAgICAgICBhbW91bnRGcmVlOiBwcm9kdWN0LmFtb3VudEZyZWUsXG4gICAgICAgICAgICAgICAgZGlzY291bnQ6IHByb2R1Y3QuZGlzY291bnQsXG4gICAgICAgICAgICAgICAgcHJpY2U6IHByb2R1Y3QucHJpY2UsXG4gICAgICAgICAgICAgICAgdGltZUFtb3VudDogcHJvZHVjdC5ub0l0ZXJhdGlvbiA/IDEgOiBpdGVyYXRpb24udmFsdWUsXG4gICAgICAgICAgICAgICAgdGltZVVuaXQ6IHByb2R1Y3Qubm9JdGVyYXRpb24gPyAnaG91cnMnIDogaXRlcmF0aW9uLnVuaXQsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgMCxcbiAgICAgICAgICApXG4gICAgICAgIDogMCxcbiAgICB9KVxuICAgIG9uVG90YWxQcmljZUNoYW5nZT8uKHtcbiAgICAgIHRvdGFsOiB0b3RhbFByaWNlLnRvdGFsLFxuICAgICAgdG90YWxNYXg6IHRvdGFsUHJpY2UubWF4VG90YWwgPiAwID8gdG90YWxQcmljZS5tYXhUb3RhbCA6IHVuZGVmaW5lZCxcbiAgICB9KVxuICB9LCBbXG4gICAgaGlkZVRvdGFsLFxuICAgIHByb2R1Y3RzLFxuICAgIGl0ZXJhdGlvbixcbiAgICBzZXRUb3RhbFByaWNlLFxuICAgIG9uVG90YWxQcmljZUNoYW5nZSxcbiAgICB0b3RhbFByaWNlLnRvdGFsLFxuICAgIHRvdGFsUHJpY2UubWF4VG90YWwsXG4gICAgdG90YWxWYWx1ZSxcbiAgICB0b3RhbE1heFZhbHVlLFxuICBdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgaGlkZVRpbWVVbml0ICYmXG4gICAgICAoaXRlcmF0aW9uLnZhbHVlID4gMSB8fCBpdGVyYXRpb24udW5pdCAhPT0gKGRlZmF1bHRUaW1lVW5pdCA/PyAnaG91cnMnKSlcbiAgICApIHtcbiAgICAgIHNldEl0ZXJhdGlvbih7IHVuaXQ6IGRlZmF1bHRUaW1lVW5pdCA/PyAnaG91cnMnLCB2YWx1ZTogMSB9KVxuICAgIH1cbiAgfSwgW2hpZGVUaW1lVW5pdCwgaXRlcmF0aW9uLCBkZWZhdWx0VGltZVVuaXRdKVxuXG4gIHJldHVybiAoXG4gICAgPFN0YWNrIGdhcD17Mn0+XG4gICAgICB7IWhpZGVPdmVybGF5ID8gKFxuICAgICAgICA8T3ZlcmxheUNvbXBvbmVudFxuICAgICAgICAgIGRpc2FibGVPdmVybGF5TGVmdD17ZGlzYWJsZU92ZXJsYXlMZWZ0fVxuICAgICAgICAgIGRpc2FibGVPdmVybGF5UmlnaHQ9e2Rpc2FibGVPdmVybGF5UmlnaHR9XG4gICAgICAgICAgZGlzY291bnQ9e2Rpc2NvdW50fVxuICAgICAgICAgIGluVmlldz17aW5WaWV3fVxuICAgICAgICAgIGlzQmV0YT17aXNCZXRhfVxuICAgICAgICAgIE92ZXJsYXlMZWZ0PXtPdmVybGF5TGVmdH1cbiAgICAgICAgICBPdmVybGF5UmlnaHQ9e092ZXJsYXlSaWdodH1cbiAgICAgICAgICBvdmVybGF5TWFyZ2luPXtvdmVybGF5TWFyZ2lufVxuICAgICAgICAgIHRvdGFsUHJpY2U9e3RvdGFsUHJpY2V9XG4gICAgICAgICAgdW5pdD17b3ZlcmxheVVuaXQgPz8gJ2hvdXJzJ31cbiAgICAgICAgPlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9PdmVybGF5Q29tcG9uZW50PlxuICAgICAgKSA6IG51bGx9XG4gICAgICB7ZGVzY3JpcHRpb24gPT09IGZhbHNlID8gbnVsbCA6IChcbiAgICAgICAgPERlc2NyaXB0aW9uQ29tcG9uZW50IGRlc2NyaXB0aW9uPXtkZXNjcmlwdGlvbn0gbG9jYWxlcz17bG9jYWxlc30gLz5cbiAgICAgICl9XG4gICAgICB7YWxlcnQgPyAoXG4gICAgICAgIDxBbGVydCBzZW50aW1lbnQ9e2FsZXJ0VmFyaWFudH0gdGl0bGU9e2FsZXJ0VGl0bGV9PlxuICAgICAgICAgIHthbGVydH1cbiAgICAgICAgPC9BbGVydD5cbiAgICAgICkgOiBudWxsfVxuICAgICAgPE92ZXJsYXlDb250ZXh0UHJvdmlkZXIgdmFsdWU9e3Byb3ZpZGVyVmFsdWV9PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHtjaGlsZHJlbiA/IChcbiAgICAgICAgICAgIDxTdHlsZWRUYWJsZVxuICAgICAgICAgICAgICBjZWxsUGFkZGluZz1cIjBcIlxuICAgICAgICAgICAgICBjZWxsU3BhY2luZz1cIjBcIlxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cInN1bW1hcnlcIlxuICAgICAgICAgICAgICBub1RvdGFsPXtoaWRlVG90YWx9XG4gICAgICAgICAgICAgIHJlZj17cmVmfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8Y29sZ3JvdXA+XG4gICAgICAgICAgICAgICAgPGNvbCAvPlxuICAgICAgICAgICAgICAgIDxQcmljZUNvbCAvPlxuICAgICAgICAgICAgICA8L2NvbGdyb3VwPlxuICAgICAgICAgICAgICB7IWhpZGVUaW1lVW5pdCA/IChcbiAgICAgICAgICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgIDx0aD5cbiAgICAgICAgICAgICAgICAgICAgICA8VGl0bGVDb21wb25lbnQgbG9jYWxlcz17bG9jYWxlc30gLz5cbiAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPFN0eWxlZFByaWNlQ2VsbD5cbiAgICAgICAgICAgICAgICAgICAgICA8VGltZUNlbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Q3VzdG9tVW5pdElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRUaW1lVW5pdD17ZGVmYXVsdFRpbWVVbml0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb249e2l0ZXJhdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXRlcmF0aW9uPXtzZXRJdGVyYXRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVVbml0cz17dGltZVVuaXRzfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L1RpbWVDZWxsPlxuICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZFByaWNlQ2VsbD5cbiAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICB7Q2hpbGRyZW4ubWFwKGNoaWxkcmVuLCAoY2hpbGQsIGluZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgaXNWYWxpZEVsZW1lbnQ8RXh0cmFQcm9wcz4oY2hpbGQpXG4gICAgICAgICAgICAgICAgICAgID8gY2xvbmVFbGVtZW50KGNoaWxkLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNjb3VudDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzY291bnQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZCBhcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkucHJvcHMgYXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzY291bnQ/OiBudW1iZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICkuZGlzY291bnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGRpc2NvdW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZCBhcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkucHJvcHMgYXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdW50PzogbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkuZGlzY291bnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0xhc3RFbGVtZW50OiBpbmRleCA9PT0gQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pIC0gMSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y3RzQ2FsbGJhY2ssXG4gICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgOiBjaGlsZCxcbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgPC9TdHlsZWRUYWJsZT5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICB7IWhpZGVUb3RhbCA/IChcbiAgICAgICAgICAgIDxFbXB0eVRhYmxlIGNlbGxQYWRkaW5nPVwiMFwiIGNlbGxTcGFjaW5nPVwiMFwiPlxuICAgICAgICAgICAgICA8Y29sZ3JvdXA+XG4gICAgICAgICAgICAgICAgPGNvbCAvPlxuICAgICAgICAgICAgICAgIDxQcmljZUNvbCAvPlxuICAgICAgICAgICAgICA8L2NvbGdyb3VwPlxuICAgICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgPEVtcHR5Q2VsbCBhcmlhLWxhYmVsPVwiY29udHJvbFwiIC8+XG4gICAgICAgICAgICAgICAgICA8VG90YWxQcmljZUNlbGwgaGFzQm9yZGVyPXtmYWxzZX0+XG4gICAgICAgICAgICAgICAgICAgIHtpc0JldGEgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgPEJhZGdlQmV0YVxuICAgICAgICAgICAgICAgICAgICAgICAgbG9uZz17XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZXNbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYGVzdGltYXRlLmNvc3QuYmV0YS4ke1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzY291bnQgPiAwID8gJ2Rpc2NvdW50JyA6ICdmcmVlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1gXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0ubGVuZ3RoID4gMjVcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJzdHJvbmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwid2FybmluZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge2Ake2Rpc2NvdW50ID4gMCA/IGRpc2NvdW50ICogMTAwIDogJyd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlc1tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBlc3RpbWF0ZS5jb3N0LmJldGEuJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzY291bnQgPiAwID8gJ2Rpc2NvdW50JyA6ICdmcmVlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfWBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgICAgICAgIDwvQmFkZ2VCZXRhPlxuICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgPFN0eWxlZFRleHRcbiAgICAgICAgICAgICAgICAgICAgICBhcz1cImgzXCJcbiAgICAgICAgICAgICAgICAgICAgICBpc0JldGE9e2lzQmV0YX1cbiAgICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiaGVhZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8TGluZVRocm91Z2hcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc0JldGEgJiYgKGRpc2NvdW50ID09PSAwIHx8IGRpc2NvdW50ID49IDEpfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0b3RhbFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAge3RvdGFsUHJpY2UubWF4VG90YWwgPiAwID8gYCAtICR7dG90YWxNYXhWYWx1ZX1gIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICA8L0xpbmVUaHJvdWdoPlxuICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZFRleHQ+XG4gICAgICAgICAgICAgICAgICAgIHtoaWRlSG91cmx5UHJpY2VPblRvdGFsICYmXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsUHJpY2UuaG91cmx5ID4gMCAmJlxuICAgICAgICAgICAgICAgICAgICB0b3RhbFByaWNlLmhvdXJseSAhPT0gdG90YWxQcmljZS50b3RhbCAmJlxuICAgICAgICAgICAgICAgICAgICB0b3RhbFByaWNlLnRvdGFsID4gMCA/IChcbiAgICAgICAgICAgICAgICAgICAgICA8UmlnaHRBbGlnbmVkVGV4dCBhcz1cInBcIiB2YXJpYW50PVwiYm9keVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPExpbmVUaHJvdWdoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc0JldGEgJiYgKGRpc2NvdW50ID09PSAwIHx8IGRpc2NvdW50ID49IDEpfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7Zm9ybWF0TnVtYmVyKHRvdGFsUHJpY2UuaG91cmx5LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBpc0xvbmdGcmFjdGlvbkRpZ2l0c1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBtYXhpbXVtRnJhY3Rpb25EaWdpdHNMb25nLmhvdXJzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG1heGltdW1GcmFjdGlvbkRpZ2l0cy5ob3VycyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt0b3RhbFByaWNlLm1heEhvdXJseSA+IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGAgLSAke2Zvcm1hdE51bWJlcih0b3RhbFByaWNlLm1heEhvdXJseSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IGlzTG9uZ0ZyYWN0aW9uRGlnaXRzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBtYXhpbXVtRnJhY3Rpb25EaWdpdHNMb25nLmhvdXJzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtYXhpbXVtRnJhY3Rpb25EaWdpdHMuaG91cnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KX1gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtsb2NhbGVzW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBlc3RpbWF0ZS5jb3N0LnVuaXRzLmhvdXJzLmxhYmVsYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLnRvTG93ZXJDYXNlKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xpbmVUaHJvdWdoPlxuICAgICAgICAgICAgICAgICAgICAgIDwvUmlnaHRBbGlnbmVkVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICA8L1RvdGFsUHJpY2VDZWxsPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICA8L0VtcHR5VGFibGU+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAge2NvbW1pdG1lbnRGZWVzICE9PSB1bmRlZmluZWQgfHwgbW9udGhseUZlZXMgIT09IHVuZGVmaW5lZCA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxGZWVzVGV4dCBhcz1cImgzXCIgdmFyaWFudD1cImhlYWRpbmdTbWFsbFwiPlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGxvY2FsZXNbXG4gICAgICAgICAgICAgICAgICAgIGBlc3RpbWF0ZS5jb3N0LmZlZXMuJHtcbiAgICAgICAgICAgICAgICAgICAgICBjb21taXRtZW50RmVlcyA/ICdvbmVUaW1lJyA6ICdtb250aGx5J1xuICAgICAgICAgICAgICAgICAgICB9LnRpdGxlYFxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9GZWVzVGV4dD5cbiAgICAgICAgICAgICAgPFN0eWxlZEZlZXNUYWJsZT5cbiAgICAgICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgICAgICA8SXRlbVxuICAgICAgICAgICAgICAgICAgICBpc0xhc3RFbGVtZW50XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsPXtcbiAgICAgICAgICAgICAgICAgICAgICBjb21taXRtZW50RmVlc1xuICAgICAgICAgICAgICAgICAgICAgICAgPyBsb2NhbGVzWydlc3RpbWF0ZS5jb3N0LmZlZXMuY29tbWl0bWVudCddXG4gICAgICAgICAgICAgICAgICAgICAgICA6IG1vbnRobHlGZWVzTGFiZWxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBub0l0ZXJhdGlvblxuICAgICAgICAgICAgICAgICAgICBwcmljZT17Y29tbWl0bWVudEZlZXMgfHwgbW9udGhseUZlZXN9XG4gICAgICAgICAgICAgICAgICAgIHByb2R1Y3RzQ2FsbGJhY2s9e3tcbiAgICAgICAgICAgICAgICAgICAgICBhZGQ6ICgpID0+IHt9LFxuICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZTogKCkgPT4ge30sXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtjb21taXRtZW50RmVlc1xuICAgICAgICAgICAgICAgICAgICAgID8gY29tbWl0bWVudEZlZXNDb250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgOiBtb250aGx5RmVlc0NvbnRlbnR9XG4gICAgICAgICAgICAgICAgICA8L0l0ZW0+XG4gICAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgICAgPC9TdHlsZWRGZWVzVGFibGU+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L092ZXJsYXlDb250ZXh0UHJvdmlkZXI+XG4gICAgPC9TdGFjaz5cbiAgKVxufVxuIl19 */"));
38
- const RightAlignedText = /* @__PURE__ */ _styled(Text, process.env.NODE_ENV === "production" ? {
39
- target: "excc3v72"
40
- } : {
41
- target: "excc3v72",
42
- label: "RightAlignedText"
43
- })(process.env.NODE_ENV === "production" ? {
44
- name: "2qga7i",
45
- styles: "text-align:right"
46
- } : {
47
- name: "2qga7i",
48
- styles: "text-align:right/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvRXN0aW1hdGVDb3N0L0VzdGltYXRlQ29zdENvbnRlbnQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBEcUMiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvcGx1cy9zcmMvY29tcG9uZW50cy9Fc3RpbWF0ZUNvc3QvRXN0aW1hdGVDb3N0Q29udGVudC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBDYWxjdWxhdG9ySWNvbiB9IGZyb20gJ0B1bHRyYXZpb2xldC9pY29ucydcbmltcG9ydCB7IEFsZXJ0LCBTdGFjaywgVGV4dCB9IGZyb20gJ0B1bHRyYXZpb2xldC91aSdcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50UHJvcHMsIFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgQ2hpbGRyZW4sXG4gIGNsb25lRWxlbWVudCxcbiAgaXNWYWxpZEVsZW1lbnQsXG4gIG1lbW8sXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlSW5WaWV3IH0gZnJvbSAncmVhY3QtaW50ZXJzZWN0aW9uLW9ic2VydmVyJ1xuaW1wb3J0IHsgQ3VzdG9tVW5pdElucHV0IH0gZnJvbSAnLi9Db21wb25lbnRzL0N1c3RvbVVuaXRJbnB1dCdcbmltcG9ydCB7IEl0ZW0gfSBmcm9tICcuL0NvbXBvbmVudHMvSXRlbSdcbmltcG9ydCB7IExpbmVUaHJvdWdoIH0gZnJvbSAnLi9Db21wb25lbnRzL0xpbmVUaHJvdWdoJ1xuaW1wb3J0IHtcbiAgQmFkZ2VCZXRhLFxuICBDZWxsLFxuICBFbXB0eUNlbGwsXG4gIEVtcHR5VGFibGUsXG4gIFByaWNlQ29sLFxuICBwcmljZUNlbGwsXG4gIFN0eWxlZEZlZXNUYWJsZSxcbiAgU3R5bGVkVGFibGUsXG4gIFRpbWVDZWxsLFxuICBUaXRsZSxcbiAgVG90YWxQcmljZUNlbGwsXG59IGZyb20gJy4vY29tcG9uZW50U3R5bGUnXG5pbXBvcnQgeyBtYXhpbXVtRnJhY3Rpb25EaWdpdHMsIG1heGltdW1GcmFjdGlvbkRpZ2l0c0xvbmcgfSBmcm9tICcuL2NvbnN0YW50cydcbmltcG9ydCB7IHVzZUVzdGltYXRlQ29zdCB9IGZyb20gJy4vRXN0aW1hdGVDb3N0UHJvdmlkZXInXG5pbXBvcnQgeyBjYWxjdWxhdGVQcmljZSB9IGZyb20gJy4vaGVscGVyJ1xuaW1wb3J0IEVzdGltYXRlQ29zdExvY2FsZXMgZnJvbSAnLi9sb2NhbGVzL2VuJ1xuaW1wb3J0IHsgT3ZlcmxheUNvbXBvbmVudCB9IGZyb20gJy4vT3ZlcmxheUNvbXBvbmVudCdcbmltcG9ydCB7IE92ZXJsYXlDb250ZXh0UHJvdmlkZXIgfSBmcm9tICcuL092ZXJsYXlDb250ZXh0J1xuaW1wb3J0IHR5cGUge1xuICBCYXJlRXN0aW1hdGVQcm9kdWN0LFxuICBFc3RpbWF0ZUNvc3RQcm9wcyxcbiAgRXN0aW1hdGVQcm9kdWN0LFxuICBJdGVyYXRpb24sXG4gIFVuaXRzLFxufSBmcm9tICcuL3R5cGVzJ1xuXG5jb25zdCBGZWVzVGV4dCA9IHN0eWxlZChUZXh0KWBcbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMyddfTtcbmBcblxuY29uc3QgU3R5bGVkVGV4dCA9IHN0eWxlZChUZXh0KTx7XG4gIGlzQmV0YT86IGJvb2xlYW5cbn0+YFxuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgJHsoeyBpc0JldGEsIHRoZW1lIH0pID0+XG4gICAgaXNCZXRhID8gYG1hcmdpbi1sZWZ0OiAke3RoZW1lLnNwYWNlWycyJ119O2AgOiBudWxsfVxuYFxuXG5jb25zdCBSaWdodEFsaWduZWRUZXh0ID0gc3R5bGVkKFRleHQpYFxuICB0ZXh0LWFsaWduOiByaWdodDtcbmBcblxuY29uc3QgU3R5bGVkQ2FsY3VsYXRvckljb24gPSBzdHlsZWQoQ2FsY3VsYXRvckljb24pYFxuICBtYXJnaW4tcmlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG5gXG5cbmNvbnN0IFN0eWxlZFByaWNlQ2VsbCA9IHN0eWxlZChDZWxsLndpdGhDb21wb25lbnQoJ3RoJykpYFxuICAkeyh7IHRoZW1lIH0pID0+IHByaWNlQ2VsbCh0aGVtZSl9XG4gIHBhZGRpbmc6IDA7XG5gXG5cbmNvbnN0IERFRkFVTFRfVU5JVF9MSVNUOiBVbml0c1tdID0gWydob3VycycsICdkYXlzJywgJ21vbnRocyddXG5cbnR5cGUgRXh0cmFQcm9wcyA9IHtcbiAgaXNMYXN0RWxlbWVudD86IGJvb2xlYW5cbiAgcHJvZHVjdHNDYWxsYmFjaz86IHtcbiAgICBhZGQ6IChwcm9kdWN0OiBFc3RpbWF0ZVByb2R1Y3QpID0+IHZvaWRcbiAgICByZW1vdmU6IChwcm9kdWN0OiBCYXJlRXN0aW1hdGVQcm9kdWN0KSA9PiB2b2lkXG4gIH1cbiAgaXRlcmF0aW9uPzogSXRlcmF0aW9uXG4gIGRpc2NvdW50PzogbnVtYmVyXG59XG5cbmNvbnN0IERlc2NyaXB0aW9uQ29tcG9uZW50ID0gbWVtbyhcbiAgKHtcbiAgICBkZXNjcmlwdGlvbixcbiAgICBsb2NhbGVzLFxuICB9OiB7XG4gICAgZGVzY3JpcHRpb246IFJlYWN0Tm9kZVxuICAgIGxvY2FsZXM6IFJlY29yZDxrZXlvZiB0eXBlb2YgRXN0aW1hdGVDb3N0TG9jYWxlcywgc3RyaW5nPlxuICB9KSA9PlxuICAgIGRlc2NyaXB0aW9uID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIGRlc2NyaXB0aW9uID09PSAnc3RyaW5nJyA/IChcbiAgICAgIDxUZXh0IGFzPVwic3BhblwiIHZhcmlhbnQ9XCJib2R5XCI+XG4gICAgICAgIHtkZXNjcmlwdGlvbiB8fCBsb2NhbGVzWydlc3RpbWF0ZS5jb3N0LmRlc2NyaXB0aW9uJ119XG4gICAgICA8L1RleHQ+XG4gICAgKSA6IChcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgKSxcbilcblxuY29uc3QgVGl0bGVDb21wb25lbnQgPSBtZW1vKFxuICAoe1xuICAgIGxvY2FsZXMsXG4gIH06IHtcbiAgICBsb2NhbGVzOiBSZXF1aXJlZDxDb21wb25lbnRQcm9wczx0eXBlb2YgRXN0aW1hdGVDb3N0Q29udGVudD5bJ2xvY2FsZXMnXT5cbiAgfSkgPT4gKFxuICAgIDxUaXRsZT5cbiAgICAgIDxTdHlsZWRDYWxjdWxhdG9ySWNvbiBzZW50aW1lbnQ9XCJwcmltYXJ5XCIgc2l6ZT1cIm1lZGl1bVwiIC8+XG4gICAgICB7bG9jYWxlcz8uWydlc3RpbWF0ZS5jb3N0LmxhYmVsJ119XG4gICAgPC9UaXRsZT5cbiAgKSxcbilcblxuZXhwb3J0IGNvbnN0IEVzdGltYXRlQ29zdENvbnRlbnQgPSAoe1xuICBkZXNjcmlwdGlvbixcbiAgYWxlcnQsXG4gIGFsZXJ0VGl0bGUsXG4gIGFsZXJ0VmFyaWFudCA9ICd3YXJuaW5nJyxcbiAgZGVmYXVsdFRpbWVVbml0ID0gJ2hvdXJzJyxcbiAgdGltZVVuaXRzID0gREVGQVVMVF9VTklUX0xJU1QsXG4gIGhpZGVPdmVybGF5ID0gZmFsc2UsXG4gIGRpc2FibGVPdmVybGF5TGVmdCA9IGZhbHNlLFxuICBkaXNhYmxlT3ZlcmxheVJpZ2h0ID0gZmFsc2UsXG4gIGhpZGVUaW1lVW5pdCA9IGZhbHNlLFxuICBoaWRlVG90YWwgPSBmYWxzZSxcbiAgaGlkZUhvdXJseVByaWNlT25Ub3RhbCA9IGZhbHNlLFxuICBkaXNjb3VudCA9IDAsXG4gIE92ZXJsYXlSaWdodCxcbiAgT3ZlcmxheUxlZnQsXG4gIGlzQmV0YSA9IGZhbHNlLFxuICBjb21taXRtZW50RmVlcyxcbiAgY29tbWl0bWVudEZlZXNDb250ZW50LFxuICBtb250aGx5RmVlcyxcbiAgbW9udGhseUZlZXNMYWJlbCxcbiAgbW9udGhseUZlZXNDb250ZW50LFxuICBvdmVybGF5VW5pdCA9ICdob3VycycsXG4gIGNoaWxkcmVuID0gbnVsbCxcbiAgbG9jYWxlcyA9IEVzdGltYXRlQ29zdExvY2FsZXMsXG4gIG92ZXJsYXlNYXJnaW4sXG4gIG9uVG90YWxQcmljZUNoYW5nZSxcbn06IEVzdGltYXRlQ29zdFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZm9ybWF0TnVtYmVyIH0gPSB1c2VFc3RpbWF0ZUNvc3QoKVxuICBjb25zdCBbcmVmLCBpblZpZXddID0gdXNlSW5WaWV3KClcbiAgY29uc3QgW3Byb2R1Y3RzLCBzZXRQcm9kdWN0c10gPSB1c2VTdGF0ZTxFc3RpbWF0ZVByb2R1Y3RbXT4oW10pIC8vIHByb2R1Y3QgaXMgdXNlZCB0byBzdG9yZSBlYWNoIGl0ZW1zIHdpdGggdGhlaXIgcHJpY2UgYW5kIGFtb3VudFxuICBjb25zdCBbdG90YWxQcmljZSwgc2V0VG90YWxQcmljZV0gPSB1c2VTdGF0ZSh7XG4gICAgaG91cmx5OiAwLFxuICAgIG1heEhvdXJseTogMCxcbiAgICBtYXhPdmVybGF5SG91cmx5OiAwLFxuICAgIG1heFRvdGFsOiAwLFxuICAgIG92ZXJsYXlIb3VybHk6IDAsXG4gICAgdG90YWw6IDAsXG4gIH0pXG4gIGNvbnN0IFtpdGVyYXRpb24sIHNldEl0ZXJhdGlvbl0gPSB1c2VTdGF0ZTxJdGVyYXRpb24+KHtcbiAgICB1bml0OiBkZWZhdWx0VGltZVVuaXQgPz8gJ2hvdXJzJyxcbiAgICB2YWx1ZTogMSxcbiAgfSlcblxuICBjb25zdCBbaXNMb25nRnJhY3Rpb25EaWdpdHMsIHNldElzTG9uZ0ZyYWN0aW9uRGlnaXRzXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBwcm92aWRlclZhbHVlID0gdXNlTWVtbygoKSA9PiAoeyBpc092ZXJsYXk6IGZhbHNlIH0pLCBbXSlcblxuICBjb25zdCB0b3RhbFZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgZm9ybWF0TnVtYmVyKHRvdGFsUHJpY2UudG90YWwgPCAwID8gMCA6IHRvdGFsUHJpY2UudG90YWwsIHtcbiAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBpc0xvbmdGcmFjdGlvbkRpZ2l0c1xuICAgICAgICAgID8gbWF4aW11bUZyYWN0aW9uRGlnaXRzTG9uZ1tpdGVyYXRpb24udW5pdF1cbiAgICAgICAgICA6IG1heGltdW1GcmFjdGlvbkRpZ2l0c1tpdGVyYXRpb24udW5pdF0sXG4gICAgICB9KSxcbiAgICBbZm9ybWF0TnVtYmVyLCBpc0xvbmdGcmFjdGlvbkRpZ2l0cywgaXRlcmF0aW9uLnVuaXQsIHRvdGFsUHJpY2UudG90YWxdLFxuICApXG5cbiAgY29uc3QgdG90YWxNYXhWYWx1ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIGZvcm1hdE51bWJlcih0b3RhbFByaWNlLm1heFRvdGFsIDwgMCA/IDAgOiB0b3RhbFByaWNlLm1heFRvdGFsLCB7XG4gICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogaXNMb25nRnJhY3Rpb25EaWdpdHNcbiAgICAgICAgICA/IG1heGltdW1GcmFjdGlvbkRpZ2l0c0xvbmdbaXRlcmF0aW9uLnVuaXRdXG4gICAgICAgICAgOiBtYXhpbXVtRnJhY3Rpb25EaWdpdHNbaXRlcmF0aW9uLnVuaXRdLFxuICAgICAgfSksXG4gICAgW2Zvcm1hdE51bWJlciwgaXNMb25nRnJhY3Rpb25EaWdpdHMsIGl0ZXJhdGlvbi51bml0LCB0b3RhbFByaWNlLm1heFRvdGFsXSxcbiAgKVxuXG4gIGNvbnN0IHByb2R1Y3RzQ2FsbGJhY2sgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBhZGQ6IChuZXdQcm9kdWN0OiBFc3RpbWF0ZVByb2R1Y3QpID0+IHtcbiAgICAgICAgc2V0UHJvZHVjdHModG90YWwgPT4ge1xuICAgICAgICAgIGlmICh0b3RhbC5maW5kKHByb2R1Y3QgPT4gcHJvZHVjdC5pZCA9PT0gbmV3UHJvZHVjdC5pZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0b3RhbC5tYXAocHJvZHVjdCA9PlxuICAgICAgICAgICAgICBwcm9kdWN0LmlkID09PSBuZXdQcm9kdWN0LmlkID8gbmV3UHJvZHVjdCA6IHByb2R1Y3QsXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFsuLi50b3RhbCwgbmV3UHJvZHVjdF1cbiAgICAgICAgfSlcbiAgICAgIH0sXG5cbiAgICAgIHJlbW92ZTogKHsgaWQgfTogQmFyZUVzdGltYXRlUHJvZHVjdCkgPT4ge1xuICAgICAgICBzZXRQcm9kdWN0cyh0b3RhbCA9PiB0b3RhbC5maWx0ZXIocHJvZHVjdCA9PiBwcm9kdWN0LmlkICE9PSBpZCkpXG4gICAgICB9LFxuICAgIH0pLFxuICAgIFtzZXRQcm9kdWN0c10sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIHRoaXMgdmFyaWFibGUgY2hlY2sgaWYgdGhlcmUgaXMgYSBtYXhBbW91bnQgaW4gZWFjaCBwcm9kdWN0XG4gICAgLy8gaWYgbm90IHdlIGRvIG5vdCBuZWVkIHRvIGNhbGN1bGF0ZSBtYXhUb3RhbCwgbWF4SG91cmx5LCBtYXhPdmVybGF5SG91cmx5XG4gICAgY29uc3QgaXNNYXhBbW91bnRJblByb2R1Y3RzID0gcHJvZHVjdHMuZmluZChwcm9kdWN0ID0+IHByb2R1Y3QubWF4QW1vdW50KVxuICAgIHNldElzTG9uZ0ZyYWN0aW9uRGlnaXRzKFxuICAgICAgISFwcm9kdWN0cy5maW5kKHByb2R1Y3QgPT4gcHJvZHVjdC5sb25nRnJhY3Rpb25EaWdpdHMpLFxuICAgIClcbiAgICBzZXRUb3RhbFByaWNlKHtcbiAgICAgIGhvdXJseTogcHJvZHVjdHMucmVkdWNlKFxuICAgICAgICAoYWNjLCBwcm9kdWN0KSA9PlxuICAgICAgICAgIGFjYyArXG4gICAgICAgICAgKHByb2R1Y3Qubm9JdGVyYXRpb25cbiAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgOiAocHJvZHVjdC5wcmljZSAtIHByb2R1Y3QucHJpY2UgKiBwcm9kdWN0LmRpc2NvdW50KSAqXG4gICAgICAgICAgICAgIE1hdGgubWF4KHByb2R1Y3QuYW1vdW50IC0gcHJvZHVjdC5hbW91bnRGcmVlLCAwKSksXG4gICAgICAgIDAsXG4gICAgICApLFxuICAgICAgbWF4SG91cmx5OiBpc01heEFtb3VudEluUHJvZHVjdHNcbiAgICAgICAgPyBwcm9kdWN0cy5yZWR1Y2UoXG4gICAgICAgICAgICAoYWNjLCBwcm9kdWN0KSA9PlxuICAgICAgICAgICAgICBhY2MgJiYgcHJvZHVjdC5ub0l0ZXJhdGlvblxuICAgICAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgICAgIDogKHByb2R1Y3QucHJpY2UgLSBwcm9kdWN0LnByaWNlICogcHJvZHVjdC5kaXNjb3VudCkgKlxuICAgICAgICAgICAgICAgICAgTWF0aC5tYXgocHJvZHVjdC5tYXhBbW91bnQgLSBwcm9kdWN0LmFtb3VudEZyZWUsIDApLFxuXG4gICAgICAgICAgICAwLFxuICAgICAgICAgIClcbiAgICAgICAgOiAwLFxuICAgICAgbWF4T3ZlcmxheUhvdXJseTogaXNNYXhBbW91bnRJblByb2R1Y3RzXG4gICAgICAgID8gcHJvZHVjdHMucmVkdWNlKFxuICAgICAgICAgICAgKGFjYywgcHJvZHVjdCkgPT5cbiAgICAgICAgICAgICAgYWNjICtcbiAgICAgICAgICAgICAgKHByb2R1Y3Qubm9JdGVyYXRpb25cbiAgICAgICAgICAgICAgICA/IDBcbiAgICAgICAgICAgICAgICA6IChwcm9kdWN0LnByaWNlIC0gcHJvZHVjdC5wcmljZSAqIHByb2R1Y3QuZGlzY291bnQpICpcbiAgICAgICAgICAgICAgICAgIE1hdGgubWF4KHByb2R1Y3QubWF4QW1vdW50IC0gcHJvZHVjdC5hbW91bnRGcmVlLCAwKSksXG4gICAgICAgICAgICAwLFxuICAgICAgICAgIClcbiAgICAgICAgOiAwLFxuICAgICAgbWF4VG90YWw6IGlzTWF4QW1vdW50SW5Qcm9kdWN0c1xuICAgICAgICA/IHByb2R1Y3RzLnJlZHVjZShcbiAgICAgICAgICAgIChhY2MsIHByb2R1Y3QpID0+XG4gICAgICAgICAgICAgIGFjYyArXG4gICAgICAgICAgICAgIGNhbGN1bGF0ZVByaWNlKHtcbiAgICAgICAgICAgICAgICBhbW91bnQ6IHByb2R1Y3QubWF4QW1vdW50IHx8IHByb2R1Y3QuYW1vdW50LCAvLyBOb3QgYWxsIHByb2R1Y3RzIGhhdmUgbWF4QW1vdW50LCBzbyB3ZSBuZWVkIHRvIGNoZWNrIGJvdGhcbiAgICAgICAgICAgICAgICBhbW91bnRGcmVlOiBwcm9kdWN0LmFtb3VudEZyZWUsXG4gICAgICAgICAgICAgICAgZGlzY291bnQ6IHByb2R1Y3QuZGlzY291bnQsXG4gICAgICAgICAgICAgICAgcHJpY2U6IHByb2R1Y3QucHJpY2UsXG4gICAgICAgICAgICAgICAgdGltZUFtb3VudDogcHJvZHVjdC5ub0l0ZXJhdGlvbiA/IDEgOiBpdGVyYXRpb24udmFsdWUsXG4gICAgICAgICAgICAgICAgdGltZVVuaXQ6IHByb2R1Y3Qubm9JdGVyYXRpb24gPyAnaG91cnMnIDogaXRlcmF0aW9uLnVuaXQsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgMCxcbiAgICAgICAgICApXG4gICAgICAgIDogMCxcbiAgICAgIG92ZXJsYXlIb3VybHk6IHByb2R1Y3RzLnJlZHVjZShcbiAgICAgICAgKGFjYywgcHJvZHVjdCkgPT5cbiAgICAgICAgICBhY2MgK1xuICAgICAgICAgIChwcm9kdWN0Lm5vSXRlcmF0aW9uXG4gICAgICAgICAgICA/IDBcbiAgICAgICAgICAgIDogKHByb2R1Y3QucHJpY2UgLSBwcm9kdWN0LnByaWNlICogcHJvZHVjdC5kaXNjb3VudCkgKlxuICAgICAgICAgICAgICBNYXRoLm1heChwcm9kdWN0LmFtb3VudCAtIHByb2R1Y3QuYW1vdW50RnJlZSwgMCkpLFxuICAgICAgICAwLFxuICAgICAgKSxcbiAgICAgIHRvdGFsOiAhaGlkZVRvdGFsXG4gICAgICAgID8gcHJvZHVjdHMucmVkdWNlKFxuICAgICAgICAgICAgKGFjYywgcHJvZHVjdCkgPT5cbiAgICAgICAgICAgICAgYWNjICtcbiAgICAgICAgICAgICAgY2FsY3VsYXRlUHJpY2Uoe1xuICAgICAgICAgICAgICAgIGFtb3VudDogcHJvZHVjdC5hbW91bnQsXG4gICAgICAgICAgICAgICAgYW1vdW50RnJlZTogcHJvZHVjdC5hbW91bnRGcmVlLFxuICAgICAgICAgICAgICAgIGRpc2NvdW50OiBwcm9kdWN0LmRpc2NvdW50LFxuICAgICAgICAgICAgICAgIHByaWNlOiBwcm9kdWN0LnByaWNlLFxuICAgICAgICAgICAgICAgIHRpbWVBbW91bnQ6IHByb2R1Y3Qubm9JdGVyYXRpb24gPyAxIDogaXRlcmF0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICAgIHRpbWVVbml0OiBwcm9kdWN0Lm5vSXRlcmF0aW9uID8gJ2hvdXJzJyA6IGl0ZXJhdGlvbi51bml0LFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIDAsXG4gICAgICAgICAgKVxuICAgICAgICA6IDAsXG4gICAgfSlcbiAgICBvblRvdGFsUHJpY2VDaGFuZ2U/Lih7XG4gICAgICB0b3RhbDogdG90YWxQcmljZS50b3RhbCxcbiAgICAgIHRvdGFsTWF4OiB0b3RhbFByaWNlLm1heFRvdGFsID4gMCA/IHRvdGFsUHJpY2UubWF4VG90YWwgOiB1bmRlZmluZWQsXG4gICAgfSlcbiAgfSwgW1xuICAgIGhpZGVUb3RhbCxcbiAgICBwcm9kdWN0cyxcbiAgICBpdGVyYXRpb24sXG4gICAgc2V0VG90YWxQcmljZSxcbiAgICBvblRvdGFsUHJpY2VDaGFuZ2UsXG4gICAgdG90YWxQcmljZS50b3RhbCxcbiAgICB0b3RhbFByaWNlLm1heFRvdGFsLFxuICAgIHRvdGFsVmFsdWUsXG4gICAgdG90YWxNYXhWYWx1ZSxcbiAgXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIGhpZGVUaW1lVW5pdCAmJlxuICAgICAgKGl0ZXJhdGlvbi52YWx1ZSA+IDEgfHwgaXRlcmF0aW9uLnVuaXQgIT09IChkZWZhdWx0VGltZVVuaXQgPz8gJ2hvdXJzJykpXG4gICAgKSB7XG4gICAgICBzZXRJdGVyYXRpb24oeyB1bml0OiBkZWZhdWx0VGltZVVuaXQgPz8gJ2hvdXJzJywgdmFsdWU6IDEgfSlcbiAgICB9XG4gIH0sIFtoaWRlVGltZVVuaXQsIGl0ZXJhdGlvbiwgZGVmYXVsdFRpbWVVbml0XSlcblxuICByZXR1cm4gKFxuICAgIDxTdGFjayBnYXA9ezJ9PlxuICAgICAgeyFoaWRlT3ZlcmxheSA/IChcbiAgICAgICAgPE92ZXJsYXlDb21wb25lbnRcbiAgICAgICAgICBkaXNhYmxlT3ZlcmxheUxlZnQ9e2Rpc2FibGVPdmVybGF5TGVmdH1cbiAgICAgICAgICBkaXNhYmxlT3ZlcmxheVJpZ2h0PXtkaXNhYmxlT3ZlcmxheVJpZ2h0fVxuICAgICAgICAgIGRpc2NvdW50PXtkaXNjb3VudH1cbiAgICAgICAgICBpblZpZXc9e2luVmlld31cbiAgICAgICAgICBpc0JldGE9e2lzQmV0YX1cbiAgICAgICAgICBPdmVybGF5TGVmdD17T3ZlcmxheUxlZnR9XG4gICAgICAgICAgT3ZlcmxheVJpZ2h0PXtPdmVybGF5UmlnaHR9XG4gICAgICAgICAgb3ZlcmxheU1hcmdpbj17b3ZlcmxheU1hcmdpbn1cbiAgICAgICAgICB0b3RhbFByaWNlPXt0b3RhbFByaWNlfVxuICAgICAgICAgIHVuaXQ9e292ZXJsYXlVbml0ID8/ICdob3Vycyd9XG4gICAgICAgID5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvT3ZlcmxheUNvbXBvbmVudD5cbiAgICAgICkgOiBudWxsfVxuICAgICAge2Rlc2NyaXB0aW9uID09PSBmYWxzZSA/IG51bGwgOiAoXG4gICAgICAgIDxEZXNjcmlwdGlvbkNvbXBvbmVudCBkZXNjcmlwdGlvbj17ZGVzY3JpcHRpb259IGxvY2FsZXM9e2xvY2FsZXN9IC8+XG4gICAgICApfVxuICAgICAge2FsZXJ0ID8gKFxuICAgICAgICA8QWxlcnQgc2VudGltZW50PXthbGVydFZhcmlhbnR9IHRpdGxlPXthbGVydFRpdGxlfT5cbiAgICAgICAgICB7YWxlcnR9XG4gICAgICAgIDwvQWxlcnQ+XG4gICAgICApIDogbnVsbH1cbiAgICAgIDxPdmVybGF5Q29udGV4dFByb3ZpZGVyIHZhbHVlPXtwcm92aWRlclZhbHVlfT5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7Y2hpbGRyZW4gPyAoXG4gICAgICAgICAgICA8U3R5bGVkVGFibGVcbiAgICAgICAgICAgICAgY2VsbFBhZGRpbmc9XCIwXCJcbiAgICAgICAgICAgICAgY2VsbFNwYWNpbmc9XCIwXCJcbiAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJzdW1tYXJ5XCJcbiAgICAgICAgICAgICAgbm9Ub3RhbD17aGlkZVRvdGFsfVxuICAgICAgICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGNvbGdyb3VwPlxuICAgICAgICAgICAgICAgIDxjb2wgLz5cbiAgICAgICAgICAgICAgICA8UHJpY2VDb2wgLz5cbiAgICAgICAgICAgICAgPC9jb2xncm91cD5cbiAgICAgICAgICAgICAgeyFoaWRlVGltZVVuaXQgPyAoXG4gICAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICA8dGg+XG4gICAgICAgICAgICAgICAgICAgICAgPFRpdGxlQ29tcG9uZW50IGxvY2FsZXM9e2xvY2FsZXN9IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRQcmljZUNlbGw+XG4gICAgICAgICAgICAgICAgICAgICAgPFRpbWVDZWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEN1c3RvbVVuaXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VGltZVVuaXQ9e2RlZmF1bHRUaW1lVW5pdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uPXtpdGVyYXRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNldEl0ZXJhdGlvbj17c2V0SXRlcmF0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lVW5pdHM9e3RpbWVVbml0c31cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9UaW1lQ2VsbD5cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRQcmljZUNlbGw+XG4gICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgICAge0NoaWxkcmVuLm1hcChjaGlsZHJlbiwgKGNoaWxkLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgIGlzVmFsaWRFbGVtZW50PEV4dHJhUHJvcHM+KGNoaWxkKVxuICAgICAgICAgICAgICAgICAgICA/IGNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzY291bnQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdW50ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICEoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQgYXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLnByb3BzIGFzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdW50PzogbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICApLmRpc2NvdW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBkaXNjb3VudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQgYXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLnByb3BzIGFzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNjb3VudD86IG51bWJlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLmRpc2NvdW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNMYXN0RWxlbWVudDogaW5kZXggPT09IENoaWxkcmVuLmNvdW50KGNoaWxkcmVuKSAtIDEsXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9kdWN0c0NhbGxiYWNrLFxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIDogY2hpbGQsXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgIDwvU3R5bGVkVGFibGU+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgeyFoaWRlVG90YWwgPyAoXG4gICAgICAgICAgICA8RW1wdHlUYWJsZSBjZWxsUGFkZGluZz1cIjBcIiBjZWxsU3BhY2luZz1cIjBcIj5cbiAgICAgICAgICAgICAgPGNvbGdyb3VwPlxuICAgICAgICAgICAgICAgIDxjb2wgLz5cbiAgICAgICAgICAgICAgICA8UHJpY2VDb2wgLz5cbiAgICAgICAgICAgICAgPC9jb2xncm91cD5cbiAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgIDxFbXB0eUNlbGwgYXJpYS1sYWJlbD1cImNvbnRyb2xcIiAvPlxuICAgICAgICAgICAgICAgICAgPFRvdGFsUHJpY2VDZWxsIGhhc0JvcmRlcj17ZmFsc2V9PlxuICAgICAgICAgICAgICAgICAgICB7aXNCZXRhID8gKFxuICAgICAgICAgICAgICAgICAgICAgIDxCYWRnZUJldGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvbmc9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGVzW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBlc3RpbWF0ZS5jb3N0LmJldGEuJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdW50ID4gMCA/ICdkaXNjb3VudCcgOiAnZnJlZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9YFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLmxlbmd0aCA+IDI1XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwic3Ryb25nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD1cIndhcm5pbmdcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtgJHtkaXNjb3VudCA+IDAgPyBkaXNjb3VudCAqIDEwMCA6ICcnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZXNbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXN0aW1hdGUuY29zdC5iZXRhLiR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdW50ID4gMCA/ICdkaXNjb3VudCcgOiAnZnJlZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICAgICAgICA8L0JhZGdlQmV0YT5cbiAgICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0XG4gICAgICAgICAgICAgICAgICAgICAgYXM9XCJoM1wiXG4gICAgICAgICAgICAgICAgICAgICAgaXNCZXRhPXtpc0JldGF9XG4gICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImhlYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPExpbmVUaHJvdWdoXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZT17aXNCZXRhICYmIChkaXNjb3VudCA9PT0gMCB8fCBkaXNjb3VudCA+PSAxKX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7dG90YWxWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0b3RhbFByaWNlLm1heFRvdGFsID4gMCA/IGAgLSAke3RvdGFsTWF4VmFsdWV9YCA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgICAgPC9MaW5lVGhyb3VnaD5cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICAgICAgICAgICAgICB7aGlkZUhvdXJseVByaWNlT25Ub3RhbCAmJlxuICAgICAgICAgICAgICAgICAgICB0b3RhbFByaWNlLmhvdXJseSA+IDAgJiZcbiAgICAgICAgICAgICAgICAgICAgdG90YWxQcmljZS5ob3VybHkgIT09IHRvdGFsUHJpY2UudG90YWwgJiZcbiAgICAgICAgICAgICAgICAgICAgdG90YWxQcmljZS50b3RhbCA+IDAgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgPFJpZ2h0QWxpZ25lZFRleHQgYXM9XCJwXCIgdmFyaWFudD1cImJvZHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5lVGhyb3VnaFxuICAgICAgICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZT17aXNCZXRhICYmIChkaXNjb3VudCA9PT0gMCB8fCBkaXNjb3VudCA+PSAxKX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2Zvcm1hdE51bWJlcih0b3RhbFByaWNlLmhvdXJseSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogaXNMb25nRnJhY3Rpb25EaWdpdHNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gbWF4aW11bUZyYWN0aW9uRGlnaXRzTG9uZy5ob3Vyc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtYXhpbXVtRnJhY3Rpb25EaWdpdHMuaG91cnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB7dG90YWxQcmljZS5tYXhIb3VybHkgPiAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBgIC0gJHtmb3JtYXROdW1iZXIodG90YWxQcmljZS5tYXhIb3VybHksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBpc0xvbmdGcmFjdGlvbkRpZ2l0c1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gbWF4aW11bUZyYWN0aW9uRGlnaXRzTG9uZy5ob3Vyc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbWF4aW11bUZyYWN0aW9uRGlnaXRzLmhvdXJzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgL1xuICAgICAgICAgICAgICAgICAgICAgICAgICB7bG9jYWxlc1tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXN0aW1hdGUuY29zdC51bml0cy5ob3Vycy5sYWJlbGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXS50b0xvd2VyQ2FzZSgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9MaW5lVGhyb3VnaD5cbiAgICAgICAgICAgICAgICAgICAgICA8L1JpZ2h0QWxpZ25lZFRleHQ+XG4gICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgPC9Ub3RhbFByaWNlQ2VsbD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgPC9FbXB0eVRhYmxlPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIHtjb21taXRtZW50RmVlcyAhPT0gdW5kZWZpbmVkIHx8IG1vbnRobHlGZWVzICE9PSB1bmRlZmluZWQgPyAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8RmVlc1RleHQgYXM9XCJoM1wiIHZhcmlhbnQ9XCJoZWFkaW5nU21hbGxcIj5cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBsb2NhbGVzW1xuICAgICAgICAgICAgICAgICAgICBgZXN0aW1hdGUuY29zdC5mZWVzLiR7XG4gICAgICAgICAgICAgICAgICAgICAgY29tbWl0bWVudEZlZXMgPyAnb25lVGltZScgOiAnbW9udGhseSdcbiAgICAgICAgICAgICAgICAgICAgfS50aXRsZWBcbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvRmVlc1RleHQ+XG4gICAgICAgICAgICAgIDxTdHlsZWRGZWVzVGFibGU+XG4gICAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgICAgPEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgaXNMYXN0RWxlbWVudFxuICAgICAgICAgICAgICAgICAgICBsYWJlbD17XG4gICAgICAgICAgICAgICAgICAgICAgY29tbWl0bWVudEZlZXNcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbG9jYWxlc1snZXN0aW1hdGUuY29zdC5mZWVzLmNvbW1pdG1lbnQnXVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBtb250aGx5RmVlc0xhYmVsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbm9JdGVyYXRpb25cbiAgICAgICAgICAgICAgICAgICAgcHJpY2U9e2NvbW1pdG1lbnRGZWVzIHx8IG1vbnRobHlGZWVzfVxuICAgICAgICAgICAgICAgICAgICBwcm9kdWN0c0NhbGxiYWNrPXt7XG4gICAgICAgICAgICAgICAgICAgICAgYWRkOiAoKSA9PiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICByZW1vdmU6ICgpID0+IHt9LFxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7Y29tbWl0bWVudEZlZXNcbiAgICAgICAgICAgICAgICAgICAgICA/IGNvbW1pdG1lbnRGZWVzQ29udGVudFxuICAgICAgICAgICAgICAgICAgICAgIDogbW9udGhseUZlZXNDb250ZW50fVxuICAgICAgICAgICAgICAgICAgPC9JdGVtPlxuICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICAgIDwvU3R5bGVkRmVlc1RhYmxlPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9PdmVybGF5Q29udGV4dFByb3ZpZGVyPlxuICAgIDwvU3RhY2s+XG4gIClcbn1cbiJdfQ== */",
49
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
50
- });
51
- const StyledCalculatorIcon = /* @__PURE__ */ _styled(CalculatorIcon, process.env.NODE_ENV === "production" ? {
52
- target: "excc3v71"
53
- } : {
54
- target: "excc3v71",
55
- label: "StyledCalculatorIcon"
56
- })("margin-right:", ({
57
- theme
58
- }) => theme.space["1"], ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvRXN0aW1hdGVDb3N0L0VzdGltYXRlQ29zdENvbnRlbnQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThEbUQiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvcGx1cy9zcmMvY29tcG9uZW50cy9Fc3RpbWF0ZUNvc3QvRXN0aW1hdGVDb3N0Q29udGVudC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBDYWxjdWxhdG9ySWNvbiB9IGZyb20gJ0B1bHRyYXZpb2xldC9pY29ucydcbmltcG9ydCB7IEFsZXJ0LCBTdGFjaywgVGV4dCB9IGZyb20gJ0B1bHRyYXZpb2xldC91aSdcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50UHJvcHMsIFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgQ2hpbGRyZW4sXG4gIGNsb25lRWxlbWVudCxcbiAgaXNWYWxpZEVsZW1lbnQsXG4gIG1lbW8sXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlSW5WaWV3IH0gZnJvbSAncmVhY3QtaW50ZXJzZWN0aW9uLW9ic2VydmVyJ1xuaW1wb3J0IHsgQ3VzdG9tVW5pdElucHV0IH0gZnJvbSAnLi9Db21wb25lbnRzL0N1c3RvbVVuaXRJbnB1dCdcbmltcG9ydCB7IEl0ZW0gfSBmcm9tICcuL0NvbXBvbmVudHMvSXRlbSdcbmltcG9ydCB7IExpbmVUaHJvdWdoIH0gZnJvbSAnLi9Db21wb25lbnRzL0xpbmVUaHJvdWdoJ1xuaW1wb3J0IHtcbiAgQmFkZ2VCZXRhLFxuICBDZWxsLFxuICBFbXB0eUNlbGwsXG4gIEVtcHR5VGFibGUsXG4gIFByaWNlQ29sLFxuICBwcmljZUNlbGwsXG4gIFN0eWxlZEZlZXNUYWJsZSxcbiAgU3R5bGVkVGFibGUsXG4gIFRpbWVDZWxsLFxuICBUaXRsZSxcbiAgVG90YWxQcmljZUNlbGwsXG59IGZyb20gJy4vY29tcG9uZW50U3R5bGUnXG5pbXBvcnQgeyBtYXhpbXVtRnJhY3Rpb25EaWdpdHMsIG1heGltdW1GcmFjdGlvbkRpZ2l0c0xvbmcgfSBmcm9tICcuL2NvbnN0YW50cydcbmltcG9ydCB7IHVzZUVzdGltYXRlQ29zdCB9IGZyb20gJy4vRXN0aW1hdGVDb3N0UHJvdmlkZXInXG5pbXBvcnQgeyBjYWxjdWxhdGVQcmljZSB9IGZyb20gJy4vaGVscGVyJ1xuaW1wb3J0IEVzdGltYXRlQ29zdExvY2FsZXMgZnJvbSAnLi9sb2NhbGVzL2VuJ1xuaW1wb3J0IHsgT3ZlcmxheUNvbXBvbmVudCB9IGZyb20gJy4vT3ZlcmxheUNvbXBvbmVudCdcbmltcG9ydCB7IE92ZXJsYXlDb250ZXh0UHJvdmlkZXIgfSBmcm9tICcuL092ZXJsYXlDb250ZXh0J1xuaW1wb3J0IHR5cGUge1xuICBCYXJlRXN0aW1hdGVQcm9kdWN0LFxuICBFc3RpbWF0ZUNvc3RQcm9wcyxcbiAgRXN0aW1hdGVQcm9kdWN0LFxuICBJdGVyYXRpb24sXG4gIFVuaXRzLFxufSBmcm9tICcuL3R5cGVzJ1xuXG5jb25zdCBGZWVzVGV4dCA9IHN0eWxlZChUZXh0KWBcbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMyddfTtcbmBcblxuY29uc3QgU3R5bGVkVGV4dCA9IHN0eWxlZChUZXh0KTx7XG4gIGlzQmV0YT86IGJvb2xlYW5cbn0+YFxuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgJHsoeyBpc0JldGEsIHRoZW1lIH0pID0+XG4gICAgaXNCZXRhID8gYG1hcmdpbi1sZWZ0OiAke3RoZW1lLnNwYWNlWycyJ119O2AgOiBudWxsfVxuYFxuXG5jb25zdCBSaWdodEFsaWduZWRUZXh0ID0gc3R5bGVkKFRleHQpYFxuICB0ZXh0LWFsaWduOiByaWdodDtcbmBcblxuY29uc3QgU3R5bGVkQ2FsY3VsYXRvckljb24gPSBzdHlsZWQoQ2FsY3VsYXRvckljb24pYFxuICBtYXJnaW4tcmlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG5gXG5cbmNvbnN0IFN0eWxlZFByaWNlQ2VsbCA9IHN0eWxlZChDZWxsLndpdGhDb21wb25lbnQoJ3RoJykpYFxuICAkeyh7IHRoZW1lIH0pID0+IHByaWNlQ2VsbCh0aGVtZSl9XG4gIHBhZGRpbmc6IDA7XG5gXG5cbmNvbnN0IERFRkFVTFRfVU5JVF9MSVNUOiBVbml0c1tdID0gWydob3VycycsICdkYXlzJywgJ21vbnRocyddXG5cbnR5cGUgRXh0cmFQcm9wcyA9IHtcbiAgaXNMYXN0RWxlbWVudD86IGJvb2xlYW5cbiAgcHJvZHVjdHNDYWxsYmFjaz86IHtcbiAgICBhZGQ6IChwcm9kdWN0OiBFc3RpbWF0ZVByb2R1Y3QpID0+IHZvaWRcbiAgICByZW1vdmU6IChwcm9kdWN0OiBCYXJlRXN0aW1hdGVQcm9kdWN0KSA9PiB2b2lkXG4gIH1cbiAgaXRlcmF0aW9uPzogSXRlcmF0aW9uXG4gIGRpc2NvdW50PzogbnVtYmVyXG59XG5cbmNvbnN0IERlc2NyaXB0aW9uQ29tcG9uZW50ID0gbWVtbyhcbiAgKHtcbiAgICBkZXNjcmlwdGlvbixcbiAgICBsb2NhbGVzLFxuICB9OiB7XG4gICAgZGVzY3JpcHRpb246IFJlYWN0Tm9kZVxuICAgIGxvY2FsZXM6IFJlY29yZDxrZXlvZiB0eXBlb2YgRXN0aW1hdGVDb3N0TG9jYWxlcywgc3RyaW5nPlxuICB9KSA9PlxuICAgIGRlc2NyaXB0aW9uID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIGRlc2NyaXB0aW9uID09PSAnc3RyaW5nJyA/IChcbiAgICAgIDxUZXh0IGFzPVwic3BhblwiIHZhcmlhbnQ9XCJib2R5XCI+XG4gICAgICAgIHtkZXNjcmlwdGlvbiB8fCBsb2NhbGVzWydlc3RpbWF0ZS5jb3N0LmRlc2NyaXB0aW9uJ119XG4gICAgICA8L1RleHQ+XG4gICAgKSA6IChcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgKSxcbilcblxuY29uc3QgVGl0bGVDb21wb25lbnQgPSBtZW1vKFxuICAoe1xuICAgIGxvY2FsZXMsXG4gIH06IHtcbiAgICBsb2NhbGVzOiBSZXF1aXJlZDxDb21wb25lbnRQcm9wczx0eXBlb2YgRXN0aW1hdGVDb3N0Q29udGVudD5bJ2xvY2FsZXMnXT5cbiAgfSkgPT4gKFxuICAgIDxUaXRsZT5cbiAgICAgIDxTdHlsZWRDYWxjdWxhdG9ySWNvbiBzZW50aW1lbnQ9XCJwcmltYXJ5XCIgc2l6ZT1cIm1lZGl1bVwiIC8+XG4gICAgICB7bG9jYWxlcz8uWydlc3RpbWF0ZS5jb3N0LmxhYmVsJ119XG4gICAgPC9UaXRsZT5cbiAgKSxcbilcblxuZXhwb3J0IGNvbnN0IEVzdGltYXRlQ29zdENvbnRlbnQgPSAoe1xuICBkZXNjcmlwdGlvbixcbiAgYWxlcnQsXG4gIGFsZXJ0VGl0bGUsXG4gIGFsZXJ0VmFyaWFudCA9ICd3YXJuaW5nJyxcbiAgZGVmYXVsdFRpbWVVbml0ID0gJ2hvdXJzJyxcbiAgdGltZVVuaXRzID0gREVGQVVMVF9VTklUX0xJU1QsXG4gIGhpZGVPdmVybGF5ID0gZmFsc2UsXG4gIGRpc2FibGVPdmVybGF5TGVmdCA9IGZhbHNlLFxuICBkaXNhYmxlT3ZlcmxheVJpZ2h0ID0gZmFsc2UsXG4gIGhpZGVUaW1lVW5pdCA9IGZhbHNlLFxuICBoaWRlVG90YWwgPSBmYWxzZSxcbiAgaGlkZUhvdXJseVByaWNlT25Ub3RhbCA9IGZhbHNlLFxuICBkaXNjb3VudCA9IDAsXG4gIE92ZXJsYXlSaWdodCxcbiAgT3ZlcmxheUxlZnQsXG4gIGlzQmV0YSA9IGZhbHNlLFxuICBjb21taXRtZW50RmVlcyxcbiAgY29tbWl0bWVudEZlZXNDb250ZW50LFxuICBtb250aGx5RmVlcyxcbiAgbW9udGhseUZlZXNMYWJlbCxcbiAgbW9udGhseUZlZXNDb250ZW50LFxuICBvdmVybGF5VW5pdCA9ICdob3VycycsXG4gIGNoaWxkcmVuID0gbnVsbCxcbiAgbG9jYWxlcyA9IEVzdGltYXRlQ29zdExvY2FsZXMsXG4gIG92ZXJsYXlNYXJnaW4sXG4gIG9uVG90YWxQcmljZUNoYW5nZSxcbn06IEVzdGltYXRlQ29zdFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZm9ybWF0TnVtYmVyIH0gPSB1c2VFc3RpbWF0ZUNvc3QoKVxuICBjb25zdCBbcmVmLCBpblZpZXddID0gdXNlSW5WaWV3KClcbiAgY29uc3QgW3Byb2R1Y3RzLCBzZXRQcm9kdWN0c10gPSB1c2VTdGF0ZTxFc3RpbWF0ZVByb2R1Y3RbXT4oW10pIC8vIHByb2R1Y3QgaXMgdXNlZCB0byBzdG9yZSBlYWNoIGl0ZW1zIHdpdGggdGhlaXIgcHJpY2UgYW5kIGFtb3VudFxuICBjb25zdCBbdG90YWxQcmljZSwgc2V0VG90YWxQcmljZV0gPSB1c2VTdGF0ZSh7XG4gICAgaG91cmx5OiAwLFxuICAgIG1heEhvdXJseTogMCxcbiAgICBtYXhPdmVybGF5SG91cmx5OiAwLFxuICAgIG1heFRvdGFsOiAwLFxuICAgIG92ZXJsYXlIb3VybHk6IDAsXG4gICAgdG90YWw6IDAsXG4gIH0pXG4gIGNvbnN0IFtpdGVyYXRpb24sIHNldEl0ZXJhdGlvbl0gPSB1c2VTdGF0ZTxJdGVyYXRpb24+KHtcbiAgICB1bml0OiBkZWZhdWx0VGltZVVuaXQgPz8gJ2hvdXJzJyxcbiAgICB2YWx1ZTogMSxcbiAgfSlcblxuICBjb25zdCBbaXNMb25nRnJhY3Rpb25EaWdpdHMsIHNldElzTG9uZ0ZyYWN0aW9uRGlnaXRzXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBwcm92aWRlclZhbHVlID0gdXNlTWVtbygoKSA9PiAoeyBpc092ZXJsYXk6IGZhbHNlIH0pLCBbXSlcblxuICBjb25zdCB0b3RhbFZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgZm9ybWF0TnVtYmVyKHRvdGFsUHJpY2UudG90YWwgPCAwID8gMCA6IHRvdGFsUHJpY2UudG90YWwsIHtcbiAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBpc0xvbmdGcmFjdGlvbkRpZ2l0c1xuICAgICAgICAgID8gbWF4aW11bUZyYWN0aW9uRGlnaXRzTG9uZ1tpdGVyYXRpb24udW5pdF1cbiAgICAgICAgICA6IG1heGltdW1GcmFjdGlvbkRpZ2l0c1tpdGVyYXRpb24udW5pdF0sXG4gICAgICB9KSxcbiAgICBbZm9ybWF0TnVtYmVyLCBpc0xvbmdGcmFjdGlvbkRpZ2l0cywgaXRlcmF0aW9uLnVuaXQsIHRvdGFsUHJpY2UudG90YWxdLFxuICApXG5cbiAgY29uc3QgdG90YWxNYXhWYWx1ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIGZvcm1hdE51bWJlcih0b3RhbFByaWNlLm1heFRvdGFsIDwgMCA/IDAgOiB0b3RhbFByaWNlLm1heFRvdGFsLCB7XG4gICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogaXNMb25nRnJhY3Rpb25EaWdpdHNcbiAgICAgICAgICA/IG1heGltdW1GcmFjdGlvbkRpZ2l0c0xvbmdbaXRlcmF0aW9uLnVuaXRdXG4gICAgICAgICAgOiBtYXhpbXVtRnJhY3Rpb25EaWdpdHNbaXRlcmF0aW9uLnVuaXRdLFxuICAgICAgfSksXG4gICAgW2Zvcm1hdE51bWJlciwgaXNMb25nRnJhY3Rpb25EaWdpdHMsIGl0ZXJhdGlvbi51bml0LCB0b3RhbFByaWNlLm1heFRvdGFsXSxcbiAgKVxuXG4gIGNvbnN0IHByb2R1Y3RzQ2FsbGJhY2sgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBhZGQ6IChuZXdQcm9kdWN0OiBFc3RpbWF0ZVByb2R1Y3QpID0+IHtcbiAgICAgICAgc2V0UHJvZHVjdHModG90YWwgPT4ge1xuICAgICAgICAgIGlmICh0b3RhbC5maW5kKHByb2R1Y3QgPT4gcHJvZHVjdC5pZCA9PT0gbmV3UHJvZHVjdC5pZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0b3RhbC5tYXAocHJvZHVjdCA9PlxuICAgICAgICAgICAgICBwcm9kdWN0LmlkID09PSBuZXdQcm9kdWN0LmlkID8gbmV3UHJvZHVjdCA6IHByb2R1Y3QsXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFsuLi50b3RhbCwgbmV3UHJvZHVjdF1cbiAgICAgICAgfSlcbiAgICAgIH0sXG5cbiAgICAgIHJlbW92ZTogKHsgaWQgfTogQmFyZUVzdGltYXRlUHJvZHVjdCkgPT4ge1xuICAgICAgICBzZXRQcm9kdWN0cyh0b3RhbCA9PiB0b3RhbC5maWx0ZXIocHJvZHVjdCA9PiBwcm9kdWN0LmlkICE9PSBpZCkpXG4gICAgICB9LFxuICAgIH0pLFxuICAgIFtzZXRQcm9kdWN0c10sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIHRoaXMgdmFyaWFibGUgY2hlY2sgaWYgdGhlcmUgaXMgYSBtYXhBbW91bnQgaW4gZWFjaCBwcm9kdWN0XG4gICAgLy8gaWYgbm90IHdlIGRvIG5vdCBuZWVkIHRvIGNhbGN1bGF0ZSBtYXhUb3RhbCwgbWF4SG91cmx5LCBtYXhPdmVybGF5SG91cmx5XG4gICAgY29uc3QgaXNNYXhBbW91bnRJblByb2R1Y3RzID0gcHJvZHVjdHMuZmluZChwcm9kdWN0ID0+IHByb2R1Y3QubWF4QW1vdW50KVxuICAgIHNldElzTG9uZ0ZyYWN0aW9uRGlnaXRzKFxuICAgICAgISFwcm9kdWN0cy5maW5kKHByb2R1Y3QgPT4gcHJvZHVjdC5sb25nRnJhY3Rpb25EaWdpdHMpLFxuICAgIClcbiAgICBzZXRUb3RhbFByaWNlKHtcbiAgICAgIGhvdXJseTogcHJvZHVjdHMucmVkdWNlKFxuICAgICAgICAoYWNjLCBwcm9kdWN0KSA9PlxuICAgICAgICAgIGFjYyArXG4gICAgICAgICAgKHByb2R1Y3Qubm9JdGVyYXRpb25cbiAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgOiAocHJvZHVjdC5wcmljZSAtIHByb2R1Y3QucHJpY2UgKiBwcm9kdWN0LmRpc2NvdW50KSAqXG4gICAgICAgICAgICAgIE1hdGgubWF4KHByb2R1Y3QuYW1vdW50IC0gcHJvZHVjdC5hbW91bnRGcmVlLCAwKSksXG4gICAgICAgIDAsXG4gICAgICApLFxuICAgICAgbWF4SG91cmx5OiBpc01heEFtb3VudEluUHJvZHVjdHNcbiAgICAgICAgPyBwcm9kdWN0cy5yZWR1Y2UoXG4gICAgICAgICAgICAoYWNjLCBwcm9kdWN0KSA9PlxuICAgICAgICAgICAgICBhY2MgJiYgcHJvZHVjdC5ub0l0ZXJhdGlvblxuICAgICAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgICAgIDogKHByb2R1Y3QucHJpY2UgLSBwcm9kdWN0LnByaWNlICogcHJvZHVjdC5kaXNjb3VudCkgKlxuICAgICAgICAgICAgICAgICAgTWF0aC5tYXgocHJvZHVjdC5tYXhBbW91bnQgLSBwcm9kdWN0LmFtb3VudEZyZWUsIDApLFxuXG4gICAgICAgICAgICAwLFxuICAgICAgICAgIClcbiAgICAgICAgOiAwLFxuICAgICAgbWF4T3ZlcmxheUhvdXJseTogaXNNYXhBbW91bnRJblByb2R1Y3RzXG4gICAgICAgID8gcHJvZHVjdHMucmVkdWNlKFxuICAgICAgICAgICAgKGFjYywgcHJvZHVjdCkgPT5cbiAgICAgICAgICAgICAgYWNjICtcbiAgICAgICAgICAgICAgKHByb2R1Y3Qubm9JdGVyYXRpb25cbiAgICAgICAgICAgICAgICA/IDBcbiAgICAgICAgICAgICAgICA6IChwcm9kdWN0LnByaWNlIC0gcHJvZHVjdC5wcmljZSAqIHByb2R1Y3QuZGlzY291bnQpICpcbiAgICAgICAgICAgICAgICAgIE1hdGgubWF4KHByb2R1Y3QubWF4QW1vdW50IC0gcHJvZHVjdC5hbW91bnRGcmVlLCAwKSksXG4gICAgICAgICAgICAwLFxuICAgICAgICAgIClcbiAgICAgICAgOiAwLFxuICAgICAgbWF4VG90YWw6IGlzTWF4QW1vdW50SW5Qcm9kdWN0c1xuICAgICAgICA/IHByb2R1Y3RzLnJlZHVjZShcbiAgICAgICAgICAgIChhY2MsIHByb2R1Y3QpID0+XG4gICAgICAgICAgICAgIGFjYyArXG4gICAgICAgICAgICAgIGNhbGN1bGF0ZVByaWNlKHtcbiAgICAgICAgICAgICAgICBhbW91bnQ6IHByb2R1Y3QubWF4QW1vdW50IHx8IHByb2R1Y3QuYW1vdW50LCAvLyBOb3QgYWxsIHByb2R1Y3RzIGhhdmUgbWF4QW1vdW50LCBzbyB3ZSBuZWVkIHRvIGNoZWNrIGJvdGhcbiAgICAgICAgICAgICAgICBhbW91bnRGcmVlOiBwcm9kdWN0LmFtb3VudEZyZWUsXG4gICAgICAgICAgICAgICAgZGlzY291bnQ6IHByb2R1Y3QuZGlzY291bnQsXG4gICAgICAgICAgICAgICAgcHJpY2U6IHByb2R1Y3QucHJpY2UsXG4gICAgICAgICAgICAgICAgdGltZUFtb3VudDogcHJvZHVjdC5ub0l0ZXJhdGlvbiA/IDEgOiBpdGVyYXRpb24udmFsdWUsXG4gICAgICAgICAgICAgICAgdGltZVVuaXQ6IHByb2R1Y3Qubm9JdGVyYXRpb24gPyAnaG91cnMnIDogaXRlcmF0aW9uLnVuaXQsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgMCxcbiAgICAgICAgICApXG4gICAgICAgIDogMCxcbiAgICAgIG92ZXJsYXlIb3VybHk6IHByb2R1Y3RzLnJlZHVjZShcbiAgICAgICAgKGFjYywgcHJvZHVjdCkgPT5cbiAgICAgICAgICBhY2MgK1xuICAgICAgICAgIChwcm9kdWN0Lm5vSXRlcmF0aW9uXG4gICAgICAgICAgICA/IDBcbiAgICAgICAgICAgIDogKHByb2R1Y3QucHJpY2UgLSBwcm9kdWN0LnByaWNlICogcHJvZHVjdC5kaXNjb3VudCkgKlxuICAgICAgICAgICAgICBNYXRoLm1heChwcm9kdWN0LmFtb3VudCAtIHByb2R1Y3QuYW1vdW50RnJlZSwgMCkpLFxuICAgICAgICAwLFxuICAgICAgKSxcbiAgICAgIHRvdGFsOiAhaGlkZVRvdGFsXG4gICAgICAgID8gcHJvZHVjdHMucmVkdWNlKFxuICAgICAgICAgICAgKGFjYywgcHJvZHVjdCkgPT5cbiAgICAgICAgICAgICAgYWNjICtcbiAgICAgICAgICAgICAgY2FsY3VsYXRlUHJpY2Uoe1xuICAgICAgICAgICAgICAgIGFtb3VudDogcHJvZHVjdC5hbW91bnQsXG4gICAgICAgICAgICAgICAgYW1vdW50RnJlZTogcHJvZHVjdC5hbW91bnRGcmVlLFxuICAgICAgICAgICAgICAgIGRpc2NvdW50OiBwcm9kdWN0LmRpc2NvdW50LFxuICAgICAgICAgICAgICAgIHByaWNlOiBwcm9kdWN0LnByaWNlLFxuICAgICAgICAgICAgICAgIHRpbWVBbW91bnQ6IHByb2R1Y3Qubm9JdGVyYXRpb24gPyAxIDogaXRlcmF0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICAgIHRpbWVVbml0OiBwcm9kdWN0Lm5vSXRlcmF0aW9uID8gJ2hvdXJzJyA6IGl0ZXJhdGlvbi51bml0LFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIDAsXG4gICAgICAgICAgKVxuICAgICAgICA6IDAsXG4gICAgfSlcbiAgICBvblRvdGFsUHJpY2VDaGFuZ2U/Lih7XG4gICAgICB0b3RhbDogdG90YWxQcmljZS50b3RhbCxcbiAgICAgIHRvdGFsTWF4OiB0b3RhbFByaWNlLm1heFRvdGFsID4gMCA/IHRvdGFsUHJpY2UubWF4VG90YWwgOiB1bmRlZmluZWQsXG4gICAgfSlcbiAgfSwgW1xuICAgIGhpZGVUb3RhbCxcbiAgICBwcm9kdWN0cyxcbiAgICBpdGVyYXRpb24sXG4gICAgc2V0VG90YWxQcmljZSxcbiAgICBvblRvdGFsUHJpY2VDaGFuZ2UsXG4gICAgdG90YWxQcmljZS50b3RhbCxcbiAgICB0b3RhbFByaWNlLm1heFRvdGFsLFxuICAgIHRvdGFsVmFsdWUsXG4gICAgdG90YWxNYXhWYWx1ZSxcbiAgXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIGhpZGVUaW1lVW5pdCAmJlxuICAgICAgKGl0ZXJhdGlvbi52YWx1ZSA+IDEgfHwgaXRlcmF0aW9uLnVuaXQgIT09IChkZWZhdWx0VGltZVVuaXQgPz8gJ2hvdXJzJykpXG4gICAgKSB7XG4gICAgICBzZXRJdGVyYXRpb24oeyB1bml0OiBkZWZhdWx0VGltZVVuaXQgPz8gJ2hvdXJzJywgdmFsdWU6IDEgfSlcbiAgICB9XG4gIH0sIFtoaWRlVGltZVVuaXQsIGl0ZXJhdGlvbiwgZGVmYXVsdFRpbWVVbml0XSlcblxuICByZXR1cm4gKFxuICAgIDxTdGFjayBnYXA9ezJ9PlxuICAgICAgeyFoaWRlT3ZlcmxheSA/IChcbiAgICAgICAgPE92ZXJsYXlDb21wb25lbnRcbiAgICAgICAgICBkaXNhYmxlT3ZlcmxheUxlZnQ9e2Rpc2FibGVPdmVybGF5TGVmdH1cbiAgICAgICAgICBkaXNhYmxlT3ZlcmxheVJpZ2h0PXtkaXNhYmxlT3ZlcmxheVJpZ2h0fVxuICAgICAgICAgIGRpc2NvdW50PXtkaXNjb3VudH1cbiAgICAgICAgICBpblZpZXc9e2luVmlld31cbiAgICAgICAgICBpc0JldGE9e2lzQmV0YX1cbiAgICAgICAgICBPdmVybGF5TGVmdD17T3ZlcmxheUxlZnR9XG4gICAgICAgICAgT3ZlcmxheVJpZ2h0PXtPdmVybGF5UmlnaHR9XG4gICAgICAgICAgb3ZlcmxheU1hcmdpbj17b3ZlcmxheU1hcmdpbn1cbiAgICAgICAgICB0b3RhbFByaWNlPXt0b3RhbFByaWNlfVxuICAgICAgICAgIHVuaXQ9e292ZXJsYXlVbml0ID8/ICdob3Vycyd9XG4gICAgICAgID5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvT3ZlcmxheUNvbXBvbmVudD5cbiAgICAgICkgOiBudWxsfVxuICAgICAge2Rlc2NyaXB0aW9uID09PSBmYWxzZSA/IG51bGwgOiAoXG4gICAgICAgIDxEZXNjcmlwdGlvbkNvbXBvbmVudCBkZXNjcmlwdGlvbj17ZGVzY3JpcHRpb259IGxvY2FsZXM9e2xvY2FsZXN9IC8+XG4gICAgICApfVxuICAgICAge2FsZXJ0ID8gKFxuICAgICAgICA8QWxlcnQgc2VudGltZW50PXthbGVydFZhcmlhbnR9IHRpdGxlPXthbGVydFRpdGxlfT5cbiAgICAgICAgICB7YWxlcnR9XG4gICAgICAgIDwvQWxlcnQ+XG4gICAgICApIDogbnVsbH1cbiAgICAgIDxPdmVybGF5Q29udGV4dFByb3ZpZGVyIHZhbHVlPXtwcm92aWRlclZhbHVlfT5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7Y2hpbGRyZW4gPyAoXG4gICAgICAgICAgICA8U3R5bGVkVGFibGVcbiAgICAgICAgICAgICAgY2VsbFBhZGRpbmc9XCIwXCJcbiAgICAgICAgICAgICAgY2VsbFNwYWNpbmc9XCIwXCJcbiAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJzdW1tYXJ5XCJcbiAgICAgICAgICAgICAgbm9Ub3RhbD17aGlkZVRvdGFsfVxuICAgICAgICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGNvbGdyb3VwPlxuICAgICAgICAgICAgICAgIDxjb2wgLz5cbiAgICAgICAgICAgICAgICA8UHJpY2VDb2wgLz5cbiAgICAgICAgICAgICAgPC9jb2xncm91cD5cbiAgICAgICAgICAgICAgeyFoaWRlVGltZVVuaXQgPyAoXG4gICAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICA8dGg+XG4gICAgICAgICAgICAgICAgICAgICAgPFRpdGxlQ29tcG9uZW50IGxvY2FsZXM9e2xvY2FsZXN9IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRQcmljZUNlbGw+XG4gICAgICAgICAgICAgICAgICAgICAgPFRpbWVDZWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEN1c3RvbVVuaXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VGltZVVuaXQ9e2RlZmF1bHRUaW1lVW5pdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uPXtpdGVyYXRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNldEl0ZXJhdGlvbj17c2V0SXRlcmF0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lVW5pdHM9e3RpbWVVbml0c31cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9UaW1lQ2VsbD5cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRQcmljZUNlbGw+XG4gICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgICAge0NoaWxkcmVuLm1hcChjaGlsZHJlbiwgKGNoaWxkLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgIGlzVmFsaWRFbGVtZW50PEV4dHJhUHJvcHM+KGNoaWxkKVxuICAgICAgICAgICAgICAgICAgICA/IGNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzY291bnQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdW50ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICEoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQgYXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLnByb3BzIGFzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdW50PzogbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICApLmRpc2NvdW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBkaXNjb3VudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQgYXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLnByb3BzIGFzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNjb3VudD86IG51bWJlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLmRpc2NvdW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNMYXN0RWxlbWVudDogaW5kZXggPT09IENoaWxkcmVuLmNvdW50KGNoaWxkcmVuKSAtIDEsXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9kdWN0c0NhbGxiYWNrLFxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIDogY2hpbGQsXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgIDwvU3R5bGVkVGFibGU+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgeyFoaWRlVG90YWwgPyAoXG4gICAgICAgICAgICA8RW1wdHlUYWJsZSBjZWxsUGFkZGluZz1cIjBcIiBjZWxsU3BhY2luZz1cIjBcIj5cbiAgICAgICAgICAgICAgPGNvbGdyb3VwPlxuICAgICAgICAgICAgICAgIDxjb2wgLz5cbiAgICAgICAgICAgICAgICA8UHJpY2VDb2wgLz5cbiAgICAgICAgICAgICAgPC9jb2xncm91cD5cbiAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgIDxFbXB0eUNlbGwgYXJpYS1sYWJlbD1cImNvbnRyb2xcIiAvPlxuICAgICAgICAgICAgICAgICAgPFRvdGFsUHJpY2VDZWxsIGhhc0JvcmRlcj17ZmFsc2V9PlxuICAgICAgICAgICAgICAgICAgICB7aXNCZXRhID8gKFxuICAgICAgICAgICAgICAgICAgICAgIDxCYWRnZUJldGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvbmc9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGVzW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBlc3RpbWF0ZS5jb3N0LmJldGEuJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdW50ID4gMCA/ICdkaXNjb3VudCcgOiAnZnJlZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9YFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLmxlbmd0aCA+IDI1XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwic3Ryb25nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD1cIndhcm5pbmdcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtgJHtkaXNjb3VudCA+IDAgPyBkaXNjb3VudCAqIDEwMCA6ICcnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZXNbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXN0aW1hdGUuY29zdC5iZXRhLiR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdW50ID4gMCA/ICdkaXNjb3VudCcgOiAnZnJlZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICAgICAgICA8L0JhZGdlQmV0YT5cbiAgICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0XG4gICAgICAgICAgICAgICAgICAgICAgYXM9XCJoM1wiXG4gICAgICAgICAgICAgICAgICAgICAgaXNCZXRhPXtpc0JldGF9XG4gICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImhlYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPExpbmVUaHJvdWdoXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZT17aXNCZXRhICYmIChkaXNjb3VudCA9PT0gMCB8fCBkaXNjb3VudCA+PSAxKX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7dG90YWxWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0b3RhbFByaWNlLm1heFRvdGFsID4gMCA/IGAgLSAke3RvdGFsTWF4VmFsdWV9YCA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgICAgPC9MaW5lVGhyb3VnaD5cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICAgICAgICAgICAgICB7aGlkZUhvdXJseVByaWNlT25Ub3RhbCAmJlxuICAgICAgICAgICAgICAgICAgICB0b3RhbFByaWNlLmhvdXJseSA+IDAgJiZcbiAgICAgICAgICAgICAgICAgICAgdG90YWxQcmljZS5ob3VybHkgIT09IHRvdGFsUHJpY2UudG90YWwgJiZcbiAgICAgICAgICAgICAgICAgICAgdG90YWxQcmljZS50b3RhbCA+IDAgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgPFJpZ2h0QWxpZ25lZFRleHQgYXM9XCJwXCIgdmFyaWFudD1cImJvZHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5lVGhyb3VnaFxuICAgICAgICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZT17aXNCZXRhICYmIChkaXNjb3VudCA9PT0gMCB8fCBkaXNjb3VudCA+PSAxKX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2Zvcm1hdE51bWJlcih0b3RhbFByaWNlLmhvdXJseSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogaXNMb25nRnJhY3Rpb25EaWdpdHNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gbWF4aW11bUZyYWN0aW9uRGlnaXRzTG9uZy5ob3Vyc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtYXhpbXVtRnJhY3Rpb25EaWdpdHMuaG91cnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB7dG90YWxQcmljZS5tYXhIb3VybHkgPiAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBgIC0gJHtmb3JtYXROdW1iZXIodG90YWxQcmljZS5tYXhIb3VybHksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBpc0xvbmdGcmFjdGlvbkRpZ2l0c1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gbWF4aW11bUZyYWN0aW9uRGlnaXRzTG9uZy5ob3Vyc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbWF4aW11bUZyYWN0aW9uRGlnaXRzLmhvdXJzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgL1xuICAgICAgICAgICAgICAgICAgICAgICAgICB7bG9jYWxlc1tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXN0aW1hdGUuY29zdC51bml0cy5ob3Vycy5sYWJlbGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXS50b0xvd2VyQ2FzZSgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9MaW5lVGhyb3VnaD5cbiAgICAgICAgICAgICAgICAgICAgICA8L1JpZ2h0QWxpZ25lZFRleHQ+XG4gICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgPC9Ub3RhbFByaWNlQ2VsbD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgPC9FbXB0eVRhYmxlPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIHtjb21taXRtZW50RmVlcyAhPT0gdW5kZWZpbmVkIHx8IG1vbnRobHlGZWVzICE9PSB1bmRlZmluZWQgPyAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8RmVlc1RleHQgYXM9XCJoM1wiIHZhcmlhbnQ9XCJoZWFkaW5nU21hbGxcIj5cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBsb2NhbGVzW1xuICAgICAgICAgICAgICAgICAgICBgZXN0aW1hdGUuY29zdC5mZWVzLiR7XG4gICAgICAgICAgICAgICAgICAgICAgY29tbWl0bWVudEZlZXMgPyAnb25lVGltZScgOiAnbW9udGhseSdcbiAgICAgICAgICAgICAgICAgICAgfS50aXRsZWBcbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvRmVlc1RleHQ+XG4gICAgICAgICAgICAgIDxTdHlsZWRGZWVzVGFibGU+XG4gICAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgICAgPEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgaXNMYXN0RWxlbWVudFxuICAgICAgICAgICAgICAgICAgICBsYWJlbD17XG4gICAgICAgICAgICAgICAgICAgICAgY29tbWl0bWVudEZlZXNcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbG9jYWxlc1snZXN0aW1hdGUuY29zdC5mZWVzLmNvbW1pdG1lbnQnXVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBtb250aGx5RmVlc0xhYmVsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbm9JdGVyYXRpb25cbiAgICAgICAgICAgICAgICAgICAgcHJpY2U9e2NvbW1pdG1lbnRGZWVzIHx8IG1vbnRobHlGZWVzfVxuICAgICAgICAgICAgICAgICAgICBwcm9kdWN0c0NhbGxiYWNrPXt7XG4gICAgICAgICAgICAgICAgICAgICAgYWRkOiAoKSA9PiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICByZW1vdmU6ICgpID0+IHt9LFxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7Y29tbWl0bWVudEZlZXNcbiAgICAgICAgICAgICAgICAgICAgICA/IGNvbW1pdG1lbnRGZWVzQ29udGVudFxuICAgICAgICAgICAgICAgICAgICAgIDogbW9udGhseUZlZXNDb250ZW50fVxuICAgICAgICAgICAgICAgICAgPC9JdGVtPlxuICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICAgIDwvU3R5bGVkRmVlc1RhYmxlPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9PdmVybGF5Q29udGV4dFByb3ZpZGVyPlxuICAgIDwvU3RhY2s+XG4gIClcbn1cbiJdfQ== */"));
59
- const StyledPriceCell = /* @__PURE__ */ _styled(Cell.withComponent("th", process.env.NODE_ENV === "production" ? {
60
- target: "excc3v75"
61
- } : {
62
- target: "excc3v75",
63
- label: "StyledPriceCell"
64
- }), process.env.NODE_ENV === "production" ? {
65
- target: "excc3v70"
66
- } : {
67
- target: "excc3v70",
68
- label: "StyledPriceCell"
69
- })(({
70
- theme
71
- }) => priceCell(theme), " padding:0;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvRXN0aW1hdGVDb3N0L0VzdGltYXRlQ29zdENvbnRlbnQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtFd0QiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvcGx1cy9zcmMvY29tcG9uZW50cy9Fc3RpbWF0ZUNvc3QvRXN0aW1hdGVDb3N0Q29udGVudC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBDYWxjdWxhdG9ySWNvbiB9IGZyb20gJ0B1bHRyYXZpb2xldC9pY29ucydcbmltcG9ydCB7IEFsZXJ0LCBTdGFjaywgVGV4dCB9IGZyb20gJ0B1bHRyYXZpb2xldC91aSdcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50UHJvcHMsIFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgQ2hpbGRyZW4sXG4gIGNsb25lRWxlbWVudCxcbiAgaXNWYWxpZEVsZW1lbnQsXG4gIG1lbW8sXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlSW5WaWV3IH0gZnJvbSAncmVhY3QtaW50ZXJzZWN0aW9uLW9ic2VydmVyJ1xuaW1wb3J0IHsgQ3VzdG9tVW5pdElucHV0IH0gZnJvbSAnLi9Db21wb25lbnRzL0N1c3RvbVVuaXRJbnB1dCdcbmltcG9ydCB7IEl0ZW0gfSBmcm9tICcuL0NvbXBvbmVudHMvSXRlbSdcbmltcG9ydCB7IExpbmVUaHJvdWdoIH0gZnJvbSAnLi9Db21wb25lbnRzL0xpbmVUaHJvdWdoJ1xuaW1wb3J0IHtcbiAgQmFkZ2VCZXRhLFxuICBDZWxsLFxuICBFbXB0eUNlbGwsXG4gIEVtcHR5VGFibGUsXG4gIFByaWNlQ29sLFxuICBwcmljZUNlbGwsXG4gIFN0eWxlZEZlZXNUYWJsZSxcbiAgU3R5bGVkVGFibGUsXG4gIFRpbWVDZWxsLFxuICBUaXRsZSxcbiAgVG90YWxQcmljZUNlbGwsXG59IGZyb20gJy4vY29tcG9uZW50U3R5bGUnXG5pbXBvcnQgeyBtYXhpbXVtRnJhY3Rpb25EaWdpdHMsIG1heGltdW1GcmFjdGlvbkRpZ2l0c0xvbmcgfSBmcm9tICcuL2NvbnN0YW50cydcbmltcG9ydCB7IHVzZUVzdGltYXRlQ29zdCB9IGZyb20gJy4vRXN0aW1hdGVDb3N0UHJvdmlkZXInXG5pbXBvcnQgeyBjYWxjdWxhdGVQcmljZSB9IGZyb20gJy4vaGVscGVyJ1xuaW1wb3J0IEVzdGltYXRlQ29zdExvY2FsZXMgZnJvbSAnLi9sb2NhbGVzL2VuJ1xuaW1wb3J0IHsgT3ZlcmxheUNvbXBvbmVudCB9IGZyb20gJy4vT3ZlcmxheUNvbXBvbmVudCdcbmltcG9ydCB7IE92ZXJsYXlDb250ZXh0UHJvdmlkZXIgfSBmcm9tICcuL092ZXJsYXlDb250ZXh0J1xuaW1wb3J0IHR5cGUge1xuICBCYXJlRXN0aW1hdGVQcm9kdWN0LFxuICBFc3RpbWF0ZUNvc3RQcm9wcyxcbiAgRXN0aW1hdGVQcm9kdWN0LFxuICBJdGVyYXRpb24sXG4gIFVuaXRzLFxufSBmcm9tICcuL3R5cGVzJ1xuXG5jb25zdCBGZWVzVGV4dCA9IHN0eWxlZChUZXh0KWBcbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMyddfTtcbmBcblxuY29uc3QgU3R5bGVkVGV4dCA9IHN0eWxlZChUZXh0KTx7XG4gIGlzQmV0YT86IGJvb2xlYW5cbn0+YFxuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgJHsoeyBpc0JldGEsIHRoZW1lIH0pID0+XG4gICAgaXNCZXRhID8gYG1hcmdpbi1sZWZ0OiAke3RoZW1lLnNwYWNlWycyJ119O2AgOiBudWxsfVxuYFxuXG5jb25zdCBSaWdodEFsaWduZWRUZXh0ID0gc3R5bGVkKFRleHQpYFxuICB0ZXh0LWFsaWduOiByaWdodDtcbmBcblxuY29uc3QgU3R5bGVkQ2FsY3VsYXRvckljb24gPSBzdHlsZWQoQ2FsY3VsYXRvckljb24pYFxuICBtYXJnaW4tcmlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG5gXG5cbmNvbnN0IFN0eWxlZFByaWNlQ2VsbCA9IHN0eWxlZChDZWxsLndpdGhDb21wb25lbnQoJ3RoJykpYFxuICAkeyh7IHRoZW1lIH0pID0+IHByaWNlQ2VsbCh0aGVtZSl9XG4gIHBhZGRpbmc6IDA7XG5gXG5cbmNvbnN0IERFRkFVTFRfVU5JVF9MSVNUOiBVbml0c1tdID0gWydob3VycycsICdkYXlzJywgJ21vbnRocyddXG5cbnR5cGUgRXh0cmFQcm9wcyA9IHtcbiAgaXNMYXN0RWxlbWVudD86IGJvb2xlYW5cbiAgcHJvZHVjdHNDYWxsYmFjaz86IHtcbiAgICBhZGQ6IChwcm9kdWN0OiBFc3RpbWF0ZVByb2R1Y3QpID0+IHZvaWRcbiAgICByZW1vdmU6IChwcm9kdWN0OiBCYXJlRXN0aW1hdGVQcm9kdWN0KSA9PiB2b2lkXG4gIH1cbiAgaXRlcmF0aW9uPzogSXRlcmF0aW9uXG4gIGRpc2NvdW50PzogbnVtYmVyXG59XG5cbmNvbnN0IERlc2NyaXB0aW9uQ29tcG9uZW50ID0gbWVtbyhcbiAgKHtcbiAgICBkZXNjcmlwdGlvbixcbiAgICBsb2NhbGVzLFxuICB9OiB7XG4gICAgZGVzY3JpcHRpb246IFJlYWN0Tm9kZVxuICAgIGxvY2FsZXM6IFJlY29yZDxrZXlvZiB0eXBlb2YgRXN0aW1hdGVDb3N0TG9jYWxlcywgc3RyaW5nPlxuICB9KSA9PlxuICAgIGRlc2NyaXB0aW9uID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIGRlc2NyaXB0aW9uID09PSAnc3RyaW5nJyA/IChcbiAgICAgIDxUZXh0IGFzPVwic3BhblwiIHZhcmlhbnQ9XCJib2R5XCI+XG4gICAgICAgIHtkZXNjcmlwdGlvbiB8fCBsb2NhbGVzWydlc3RpbWF0ZS5jb3N0LmRlc2NyaXB0aW9uJ119XG4gICAgICA8L1RleHQ+XG4gICAgKSA6IChcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgKSxcbilcblxuY29uc3QgVGl0bGVDb21wb25lbnQgPSBtZW1vKFxuICAoe1xuICAgIGxvY2FsZXMsXG4gIH06IHtcbiAgICBsb2NhbGVzOiBSZXF1aXJlZDxDb21wb25lbnRQcm9wczx0eXBlb2YgRXN0aW1hdGVDb3N0Q29udGVudD5bJ2xvY2FsZXMnXT5cbiAgfSkgPT4gKFxuICAgIDxUaXRsZT5cbiAgICAgIDxTdHlsZWRDYWxjdWxhdG9ySWNvbiBzZW50aW1lbnQ9XCJwcmltYXJ5XCIgc2l6ZT1cIm1lZGl1bVwiIC8+XG4gICAgICB7bG9jYWxlcz8uWydlc3RpbWF0ZS5jb3N0LmxhYmVsJ119XG4gICAgPC9UaXRsZT5cbiAgKSxcbilcblxuZXhwb3J0IGNvbnN0IEVzdGltYXRlQ29zdENvbnRlbnQgPSAoe1xuICBkZXNjcmlwdGlvbixcbiAgYWxlcnQsXG4gIGFsZXJ0VGl0bGUsXG4gIGFsZXJ0VmFyaWFudCA9ICd3YXJuaW5nJyxcbiAgZGVmYXVsdFRpbWVVbml0ID0gJ2hvdXJzJyxcbiAgdGltZVVuaXRzID0gREVGQVVMVF9VTklUX0xJU1QsXG4gIGhpZGVPdmVybGF5ID0gZmFsc2UsXG4gIGRpc2FibGVPdmVybGF5TGVmdCA9IGZhbHNlLFxuICBkaXNhYmxlT3ZlcmxheVJpZ2h0ID0gZmFsc2UsXG4gIGhpZGVUaW1lVW5pdCA9IGZhbHNlLFxuICBoaWRlVG90YWwgPSBmYWxzZSxcbiAgaGlkZUhvdXJseVByaWNlT25Ub3RhbCA9IGZhbHNlLFxuICBkaXNjb3VudCA9IDAsXG4gIE92ZXJsYXlSaWdodCxcbiAgT3ZlcmxheUxlZnQsXG4gIGlzQmV0YSA9IGZhbHNlLFxuICBjb21taXRtZW50RmVlcyxcbiAgY29tbWl0bWVudEZlZXNDb250ZW50LFxuICBtb250aGx5RmVlcyxcbiAgbW9udGhseUZlZXNMYWJlbCxcbiAgbW9udGhseUZlZXNDb250ZW50LFxuICBvdmVybGF5VW5pdCA9ICdob3VycycsXG4gIGNoaWxkcmVuID0gbnVsbCxcbiAgbG9jYWxlcyA9IEVzdGltYXRlQ29zdExvY2FsZXMsXG4gIG92ZXJsYXlNYXJnaW4sXG4gIG9uVG90YWxQcmljZUNoYW5nZSxcbn06IEVzdGltYXRlQ29zdFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZm9ybWF0TnVtYmVyIH0gPSB1c2VFc3RpbWF0ZUNvc3QoKVxuICBjb25zdCBbcmVmLCBpblZpZXddID0gdXNlSW5WaWV3KClcbiAgY29uc3QgW3Byb2R1Y3RzLCBzZXRQcm9kdWN0c10gPSB1c2VTdGF0ZTxFc3RpbWF0ZVByb2R1Y3RbXT4oW10pIC8vIHByb2R1Y3QgaXMgdXNlZCB0byBzdG9yZSBlYWNoIGl0ZW1zIHdpdGggdGhlaXIgcHJpY2UgYW5kIGFtb3VudFxuICBjb25zdCBbdG90YWxQcmljZSwgc2V0VG90YWxQcmljZV0gPSB1c2VTdGF0ZSh7XG4gICAgaG91cmx5OiAwLFxuICAgIG1heEhvdXJseTogMCxcbiAgICBtYXhPdmVybGF5SG91cmx5OiAwLFxuICAgIG1heFRvdGFsOiAwLFxuICAgIG92ZXJsYXlIb3VybHk6IDAsXG4gICAgdG90YWw6IDAsXG4gIH0pXG4gIGNvbnN0IFtpdGVyYXRpb24sIHNldEl0ZXJhdGlvbl0gPSB1c2VTdGF0ZTxJdGVyYXRpb24+KHtcbiAgICB1bml0OiBkZWZhdWx0VGltZVVuaXQgPz8gJ2hvdXJzJyxcbiAgICB2YWx1ZTogMSxcbiAgfSlcblxuICBjb25zdCBbaXNMb25nRnJhY3Rpb25EaWdpdHMsIHNldElzTG9uZ0ZyYWN0aW9uRGlnaXRzXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBwcm92aWRlclZhbHVlID0gdXNlTWVtbygoKSA9PiAoeyBpc092ZXJsYXk6IGZhbHNlIH0pLCBbXSlcblxuICBjb25zdCB0b3RhbFZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgZm9ybWF0TnVtYmVyKHRvdGFsUHJpY2UudG90YWwgPCAwID8gMCA6IHRvdGFsUHJpY2UudG90YWwsIHtcbiAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBpc0xvbmdGcmFjdGlvbkRpZ2l0c1xuICAgICAgICAgID8gbWF4aW11bUZyYWN0aW9uRGlnaXRzTG9uZ1tpdGVyYXRpb24udW5pdF1cbiAgICAgICAgICA6IG1heGltdW1GcmFjdGlvbkRpZ2l0c1tpdGVyYXRpb24udW5pdF0sXG4gICAgICB9KSxcbiAgICBbZm9ybWF0TnVtYmVyLCBpc0xvbmdGcmFjdGlvbkRpZ2l0cywgaXRlcmF0aW9uLnVuaXQsIHRvdGFsUHJpY2UudG90YWxdLFxuICApXG5cbiAgY29uc3QgdG90YWxNYXhWYWx1ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIGZvcm1hdE51bWJlcih0b3RhbFByaWNlLm1heFRvdGFsIDwgMCA/IDAgOiB0b3RhbFByaWNlLm1heFRvdGFsLCB7XG4gICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogaXNMb25nRnJhY3Rpb25EaWdpdHNcbiAgICAgICAgICA/IG1heGltdW1GcmFjdGlvbkRpZ2l0c0xvbmdbaXRlcmF0aW9uLnVuaXRdXG4gICAgICAgICAgOiBtYXhpbXVtRnJhY3Rpb25EaWdpdHNbaXRlcmF0aW9uLnVuaXRdLFxuICAgICAgfSksXG4gICAgW2Zvcm1hdE51bWJlciwgaXNMb25nRnJhY3Rpb25EaWdpdHMsIGl0ZXJhdGlvbi51bml0LCB0b3RhbFByaWNlLm1heFRvdGFsXSxcbiAgKVxuXG4gIGNvbnN0IHByb2R1Y3RzQ2FsbGJhY2sgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBhZGQ6IChuZXdQcm9kdWN0OiBFc3RpbWF0ZVByb2R1Y3QpID0+IHtcbiAgICAgICAgc2V0UHJvZHVjdHModG90YWwgPT4ge1xuICAgICAgICAgIGlmICh0b3RhbC5maW5kKHByb2R1Y3QgPT4gcHJvZHVjdC5pZCA9PT0gbmV3UHJvZHVjdC5pZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0b3RhbC5tYXAocHJvZHVjdCA9PlxuICAgICAgICAgICAgICBwcm9kdWN0LmlkID09PSBuZXdQcm9kdWN0LmlkID8gbmV3UHJvZHVjdCA6IHByb2R1Y3QsXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFsuLi50b3RhbCwgbmV3UHJvZHVjdF1cbiAgICAgICAgfSlcbiAgICAgIH0sXG5cbiAgICAgIHJlbW92ZTogKHsgaWQgfTogQmFyZUVzdGltYXRlUHJvZHVjdCkgPT4ge1xuICAgICAgICBzZXRQcm9kdWN0cyh0b3RhbCA9PiB0b3RhbC5maWx0ZXIocHJvZHVjdCA9PiBwcm9kdWN0LmlkICE9PSBpZCkpXG4gICAgICB9LFxuICAgIH0pLFxuICAgIFtzZXRQcm9kdWN0c10sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIHRoaXMgdmFyaWFibGUgY2hlY2sgaWYgdGhlcmUgaXMgYSBtYXhBbW91bnQgaW4gZWFjaCBwcm9kdWN0XG4gICAgLy8gaWYgbm90IHdlIGRvIG5vdCBuZWVkIHRvIGNhbGN1bGF0ZSBtYXhUb3RhbCwgbWF4SG91cmx5LCBtYXhPdmVybGF5SG91cmx5XG4gICAgY29uc3QgaXNNYXhBbW91bnRJblByb2R1Y3RzID0gcHJvZHVjdHMuZmluZChwcm9kdWN0ID0+IHByb2R1Y3QubWF4QW1vdW50KVxuICAgIHNldElzTG9uZ0ZyYWN0aW9uRGlnaXRzKFxuICAgICAgISFwcm9kdWN0cy5maW5kKHByb2R1Y3QgPT4gcHJvZHVjdC5sb25nRnJhY3Rpb25EaWdpdHMpLFxuICAgIClcbiAgICBzZXRUb3RhbFByaWNlKHtcbiAgICAgIGhvdXJseTogcHJvZHVjdHMucmVkdWNlKFxuICAgICAgICAoYWNjLCBwcm9kdWN0KSA9PlxuICAgICAgICAgIGFjYyArXG4gICAgICAgICAgKHByb2R1Y3Qubm9JdGVyYXRpb25cbiAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgOiAocHJvZHVjdC5wcmljZSAtIHByb2R1Y3QucHJpY2UgKiBwcm9kdWN0LmRpc2NvdW50KSAqXG4gICAgICAgICAgICAgIE1hdGgubWF4KHByb2R1Y3QuYW1vdW50IC0gcHJvZHVjdC5hbW91bnRGcmVlLCAwKSksXG4gICAgICAgIDAsXG4gICAgICApLFxuICAgICAgbWF4SG91cmx5OiBpc01heEFtb3VudEluUHJvZHVjdHNcbiAgICAgICAgPyBwcm9kdWN0cy5yZWR1Y2UoXG4gICAgICAgICAgICAoYWNjLCBwcm9kdWN0KSA9PlxuICAgICAgICAgICAgICBhY2MgJiYgcHJvZHVjdC5ub0l0ZXJhdGlvblxuICAgICAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgICAgIDogKHByb2R1Y3QucHJpY2UgLSBwcm9kdWN0LnByaWNlICogcHJvZHVjdC5kaXNjb3VudCkgKlxuICAgICAgICAgICAgICAgICAgTWF0aC5tYXgocHJvZHVjdC5tYXhBbW91bnQgLSBwcm9kdWN0LmFtb3VudEZyZWUsIDApLFxuXG4gICAgICAgICAgICAwLFxuICAgICAgICAgIClcbiAgICAgICAgOiAwLFxuICAgICAgbWF4T3ZlcmxheUhvdXJseTogaXNNYXhBbW91bnRJblByb2R1Y3RzXG4gICAgICAgID8gcHJvZHVjdHMucmVkdWNlKFxuICAgICAgICAgICAgKGFjYywgcHJvZHVjdCkgPT5cbiAgICAgICAgICAgICAgYWNjICtcbiAgICAgICAgICAgICAgKHByb2R1Y3Qubm9JdGVyYXRpb25cbiAgICAgICAgICAgICAgICA/IDBcbiAgICAgICAgICAgICAgICA6IChwcm9kdWN0LnByaWNlIC0gcHJvZHVjdC5wcmljZSAqIHByb2R1Y3QuZGlzY291bnQpICpcbiAgICAgICAgICAgICAgICAgIE1hdGgubWF4KHByb2R1Y3QubWF4QW1vdW50IC0gcHJvZHVjdC5hbW91bnRGcmVlLCAwKSksXG4gICAgICAgICAgICAwLFxuICAgICAgICAgIClcbiAgICAgICAgOiAwLFxuICAgICAgbWF4VG90YWw6IGlzTWF4QW1vdW50SW5Qcm9kdWN0c1xuICAgICAgICA/IHByb2R1Y3RzLnJlZHVjZShcbiAgICAgICAgICAgIChhY2MsIHByb2R1Y3QpID0+XG4gICAgICAgICAgICAgIGFjYyArXG4gICAgICAgICAgICAgIGNhbGN1bGF0ZVByaWNlKHtcbiAgICAgICAgICAgICAgICBhbW91bnQ6IHByb2R1Y3QubWF4QW1vdW50IHx8IHByb2R1Y3QuYW1vdW50LCAvLyBOb3QgYWxsIHByb2R1Y3RzIGhhdmUgbWF4QW1vdW50LCBzbyB3ZSBuZWVkIHRvIGNoZWNrIGJvdGhcbiAgICAgICAgICAgICAgICBhbW91bnRGcmVlOiBwcm9kdWN0LmFtb3VudEZyZWUsXG4gICAgICAgICAgICAgICAgZGlzY291bnQ6IHByb2R1Y3QuZGlzY291bnQsXG4gICAgICAgICAgICAgICAgcHJpY2U6IHByb2R1Y3QucHJpY2UsXG4gICAgICAgICAgICAgICAgdGltZUFtb3VudDogcHJvZHVjdC5ub0l0ZXJhdGlvbiA/IDEgOiBpdGVyYXRpb24udmFsdWUsXG4gICAgICAgICAgICAgICAgdGltZVVuaXQ6IHByb2R1Y3Qubm9JdGVyYXRpb24gPyAnaG91cnMnIDogaXRlcmF0aW9uLnVuaXQsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgMCxcbiAgICAgICAgICApXG4gICAgICAgIDogMCxcbiAgICAgIG92ZXJsYXlIb3VybHk6IHByb2R1Y3RzLnJlZHVjZShcbiAgICAgICAgKGFjYywgcHJvZHVjdCkgPT5cbiAgICAgICAgICBhY2MgK1xuICAgICAgICAgIChwcm9kdWN0Lm5vSXRlcmF0aW9uXG4gICAgICAgICAgICA/IDBcbiAgICAgICAgICAgIDogKHByb2R1Y3QucHJpY2UgLSBwcm9kdWN0LnByaWNlICogcHJvZHVjdC5kaXNjb3VudCkgKlxuICAgICAgICAgICAgICBNYXRoLm1heChwcm9kdWN0LmFtb3VudCAtIHByb2R1Y3QuYW1vdW50RnJlZSwgMCkpLFxuICAgICAgICAwLFxuICAgICAgKSxcbiAgICAgIHRvdGFsOiAhaGlkZVRvdGFsXG4gICAgICAgID8gcHJvZHVjdHMucmVkdWNlKFxuICAgICAgICAgICAgKGFjYywgcHJvZHVjdCkgPT5cbiAgICAgICAgICAgICAgYWNjICtcbiAgICAgICAgICAgICAgY2FsY3VsYXRlUHJpY2Uoe1xuICAgICAgICAgICAgICAgIGFtb3VudDogcHJvZHVjdC5hbW91bnQsXG4gICAgICAgICAgICAgICAgYW1vdW50RnJlZTogcHJvZHVjdC5hbW91bnRGcmVlLFxuICAgICAgICAgICAgICAgIGRpc2NvdW50OiBwcm9kdWN0LmRpc2NvdW50LFxuICAgICAgICAgICAgICAgIHByaWNlOiBwcm9kdWN0LnByaWNlLFxuICAgICAgICAgICAgICAgIHRpbWVBbW91bnQ6IHByb2R1Y3Qubm9JdGVyYXRpb24gPyAxIDogaXRlcmF0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICAgIHRpbWVVbml0OiBwcm9kdWN0Lm5vSXRlcmF0aW9uID8gJ2hvdXJzJyA6IGl0ZXJhdGlvbi51bml0LFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIDAsXG4gICAgICAgICAgKVxuICAgICAgICA6IDAsXG4gICAgfSlcbiAgICBvblRvdGFsUHJpY2VDaGFuZ2U/Lih7XG4gICAgICB0b3RhbDogdG90YWxQcmljZS50b3RhbCxcbiAgICAgIHRvdGFsTWF4OiB0b3RhbFByaWNlLm1heFRvdGFsID4gMCA/IHRvdGFsUHJpY2UubWF4VG90YWwgOiB1bmRlZmluZWQsXG4gICAgfSlcbiAgfSwgW1xuICAgIGhpZGVUb3RhbCxcbiAgICBwcm9kdWN0cyxcbiAgICBpdGVyYXRpb24sXG4gICAgc2V0VG90YWxQcmljZSxcbiAgICBvblRvdGFsUHJpY2VDaGFuZ2UsXG4gICAgdG90YWxQcmljZS50b3RhbCxcbiAgICB0b3RhbFByaWNlLm1heFRvdGFsLFxuICAgIHRvdGFsVmFsdWUsXG4gICAgdG90YWxNYXhWYWx1ZSxcbiAgXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIGhpZGVUaW1lVW5pdCAmJlxuICAgICAgKGl0ZXJhdGlvbi52YWx1ZSA+IDEgfHwgaXRlcmF0aW9uLnVuaXQgIT09IChkZWZhdWx0VGltZVVuaXQgPz8gJ2hvdXJzJykpXG4gICAgKSB7XG4gICAgICBzZXRJdGVyYXRpb24oeyB1bml0OiBkZWZhdWx0VGltZVVuaXQgPz8gJ2hvdXJzJywgdmFsdWU6IDEgfSlcbiAgICB9XG4gIH0sIFtoaWRlVGltZVVuaXQsIGl0ZXJhdGlvbiwgZGVmYXVsdFRpbWVVbml0XSlcblxuICByZXR1cm4gKFxuICAgIDxTdGFjayBnYXA9ezJ9PlxuICAgICAgeyFoaWRlT3ZlcmxheSA/IChcbiAgICAgICAgPE92ZXJsYXlDb21wb25lbnRcbiAgICAgICAgICBkaXNhYmxlT3ZlcmxheUxlZnQ9e2Rpc2FibGVPdmVybGF5TGVmdH1cbiAgICAgICAgICBkaXNhYmxlT3ZlcmxheVJpZ2h0PXtkaXNhYmxlT3ZlcmxheVJpZ2h0fVxuICAgICAgICAgIGRpc2NvdW50PXtkaXNjb3VudH1cbiAgICAgICAgICBpblZpZXc9e2luVmlld31cbiAgICAgICAgICBpc0JldGE9e2lzQmV0YX1cbiAgICAgICAgICBPdmVybGF5TGVmdD17T3ZlcmxheUxlZnR9XG4gICAgICAgICAgT3ZlcmxheVJpZ2h0PXtPdmVybGF5UmlnaHR9XG4gICAgICAgICAgb3ZlcmxheU1hcmdpbj17b3ZlcmxheU1hcmdpbn1cbiAgICAgICAgICB0b3RhbFByaWNlPXt0b3RhbFByaWNlfVxuICAgICAgICAgIHVuaXQ9e292ZXJsYXlVbml0ID8/ICdob3Vycyd9XG4gICAgICAgID5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvT3ZlcmxheUNvbXBvbmVudD5cbiAgICAgICkgOiBudWxsfVxuICAgICAge2Rlc2NyaXB0aW9uID09PSBmYWxzZSA/IG51bGwgOiAoXG4gICAgICAgIDxEZXNjcmlwdGlvbkNvbXBvbmVudCBkZXNjcmlwdGlvbj17ZGVzY3JpcHRpb259IGxvY2FsZXM9e2xvY2FsZXN9IC8+XG4gICAgICApfVxuICAgICAge2FsZXJ0ID8gKFxuICAgICAgICA8QWxlcnQgc2VudGltZW50PXthbGVydFZhcmlhbnR9IHRpdGxlPXthbGVydFRpdGxlfT5cbiAgICAgICAgICB7YWxlcnR9XG4gICAgICAgIDwvQWxlcnQ+XG4gICAgICApIDogbnVsbH1cbiAgICAgIDxPdmVybGF5Q29udGV4dFByb3ZpZGVyIHZhbHVlPXtwcm92aWRlclZhbHVlfT5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7Y2hpbGRyZW4gPyAoXG4gICAgICAgICAgICA8U3R5bGVkVGFibGVcbiAgICAgICAgICAgICAgY2VsbFBhZGRpbmc9XCIwXCJcbiAgICAgICAgICAgICAgY2VsbFNwYWNpbmc9XCIwXCJcbiAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJzdW1tYXJ5XCJcbiAgICAgICAgICAgICAgbm9Ub3RhbD17aGlkZVRvdGFsfVxuICAgICAgICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGNvbGdyb3VwPlxuICAgICAgICAgICAgICAgIDxjb2wgLz5cbiAgICAgICAgICAgICAgICA8UHJpY2VDb2wgLz5cbiAgICAgICAgICAgICAgPC9jb2xncm91cD5cbiAgICAgICAgICAgICAgeyFoaWRlVGltZVVuaXQgPyAoXG4gICAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICA8dGg+XG4gICAgICAgICAgICAgICAgICAgICAgPFRpdGxlQ29tcG9uZW50IGxvY2FsZXM9e2xvY2FsZXN9IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRQcmljZUNlbGw+XG4gICAgICAgICAgICAgICAgICAgICAgPFRpbWVDZWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEN1c3RvbVVuaXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VGltZVVuaXQ9e2RlZmF1bHRUaW1lVW5pdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uPXtpdGVyYXRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNldEl0ZXJhdGlvbj17c2V0SXRlcmF0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lVW5pdHM9e3RpbWVVbml0c31cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9UaW1lQ2VsbD5cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRQcmljZUNlbGw+XG4gICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgICAge0NoaWxkcmVuLm1hcChjaGlsZHJlbiwgKGNoaWxkLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgIGlzVmFsaWRFbGVtZW50PEV4dHJhUHJvcHM+KGNoaWxkKVxuICAgICAgICAgICAgICAgICAgICA/IGNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzY291bnQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdW50ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICEoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQgYXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLnByb3BzIGFzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdW50PzogbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICApLmRpc2NvdW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBkaXNjb3VudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQgYXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLnByb3BzIGFzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNjb3VudD86IG51bWJlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLmRpc2NvdW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNMYXN0RWxlbWVudDogaW5kZXggPT09IENoaWxkcmVuLmNvdW50KGNoaWxkcmVuKSAtIDEsXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9kdWN0c0NhbGxiYWNrLFxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIDogY2hpbGQsXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgIDwvU3R5bGVkVGFibGU+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgeyFoaWRlVG90YWwgPyAoXG4gICAgICAgICAgICA8RW1wdHlUYWJsZSBjZWxsUGFkZGluZz1cIjBcIiBjZWxsU3BhY2luZz1cIjBcIj5cbiAgICAgICAgICAgICAgPGNvbGdyb3VwPlxuICAgICAgICAgICAgICAgIDxjb2wgLz5cbiAgICAgICAgICAgICAgICA8UHJpY2VDb2wgLz5cbiAgICAgICAgICAgICAgPC9jb2xncm91cD5cbiAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgIDxFbXB0eUNlbGwgYXJpYS1sYWJlbD1cImNvbnRyb2xcIiAvPlxuICAgICAgICAgICAgICAgICAgPFRvdGFsUHJpY2VDZWxsIGhhc0JvcmRlcj17ZmFsc2V9PlxuICAgICAgICAgICAgICAgICAgICB7aXNCZXRhID8gKFxuICAgICAgICAgICAgICAgICAgICAgIDxCYWRnZUJldGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvbmc9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGVzW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBlc3RpbWF0ZS5jb3N0LmJldGEuJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdW50ID4gMCA/ICdkaXNjb3VudCcgOiAnZnJlZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9YFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLmxlbmd0aCA+IDI1XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwic3Ryb25nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD1cIndhcm5pbmdcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtgJHtkaXNjb3VudCA+IDAgPyBkaXNjb3VudCAqIDEwMCA6ICcnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZXNbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXN0aW1hdGUuY29zdC5iZXRhLiR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdW50ID4gMCA/ICdkaXNjb3VudCcgOiAnZnJlZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICAgICAgICA8L0JhZGdlQmV0YT5cbiAgICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0XG4gICAgICAgICAgICAgICAgICAgICAgYXM9XCJoM1wiXG4gICAgICAgICAgICAgICAgICAgICAgaXNCZXRhPXtpc0JldGF9XG4gICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImhlYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPExpbmVUaHJvdWdoXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZT17aXNCZXRhICYmIChkaXNjb3VudCA9PT0gMCB8fCBkaXNjb3VudCA+PSAxKX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7dG90YWxWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0b3RhbFByaWNlLm1heFRvdGFsID4gMCA/IGAgLSAke3RvdGFsTWF4VmFsdWV9YCA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgICAgPC9MaW5lVGhyb3VnaD5cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICAgICAgICAgICAgICB7aGlkZUhvdXJseVByaWNlT25Ub3RhbCAmJlxuICAgICAgICAgICAgICAgICAgICB0b3RhbFByaWNlLmhvdXJseSA+IDAgJiZcbiAgICAgICAgICAgICAgICAgICAgdG90YWxQcmljZS5ob3VybHkgIT09IHRvdGFsUHJpY2UudG90YWwgJiZcbiAgICAgICAgICAgICAgICAgICAgdG90YWxQcmljZS50b3RhbCA+IDAgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgPFJpZ2h0QWxpZ25lZFRleHQgYXM9XCJwXCIgdmFyaWFudD1cImJvZHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5lVGhyb3VnaFxuICAgICAgICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZT17aXNCZXRhICYmIChkaXNjb3VudCA9PT0gMCB8fCBkaXNjb3VudCA+PSAxKX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2Zvcm1hdE51bWJlcih0b3RhbFByaWNlLmhvdXJseSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogaXNMb25nRnJhY3Rpb25EaWdpdHNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gbWF4aW11bUZyYWN0aW9uRGlnaXRzTG9uZy5ob3Vyc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtYXhpbXVtRnJhY3Rpb25EaWdpdHMuaG91cnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB7dG90YWxQcmljZS5tYXhIb3VybHkgPiAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBgIC0gJHtmb3JtYXROdW1iZXIodG90YWxQcmljZS5tYXhIb3VybHksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBpc0xvbmdGcmFjdGlvbkRpZ2l0c1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gbWF4aW11bUZyYWN0aW9uRGlnaXRzTG9uZy5ob3Vyc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbWF4aW11bUZyYWN0aW9uRGlnaXRzLmhvdXJzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgL1xuICAgICAgICAgICAgICAgICAgICAgICAgICB7bG9jYWxlc1tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXN0aW1hdGUuY29zdC51bml0cy5ob3Vycy5sYWJlbGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXS50b0xvd2VyQ2FzZSgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9MaW5lVGhyb3VnaD5cbiAgICAgICAgICAgICAgICAgICAgICA8L1JpZ2h0QWxpZ25lZFRleHQ+XG4gICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgPC9Ub3RhbFByaWNlQ2VsbD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgPC9FbXB0eVRhYmxlPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIHtjb21taXRtZW50RmVlcyAhPT0gdW5kZWZpbmVkIHx8IG1vbnRobHlGZWVzICE9PSB1bmRlZmluZWQgPyAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8RmVlc1RleHQgYXM9XCJoM1wiIHZhcmlhbnQ9XCJoZWFkaW5nU21hbGxcIj5cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBsb2NhbGVzW1xuICAgICAgICAgICAgICAgICAgICBgZXN0aW1hdGUuY29zdC5mZWVzLiR7XG4gICAgICAgICAgICAgICAgICAgICAgY29tbWl0bWVudEZlZXMgPyAnb25lVGltZScgOiAnbW9udGhseSdcbiAgICAgICAgICAgICAgICAgICAgfS50aXRsZWBcbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvRmVlc1RleHQ+XG4gICAgICAgICAgICAgIDxTdHlsZWRGZWVzVGFibGU+XG4gICAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgICAgPEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgaXNMYXN0RWxlbWVudFxuICAgICAgICAgICAgICAgICAgICBsYWJlbD17XG4gICAgICAgICAgICAgICAgICAgICAgY29tbWl0bWVudEZlZXNcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbG9jYWxlc1snZXN0aW1hdGUuY29zdC5mZWVzLmNvbW1pdG1lbnQnXVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBtb250aGx5RmVlc0xhYmVsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbm9JdGVyYXRpb25cbiAgICAgICAgICAgICAgICAgICAgcHJpY2U9e2NvbW1pdG1lbnRGZWVzIHx8IG1vbnRobHlGZWVzfVxuICAgICAgICAgICAgICAgICAgICBwcm9kdWN0c0NhbGxiYWNrPXt7XG4gICAgICAgICAgICAgICAgICAgICAgYWRkOiAoKSA9PiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICByZW1vdmU6ICgpID0+IHt9LFxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7Y29tbWl0bWVudEZlZXNcbiAgICAgICAgICAgICAgICAgICAgICA/IGNvbW1pdG1lbnRGZWVzQ29udGVudFxuICAgICAgICAgICAgICAgICAgICAgIDogbW9udGhseUZlZXNDb250ZW50fVxuICAgICAgICAgICAgICAgICAgPC9JdGVtPlxuICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICAgIDwvU3R5bGVkRmVlc1RhYmxlPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9PdmVybGF5Q29udGV4dFByb3ZpZGVyPlxuICAgIDwvU3RhY2s+XG4gIClcbn1cbiJdfQ== */"));
17
+ import { estimateCostTable, estimateCostPriceColumn, estimateCostPriceCellContent, estimateCostPriceCell, estimateCostTimeCell, estimateCostEmptyTable, estimateCostEmptyCell, estimateCostCell, estimateCostTotalPriceCell, estimateCostBadgeBeta, estimateCostText, paddingLeftCell, estimatecostFeesText, estimateCostFeesTable, estimateCostTitle, estimateCostCalculatorIcon } from "./styles.css.js";
72
18
  const DEFAULT_UNIT_LIST = ["hours", "days", "months"];
73
- const DescriptionComponent = memo(({
74
- description,
75
- locales
76
- }) => description === void 0 || typeof description === "string" ? /* @__PURE__ */ jsx(Text, { as: "span", variant: "body", children: description || locales["estimate.cost.description"] }) : description);
77
- const TitleComponent = memo(({
78
- locales
79
- }) => /* @__PURE__ */ jsxs(Title, { children: [
80
- /* @__PURE__ */ jsx(StyledCalculatorIcon, { sentiment: "primary", size: "medium" }),
81
- locales?.["estimate.cost.label"]
82
- ] }));
19
+ const DescriptionComponent = memo(
20
+ ({
21
+ description,
22
+ locales
23
+ }) => description === void 0 || typeof description === "string" ? /* @__PURE__ */ jsx(Text, { as: "span", variant: "body", children: description || locales["estimate.cost.description"] }) : description
24
+ );
25
+ const TitleComponent = memo(
26
+ ({
27
+ locales
28
+ }) => /* @__PURE__ */ jsxs("h3", { className: estimateCostTitle, children: [
29
+ /* @__PURE__ */ jsx(
30
+ CalculatorIcon,
31
+ {
32
+ className: estimateCostCalculatorIcon,
33
+ sentiment: "primary",
34
+ size: "medium"
35
+ }
36
+ ),
37
+ locales?.["estimate.cost.label"]
38
+ ] })
39
+ );
83
40
  const EstimateCostContent = ({
84
41
  description,
85
42
  alert,
@@ -106,11 +63,10 @@ const EstimateCostContent = ({
106
63
  children = null,
107
64
  locales = EstimateCostLocales,
108
65
  overlayMargin,
109
- onTotalPriceChange
66
+ onTotalPriceChange,
67
+ style
110
68
  }) => {
111
- const {
112
- formatNumber
113
- } = useEstimateCost();
69
+ const { formatNumber } = useEstimateCost();
114
70
  const [ref, inView] = useInView();
115
71
  const [products, setProducts] = useState([]);
116
72
  const [totalPrice, setTotalPrice] = useState({
@@ -126,125 +82,265 @@ const EstimateCostContent = ({
126
82
  value: 1
127
83
  });
128
84
  const [isLongFractionDigits, setIsLongFractionDigits] = useState(false);
129
- const providerValue = useMemo(() => ({
130
- isOverlay: false
131
- }), []);
132
- const totalValue = useMemo(() => formatNumber(totalPrice.total < 0 ? 0 : totalPrice.total, {
133
- maximumFractionDigits: isLongFractionDigits ? maximumFractionDigitsLong[iteration.unit] : maximumFractionDigits[iteration.unit]
134
- }), [formatNumber, isLongFractionDigits, iteration.unit, totalPrice.total]);
135
- const totalMaxValue = useMemo(() => formatNumber(totalPrice.maxTotal < 0 ? 0 : totalPrice.maxTotal, {
136
- maximumFractionDigits: isLongFractionDigits ? maximumFractionDigitsLong[iteration.unit] : maximumFractionDigits[iteration.unit]
137
- }), [formatNumber, isLongFractionDigits, iteration.unit, totalPrice.maxTotal]);
138
- const productsCallback = useMemo(() => ({
139
- add: (newProduct) => {
140
- setProducts((total) => {
141
- if (total.find((product) => product.id === newProduct.id)) {
142
- return total.map((product) => product.id === newProduct.id ? newProduct : product);
143
- }
144
- return [...total, newProduct];
145
- });
146
- },
147
- remove: ({
148
- id
149
- }) => {
150
- setProducts((total) => total.filter((product) => product.id !== id));
151
- }
152
- }), [setProducts]);
85
+ const providerValue = useMemo(() => ({ isOverlay: false }), []);
86
+ const totalValue = useMemo(
87
+ () => formatNumber(totalPrice.total < 0 ? 0 : totalPrice.total, {
88
+ maximumFractionDigits: isLongFractionDigits ? maximumFractionDigitsLong[iteration.unit] : maximumFractionDigits[iteration.unit]
89
+ }),
90
+ [formatNumber, isLongFractionDigits, iteration.unit, totalPrice.total]
91
+ );
92
+ const totalMaxValue = useMemo(
93
+ () => formatNumber(totalPrice.maxTotal < 0 ? 0 : totalPrice.maxTotal, {
94
+ maximumFractionDigits: isLongFractionDigits ? maximumFractionDigitsLong[iteration.unit] : maximumFractionDigits[iteration.unit]
95
+ }),
96
+ [formatNumber, isLongFractionDigits, iteration.unit, totalPrice.maxTotal]
97
+ );
98
+ const productsCallback = useMemo(
99
+ () => ({
100
+ add: (newProduct) => {
101
+ setProducts((total) => {
102
+ if (total.find((product) => product.id === newProduct.id)) {
103
+ return total.map(
104
+ (product) => product.id === newProduct.id ? newProduct : product
105
+ );
106
+ }
107
+ return [...total, newProduct];
108
+ });
109
+ },
110
+ remove: ({ id }) => {
111
+ setProducts((total) => total.filter((product) => product.id !== id));
112
+ }
113
+ }),
114
+ [setProducts]
115
+ );
153
116
  useEffect(() => {
154
117
  const isMaxAmountInProducts = products.find((product) => product.maxAmount);
155
- setIsLongFractionDigits(!!products.find((product) => product.longFractionDigits));
118
+ setIsLongFractionDigits(
119
+ !!products.find((product) => product.longFractionDigits)
120
+ );
156
121
  setTotalPrice({
157
- hourly: products.reduce((acc, product) => acc + (product.noIteration ? 0 : (product.price - product.price * product.discount) * Math.max(product.amount - product.amountFree, 0)), 0),
158
- maxHourly: isMaxAmountInProducts ? products.reduce((acc, product) => acc && product.noIteration ? 0 : (product.price - product.price * product.discount) * Math.max(product.maxAmount - product.amountFree, 0), 0) : 0,
159
- maxOverlayHourly: isMaxAmountInProducts ? products.reduce((acc, product) => acc + (product.noIteration ? 0 : (product.price - product.price * product.discount) * Math.max(product.maxAmount - product.amountFree, 0)), 0) : 0,
160
- maxTotal: isMaxAmountInProducts ? products.reduce((acc, product) => acc + calculatePrice({
161
- amount: product.maxAmount || product.amount,
162
- // Not all products have maxAmount, so we need to check both
163
- amountFree: product.amountFree,
164
- discount: product.discount,
165
- price: product.price,
166
- timeAmount: product.noIteration ? 1 : iteration.value,
167
- timeUnit: product.noIteration ? "hours" : iteration.unit
168
- }), 0) : 0,
169
- overlayHourly: products.reduce((acc, product) => acc + (product.noIteration ? 0 : (product.price - product.price * product.discount) * Math.max(product.amount - product.amountFree, 0)), 0),
170
- total: !hideTotal ? products.reduce((acc, product) => acc + calculatePrice({
171
- amount: product.amount,
172
- amountFree: product.amountFree,
173
- discount: product.discount,
174
- price: product.price,
175
- timeAmount: product.noIteration ? 1 : iteration.value,
176
- timeUnit: product.noIteration ? "hours" : iteration.unit
177
- }), 0) : 0
122
+ hourly: products.reduce(
123
+ (acc, product) => acc + (product.noIteration ? 0 : (product.price - product.price * product.discount) * Math.max(product.amount - product.amountFree, 0)),
124
+ 0
125
+ ),
126
+ maxHourly: isMaxAmountInProducts ? products.reduce(
127
+ (acc, product) => acc && product.noIteration ? 0 : (product.price - product.price * product.discount) * Math.max(product.maxAmount - product.amountFree, 0),
128
+ 0
129
+ ) : 0,
130
+ maxOverlayHourly: isMaxAmountInProducts ? products.reduce(
131
+ (acc, product) => acc + (product.noIteration ? 0 : (product.price - product.price * product.discount) * Math.max(product.maxAmount - product.amountFree, 0)),
132
+ 0
133
+ ) : 0,
134
+ maxTotal: isMaxAmountInProducts ? products.reduce(
135
+ (acc, product) => acc + calculatePrice({
136
+ amount: product.maxAmount || product.amount,
137
+ // Not all products have maxAmount, so we need to check both
138
+ amountFree: product.amountFree,
139
+ discount: product.discount,
140
+ price: product.price,
141
+ timeAmount: product.noIteration ? 1 : iteration.value,
142
+ timeUnit: product.noIteration ? "hours" : iteration.unit
143
+ }),
144
+ 0
145
+ ) : 0,
146
+ overlayHourly: products.reduce(
147
+ (acc, product) => acc + (product.noIteration ? 0 : (product.price - product.price * product.discount) * Math.max(product.amount - product.amountFree, 0)),
148
+ 0
149
+ ),
150
+ total: !hideTotal ? products.reduce(
151
+ (acc, product) => acc + calculatePrice({
152
+ amount: product.amount,
153
+ amountFree: product.amountFree,
154
+ discount: product.discount,
155
+ price: product.price,
156
+ timeAmount: product.noIteration ? 1 : iteration.value,
157
+ timeUnit: product.noIteration ? "hours" : iteration.unit
158
+ }),
159
+ 0
160
+ ) : 0
178
161
  });
179
162
  onTotalPriceChange?.({
180
163
  total: totalPrice.total,
181
164
  totalMax: totalPrice.maxTotal > 0 ? totalPrice.maxTotal : void 0
182
165
  });
183
- }, [hideTotal, products, iteration, setTotalPrice, onTotalPriceChange, totalPrice.total, totalPrice.maxTotal, totalValue, totalMaxValue]);
166
+ }, [
167
+ hideTotal,
168
+ products,
169
+ iteration,
170
+ setTotalPrice,
171
+ onTotalPriceChange,
172
+ totalPrice.total,
173
+ totalPrice.maxTotal,
174
+ totalValue,
175
+ totalMaxValue
176
+ ]);
184
177
  useEffect(() => {
185
178
  if (hideTimeUnit && (iteration.value > 1 || iteration.unit !== (defaultTimeUnit ?? "hours"))) {
186
- setIteration({
187
- unit: defaultTimeUnit ?? "hours",
188
- value: 1
189
- });
179
+ setIteration({ unit: defaultTimeUnit ?? "hours", value: 1 });
190
180
  }
191
181
  }, [hideTimeUnit, iteration, defaultTimeUnit]);
192
- return /* @__PURE__ */ jsxs(Stack, { gap: 2, children: [
193
- !hideOverlay ? /* @__PURE__ */ jsx(OverlayComponent, { disableOverlayLeft, disableOverlayRight, discount, inView, isBeta, OverlayLeft, OverlayRight, overlayMargin, totalPrice, unit: overlayUnit ?? "hours", children }) : null,
182
+ return /* @__PURE__ */ jsxs(Stack, { gap: 2, style, children: [
183
+ !hideOverlay ? /* @__PURE__ */ jsx(
184
+ OverlayComponent,
185
+ {
186
+ disableOverlayLeft,
187
+ disableOverlayRight,
188
+ discount,
189
+ inView,
190
+ isBeta,
191
+ OverlayLeft,
192
+ OverlayRight,
193
+ overlayMargin,
194
+ totalPrice,
195
+ unit: overlayUnit ?? "hours",
196
+ children
197
+ }
198
+ ) : null,
194
199
  description === false ? null : /* @__PURE__ */ jsx(DescriptionComponent, { description, locales }),
195
200
  alert ? /* @__PURE__ */ jsx(Alert, { sentiment: alertVariant, title: alertTitle, children: alert }) : null,
196
201
  /* @__PURE__ */ jsx(OverlayContextProvider, { value: providerValue, children: /* @__PURE__ */ jsxs("div", { children: [
197
- children ? /* @__PURE__ */ jsxs(StyledTable, { cellPadding: "0", cellSpacing: "0", "data-testid": "summary", noTotal: hideTotal, ref, children: [
198
- /* @__PURE__ */ jsxs("colgroup", { children: [
199
- /* @__PURE__ */ jsx("col", {}),
200
- /* @__PURE__ */ jsx(PriceCol, {})
201
- ] }),
202
- !hideTimeUnit ? /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
203
- /* @__PURE__ */ jsx("th", { children: /* @__PURE__ */ jsx(TitleComponent, { locales }) }),
204
- /* @__PURE__ */ jsx(StyledPriceCell, { children: /* @__PURE__ */ jsx(TimeCell, { children: /* @__PURE__ */ jsx(CustomUnitInput, { defaultTimeUnit, iteration, setIteration, timeUnits }) }) })
205
- ] }) }) : null,
206
- /* @__PURE__ */ jsx("tbody", { children: Children.map(children, (child, index) => isValidElement(child) ? cloneElement(child, {
207
- discount: discount && !child.props.discount ? discount : child.props.discount,
208
- isLastElement: index === Children.count(children) - 1,
209
- iteration,
210
- productsCallback
211
- }) : child) })
212
- ] }) : null,
213
- !hideTotal ? /* @__PURE__ */ jsxs(EmptyTable, { cellPadding: "0", cellSpacing: "0", children: [
214
- /* @__PURE__ */ jsxs("colgroup", { children: [
215
- /* @__PURE__ */ jsx("col", {}),
216
- /* @__PURE__ */ jsx(PriceCol, {})
217
- ] }),
218
- /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
219
- /* @__PURE__ */ jsx(EmptyCell, { "aria-label": "control" }),
220
- /* @__PURE__ */ jsxs(TotalPriceCell, { hasBorder: false, children: [
221
- isBeta ? /* @__PURE__ */ jsx(BadgeBeta, { long: locales[`estimate.cost.beta.${discount > 0 ? "discount" : "free"}`].length > 25, prominence: "strong", sentiment: "warning", children: `${discount > 0 ? discount * 100 : ""}
222
- ${locales[`estimate.cost.beta.${discount > 0 ? "discount" : "free"}`]}` }) : null,
223
- /* @__PURE__ */ jsx(StyledText, { as: "h3", isBeta, sentiment: "primary", variant: "heading", children: /* @__PURE__ */ jsxs(LineThrough, { isActive: isBeta && (discount === 0 || discount >= 1), children: [
224
- totalValue,
225
- totalPrice.maxTotal > 0 ? ` - ${totalMaxValue}` : null
226
- ] }) }),
227
- hideHourlyPriceOnTotal && totalPrice.hourly > 0 && totalPrice.hourly !== totalPrice.total && totalPrice.total > 0 ? /* @__PURE__ */ jsx(RightAlignedText, { as: "p", variant: "body", children: /* @__PURE__ */ jsxs(LineThrough, { isActive: isBeta && (discount === 0 || discount >= 1), children: [
228
- formatNumber(totalPrice.hourly, {
229
- maximumFractionDigits: isLongFractionDigits ? maximumFractionDigitsLong.hours : maximumFractionDigits.hours
230
- }),
231
- totalPrice.maxHourly > 0 ? ` - ${formatNumber(totalPrice.maxHourly, {
232
- maximumFractionDigits: isLongFractionDigits ? maximumFractionDigitsLong.hours : maximumFractionDigits.hours
233
- })}` : null,
234
- "/",
235
- locales[`estimate.cost.units.hours.label`].toLowerCase()
236
- ] }) }) : null
237
- ] })
238
- ] }) })
239
- ] }) : null,
202
+ children ? /* @__PURE__ */ jsxs(
203
+ "table",
204
+ {
205
+ cellPadding: "0",
206
+ cellSpacing: "0",
207
+ className: estimateCostTable[hideTotal ? "noTotal" : "total"],
208
+ "data-testid": "summary",
209
+ ref,
210
+ children: [
211
+ /* @__PURE__ */ jsxs("colgroup", { children: [
212
+ /* @__PURE__ */ jsx("col", {}),
213
+ /* @__PURE__ */ jsx("col", { className: estimateCostPriceColumn })
214
+ ] }),
215
+ !hideTimeUnit ? /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
216
+ /* @__PURE__ */ jsx("th", { children: /* @__PURE__ */ jsx(TitleComponent, { locales }) }),
217
+ /* @__PURE__ */ jsx(
218
+ "th",
219
+ {
220
+ className: `${estimateCostPriceCellContent} ${estimateCostPriceCell}`,
221
+ children: /* @__PURE__ */ jsx("div", { className: estimateCostTimeCell, children: /* @__PURE__ */ jsx(
222
+ CustomUnitInput,
223
+ {
224
+ defaultTimeUnit,
225
+ iteration,
226
+ setIteration,
227
+ timeUnits
228
+ }
229
+ ) })
230
+ }
231
+ )
232
+ ] }) }) : null,
233
+ /* @__PURE__ */ jsx("tbody", { children: Children.map(
234
+ children,
235
+ (child, index) => isValidElement(child) ? cloneElement(child, {
236
+ discount: discount && !child.props.discount ? discount : child.props.discount,
237
+ isLastElement: index === Children.count(children) - 1,
238
+ iteration,
239
+ productsCallback
240
+ }) : child
241
+ ) })
242
+ ]
243
+ }
244
+ ) : null,
245
+ !hideTotal ? /* @__PURE__ */ jsxs(
246
+ "table",
247
+ {
248
+ cellPadding: "0",
249
+ cellSpacing: "0",
250
+ className: estimateCostEmptyTable,
251
+ children: [
252
+ /* @__PURE__ */ jsxs("colgroup", { children: [
253
+ /* @__PURE__ */ jsx("col", {}),
254
+ /* @__PURE__ */ jsx("col", { className: estimateCostPriceColumn })
255
+ ] }),
256
+ /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
257
+ /* @__PURE__ */ jsx("td", { "aria-label": "control", className: estimateCostEmptyCell }),
258
+ /* @__PURE__ */ jsxs(
259
+ "td",
260
+ {
261
+ className: `${estimateCostCell({ hasBorder: false, primary: false })} ${estimateCostTotalPriceCell}`,
262
+ style: assignInlineVars({
263
+ [paddingLeftCell]: `16px`
264
+ }),
265
+ children: [
266
+ isBeta ? /* @__PURE__ */ jsx(
267
+ Badge,
268
+ {
269
+ className: estimateCostBadgeBeta[locales[`estimate.cost.beta.${discount > 0 ? "discount" : "free"}`].length > 25 ? "long" : "short"],
270
+ prominence: "strong",
271
+ sentiment: "warning",
272
+ children: `${discount > 0 ? discount * 100 : ""}
273
+ ${locales[`estimate.cost.beta.${discount > 0 ? "discount" : "free"}`]}`
274
+ }
275
+ ) : null,
276
+ /* @__PURE__ */ jsx(
277
+ Text,
278
+ {
279
+ as: "h3",
280
+ className: estimateCostText[isBeta ? "beta" : "notBeta"],
281
+ sentiment: "primary",
282
+ variant: "heading",
283
+ children: /* @__PURE__ */ jsxs(
284
+ LineThrough,
285
+ {
286
+ isActive: isBeta && (discount === 0 || discount >= 1),
287
+ children: [
288
+ totalValue,
289
+ totalPrice.maxTotal > 0 ? ` - ${totalMaxValue}` : null
290
+ ]
291
+ }
292
+ )
293
+ }
294
+ ),
295
+ hideHourlyPriceOnTotal && totalPrice.hourly > 0 && totalPrice.hourly !== totalPrice.total && totalPrice.total > 0 ? /* @__PURE__ */ jsx(Text, { as: "p", placement: "right", variant: "body", children: /* @__PURE__ */ jsxs(
296
+ LineThrough,
297
+ {
298
+ isActive: isBeta && (discount === 0 || discount >= 1),
299
+ children: [
300
+ formatNumber(totalPrice.hourly, {
301
+ maximumFractionDigits: isLongFractionDigits ? maximumFractionDigitsLong.hours : maximumFractionDigits.hours
302
+ }),
303
+ totalPrice.maxHourly > 0 ? ` - ${formatNumber(totalPrice.maxHourly, {
304
+ maximumFractionDigits: isLongFractionDigits ? maximumFractionDigitsLong.hours : maximumFractionDigits.hours
305
+ })}` : null,
306
+ "/",
307
+ locales[`estimate.cost.units.hours.label`].toLowerCase()
308
+ ]
309
+ }
310
+ ) }) : null
311
+ ]
312
+ }
313
+ )
314
+ ] }) })
315
+ ]
316
+ }
317
+ ) : null,
240
318
  commitmentFees !== void 0 || monthlyFees !== void 0 ? /* @__PURE__ */ jsxs(Fragment, { children: [
241
- /* @__PURE__ */ jsx(FeesText, { as: "h3", variant: "headingSmall", children: locales[`estimate.cost.fees.${commitmentFees ? "oneTime" : "monthly"}.title`] }),
242
- /* @__PURE__ */ jsx(StyledFeesTable, { children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsx(Item, { isLastElement: true, label: commitmentFees ? locales["estimate.cost.fees.commitment"] : monthlyFeesLabel, noIteration: true, price: commitmentFees || monthlyFees, productsCallback: {
243
- add: () => {
244
- },
245
- remove: () => {
319
+ /* @__PURE__ */ jsx(
320
+ Text,
321
+ {
322
+ as: "h3",
323
+ className: estimatecostFeesText,
324
+ variant: "headingSmall",
325
+ children: locales[`estimate.cost.fees.${commitmentFees ? "oneTime" : "monthly"}.title`]
326
+ }
327
+ ),
328
+ /* @__PURE__ */ jsx("table", { className: estimateCostFeesTable, children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsx(
329
+ Item,
330
+ {
331
+ isLastElement: true,
332
+ label: commitmentFees ? locales["estimate.cost.fees.commitment"] : monthlyFeesLabel,
333
+ noIteration: true,
334
+ price: commitmentFees || monthlyFees,
335
+ productsCallback: {
336
+ add: () => {
337
+ },
338
+ remove: () => {
339
+ }
340
+ },
341
+ children: commitmentFees ? commitmentFeesContent : monthlyFeesContent
246
342
  }
247
- }, children: commitmentFees ? commitmentFeesContent : monthlyFeesContent }) }) })
343
+ ) }) })
248
344
  ] }) : null
249
345
  ] }) })
250
346
  ] });