@salutejs/plasma-new-hope 0.252.0-canary.1738.13067280086.0 → 0.253.0-canary.1719.13069931199.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 (115) hide show
  1. package/cjs/components/TextField/TextField.js +1 -1
  2. package/cjs/components/TextField/TextField.js.map +1 -1
  3. package/cjs/components/Toast/Toast.css +7 -7
  4. package/cjs/components/Toast/Toast.js +5 -2
  5. package/cjs/components/Toast/Toast.js.map +1 -1
  6. package/cjs/components/Toast/Toast.styles.js +11 -2
  7. package/cjs/components/Toast/Toast.styles.js.map +1 -1
  8. package/cjs/components/Toast/{Toast.styles_1nei944.css → Toast.styles_1kasmzh.css} +2 -2
  9. package/cjs/components/Toast/Toast.tokens.js +2 -1
  10. package/cjs/components/Toast/Toast.tokens.js.map +1 -1
  11. package/cjs/components/Toast/ToastController.css +6 -6
  12. package/cjs/components/Toast/ToastController.js +1 -13
  13. package/cjs/components/Toast/ToastController.js.map +1 -1
  14. package/cjs/components/Toast/ToastProvider/ToastProvider.js +22 -4
  15. package/cjs/components/Toast/ToastProvider/ToastProvider.js.map +1 -1
  16. package/cjs/components/Toast/utils.js +2 -0
  17. package/cjs/components/Toast/utils.js.map +1 -1
  18. package/cjs/components/Toast/variations/_pilled/base.js +1 -1
  19. package/cjs/components/Toast/variations/_pilled/base.js.map +1 -1
  20. package/cjs/components/Toast/variations/_pilled/base_13i59v3.css +1 -0
  21. package/cjs/index.css +8 -8
  22. package/emotion/cjs/components/TextField/TextField.js +2 -2
  23. package/emotion/cjs/components/Toast/Toast.js +5 -2
  24. package/emotion/cjs/components/Toast/Toast.styles.js +9 -6
  25. package/emotion/cjs/components/Toast/Toast.template-doc.mdx +22 -5
  26. package/emotion/cjs/components/Toast/Toast.tokens.js +2 -1
  27. package/emotion/cjs/components/Toast/ToastController.js +3 -16
  28. package/emotion/cjs/components/Toast/ToastProvider/ToastProvider.js +22 -4
  29. package/emotion/cjs/components/Toast/utils.js +2 -1
  30. package/emotion/cjs/components/Toast/variations/_pilled/base.js +1 -1
  31. package/emotion/cjs/examples/plasma_b2c/components/Toast/Toast.config.js +17 -7
  32. package/emotion/cjs/examples/plasma_b2c/components/Toast/Toast.stories.tsx +31 -14
  33. package/emotion/cjs/examples/plasma_web/components/Toast/Toast.config.js +17 -7
  34. package/emotion/cjs/examples/plasma_web/components/Toast/Toast.stories.tsx +31 -14
  35. package/emotion/es/components/TextField/TextField.js +2 -2
  36. package/emotion/es/components/Toast/Toast.js +5 -2
  37. package/emotion/es/components/Toast/Toast.styles.js +9 -6
  38. package/emotion/es/components/Toast/Toast.template-doc.mdx +22 -5
  39. package/emotion/es/components/Toast/Toast.tokens.js +2 -1
  40. package/emotion/es/components/Toast/ToastController.js +2 -14
  41. package/emotion/es/components/Toast/ToastProvider/ToastProvider.js +23 -5
  42. package/emotion/es/components/Toast/utils.js +1 -0
  43. package/emotion/es/components/Toast/variations/_pilled/base.js +1 -1
  44. package/emotion/es/examples/plasma_b2c/components/Toast/Toast.config.js +17 -7
  45. package/emotion/es/examples/plasma_b2c/components/Toast/Toast.stories.tsx +31 -14
  46. package/emotion/es/examples/plasma_web/components/Toast/Toast.config.js +17 -7
  47. package/emotion/es/examples/plasma_web/components/Toast/Toast.stories.tsx +31 -14
  48. package/es/components/TextField/TextField.js +1 -1
  49. package/es/components/TextField/TextField.js.map +1 -1
  50. package/es/components/Toast/Toast.css +7 -7
  51. package/es/components/Toast/Toast.js +5 -2
  52. package/es/components/Toast/Toast.js.map +1 -1
  53. package/es/components/Toast/Toast.styles.js +11 -2
  54. package/es/components/Toast/Toast.styles.js.map +1 -1
  55. package/es/components/Toast/{Toast.styles_1nei944.css → Toast.styles_1kasmzh.css} +2 -2
  56. package/es/components/Toast/Toast.tokens.js +2 -1
  57. package/es/components/Toast/Toast.tokens.js.map +1 -1
  58. package/es/components/Toast/ToastController.css +6 -6
  59. package/es/components/Toast/ToastController.js +2 -14
  60. package/es/components/Toast/ToastController.js.map +1 -1
  61. package/es/components/Toast/ToastProvider/ToastProvider.js +23 -5
  62. package/es/components/Toast/ToastProvider/ToastProvider.js.map +1 -1
  63. package/es/components/Toast/utils.js +2 -1
  64. package/es/components/Toast/utils.js.map +1 -1
  65. package/es/components/Toast/variations/_pilled/base.js +1 -1
  66. package/es/components/Toast/variations/_pilled/base.js.map +1 -1
  67. package/es/components/Toast/variations/_pilled/base_13i59v3.css +1 -0
  68. package/es/index.css +8 -8
  69. package/package.json +2 -2
  70. package/styled-components/cjs/components/TextField/TextField.js +1 -1
  71. package/styled-components/cjs/components/Toast/Toast.js +5 -2
  72. package/styled-components/cjs/components/Toast/Toast.styles.js +5 -2
  73. package/styled-components/cjs/components/Toast/Toast.template-doc.mdx +22 -5
  74. package/styled-components/cjs/components/Toast/Toast.tokens.js +2 -1
  75. package/styled-components/cjs/components/Toast/ToastController.js +3 -16
  76. package/styled-components/cjs/components/Toast/ToastProvider/ToastProvider.js +22 -4
  77. package/styled-components/cjs/components/Toast/utils.js +2 -1
  78. package/styled-components/cjs/components/Toast/variations/_pilled/base.js +1 -1
  79. package/styled-components/cjs/examples/plasma_b2c/components/Toast/Toast.config.js +12 -2
  80. package/styled-components/cjs/examples/plasma_b2c/components/Toast/Toast.stories.tsx +31 -14
  81. package/styled-components/cjs/examples/plasma_web/components/Toast/Toast.config.js +12 -2
  82. package/styled-components/cjs/examples/plasma_web/components/Toast/Toast.stories.tsx +31 -14
  83. package/styled-components/es/components/TextField/TextField.js +1 -1
  84. package/styled-components/es/components/Toast/Toast.js +5 -2
  85. package/styled-components/es/components/Toast/Toast.styles.js +5 -2
  86. package/styled-components/es/components/Toast/Toast.template-doc.mdx +22 -5
  87. package/styled-components/es/components/Toast/Toast.tokens.js +2 -1
  88. package/styled-components/es/components/Toast/ToastController.js +2 -14
  89. package/styled-components/es/components/Toast/ToastProvider/ToastProvider.js +23 -5
  90. package/styled-components/es/components/Toast/utils.js +1 -0
  91. package/styled-components/es/components/Toast/variations/_pilled/base.js +1 -1
  92. package/styled-components/es/examples/plasma_b2c/components/Toast/Toast.config.js +12 -2
  93. package/styled-components/es/examples/plasma_b2c/components/Toast/Toast.stories.tsx +31 -14
  94. package/styled-components/es/examples/plasma_web/components/Toast/Toast.config.js +12 -2
  95. package/styled-components/es/examples/plasma_web/components/Toast/Toast.stories.tsx +31 -14
  96. package/types/components/Toast/Toast.styles.d.ts +3 -1
  97. package/types/components/Toast/Toast.styles.d.ts.map +1 -1
  98. package/types/components/Toast/Toast.tokens.d.ts +2 -1
  99. package/types/components/Toast/Toast.tokens.d.ts.map +1 -1
  100. package/types/components/Toast/Toast.types.d.ts +8 -0
  101. package/types/components/Toast/Toast.types.d.ts.map +1 -1
  102. package/types/components/Toast/ToastController.d.ts.map +1 -1
  103. package/types/components/Toast/ToastProvider/ToastProvider.d.ts.map +1 -1
  104. package/types/components/Toast/utils.d.ts +1 -0
  105. package/types/components/Toast/utils.d.ts.map +1 -1
  106. package/types/examples/plasma_b2c/components/Toast/Toast.config.d.ts +10 -0
  107. package/types/examples/plasma_b2c/components/Toast/Toast.config.d.ts.map +1 -1
  108. package/types/examples/plasma_b2c/components/Toast/Toast.d.ts +2 -0
  109. package/types/examples/plasma_b2c/components/Toast/Toast.d.ts.map +1 -1
  110. package/types/examples/plasma_web/components/Toast/Toast.config.d.ts +10 -0
  111. package/types/examples/plasma_web/components/Toast/Toast.config.d.ts.map +1 -1
  112. package/types/examples/plasma_web/components/Toast/Toast.d.ts +2 -0
  113. package/types/examples/plasma_web/components/Toast/Toast.d.ts.map +1 -1
  114. package/cjs/components/Toast/variations/_pilled/base_199qghc.css +0 -1
  115. package/es/components/Toast/variations/_pilled/base_199qghc.css +0 -1
@@ -121,6 +121,9 @@ var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
121
121
  size = _getShowToastCallSign.size,
122
122
  view = _getShowToastCallSign.view,
123
123
  width = _getShowToastCallSign.width,
124
+ _getShowToastCallSign4 = _getShowToastCallSign.closeIconType,
125
+ closeIconType = _getShowToastCallSign4 === void 0 ? utils.DEFAULT_CLOSE_ICON_TYPE : _getShowToastCallSign4,
126
+ textColor = _getShowToastCallSign.textColor,
124
127
  onHide = _getShowToastCallSign.onHide,
125
128
  onShow = _getShowToastCallSign.onShow;
126
129
  setToastProps({
@@ -134,7 +137,9 @@ var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
134
137
  pilled: pilled,
135
138
  hasClose: hasClose,
136
139
  size: size,
137
- view: view
140
+ view: view,
141
+ closeIconType: closeIconType,
142
+ textColor: textColor
138
143
  });
139
144
  setToastInfo({
140
145
  timeout: timeout,
@@ -148,13 +153,13 @@ var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
148
153
  var onHide = toastInfo.onHide,
149
154
  timeout = toastInfo.timeout;
150
155
  var hideToast = React.useCallback(function () {
151
- if (!isVisible) {
152
- return;
153
- }
154
156
  if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
155
157
  clearTimeout(hideTimeout.current);
156
158
  hideTimeout.current = null;
157
159
  }
160
+ if (!isVisible) {
161
+ return;
162
+ }
158
163
  onHide === null || onHide === void 0 || onHide();
159
164
  setIsVisible(false);
160
165
  animationRunTimeout.current = setTimeout(function () {
@@ -167,13 +172,26 @@ var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
167
172
  clearTimeout(animationRunTimeout.current);
168
173
  animationRunTimeout.current = null;
169
174
  }
175
+ return function () {
176
+ if (animationRunTimeout !== null && animationRunTimeout !== void 0 && animationRunTimeout.current) {
177
+ clearTimeout(animationRunTimeout.current);
178
+ }
179
+ };
170
180
  }, [timeout]);
181
+
182
+ // очистка таймаутов перенесена из ToastController, т. к. в StrictМоde react делает дополнительный unmount
171
183
  React.useEffect(function () {
172
184
  if (timeout && isVisible) {
173
185
  hideTimeout.current = setTimeout(function () {
174
186
  hideToast();
175
187
  }, timeout);
176
188
  }
189
+ return function () {
190
+ if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
191
+ clearTimeout(hideTimeout.current);
192
+ hideTimeout.current = null;
193
+ }
194
+ };
177
195
  }, [isVisible, timeout]);
178
196
  return /*#__PURE__*/React__default.default.createElement(ToastContext.Provider, {
179
197
  value: {
@@ -1 +1 @@
1
- {"version":3,"file":"ToastProvider.js","sources":["../../../../src/components/Toast/ToastProvider/ToastProvider.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport type { ReactNode, FC } from 'react';\n\nimport type { CustomToastProps, ToastControllerProps, ToastProps } from '../Toast.types';\nimport { DEFAULT_FADE, DEFAULT_POSITION, TIMER_DELAY } from '../utils';\n\nimport type { ShowToast, ShowToastArgs, ShowToastCallSignature, ToastContextType } from './ToastProvider.types';\n\nexport const ToastContext = createContext<ToastContextType | null>(null);\n\nexport const useToastInner = () => {\n const context = useContext(ToastContext);\n if (!context) {\n throw new Error('useToast must be used within a ToastProvider');\n }\n return context;\n};\n\nexport const useToast = () => {\n const { showToast, hideToast } = useToastInner();\n return { showToast, hideToast };\n};\n\nconst initialToastData = {\n text: undefined,\n offset: undefined,\n position: DEFAULT_POSITION,\n fade: DEFAULT_FADE,\n timeout: undefined,\n contentLeft: undefined,\n role: undefined,\n pilled: undefined,\n hasClose: undefined,\n width: undefined,\n size: 'm',\n view: 'primary',\n} as CustomToastProps;\n\nconst getShowToastCallSignature = (args: ShowToastCallSignature) => {\n if (typeof args[0] === 'object' && 'text' in args[0]) {\n return args[0];\n }\n\n // TODO: issue https://github.com/salute-developers/plasma/issues/333\n const [text, position, timeout, fade, contentLeft, role, offset, pilled, width, hasClose, size, view] = args;\n\n return { text, position, timeout, fade, contentLeft, role, offset, pilled, width, hasClose, size, view };\n};\n\nexport const ToastProviderHoc = <T extends ToastProps>(ToastComponent: FC<T>) =>\n function ToastProvider({ children }: { children: ReactNode }) {\n const [isVisible, setIsVisible] = useState(false);\n const [isHidden, setIsHidden] = useState(true);\n const hideTimeout = useRef<number | null>(null);\n const animationRunTimeout = useRef<number | null>(null);\n\n const [toastProps, setToastProps] = useState<ToastControllerProps>(initialToastData);\n const [toastInfo, setToastInfo] = useState<Pick<ShowToastArgs, 'timeout' | 'onHide'>>({\n timeout: undefined,\n onHide: undefined,\n });\n\n const showToastCallback: ShowToast = (...args: ShowToastCallSignature) => {\n if (isVisible) {\n return;\n }\n\n const {\n text,\n offset,\n position = DEFAULT_POSITION,\n fade = DEFAULT_FADE,\n timeout,\n contentLeft,\n role,\n pilled,\n hasClose,\n size,\n view,\n width,\n onHide,\n onShow,\n } = getShowToastCallSignature(args);\n\n setToastProps({\n text,\n width,\n position,\n offset,\n fade,\n contentLeft,\n role,\n pilled,\n hasClose,\n size,\n view,\n });\n\n setToastInfo({ timeout, onHide });\n\n setIsHidden(false);\n setIsVisible(true);\n onShow?.();\n };\n\n const showToast = useCallback(showToastCallback, []);\n\n const { onHide, timeout } = toastInfo;\n\n const hideToast = useCallback(() => {\n if (!isVisible) {\n return;\n }\n\n if (hideTimeout?.current) {\n clearTimeout(hideTimeout.current);\n hideTimeout.current = null;\n }\n\n onHide?.();\n setIsVisible(false);\n\n animationRunTimeout.current = setTimeout(() => {\n setIsHidden(true);\n setToastProps(initialToastData);\n }, TIMER_DELAY);\n }, [onHide, isVisible, isHidden]);\n\n useEffect(() => {\n if (timeout === null && animationRunTimeout.current !== null) {\n clearTimeout(animationRunTimeout.current);\n animationRunTimeout.current = null;\n }\n }, [timeout]);\n\n useEffect(() => {\n if (timeout && isVisible) {\n hideTimeout.current = setTimeout(() => {\n hideToast();\n }, timeout);\n }\n }, [isVisible, timeout]);\n\n return (\n <ToastContext.Provider value={{ showToast, hideToast, isVisible, hideTimeout, animationRunTimeout }}>\n {children}\n {!isHidden && <ToastComponent {...(toastProps as T)} />}\n </ToastContext.Provider>\n );\n };\n"],"names":["ToastContext","createContext","useToastInner","context","useContext","Error","useToast","_useToastInner","showToast","hideToast","initialToastData","text","undefined","offset","position","DEFAULT_POSITION","fade","DEFAULT_FADE","timeout","contentLeft","role","pilled","hasClose","width","size","view","getShowToastCallSignature","args","_typeof","_args","_slicedToArray","ToastProviderHoc","ToastComponent","ToastProvider","_ref","children","_useState","useState","_useState2","isVisible","setIsVisible","_useState3","_useState4","isHidden","setIsHidden","hideTimeout","useRef","animationRunTimeout","_useState5","_useState6","toastProps","setToastProps","_useState7","onHide","_useState8","toastInfo","setToastInfo","showToastCallback","_len","arguments","length","Array","_key","_getShowToastCallSign","_getShowToastCallSign2","_getShowToastCallSign3","onShow","useCallback","current","clearTimeout","setTimeout","TIMER_DELAY","useEffect","React","createElement","Provider","value"],"mappings":";;;;;;;;;;;;IAQaA,YAAY,gBAAGC,mBAAa,CAA0B,IAAI,EAAC;IAE3DC,aAAa,GAAG,SAAhBA,aAAaA,GAAS;AAC/B,EAAA,IAAMC,OAAO,GAAGC,gBAAU,CAACJ,YAAY,CAAC,CAAA;EACxC,IAAI,CAACG,OAAO,EAAE;AACV,IAAA,MAAM,IAAIE,KAAK,CAAC,8CAA8C,CAAC,CAAA;AACnE,GAAA;AACA,EAAA,OAAOF,OAAO,CAAA;AAClB,EAAC;IAEYG,QAAQ,GAAG,SAAXA,QAAQA,GAAS;AAC1B,EAAA,IAAAC,cAAA,GAAiCL,aAAa,EAAE;IAAxCM,SAAS,GAAAD,cAAA,CAATC,SAAS;IAAEC,SAAS,GAAAF,cAAA,CAATE,SAAS,CAAA;EAC5B,OAAO;AAAED,IAAAA,SAAS,EAATA,SAAS;AAAEC,IAAAA,SAAS,EAATA,SAAAA;GAAW,CAAA;AACnC,EAAC;AAED,IAAMC,gBAAgB,GAAG;AACrBC,EAAAA,IAAI,EAAEC,SAAS;AACfC,EAAAA,MAAM,EAAED,SAAS;AACjBE,EAAAA,QAAQ,EAAEC,sBAAgB;AAC1BC,EAAAA,IAAI,EAAEC,kBAAY;AAClBC,EAAAA,OAAO,EAAEN,SAAS;AAClBO,EAAAA,WAAW,EAAEP,SAAS;AACtBQ,EAAAA,IAAI,EAAER,SAAS;AACfS,EAAAA,MAAM,EAAET,SAAS;AACjBU,EAAAA,QAAQ,EAAEV,SAAS;AACnBW,EAAAA,KAAK,EAAEX,SAAS;AAChBY,EAAAA,IAAI,EAAE,GAAG;AACTC,EAAAA,IAAI,EAAE,SAAA;AACV,CAAqB,CAAA;AAErB,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAIC,IAA4B,EAAK;AAChE,EAAA,IAAIC,gCAAA,CAAOD,IAAI,CAAC,CAAC,CAAC,CAAA,KAAK,QAAQ,IAAI,MAAM,IAAIA,IAAI,CAAC,CAAC,CAAC,EAAE;IAClD,OAAOA,IAAI,CAAC,CAAC,CAAC,CAAA;AAClB,GAAA;;AAEA;AACA,EAAA,IAAAE,KAAA,GAAAC,uCAAA,CAAwGH,IAAI,EAAA,EAAA,CAAA;AAArGhB,IAAAA,IAAI,GAAAkB,KAAA,CAAA,CAAA,CAAA;AAAEf,IAAAA,QAAQ,GAAAe,KAAA,CAAA,CAAA,CAAA;AAAEX,IAAAA,OAAO,GAAAW,KAAA,CAAA,CAAA,CAAA;AAAEb,IAAAA,IAAI,GAAAa,KAAA,CAAA,CAAA,CAAA;AAAEV,IAAAA,WAAW,GAAAU,KAAA,CAAA,CAAA,CAAA;AAAET,IAAAA,IAAI,GAAAS,KAAA,CAAA,CAAA,CAAA;AAAEhB,IAAAA,MAAM,GAAAgB,KAAA,CAAA,CAAA,CAAA;AAAER,IAAAA,MAAM,GAAAQ,KAAA,CAAA,CAAA,CAAA;AAAEN,IAAAA,KAAK,GAAAM,KAAA,CAAA,CAAA,CAAA;AAAEP,IAAAA,QAAQ,GAAAO,KAAA,CAAA,CAAA,CAAA;AAAEL,IAAAA,IAAI,GAAAK,KAAA,CAAA,EAAA,CAAA;AAAEJ,IAAAA,IAAI,GAAAI,KAAA,CAAA,EAAA,CAAA,CAAA;EAEpG,OAAO;AAAElB,IAAAA,IAAI,EAAJA,IAAI;AAAEG,IAAAA,QAAQ,EAARA,QAAQ;AAAEI,IAAAA,OAAO,EAAPA,OAAO;AAAEF,IAAAA,IAAI,EAAJA,IAAI;AAAEG,IAAAA,WAAW,EAAXA,WAAW;AAAEC,IAAAA,IAAI,EAAJA,IAAI;AAAEP,IAAAA,MAAM,EAANA,MAAM;AAAEQ,IAAAA,MAAM,EAANA,MAAM;AAAEE,IAAAA,KAAK,EAALA,KAAK;AAAED,IAAAA,QAAQ,EAARA,QAAQ;AAAEE,IAAAA,IAAI,EAAJA,IAAI;AAAEC,IAAAA,IAAI,EAAJA,IAAAA;GAAM,CAAA;AAC5G,CAAC,CAAA;IAEYM,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAA0BC,cAAqB,EAAA;AAAA,EAAA,OACxE,SAASC,aAAaA,CAAAC,IAAA,EAAwC;AAAA,IAAA,IAArCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ,CAAA;AAC7B,IAAA,IAAAC,SAAA,GAAkCC,cAAQ,CAAC,KAAK,CAAC;MAAAC,UAAA,GAAAR,uCAAA,CAAAM,SAAA,EAAA,CAAA,CAAA;AAA1CG,MAAAA,SAAS,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,IAAA,IAAAG,UAAA,GAAgCJ,cAAQ,CAAC,IAAI,CAAC;MAAAK,UAAA,GAAAZ,uCAAA,CAAAW,UAAA,EAAA,CAAA,CAAA;AAAvCE,MAAAA,QAAQ,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC5B,IAAA,IAAMG,WAAW,GAAGC,YAAM,CAAgB,IAAI,CAAC,CAAA;AAC/C,IAAA,IAAMC,mBAAmB,GAAGD,YAAM,CAAgB,IAAI,CAAC,CAAA;AAEvD,IAAA,IAAAE,UAAA,GAAoCX,cAAQ,CAAuB3B,gBAAgB,CAAC;MAAAuC,UAAA,GAAAnB,uCAAA,CAAAkB,UAAA,EAAA,CAAA,CAAA;AAA7EE,MAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAChC,IAAAG,UAAA,GAAkCf,cAAQ,CAA4C;AAClFnB,QAAAA,OAAO,EAAEN,SAAS;AAClByC,QAAAA,MAAM,EAAEzC,SAAAA;AACZ,OAAC,CAAC;MAAA0C,UAAA,GAAAxB,uCAAA,CAAAsB,UAAA,EAAA,CAAA,CAAA;AAHKG,MAAAA,SAAS,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAK9B,IAAA,IAAMG,iBAA4B,GAAG,SAA/BA,iBAA4BA,GAAwC;AACtE,MAAA,IAAIlB,SAAS,EAAE;AACX,QAAA,OAAA;AACJ,OAAA;AAAC,MAAA,KAAA,IAAAmB,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAHoCjC,IAAI,GAAAkC,IAAAA,KAAA,CAAAH,IAAA,GAAAI,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA,EAAA,EAAA;AAAJnC,QAAAA,IAAI,CAAAmC,IAAA,CAAAH,GAAAA,SAAA,CAAAG,IAAA,CAAA,CAAA;AAAA,OAAA;AAKzC,MAAA,IAAAC,qBAAA,GAeIrC,yBAAyB,CAACC,IAAI,CAAC;QAd/BhB,IAAI,GAAAoD,qBAAA,CAAJpD,IAAI;QACJE,MAAM,GAAAkD,qBAAA,CAANlD,MAAM;QAAAmD,sBAAA,GAAAD,qBAAA,CACNjD,QAAQ;AAARA,QAAAA,QAAQ,GAAAkD,sBAAA,KAAGjD,KAAAA,CAAAA,GAAAA,sBAAgB,GAAAiD,sBAAA;QAAAC,sBAAA,GAAAF,qBAAA,CAC3B/C,IAAI;AAAJA,QAAAA,IAAI,GAAAiD,sBAAA,KAAGhD,KAAAA,CAAAA,GAAAA,kBAAY,GAAAgD,sBAAA;QACnB/C,OAAO,GAAA6C,qBAAA,CAAP7C,OAAO;QACPC,WAAW,GAAA4C,qBAAA,CAAX5C,WAAW;QACXC,IAAI,GAAA2C,qBAAA,CAAJ3C,IAAI;QACJC,MAAM,GAAA0C,qBAAA,CAAN1C,MAAM;QACNC,QAAQ,GAAAyC,qBAAA,CAARzC,QAAQ;QACRE,IAAI,GAAAuC,qBAAA,CAAJvC,IAAI;QACJC,IAAI,GAAAsC,qBAAA,CAAJtC,IAAI;QACJF,KAAK,GAAAwC,qBAAA,CAALxC,KAAK;QACL8B,MAAM,GAAAU,qBAAA,CAANV,MAAM;QACNa,MAAM,GAAAH,qBAAA,CAANG,MAAM,CAAA;AAGVf,MAAAA,aAAa,CAAC;AACVxC,QAAAA,IAAI,EAAJA,IAAI;AACJY,QAAAA,KAAK,EAALA,KAAK;AACLT,QAAAA,QAAQ,EAARA,QAAQ;AACRD,QAAAA,MAAM,EAANA,MAAM;AACNG,QAAAA,IAAI,EAAJA,IAAI;AACJG,QAAAA,WAAW,EAAXA,WAAW;AACXC,QAAAA,IAAI,EAAJA,IAAI;AACJC,QAAAA,MAAM,EAANA,MAAM;AACNC,QAAAA,QAAQ,EAARA,QAAQ;AACRE,QAAAA,IAAI,EAAJA,IAAI;AACJC,QAAAA,IAAI,EAAJA,IAAAA;AACJ,OAAC,CAAC,CAAA;AAEF+B,MAAAA,YAAY,CAAC;AAAEtC,QAAAA,OAAO,EAAPA,OAAO;AAAEmC,QAAAA,MAAM,EAANA,MAAAA;AAAO,OAAC,CAAC,CAAA;MAEjCT,WAAW,CAAC,KAAK,CAAC,CAAA;MAClBJ,YAAY,CAAC,IAAI,CAAC,CAAA;AAClB0B,MAAAA,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,IAAAA,MAAM,EAAI,CAAA;KACb,CAAA;AAED,IAAA,IAAM1D,SAAS,GAAG2D,iBAAW,CAACV,iBAAiB,EAAE,EAAE,CAAC,CAAA;AAEpD,IAAA,IAAQJ,MAAM,GAAcE,SAAS,CAA7BF,MAAM;MAAEnC,OAAO,GAAKqC,SAAS,CAArBrC,OAAO,CAAA;AAEvB,IAAA,IAAMT,SAAS,GAAG0D,iBAAW,CAAC,YAAM;MAChC,IAAI,CAAC5B,SAAS,EAAE;AACZ,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIM,WAAW,KAAXA,IAAAA,IAAAA,WAAW,eAAXA,WAAW,CAAEuB,OAAO,EAAE;AACtBC,QAAAA,YAAY,CAACxB,WAAW,CAACuB,OAAO,CAAC,CAAA;QACjCvB,WAAW,CAACuB,OAAO,GAAG,IAAI,CAAA;AAC9B,OAAA;AAEAf,MAAAA,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,IAAAA,MAAM,EAAI,CAAA;MACVb,YAAY,CAAC,KAAK,CAAC,CAAA;AAEnBO,MAAAA,mBAAmB,CAACqB,OAAO,GAAGE,UAAU,CAAC,YAAM;QAC3C1B,WAAW,CAAC,IAAI,CAAC,CAAA;QACjBO,aAAa,CAACzC,gBAAgB,CAAC,CAAA;OAClC,EAAE6D,iBAAW,CAAC,CAAA;KAClB,EAAE,CAAClB,MAAM,EAAEd,SAAS,EAAEI,QAAQ,CAAC,CAAC,CAAA;AAEjC6B,IAAAA,eAAS,CAAC,YAAM;MACZ,IAAItD,OAAO,KAAK,IAAI,IAAI6B,mBAAmB,CAACqB,OAAO,KAAK,IAAI,EAAE;AAC1DC,QAAAA,YAAY,CAACtB,mBAAmB,CAACqB,OAAO,CAAC,CAAA;QACzCrB,mBAAmB,CAACqB,OAAO,GAAG,IAAI,CAAA;AACtC,OAAA;AACJ,KAAC,EAAE,CAAClD,OAAO,CAAC,CAAC,CAAA;AAEbsD,IAAAA,eAAS,CAAC,YAAM;MACZ,IAAItD,OAAO,IAAIqB,SAAS,EAAE;AACtBM,QAAAA,WAAW,CAACuB,OAAO,GAAGE,UAAU,CAAC,YAAM;AACnC7D,UAAAA,SAAS,EAAE,CAAA;SACd,EAAES,OAAO,CAAC,CAAA;AACf,OAAA;AACJ,KAAC,EAAE,CAACqB,SAAS,EAAErB,OAAO,CAAC,CAAC,CAAA;AAExB,IAAA,oBACIuD,sBAAA,CAAAC,aAAA,CAAC1E,YAAY,CAAC2E,QAAQ,EAAA;AAACC,MAAAA,KAAK,EAAE;AAAEpE,QAAAA,SAAS,EAATA,SAAS;AAAEC,QAAAA,SAAS,EAATA,SAAS;AAAE8B,QAAAA,SAAS,EAATA,SAAS;AAAEM,QAAAA,WAAW,EAAXA,WAAW;AAAEE,QAAAA,mBAAmB,EAAnBA,mBAAAA;AAAoB,OAAA;AAAE,KAAA,EAC/FZ,QAAQ,EACR,CAACQ,QAAQ,iBAAI8B,sBAAA,CAAAC,aAAA,CAAC1C,cAAc,EAAMkB,UAAmB,CACnC,CAAC,CAAA;GAE/B,CAAA;AAAA;;;;;;;"}
1
+ {"version":3,"file":"ToastProvider.js","sources":["../../../../src/components/Toast/ToastProvider/ToastProvider.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport type { ReactNode, FC } from 'react';\n\nimport type { CustomToastProps, ToastControllerProps, ToastProps } from '../Toast.types';\nimport { DEFAULT_CLOSE_ICON_TYPE, DEFAULT_FADE, DEFAULT_POSITION, TIMER_DELAY } from '../utils';\n\nimport type { ShowToast, ShowToastArgs, ShowToastCallSignature, ToastContextType } from './ToastProvider.types';\n\nexport const ToastContext = createContext<ToastContextType | null>(null);\n\nexport const useToastInner = () => {\n const context = useContext(ToastContext);\n if (!context) {\n throw new Error('useToast must be used within a ToastProvider');\n }\n return context;\n};\n\nexport const useToast = () => {\n const { showToast, hideToast } = useToastInner();\n return { showToast, hideToast };\n};\n\nconst initialToastData = {\n text: undefined,\n offset: undefined,\n position: DEFAULT_POSITION,\n fade: DEFAULT_FADE,\n timeout: undefined,\n contentLeft: undefined,\n role: undefined,\n pilled: undefined,\n hasClose: undefined,\n width: undefined,\n size: 'm',\n view: 'primary',\n} as CustomToastProps;\n\nconst getShowToastCallSignature = (args: ShowToastCallSignature) => {\n if (typeof args[0] === 'object' && 'text' in args[0]) {\n return args[0];\n }\n\n // TODO: issue https://github.com/salute-developers/plasma/issues/333\n const [text, position, timeout, fade, contentLeft, role, offset, pilled, width, hasClose, size, view] = args;\n\n return { text, position, timeout, fade, contentLeft, role, offset, pilled, width, hasClose, size, view };\n};\n\nexport const ToastProviderHoc = <T extends ToastProps>(ToastComponent: FC<T>) =>\n function ToastProvider({ children }: { children: ReactNode }) {\n const [isVisible, setIsVisible] = useState(false);\n const [isHidden, setIsHidden] = useState(true);\n const hideTimeout = useRef<number | null>(null);\n const animationRunTimeout = useRef<number | null>(null);\n\n const [toastProps, setToastProps] = useState<ToastControllerProps>(initialToastData);\n const [toastInfo, setToastInfo] = useState<Pick<ShowToastArgs, 'timeout' | 'onHide'>>({\n timeout: undefined,\n onHide: undefined,\n });\n\n const showToastCallback: ShowToast = (...args: ShowToastCallSignature) => {\n if (isVisible) {\n return;\n }\n\n const {\n text,\n offset,\n position = DEFAULT_POSITION,\n fade = DEFAULT_FADE,\n timeout,\n contentLeft,\n role,\n pilled,\n hasClose,\n size,\n view,\n width,\n closeIconType = DEFAULT_CLOSE_ICON_TYPE,\n textColor,\n onHide,\n onShow,\n } = getShowToastCallSignature(args);\n\n setToastProps({\n text,\n width,\n position,\n offset,\n fade,\n contentLeft,\n role,\n pilled,\n hasClose,\n size,\n view,\n closeIconType,\n textColor,\n });\n\n setToastInfo({ timeout, onHide });\n\n setIsHidden(false);\n setIsVisible(true);\n onShow?.();\n };\n\n const showToast = useCallback(showToastCallback, []);\n\n const { onHide, timeout } = toastInfo;\n\n const hideToast = useCallback(() => {\n if (hideTimeout?.current) {\n clearTimeout(hideTimeout.current);\n hideTimeout.current = null;\n }\n\n if (!isVisible) {\n return;\n }\n\n onHide?.();\n setIsVisible(false);\n\n animationRunTimeout.current = setTimeout(() => {\n setIsHidden(true);\n setToastProps(initialToastData);\n }, TIMER_DELAY);\n }, [onHide, isVisible, isHidden]);\n\n useEffect(() => {\n if (timeout === null && animationRunTimeout.current !== null) {\n clearTimeout(animationRunTimeout.current);\n animationRunTimeout.current = null;\n }\n\n return () => {\n if (animationRunTimeout?.current) {\n clearTimeout(animationRunTimeout.current);\n }\n };\n }, [timeout]);\n\n // очистка таймаутов перенесена из ToastController, т. к. в StrictМоde react делает дополнительный unmount\n useEffect(() => {\n if (timeout && isVisible) {\n hideTimeout.current = setTimeout(() => {\n hideToast();\n }, timeout);\n }\n\n return () => {\n if (hideTimeout?.current) {\n clearTimeout(hideTimeout.current);\n hideTimeout.current = null;\n }\n };\n }, [isVisible, timeout]);\n\n return (\n <ToastContext.Provider value={{ showToast, hideToast, isVisible, hideTimeout, animationRunTimeout }}>\n {children}\n {!isHidden && <ToastComponent {...(toastProps as T)} />}\n </ToastContext.Provider>\n );\n };\n"],"names":["ToastContext","createContext","useToastInner","context","useContext","Error","useToast","_useToastInner","showToast","hideToast","initialToastData","text","undefined","offset","position","DEFAULT_POSITION","fade","DEFAULT_FADE","timeout","contentLeft","role","pilled","hasClose","width","size","view","getShowToastCallSignature","args","_typeof","_args","_slicedToArray","ToastProviderHoc","ToastComponent","ToastProvider","_ref","children","_useState","useState","_useState2","isVisible","setIsVisible","_useState3","_useState4","isHidden","setIsHidden","hideTimeout","useRef","animationRunTimeout","_useState5","_useState6","toastProps","setToastProps","_useState7","onHide","_useState8","toastInfo","setToastInfo","showToastCallback","_len","arguments","length","Array","_key","_getShowToastCallSign","_getShowToastCallSign2","_getShowToastCallSign3","_getShowToastCallSign4","closeIconType","DEFAULT_CLOSE_ICON_TYPE","textColor","onShow","useCallback","current","clearTimeout","setTimeout","TIMER_DELAY","useEffect","React","createElement","Provider","value"],"mappings":"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"}
@@ -7,6 +7,7 @@ var Button$1 = require('../Button/Button.js');
7
7
 
8
8
  var DEFAULT_FADE = true;
9
9
  var DEFAULT_POSITION = 'bottom';
10
+ var DEFAULT_CLOSE_ICON_TYPE = 'default';
10
11
  var TIMER_DELAY = 300;
11
12
  var FADE_Z_INDEX = '9900';
12
13
  var gradients = {
@@ -17,6 +18,7 @@ var mergedButtonConfig = /*#__PURE__*/common.mergeConfig(Button$1.buttonConfig);
17
18
  var Button = /*#__PURE__*/common.component(mergedButtonConfig);
18
19
 
19
20
  exports.Button = Button;
21
+ exports.DEFAULT_CLOSE_ICON_TYPE = DEFAULT_CLOSE_ICON_TYPE;
20
22
  exports.DEFAULT_FADE = DEFAULT_FADE;
21
23
  exports.DEFAULT_POSITION = DEFAULT_POSITION;
22
24
  exports.FADE_Z_INDEX = FADE_Z_INDEX;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/components/Toast/utils.ts"],"sourcesContent":["import { buttonConfig } from '../Button';\nimport { component, mergeConfig } from '../../engines';\n\nexport const DEFAULT_FADE = true;\nexport const DEFAULT_POSITION = 'bottom';\nexport const TIMER_DELAY = 300;\nexport const FADE_Z_INDEX = '9900';\nexport const TOAST_Z_INDEX = '9901';\n\nexport const gradients = {\n top: 'radial-gradient(200% 200% at 50% -100%, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%)',\n bottom: 'radial-gradient(200% 200% at 50% 200%, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%)',\n};\n\nconst mergedButtonConfig = mergeConfig(buttonConfig);\nexport const Button = component(mergedButtonConfig);\n"],"names":["DEFAULT_FADE","DEFAULT_POSITION","TIMER_DELAY","FADE_Z_INDEX","gradients","top","bottom","mergedButtonConfig","mergeConfig","buttonConfig","Button","component"],"mappings":";;;;;;;AAGO,IAAMA,YAAY,GAAG,KAAI;AACzB,IAAMC,gBAAgB,GAAG,SAAQ;AACjC,IAAMC,WAAW,GAAG,IAAG;AACvB,IAAMC,YAAY,GAAG,OAAM;AAG3B,IAAMC,SAAS,GAAG;AACrBC,EAAAA,GAAG,EAAE,uFAAuF;AAC5FC,EAAAA,MAAM,EAAE,sFAAA;AACZ,EAAC;AAED,IAAMC,kBAAkB,gBAAGC,kBAAW,CAACC,qBAAY,CAAC,CAAA;IACvCC,MAAM,gBAAGC,gBAAS,CAACJ,kBAAkB;;;;;;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../src/components/Toast/utils.ts"],"sourcesContent":["import { buttonConfig } from '../Button';\nimport { component, mergeConfig } from '../../engines';\n\nexport const DEFAULT_FADE = true;\nexport const DEFAULT_POSITION = 'bottom';\nexport const DEFAULT_CLOSE_ICON_TYPE = 'default';\nexport const TIMER_DELAY = 300;\nexport const FADE_Z_INDEX = '9900';\nexport const TOAST_Z_INDEX = '9901';\n\nexport const gradients = {\n top: 'radial-gradient(200% 200% at 50% -100%, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%)',\n bottom: 'radial-gradient(200% 200% at 50% 200%, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%)',\n};\n\nconst mergedButtonConfig = mergeConfig(buttonConfig);\nexport const Button = component(mergedButtonConfig);\n"],"names":["DEFAULT_FADE","DEFAULT_POSITION","DEFAULT_CLOSE_ICON_TYPE","TIMER_DELAY","FADE_Z_INDEX","gradients","top","bottom","mergedButtonConfig","mergeConfig","buttonConfig","Button","component"],"mappings":";;;;;;;AAGO,IAAMA,YAAY,GAAG,KAAI;AACzB,IAAMC,gBAAgB,GAAG,SAAQ;AACjC,IAAMC,uBAAuB,GAAG,UAAS;AACzC,IAAMC,WAAW,GAAG,IAAG;AACvB,IAAMC,YAAY,GAAG,OAAM;AAG3B,IAAMC,SAAS,GAAG;AACrBC,EAAAA,GAAG,EAAE,uFAAuF;AAC5FC,EAAAA,MAAM,EAAE,sFAAA;AACZ,EAAC;AAED,IAAMC,kBAAkB,gBAAGC,kBAAW,CAACC,qBAAY,CAAC,CAAA;IACvCC,MAAM,gBAAGC,gBAAS,CAACJ,kBAAkB;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- require('./base_199qghc.css');
1
+ require('./base_13i59v3.css');
2
2
  'use strict';
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sources":["../../../../../src/components/Toast/variations/_pilled/base.ts"],"sourcesContent":["import { css } from '@linaria/core';\n\nimport { classes, tokens } from '../../Toast.tokens';\n\nexport const base = css`\n &.${String(classes.toastPilled)} {\n --plasma_private-left-content-margin: var(${tokens.leftContentMargin});\n --plasma_private-close-icon-margin: var(${tokens.closeIconMargin});\n\n border-radius: var(${tokens.pilledBorderRadius});\n }\n`;\n"],"names":["base"],"mappings":";;;;AAIO,IAAMA,IAAI,GAOhB;;;;"}
1
+ {"version":3,"file":"base.js","sources":["../../../../../src/components/Toast/variations/_pilled/base.ts"],"sourcesContent":["import { css } from '@linaria/core';\n\nimport { classes, tokens } from '../../Toast.tokens';\n\nexport const base = css`\n &.${String(classes.toastPilled)} {\n --plasma_private-content-left-margin: var(${tokens.contentLeftMargin});\n --plasma_private-close-icon-margin: var(${tokens.closeIconMargin});\n\n border-radius: var(${tokens.pilledBorderRadius});\n }\n`;\n"],"names":["base"],"mappings":";;;;AAIO,IAAMA,IAAI,GAOhB;;;;"}
@@ -0,0 +1 @@
1
+ .bmt2xdv.toast-pilled{--plasma_private-content-left-margin:var(--plasma-toast-content-left-margin);--plasma_private-close-icon-margin:var(--plasma-toast-close-icon-margin);border-radius:var(--plasma-toast-pilled-border-radius);}
package/cjs/index.css CHANGED
@@ -540,14 +540,14 @@
540
540
 
541
541
  .base_r51pt4_b1d1vtqu__bfcbbf25{padding:var(--plasma-toast-padding);border-radius:var(--plasma-toast-border-radius);max-width:var(--plasma-toast-max-width);-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);font-family:var(--plasma-toast-font-family);font-size:var(--plasma-toast-font-size);font-style:var(--plasma-toast-font-style);font-weight:var(--plasma-toast-font-weight);-webkit-letter-spacing:var(--plasma-toast-letter-spacing);-moz-letter-spacing:var(--plasma-toast-letter-spacing);-ms-letter-spacing:var(--plasma-toast-letter-spacing);letter-spacing:var(--plasma-toast-letter-spacing);line-height:var(--plasma-toast-lineheight);}
542
542
 
543
- .base_199qghc_bmt2xdv__2079f9e5.base_199qghc_toastPilled__2079f9e5{--plasma_private-left-content-margin:var(--plasma-toast-left-content-margin);--plasma_private-close-icon-margin:var(--plasma-toast-close-icon-margin);border-radius:var(--plasma-toast-pilled-border-radius);}
544
-
545
- .Toast_styles_1nei944_b1xqk743__24d4ce6e{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);--plasma-button-width:1rem;}
546
- .Toast_styles_1nei944_s1ajsqhx__24d4ce6e{position:fixed;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);z-index:9901;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:0;top:var(--s1ajsqhx-0);bottom:var(--s1ajsqhx-1);}.Toast_styles_1nei944_s1ajsqhx__24d4ce6e.Toast_styles_1nei944_toastShowed__24d4ce6e{-webkit-animation:0.3s Toast_styles_1nei944_showToastAnimationS1ajsqhx__24d4ce6e ease-out forwards;animation:0.3s Toast_styles_1nei944_showToastAnimationS1ajsqhx__24d4ce6e ease-out forwards;}.Toast_styles_1nei944_s1ajsqhx__24d4ce6e.Toast_styles_1nei944_toastHidden__24d4ce6e{-webkit-animation:0.3s Toast_styles_1nei944_hideToastAnimationS1ajsqhx__24d4ce6e ease-out forwards;animation:0.3s Toast_styles_1nei944_hideToastAnimationS1ajsqhx__24d4ce6e ease-out forwards;}@-webkit-keyframes Toast_styles_1nei944_showToastAnimationS1ajsqhx__24d4ce6e{0%{-webkit-transform:var(--s1ajsqhx-2);-ms-transform:var(--s1ajsqhx-2);transform:var(--s1ajsqhx-2);opacity:0;}80%{-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0);opacity:0.7;}100%{opacity:1;}}@keyframes Toast_styles_1nei944_showToastAnimationS1ajsqhx__24d4ce6e{0%{-webkit-transform:var(--s1ajsqhx-2);-ms-transform:var(--s1ajsqhx-2);transform:var(--s1ajsqhx-2);opacity:0;}80%{-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0);opacity:0.7;}100%{opacity:1;}}@-webkit-keyframes Toast_styles_1nei944_hideToastAnimationS1ajsqhx__24d4ce6e{0%{opacity:1;}20%{-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0);opacity:0.7;}100%{-webkit-transform:var(--s1ajsqhx-2);-ms-transform:var(--s1ajsqhx-2);transform:var(--s1ajsqhx-2);opacity:0;}}@keyframes Toast_styles_1nei944_hideToastAnimationS1ajsqhx__24d4ce6e{0%{opacity:1;}20%{-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0);opacity:0.7;}100%{-webkit-transform:var(--s1ajsqhx-2);-ms-transform:var(--s1ajsqhx-2);transform:var(--s1ajsqhx-2);opacity:0;}}
547
- .Toast_styles_1nei944_cb0tpdq__24d4ce6e{height:var(--plasma-toast-close-icon-button-size);--plasma_private-close-icon-margin:var(--plasma-toast-close-icon-margin);margin:var(--plasma_private-close-icon-margin);color:var(--plasma-toast-close-icon-color);}.Toast_styles_1nei944_cb0tpdq__24d4ce6e:hover{color:var(--plasma-toast-close-icon-color-on-hover);}
548
- .Toast_styles_1nei944_segu2tf__24d4ce6e.Toast_styles_1nei944_segu2tf__24d4ce6e.Toast_styles_1nei944_toastFadeShowed__24d4ce6e{-webkit-animation:0.3s Toast_styles_1nei944_showFadeAnimationSegu2tf__24d4ce6e ease-out forwards;animation:0.3s Toast_styles_1nei944_showFadeAnimationSegu2tf__24d4ce6e ease-out forwards;}.Toast_styles_1nei944_segu2tf__24d4ce6e.Toast_styles_1nei944_segu2tf__24d4ce6e.Toast_styles_1nei944_toastFadeHidden__24d4ce6e{-webkit-animation:0.3s Toast_styles_1nei944_hideFadeAnimationSegu2tf__24d4ce6e ease-out forwards;animation:0.3s Toast_styles_1nei944_hideFadeAnimationSegu2tf__24d4ce6e ease-out forwards;}@-webkit-keyframes Toast_styles_1nei944_showFadeAnimationSegu2tf__24d4ce6e{0%{opacity:0;}100%{opacity:1;}}@keyframes Toast_styles_1nei944_showFadeAnimationSegu2tf__24d4ce6e{0%{opacity:0;}100%{opacity:1;}}@-webkit-keyframes Toast_styles_1nei944_hideFadeAnimationSegu2tf__24d4ce6e{0%{opacity:1;}100%{opacity:0;}}@keyframes Toast_styles_1nei944_hideFadeAnimationSegu2tf__24d4ce6e{0%{opacity:1;}100%{opacity:0;}}
549
- .Toast_styles_1nei944_s1bt6ppa__24d4ce6e{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;--plasma_private-left-content-margin:var(--plasma-toast-left-content-margin);margin:var(--plasma_private-left-content-margin);}
550
-
543
+ .base_13i59v3_bmt2xdv__6505c4ad.base_13i59v3_toastPilled__6505c4ad{--plasma_private-content-left-margin:var(--plasma-toast-content-left-margin);--plasma_private-close-icon-margin:var(--plasma-toast-close-icon-margin);border-radius:var(--plasma-toast-pilled-border-radius);}
544
+
545
+ .Toast_styles_1kasmzh_b1xqk743__8ac79e0c{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);--plasma-button-width:1rem;}
546
+ .Toast_styles_1kasmzh_s1ajsqhx__8ac79e0c{position:fixed;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);z-index:9901;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:0;top:var(--s1ajsqhx-0);bottom:var(--s1ajsqhx-1);}.Toast_styles_1kasmzh_s1ajsqhx__8ac79e0c.Toast_styles_1kasmzh_toastShowed__8ac79e0c{-webkit-animation:0.3s Toast_styles_1kasmzh_showToastAnimationS1ajsqhx__8ac79e0c ease-out forwards;animation:0.3s Toast_styles_1kasmzh_showToastAnimationS1ajsqhx__8ac79e0c ease-out forwards;}.Toast_styles_1kasmzh_s1ajsqhx__8ac79e0c.Toast_styles_1kasmzh_toastHidden__8ac79e0c{-webkit-animation:0.3s Toast_styles_1kasmzh_hideToastAnimationS1ajsqhx__8ac79e0c ease-out forwards;animation:0.3s Toast_styles_1kasmzh_hideToastAnimationS1ajsqhx__8ac79e0c ease-out forwards;}@-webkit-keyframes Toast_styles_1kasmzh_showToastAnimationS1ajsqhx__8ac79e0c{0%{-webkit-transform:var(--s1ajsqhx-2);-ms-transform:var(--s1ajsqhx-2);transform:var(--s1ajsqhx-2);opacity:0;}80%{-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0);opacity:0.7;}100%{opacity:1;}}@keyframes Toast_styles_1kasmzh_showToastAnimationS1ajsqhx__8ac79e0c{0%{-webkit-transform:var(--s1ajsqhx-2);-ms-transform:var(--s1ajsqhx-2);transform:var(--s1ajsqhx-2);opacity:0;}80%{-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0);opacity:0.7;}100%{opacity:1;}}@-webkit-keyframes Toast_styles_1kasmzh_hideToastAnimationS1ajsqhx__8ac79e0c{0%{opacity:1;}20%{-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0);opacity:0.7;}100%{-webkit-transform:var(--s1ajsqhx-2);-ms-transform:var(--s1ajsqhx-2);transform:var(--s1ajsqhx-2);opacity:0;}}@keyframes Toast_styles_1kasmzh_hideToastAnimationS1ajsqhx__8ac79e0c{0%{opacity:1;}20%{-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0);opacity:0.7;}100%{-webkit-transform:var(--s1ajsqhx-2);-ms-transform:var(--s1ajsqhx-2);transform:var(--s1ajsqhx-2);opacity:0;}}
547
+ .Toast_styles_1kasmzh_cb0tpdq__8ac79e0c{height:var(--plasma-toast-close-icon-button-size);--plasma_private-close-icon-margin:var(--plasma-toast-close-icon-margin);margin:var(--plasma_private-close-icon-margin);color:var(--plasma-toast-close-icon-color);}.Toast_styles_1kasmzh_cb0tpdq__8ac79e0c:hover{color:var(--plasma-toast-close-icon-color-on-hover);}
548
+ .Toast_styles_1kasmzh_segu2tf__8ac79e0c.Toast_styles_1kasmzh_segu2tf__8ac79e0c.Toast_styles_1kasmzh_toastFadeShowed__8ac79e0c{-webkit-animation:0.3s Toast_styles_1kasmzh_showFadeAnimationSegu2tf__8ac79e0c ease-out forwards;animation:0.3s Toast_styles_1kasmzh_showFadeAnimationSegu2tf__8ac79e0c ease-out forwards;}.Toast_styles_1kasmzh_segu2tf__8ac79e0c.Toast_styles_1kasmzh_segu2tf__8ac79e0c.Toast_styles_1kasmzh_toastFadeHidden__8ac79e0c{-webkit-animation:0.3s Toast_styles_1kasmzh_hideFadeAnimationSegu2tf__8ac79e0c ease-out forwards;animation:0.3s Toast_styles_1kasmzh_hideFadeAnimationSegu2tf__8ac79e0c ease-out forwards;}@-webkit-keyframes Toast_styles_1kasmzh_showFadeAnimationSegu2tf__8ac79e0c{0%{opacity:0;}100%{opacity:1;}}@keyframes Toast_styles_1kasmzh_showFadeAnimationSegu2tf__8ac79e0c{0%{opacity:0;}100%{opacity:1;}}@-webkit-keyframes Toast_styles_1kasmzh_hideFadeAnimationSegu2tf__8ac79e0c{0%{opacity:1;}100%{opacity:0;}}@keyframes Toast_styles_1kasmzh_hideFadeAnimationSegu2tf__8ac79e0c{0%{opacity:1;}100%{opacity:0;}}
549
+ .Toast_styles_1kasmzh_s1bt6ppa__8ac79e0c{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;--plasma_private-content-left-margin:var(--plasma-toast-content-left-margin);margin:var(--plasma_private-content-left-margin);color:var(--plasma-toast-content-left-color);}
550
+ .Toast_styles_1kasmzh_s1h44nk1__8ac79e0c{color:var(--s1h44nk1-0);}
551
551
 
552
552
  .Overlay_styles_cxej3y_s1afr8la__70d4dd9a{position:fixed;inset:0;z-index:var(--s1afr8la-0);--plasma_private-overlay-background-color:var(--s1afr8la-1);--plasma_private-overlay-backdrop-filter:var(--s1afr8la-2);background:var(--s1afr8la-3);-webkit-backdrop-filter:var(--s1afr8la-4);backdrop-filter:var(--s1afr8la-4);cursor:var(--s1afr8la-5);}
553
553
 
@@ -44,7 +44,7 @@ var base = exports.base = process.env.NODE_ENV === "production" ? {
44
44
  } : {
45
45
  name: "121o0v2-plasma-new-hope__base",
46
46
  styles: "display:block;label:plasma-new-hope__base;",
47
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGV4dEZpZWxkL1RleHRGaWVsZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0N1QiIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9jb21wb25lbnRzL1RleHRGaWVsZC9UZXh0RmllbGQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgRm9ybUV2ZW50SGFuZGxlciwgQ2hhbmdlRXZlbnRIYW5kbGVyLCBLZXlib2FyZEV2ZW50LCBDaGFuZ2VFdmVudCwgTW91c2VFdmVudEhhbmRsZXIgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBzYWZlVXNlSWQsIHVzZUZvcmtSZWYgfSBmcm9tICdAc2FsdXRlanMvcGxhc21hLWNvcmUnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IFJvb3RQcm9wcyB9IGZyb20gJy4uLy4uL2VuZ2luZXMnO1xuaW1wb3J0IHsgY3ggfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tICcuLi8uLi9ob29rcyc7XG5cbmltcG9ydCB0eXBlIHsgQ2hpcFZhbHVlcywgVGV4dEZpZWxkUHJpbWl0aXZlVmFsdWUsIFRleHRGaWVsZFByb3BzLCBUZXh0RmllbGRSb290UHJvcHMgfSBmcm9tICcuL1RleHRGaWVsZC50eXBlcyc7XG5pbXBvcnQgeyBiYXNlIGFzIHNpemVDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3NpemUvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIHZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3ZpZXcvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGNsZWFyQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19jbGVhci9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgZGlzYWJsZWRDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2Rpc2FibGVkL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyByZWFkT25seUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fcmVhZC1vbmx5L2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBsYWJlbFBsYWNlbWVudENTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fbGFiZWwtcGxhY2VtZW50L2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBoaW50Vmlld0NTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9faGludC12aWV3L2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBoaW50U2l6ZUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9faGludC1zaXplL2Jhc2UnO1xuaW1wb3J0IHtcbiAgICBJbnB1dCxcbiAgICBJbnB1dENvbnRhaW5lcixcbiAgICBMZWZ0SGVscGVyLFxuICAgIExhYmVsLFxuICAgIElucHV0V3JhcHBlcixcbiAgICBJbnB1dExhYmVsV3JhcHBlcixcbiAgICBTdHlsZWRDb250ZW50TGVmdCxcbiAgICBTdHlsZWRDb250ZW50UmlnaHQsXG4gICAgU3R5bGVkQ2hpcHMsXG4gICAgU3R5bGVkVGV4dEJlZm9yZSxcbiAgICBTdHlsZWRUZXh0QWZ0ZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yLFxuICAgIFN0eWxlZE9wdGlvbmFsVGV4dCxcbiAgICBJbnB1dFBsYWNlaG9sZGVyLFxuICAgIE91dGVyTGFiZWxXcmFwcGVyLFxuICAgIFRpdGxlQ2FwdGlvbixcbiAgICBTdHlsZWRIaW50V3JhcHBlcixcbiAgICBTdHlsZWRJbmRpY2F0b3JXcmFwcGVyLFxuICAgIFN0eWxlZENvbnRlbnRSaWdodFdyYXBwZXIsXG59IGZyb20gJy4vVGV4dEZpZWxkLnN0eWxlcyc7XG5pbXBvcnQgeyBjbGFzc2VzIH0gZnJvbSAnLi9UZXh0RmllbGQudG9rZW5zJztcbmltcG9ydCB7IFRleHRGaWVsZENoaXAgfSBmcm9tICcuL3VpJztcbmltcG9ydCB7IHVzZUtleU5hdmlnYXRpb24gfSBmcm9tICcuL2hvb2tzJztcbmltcG9ydCB7IEhpbnRDb21wb25lbnQgfSBmcm9tICcuL3VpL0hpbnQvSGludCc7XG5pbXBvcnQgeyBnZXRJbnB1dFdpZHRoIH0gZnJvbSAnLi9nZXRJbnB1dFdpZHRoJztcblxuY29uc3Qgb3B0aW9uYWxUZXh0ID0gJ29wdGlvbmFsJztcblxuZXhwb3J0IGNvbnN0IGJhc2UgPSBjc3NgXG4gICAgLyogTk9URTogV2Via2l0INC90LUg0L/RgNC40LzQtdC90Y/QtdGCIG9wYWNpdHkg0LogaW5saW5lINGC0LXQs9Cw0LwgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbmA7XG5cbmNvbnN0IEhJTlRfREVGQVVMVF9PRkZTRVQ6IFtudW1iZXIsIG51bWJlcl0gPSBbMCwgMF07XG5cbmV4cG9ydCBjb25zdCB0ZXh0RmllbGRSb290ID0gKFJvb3Q6IFJvb3RQcm9wczxIVE1MRGl2RWxlbWVudCwgVGV4dEZpZWxkUm9vdFByb3BzPikgPT5cbiAgICBmb3J3YXJkUmVmPEhUTUxJbnB1dEVsZW1lbnQsIFRleHRGaWVsZFByb3BzPihcbiAgICAgICAgKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgICAgICBzdHlsZSxcblxuICAgICAgICAgICAgICAgIC8vIGxheW91dFxuICAgICAgICAgICAgICAgIGNvbnRlbnRMZWZ0LFxuICAgICAgICAgICAgICAgIGNvbnRlbnRSaWdodCxcbiAgICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudCxcbiAgICAgICAgICAgICAgICBrZWVwUGxhY2Vob2xkZXIsXG4gICAgICAgICAgICAgICAgdGV4dEJlZm9yZSxcbiAgICAgICAgICAgICAgICB0ZXh0QWZ0ZXIsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICAgICAgbGVmdEhlbHBlcixcbiAgICAgICAgICAgICAgICBlbnVtZXJhdGlvblR5cGUgPSAncGxhaW4nLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkUGxhY2VtZW50ID0gJ3JpZ2h0JyxcbiAgICAgICAgICAgICAgICB0aXRsZUNhcHRpb24sXG4gICAgICAgICAgICAgICAgY2hpcFZpZXcgPSAnZGVmYXVsdCcsXG4gICAgICAgICAgICAgICAgY2hpcFZhbGlkYXRvcixcblxuICAgICAgICAgICAgICAgIC8vIGhpbnRcbiAgICAgICAgICAgICAgICBoaW50VHJpZ2dlciA9ICdob3ZlcicsXG4gICAgICAgICAgICAgICAgaGludFRleHQsXG4gICAgICAgICAgICAgICAgaGludFZpZXcgPSAnZGVmYXVsdCcsXG4gICAgICAgICAgICAgICAgaGludFNpemUgPSAnbScsXG4gICAgICAgICAgICAgICAgaGludFRhcmdldEljb24sXG4gICAgICAgICAgICAgICAgaGludFRhcmdldFBsYWNlbWVudCA9ICdvdXRlcicsXG4gICAgICAgICAgICAgICAgaGludFBsYWNlbWVudCA9ICdhdXRvJyxcbiAgICAgICAgICAgICAgICBoaW50SGFzQXJyb3csXG4gICAgICAgICAgICAgICAgaGludE9mZnNldCA9IEhJTlRfREVGQVVMVF9PRkZTRVQsXG4gICAgICAgICAgICAgICAgaGludFdpZHRoLFxuICAgICAgICAgICAgICAgIGhpbnRDb250ZW50TGVmdCxcblxuICAgICAgICAgICAgICAgIC8vIHZhcmlhdGlvbnNcbiAgICAgICAgICAgICAgICB2aWV3LFxuICAgICAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICAgICAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkID0gZmFsc2UsXG4gICAgICAgICAgICAgICAgY2xlYXIgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICBvcHRpb25hbCxcbiAgICAgICAgICAgICAgICBoYXNEaXZpZGVyLFxuXG4gICAgICAgICAgICAgICAgLy8gY29udHJvbGxlZFxuICAgICAgICAgICAgICAgIHZhbHVlOiBvdXRlclZhbHVlLFxuICAgICAgICAgICAgICAgIGNoaXBzOiB2YWx1ZXMsXG4gICAgICAgICAgICAgICAgY2hpcFR5cGUgPSAnZGVmYXVsdCcsXG5cbiAgICAgICAgICAgICAgICAvLyBldmVudHNcbiAgICAgICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZUNoaXBzLFxuICAgICAgICAgICAgICAgIG9uU2VhcmNoLFxuICAgICAgICAgICAgICAgIG9uS2V5RG93bixcbiAgICAgICAgICAgICAgICBvbkZvY3VzLFxuICAgICAgICAgICAgICAgIG9uQmx1cixcblxuICAgICAgICAgICAgICAgIC4uLnJlc3RcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZWYsXG4gICAgICAgICkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udGVudFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dENvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0Rm9ya1JlZiA9IHVzZUZvcmtSZWYoaW5wdXRSZWYsIHJlZik7XG4gICAgICAgICAgICBjb25zdCBjaGlwc1JlZnMgPSB1c2VSZWY8QXJyYXk8SFRNTEJ1dHRvbkVsZW1lbnQ+PihbXSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2xsZWRSZWZzID0geyBjb250ZW50UmVmLCBpbnB1dFJlZiwgY2hpcHNSZWZzIH07XG5cbiAgICAgICAgICAgIGNvbnN0IFtoYXNWYWx1ZSwgc2V0SGFzVmFsdWVdID0gdXNlU3RhdGUoXG4gICAgICAgICAgICAgICAgQm9vbGVhbihvdXRlclZhbHVlKSB8fCBCb29sZWFuKGlucHV0UmVmPy5jdXJyZW50Py52YWx1ZSkgfHwgQm9vbGVhbihyZXN0Py5kZWZhdWx0VmFsdWUpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IFtoYXNGb2N1cywgc2V0SGFzRm9jdXNdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgICAgICAgICBjb25zdCBbY2hpcHMsIHNldENoaXBzXSA9IHVzZVN0YXRlPEFycmF5PENoaXBWYWx1ZXM+PihbXSk7XG4gICAgICAgICAgICBjb25zdCBbaXNIaW50VmlzaWJsZSwgc2V0SXNIaW50VmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHVuaXFJZCA9IHNhZmVVc2VJZCgpO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJJZCA9IGlkIHx8IHVuaXFJZDtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsSWQgPSBzYWZlVXNlSWQoKTtcbiAgICAgICAgICAgIGNvbnN0IGhlbHBlclRleHRJZCA9IHNhZmVVc2VJZCgpO1xuXG4gICAgICAgICAgICBjb25zdCBpc0RlZmF1bHRWaWV3ID0gdmlldyA9PT0gJ2RlZmF1bHQnIHx8IHJlYWRPbmx5IHx8IGRpc2FibGVkO1xuXG4gICAgICAgICAgICBjb25zdCBpc0NoaXBFbnVtZXJhdGlvbiA9IGVudW1lcmF0aW9uVHlwZSA9PT0gJ2NoaXAnO1xuICAgICAgICAgICAgY29uc3QgaXNDaGlwc1Zpc2libGUgPSBpc0NoaXBFbnVtZXJhdGlvbiAmJiBCb29sZWFuKGNoaXBzPy5sZW5ndGgpO1xuICAgICAgICAgICAgY29uc3Qgd2l0aEhhc0NoaXBzID0gaXNDaGlwc1Zpc2libGUgPyBjbGFzc2VzLmhhc0NoaXBzIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBjb25zdCBoYXNMYWJlbFZhbHVlID0gQm9vbGVhbihsYWJlbCk7XG4gICAgICAgICAgICBjb25zdCBoYXNJbm5lckxhYmVsID0gc2l6ZSAhPT0gJ3hzJyAmJiBsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiAhaXNDaGlwc1Zpc2libGUgJiYgaGFzTGFiZWxWYWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IGhhc091dGVyTGFiZWwgPSBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJyAmJiBoYXNMYWJlbFZhbHVlO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJLZWVwUGxhY2Vob2xkZXIgPSBrZWVwUGxhY2Vob2xkZXIgJiYgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcic7XG4gICAgICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlciA9IEJvb2xlYW4ocGxhY2Vob2xkZXIpICYmIChpbm5lcktlZXBQbGFjZWhvbGRlciB8fCAhaGFzSW5uZXJMYWJlbCk7XG4gICAgICAgICAgICBsZXQgaGFzVGV4dEFmdGVyID0gQm9vbGVhbih0ZXh0QWZ0ZXIpO1xuICAgICAgICAgICAgbGV0IGhhc1RleHRCZWZvcmUgPSB0ZXh0QmVmb3JlICYmICFpc0NoaXBFbnVtZXJhdGlvbjtcbiAgICAgICAgICAgIGlmIChsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJykge1xuICAgICAgICAgICAgICAgIGlmICghaGFzVmFsdWUgJiYgIWhhc1BsYWNlaG9sZGVyICYmICFoYXNGb2N1cykge1xuICAgICAgICAgICAgICAgICAgICBoYXNUZXh0QWZ0ZXIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgaGFzVGV4dEJlZm9yZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgaGFzUGxhY2Vob2xkZXJQYWRkaW5nID0gaGFzSW5uZXJMYWJlbCAmJiBrZWVwUGxhY2Vob2xkZXIgJiYgc2l6ZSAhPT0gJ3hzJztcblxuICAgICAgICAgICAgY29uc3QgaW5uZXJMYWJlbFZhbHVlID0gaGFzSW5uZXJMYWJlbCB8fCBoYXNPdXRlckxhYmVsID8gbGFiZWwgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBpbm5lckxhYmVsUGxhY2VtZW50VmFsdWUgPSBsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiAhaGFzSW5uZXJMYWJlbCA/IHVuZGVmaW5lZCA6IGxhYmVsUGxhY2VtZW50O1xuXG4gICAgICAgICAgICBjb25zdCBpbm5lclBsYWNlaG9sZGVyVmFsdWUgPSBoYXNQbGFjZWhvbGRlciA/IHBsYWNlaG9sZGVyIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJTaG93biA9IEJvb2xlYW4oaW5uZXJQbGFjZWhvbGRlclZhbHVlKSAmJiAhaGFzVmFsdWU7XG5cbiAgICAgICAgICAgIGNvbnN0IGNsZWFyQ2xhc3MgPSBjbGVhciA/IGNsYXNzZXMuY2xlYXIgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBoYXNEaXZpZGVyQ2xhc3MgPSBoYXNEaXZpZGVyID8gY2xhc3Nlcy5oYXNEaXZpZGVyIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzSW5uZXJIaW50Q2xhc3MgPSBoaW50VGV4dCAmJiBoaW50VGFyZ2V0UGxhY2VtZW50ID09PSAnb3V0ZXInID8gY2xhc3Nlcy5oYXNIaW50IDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzSGludENsYXNzID0gaGludFRleHQgPyBjbGFzc2VzLmhhc0hpbnQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCByZXF1aXJlZFBsYWNlbWVudENsYXNzID0gcmVxdWlyZWRQbGFjZW1lbnQgPT09ICdyaWdodCcgPyBjbGFzc2VzLnJlcXVpcmVkQWxpZ25SaWdodCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsUGxhY2VtZW50Q2xhc3MgPSBpbm5lckxhYmVsUGxhY2VtZW50VmFsdWVcbiAgICAgICAgICAgICAgICA/IGNsYXNzZXNbYCR7aW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlfUxhYmVsUGxhY2VtZW50YCBhcyBrZXlvZiB0eXBlb2YgY2xhc3Nlc11cbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc1ZhbHVlQ2xhc3MgPSBoYXNWYWx1ZSA/IGNsYXNzZXMuaGFzVmFsdWUgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBrZWVwUGxhY2Vob2xkZXJDbGFzcyA9IGhhc1BsYWNlaG9sZGVyICYmIHBsYWNlaG9sZGVyU2hvd24gJiYgY2xhc3Nlcy5rZWVwUGxhY2Vob2xkZXI7XG5cbiAgICAgICAgICAgIGNvbnN0IHdyYXBwZXJXaXRob3V0TGVmdENvbnRlbnQgPVxuICAgICAgICAgICAgICAgICFjb250ZW50TGVmdCAmJiBpc0NoaXBzVmlzaWJsZSAmJiBjaGlwVHlwZSA9PT0gJ2RlZmF1bHQnID8gY2xhc3Nlcy5oYXNFbXB0eUNvbnRlbnRMZWZ0IDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3Qgd3JhcHBlcldpdGhvdXRSaWdodENvbnRlbnQgPVxuICAgICAgICAgICAgICAgICFjb250ZW50UmlnaHQgJiYgaXNDaGlwc1Zpc2libGUgJiYgY2hpcFR5cGUgPT09ICdkZWZhdWx0JyA/IGNsYXNzZXMuaGFzRW1wdHlDb250ZW50UmlnaHQgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRSaWdodENvbXBlbnNhdGlvbk1hcmdpbiA9XG4gICAgICAgICAgICAgICAgIWhhc091dGVyTGFiZWwgJiYgaGludFRleHQgJiYgaGludFRhcmdldFBsYWNlbWVudCA9PT0gJ2lubmVyJ1xuICAgICAgICAgICAgICAgICAgICA/IGNsYXNzZXMuY29udGVudFJpZ2h0Q29tcGVuc2F0aW9uTWFyZ2luXG4gICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBjb25zdCBoaW50UmVmID0gdXNlT3V0c2lkZUNsaWNrPEhUTUxEaXZFbGVtZW50PigoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNIaW50VmlzaWJsZShmYWxzZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGhpbnRJbm5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgICAgICAgICBjb25zdCBoaW50Rm9ya1JlZiA9IHVzZUZvcmtSZWYoaGludFJlZiwgaGludElubmVyUmVmKTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlSW5wdXQ6IEZvcm1FdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgICAgICAgICBpZiAoaGFzVGV4dEFmdGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRleHRXaWR0aCA9IGdldElucHV0V2lkdGgoZXZlbnQuY3VycmVudFRhcmdldCwgaW5wdXRDb250YWluZXJSZWYuY3VycmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LmN1cnJlbnRUYXJnZXQuc3R5bGUud2lkdGggPSBgJHt0ZXh0V2lkdGh9cHhgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZXRIYXNWYWx1ZShCb29sZWFuKHZhbHVlKSk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChoYXNUZXh0QWZ0ZXIgJiYgaW5wdXRSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXh0V2lkdGggPSBnZXRJbnB1dFdpZHRoKGlucHV0UmVmLmN1cnJlbnQsIGlucHV0Q29udGFpbmVyUmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LnN0eWxlLndpZHRoID0gYCR7dGV4dFdpZHRofXB4YDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50Py5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnd2lkdGgnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBbaGFzVGV4dEFmdGVyXSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUZvY3VzID0gKGV2ZW50OiBSZWFjdC5Gb2N1c0V2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SGFzRm9jdXModHJ1ZSk7XG4gICAgICAgICAgICAgICAgb25Gb2N1cz8uKGV2ZW50KTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUJsdXIgPSAoZXZlbnQ6IFJlYWN0LkZvY3VzRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICAgICAgICAgICAgICBzZXRIYXNGb2N1cyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgb25CbHVyPy4oZXZlbnQpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlSGludFNob3cgPSAoKSA9PiBzZXRJc0hpbnRWaXNpYmxlKHRydWUpO1xuICAgICAgICAgICAgY29uc3QgaGFuZGxlSGludEhpZGUgPSAoKSA9PiBzZXRJc0hpbnRWaXNpYmxlKGZhbHNlKTtcbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUhpbnRDbGljazogTW91c2VFdmVudEhhbmRsZXIgPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWhpbnRUZXh0IHx8IGhpbnRUcmlnZ2VyICE9PSAnY2xpY2snKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRJc1BvcG92ZXIgPSBldmVudC50YXJnZXQgPT09IGhpbnRJbm5lclJlZi5jdXJyZW50O1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvb3RIYXNUYXJnZXQgPSBoaW50SW5uZXJSZWYuY3VycmVudD8uY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCF0YXJnZXRJc1BvcG92ZXIgJiYgIXJvb3RIYXNUYXJnZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0SXNIaW50VmlzaWJsZSh0cnVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVDaGFuZ2U6IENoYW5nZUV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PiA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkaXNhYmxlZCB8fCByZWFkT25seSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgeyBtYXhMZW5ndGgsIHZhbHVlIH0gPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgICAgICBpZiAobWF4TGVuZ3RoICE9PSAtMSAmJiB2YWx1ZS5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPy4oZXZlbnQpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgdXBkYXRlQ2hpcHMgPSAobmV3Q2hpcHM6IEFycmF5PENoaXBWYWx1ZXM+LCBuZXdWYWx1ZXM6IEFycmF5PFRleHRGaWVsZFByaW1pdGl2ZVZhbHVlPikgPT4ge1xuICAgICAgICAgICAgICAgIHNldENoaXBzKG5ld0NoaXBzKTtcbiAgICAgICAgICAgICAgICBvbkNoYW5nZUNoaXBzPy4obmV3VmFsdWVzKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IHsgaGFuZGxlSW5wdXRLZXlkb3duLCBoYW5kbGVDaGlwS2V5RG93biwgb25DaGlwQ2xlYXIsIGhhbmRsZUNvbnRlbnRLZXlEb3duIH0gPSB1c2VLZXlOYXZpZ2F0aW9uKHtcbiAgICAgICAgICAgICAgICBjb250cm9sbGVkUmVmcyxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgICAgICByZWFkT25seSxcbiAgICAgICAgICAgICAgICBjaGlwcyxcbiAgICAgICAgICAgICAgICBlbnVtZXJhdGlvblR5cGUsXG4gICAgICAgICAgICAgICAgdXBkYXRlQ2hpcHMsXG4gICAgICAgICAgICAgICAgb25TZWFyY2gsXG4gICAgICAgICAgICAgICAgb25DaGFuZ2UsXG4gICAgICAgICAgICAgICAgb25FbnRlckRpc2FibGVkOiAocmVzdCBhcyBhbnkpLm9uRW50ZXJEaXNhYmxlZCxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBvbkNoaXBDbGljayA9IChldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVJbnB1dEZvY3VzID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZWFkT25seSB8fCBkaXNhYmxlZCB8fCAhaW5wdXRSZWY/LmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGlucHV0UmVmLmN1cnJlbnQub2Zmc2V0TGVmdCxcbiAgICAgICAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgZ2V0UmVmID0gKGVsZW1lbnQ6IEhUTUxCdXR0b25FbGVtZW50IHwgbnVsbCwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50ICYmIGNoaXBzUmVmcz8uY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjaGlwc1JlZnMuY3VycmVudFtpbmRleF0gPSBlbGVtZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZU9uS2V5RG93biA9IChldmVudDogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gJiBLZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlSW5wdXRLZXlkb3duKGV2ZW50KTtcblxuICAgICAgICAgICAgICAgIGlmIChvbktleURvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaXNDaGlwRW51bWVyYXRpb24gJiYgIXZhbHVlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdDaGlwcyA9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlcz8ubWFwKCh2YWx1ZSwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogYCR7aW5kZXh9XyR7dmFsdWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB9KSkgfHwgW107XG5cbiAgICAgICAgICAgICAgICBzZXRDaGlwcyhuZXdDaGlwcyk7XG4gICAgICAgICAgICB9LCBbaXNDaGlwRW51bWVyYXRpb24sIHZhbHVlc10pO1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldEhhc1ZhbHVlKEJvb2xlYW4ocmVzdD8uZGVmYXVsdFZhbHVlKSk7XG4gICAgICAgICAgICB9LCBbcmVzdC5kZWZhdWx0VmFsdWVdKTtcblxuICAgICAgICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRIYXNWYWx1ZShCb29sZWFuKG91dGVyVmFsdWUpIHx8IEJvb2xlYW4oaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlKSk7XG4gICAgICAgICAgICB9LCBbb3V0ZXJWYWx1ZSwgaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlXSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGlubmVyT3B0aW9uYWwgPSBCb29sZWFuKHJlcXVpcmVkID8gZmFsc2UgOiBvcHRpb25hbCk7XG4gICAgICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlck9wdGlvbmFsID0gaW5uZXJPcHRpb25hbCAmJiAhaW5uZXJMYWJlbFZhbHVlICYmICFoYXNPdXRlckxhYmVsO1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uYWxUZXh0Tm9kZSA9IGlubmVyT3B0aW9uYWwgPyAoXG4gICAgICAgICAgICAgICAgPFN0eWxlZE9wdGlvbmFsVGV4dD5cbiAgICAgICAgICAgICAgICAgICAge0Jvb2xlYW4oaGFzUGxhY2Vob2xkZXJPcHRpb25hbCA/IGlubmVyUGxhY2Vob2xkZXJWYWx1ZSA6IGlubmVyTGFiZWxWYWx1ZSkgJiYgJ1xceGEwJ31cbiAgICAgICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dH1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZE9wdGlvbmFsVGV4dD5cbiAgICAgICAgICAgICkgOiBudWxsO1xuXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxSb290XG4gICAgICAgICAgICAgICAgICAgIHZpZXc9e3ZpZXd9XG4gICAgICAgICAgICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9eyFkaXNhYmxlZCAmJiByZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgY2xlYXI9e2NsZWFyfVxuICAgICAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudD17aW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICBjaGlwVmlldz17Y2hpcFZpZXd9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUlucHV0Rm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0RpdmlkZXJDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0lubmVySGludENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy50ZXh0RmllbGRHcm91cEl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgICAgICAgICAgICAgey4uLihoaW50VGV4dCAmJiB7IGhpbnRWaWV3LCBoaW50U2l6ZSB9KX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsoaGFzT3V0ZXJMYWJlbCB8fCB0aXRsZUNhcHRpb24pICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxPdXRlckxhYmVsV3JhcHBlciBpc0lubmVyTGFiZWw9e2xhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzT3V0ZXJMYWJlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJbmRpY2F0b3JXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGlkPXtsYWJlbElkfSBodG1sRm9yPXtpZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lubmVyTGFiZWxWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGFiZWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoaW50VGV4dCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEhpbnRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SGludENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtoaW50Rm9ya1JlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUZXh0PXtoaW50VGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUcmlnZ2VyPXtoaW50VHJpZ2dlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzSGludFZpc2libGU9e2lzSGludFZpc2libGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGFyZ2V0SWNvbj17aGludFRhcmdldEljb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50UGxhY2VtZW50PXtoaW50UGxhY2VtZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludEhhc0Fycm93PXtoaW50SGFzQXJyb3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50T2Zmc2V0PXtoaW50T2Zmc2V0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFdpZHRoPXtoaW50V2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50Q29udGVudExlZnQ9e2hpbnRDb250ZW50TGVmdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRTaG93PXtoYW5kbGVIaW50U2hvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRIaWRlPXtoYW5kbGVIaW50SGlkZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRDbGljaz17aGFuZGxlSGludENsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSGludFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3JlcXVpcmVkICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLm91dGVyTGFiZWxQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFBsYWNlbWVudENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzSGludENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dE5vZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSW5kaWNhdG9yV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0aXRsZUNhcHRpb24gJiYgPFRpdGxlQ2FwdGlvbj57dGl0bGVDYXB0aW9ufTwvVGl0bGVDYXB0aW9uPn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvT3V0ZXJMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDxJbnB1dFdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlZiDQtNC70Y8g0LLQvdGD0YLRgNC10L3QvdC10LPQviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjy4g0J3QtSDQvtGC0LTQsNC10YLRgdGPINC90LDRgNGD0LbRgy5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17KHJlc3QgYXMgYW55KS5pbnB1dFdyYXBwZXJSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiAjMTU0NCwg0Lgg0L/QvtGB0LvQtSDRg9Cx0YDQsNGC0YwgY2xhc3Nlcy5pbnB1dFdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aEhhc0NoaXBzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXJXaXRob3V0TGVmdENvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JhcHBlcldpdGhvdXRSaWdodENvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5pbnB1dFdyYXBwZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7IWhhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyZXF1aXJlZCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChjbGFzc2VzLmlubmVyTGFiZWxQbGFjZW1lbnQsIHJlcXVpcmVkUGxhY2VtZW50Q2xhc3MpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hpbnRUZXh0ICYmIGhpbnRUYXJnZXRQbGFjZW1lbnQgPT09ICdvdXRlcicgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEhpbnRXcmFwcGVyIGNsYXNzTmFtZT17Y2xhc3Nlcy5pbm5lckxhYmVsUGxhY2VtZW50fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SGludENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2hpbnRGb3JrUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGV4dD17aGludFRleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUcmlnZ2VyPXtoaW50VHJpZ2dlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNIaW50VmlzaWJsZT17aXNIaW50VmlzaWJsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRhcmdldEljb249e2hpbnRUYXJnZXRJY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50UGxhY2VtZW50PXtoaW50UGxhY2VtZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50SGFzQXJyb3c9e2hpbnRIYXNBcnJvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludE9mZnNldD17aGludE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFdpZHRoPXtoaW50V2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRDb250ZW50TGVmdD17aGludENvbnRlbnRMZWZ0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50U2hvdz17aGFuZGxlSGludFNob3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRIaWRlPXtoYW5kbGVIaW50SGlkZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludENsaWNrPXtoYW5kbGVIaW50Q2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzSW5uZXJMYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEhpbnRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjb250ZW50TGVmdCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZENvbnRlbnRMZWZ0IGlzQ2xlYXI9e2NsZWFyfSBpc0RlZmF1bHRWaWV3PXtpc0RlZmF1bHRWaWV3fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NvbnRlbnRMZWZ0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQ29udGVudExlZnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0TGFiZWxXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiSW5kZXg9ey0xfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17Y29udGVudFJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbktleURvd249e2hhbmRsZUNvbnRlbnRLZXlEb3dufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17d2l0aEhhc0NoaXBzfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtCb29sZWFuKHRleHRCZWZvcmUgJiYgaXNDaGlwRW51bWVyYXRpb24pICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZFRleHRCZWZvcmU+e3RleHRCZWZvcmV9PC9TdHlsZWRUZXh0QmVmb3JlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzQ2hpcEVudW1lcmF0aW9uICYmIEJvb2xlYW4oY2hpcHM/Lmxlbmd0aCkgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkQ2hpcHMgY2xhc3NOYW1lPXtjbGFzc2VzLmNoaXBzV3JhcHBlcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2hpcHM/Lm1hcCgoeyBpZDogY2hpcElkLCB0ZXh0IH0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsaWRhdGlvblZpZXcgPSBjaGlwVmFsaWRhdG9yPy4oU3RyaW5nKHRleHQpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNWaWV3ID0gdmFsaWRhdGlvblZpZXc/LnZpZXcgfHwgY2hpcFZpZXc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGV4dEZpZWxkQ2hpcFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e2NoaXBJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17KGVsZW1lbnQpID0+IGdldFJlZihlbGVtZW50LCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2Ake2NoaXBJZH1fJHtpbmRleH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3RleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0PXt0ZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXsoZXZlbnQpID0+IGhhbmRsZUNoaXBLZXlEb3duKGV2ZW50LCBjaGlwSWQsIGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xlYXI9eygpID0+IG9uQ2hpcENsZWFyKGNoaXBJZCwgaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17b25DaGlwQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlwVHlwZT17Y2hpcFR5cGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3PXtyZXNWaWV3fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9vdFdyYXBwZXI9e1Jvb3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiAjMTU0N1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2ZvcmNlQ2hpcE1hbmlwdWxhdGlvbldpdGhSZWFkb25seT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3QgYXMgYW55KS5fZm9yY2VDaGlwTWFuaXB1bGF0aW9uV2l0aFJlYWRvbmx5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZENoaXBzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0Q29udGFpbmVyIHJlZj17aW5wdXRDb250YWluZXJSZWZ9IGhhc0R5bmFtaWNXaWR0aD17aGFzVGV4dEFmdGVyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc1RleHRCZWZvcmUgJiYgPFN0eWxlZFRleHRCZWZvcmU+e3RleHRCZWZvcmV9PC9TdHlsZWRUZXh0QmVmb3JlPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2lucHV0Rm9ya1JlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPXtpbm5lcklkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e291dGVyVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZD17ZW51bWVyYXRpb25UeXBlID09PSAnY2hpcCcgPyBjaGlwcy5sZW5ndGggPT09IDAgJiYgcmVxdWlyZWQgOiByZXF1aXJlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17bGFiZWxJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e2hlbHBlclRleHRJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtpbm5lclBsYWNlaG9sZGVyVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KGhhc1ZhbHVlQ2xhc3MsIGtlZXBQbGFjZWhvbGRlckNsYXNzKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXshZGlzYWJsZWQgJiYgcmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbklucHV0PXtoYW5kbGVJbnB1dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbktleURvd249e2hhbmRsZU9uS2V5RG93bn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e2hhbmRsZUZvY3VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25CbHVyPXtoYW5kbGVCbHVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoYXNJbm5lckxhYmVsICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBpZD17bGFiZWxJZH0gaHRtbEZvcj17aW5uZXJJZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lubmVyTGFiZWxWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwbGFjZWhvbGRlclNob3duICYmICFoYXNWYWx1ZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRQbGFjZWhvbGRlciBoYXNQYWRkaW5nPXtoYXNQbGFjZWhvbGRlclBhZGRpbmd9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoYXNUZXh0QmVmb3JlICYmIDxTdHlsZWRUZXh0QmVmb3JlIGlzSGlkZGVuPnt0ZXh0QmVmb3JlfTwvU3R5bGVkVGV4dEJlZm9yZT59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lubmVyUGxhY2Vob2xkZXJWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzUGxhY2Vob2xkZXJPcHRpb25hbCAmJiBvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JbnB1dFBsYWNlaG9sZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzVGV4dEFmdGVyICYmIDxTdHlsZWRUZXh0QWZ0ZXI+e3RleHRBZnRlcn08L1N0eWxlZFRleHRBZnRlcj59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JbnB1dENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5wdXRMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkQ29udGVudFJpZ2h0V3JhcHBlciBjbGFzc05hbWU9e2N4KGNvbnRlbnRSaWdodENvbXBlbnNhdGlvbk1hcmdpbil9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjb250ZW50UmlnaHQgJiYgPFN0eWxlZENvbnRlbnRSaWdodD57Y29udGVudFJpZ2h0fTwvU3R5bGVkQ29udGVudFJpZ2h0Pn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHshaGFzT3V0ZXJMYWJlbCAmJiBoaW50VGV4dCAmJiBoaW50VGFyZ2V0UGxhY2VtZW50ID09PSAnaW5uZXInICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhpbnRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17aGludEZvcmtSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGV4dD17aGludFRleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VHJpZ2dlcj17aGludFRyaWdnZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0hpbnRWaXNpYmxlPXtpc0hpbnRWaXNpYmxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRhcmdldEljb249e2hpbnRUYXJnZXRJY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFBsYWNlbWVudD17aGludFBsYWNlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRIYXNBcnJvdz17aGludEhhc0Fycm93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludE9mZnNldD17aGludE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRXaWR0aD17aGludFdpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludENvbnRlbnRMZWZ0PXtoaW50Q29udGVudExlZnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludFNob3c9e2hhbmRsZUhpbnRTaG93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludEhpZGU9e2hhbmRsZUhpbnRIaWRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludENsaWNrPXtoYW5kbGVIaW50Q2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0lubmVyTGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRDb250ZW50UmlnaHRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICA8L0lucHV0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAge2xlZnRIZWxwZXIgJiYgPExlZnRIZWxwZXIgaWQ9e2hlbHBlclRleHRJZH0+e2xlZnRIZWxwZXJ9PC9MZWZ0SGVscGVyPn1cbiAgICAgICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICk7XG5cbmV4cG9ydCBjb25zdCB0ZXh0RmllbGRDb25maWcgPSB7XG4gICAgbmFtZTogJ1RleHRGaWVsZCcsXG4gICAgdGFnOiAnZGl2JyxcbiAgICBsYXlvdXQ6IHRleHRGaWVsZFJvb3QsXG4gICAgYmFzZSxcbiAgICB2YXJpYXRpb25zOiB7XG4gICAgICAgIHZpZXc6IHtcbiAgICAgICAgICAgIGNzczogdmlld0NTUyxcbiAgICAgICAgfSxcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgY3NzOiBzaXplQ1NTLFxuICAgICAgICB9LFxuICAgICAgICBjbGVhcjoge1xuICAgICAgICAgICAgY3NzOiBjbGVhckNTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgY3NzOiBkaXNhYmxlZENTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICByZWFkT25seToge1xuICAgICAgICAgICAgY3NzOiByZWFkT25seUNTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBsYWJlbFBsYWNlbWVudDoge1xuICAgICAgICAgICAgY3NzOiBsYWJlbFBsYWNlbWVudENTUyxcbiAgICAgICAgfSxcbiAgICAgICAgaGludFZpZXc6IHtcbiAgICAgICAgICAgIGNzczogaGludFZpZXdDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGhpbnRTaXplOiB7XG4gICAgICAgICAgICBjc3M6IGhpbnRTaXplQ1NTLFxuICAgICAgICB9LFxuICAgIH0sXG4gICAgZGVmYXVsdHM6IHtcbiAgICAgICAgc2l6ZTogJ20nLFxuICAgICAgICB2aWV3OiAnZGVmYXVsdCcsXG4gICAgfSxcbn07XG4iXX0= */",
47
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGV4dEZpZWxkL1RleHRGaWVsZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0N1QiIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9jb21wb25lbnRzL1RleHRGaWVsZC9UZXh0RmllbGQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgRm9ybUV2ZW50SGFuZGxlciwgQ2hhbmdlRXZlbnRIYW5kbGVyLCBLZXlib2FyZEV2ZW50LCBDaGFuZ2VFdmVudCwgTW91c2VFdmVudEhhbmRsZXIgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBzYWZlVXNlSWQsIHVzZUZvcmtSZWYgfSBmcm9tICdAc2FsdXRlanMvcGxhc21hLWNvcmUnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IFJvb3RQcm9wcyB9IGZyb20gJy4uLy4uL2VuZ2luZXMnO1xuaW1wb3J0IHsgY3ggfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tICcuLi8uLi9ob29rcyc7XG5cbmltcG9ydCB0eXBlIHsgQ2hpcFZhbHVlcywgVGV4dEZpZWxkUHJpbWl0aXZlVmFsdWUsIFRleHRGaWVsZFByb3BzLCBUZXh0RmllbGRSb290UHJvcHMgfSBmcm9tICcuL1RleHRGaWVsZC50eXBlcyc7XG5pbXBvcnQgeyBiYXNlIGFzIHNpemVDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3NpemUvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIHZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3ZpZXcvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGNsZWFyQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19jbGVhci9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgZGlzYWJsZWRDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2Rpc2FibGVkL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyByZWFkT25seUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fcmVhZC1vbmx5L2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBsYWJlbFBsYWNlbWVudENTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fbGFiZWwtcGxhY2VtZW50L2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBoaW50Vmlld0NTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9faGludC12aWV3L2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBoaW50U2l6ZUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9faGludC1zaXplL2Jhc2UnO1xuaW1wb3J0IHtcbiAgICBJbnB1dCxcbiAgICBJbnB1dENvbnRhaW5lcixcbiAgICBMZWZ0SGVscGVyLFxuICAgIExhYmVsLFxuICAgIElucHV0V3JhcHBlcixcbiAgICBJbnB1dExhYmVsV3JhcHBlcixcbiAgICBTdHlsZWRDb250ZW50TGVmdCxcbiAgICBTdHlsZWRDb250ZW50UmlnaHQsXG4gICAgU3R5bGVkQ2hpcHMsXG4gICAgU3R5bGVkVGV4dEJlZm9yZSxcbiAgICBTdHlsZWRUZXh0QWZ0ZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yLFxuICAgIFN0eWxlZE9wdGlvbmFsVGV4dCxcbiAgICBJbnB1dFBsYWNlaG9sZGVyLFxuICAgIE91dGVyTGFiZWxXcmFwcGVyLFxuICAgIFRpdGxlQ2FwdGlvbixcbiAgICBTdHlsZWRIaW50V3JhcHBlcixcbiAgICBTdHlsZWRJbmRpY2F0b3JXcmFwcGVyLFxuICAgIFN0eWxlZENvbnRlbnRSaWdodFdyYXBwZXIsXG59IGZyb20gJy4vVGV4dEZpZWxkLnN0eWxlcyc7XG5pbXBvcnQgeyBjbGFzc2VzIH0gZnJvbSAnLi9UZXh0RmllbGQudG9rZW5zJztcbmltcG9ydCB7IFRleHRGaWVsZENoaXAgfSBmcm9tICcuL3VpJztcbmltcG9ydCB7IHVzZUtleU5hdmlnYXRpb24gfSBmcm9tICcuL2hvb2tzJztcbmltcG9ydCB7IEhpbnRDb21wb25lbnQgfSBmcm9tICcuL3VpL0hpbnQvSGludCc7XG5pbXBvcnQgeyBnZXRJbnB1dFdpZHRoIH0gZnJvbSAnLi9nZXRJbnB1dFdpZHRoJztcblxuY29uc3Qgb3B0aW9uYWxUZXh0ID0gJ29wdGlvbmFsJztcblxuZXhwb3J0IGNvbnN0IGJhc2UgPSBjc3NgXG4gICAgLyogTk9URTogV2Via2l0INC90LUg0L/RgNC40LzQtdC90Y/QtdGCIG9wYWNpdHkg0LogaW5saW5lINGC0LXQs9Cw0LwgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbmA7XG5cbmNvbnN0IEhJTlRfREVGQVVMVF9PRkZTRVQ6IFtudW1iZXIsIG51bWJlcl0gPSBbMCwgMF07XG5cbmV4cG9ydCBjb25zdCB0ZXh0RmllbGRSb290ID0gKFJvb3Q6IFJvb3RQcm9wczxIVE1MRGl2RWxlbWVudCwgVGV4dEZpZWxkUm9vdFByb3BzPikgPT5cbiAgICBmb3J3YXJkUmVmPEhUTUxJbnB1dEVsZW1lbnQsIFRleHRGaWVsZFByb3BzPihcbiAgICAgICAgKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgICAgICBzdHlsZSxcblxuICAgICAgICAgICAgICAgIC8vIGxheW91dFxuICAgICAgICAgICAgICAgIGNvbnRlbnRMZWZ0LFxuICAgICAgICAgICAgICAgIGNvbnRlbnRSaWdodCxcbiAgICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudCxcbiAgICAgICAgICAgICAgICBrZWVwUGxhY2Vob2xkZXIsXG4gICAgICAgICAgICAgICAgdGV4dEJlZm9yZSxcbiAgICAgICAgICAgICAgICB0ZXh0QWZ0ZXIsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICAgICAgbGVmdEhlbHBlcixcbiAgICAgICAgICAgICAgICBlbnVtZXJhdGlvblR5cGUgPSAncGxhaW4nLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkUGxhY2VtZW50ID0gJ3JpZ2h0JyxcbiAgICAgICAgICAgICAgICB0aXRsZUNhcHRpb24sXG4gICAgICAgICAgICAgICAgY2hpcFZpZXcgPSAnZGVmYXVsdCcsXG4gICAgICAgICAgICAgICAgY2hpcFZhbGlkYXRvcixcblxuICAgICAgICAgICAgICAgIC8vIGhpbnRcbiAgICAgICAgICAgICAgICBoaW50VHJpZ2dlciA9ICdob3ZlcicsXG4gICAgICAgICAgICAgICAgaGludFRleHQsXG4gICAgICAgICAgICAgICAgaGludFZpZXcgPSAnZGVmYXVsdCcsXG4gICAgICAgICAgICAgICAgaGludFNpemUgPSAnbScsXG4gICAgICAgICAgICAgICAgaGludFRhcmdldEljb24sXG4gICAgICAgICAgICAgICAgaGludFRhcmdldFBsYWNlbWVudCA9ICdvdXRlcicsXG4gICAgICAgICAgICAgICAgaGludFBsYWNlbWVudCA9ICdhdXRvJyxcbiAgICAgICAgICAgICAgICBoaW50SGFzQXJyb3csXG4gICAgICAgICAgICAgICAgaGludE9mZnNldCA9IEhJTlRfREVGQVVMVF9PRkZTRVQsXG4gICAgICAgICAgICAgICAgaGludFdpZHRoLFxuICAgICAgICAgICAgICAgIGhpbnRDb250ZW50TGVmdCxcblxuICAgICAgICAgICAgICAgIC8vIHZhcmlhdGlvbnNcbiAgICAgICAgICAgICAgICB2aWV3LFxuICAgICAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICAgICAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkID0gZmFsc2UsXG4gICAgICAgICAgICAgICAgY2xlYXIgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICBvcHRpb25hbCxcbiAgICAgICAgICAgICAgICBoYXNEaXZpZGVyLFxuXG4gICAgICAgICAgICAgICAgLy8gY29udHJvbGxlZFxuICAgICAgICAgICAgICAgIHZhbHVlOiBvdXRlclZhbHVlLFxuICAgICAgICAgICAgICAgIGNoaXBzOiB2YWx1ZXMsXG4gICAgICAgICAgICAgICAgY2hpcFR5cGUgPSAnZGVmYXVsdCcsXG5cbiAgICAgICAgICAgICAgICAvLyBldmVudHNcbiAgICAgICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZUNoaXBzLFxuICAgICAgICAgICAgICAgIG9uU2VhcmNoLFxuICAgICAgICAgICAgICAgIG9uS2V5RG93bixcbiAgICAgICAgICAgICAgICBvbkZvY3VzLFxuICAgICAgICAgICAgICAgIG9uQmx1cixcblxuICAgICAgICAgICAgICAgIC4uLnJlc3RcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZWYsXG4gICAgICAgICkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udGVudFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dENvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0Rm9ya1JlZiA9IHVzZUZvcmtSZWYoaW5wdXRSZWYsIHJlZik7XG4gICAgICAgICAgICBjb25zdCBjaGlwc1JlZnMgPSB1c2VSZWY8QXJyYXk8SFRNTEJ1dHRvbkVsZW1lbnQ+PihbXSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2xsZWRSZWZzID0geyBjb250ZW50UmVmLCBpbnB1dFJlZiwgY2hpcHNSZWZzIH07XG5cbiAgICAgICAgICAgIGNvbnN0IFtoYXNWYWx1ZSwgc2V0SGFzVmFsdWVdID0gdXNlU3RhdGUoXG4gICAgICAgICAgICAgICAgQm9vbGVhbihvdXRlclZhbHVlKSB8fCBCb29sZWFuKGlucHV0UmVmPy5jdXJyZW50Py52YWx1ZSkgfHwgQm9vbGVhbihyZXN0Py5kZWZhdWx0VmFsdWUpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IFtoYXNGb2N1cywgc2V0SGFzRm9jdXNdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgICAgICAgICBjb25zdCBbY2hpcHMsIHNldENoaXBzXSA9IHVzZVN0YXRlPEFycmF5PENoaXBWYWx1ZXM+PihbXSk7XG4gICAgICAgICAgICBjb25zdCBbaXNIaW50VmlzaWJsZSwgc2V0SXNIaW50VmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHVuaXFJZCA9IHNhZmVVc2VJZCgpO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJJZCA9IGlkIHx8IHVuaXFJZDtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsSWQgPSBzYWZlVXNlSWQoKTtcbiAgICAgICAgICAgIGNvbnN0IGhlbHBlclRleHRJZCA9IHNhZmVVc2VJZCgpO1xuXG4gICAgICAgICAgICBjb25zdCBpc0RlZmF1bHRWaWV3ID0gdmlldyA9PT0gJ2RlZmF1bHQnIHx8IHJlYWRPbmx5IHx8IGRpc2FibGVkO1xuXG4gICAgICAgICAgICBjb25zdCBpc0NoaXBFbnVtZXJhdGlvbiA9IGVudW1lcmF0aW9uVHlwZSA9PT0gJ2NoaXAnO1xuICAgICAgICAgICAgY29uc3QgaXNDaGlwc1Zpc2libGUgPSBpc0NoaXBFbnVtZXJhdGlvbiAmJiBCb29sZWFuKGNoaXBzPy5sZW5ndGgpO1xuICAgICAgICAgICAgY29uc3Qgd2l0aEhhc0NoaXBzID0gaXNDaGlwc1Zpc2libGUgPyBjbGFzc2VzLmhhc0NoaXBzIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBjb25zdCBoYXNMYWJlbFZhbHVlID0gQm9vbGVhbihsYWJlbCk7XG4gICAgICAgICAgICBjb25zdCBoYXNJbm5lckxhYmVsID0gc2l6ZSAhPT0gJ3hzJyAmJiBsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiAhaXNDaGlwc1Zpc2libGUgJiYgaGFzTGFiZWxWYWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IGhhc091dGVyTGFiZWwgPSBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJyAmJiBoYXNMYWJlbFZhbHVlO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJLZWVwUGxhY2Vob2xkZXIgPSBrZWVwUGxhY2Vob2xkZXIgJiYgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcic7XG4gICAgICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlciA9IEJvb2xlYW4ocGxhY2Vob2xkZXIpICYmIChpbm5lcktlZXBQbGFjZWhvbGRlciB8fCAhaGFzSW5uZXJMYWJlbCk7XG4gICAgICAgICAgICBsZXQgaGFzVGV4dEFmdGVyID0gQm9vbGVhbih0ZXh0QWZ0ZXIpO1xuICAgICAgICAgICAgbGV0IGhhc1RleHRCZWZvcmUgPSB0ZXh0QmVmb3JlICYmICFpc0NoaXBFbnVtZXJhdGlvbjtcbiAgICAgICAgICAgIGlmIChsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJykge1xuICAgICAgICAgICAgICAgIGlmICghaGFzVmFsdWUgJiYgIWhhc1BsYWNlaG9sZGVyICYmICFoYXNGb2N1cykge1xuICAgICAgICAgICAgICAgICAgICBoYXNUZXh0QWZ0ZXIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgaGFzVGV4dEJlZm9yZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgaGFzUGxhY2Vob2xkZXJQYWRkaW5nID0gaGFzSW5uZXJMYWJlbCAmJiBrZWVwUGxhY2Vob2xkZXIgJiYgc2l6ZSAhPT0gJ3hzJztcblxuICAgICAgICAgICAgY29uc3QgaW5uZXJMYWJlbFZhbHVlID0gaGFzSW5uZXJMYWJlbCB8fCBoYXNPdXRlckxhYmVsID8gbGFiZWwgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBpbm5lckxhYmVsUGxhY2VtZW50VmFsdWUgPSBsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiAhaGFzSW5uZXJMYWJlbCA/IHVuZGVmaW5lZCA6IGxhYmVsUGxhY2VtZW50O1xuXG4gICAgICAgICAgICBjb25zdCBpbm5lclBsYWNlaG9sZGVyVmFsdWUgPSBoYXNQbGFjZWhvbGRlciA/IHBsYWNlaG9sZGVyIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJTaG93biA9IEJvb2xlYW4oaW5uZXJQbGFjZWhvbGRlclZhbHVlKSAmJiAhaGFzVmFsdWU7XG5cbiAgICAgICAgICAgIGNvbnN0IGNsZWFyQ2xhc3MgPSBjbGVhciA/IGNsYXNzZXMuY2xlYXIgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBoYXNEaXZpZGVyQ2xhc3MgPSBoYXNEaXZpZGVyID8gY2xhc3Nlcy5oYXNEaXZpZGVyIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzSW5uZXJIaW50Q2xhc3MgPSBoaW50VGV4dCAmJiBoaW50VGFyZ2V0UGxhY2VtZW50ID09PSAnb3V0ZXInID8gY2xhc3Nlcy5oYXNIaW50IDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzSGludENsYXNzID0gaGludFRleHQgPyBjbGFzc2VzLmhhc0hpbnQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCByZXF1aXJlZFBsYWNlbWVudENsYXNzID0gcmVxdWlyZWRQbGFjZW1lbnQgPT09ICdyaWdodCcgPyBjbGFzc2VzLnJlcXVpcmVkQWxpZ25SaWdodCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsUGxhY2VtZW50Q2xhc3MgPSBpbm5lckxhYmVsUGxhY2VtZW50VmFsdWVcbiAgICAgICAgICAgICAgICA/IGNsYXNzZXNbYCR7aW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlfUxhYmVsUGxhY2VtZW50YCBhcyBrZXlvZiB0eXBlb2YgY2xhc3Nlc11cbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc1ZhbHVlQ2xhc3MgPSBoYXNWYWx1ZSA/IGNsYXNzZXMuaGFzVmFsdWUgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBrZWVwUGxhY2Vob2xkZXJDbGFzcyA9IGhhc1BsYWNlaG9sZGVyICYmIHBsYWNlaG9sZGVyU2hvd24gJiYgY2xhc3Nlcy5rZWVwUGxhY2Vob2xkZXI7XG5cbiAgICAgICAgICAgIGNvbnN0IHdyYXBwZXJXaXRob3V0TGVmdENvbnRlbnQgPVxuICAgICAgICAgICAgICAgICFjb250ZW50TGVmdCAmJiBpc0NoaXBzVmlzaWJsZSAmJiBjaGlwVHlwZSA9PT0gJ2RlZmF1bHQnID8gY2xhc3Nlcy5oYXNFbXB0eUNvbnRlbnRMZWZ0IDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3Qgd3JhcHBlcldpdGhvdXRSaWdodENvbnRlbnQgPVxuICAgICAgICAgICAgICAgICFjb250ZW50UmlnaHQgJiYgaXNDaGlwc1Zpc2libGUgJiYgY2hpcFR5cGUgPT09ICdkZWZhdWx0JyA/IGNsYXNzZXMuaGFzRW1wdHlDb250ZW50UmlnaHQgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRSaWdodENvbXBlbnNhdGlvbk1hcmdpbiA9XG4gICAgICAgICAgICAgICAgIWhhc091dGVyTGFiZWwgJiYgaGludFRleHQgJiYgaGludFRhcmdldFBsYWNlbWVudCA9PT0gJ2lubmVyJ1xuICAgICAgICAgICAgICAgICAgICA/IGNsYXNzZXMuY29udGVudFJpZ2h0Q29tcGVuc2F0aW9uTWFyZ2luXG4gICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBjb25zdCBoaW50UmVmID0gdXNlT3V0c2lkZUNsaWNrPEhUTUxEaXZFbGVtZW50PigoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNIaW50VmlzaWJsZShmYWxzZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGhpbnRJbm5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgICAgICAgICBjb25zdCBoaW50Rm9ya1JlZiA9IHVzZUZvcmtSZWYoaGludFJlZiwgaGludElubmVyUmVmKTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlSW5wdXQ6IEZvcm1FdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgICAgICAgICBpZiAoaGFzVGV4dEFmdGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRleHRXaWR0aCA9IGdldElucHV0V2lkdGgoZXZlbnQuY3VycmVudFRhcmdldCwgaW5wdXRDb250YWluZXJSZWYuY3VycmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LmN1cnJlbnRUYXJnZXQuc3R5bGUud2lkdGggPSBgJHt0ZXh0V2lkdGh9cHhgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZXRIYXNWYWx1ZShCb29sZWFuKHZhbHVlKSk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChoYXNUZXh0QWZ0ZXIgJiYgaW5wdXRSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXh0V2lkdGggPSBnZXRJbnB1dFdpZHRoKGlucHV0UmVmLmN1cnJlbnQsIGlucHV0Q29udGFpbmVyUmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LnN0eWxlLndpZHRoID0gYCR7dGV4dFdpZHRofXB4YDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50Py5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnd2lkdGgnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBbaGFzVGV4dEFmdGVyXSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUZvY3VzID0gKGV2ZW50OiBSZWFjdC5Gb2N1c0V2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SGFzRm9jdXModHJ1ZSk7XG4gICAgICAgICAgICAgICAgb25Gb2N1cz8uKGV2ZW50KTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUJsdXIgPSAoZXZlbnQ6IFJlYWN0LkZvY3VzRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICAgICAgICAgICAgICBzZXRIYXNGb2N1cyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgb25CbHVyPy4oZXZlbnQpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlSGludFNob3cgPSAoKSA9PiBzZXRJc0hpbnRWaXNpYmxlKHRydWUpO1xuICAgICAgICAgICAgY29uc3QgaGFuZGxlSGludEhpZGUgPSAoKSA9PiBzZXRJc0hpbnRWaXNpYmxlKGZhbHNlKTtcbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUhpbnRDbGljazogTW91c2VFdmVudEhhbmRsZXIgPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWhpbnRUZXh0IHx8IGhpbnRUcmlnZ2VyICE9PSAnY2xpY2snKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRJc1BvcG92ZXIgPSBldmVudC50YXJnZXQgPT09IGhpbnRJbm5lclJlZi5jdXJyZW50O1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvb3RIYXNUYXJnZXQgPSBoaW50SW5uZXJSZWYuY3VycmVudD8uY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCF0YXJnZXRJc1BvcG92ZXIgJiYgIXJvb3RIYXNUYXJnZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0SXNIaW50VmlzaWJsZSh0cnVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVDaGFuZ2U6IENoYW5nZUV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PiA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkaXNhYmxlZCB8fCByZWFkT25seSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgeyBtYXhMZW5ndGgsIHZhbHVlIH0gPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgICAgICBpZiAobWF4TGVuZ3RoICE9PSAtMSAmJiB2YWx1ZS5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPy4oZXZlbnQpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgdXBkYXRlQ2hpcHMgPSAobmV3Q2hpcHM6IEFycmF5PENoaXBWYWx1ZXM+LCBuZXdWYWx1ZXM6IEFycmF5PFRleHRGaWVsZFByaW1pdGl2ZVZhbHVlPikgPT4ge1xuICAgICAgICAgICAgICAgIHNldENoaXBzKG5ld0NoaXBzKTtcbiAgICAgICAgICAgICAgICBvbkNoYW5nZUNoaXBzPy4obmV3VmFsdWVzKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IHsgaGFuZGxlSW5wdXRLZXlkb3duLCBoYW5kbGVDaGlwS2V5RG93biwgb25DaGlwQ2xlYXIsIGhhbmRsZUNvbnRlbnRLZXlEb3duIH0gPSB1c2VLZXlOYXZpZ2F0aW9uKHtcbiAgICAgICAgICAgICAgICBjb250cm9sbGVkUmVmcyxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgICAgICByZWFkT25seSxcbiAgICAgICAgICAgICAgICBjaGlwcyxcbiAgICAgICAgICAgICAgICBlbnVtZXJhdGlvblR5cGUsXG4gICAgICAgICAgICAgICAgdXBkYXRlQ2hpcHMsXG4gICAgICAgICAgICAgICAgb25TZWFyY2gsXG4gICAgICAgICAgICAgICAgb25DaGFuZ2UsXG4gICAgICAgICAgICAgICAgb25FbnRlckRpc2FibGVkOiAocmVzdCBhcyBhbnkpLm9uRW50ZXJEaXNhYmxlZCxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBvbkNoaXBDbGljayA9IChldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVJbnB1dEZvY3VzID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZWFkT25seSB8fCBkaXNhYmxlZCB8fCAhaW5wdXRSZWY/LmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGlucHV0UmVmLmN1cnJlbnQub2Zmc2V0TGVmdCxcbiAgICAgICAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgZ2V0UmVmID0gKGVsZW1lbnQ6IEhUTUxCdXR0b25FbGVtZW50IHwgbnVsbCwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50ICYmIGNoaXBzUmVmcz8uY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjaGlwc1JlZnMuY3VycmVudFtpbmRleF0gPSBlbGVtZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZU9uS2V5RG93biA9IChldmVudDogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gJiBLZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlSW5wdXRLZXlkb3duKGV2ZW50KTtcblxuICAgICAgICAgICAgICAgIGlmIChvbktleURvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaXNDaGlwRW51bWVyYXRpb24gJiYgIXZhbHVlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdDaGlwcyA9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlcz8ubWFwKCh2YWx1ZSwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogYCR7aW5kZXh9XyR7dmFsdWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB9KSkgfHwgW107XG5cbiAgICAgICAgICAgICAgICBzZXRDaGlwcyhuZXdDaGlwcyk7XG4gICAgICAgICAgICB9LCBbaXNDaGlwRW51bWVyYXRpb24sIHZhbHVlc10pO1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldEhhc1ZhbHVlKEJvb2xlYW4ocmVzdD8uZGVmYXVsdFZhbHVlKSk7XG4gICAgICAgICAgICB9LCBbcmVzdC5kZWZhdWx0VmFsdWVdKTtcblxuICAgICAgICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRIYXNWYWx1ZShCb29sZWFuKG91dGVyVmFsdWUpIHx8IEJvb2xlYW4oaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlKSk7XG4gICAgICAgICAgICB9LCBbb3V0ZXJWYWx1ZSwgaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlXSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGlubmVyT3B0aW9uYWwgPSBCb29sZWFuKHJlcXVpcmVkID8gZmFsc2UgOiBvcHRpb25hbCk7XG4gICAgICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlck9wdGlvbmFsID0gaW5uZXJPcHRpb25hbCAmJiAhaW5uZXJMYWJlbFZhbHVlICYmICFoYXNPdXRlckxhYmVsO1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uYWxUZXh0Tm9kZSA9IGlubmVyT3B0aW9uYWwgPyAoXG4gICAgICAgICAgICAgICAgPFN0eWxlZE9wdGlvbmFsVGV4dD5cbiAgICAgICAgICAgICAgICAgICAge0Jvb2xlYW4oaGFzUGxhY2Vob2xkZXJPcHRpb25hbCA/IGlubmVyUGxhY2Vob2xkZXJWYWx1ZSA6IGlubmVyTGFiZWxWYWx1ZSkgJiYgJ1xceGEwJ31cbiAgICAgICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dH1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZE9wdGlvbmFsVGV4dD5cbiAgICAgICAgICAgICkgOiBudWxsO1xuXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxSb290XG4gICAgICAgICAgICAgICAgICAgIHZpZXc9e3ZpZXd9XG4gICAgICAgICAgICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9eyFkaXNhYmxlZCAmJiByZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgY2xlYXI9e2NsZWFyfVxuICAgICAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudD17aW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICBjaGlwVmlldz17Y2hpcFZpZXd9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUlucHV0Rm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0RpdmlkZXJDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0lubmVySGludENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy50ZXh0RmllbGRHcm91cEl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgICAgICAgICAgICAgey4uLihoaW50VGV4dCAmJiB7IGhpbnRWaWV3LCBoaW50U2l6ZSB9KX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsoaGFzT3V0ZXJMYWJlbCB8fCB0aXRsZUNhcHRpb24pICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxPdXRlckxhYmVsV3JhcHBlciBpc0lubmVyTGFiZWw9e2xhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzT3V0ZXJMYWJlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJbmRpY2F0b3JXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGlkPXtsYWJlbElkfSBodG1sRm9yPXtpZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lubmVyTGFiZWxWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGFiZWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoaW50VGV4dCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEhpbnRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SGludENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtoaW50Rm9ya1JlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUZXh0PXtoaW50VGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUcmlnZ2VyPXtoaW50VHJpZ2dlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzSGludFZpc2libGU9e2lzSGludFZpc2libGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGFyZ2V0SWNvbj17aGludFRhcmdldEljb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50UGxhY2VtZW50PXtoaW50UGxhY2VtZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludEhhc0Fycm93PXtoaW50SGFzQXJyb3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50T2Zmc2V0PXtoaW50T2Zmc2V0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFdpZHRoPXtoaW50V2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50Q29udGVudExlZnQ9e2hpbnRDb250ZW50TGVmdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRTaG93PXtoYW5kbGVIaW50U2hvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRIaWRlPXtoYW5kbGVIaW50SGlkZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRDbGljaz17aGFuZGxlSGludENsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSGludFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3JlcXVpcmVkICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLm91dGVyTGFiZWxQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFBsYWNlbWVudENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzSGludENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dE5vZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSW5kaWNhdG9yV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0aXRsZUNhcHRpb24gJiYgPFRpdGxlQ2FwdGlvbj57dGl0bGVDYXB0aW9ufTwvVGl0bGVDYXB0aW9uPn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvT3V0ZXJMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDxJbnB1dFdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlZiDQtNC70Y8g0LLQvdGD0YLRgNC10L3QvdC10LPQviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjy4g0J3QtSDQvtGC0LTQsNC10YLRgdGPINC90LDRgNGD0LbRgy5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17KHJlc3QgYXMgYW55KS5pbnB1dFdyYXBwZXJSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiAjMTU0NCwg0Lgg0L/QvtGB0LvQtSDRg9Cx0YDQsNGC0YwgY2xhc3Nlcy5pbnB1dFdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aEhhc0NoaXBzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXJXaXRob3V0TGVmdENvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JhcHBlcldpdGhvdXRSaWdodENvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5pbnB1dFdyYXBwZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7IWhhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyZXF1aXJlZCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChjbGFzc2VzLmlubmVyTGFiZWxQbGFjZW1lbnQsIHJlcXVpcmVkUGxhY2VtZW50Q2xhc3MpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hpbnRUZXh0ICYmIGhpbnRUYXJnZXRQbGFjZW1lbnQgPT09ICdvdXRlcicgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEhpbnRXcmFwcGVyIGNsYXNzTmFtZT17Y2xhc3Nlcy5pbm5lckxhYmVsUGxhY2VtZW50fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SGludENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2hpbnRGb3JrUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGV4dD17aGludFRleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUcmlnZ2VyPXtoaW50VHJpZ2dlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNIaW50VmlzaWJsZT17aXNIaW50VmlzaWJsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRhcmdldEljb249e2hpbnRUYXJnZXRJY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50UGxhY2VtZW50PXtoaW50UGxhY2VtZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50SGFzQXJyb3c9e2hpbnRIYXNBcnJvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludE9mZnNldD17aGludE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFdpZHRoPXtoaW50V2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRDb250ZW50TGVmdD17aGludENvbnRlbnRMZWZ0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50U2hvdz17aGFuZGxlSGludFNob3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRIaWRlPXtoYW5kbGVIaW50SGlkZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludENsaWNrPXtoYW5kbGVIaW50Q2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzSW5uZXJMYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEhpbnRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjb250ZW50TGVmdCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZENvbnRlbnRMZWZ0IGlzQ2xlYXI9e2NsZWFyfSBpc0RlZmF1bHRWaWV3PXtpc0RlZmF1bHRWaWV3fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NvbnRlbnRMZWZ0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQ29udGVudExlZnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0TGFiZWxXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiSW5kZXg9ey0xfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17Y29udGVudFJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbktleURvd249e2hhbmRsZUNvbnRlbnRLZXlEb3dufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17d2l0aEhhc0NoaXBzfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtCb29sZWFuKHRleHRCZWZvcmUgJiYgaXNDaGlwRW51bWVyYXRpb24pICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZFRleHRCZWZvcmU+e3RleHRCZWZvcmV9PC9TdHlsZWRUZXh0QmVmb3JlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzQ2hpcEVudW1lcmF0aW9uICYmIEJvb2xlYW4oY2hpcHM/Lmxlbmd0aCkgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkQ2hpcHMgY2xhc3NOYW1lPXtjbGFzc2VzLmNoaXBzV3JhcHBlcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2hpcHM/Lm1hcCgoeyBpZDogY2hpcElkLCB0ZXh0IH0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsaWRhdGlvblZpZXcgPSBjaGlwVmFsaWRhdG9yPy4oU3RyaW5nKHRleHQpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNWaWV3ID0gdmFsaWRhdGlvblZpZXc/LnZpZXcgfHwgY2hpcFZpZXc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGV4dEZpZWxkQ2hpcFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e2NoaXBJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17KGVsZW1lbnQpID0+IGdldFJlZihlbGVtZW50LCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2Ake2NoaXBJZH1fJHtpbmRleH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3RleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0PXt0ZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXsoZXZlbnQpID0+IGhhbmRsZUNoaXBLZXlEb3duKGV2ZW50LCBjaGlwSWQsIGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xlYXI9eygpID0+IG9uQ2hpcENsZWFyKGNoaXBJZCwgaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17b25DaGlwQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlwVHlwZT17Y2hpcFR5cGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3PXtyZXNWaWV3fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9vdFdyYXBwZXI9e1Jvb3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiAjMTU0N1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2ZvcmNlQ2hpcE1hbmlwdWxhdGlvbldpdGhSZWFkb25seT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3QgYXMgYW55KS5fZm9yY2VDaGlwTWFuaXB1bGF0aW9uV2l0aFJlYWRvbmx5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZENoaXBzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0Q29udGFpbmVyIHJlZj17aW5wdXRDb250YWluZXJSZWZ9IGhhc0R5bmFtaWNXaWR0aD17aGFzVGV4dEFmdGVyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc1RleHRCZWZvcmUgJiYgPFN0eWxlZFRleHRCZWZvcmU+e3RleHRCZWZvcmV9PC9TdHlsZWRUZXh0QmVmb3JlPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2lucHV0Rm9ya1JlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPXtpbm5lcklkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e291dGVyVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2xhYmVsSWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtoZWxwZXJUZXh0SWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17aW5uZXJQbGFjZWhvbGRlclZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChoYXNWYWx1ZUNsYXNzLCBrZWVwUGxhY2Vob2xkZXJDbGFzcyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17IWRpc2FibGVkICYmIHJlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25JbnB1dD17aGFuZGxlSW5wdXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVPbktleURvd259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQmx1cj17aGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzSW5uZXJMYWJlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGFiZWwgaWQ9e2xhYmVsSWR9IGh0bWxGb3I9e2lubmVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbm5lckxhYmVsVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dE5vZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cGxhY2Vob2xkZXJTaG93biAmJiAhaGFzVmFsdWUgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0UGxhY2Vob2xkZXIgaGFzUGFkZGluZz17aGFzUGxhY2Vob2xkZXJQYWRkaW5nfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzVGV4dEJlZm9yZSAmJiA8U3R5bGVkVGV4dEJlZm9yZSBpc0hpZGRlbj57dGV4dEJlZm9yZX08L1N0eWxlZFRleHRCZWZvcmU+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbm5lclBsYWNlaG9sZGVyVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc1BsYWNlaG9sZGVyT3B0aW9uYWwgJiYgb3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5wdXRQbGFjZWhvbGRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc1RleHRBZnRlciAmJiA8U3R5bGVkVGV4dEFmdGVyPnt0ZXh0QWZ0ZXJ9PC9TdHlsZWRUZXh0QWZ0ZXI+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5wdXRDb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0lucHV0TGFiZWxXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZENvbnRlbnRSaWdodFdyYXBwZXIgY2xhc3NOYW1lPXtjeChjb250ZW50UmlnaHRDb21wZW5zYXRpb25NYXJnaW4pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y29udGVudFJpZ2h0ICYmIDxTdHlsZWRDb250ZW50UmlnaHQ+e2NvbnRlbnRSaWdodH08L1N0eWxlZENvbnRlbnRSaWdodD59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IWhhc091dGVyTGFiZWwgJiYgaGludFRleHQgJiYgaGludFRhcmdldFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxIaW50Q29tcG9uZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2hpbnRGb3JrUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRleHQ9e2hpbnRUZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRyaWdnZXI9e2hpbnRUcmlnZ2VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNIaW50VmlzaWJsZT17aXNIaW50VmlzaWJsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUYXJnZXRJY29uPXtoaW50VGFyZ2V0SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRQbGFjZW1lbnQ9e2hpbnRQbGFjZW1lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50SGFzQXJyb3c9e2hpbnRIYXNBcnJvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRPZmZzZXQ9e2hpbnRPZmZzZXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50V2lkdGg9e2hpbnRXaWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRDb250ZW50TGVmdD17aGludENvbnRlbnRMZWZ0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRTaG93PXtoYW5kbGVIaW50U2hvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRIaWRlPXtoYW5kbGVIaW50SGlkZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRDbGljaz17aGFuZGxlSGludENsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNJbm5lckxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQ29udGVudFJpZ2h0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9JbnB1dFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIHtsZWZ0SGVscGVyICYmIDxMZWZ0SGVscGVyIGlkPXtoZWxwZXJUZXh0SWR9PntsZWZ0SGVscGVyfTwvTGVmdEhlbHBlcj59XG4gICAgICAgICAgICAgICAgPC9Sb290PlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICApO1xuXG5leHBvcnQgY29uc3QgdGV4dEZpZWxkQ29uZmlnID0ge1xuICAgIG5hbWU6ICdUZXh0RmllbGQnLFxuICAgIHRhZzogJ2RpdicsXG4gICAgbGF5b3V0OiB0ZXh0RmllbGRSb290LFxuICAgIGJhc2UsXG4gICAgdmFyaWF0aW9uczoge1xuICAgICAgICB2aWV3OiB7XG4gICAgICAgICAgICBjc3M6IHZpZXdDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIGNzczogc2l6ZUNTUyxcbiAgICAgICAgfSxcbiAgICAgICAgY2xlYXI6IHtcbiAgICAgICAgICAgIGNzczogY2xlYXJDU1MsXG4gICAgICAgICAgICBhdHRyczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgZGlzYWJsZWQ6IHtcbiAgICAgICAgICAgIGNzczogZGlzYWJsZWRDU1MsXG4gICAgICAgICAgICBhdHRyczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVhZE9ubHk6IHtcbiAgICAgICAgICAgIGNzczogcmVhZE9ubHlDU1MsXG4gICAgICAgICAgICBhdHRyczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgbGFiZWxQbGFjZW1lbnQ6IHtcbiAgICAgICAgICAgIGNzczogbGFiZWxQbGFjZW1lbnRDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGhpbnRWaWV3OiB7XG4gICAgICAgICAgICBjc3M6IGhpbnRWaWV3Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBoaW50U2l6ZToge1xuICAgICAgICAgICAgY3NzOiBoaW50U2l6ZUNTUyxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIGRlZmF1bHRzOiB7XG4gICAgICAgIHNpemU6ICdtJyxcbiAgICAgICAgdmlldzogJ2RlZmF1bHQnLFxuICAgIH0sXG59O1xuIl19 */",
48
48
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
49
49
  };
50
50
  var HINT_DEFAULT_OFFSET = [0, 0];
@@ -413,7 +413,7 @@ var textFieldRoot = exports.textFieldRoot = function textFieldRoot(Root) {
413
413
  ref: inputForkRef,
414
414
  id: innerId,
415
415
  value: outerValue,
416
- required: enumerationType === 'chip' ? chips.length === 0 && required : required,
416
+ required: required,
417
417
  "aria-labelledby": labelId,
418
418
  "aria-describedby": helperTextId,
419
419
  placeholder: innerPlaceholderValue,
@@ -15,7 +15,7 @@ var _base2 = /*#__PURE__*/require("./variations/_size/base");
15
15
  var _base3 = /*#__PURE__*/require("./variations/_pilled/base");
16
16
  var _base4 = /*#__PURE__*/require("./variations/_closeIconType/base");
17
17
  var _Toast2 = /*#__PURE__*/require("./Toast.styles");
18
- var _excluded = ["role", "width", "text", "hasClose", "contentLeft", "view", "size", "pilled", "className", "style", "closeIconType", "onCloseButtonClick"];
18
+ var _excluded = ["role", "width", "text", "hasClose", "contentLeft", "view", "size", "pilled", "className", "style", "closeIconType", "onCloseButtonClick", "textColor"];
19
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
20
20
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
21
21
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -42,6 +42,7 @@ var toastRoot = exports.toastRoot = function toastRoot(Root) {
42
42
  style = props.style,
43
43
  closeIconType = props.closeIconType,
44
44
  onCloseButtonClick = props.onCloseButtonClick,
45
+ textColor = props.textColor,
45
46
  rest = _objectWithoutProperties(props, _excluded);
46
47
  var pilledClass = pilled ? _Toast.classes.toastPilled : undefined;
47
48
  var fixedWidth = !Number.isNaN(Number(width)) ? "".concat(width, "%") : width;
@@ -65,7 +66,9 @@ var toastRoot = exports.toastRoot = function toastRoot(Root) {
65
66
  role: role,
66
67
  "aria-live": ariaLive,
67
68
  "aria-atomic": ariaAtomic
68
- }, rest), contentLeft && /*#__PURE__*/_react["default"].createElement(_Toast2.StyledContentLeft, null, contentLeft), /*#__PURE__*/_react["default"].createElement(_Toast2.StyledContent, null, text), hasClose && /*#__PURE__*/_react["default"].createElement(_Toast2.CloseIconWrapper, {
69
+ }, rest), contentLeft && /*#__PURE__*/_react["default"].createElement(_Toast2.StyledContentLeft, null, contentLeft), /*#__PURE__*/_react["default"].createElement(_Toast2.StyledContent, {
70
+ textColor: textColor
71
+ }, text), hasClose && /*#__PURE__*/_react["default"].createElement(_Toast2.CloseIconWrapper, {
69
72
  view: "clear",
70
73
  size: "s",
71
74
  onClick: onCloseButtonClick,