payload 2.24.0 → 2.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/admin/components/elements/EditUpload/index.d.ts +12 -4
  2. package/dist/admin/components/elements/EditUpload/index.d.ts.map +1 -1
  3. package/dist/admin/components/elements/EditUpload/index.js +41 -40
  4. package/dist/admin/components/views/collections/Edit/Upload/index.d.ts.map +1 -1
  5. package/dist/admin/components/views/collections/Edit/Upload/index.js +18 -4
  6. package/dist/admin/components/views/collections/Edit/types.d.ts +0 -12
  7. package/dist/admin/components/views/collections/Edit/types.d.ts.map +1 -1
  8. package/dist/collections/config/types.d.ts.map +1 -1
  9. package/dist/collections/config/types.js +1 -1
  10. package/dist/exports/types.d.ts +1 -1
  11. package/dist/exports/types.d.ts.map +1 -1
  12. package/dist/exports/types.js +1 -1
  13. package/dist/translations/ar.json +1 -1
  14. package/dist/translations/az.json +1 -1
  15. package/dist/translations/bg.json +1 -1
  16. package/dist/translations/cs.json +1 -1
  17. package/dist/translations/de.json +1 -1
  18. package/dist/translations/en.json +1 -1
  19. package/dist/translations/es.json +1 -1
  20. package/dist/translations/fa.json +1 -1
  21. package/dist/translations/fr.json +1 -1
  22. package/dist/translations/hr.json +1 -1
  23. package/dist/translations/hu.json +1 -1
  24. package/dist/translations/index.d.ts +30 -30
  25. package/dist/translations/it.json +1 -1
  26. package/dist/translations/ja.json +1 -1
  27. package/dist/translations/ko.json +1 -1
  28. package/dist/translations/my.json +1 -1
  29. package/dist/translations/nb.json +1 -1
  30. package/dist/translations/nl.json +1 -1
  31. package/dist/translations/pl.json +1 -1
  32. package/dist/translations/pt.json +1 -1
  33. package/dist/translations/ro.json +1 -1
  34. package/dist/translations/rs-latin.json +1 -1
  35. package/dist/translations/rs.json +1 -1
  36. package/dist/translations/ru.json +1 -1
  37. package/dist/translations/sv.json +1 -1
  38. package/dist/translations/th.json +1 -1
  39. package/dist/translations/tr.json +1 -1
  40. package/dist/translations/translation-schema.json +1 -1
  41. package/dist/translations/ua.json +1 -1
  42. package/dist/translations/vi.json +1 -1
  43. package/dist/translations/zh-tw.json +1 -1
  44. package/dist/translations/zh.json +1 -1
  45. package/dist/uploads/cropImage.d.ts +15 -6
  46. package/dist/uploads/cropImage.d.ts.map +1 -1
  47. package/dist/uploads/cropImage.js +6 -6
  48. package/dist/uploads/generateFileData.d.ts.map +1 -1
  49. package/dist/uploads/generateFileData.js +6 -4
  50. package/dist/uploads/imageResizer.d.ts.map +1 -1
  51. package/dist/uploads/imageResizer.js +117 -84
  52. package/dist/uploads/types.d.ts +16 -10
  53. package/dist/uploads/types.d.ts.map +1 -1
  54. package/package.json +1 -1
  55. package/types.d.ts +1 -1
  56. package/types.js +1 -1
@@ -1,13 +1,21 @@
1
1
  import React from 'react';
2
2
  import 'react-image-crop/dist/ReactCrop.css';
3
- import type { Data } from '../../forms/Form/types';
3
+ import type { UploadEdits } from '../../../../uploads/types';
4
4
  import './index.scss';
5
- export declare const EditUpload: React.FC<{
6
- doc?: Data;
5
+ type FocalPosition = {
6
+ x: number;
7
+ y: number;
8
+ };
9
+ export type EditUploadProps = {
7
10
  fileName: string;
8
11
  fileSrc: string;
9
12
  imageCacheTag?: string;
13
+ initialCrop?: UploadEdits['crop'];
14
+ initialFocalPoint?: FocalPosition;
15
+ onSave?: (uploadEdits: UploadEdits) => void;
10
16
  showCrop?: boolean;
11
17
  showFocalPoint?: boolean;
12
- }>;
18
+ };
19
+ export declare const EditUpload: React.FC<EditUploadProps>;
20
+ export {};
13
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/elements/EditUpload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAG3D,OAAO,qCAAqC,CAAA;AAE5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAMlD,OAAO,cAAc,CAAA;AAgCrB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,GAAG,CAAC,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAiQA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/elements/EditUpload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAG3D,OAAO,qCAAqC,CAAA;AAE5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAK5D,OAAO,cAAc,CAAA;AA2BrB,KAAK,aAAa,GAAG;IACnB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACjC,iBAAiB,CAAC,EAAE,aAAa,CAAA;IACjC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAA;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAUD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsQhD,CAAA"}
@@ -14,7 +14,6 @@ const _reacti18next = require("react-i18next");
14
14
  const _reactimagecrop = /*#__PURE__*/ _interop_require_default(require("react-image-crop"));
15
15
  require("react-image-crop/dist/ReactCrop.css");
16
16
  const _Plus = /*#__PURE__*/ _interop_require_default(require("../../icons/Plus"));
17
- const _UploadEdits = require("../../utilities/UploadEdits");
18
17
  const _Upload = require("../../views/collections/Edit/Upload");
19
18
  const _Button = /*#__PURE__*/ _interop_require_default(require("../Button"));
20
19
  require("./index.scss");
@@ -77,45 +76,51 @@ const Input = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
77
76
  value: value
78
77
  }));
79
78
  });
80
- const EditUpload = ({ doc, fileName, fileSrc, imageCacheTag, showCrop, showFocalPoint })=>{
79
+ const defaultCrop = {
80
+ height: 100,
81
+ unit: '%',
82
+ width: 100,
83
+ x: 0,
84
+ y: 0
85
+ };
86
+ const EditUpload = ({ fileName, fileSrc, imageCacheTag, initialCrop, initialFocalPoint, onSave, showCrop, showFocalPoint })=>{
81
87
  const { closeModal } = (0, _modal.useModal)();
82
88
  const { t } = (0, _reacti18next.useTranslation)([
83
89
  'general',
84
90
  'upload'
85
91
  ]);
86
- const { updateUploadEdits, uploadEdits } = (0, _UploadEdits.useUploadEdits)();
87
- const [focalPosition, setFocalPosition] = (0, _react.useState)({
88
- x: uploadEdits?.focalPoint?.x || doc.focalX || 50,
89
- y: uploadEdits?.focalPoint?.y || doc.focalY || 50
90
- });
92
+ const [crop, setCrop] = (0, _react.useState)(()=>({
93
+ ...defaultCrop,
94
+ ...initialCrop || {}
95
+ }));
96
+ const defaultFocalPosition = {
97
+ x: 50,
98
+ y: 50
99
+ };
100
+ const [focalPosition, setFocalPosition] = (0, _react.useState)(()=>({
101
+ ...defaultFocalPosition,
102
+ ...initialFocalPoint
103
+ }));
91
104
  const [checkBounds, setCheckBounds] = (0, _react.useState)(false);
92
- const [originalHeight, setOriginalHeight] = (0, _react.useState)(0);
93
- const [originalWidth, setOriginalWidth] = (0, _react.useState)(0);
105
+ const [uncroppedPixelHeight, setUncroppedPixelHeight] = (0, _react.useState)(0);
106
+ const [uncroppedPixelWidth, setUncroppedPixelWidth] = (0, _react.useState)(0);
94
107
  const focalWrapRef = (0, _react.useRef)();
95
108
  const imageRef = (0, _react.useRef)();
96
109
  const cropRef = (0, _react.useRef)();
97
- const heightRef = (0, _react.useRef)(null);
98
- const widthRef = (0, _react.useRef)(null);
99
- const [crop, setCrop] = (0, _react.useState)({
100
- height: 100,
101
- heightPixels: 0,
102
- unit: '%',
103
- width: 100,
104
- widthPixels: 0,
105
- x: 0,
106
- y: 0
107
- });
110
+ const heightInputRef = (0, _react.useRef)(null);
111
+ const widthInputRef = (0, _react.useRef)(null);
108
112
  const [imageLoaded, setImageLoaded] = (0, _react.useState)(false);
109
113
  const onImageLoad = (e)=>{
110
- setOriginalHeight(e.currentTarget.naturalHeight);
111
- setOriginalWidth(e.currentTarget.naturalWidth);
114
+ // set the default image height/width on load
115
+ setUncroppedPixelHeight(e.currentTarget.naturalHeight);
116
+ setUncroppedPixelWidth(e.currentTarget.naturalWidth);
112
117
  setImageLoaded(true);
113
118
  };
114
119
  const fineTuneCrop = ({ dimension, value })=>{
115
120
  const intValue = parseInt(value);
116
- if (dimension === 'width' && intValue >= originalWidth) return null;
117
- if (dimension === 'height' && intValue >= originalHeight) return null;
118
- const percentage = 100 * (intValue / (dimension === 'width' ? originalWidth : originalHeight));
121
+ if (dimension === 'width' && intValue >= uncroppedPixelWidth) return null;
122
+ if (dimension === 'height' && intValue >= uncroppedPixelHeight) return null;
123
+ const percentage = 100 * (intValue / (dimension === 'width' ? uncroppedPixelWidth : uncroppedPixelHeight));
119
124
  if (percentage === 100 || percentage === 0) return null;
120
125
  setCrop({
121
126
  ...crop,
@@ -132,13 +137,11 @@ const EditUpload = ({ doc, fileName, fileSrc, imageCacheTag, showCrop, showFocal
132
137
  }
133
138
  };
134
139
  const saveEdits = ()=>{
135
- updateUploadEdits({
136
- crop: crop ? {
137
- ...crop,
138
- heightPixels: Number(heightRef.current?.value ?? crop.heightPixels),
139
- widthPixels: Number(widthRef.current?.value ?? crop.widthPixels)
140
- } : undefined,
141
- focalPoint: focalPosition ? focalPosition : undefined
140
+ if (typeof onSave === 'function') onSave({
141
+ crop: crop ? crop : undefined,
142
+ focalPoint: focalPosition,
143
+ heightInPixels: Number(heightInputRef?.current?.value ?? uncroppedPixelHeight),
144
+ widthInPixels: Number(widthInputRef?.current?.value ?? uncroppedPixelWidth)
142
145
  });
143
146
  closeModal(_Upload.editDrawerSlug);
144
147
  };
@@ -187,7 +190,7 @@ const EditUpload = ({ doc, fileName, fileSrc, imageCacheTag, showCrop, showFocal
187
190
  className: `${baseClass}__focal-wrapper`,
188
191
  ref: focalWrapRef,
189
192
  style: {
190
- aspectRatio: `${originalWidth / originalHeight}`
193
+ aspectRatio: `${uncroppedPixelWidth / uncroppedPixelHeight}`
191
194
  }
192
195
  }, showCrop ? /*#__PURE__*/ _react.default.createElement(_reactimagecrop.default, {
193
196
  className: `${baseClass}__reactCrop`,
@@ -229,10 +232,8 @@ const EditUpload = ({ doc, fileName, fileSrc, imageCacheTag, showCrop, showFocal
229
232
  className: `${baseClass}__reset`,
230
233
  onClick: ()=>setCrop({
231
234
  height: 100,
232
- heightPixels: originalHeight,
233
235
  unit: '%',
234
236
  width: 100,
235
- widthPixels: originalWidth,
236
237
  x: 0,
237
238
  y: 0
238
239
  })
@@ -246,16 +247,16 @@ const EditUpload = ({ doc, fileName, fileSrc, imageCacheTag, showCrop, showFocal
246
247
  dimension: 'width',
247
248
  value
248
249
  }),
249
- ref: widthRef,
250
- value: (crop.width / 100 * originalWidth).toFixed(0)
250
+ ref: widthInputRef,
251
+ value: (crop.width / 100 * uncroppedPixelWidth).toFixed(0)
251
252
  }), /*#__PURE__*/ _react.default.createElement(Input, {
252
253
  name: `${t('upload:height')} (px)`,
253
254
  onChange: (value)=>fineTuneCrop({
254
255
  dimension: 'height',
255
256
  value
256
257
  }),
257
- ref: heightRef,
258
- value: (crop.height / 100 * originalHeight).toFixed(0)
258
+ ref: heightInputRef,
259
+ value: (crop.height / 100 * uncroppedPixelHeight).toFixed(0)
259
260
  }))), showFocalPoint && /*#__PURE__*/ _react.default.createElement("div", {
260
261
  className: `${baseClass}__groupWrap`
261
262
  }, /*#__PURE__*/ _react.default.createElement("div", null, /*#__PURE__*/ _react.default.createElement("div", {
@@ -402,4 +403,4 @@ const DraggableElement = ({ boundsRef, checkBounds, children, className, contain
402
403
  }, children), /*#__PURE__*/ _react.default.createElement("div", null));
403
404
  };
404
405
 
405
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL0VkaXRVcGxvYWQvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZU1vZGFsIH0gZnJvbSAnQGZhY2VsZXNzLXVpL21vZGFsJ1xuaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCBSZWFjdENyb3AsIHsgdHlwZSBDcm9wIGFzIENyb3BUeXBlIH0gZnJvbSAncmVhY3QtaW1hZ2UtY3JvcCdcbmltcG9ydCAncmVhY3QtaW1hZ2UtY3JvcC9kaXN0L1JlYWN0Q3JvcC5jc3MnXG5cbmltcG9ydCB0eXBlIHsgRGF0YSB9IGZyb20gJy4uLy4uL2Zvcm1zL0Zvcm0vdHlwZXMnXG5cbmltcG9ydCBQbHVzIGZyb20gJy4uLy4uL2ljb25zL1BsdXMnXG5pbXBvcnQgeyB1c2VVcGxvYWRFZGl0cyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9VcGxvYWRFZGl0cydcbmltcG9ydCB7IGVkaXREcmF3ZXJTbHVnIH0gZnJvbSAnLi4vLi4vdmlld3MvY29sbGVjdGlvbnMvRWRpdC9VcGxvYWQnXG5pbXBvcnQgQnV0dG9uIGZyb20gJy4uL0J1dHRvbidcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnZWRpdC11cGxvYWQnXG5cbnR5cGUgUHJvcHMgPSB7XG4gIG5hbWU6IHN0cmluZ1xuICBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWRcbiAgdmFsdWU6IHN0cmluZ1xufVxuXG5jb25zdCBJbnB1dCA9IGZvcndhcmRSZWY8SFRNTElucHV0RWxlbWVudCwgUHJvcHM+KChwcm9wcywgcmVmKSA9PiB7XG4gIGNvbnN0IHsgbmFtZSwgb25DaGFuZ2UsIHZhbHVlIH0gPSBwcm9wc1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2lucHV0YH0+XG4gICAgICB7bmFtZX1cbiAgICAgIDxpbnB1dFxuICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICBvbkNoYW5nZT17KGUpID0+IG9uQ2hhbmdlKGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAvPlxuICAgIDwvZGl2PlxuICApXG59KVxuXG50eXBlIEZvY2FsUG9zaXRpb24gPSB7XG4gIHg6IG51bWJlclxuICB5OiBudW1iZXJcbn1cblxuZXhwb3J0IGNvbnN0IEVkaXRVcGxvYWQ6IFJlYWN0LkZDPHtcbiAgZG9jPzogRGF0YVxuICBmaWxlTmFtZTogc3RyaW5nXG4gIGZpbGVTcmM6IHN0cmluZ1xuICBpbWFnZUNhY2hlVGFnPzogc3RyaW5nXG4gIHNob3dDcm9wPzogYm9vbGVhblxuICBzaG93Rm9jYWxQb2ludD86IGJvb2xlYW5cbn0+ID0gKHsgZG9jLCBmaWxlTmFtZSwgZmlsZVNyYywgaW1hZ2VDYWNoZVRhZywgc2hvd0Nyb3AsIHNob3dGb2NhbFBvaW50IH0pID0+IHtcbiAgY29uc3QgeyBjbG9zZU1vZGFsIH0gPSB1c2VNb2RhbCgpXG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oWydnZW5lcmFsJywgJ3VwbG9hZCddKVxuICBjb25zdCB7IHVwZGF0ZVVwbG9hZEVkaXRzLCB1cGxvYWRFZGl0cyB9ID0gdXNlVXBsb2FkRWRpdHMoKVxuXG4gIGNvbnN0IFtmb2NhbFBvc2l0aW9uLCBzZXRGb2NhbFBvc2l0aW9uXSA9IHVzZVN0YXRlPEZvY2FsUG9zaXRpb24+KHtcbiAgICB4OiB1cGxvYWRFZGl0cz8uZm9jYWxQb2ludD8ueCB8fCBkb2MuZm9jYWxYIHx8IDUwLFxuICAgIHk6IHVwbG9hZEVkaXRzPy5mb2NhbFBvaW50Py55IHx8IGRvYy5mb2NhbFkgfHwgNTAsXG4gIH0pXG5cbiAgY29uc3QgW2NoZWNrQm91bmRzLCBzZXRDaGVja0JvdW5kc10gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSlcbiAgY29uc3QgW29yaWdpbmFsSGVpZ2h0LCBzZXRPcmlnaW5hbEhlaWdodF0gPSB1c2VTdGF0ZTxudW1iZXI+KDApXG4gIGNvbnN0IFtvcmlnaW5hbFdpZHRoLCBzZXRPcmlnaW5hbFdpZHRoXSA9IHVzZVN0YXRlPG51bWJlcj4oMClcblxuICBjb25zdCBmb2NhbFdyYXBSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCB1bmRlZmluZWQ+KClcbiAgY29uc3QgaW1hZ2VSZWYgPSB1c2VSZWY8SFRNTEltYWdlRWxlbWVudCB8IHVuZGVmaW5lZD4oKVxuICBjb25zdCBjcm9wUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgdW5kZWZpbmVkPigpXG5cbiAgY29uc3QgaGVpZ2h0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsPihudWxsKVxuICBjb25zdCB3aWR0aFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50IHwgbnVsbD4obnVsbClcblxuICBjb25zdCBbY3JvcCwgc2V0Q3JvcF0gPSB1c2VTdGF0ZTxDcm9wVHlwZT4oe1xuICAgIGhlaWdodDogMTAwLFxuICAgIGhlaWdodFBpeGVsczogMCxcbiAgICB1bml0OiAnJScsXG4gICAgd2lkdGg6IDEwMCxcbiAgICB3aWR0aFBpeGVsczogMCxcbiAgICB4OiAwLFxuICAgIHk6IDAsXG4gIH0pXG5cbiAgY29uc3QgW2ltYWdlTG9hZGVkLCBzZXRJbWFnZUxvYWRlZF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSlcblxuICBjb25zdCBvbkltYWdlTG9hZCA9IChlKSA9PiB7XG4gICAgc2V0T3JpZ2luYWxIZWlnaHQoZS5jdXJyZW50VGFyZ2V0Lm5hdHVyYWxIZWlnaHQpXG4gICAgc2V0T3JpZ2luYWxXaWR0aChlLmN1cnJlbnRUYXJnZXQubmF0dXJhbFdpZHRoKVxuICAgIHNldEltYWdlTG9hZGVkKHRydWUpXG4gIH1cblxuICBjb25zdCBmaW5lVHVuZUNyb3AgPSAoeyBkaW1lbnNpb24sIHZhbHVlIH06IHsgZGltZW5zaW9uOiAnaGVpZ2h0JyB8ICd3aWR0aCc7IHZhbHVlOiBzdHJpbmcgfSkgPT4ge1xuICAgIGNvbnN0IGludFZhbHVlID0gcGFyc2VJbnQodmFsdWUpXG4gICAgaWYgKGRpbWVuc2lvbiA9PT0gJ3dpZHRoJyAmJiBpbnRWYWx1ZSA+PSBvcmlnaW5hbFdpZHRoKSByZXR1cm4gbnVsbFxuICAgIGlmIChkaW1lbnNpb24gPT09ICdoZWlnaHQnICYmIGludFZhbHVlID49IG9yaWdpbmFsSGVpZ2h0KSByZXR1cm4gbnVsbFxuXG4gICAgY29uc3QgcGVyY2VudGFnZSA9IDEwMCAqIChpbnRWYWx1ZSAvIChkaW1lbnNpb24gPT09ICd3aWR0aCcgPyBvcmlnaW5hbFdpZHRoIDogb3JpZ2luYWxIZWlnaHQpKVxuXG4gICAgaWYgKHBlcmNlbnRhZ2UgPT09IDEwMCB8fCBwZXJjZW50YWdlID09PSAwKSByZXR1cm4gbnVsbFxuXG4gICAgc2V0Q3JvcCh7XG4gICAgICAuLi5jcm9wLFxuICAgICAgW2RpbWVuc2lvbl06IHBlcmNlbnRhZ2UsXG4gICAgfSlcbiAgfVxuXG4gIGNvbnN0IGZpbmVUdW5lRm9jYWxQb3NpdGlvbiA9ICh7XG4gICAgY29vcmRpbmF0ZSxcbiAgICB2YWx1ZSxcbiAgfToge1xuICAgIGNvb3JkaW5hdGU6ICd4JyB8ICd5J1xuICAgIHZhbHVlOiBzdHJpbmdcbiAgfSkgPT4ge1xuICAgIGNvbnN0IGludFZhbHVlID0gcGFyc2VJbnQodmFsdWUpXG4gICAgaWYgKGludFZhbHVlID49IDAgJiYgaW50VmFsdWUgPD0gMTAwKSB7XG4gICAgICBzZXRGb2NhbFBvc2l0aW9uKChwcmV2UG9zaXRpb24pID0+ICh7IC4uLnByZXZQb3NpdGlvbiwgW2Nvb3JkaW5hdGVdOiBpbnRWYWx1ZSB9KSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBzYXZlRWRpdHMgPSAoKSA9PiB7XG4gICAgdXBkYXRlVXBsb2FkRWRpdHMoe1xuICAgICAgY3JvcDogY3JvcFxuICAgICAgICA/IHtcbiAgICAgICAgICAgIC4uLmNyb3AsXG4gICAgICAgICAgICBoZWlnaHRQaXhlbHM6IE51bWJlcihoZWlnaHRSZWYuY3VycmVudD8udmFsdWUgPz8gY3JvcC5oZWlnaHRQaXhlbHMpLFxuICAgICAgICAgICAgd2lkdGhQaXhlbHM6IE51bWJlcih3aWR0aFJlZi5jdXJyZW50Py52YWx1ZSA/PyBjcm9wLndpZHRoUGl4ZWxzKSxcbiAgICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgZm9jYWxQb2ludDogZm9jYWxQb3NpdGlvbiA/IGZvY2FsUG9zaXRpb24gOiB1bmRlZmluZWQsXG4gICAgfSlcbiAgICBjbG9zZU1vZGFsKGVkaXREcmF3ZXJTbHVnKVxuICB9XG5cbiAgY29uc3Qgb25EcmFnRW5kID0gUmVhY3QudXNlQ2FsbGJhY2soKHsgeCwgeSB9KSA9PiB7XG4gICAgc2V0Rm9jYWxQb3NpdGlvbih7IHgsIHkgfSlcbiAgICBzZXRDaGVja0JvdW5kcyhmYWxzZSlcbiAgfSwgW10pXG5cbiAgY29uc3QgY2VudGVyRm9jYWxQb2ludCA9ICgpID0+IHtcbiAgICBjb25zdCBjb250YWluZXJSZWN0ID0gZm9jYWxXcmFwUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICBjb25zdCBib3VuZHNSZWN0ID0gc2hvd0Nyb3BcbiAgICAgID8gY3JvcFJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgICA6IGltYWdlUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICBjb25zdCB4Q2VudGVyID1cbiAgICAgICgoYm91bmRzUmVjdC5sZWZ0IC0gY29udGFpbmVyUmVjdC5sZWZ0ICsgYm91bmRzUmVjdC53aWR0aCAvIDIpIC8gY29udGFpbmVyUmVjdC53aWR0aCkgKiAxMDBcbiAgICBjb25zdCB5Q2VudGVyID1cbiAgICAgICgoYm91bmRzUmVjdC50b3AgLSBjb250YWluZXJSZWN0LnRvcCArIGJvdW5kc1JlY3QuaGVpZ2h0IC8gMikgLyBjb250YWluZXJSZWN0LmhlaWdodCkgKiAxMDBcbiAgICBzZXRGb2NhbFBvc2l0aW9uKHsgeDogeENlbnRlciwgeTogeUNlbnRlciB9KVxuICB9XG5cbiAgY29uc3QgZmlsZVNyY1RvVXNlID0gaW1hZ2VDYWNoZVRhZyA/IGAke2ZpbGVTcmN9PyR7aW1hZ2VDYWNoZVRhZ31gIDogZmlsZVNyY1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2Jhc2VDbGFzc30+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faGVhZGVyYH0+XG4gICAgICAgIDxoMiB0aXRsZT17YCR7dCgnZ2VuZXJhbDplZGl0aW5nJyl9ICR7ZmlsZU5hbWV9YH0+XG4gICAgICAgICAge3QoJ2dlbmVyYWw6ZWRpdGluZycpfSB7ZmlsZU5hbWV9XG4gICAgICAgIDwvaDI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19hY3Rpb25zYH0+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY2FuY2VsJyl9XG4gICAgICAgICAgICBidXR0b25TdHlsZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2NhbmNlbGB9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBjbG9zZU1vZGFsKGVkaXREcmF3ZXJTbHVnKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dCgnZ2VuZXJhbDpjYW5jZWwnKX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdnZW5lcmFsOmFwcGx5Q2hhbmdlcycpfVxuICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fc2F2ZWB9XG4gICAgICAgICAgICBkaXNhYmxlZD17IWltYWdlTG9hZGVkfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2F2ZUVkaXRzKCl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3QoJ2dlbmVyYWw6YXBwbHlDaGFuZ2VzJyl9XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fdG9vbFdyYXBgfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2Nyb3BgfT5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2ZvY2FsLXdyYXBwZXJgfVxuICAgICAgICAgICAgcmVmPXtmb2NhbFdyYXBSZWZ9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBhc3BlY3RSYXRpbzogYCR7b3JpZ2luYWxXaWR0aCAvIG9yaWdpbmFsSGVpZ2h0fWAsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtzaG93Q3JvcCA/IChcbiAgICAgICAgICAgICAgPFJlYWN0Q3JvcFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fcmVhY3RDcm9wYH1cbiAgICAgICAgICAgICAgICBjcm9wPXtjcm9wfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoXywgYykgPT4gc2V0Q3JvcChjKX1cbiAgICAgICAgICAgICAgICBvbkNvbXBsZXRlPXsoKSA9PiBzZXRDaGVja0JvdW5kcyh0cnVlKX1cbiAgICAgICAgICAgICAgICByZW5kZXJTZWxlY3Rpb25BZGRvbj17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19jcm9wLXdpbmRvd2B9IHJlZj17Y3JvcFJlZn0gLz5cbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgYWx0PXt0KCd1cGxvYWQ6c2V0Q3JvcEFyZWEnKX1cbiAgICAgICAgICAgICAgICAgIG9uTG9hZD17b25JbWFnZUxvYWR9XG4gICAgICAgICAgICAgICAgICByZWY9e2ltYWdlUmVmfVxuICAgICAgICAgICAgICAgICAgc3JjPXtmaWxlU3JjVG9Vc2V9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9SZWFjdENyb3A+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgYWx0PXt0KCd1cGxvYWQ6c2V0Rm9jYWxQb2ludCcpfVxuICAgICAgICAgICAgICAgIG9uTG9hZD17b25JbWFnZUxvYWR9XG4gICAgICAgICAgICAgICAgcmVmPXtpbWFnZVJlZn1cbiAgICAgICAgICAgICAgICBzcmM9e2ZpbGVTcmNUb1VzZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7c2hvd0ZvY2FsUG9pbnQgJiYgKFxuICAgICAgICAgICAgICA8RHJhZ2dhYmxlRWxlbWVudFxuICAgICAgICAgICAgICAgIGJvdW5kc1JlZj17c2hvd0Nyb3AgPyBjcm9wUmVmIDogaW1hZ2VSZWZ9XG4gICAgICAgICAgICAgICAgY2hlY2tCb3VuZHM9e3Nob3dDcm9wID8gY2hlY2tCb3VuZHMgOiBmYWxzZX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2ZvY2FsUG9pbnRgfVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclJlZj17Zm9jYWxXcmFwUmVmfVxuICAgICAgICAgICAgICAgIGluaXRpYWxQb3NpdGlvbj17Zm9jYWxQb3NpdGlvbn1cbiAgICAgICAgICAgICAgICBvbkRyYWdFbmQ9e29uRHJhZ0VuZH1cbiAgICAgICAgICAgICAgICBzZXRDaGVja0JvdW5kcz17c2hvd0Nyb3AgPyBzZXRDaGVja0JvdW5kcyA6IGZhbHNlfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFBsdXMgLz5cbiAgICAgICAgICAgICAgPC9EcmFnZ2FibGVFbGVtZW50PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIHsoc2hvd0Nyb3AgfHwgc2hvd0ZvY2FsUG9pbnQpICYmIChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fc2lkZWJhcmB9PlxuICAgICAgICAgICAge3Nob3dDcm9wICYmIChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2dyb3VwV3JhcGB9PlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fdGl0bGVXcmFwYH0+XG4gICAgICAgICAgICAgICAgICAgIDxoMz57dCgndXBsb2FkOmNyb3AnKX08L2gzPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3Jlc2V0YH1cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0Q3JvcCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHRQaXhlbHM6IG9yaWdpbmFsSGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0OiAnJScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoUGl4ZWxzOiBvcmlnaW5hbFdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB4OiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB5OiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7dCgnZ2VuZXJhbDpyZXNldCcpfVxuICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZGVzY3JpcHRpb25gfT5cbiAgICAgICAgICAgICAgICAgIHt0KCd1cGxvYWQ6Y3JvcFRvb2xEZXNjcmlwdGlvbicpfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faW5wdXRzV3JhcGB9PlxuICAgICAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e2Ake3QoJ3VwbG9hZDp3aWR0aCcpfSAocHgpYH1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZSkgPT4gZmluZVR1bmVDcm9wKHsgZGltZW5zaW9uOiAnd2lkdGgnLCB2YWx1ZSB9KX1cbiAgICAgICAgICAgICAgICAgICAgcmVmPXt3aWR0aFJlZn1cbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9eygoY3JvcC53aWR0aCAvIDEwMCkgKiBvcmlnaW5hbFdpZHRoKS50b0ZpeGVkKDApfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgICBuYW1lPXtgJHt0KCd1cGxvYWQ6aGVpZ2h0Jyl9IChweClgfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlKSA9PiBmaW5lVHVuZUNyb3AoeyBkaW1lbnNpb246ICdoZWlnaHQnLCB2YWx1ZSB9KX1cbiAgICAgICAgICAgICAgICAgICAgcmVmPXtoZWlnaHRSZWZ9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXsoKGNyb3AuaGVpZ2h0IC8gMTAwKSAqIG9yaWdpbmFsSGVpZ2h0KS50b0ZpeGVkKDApfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAgICB7c2hvd0ZvY2FsUG9pbnQgJiYgKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZ3JvdXBXcmFwYH0+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X190aXRsZVdyYXBgfT5cbiAgICAgICAgICAgICAgICAgICAgPGgzPnt0KCd1cGxvYWQ6Zm9jYWxQb2ludCcpfTwvaDM+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBidXR0b25TdHlsZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fcmVzZXRgfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2NlbnRlckZvY2FsUG9pbnR9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7dCgnZ2VuZXJhbDpyZXNldCcpfVxuICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZGVzY3JpcHRpb25gfT5cbiAgICAgICAgICAgICAgICAgIHt0KCd1cGxvYWQ6Zm9jYWxQb2ludERlc2NyaXB0aW9uJyl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19pbnB1dHNXcmFwYH0+XG4gICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cIlggJVwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsodmFsdWUpID0+IGZpbmVUdW5lRm9jYWxQb3NpdGlvbih7IGNvb3JkaW5hdGU6ICd4JywgdmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtmb2NhbFBvc2l0aW9uLngudG9GaXhlZCgwKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cIlkgJVwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsodmFsdWUpID0+IGZpbmVUdW5lRm9jYWxQb3NpdGlvbih7IGNvb3JkaW5hdGU6ICd5JywgdmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtmb2NhbFBvc2l0aW9uLnkudG9GaXhlZCgwKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG5cbmNvbnN0IERyYWdnYWJsZUVsZW1lbnQgPSAoe1xuICBib3VuZHNSZWYsXG4gIGNoZWNrQm91bmRzLFxuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICBjb250YWluZXJSZWYsXG4gIGluaXRpYWxQb3NpdGlvbiA9IHsgeDogNTAsIHk6IDUwIH0sXG4gIG9uRHJhZ0VuZCxcbiAgc2V0Q2hlY2tCb3VuZHMsXG59KSA9PiB7XG4gIGNvbnN0IFtwb3NpdGlvbiwgc2V0UG9zaXRpb25dID0gdXNlU3RhdGUoeyB4OiBpbml0aWFsUG9zaXRpb24ueCwgeTogaW5pdGlhbFBvc2l0aW9uLnkgfSlcbiAgY29uc3QgW2lzRHJhZ2dpbmcsIHNldElzRHJhZ2dpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IGRyYWdSZWYgPSB1c2VSZWY8SFRNTEJ1dHRvbkVsZW1lbnQgfCB1bmRlZmluZWQ+KClcblxuICBjb25zdCBnZXRDb29yZGluYXRlcyA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgIChtb3VzZVhBcmc/OiBudW1iZXIsIG1vdXNlWUFyZz86IG51bWJlciwgcmVjZW50ZXI/OiBib29sZWFuKSA9PiB7XG4gICAgICBjb25zdCBjb250YWluZXJSZWN0ID0gY29udGFpbmVyUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgIGNvbnN0IGJvdW5kc1JlY3QgPSBib3VuZHNSZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgY29uc3QgbW91c2VYID0gbW91c2VYQXJnID8/IGJvdW5kc1JlY3QubGVmdFxuICAgICAgY29uc3QgbW91c2VZID0gbW91c2VZQXJnID8/IGJvdW5kc1JlY3QudG9wXG5cbiAgICAgIGNvbnN0IHhPdXRPZkJvdW5kcyA9IG1vdXNlWCA8IGJvdW5kc1JlY3QubGVmdCB8fCBtb3VzZVggPiBib3VuZHNSZWN0LnJpZ2h0XG4gICAgICBjb25zdCB5T3V0T2ZCb3VuZHMgPSBtb3VzZVkgPCBib3VuZHNSZWN0LnRvcCB8fCBtb3VzZVkgPiBib3VuZHNSZWN0LmJvdHRvbVxuXG4gICAgICBsZXQgeCA9ICgobW91c2VYIC0gY29udGFpbmVyUmVjdC5sZWZ0KSAvIGNvbnRhaW5lclJlY3Qud2lkdGgpICogMTAwXG4gICAgICBsZXQgeSA9ICgobW91c2VZIC0gY29udGFpbmVyUmVjdC50b3ApIC8gY29udGFpbmVyUmVjdC5oZWlnaHQpICogMTAwXG4gICAgICBjb25zdCB4Q2VudGVyID1cbiAgICAgICAgKChib3VuZHNSZWN0LmxlZnQgLSBjb250YWluZXJSZWN0LmxlZnQgKyBib3VuZHNSZWN0LndpZHRoIC8gMikgLyBjb250YWluZXJSZWN0LndpZHRoKSAqIDEwMFxuICAgICAgY29uc3QgeUNlbnRlciA9XG4gICAgICAgICgoYm91bmRzUmVjdC50b3AgLSBjb250YWluZXJSZWN0LnRvcCArIGJvdW5kc1JlY3QuaGVpZ2h0IC8gMikgLyBjb250YWluZXJSZWN0LmhlaWdodCkgKiAxMDBcbiAgICAgIGlmICh4T3V0T2ZCb3VuZHMgfHwgeU91dE9mQm91bmRzKSB7XG4gICAgICAgIHNldElzRHJhZ2dpbmcoZmFsc2UpXG4gICAgICAgIGlmIChtb3VzZVggPCBib3VuZHNSZWN0LmxlZnQpIHtcbiAgICAgICAgICB4ID0gKChib3VuZHNSZWN0LmxlZnQgLSBjb250YWluZXJSZWN0LmxlZnQpIC8gY29udGFpbmVyUmVjdC53aWR0aCkgKiAxMDBcbiAgICAgICAgfSBlbHNlIGlmIChtb3VzZVggPiBib3VuZHNSZWN0LnJpZ2h0KSB7XG4gICAgICAgICAgeCA9XG4gICAgICAgICAgICAoKGNvbnRhaW5lclJlY3Qud2lkdGggLSAoY29udGFpbmVyUmVjdC5yaWdodCAtIGJvdW5kc1JlY3QucmlnaHQpKSAvXG4gICAgICAgICAgICAgIGNvbnRhaW5lclJlY3Qud2lkdGgpICpcbiAgICAgICAgICAgIDEwMFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1vdXNlWSA8IGJvdW5kc1JlY3QudG9wKSB7XG4gICAgICAgICAgeSA9ICgoYm91bmRzUmVjdC50b3AgLSBjb250YWluZXJSZWN0LnRvcCkgLyBjb250YWluZXJSZWN0LmhlaWdodCkgKiAxMDBcbiAgICAgICAgfSBlbHNlIGlmIChtb3VzZVkgPiBib3VuZHNSZWN0LmJvdHRvbSkge1xuICAgICAgICAgIHkgPVxuICAgICAgICAgICAgKChjb250YWluZXJSZWN0LmhlaWdodCAtIChjb250YWluZXJSZWN0LmJvdHRvbSAtIGJvdW5kc1JlY3QuYm90dG9tKSkgL1xuICAgICAgICAgICAgICBjb250YWluZXJSZWN0LmhlaWdodCkgKlxuICAgICAgICAgICAgMTAwXG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVjZW50ZXIpIHtcbiAgICAgICAgICB4ID0geE91dE9mQm91bmRzID8geENlbnRlciA6IHhcbiAgICAgICAgICB5ID0geU91dE9mQm91bmRzID8geUNlbnRlciA6IHlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4geyB4LCB5IH1cbiAgICB9LFxuICAgIFtib3VuZHNSZWYsIGNvbnRhaW5lclJlZl0sXG4gIClcblxuICBjb25zdCBoYW5kbGVNb3VzZURvd24gPSAoZXZlbnQpID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgc2V0SXNEcmFnZ2luZyh0cnVlKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlTW91c2VNb3ZlID0gKGV2ZW50KSA9PiB7XG4gICAgaWYgKCFpc0RyYWdnaW5nKSByZXR1cm4gbnVsbFxuICAgIGNvbnN0IHsgeCwgeSB9ID0gZ2V0Q29vcmRpbmF0ZXMoZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSlcblxuICAgIHNldFBvc2l0aW9uKHsgeCwgeSB9KVxuICB9XG5cbiAgY29uc3Qgb25Ecm9wID0gKCkgPT4ge1xuICAgIHNldElzRHJhZ2dpbmcoZmFsc2UpXG4gICAgb25EcmFnRW5kKHBvc2l0aW9uKVxuICB9XG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNEcmFnZ2luZyB8fCAhZHJhZ1JlZi5jdXJyZW50KSByZXR1cm5cbiAgICBpZiAoY2hlY2tCb3VuZHMpIHtcbiAgICAgIGNvbnN0IHsgaGVpZ2h0LCBsZWZ0LCB0b3AsIHdpZHRoIH0gPSBkcmFnUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgIGNvbnN0IHsgeCwgeSB9ID0gZ2V0Q29vcmRpbmF0ZXMobGVmdCArIHdpZHRoIC8gMiwgdG9wICsgaGVpZ2h0IC8gMiwgdHJ1ZSlcbiAgICAgIG9uRHJhZ0VuZCh7IHgsIHkgfSlcbiAgICAgIHNldFBvc2l0aW9uKHsgeCwgeSB9KVxuICAgICAgc2V0Q2hlY2tCb3VuZHMoZmFsc2UpXG4gICAgICByZXR1cm5cbiAgICB9XG4gIH0sIFtnZXRDb29yZGluYXRlcywgaXNEcmFnZ2luZywgY2hlY2tCb3VuZHMsIHNldENoZWNrQm91bmRzLCBwb3NpdGlvbi54LCBwb3NpdGlvbi55LCBvbkRyYWdFbmRdKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0UG9zaXRpb24oeyB4OiBpbml0aWFsUG9zaXRpb24ueCwgeTogaW5pdGlhbFBvc2l0aW9uLnkgfSlcbiAgfSwgW2luaXRpYWxQb3NpdGlvbi54LCBpbml0aWFsUG9zaXRpb24ueV0pXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e1tcbiAgICAgICAgYCR7YmFzZUNsYXNzfV9fZHJhZ2dhYmxlLWNvbnRhaW5lcmAsXG4gICAgICAgIGlzRHJhZ2dpbmcgJiYgYCR7YmFzZUNsYXNzfV9fZHJhZ2dhYmxlLWNvbnRhaW5lci0tZHJhZ2dpbmdgLFxuICAgICAgXVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgIC5qb2luKCcgJyl9XG4gICAgICBvbk1vdXNlTW92ZT17aGFuZGxlTW91c2VNb3ZlfVxuICAgID5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3NOYW1lPXtbYCR7YmFzZUNsYXNzfV9fZHJhZ2dhYmxlYCwgY2xhc3NOYW1lXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpfVxuICAgICAgICBvbk1vdXNlRG93bj17aGFuZGxlTW91c2VEb3dufVxuICAgICAgICBvbk1vdXNlVXA9e29uRHJvcH1cbiAgICAgICAgcmVmPXtkcmFnUmVmfVxuICAgICAgICBzdHlsZT17eyBsZWZ0OiBgJHtwb3NpdGlvbi54fSVgLCB0b3A6IGAke3Bvc2l0aW9uLnl9JWAgfX1cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGRpdiAvPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiRWRpdFVwbG9hZCIsImJhc2VDbGFzcyIsIklucHV0IiwiZm9yd2FyZFJlZiIsInByb3BzIiwicmVmIiwibmFtZSIsIm9uQ2hhbmdlIiwidmFsdWUiLCJkaXYiLCJjbGFzc05hbWUiLCJpbnB1dCIsImUiLCJ0YXJnZXQiLCJ0eXBlIiwiZG9jIiwiZmlsZU5hbWUiLCJmaWxlU3JjIiwiaW1hZ2VDYWNoZVRhZyIsInNob3dDcm9wIiwic2hvd0ZvY2FsUG9pbnQiLCJjbG9zZU1vZGFsIiwidXNlTW9kYWwiLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJ1cGRhdGVVcGxvYWRFZGl0cyIsInVwbG9hZEVkaXRzIiwidXNlVXBsb2FkRWRpdHMiLCJmb2NhbFBvc2l0aW9uIiwic2V0Rm9jYWxQb3NpdGlvbiIsInVzZVN0YXRlIiwieCIsImZvY2FsUG9pbnQiLCJmb2NhbFgiLCJ5IiwiZm9jYWxZIiwiY2hlY2tCb3VuZHMiLCJzZXRDaGVja0JvdW5kcyIsIm9yaWdpbmFsSGVpZ2h0Iiwic2V0T3JpZ2luYWxIZWlnaHQiLCJvcmlnaW5hbFdpZHRoIiwic2V0T3JpZ2luYWxXaWR0aCIsImZvY2FsV3JhcFJlZiIsInVzZVJlZiIsImltYWdlUmVmIiwiY3JvcFJlZiIsImhlaWdodFJlZiIsIndpZHRoUmVmIiwiY3JvcCIsInNldENyb3AiLCJoZWlnaHQiLCJoZWlnaHRQaXhlbHMiLCJ1bml0Iiwid2lkdGgiLCJ3aWR0aFBpeGVscyIsImltYWdlTG9hZGVkIiwic2V0SW1hZ2VMb2FkZWQiLCJvbkltYWdlTG9hZCIsImN1cnJlbnRUYXJnZXQiLCJuYXR1cmFsSGVpZ2h0IiwibmF0dXJhbFdpZHRoIiwiZmluZVR1bmVDcm9wIiwiZGltZW5zaW9uIiwiaW50VmFsdWUiLCJwYXJzZUludCIsInBlcmNlbnRhZ2UiLCJmaW5lVHVuZUZvY2FsUG9zaXRpb24iLCJjb29yZGluYXRlIiwicHJldlBvc2l0aW9uIiwic2F2ZUVkaXRzIiwiTnVtYmVyIiwiY3VycmVudCIsInVuZGVmaW5lZCIsImVkaXREcmF3ZXJTbHVnIiwib25EcmFnRW5kIiwiUmVhY3QiLCJ1c2VDYWxsYmFjayIsImNlbnRlckZvY2FsUG9pbnQiLCJjb250YWluZXJSZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiYm91bmRzUmVjdCIsInhDZW50ZXIiLCJsZWZ0IiwieUNlbnRlciIsInRvcCIsImZpbGVTcmNUb1VzZSIsImgyIiwidGl0bGUiLCJCdXR0b24iLCJhcmlhLWxhYmVsIiwiYnV0dG9uU3R5bGUiLCJvbkNsaWNrIiwiZGlzYWJsZWQiLCJzdHlsZSIsImFzcGVjdFJhdGlvIiwiUmVhY3RDcm9wIiwiXyIsImMiLCJvbkNvbXBsZXRlIiwicmVuZGVyU2VsZWN0aW9uQWRkb24iLCJpbWciLCJhbHQiLCJvbkxvYWQiLCJzcmMiLCJEcmFnZ2FibGVFbGVtZW50IiwiYm91bmRzUmVmIiwiY29udGFpbmVyUmVmIiwiaW5pdGlhbFBvc2l0aW9uIiwiUGx1cyIsImgzIiwic3BhbiIsInRvRml4ZWQiLCJjaGlsZHJlbiIsInBvc2l0aW9uIiwic2V0UG9zaXRpb24iLCJpc0RyYWdnaW5nIiwic2V0SXNEcmFnZ2luZyIsImRyYWdSZWYiLCJnZXRDb29yZGluYXRlcyIsIm1vdXNlWEFyZyIsIm1vdXNlWUFyZyIsInJlY2VudGVyIiwibW91c2VYIiwibW91c2VZIiwieE91dE9mQm91bmRzIiwicmlnaHQiLCJ5T3V0T2ZCb3VuZHMiLCJib3R0b20iLCJoYW5kbGVNb3VzZURvd24iLCJldmVudCIsInByZXZlbnREZWZhdWx0IiwiaGFuZGxlTW91c2VNb3ZlIiwiY2xpZW50WCIsImNsaWVudFkiLCJvbkRyb3AiLCJ1c2VFZmZlY3QiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsIm9uTW91c2VNb3ZlIiwiYnV0dG9uIiwib25Nb3VzZURvd24iLCJvbk1vdXNlVXAiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7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
406
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL0VkaXRVcGxvYWQvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZU1vZGFsIH0gZnJvbSAnQGZhY2VsZXNzLXVpL21vZGFsJ1xuaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCBSZWFjdENyb3AgZnJvbSAncmVhY3QtaW1hZ2UtY3JvcCdcbmltcG9ydCAncmVhY3QtaW1hZ2UtY3JvcC9kaXN0L1JlYWN0Q3JvcC5jc3MnXG5cbmltcG9ydCB0eXBlIHsgVXBsb2FkRWRpdHMgfSBmcm9tICcuLi8uLi8uLi8uLi91cGxvYWRzL3R5cGVzJ1xuXG5pbXBvcnQgUGx1cyBmcm9tICcuLi8uLi9pY29ucy9QbHVzJ1xuaW1wb3J0IHsgZWRpdERyYXdlclNsdWcgfSBmcm9tICcuLi8uLi92aWV3cy9jb2xsZWN0aW9ucy9FZGl0L1VwbG9hZCdcbmltcG9ydCBCdXR0b24gZnJvbSAnLi4vQnV0dG9uJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdlZGl0LXVwbG9hZCdcblxudHlwZSBQcm9wcyA9IHtcbiAgbmFtZTogc3RyaW5nXG4gIG9uQ2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZFxuICB2YWx1ZTogc3RyaW5nXG59XG5cbmNvbnN0IElucHV0ID0gZm9yd2FyZFJlZjxIVE1MSW5wdXRFbGVtZW50LCBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgY29uc3QgeyBuYW1lLCBvbkNoYW5nZSwgdmFsdWUgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faW5wdXRgfT5cbiAgICAgIHtuYW1lfVxuICAgICAgPGlucHV0XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gb25DaGFuZ2UoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gIClcbn0pXG5cbnR5cGUgRm9jYWxQb3NpdGlvbiA9IHtcbiAgeDogbnVtYmVyXG4gIHk6IG51bWJlclxufVxuXG5leHBvcnQgdHlwZSBFZGl0VXBsb2FkUHJvcHMgPSB7XG4gIGZpbGVOYW1lOiBzdHJpbmdcbiAgZmlsZVNyYzogc3RyaW5nXG4gIGltYWdlQ2FjaGVUYWc/OiBzdHJpbmdcbiAgaW5pdGlhbENyb3A/OiBVcGxvYWRFZGl0c1snY3JvcCddXG4gIGluaXRpYWxGb2NhbFBvaW50PzogRm9jYWxQb3NpdGlvblxuICBvblNhdmU/OiAodXBsb2FkRWRpdHM6IFVwbG9hZEVkaXRzKSA9PiB2b2lkXG4gIHNob3dDcm9wPzogYm9vbGVhblxuICBzaG93Rm9jYWxQb2ludD86IGJvb2xlYW5cbn1cblxuY29uc3QgZGVmYXVsdENyb3A6IFVwbG9hZEVkaXRzWydjcm9wJ10gPSB7XG4gIGhlaWdodDogMTAwLFxuICB1bml0OiAnJScsXG4gIHdpZHRoOiAxMDAsXG4gIHg6IDAsXG4gIHk6IDAsXG59XG5cbmV4cG9ydCBjb25zdCBFZGl0VXBsb2FkOiBSZWFjdC5GQzxFZGl0VXBsb2FkUHJvcHM+ID0gKHtcbiAgZmlsZU5hbWUsXG4gIGZpbGVTcmMsXG4gIGltYWdlQ2FjaGVUYWcsXG4gIGluaXRpYWxDcm9wLFxuICBpbml0aWFsRm9jYWxQb2ludCxcbiAgb25TYXZlLFxuICBzaG93Q3JvcCxcbiAgc2hvd0ZvY2FsUG9pbnQsXG59KSA9PiB7XG4gIGNvbnN0IHsgY2xvc2VNb2RhbCB9ID0gdXNlTW9kYWwoKVxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFsnZ2VuZXJhbCcsICd1cGxvYWQnXSlcblxuICBjb25zdCBbY3JvcCwgc2V0Q3JvcF0gPSB1c2VTdGF0ZTxVcGxvYWRFZGl0c1snY3JvcCddPigoKSA9PiAoe1xuICAgIC4uLmRlZmF1bHRDcm9wLFxuICAgIC4uLihpbml0aWFsQ3JvcCB8fCB7fSksXG4gIH0pKVxuXG4gIGNvbnN0IGRlZmF1bHRGb2NhbFBvc2l0aW9uOiBGb2NhbFBvc2l0aW9uID0ge1xuICAgIHg6IDUwLFxuICAgIHk6IDUwLFxuICB9XG5cbiAgY29uc3QgW2ZvY2FsUG9zaXRpb24sIHNldEZvY2FsUG9zaXRpb25dID0gdXNlU3RhdGU8Rm9jYWxQb3NpdGlvbj4oKCkgPT4gKHtcbiAgICAuLi5kZWZhdWx0Rm9jYWxQb3NpdGlvbixcbiAgICAuLi5pbml0aWFsRm9jYWxQb2ludCxcbiAgfSkpXG5cbiAgY29uc3QgW2NoZWNrQm91bmRzLCBzZXRDaGVja0JvdW5kc10gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSlcbiAgY29uc3QgW3VuY3JvcHBlZFBpeGVsSGVpZ2h0LCBzZXRVbmNyb3BwZWRQaXhlbEhlaWdodF0gPSB1c2VTdGF0ZTxudW1iZXI+KDApXG4gIGNvbnN0IFt1bmNyb3BwZWRQaXhlbFdpZHRoLCBzZXRVbmNyb3BwZWRQaXhlbFdpZHRoXSA9IHVzZVN0YXRlPG51bWJlcj4oMClcblxuICBjb25zdCBmb2NhbFdyYXBSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCB1bmRlZmluZWQ+KClcbiAgY29uc3QgaW1hZ2VSZWYgPSB1c2VSZWY8SFRNTEltYWdlRWxlbWVudCB8IHVuZGVmaW5lZD4oKVxuICBjb25zdCBjcm9wUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgdW5kZWZpbmVkPigpXG5cbiAgY29uc3QgaGVpZ2h0SW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudCB8IG51bGw+KG51bGwpXG4gIGNvbnN0IHdpZHRoSW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudCB8IG51bGw+KG51bGwpXG5cbiAgY29uc3QgW2ltYWdlTG9hZGVkLCBzZXRJbWFnZUxvYWRlZF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSlcblxuICBjb25zdCBvbkltYWdlTG9hZCA9IChlKSA9PiB7XG4gICAgLy8gc2V0IHRoZSBkZWZhdWx0IGltYWdlIGhlaWdodC93aWR0aCBvbiBsb2FkXG4gICAgc2V0VW5jcm9wcGVkUGl4ZWxIZWlnaHQoZS5jdXJyZW50VGFyZ2V0Lm5hdHVyYWxIZWlnaHQpXG4gICAgc2V0VW5jcm9wcGVkUGl4ZWxXaWR0aChlLmN1cnJlbnRUYXJnZXQubmF0dXJhbFdpZHRoKVxuICAgIHNldEltYWdlTG9hZGVkKHRydWUpXG4gIH1cblxuICBjb25zdCBmaW5lVHVuZUNyb3AgPSAoeyBkaW1lbnNpb24sIHZhbHVlIH06IHsgZGltZW5zaW9uOiAnaGVpZ2h0JyB8ICd3aWR0aCc7IHZhbHVlOiBzdHJpbmcgfSkgPT4ge1xuICAgIGNvbnN0IGludFZhbHVlID0gcGFyc2VJbnQodmFsdWUpXG4gICAgaWYgKGRpbWVuc2lvbiA9PT0gJ3dpZHRoJyAmJiBpbnRWYWx1ZSA+PSB1bmNyb3BwZWRQaXhlbFdpZHRoKSByZXR1cm4gbnVsbFxuICAgIGlmIChkaW1lbnNpb24gPT09ICdoZWlnaHQnICYmIGludFZhbHVlID49IHVuY3JvcHBlZFBpeGVsSGVpZ2h0KSByZXR1cm4gbnVsbFxuXG4gICAgY29uc3QgcGVyY2VudGFnZSA9XG4gICAgICAxMDAgKiAoaW50VmFsdWUgLyAoZGltZW5zaW9uID09PSAnd2lkdGgnID8gdW5jcm9wcGVkUGl4ZWxXaWR0aCA6IHVuY3JvcHBlZFBpeGVsSGVpZ2h0KSlcblxuICAgIGlmIChwZXJjZW50YWdlID09PSAxMDAgfHwgcGVyY2VudGFnZSA9PT0gMCkgcmV0dXJuIG51bGxcblxuICAgIHNldENyb3Aoe1xuICAgICAgLi4uY3JvcCxcbiAgICAgIFtkaW1lbnNpb25dOiBwZXJjZW50YWdlLFxuICAgIH0pXG4gIH1cblxuICBjb25zdCBmaW5lVHVuZUZvY2FsUG9zaXRpb24gPSAoe1xuICAgIGNvb3JkaW5hdGUsXG4gICAgdmFsdWUsXG4gIH06IHtcbiAgICBjb29yZGluYXRlOiAneCcgfCAneSdcbiAgICB2YWx1ZTogc3RyaW5nXG4gIH0pID0+IHtcbiAgICBjb25zdCBpbnRWYWx1ZSA9IHBhcnNlSW50KHZhbHVlKVxuICAgIGlmIChpbnRWYWx1ZSA+PSAwICYmIGludFZhbHVlIDw9IDEwMCkge1xuICAgICAgc2V0Rm9jYWxQb3NpdGlvbigocHJldlBvc2l0aW9uKSA9PiAoeyAuLi5wcmV2UG9zaXRpb24sIFtjb29yZGluYXRlXTogaW50VmFsdWUgfSkpXG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc2F2ZUVkaXRzID0gKCkgPT4ge1xuICAgIGlmICh0eXBlb2Ygb25TYXZlID09PSAnZnVuY3Rpb24nKVxuICAgICAgb25TYXZlKHtcbiAgICAgICAgY3JvcDogY3JvcCA/IGNyb3AgOiB1bmRlZmluZWQsXG4gICAgICAgIGZvY2FsUG9pbnQ6IGZvY2FsUG9zaXRpb24sXG4gICAgICAgIGhlaWdodEluUGl4ZWxzOiBOdW1iZXIoaGVpZ2h0SW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlID8/IHVuY3JvcHBlZFBpeGVsSGVpZ2h0KSxcbiAgICAgICAgd2lkdGhJblBpeGVsczogTnVtYmVyKHdpZHRoSW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlID8/IHVuY3JvcHBlZFBpeGVsV2lkdGgpLFxuICAgICAgfSlcbiAgICBjbG9zZU1vZGFsKGVkaXREcmF3ZXJTbHVnKVxuICB9XG5cbiAgY29uc3Qgb25EcmFnRW5kID0gUmVhY3QudXNlQ2FsbGJhY2soKHsgeCwgeSB9KSA9PiB7XG4gICAgc2V0Rm9jYWxQb3NpdGlvbih7IHgsIHkgfSlcbiAgICBzZXRDaGVja0JvdW5kcyhmYWxzZSlcbiAgfSwgW10pXG5cbiAgY29uc3QgY2VudGVyRm9jYWxQb2ludCA9ICgpID0+IHtcbiAgICBjb25zdCBjb250YWluZXJSZWN0ID0gZm9jYWxXcmFwUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICBjb25zdCBib3VuZHNSZWN0ID0gc2hvd0Nyb3BcbiAgICAgID8gY3JvcFJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgICA6IGltYWdlUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICBjb25zdCB4Q2VudGVyID1cbiAgICAgICgoYm91bmRzUmVjdC5sZWZ0IC0gY29udGFpbmVyUmVjdC5sZWZ0ICsgYm91bmRzUmVjdC53aWR0aCAvIDIpIC8gY29udGFpbmVyUmVjdC53aWR0aCkgKiAxMDBcbiAgICBjb25zdCB5Q2VudGVyID1cbiAgICAgICgoYm91bmRzUmVjdC50b3AgLSBjb250YWluZXJSZWN0LnRvcCArIGJvdW5kc1JlY3QuaGVpZ2h0IC8gMikgLyBjb250YWluZXJSZWN0LmhlaWdodCkgKiAxMDBcbiAgICBzZXRGb2NhbFBvc2l0aW9uKHsgeDogeENlbnRlciwgeTogeUNlbnRlciB9KVxuICB9XG5cbiAgY29uc3QgZmlsZVNyY1RvVXNlID0gaW1hZ2VDYWNoZVRhZyA/IGAke2ZpbGVTcmN9PyR7aW1hZ2VDYWNoZVRhZ31gIDogZmlsZVNyY1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2Jhc2VDbGFzc30+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faGVhZGVyYH0+XG4gICAgICAgIDxoMiB0aXRsZT17YCR7dCgnZ2VuZXJhbDplZGl0aW5nJyl9ICR7ZmlsZU5hbWV9YH0+XG4gICAgICAgICAge3QoJ2dlbmVyYWw6ZWRpdGluZycpfSB7ZmlsZU5hbWV9XG4gICAgICAgIDwvaDI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19hY3Rpb25zYH0+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY2FuY2VsJyl9XG4gICAgICAgICAgICBidXR0b25TdHlsZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2NhbmNlbGB9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBjbG9zZU1vZGFsKGVkaXREcmF3ZXJTbHVnKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dCgnZ2VuZXJhbDpjYW5jZWwnKX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdnZW5lcmFsOmFwcGx5Q2hhbmdlcycpfVxuICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fc2F2ZWB9XG4gICAgICAgICAgICBkaXNhYmxlZD17IWltYWdlTG9hZGVkfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2F2ZUVkaXRzKCl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3QoJ2dlbmVyYWw6YXBwbHlDaGFuZ2VzJyl9XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fdG9vbFdyYXBgfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2Nyb3BgfT5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2ZvY2FsLXdyYXBwZXJgfVxuICAgICAgICAgICAgcmVmPXtmb2NhbFdyYXBSZWZ9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBhc3BlY3RSYXRpbzogYCR7dW5jcm9wcGVkUGl4ZWxXaWR0aCAvIHVuY3JvcHBlZFBpeGVsSGVpZ2h0fWAsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtzaG93Q3JvcCA/IChcbiAgICAgICAgICAgICAgPFJlYWN0Q3JvcFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fcmVhY3RDcm9wYH1cbiAgICAgICAgICAgICAgICBjcm9wPXtjcm9wfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoXywgYykgPT4gc2V0Q3JvcChjKX1cbiAgICAgICAgICAgICAgICBvbkNvbXBsZXRlPXsoKSA9PiBzZXRDaGVja0JvdW5kcyh0cnVlKX1cbiAgICAgICAgICAgICAgICByZW5kZXJTZWxlY3Rpb25BZGRvbj17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19jcm9wLXdpbmRvd2B9IHJlZj17Y3JvcFJlZn0gLz5cbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgYWx0PXt0KCd1cGxvYWQ6c2V0Q3JvcEFyZWEnKX1cbiAgICAgICAgICAgICAgICAgIG9uTG9hZD17b25JbWFnZUxvYWR9XG4gICAgICAgICAgICAgICAgICByZWY9e2ltYWdlUmVmfVxuICAgICAgICAgICAgICAgICAgc3JjPXtmaWxlU3JjVG9Vc2V9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9SZWFjdENyb3A+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgYWx0PXt0KCd1cGxvYWQ6c2V0Rm9jYWxQb2ludCcpfVxuICAgICAgICAgICAgICAgIG9uTG9hZD17b25JbWFnZUxvYWR9XG4gICAgICAgICAgICAgICAgcmVmPXtpbWFnZVJlZn1cbiAgICAgICAgICAgICAgICBzcmM9e2ZpbGVTcmNUb1VzZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7c2hvd0ZvY2FsUG9pbnQgJiYgKFxuICAgICAgICAgICAgICA8RHJhZ2dhYmxlRWxlbWVudFxuICAgICAgICAgICAgICAgIGJvdW5kc1JlZj17c2hvd0Nyb3AgPyBjcm9wUmVmIDogaW1hZ2VSZWZ9XG4gICAgICAgICAgICAgICAgY2hlY2tCb3VuZHM9e3Nob3dDcm9wID8gY2hlY2tCb3VuZHMgOiBmYWxzZX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2ZvY2FsUG9pbnRgfVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclJlZj17Zm9jYWxXcmFwUmVmfVxuICAgICAgICAgICAgICAgIGluaXRpYWxQb3NpdGlvbj17Zm9jYWxQb3NpdGlvbn1cbiAgICAgICAgICAgICAgICBvbkRyYWdFbmQ9e29uRHJhZ0VuZH1cbiAgICAgICAgICAgICAgICBzZXRDaGVja0JvdW5kcz17c2hvd0Nyb3AgPyBzZXRDaGVja0JvdW5kcyA6IGZhbHNlfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFBsdXMgLz5cbiAgICAgICAgICAgICAgPC9EcmFnZ2FibGVFbGVtZW50PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIHsoc2hvd0Nyb3AgfHwgc2hvd0ZvY2FsUG9pbnQpICYmIChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fc2lkZWJhcmB9PlxuICAgICAgICAgICAge3Nob3dDcm9wICYmIChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2dyb3VwV3JhcGB9PlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fdGl0bGVXcmFwYH0+XG4gICAgICAgICAgICAgICAgICAgIDxoMz57dCgndXBsb2FkOmNyb3AnKX08L2gzPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3Jlc2V0YH1cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0Q3JvcCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0OiAnJScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHg6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHk6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdnZW5lcmFsOnJlc2V0Jyl9XG4gICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19kZXNjcmlwdGlvbmB9PlxuICAgICAgICAgICAgICAgICAge3QoJ3VwbG9hZDpjcm9wVG9vbERlc2NyaXB0aW9uJyl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19pbnB1dHNXcmFwYH0+XG4gICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgbmFtZT17YCR7dCgndXBsb2FkOndpZHRoJyl9IChweClgfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlKSA9PiBmaW5lVHVuZUNyb3AoeyBkaW1lbnNpb246ICd3aWR0aCcsIHZhbHVlIH0pfVxuICAgICAgICAgICAgICAgICAgICByZWY9e3dpZHRoSW5wdXRSZWZ9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXsoKGNyb3Aud2lkdGggLyAxMDApICogdW5jcm9wcGVkUGl4ZWxXaWR0aCkudG9GaXhlZCgwKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgbmFtZT17YCR7dCgndXBsb2FkOmhlaWdodCcpfSAocHgpYH1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZSkgPT4gZmluZVR1bmVDcm9wKHsgZGltZW5zaW9uOiAnaGVpZ2h0JywgdmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAgIHJlZj17aGVpZ2h0SW5wdXRSZWZ9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXsoKGNyb3AuaGVpZ2h0IC8gMTAwKSAqIHVuY3JvcHBlZFBpeGVsSGVpZ2h0KS50b0ZpeGVkKDApfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAgICB7c2hvd0ZvY2FsUG9pbnQgJiYgKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZ3JvdXBXcmFwYH0+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X190aXRsZVdyYXBgfT5cbiAgICAgICAgICAgICAgICAgICAgPGgzPnt0KCd1cGxvYWQ6Zm9jYWxQb2ludCcpfTwvaDM+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBidXR0b25TdHlsZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fcmVzZXRgfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2NlbnRlckZvY2FsUG9pbnR9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7dCgnZ2VuZXJhbDpyZXNldCcpfVxuICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZGVzY3JpcHRpb25gfT5cbiAgICAgICAgICAgICAgICAgIHt0KCd1cGxvYWQ6Zm9jYWxQb2ludERlc2NyaXB0aW9uJyl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19pbnB1dHNXcmFwYH0+XG4gICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cIlggJVwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsodmFsdWUpID0+IGZpbmVUdW5lRm9jYWxQb3NpdGlvbih7IGNvb3JkaW5hdGU6ICd4JywgdmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtmb2NhbFBvc2l0aW9uLngudG9GaXhlZCgwKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cIlkgJVwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsodmFsdWUpID0+IGZpbmVUdW5lRm9jYWxQb3NpdGlvbih7IGNvb3JkaW5hdGU6ICd5JywgdmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtmb2NhbFBvc2l0aW9uLnkudG9GaXhlZCgwKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG5cbmNvbnN0IERyYWdnYWJsZUVsZW1lbnQgPSAoe1xuICBib3VuZHNSZWYsXG4gIGNoZWNrQm91bmRzLFxuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICBjb250YWluZXJSZWYsXG4gIGluaXRpYWxQb3NpdGlvbiA9IHsgeDogNTAsIHk6IDUwIH0sXG4gIG9uRHJhZ0VuZCxcbiAgc2V0Q2hlY2tCb3VuZHMsXG59KSA9PiB7XG4gIGNvbnN0IFtwb3NpdGlvbiwgc2V0UG9zaXRpb25dID0gdXNlU3RhdGUoeyB4OiBpbml0aWFsUG9zaXRpb24ueCwgeTogaW5pdGlhbFBvc2l0aW9uLnkgfSlcbiAgY29uc3QgW2lzRHJhZ2dpbmcsIHNldElzRHJhZ2dpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IGRyYWdSZWYgPSB1c2VSZWY8SFRNTEJ1dHRvbkVsZW1lbnQgfCB1bmRlZmluZWQ+KClcblxuICBjb25zdCBnZXRDb29yZGluYXRlcyA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgIChtb3VzZVhBcmc/OiBudW1iZXIsIG1vdXNlWUFyZz86IG51bWJlciwgcmVjZW50ZXI/OiBib29sZWFuKSA9PiB7XG4gICAgICBjb25zdCBjb250YWluZXJSZWN0ID0gY29udGFpbmVyUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgIGNvbnN0IGJvdW5kc1JlY3QgPSBib3VuZHNSZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgY29uc3QgbW91c2VYID0gbW91c2VYQXJnID8/IGJvdW5kc1JlY3QubGVmdFxuICAgICAgY29uc3QgbW91c2VZID0gbW91c2VZQXJnID8/IGJvdW5kc1JlY3QudG9wXG5cbiAgICAgIGNvbnN0IHhPdXRPZkJvdW5kcyA9IG1vdXNlWCA8IGJvdW5kc1JlY3QubGVmdCB8fCBtb3VzZVggPiBib3VuZHNSZWN0LnJpZ2h0XG4gICAgICBjb25zdCB5T3V0T2ZCb3VuZHMgPSBtb3VzZVkgPCBib3VuZHNSZWN0LnRvcCB8fCBtb3VzZVkgPiBib3VuZHNSZWN0LmJvdHRvbVxuXG4gICAgICBsZXQgeCA9ICgobW91c2VYIC0gY29udGFpbmVyUmVjdC5sZWZ0KSAvIGNvbnRhaW5lclJlY3Qud2lkdGgpICogMTAwXG4gICAgICBsZXQgeSA9ICgobW91c2VZIC0gY29udGFpbmVyUmVjdC50b3ApIC8gY29udGFpbmVyUmVjdC5oZWlnaHQpICogMTAwXG4gICAgICBjb25zdCB4Q2VudGVyID1cbiAgICAgICAgKChib3VuZHNSZWN0LmxlZnQgLSBjb250YWluZXJSZWN0LmxlZnQgKyBib3VuZHNSZWN0LndpZHRoIC8gMikgLyBjb250YWluZXJSZWN0LndpZHRoKSAqIDEwMFxuICAgICAgY29uc3QgeUNlbnRlciA9XG4gICAgICAgICgoYm91bmRzUmVjdC50b3AgLSBjb250YWluZXJSZWN0LnRvcCArIGJvdW5kc1JlY3QuaGVpZ2h0IC8gMikgLyBjb250YWluZXJSZWN0LmhlaWdodCkgKiAxMDBcbiAgICAgIGlmICh4T3V0T2ZCb3VuZHMgfHwgeU91dE9mQm91bmRzKSB7XG4gICAgICAgIHNldElzRHJhZ2dpbmcoZmFsc2UpXG4gICAgICAgIGlmIChtb3VzZVggPCBib3VuZHNSZWN0LmxlZnQpIHtcbiAgICAgICAgICB4ID0gKChib3VuZHNSZWN0LmxlZnQgLSBjb250YWluZXJSZWN0LmxlZnQpIC8gY29udGFpbmVyUmVjdC53aWR0aCkgKiAxMDBcbiAgICAgICAgfSBlbHNlIGlmIChtb3VzZVggPiBib3VuZHNSZWN0LnJpZ2h0KSB7XG4gICAgICAgICAgeCA9XG4gICAgICAgICAgICAoKGNvbnRhaW5lclJlY3Qud2lkdGggLSAoY29udGFpbmVyUmVjdC5yaWdodCAtIGJvdW5kc1JlY3QucmlnaHQpKSAvXG4gICAgICAgICAgICAgIGNvbnRhaW5lclJlY3Qud2lkdGgpICpcbiAgICAgICAgICAgIDEwMFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1vdXNlWSA8IGJvdW5kc1JlY3QudG9wKSB7XG4gICAgICAgICAgeSA9ICgoYm91bmRzUmVjdC50b3AgLSBjb250YWluZXJSZWN0LnRvcCkgLyBjb250YWluZXJSZWN0LmhlaWdodCkgKiAxMDBcbiAgICAgICAgfSBlbHNlIGlmIChtb3VzZVkgPiBib3VuZHNSZWN0LmJvdHRvbSkge1xuICAgICAgICAgIHkgPVxuICAgICAgICAgICAgKChjb250YWluZXJSZWN0LmhlaWdodCAtIChjb250YWluZXJSZWN0LmJvdHRvbSAtIGJvdW5kc1JlY3QuYm90dG9tKSkgL1xuICAgICAgICAgICAgICBjb250YWluZXJSZWN0LmhlaWdodCkgKlxuICAgICAgICAgICAgMTAwXG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVjZW50ZXIpIHtcbiAgICAgICAgICB4ID0geE91dE9mQm91bmRzID8geENlbnRlciA6IHhcbiAgICAgICAgICB5ID0geU91dE9mQm91bmRzID8geUNlbnRlciA6IHlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4geyB4LCB5IH1cbiAgICB9LFxuICAgIFtib3VuZHNSZWYsIGNvbnRhaW5lclJlZl0sXG4gIClcblxuICBjb25zdCBoYW5kbGVNb3VzZURvd24gPSAoZXZlbnQpID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgc2V0SXNEcmFnZ2luZyh0cnVlKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlTW91c2VNb3ZlID0gKGV2ZW50KSA9PiB7XG4gICAgaWYgKCFpc0RyYWdnaW5nKSByZXR1cm4gbnVsbFxuICAgIGNvbnN0IHsgeCwgeSB9ID0gZ2V0Q29vcmRpbmF0ZXMoZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSlcblxuICAgIHNldFBvc2l0aW9uKHsgeCwgeSB9KVxuICB9XG5cbiAgY29uc3Qgb25Ecm9wID0gKCkgPT4ge1xuICAgIHNldElzRHJhZ2dpbmcoZmFsc2UpXG4gICAgb25EcmFnRW5kKHBvc2l0aW9uKVxuICB9XG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNEcmFnZ2luZyB8fCAhZHJhZ1JlZi5jdXJyZW50KSByZXR1cm5cbiAgICBpZiAoY2hlY2tCb3VuZHMpIHtcbiAgICAgIGNvbnN0IHsgaGVpZ2h0LCBsZWZ0LCB0b3AsIHdpZHRoIH0gPSBkcmFnUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgIGNvbnN0IHsgeCwgeSB9ID0gZ2V0Q29vcmRpbmF0ZXMobGVmdCArIHdpZHRoIC8gMiwgdG9wICsgaGVpZ2h0IC8gMiwgdHJ1ZSlcbiAgICAgIG9uRHJhZ0VuZCh7IHgsIHkgfSlcbiAgICAgIHNldFBvc2l0aW9uKHsgeCwgeSB9KVxuICAgICAgc2V0Q2hlY2tCb3VuZHMoZmFsc2UpXG4gICAgICByZXR1cm5cbiAgICB9XG4gIH0sIFtnZXRDb29yZGluYXRlcywgaXNEcmFnZ2luZywgY2hlY2tCb3VuZHMsIHNldENoZWNrQm91bmRzLCBwb3NpdGlvbi54LCBwb3NpdGlvbi55LCBvbkRyYWdFbmRdKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0UG9zaXRpb24oeyB4OiBpbml0aWFsUG9zaXRpb24ueCwgeTogaW5pdGlhbFBvc2l0aW9uLnkgfSlcbiAgfSwgW2luaXRpYWxQb3NpdGlvbi54LCBpbml0aWFsUG9zaXRpb24ueV0pXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e1tcbiAgICAgICAgYCR7YmFzZUNsYXNzfV9fZHJhZ2dhYmxlLWNvbnRhaW5lcmAsXG4gICAgICAgIGlzRHJhZ2dpbmcgJiYgYCR7YmFzZUNsYXNzfV9fZHJhZ2dhYmxlLWNvbnRhaW5lci0tZHJhZ2dpbmdgLFxuICAgICAgXVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgIC5qb2luKCcgJyl9XG4gICAgICBvbk1vdXNlTW92ZT17aGFuZGxlTW91c2VNb3ZlfVxuICAgID5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3NOYW1lPXtbYCR7YmFzZUNsYXNzfV9fZHJhZ2dhYmxlYCwgY2xhc3NOYW1lXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpfVxuICAgICAgICBvbk1vdXNlRG93bj17aGFuZGxlTW91c2VEb3dufVxuICAgICAgICBvbk1vdXNlVXA9e29uRHJvcH1cbiAgICAgICAgcmVmPXtkcmFnUmVmfVxuICAgICAgICBzdHlsZT17eyBsZWZ0OiBgJHtwb3NpdGlvbi54fSVgLCB0b3A6IGAke3Bvc2l0aW9uLnl9JWAgfX1cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGRpdiAvPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiRWRpdFVwbG9hZCIsImJhc2VDbGFzcyIsIklucHV0IiwiZm9yd2FyZFJlZiIsInByb3BzIiwicmVmIiwibmFtZSIsIm9uQ2hhbmdlIiwidmFsdWUiLCJkaXYiLCJjbGFzc05hbWUiLCJpbnB1dCIsImUiLCJ0YXJnZXQiLCJ0eXBlIiwiZGVmYXVsdENyb3AiLCJoZWlnaHQiLCJ1bml0Iiwid2lkdGgiLCJ4IiwieSIsImZpbGVOYW1lIiwiZmlsZVNyYyIsImltYWdlQ2FjaGVUYWciLCJpbml0aWFsQ3JvcCIsImluaXRpYWxGb2NhbFBvaW50Iiwib25TYXZlIiwic2hvd0Nyb3AiLCJzaG93Rm9jYWxQb2ludCIsImNsb3NlTW9kYWwiLCJ1c2VNb2RhbCIsInQiLCJ1c2VUcmFuc2xhdGlvbiIsImNyb3AiLCJzZXRDcm9wIiwidXNlU3RhdGUiLCJkZWZhdWx0Rm9jYWxQb3NpdGlvbiIsImZvY2FsUG9zaXRpb24iLCJzZXRGb2NhbFBvc2l0aW9uIiwiY2hlY2tCb3VuZHMiLCJzZXRDaGVja0JvdW5kcyIsInVuY3JvcHBlZFBpeGVsSGVpZ2h0Iiwic2V0VW5jcm9wcGVkUGl4ZWxIZWlnaHQiLCJ1bmNyb3BwZWRQaXhlbFdpZHRoIiwic2V0VW5jcm9wcGVkUGl4ZWxXaWR0aCIsImZvY2FsV3JhcFJlZiIsInVzZVJlZiIsImltYWdlUmVmIiwiY3JvcFJlZiIsImhlaWdodElucHV0UmVmIiwid2lkdGhJbnB1dFJlZiIsImltYWdlTG9hZGVkIiwic2V0SW1hZ2VMb2FkZWQiLCJvbkltYWdlTG9hZCIsImN1cnJlbnRUYXJnZXQiLCJuYXR1cmFsSGVpZ2h0IiwibmF0dXJhbFdpZHRoIiwiZmluZVR1bmVDcm9wIiwiZGltZW5zaW9uIiwiaW50VmFsdWUiLCJwYXJzZUludCIsInBlcmNlbnRhZ2UiLCJmaW5lVHVuZUZvY2FsUG9zaXRpb24iLCJjb29yZGluYXRlIiwicHJldlBvc2l0aW9uIiwic2F2ZUVkaXRzIiwidW5kZWZpbmVkIiwiZm9jYWxQb2ludCIsImhlaWdodEluUGl4ZWxzIiwiTnVtYmVyIiwiY3VycmVudCIsIndpZHRoSW5QaXhlbHMiLCJlZGl0RHJhd2VyU2x1ZyIsIm9uRHJhZ0VuZCIsIlJlYWN0IiwidXNlQ2FsbGJhY2siLCJjZW50ZXJGb2NhbFBvaW50IiwiY29udGFpbmVyUmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImJvdW5kc1JlY3QiLCJ4Q2VudGVyIiwibGVmdCIsInlDZW50ZXIiLCJ0b3AiLCJmaWxlU3JjVG9Vc2UiLCJoMiIsInRpdGxlIiwiQnV0dG9uIiwiYXJpYS1sYWJlbCIsImJ1dHRvblN0eWxlIiwib25DbGljayIsImRpc2FibGVkIiwic3R5bGUiLCJhc3BlY3RSYXRpbyIsIlJlYWN0Q3JvcCIsIl8iLCJjIiwib25Db21wbGV0ZSIsInJlbmRlclNlbGVjdGlvbkFkZG9uIiwiaW1nIiwiYWx0Iiwib25Mb2FkIiwic3JjIiwiRHJhZ2dhYmxlRWxlbWVudCIsImJvdW5kc1JlZiIsImNvbnRhaW5lclJlZiIsImluaXRpYWxQb3NpdGlvbiIsIlBsdXMiLCJoMyIsInNwYW4iLCJ0b0ZpeGVkIiwiY2hpbGRyZW4iLCJwb3NpdGlvbiIsInNldFBvc2l0aW9uIiwiaXNEcmFnZ2luZyIsInNldElzRHJhZ2dpbmciLCJkcmFnUmVmIiwiZ2V0Q29vcmRpbmF0ZXMiLCJtb3VzZVhBcmciLCJtb3VzZVlBcmciLCJyZWNlbnRlciIsIm1vdXNlWCIsIm1vdXNlWSIsInhPdXRPZkJvdW5kcyIsInJpZ2h0IiwieU91dE9mQm91bmRzIiwiYm90dG9tIiwiaGFuZGxlTW91c2VEb3duIiwiZXZlbnQiLCJwcmV2ZW50RGVmYXVsdCIsImhhbmRsZU1vdXNlTW92ZSIsImNsaWVudFgiLCJjbGllbnRZIiwib25Ecm9wIiwidXNlRWZmZWN0IiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJvbk1vdXNlTW92ZSIsImJ1dHRvbiIsIm9uTW91c2VEb3duIiwib25Nb3VzZVVwIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiI7Ozs7K0JBOERhQTs7O2VBQUFBOzs7dUJBOURZOytEQUMyQjs4QkFDckI7dUVBQ1Q7UUFDZjs2REFJVTt3QkFDYzsrREFDWjtRQUNaOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVQLE1BQU1DLFlBQVk7QUFRbEIsTUFBTUMsc0JBQVFDLElBQUFBLGlCQUFVLEVBQTBCLENBQUNDLE9BQU9DO0lBQ3hELE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxRQUFRLEVBQUVDLEtBQUssRUFBRSxHQUFHSjtJQUVsQyxx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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/admin/components/views/collections/Edit/Upload/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAIvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAgBpC,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAU9C,eAAO,MAAM,aAAa;;;uBAgBzB,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAqPlC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/admin/components/views/collections/Edit/Upload/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAKvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAiBpC,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAU9C,eAAO,MAAM,aAAa;;;uBAgBzB,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAmQlC,CAAA"}
@@ -34,6 +34,7 @@ const _FileDetails = /*#__PURE__*/ _interop_require_default(require("../../../..
34
34
  const _PreviewSizes = /*#__PURE__*/ _interop_require_default(require("../../../../elements/PreviewSizes"));
35
35
  const _Thumbnail = /*#__PURE__*/ _interop_require_default(require("../../../../elements/Thumbnail"));
36
36
  const _Error = /*#__PURE__*/ _interop_require_default(require("../../../../forms/Error"));
37
+ const _context = require("../../../../forms/Form/context");
37
38
  const _reduceFieldsToValues = /*#__PURE__*/ _interop_require_default(require("../../../../forms/Form/reduceFieldsToValues"));
38
39
  const _shared = require("../../../../forms/field-types/shared");
39
40
  const _useField = /*#__PURE__*/ _interop_require_default(require("../../../../forms/useField"));
@@ -115,7 +116,8 @@ const Upload = (props)=>{
115
116
  'upload',
116
117
  'general'
117
118
  ]);
118
- const { resetUploadEdits } = (0, _UploadEdits.useUploadEdits)();
119
+ const { setModified } = (0, _context.useForm)();
120
+ const { resetUploadEdits, updateUploadEdits, uploadEdits } = (0, _UploadEdits.useUploadEdits)();
119
121
  const [doc, setDoc] = (0, _react.useState)((0, _reduceFieldsToValues.default)(internalState || {}, true));
120
122
  const { docPermissions } = (0, _DocumentInfo.useDocumentInfo)();
121
123
  const { errorMessage, setValue, showError, value } = (0, _useField.default)({
@@ -188,6 +190,13 @@ const Upload = (props)=>{
188
190
  handleFileChange,
189
191
  resetUploadEdits
190
192
  ]);
193
+ const onEditsSave = (0, _react.useCallback)((args)=>{
194
+ setModified(true);
195
+ updateUploadEdits(args);
196
+ }, [
197
+ setModified,
198
+ updateUploadEdits
199
+ ]);
191
200
  const handlePasteUrlClick = ()=>{
192
201
  setShowUrlInput((prev)=>!prev);
193
202
  };
@@ -269,7 +278,7 @@ const Upload = (props)=>{
269
278
  className: `${baseClass}__add-file`,
270
279
  onClick: handleUrlSubmit,
271
280
  type: "button"
272
- }, t('upload:addImage')))), /*#__PURE__*/ _react.default.createElement(_Button.default, {
281
+ }, t('upload:addFile')))), /*#__PURE__*/ _react.default.createElement(_Button.default, {
273
282
  buttonStyle: "icon-label",
274
283
  className: `${baseClass}__remove`,
275
284
  icon: "x",
@@ -303,10 +312,15 @@ const Upload = (props)=>{
303
312
  header: null,
304
313
  slug: editDrawerSlug
305
314
  }, /*#__PURE__*/ _react.default.createElement(_EditUpload.EditUpload, {
306
- doc: doc || undefined,
307
315
  fileName: value?.name || doc?.filename,
308
316
  fileSrc: doc?.url || fileSrc,
309
317
  imageCacheTag: doc.updatedAt,
318
+ initialCrop: uploadEdits?.crop ?? undefined,
319
+ initialFocalPoint: {
320
+ x: uploadEdits?.focalPoint?.x || doc.focalX || 50,
321
+ y: uploadEdits?.focalPoint?.y || doc.focalY || 50
322
+ },
323
+ onSave: onEditsSave,
310
324
  showCrop: showCrop,
311
325
  showFocalPoint: showFocalPoint
312
326
  })), doc && hasImageSizes && /*#__PURE__*/ _react.default.createElement(_Drawer.Drawer, {
@@ -323,4 +337,4 @@ const Upload = (props)=>{
323
337
  })));
324
338
  };
325
339
 
326
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL2NvbGxlY3Rpb25zL0VkaXQvVXBsb2FkL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSdcblxuaW1wb3J0IHR5cGUgeyBQcm9wcyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCBpc0ltYWdlIGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3VwbG9hZHMvaXNJbWFnZSdcbmltcG9ydCBCdXR0b24gZnJvbSAnLi4vLi4vLi4vLi4vZWxlbWVudHMvQnV0dG9uJ1xuaW1wb3J0IHsgRHJhd2VyLCBEcmF3ZXJUb2dnbGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vZWxlbWVudHMvRHJhd2VyJ1xuaW1wb3J0IHsgRHJvcHpvbmUgfSBmcm9tICcuLi8uLi8uLi8uLi9lbGVtZW50cy9Ecm9wem9uZSdcbmltcG9ydCB7IEVkaXRVcGxvYWQgfSBmcm9tICcuLi8uLi8uLi8uLi9lbGVtZW50cy9FZGl0VXBsb2FkJ1xuaW1wb3J0IEZpbGVEZXRhaWxzIGZyb20gJy4uLy4uLy4uLy4uL2VsZW1lbnRzL0ZpbGVEZXRhaWxzJ1xuaW1wb3J0IFByZXZpZXdTaXplcyBmcm9tICcuLi8uLi8uLi8uLi9lbGVtZW50cy9QcmV2aWV3U2l6ZXMnXG5pbXBvcnQgVGh1bWJuYWlsIGZyb20gJy4uLy4uLy4uLy4uL2VsZW1lbnRzL1RodW1ibmFpbCdcbmltcG9ydCBFcnJvciBmcm9tICcuLi8uLi8uLi8uLi9mb3Jtcy9FcnJvcidcbmltcG9ydCByZWR1Y2VGaWVsZHNUb1ZhbHVlcyBmcm9tICcuLi8uLi8uLi8uLi9mb3Jtcy9Gb3JtL3JlZHVjZUZpZWxkc1RvVmFsdWVzJ1xuaW1wb3J0IHsgZmllbGRCYXNlQ2xhc3MgfSBmcm9tICcuLi8uLi8uLi8uLi9mb3Jtcy9maWVsZC10eXBlcy9zaGFyZWQnXG5pbXBvcnQgdXNlRmllbGQgZnJvbSAnLi4vLi4vLi4vLi4vZm9ybXMvdXNlRmllbGQnXG5pbXBvcnQgeyB1c2VEb2N1bWVudEluZm8gfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvRG9jdW1lbnRJbmZvJ1xuaW1wb3J0IHsgdXNlVXBsb2FkRWRpdHMgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvVXBsb2FkRWRpdHMnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuY29uc3QgYmFzZUNsYXNzID0gJ2ZpbGUtZmllbGQnXG5leHBvcnQgY29uc3QgZWRpdERyYXdlclNsdWcgPSAnZWRpdC11cGxvYWQnXG5leHBvcnQgY29uc3Qgc2l6ZVByZXZpZXdTbHVnID0gJ3ByZXZpZXctc2l6ZXMnXG5cbmNvbnN0IHZhbGlkYXRlID0gKHZhbHVlKSA9PiB7XG4gIGlmICghdmFsdWUgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiAnQSBmaWxlIGlzIHJlcXVpcmVkLidcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBVcGxvYWRBY3Rpb25zID0gKHsgY2FuRWRpdCwgc2hvd1NpemVQcmV2aWV3cyB9KSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ3VwbG9hZCcpXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2ZpbGUtbXV0YXRpb25gfT5cbiAgICAgIHtzaG93U2l6ZVByZXZpZXdzICYmIChcbiAgICAgICAgPERyYXdlclRvZ2dsZXIgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19wcmV2aWV3U2l6ZXNgfSBzbHVnPXtzaXplUHJldmlld1NsdWd9PlxuICAgICAgICAgIHt0KCd1cGxvYWQ6cHJldmlld1NpemVzJyl9XG4gICAgICAgIDwvRHJhd2VyVG9nZ2xlcj5cbiAgICAgICl9XG4gICAgICB7Y2FuRWRpdCAmJiAoXG4gICAgICAgIDxEcmF3ZXJUb2dnbGVyIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZWRpdGB9IHNsdWc9e2VkaXREcmF3ZXJTbHVnfT5cbiAgICAgICAgICB7dCgndXBsb2FkOmVkaXRJbWFnZScpfVxuICAgICAgICA8L0RyYXdlclRvZ2dsZXI+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApXG59XG5cbmV4cG9ydCBjb25zdCBVcGxvYWQ6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGNvbGxlY3Rpb24sIGludGVybmFsU3RhdGUsIG9uQ2hhbmdlIH0gPSBwcm9wc1xuICBjb25zdCBbcmVwbGFjaW5nRmlsZSwgc2V0UmVwbGFjaW5nRmlsZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2ZpbGVTcmMsIHNldEZpbGVTcmNdID0gdXNlU3RhdGU8bnVsbCB8IHN0cmluZz4obnVsbClcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbJ3VwbG9hZCcsICdnZW5lcmFsJ10pXG4gIGNvbnN0IHsgcmVzZXRVcGxvYWRFZGl0cyB9ID0gdXNlVXBsb2FkRWRpdHMoKVxuICBjb25zdCBbZG9jLCBzZXREb2NdID0gdXNlU3RhdGUocmVkdWNlRmllbGRzVG9WYWx1ZXMoaW50ZXJuYWxTdGF0ZSB8fCB7fSwgdHJ1ZSkpXG4gIGNvbnN0IHsgZG9jUGVybWlzc2lvbnMgfSA9IHVzZURvY3VtZW50SW5mbygpXG4gIGNvbnN0IHsgZXJyb3JNZXNzYWdlLCBzZXRWYWx1ZSwgc2hvd0Vycm9yLCB2YWx1ZSB9ID0gdXNlRmllbGQ8RmlsZT4oe1xuICAgIHBhdGg6ICdmaWxlJyxcbiAgICB2YWxpZGF0ZSxcbiAgfSlcblxuICBjb25zdCBbc2hvd1VybElucHV0LCBzZXRTaG93VXJsSW5wdXRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtmaWxlVXJsLCBzZXRGaWxlVXJsXSA9IHVzZVN0YXRlPHN0cmluZz4oJycpXG5cbiAgY29uc3QgY3Vyc29yUG9zaXRpb25SZWYgPSB1c2VSZWYobnVsbClcbiAgY29uc3QgdXJsSW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcblxuICBjb25zdCBoYW5kbGVGaWxlQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKG5ld0ZpbGU6IEZpbGUpID0+IHtcbiAgICAgIGlmIChuZXdGaWxlIGluc3RhbmNlb2YgRmlsZSkge1xuICAgICAgICBjb25zdCBmaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKVxuICAgICAgICBmaWxlUmVhZGVyLm9ubG9hZCA9IChlKSA9PiB7XG4gICAgICAgICAgY29uc3QgaW1nU3JjID0gZS50YXJnZXQ/LnJlc3VsdFxuXG4gICAgICAgICAgaWYgKHR5cGVvZiBpbWdTcmMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBzZXRGaWxlU3JjKGltZ1NyYylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZmlsZVJlYWRlci5yZWFkQXNEYXRhVVJMKG5ld0ZpbGUpXG4gICAgICB9XG5cbiAgICAgIHNldFZhbHVlKG5ld0ZpbGUpXG4gICAgICBzZXRTaG93VXJsSW5wdXQoZmFsc2UpXG5cbiAgICAgIGlmICh0eXBlb2Ygb25DaGFuZ2UgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgb25DaGFuZ2UobmV3RmlsZSlcbiAgICAgIH1cbiAgICB9LFxuICAgIFtvbkNoYW5nZSwgc2V0VmFsdWVdLFxuICApXG5cbiAgY29uc3QgaGFuZGxlRmlsZU5hbWVDaGFuZ2UgPSAoZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICBjb25zdCB1cGRhdGVkRmlsZU5hbWUgPSBlLnRhcmdldC52YWx1ZVxuICAgIGNvbnN0IGN1cnNvclBvc2l0aW9uID0gZS50YXJnZXQuc2VsZWN0aW9uU3RhcnRcblxuICAgIGN1cnNvclBvc2l0aW9uUmVmLmN1cnJlbnQgPSBjdXJzb3JQb3NpdGlvblxuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBmaWxlVmFsdWUgPSB2YWx1ZVxuICAgICAgLy8gQ3JlYXRpbmcgYSBuZXcgRmlsZSBvYmplY3Qgd2l0aCB1cGRhdGVkIHByb3BlcnRpZXNcbiAgICAgIGNvbnN0IG5ld0ZpbGUgPSBuZXcgRmlsZShbZmlsZVZhbHVlXSwgdXBkYXRlZEZpbGVOYW1lLCB7IHR5cGU6IGZpbGVWYWx1ZS50eXBlIH0pXG4gICAgICBoYW5kbGVGaWxlQ2hhbmdlKG5ld0ZpbGUpXG4gICAgfVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtYXNzZXJ0aW9uXG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgLiR7YmFzZUNsYXNzfV9fZmlsZW5hbWVgKSBhcyBIVE1MSW5wdXRFbGVtZW50XG4gICAgaWYgKGlucHV0RWxlbWVudCAmJiBjdXJzb3JQb3NpdGlvblJlZi5jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICBpbnB1dEVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoY3Vyc29yUG9zaXRpb25SZWYuY3VycmVudCwgY3Vyc29yUG9zaXRpb25SZWYuY3VycmVudClcbiAgICB9XG4gIH0sIFt2YWx1ZV0pXG5cbiAgY29uc3QgaGFuZGxlRmlsZVNlbGVjdGlvbiA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgIChmaWxlczogRmlsZUxpc3QpID0+IHtcbiAgICAgIGNvbnN0IGZpbGVUb1VwbG9hZCA9IGZpbGVzPy5bMF1cbiAgICAgIGhhbmRsZUZpbGVDaGFuZ2UoZmlsZVRvVXBsb2FkKVxuICAgIH0sXG4gICAgW2hhbmRsZUZpbGVDaGFuZ2VdLFxuICApXG5cbiAgY29uc3QgaGFuZGxlRmlsZVJlbW92YWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0UmVwbGFjaW5nRmlsZSh0cnVlKVxuICAgIGhhbmRsZUZpbGVDaGFuZ2UobnVsbClcbiAgICBzZXRGaWxlU3JjKCcnKVxuICAgIHNldEZpbGVVcmwoJycpXG4gICAgc2V0RG9jKHt9KVxuICAgIHJlc2V0VXBsb2FkRWRpdHMoKVxuICAgIHNldFNob3dVcmxJbnB1dChmYWxzZSlcbiAgfSwgW2hhbmRsZUZpbGVDaGFuZ2UsIHJlc2V0VXBsb2FkRWRpdHNdKVxuXG4gIGNvbnN0IGhhbmRsZVBhc3RlVXJsQ2xpY2sgPSAoKSA9PiB7XG4gICAgc2V0U2hvd1VybElucHV0KChwcmV2KSA9PiAhcHJldilcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVVybFN1Ym1pdCA9IGFzeW5jICgpID0+IHtcbiAgICBpZiAoZmlsZVVybCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChmaWxlVXJsKVxuICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuYmxvYigpXG5cbiAgICAgICAgLy8gRXh0cmFjdCB0aGUgZmlsZSBuYW1lIGZyb20gdGhlIFVSTFxuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGZpbGVVcmwuc3BsaXQoJy8nKS5wb3AoKVxuXG4gICAgICAgIC8vIENyZWF0ZSBhIG5ldyBGaWxlIG9iamVjdCBmcm9tIHRoZSBCbG9iIGRhdGFcbiAgICAgICAgY29uc3QgZmlsZSA9IG5ldyBGaWxlKFtkYXRhXSwgZmlsZU5hbWUsIHsgdHlwZTogZGF0YS50eXBlIH0pXG4gICAgICAgIGhhbmRsZUZpbGVDaGFuZ2UoZmlsZSlcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdG9hc3QuZXJyb3IoZS5tZXNzYWdlKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0RG9jKHJlZHVjZUZpZWxkc1RvVmFsdWVzKGludGVybmFsU3RhdGUgfHwge30sIHRydWUpKVxuICAgIHNldFJlcGxhY2luZ0ZpbGUoZmFsc2UpXG4gIH0sIFtpbnRlcm5hbFN0YXRlXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzaG93VXJsSW5wdXQgJiYgdXJsSW5wdXRSZWYuY3VycmVudCkge1xuICAgICAgdXJsSW5wdXRSZWYuY3VycmVudC5mb2N1cygpIC8vIEZvY3VzIG9uIHRoZSByZW1vdGUtdXJsIGlucHV0IGZpZWxkIHdoZW4gc2hvd1VybElucHV0IGlzIHRydWVcbiAgICB9XG4gIH0sIFtzaG93VXJsSW5wdXRdKVxuXG4gIGNvbnN0IGNhblJlbW92ZVVwbG9hZCA9XG4gICAgZG9jUGVybWlzc2lvbnM/LnVwZGF0ZT8ucGVybWlzc2lvbiAmJlxuICAgICdkZWxldGUnIGluIGRvY1Blcm1pc3Npb25zICYmXG4gICAgZG9jUGVybWlzc2lvbnM/LmRlbGV0ZT8ucGVybWlzc2lvblxuXG4gIGNvbnN0IGhhc0ltYWdlU2l6ZXMgPSBjb2xsZWN0aW9uPy51cGxvYWQ/LmltYWdlU2l6ZXM/Lmxlbmd0aCA+IDBcbiAgY29uc3QgaGFzUmVzaXplT3B0aW9ucyA9IEJvb2xlYW4oY29sbGVjdGlvbj8udXBsb2FkPy5yZXNpemVPcHRpb25zKVxuICAvLyBFeHBsaWNpdGx5IGNoZWNrIGlmIHNldCB0byB0cnVlLCBkZWZhdWx0IGlzIHVuZGVmaW5lZFxuICBjb25zdCBmb2NhbFBvaW50RW5hYmxlZCA9IGNvbGxlY3Rpb24/LnVwbG9hZD8uZm9jYWxQb2ludCA9PT0gdHJ1ZVxuXG4gIGNvbnN0IHsgY29sbGVjdGlvbjogeyB1cGxvYWQ6IHsgY3JvcDogc2hvd0Nyb3AgPSB0cnVlLCBmb2NhbFBvaW50ID0gdHJ1ZSB9IH0gPSB7fSB9ID0gcHJvcHNcblxuICBjb25zdCBzaG93Rm9jYWxQb2ludCA9IGZvY2FsUG9pbnQgJiYgKGhhc0ltYWdlU2l6ZXMgfHwgaGFzUmVzaXplT3B0aW9ucyB8fCBmb2NhbFBvaW50RW5hYmxlZClcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtbZmllbGRCYXNlQ2xhc3MsIGJhc2VDbGFzc10uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKX0+XG4gICAgICA8RXJyb3IgbWVzc2FnZT17ZXJyb3JNZXNzYWdlfSBzaG93RXJyb3I9e3Nob3dFcnJvcn0gLz5cblxuICAgICAge2RvYy5maWxlbmFtZSAmJiAhcmVwbGFjaW5nRmlsZSAmJiAoXG4gICAgICAgIDxGaWxlRGV0YWlsc1xuICAgICAgICAgIGNhbkVkaXQ9e3Nob3dDcm9wIHx8IHNob3dGb2NhbFBvaW50fVxuICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgZG9jPXtkb2N9XG4gICAgICAgICAgaGFuZGxlUmVtb3ZlPXtjYW5SZW1vdmVVcGxvYWQgPyBoYW5kbGVGaWxlUmVtb3ZhbCA6IHVuZGVmaW5lZH1cbiAgICAgICAgICBoYXNJbWFnZVNpemVzPXtoYXNJbWFnZVNpemVzfVxuICAgICAgICAgIGltYWdlQ2FjaGVUYWc9e2RvYy51cGRhdGVkQXR9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgICAgeyghZG9jLmZpbGVuYW1lIHx8IHJlcGxhY2luZ0ZpbGUpICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3VwbG9hZGB9PlxuICAgICAgICAgIHshdmFsdWUgJiYgIXNob3dVcmxJbnB1dCAmJiAoXG4gICAgICAgICAgICA8RHJvcHpvbmVcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19kcm9wem9uZWB9XG4gICAgICAgICAgICAgIG1pbWVUeXBlcz17Y29sbGVjdGlvbj8udXBsb2FkPy5taW1lVHlwZXN9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVGaWxlU2VsZWN0aW9ufVxuICAgICAgICAgICAgICBvblBhc3RlVXJsQ2xpY2s9e2hhbmRsZVBhc3RlVXJsQ2xpY2t9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAge3Nob3dVcmxJbnB1dCAmJiAoXG4gICAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19yZW1vdGUtZmlsZS13cmFwYH0+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3JlbW90ZS1maWxlYH1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzZXRGaWxlVXJsKGUudGFyZ2V0LnZhbHVlKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIHJlZj17dXJsSW5wdXRSZWZ9XG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17ZmlsZVVybH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19hZGQtZmlsZS13cmFwYH0+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYWRkLWZpbGVgfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVVcmxTdWJtaXR9XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7dCgndXBsb2FkOmFkZEltYWdlJyl9XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICBidXR0b25TdHlsZT1cImljb24tbGFiZWxcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fcmVtb3ZlYH1cbiAgICAgICAgICAgICAgICBpY29uPVwieFwiXG4gICAgICAgICAgICAgICAgaWNvblN0eWxlPVwid2l0aC1ib3JkZXJcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUZpbGVSZW1vdmFsfVxuICAgICAgICAgICAgICAgIHJvdW5kXG4gICAgICAgICAgICAgICAgdG9vbHRpcD17dCgnZ2VuZXJhbDpjYW5jZWwnKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7dmFsdWUgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fdGh1bWJuYWlsLXdyYXBgfT5cbiAgICAgICAgICAgICAgICA8VGh1bWJuYWlsIGZpbGVTcmM9e2lzSW1hZ2UodmFsdWUudHlwZSkgPyBmaWxlU3JjIDogbnVsbH0gLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19maWxlLWFkanVzdG1lbnRzYH0+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2ZpbGVuYW1lYH1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVGaWxlTmFtZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZS5uYW1lfVxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICB7aXNJbWFnZSh2YWx1ZS50eXBlKSAmJiB2YWx1ZS50eXBlICE9PSAnaW1hZ2Uvc3ZnK3htbCcgJiYgKFxuICAgICAgICAgICAgICAgICAgPFVwbG9hZEFjdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgY2FuRWRpdD17c2hvd0Nyb3AgfHwgc2hvd0ZvY2FsUG9pbnR9XG4gICAgICAgICAgICAgICAgICAgIHNob3dTaXplUHJldmlld3M9e2hhc0ltYWdlU2l6ZXMgJiYgZG9jLmZpbGVuYW1lICYmICFyZXBsYWNpbmdGaWxlfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwiaWNvbi1sYWJlbFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19yZW1vdmVgfVxuICAgICAgICAgICAgICAgIGljb249XCJ4XCJcbiAgICAgICAgICAgICAgICBpY29uU3R5bGU9XCJ3aXRoLWJvcmRlclwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlRmlsZVJlbW92YWx9XG4gICAgICAgICAgICAgICAgcm91bmRcbiAgICAgICAgICAgICAgICB0b29sdGlwPXt0KCdnZW5lcmFsOmNhbmNlbCcpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG5cbiAgICAgIHsodmFsdWUgfHwgZG9jLmZpbGVuYW1lKSAmJiAoXG4gICAgICAgIDxEcmF3ZXIgaGVhZGVyPXtudWxsfSBzbHVnPXtlZGl0RHJhd2VyU2x1Z30+XG4gICAgICAgICAgPEVkaXRVcGxvYWRcbiAgICAgICAgICAgIGRvYz17ZG9jIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGZpbGVOYW1lPXt2YWx1ZT8ubmFtZSB8fCBkb2M/LmZpbGVuYW1lfVxuICAgICAgICAgICAgZmlsZVNyYz17ZG9jPy51cmwgfHwgZmlsZVNyY31cbiAgICAgICAgICAgIGltYWdlQ2FjaGVUYWc9e2RvYy51cGRhdGVkQXR9XG4gICAgICAgICAgICBzaG93Q3JvcD17c2hvd0Nyb3B9XG4gICAgICAgICAgICBzaG93Rm9jYWxQb2ludD17c2hvd0ZvY2FsUG9pbnR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9EcmF3ZXI+XG4gICAgICApfVxuICAgICAge2RvYyAmJiBoYXNJbWFnZVNpemVzICYmIChcbiAgICAgICAgPERyYXdlclxuICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fcHJldmlld0RyYXdlcmB9XG4gICAgICAgICAgaG92ZXJUaXRsZVxuICAgICAgICAgIHNsdWc9e3NpemVQcmV2aWV3U2x1Z31cbiAgICAgICAgICB0aXRsZT17dCgndXBsb2FkOnNpemVzRm9yJywgeyBsYWJlbDogZG9jPy5maWxlbmFtZSB9KX1cbiAgICAgICAgPlxuICAgICAgICAgIDxQcmV2aWV3U2l6ZXMgY29sbGVjdGlvbj17Y29sbGVjdGlvbn0gZG9jPXtkb2N9IGltYWdlQ2FjaGVUYWc9e2RvYy51cGRhdGVkQXR9IC8+XG4gICAgICAgIDwvRHJhd2VyPlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlVwbG9hZCIsIlVwbG9hZEFjdGlvbnMiLCJlZGl0RHJhd2VyU2x1ZyIsInNpemVQcmV2aWV3U2x1ZyIsImJhc2VDbGFzcyIsInZhbGlkYXRlIiwidmFsdWUiLCJ1bmRlZmluZWQiLCJjYW5FZGl0Iiwic2hvd1NpemVQcmV2aWV3cyIsInQiLCJ1c2VUcmFuc2xhdGlvbiIsImRpdiIsImNsYXNzTmFtZSIsIkRyYXdlclRvZ2dsZXIiLCJzbHVnIiwicHJvcHMiLCJjb2xsZWN0aW9uIiwiaW50ZXJuYWxTdGF0ZSIsIm9uQ2hhbmdlIiwicmVwbGFjaW5nRmlsZSIsInNldFJlcGxhY2luZ0ZpbGUiLCJ1c2VTdGF0ZSIsImZpbGVTcmMiLCJzZXRGaWxlU3JjIiwicmVzZXRVcGxvYWRFZGl0cyIsInVzZVVwbG9hZEVkaXRzIiwiZG9jIiwic2V0RG9jIiwicmVkdWNlRmllbGRzVG9WYWx1ZXMiLCJkb2NQZXJtaXNzaW9ucyIsInVzZURvY3VtZW50SW5mbyIsImVycm9yTWVzc2FnZSIsInNldFZhbHVlIiwic2hvd0Vycm9yIiwidXNlRmllbGQiLCJwYXRoIiwic2hvd1VybElucHV0Iiwic2V0U2hvd1VybElucHV0IiwiZmlsZVVybCIsInNldEZpbGVVcmwiLCJjdXJzb3JQb3NpdGlvblJlZiIsInVzZVJlZiIsInVybElucHV0UmVmIiwiaGFuZGxlRmlsZUNoYW5nZSIsInVzZUNhbGxiYWNrIiwibmV3RmlsZSIsIkZpbGUiLCJmaWxlUmVhZGVyIiwiRmlsZVJlYWRlciIsIm9ubG9hZCIsImUiLCJpbWdTcmMiLCJ0YXJnZXQiLCJyZXN1bHQiLCJyZWFkQXNEYXRhVVJMIiwiaGFuZGxlRmlsZU5hbWVDaGFuZ2UiLCJ1cGRhdGVkRmlsZU5hbWUiLCJjdXJzb3JQb3NpdGlvbiIsInNlbGVjdGlvblN0YXJ0IiwiY3VycmVudCIsImZpbGVWYWx1ZSIsInR5cGUiLCJ1c2VFZmZlY3QiLCJpbnB1dEVsZW1lbnQiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJzZXRTZWxlY3Rpb25SYW5nZSIsImhhbmRsZUZpbGVTZWxlY3Rpb24iLCJSZWFjdCIsImZpbGVzIiwiZmlsZVRvVXBsb2FkIiwiaGFuZGxlRmlsZVJlbW92YWwiLCJoYW5kbGVQYXN0ZVVybENsaWNrIiwicHJldiIsImhhbmRsZVVybFN1Ym1pdCIsInJlc3BvbnNlIiwiZmV0Y2giLCJkYXRhIiwiYmxvYiIsImZpbGVOYW1lIiwic3BsaXQiLCJwb3AiLCJmaWxlIiwidG9hc3QiLCJlcnJvciIsIm1lc3NhZ2UiLCJmb2N1cyIsImNhblJlbW92ZVVwbG9hZCIsInVwZGF0ZSIsInBlcm1pc3Npb24iLCJkZWxldGUiLCJoYXNJbWFnZVNpemVzIiwidXBsb2FkIiwiaW1hZ2VTaXplcyIsImxlbmd0aCIsImhhc1Jlc2l6ZU9wdGlvbnMiLCJCb29sZWFuIiwicmVzaXplT3B0aW9ucyIsImZvY2FsUG9pbnRFbmFibGVkIiwiZm9jYWxQb2ludCIsImNyb3AiLCJzaG93Q3JvcCIsInNob3dGb2NhbFBvaW50IiwiZmllbGRCYXNlQ2xhc3MiLCJmaWx0ZXIiLCJqb2luIiwiRXJyb3IiLCJmaWxlbmFtZSIsIkZpbGVEZXRhaWxzIiwiaGFuZGxlUmVtb3ZlIiwiaW1hZ2VDYWNoZVRhZyIsInVwZGF0ZWRBdCIsIkRyb3B6b25lIiwibWltZVR5cGVzIiwib25QYXN0ZVVybENsaWNrIiwiRnJhZ21lbnQiLCJpbnB1dCIsInJlZiIsImJ1dHRvbiIsIm9uQ2xpY2siLCJCdXR0b24iLCJidXR0b25TdHlsZSIsImljb24iLCJpY29uU3R5bGUiLCJyb3VuZCIsInRvb2x0aXAiLCJUaHVtYm5haWwiLCJpc0ltYWdlIiwibmFtZSIsIkRyYXdlciIsImhlYWRlciIsIkVkaXRVcGxvYWQiLCJ1cmwiLCJob3ZlclRpdGxlIiwidGl0bGUiLCJsYWJlbCIsIlByZXZpZXdTaXplcyJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFvRGFBLE1BQU07ZUFBTkE7O0lBbEJBQyxhQUFhO2VBQWJBOztJQVhBQyxjQUFjO2VBQWRBOztJQUNBQyxlQUFlO2VBQWZBOzs7K0RBeEJtRDs4QkFDakM7K0JBQ1Q7Z0VBSUY7K0RBQ0Q7d0JBQ21COzBCQUNiOzRCQUNFO29FQUNIO3FFQUNDO2tFQUNIOzhEQUNKOzZFQUNlO3dCQUNGO2lFQUNWOzhCQUNXOzZCQUNEO1FBQ3hCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
340
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL2NvbGxlY3Rpb25zL0VkaXQvVXBsb2FkL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSdcblxuaW1wb3J0IHR5cGUgeyBVcGxvYWRFZGl0cyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3VwbG9hZHMvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFByb3BzIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IGlzSW1hZ2UgZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vdXBsb2Fkcy9pc0ltYWdlJ1xuaW1wb3J0IEJ1dHRvbiBmcm9tICcuLi8uLi8uLi8uLi9lbGVtZW50cy9CdXR0b24nXG5pbXBvcnQgeyBEcmF3ZXIsIERyYXdlclRvZ2dsZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9lbGVtZW50cy9EcmF3ZXInXG5pbXBvcnQgeyBEcm9wem9uZSB9IGZyb20gJy4uLy4uLy4uLy4uL2VsZW1lbnRzL0Ryb3B6b25lJ1xuaW1wb3J0IHsgRWRpdFVwbG9hZCB9IGZyb20gJy4uLy4uLy4uLy4uL2VsZW1lbnRzL0VkaXRVcGxvYWQnXG5pbXBvcnQgRmlsZURldGFpbHMgZnJvbSAnLi4vLi4vLi4vLi4vZWxlbWVudHMvRmlsZURldGFpbHMnXG5pbXBvcnQgUHJldmlld1NpemVzIGZyb20gJy4uLy4uLy4uLy4uL2VsZW1lbnRzL1ByZXZpZXdTaXplcydcbmltcG9ydCBUaHVtYm5haWwgZnJvbSAnLi4vLi4vLi4vLi4vZWxlbWVudHMvVGh1bWJuYWlsJ1xuaW1wb3J0IEVycm9yIGZyb20gJy4uLy4uLy4uLy4uL2Zvcm1zL0Vycm9yJ1xuaW1wb3J0IHsgdXNlRm9ybSB9IGZyb20gJy4uLy4uLy4uLy4uL2Zvcm1zL0Zvcm0vY29udGV4dCdcbmltcG9ydCByZWR1Y2VGaWVsZHNUb1ZhbHVlcyBmcm9tICcuLi8uLi8uLi8uLi9mb3Jtcy9Gb3JtL3JlZHVjZUZpZWxkc1RvVmFsdWVzJ1xuaW1wb3J0IHsgZmllbGRCYXNlQ2xhc3MgfSBmcm9tICcuLi8uLi8uLi8uLi9mb3Jtcy9maWVsZC10eXBlcy9zaGFyZWQnXG5pbXBvcnQgdXNlRmllbGQgZnJvbSAnLi4vLi4vLi4vLi4vZm9ybXMvdXNlRmllbGQnXG5pbXBvcnQgeyB1c2VEb2N1bWVudEluZm8gfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvRG9jdW1lbnRJbmZvJ1xuaW1wb3J0IHsgdXNlVXBsb2FkRWRpdHMgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvVXBsb2FkRWRpdHMnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuY29uc3QgYmFzZUNsYXNzID0gJ2ZpbGUtZmllbGQnXG5leHBvcnQgY29uc3QgZWRpdERyYXdlclNsdWcgPSAnZWRpdC11cGxvYWQnXG5leHBvcnQgY29uc3Qgc2l6ZVByZXZpZXdTbHVnID0gJ3ByZXZpZXctc2l6ZXMnXG5cbmNvbnN0IHZhbGlkYXRlID0gKHZhbHVlKSA9PiB7XG4gIGlmICghdmFsdWUgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiAnQSBmaWxlIGlzIHJlcXVpcmVkLidcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBVcGxvYWRBY3Rpb25zID0gKHsgY2FuRWRpdCwgc2hvd1NpemVQcmV2aWV3cyB9KSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ3VwbG9hZCcpXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2ZpbGUtbXV0YXRpb25gfT5cbiAgICAgIHtzaG93U2l6ZVByZXZpZXdzICYmIChcbiAgICAgICAgPERyYXdlclRvZ2dsZXIgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19wcmV2aWV3U2l6ZXNgfSBzbHVnPXtzaXplUHJldmlld1NsdWd9PlxuICAgICAgICAgIHt0KCd1cGxvYWQ6cHJldmlld1NpemVzJyl9XG4gICAgICAgIDwvRHJhd2VyVG9nZ2xlcj5cbiAgICAgICl9XG4gICAgICB7Y2FuRWRpdCAmJiAoXG4gICAgICAgIDxEcmF3ZXJUb2dnbGVyIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZWRpdGB9IHNsdWc9e2VkaXREcmF3ZXJTbHVnfT5cbiAgICAgICAgICB7dCgndXBsb2FkOmVkaXRJbWFnZScpfVxuICAgICAgICA8L0RyYXdlclRvZ2dsZXI+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApXG59XG5cbmV4cG9ydCBjb25zdCBVcGxvYWQ6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGNvbGxlY3Rpb24sIGludGVybmFsU3RhdGUsIG9uQ2hhbmdlIH0gPSBwcm9wc1xuICBjb25zdCBbcmVwbGFjaW5nRmlsZSwgc2V0UmVwbGFjaW5nRmlsZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2ZpbGVTcmMsIHNldEZpbGVTcmNdID0gdXNlU3RhdGU8bnVsbCB8IHN0cmluZz4obnVsbClcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbJ3VwbG9hZCcsICdnZW5lcmFsJ10pXG4gIGNvbnN0IHsgc2V0TW9kaWZpZWQgfSA9IHVzZUZvcm0oKVxuICBjb25zdCB7IHJlc2V0VXBsb2FkRWRpdHMsIHVwZGF0ZVVwbG9hZEVkaXRzLCB1cGxvYWRFZGl0cyB9ID0gdXNlVXBsb2FkRWRpdHMoKVxuICBjb25zdCBbZG9jLCBzZXREb2NdID0gdXNlU3RhdGUocmVkdWNlRmllbGRzVG9WYWx1ZXMoaW50ZXJuYWxTdGF0ZSB8fCB7fSwgdHJ1ZSkpXG4gIGNvbnN0IHsgZG9jUGVybWlzc2lvbnMgfSA9IHVzZURvY3VtZW50SW5mbygpXG4gIGNvbnN0IHsgZXJyb3JNZXNzYWdlLCBzZXRWYWx1ZSwgc2hvd0Vycm9yLCB2YWx1ZSB9ID0gdXNlRmllbGQ8RmlsZT4oe1xuICAgIHBhdGg6ICdmaWxlJyxcbiAgICB2YWxpZGF0ZSxcbiAgfSlcblxuICBjb25zdCBbc2hvd1VybElucHV0LCBzZXRTaG93VXJsSW5wdXRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtmaWxlVXJsLCBzZXRGaWxlVXJsXSA9IHVzZVN0YXRlPHN0cmluZz4oJycpXG5cbiAgY29uc3QgY3Vyc29yUG9zaXRpb25SZWYgPSB1c2VSZWYobnVsbClcbiAgY29uc3QgdXJsSW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcblxuICBjb25zdCBoYW5kbGVGaWxlQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKG5ld0ZpbGU6IEZpbGUpID0+IHtcbiAgICAgIGlmIChuZXdGaWxlIGluc3RhbmNlb2YgRmlsZSkge1xuICAgICAgICBjb25zdCBmaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKVxuICAgICAgICBmaWxlUmVhZGVyLm9ubG9hZCA9IChlKSA9PiB7XG4gICAgICAgICAgY29uc3QgaW1nU3JjID0gZS50YXJnZXQ/LnJlc3VsdFxuXG4gICAgICAgICAgaWYgKHR5cGVvZiBpbWdTcmMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBzZXRGaWxlU3JjKGltZ1NyYylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZmlsZVJlYWRlci5yZWFkQXNEYXRhVVJMKG5ld0ZpbGUpXG4gICAgICB9XG5cbiAgICAgIHNldFZhbHVlKG5ld0ZpbGUpXG4gICAgICBzZXRTaG93VXJsSW5wdXQoZmFsc2UpXG5cbiAgICAgIGlmICh0eXBlb2Ygb25DaGFuZ2UgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgb25DaGFuZ2UobmV3RmlsZSlcbiAgICAgIH1cbiAgICB9LFxuICAgIFtvbkNoYW5nZSwgc2V0VmFsdWVdLFxuICApXG5cbiAgY29uc3QgaGFuZGxlRmlsZU5hbWVDaGFuZ2UgPSAoZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICBjb25zdCB1cGRhdGVkRmlsZU5hbWUgPSBlLnRhcmdldC52YWx1ZVxuICAgIGNvbnN0IGN1cnNvclBvc2l0aW9uID0gZS50YXJnZXQuc2VsZWN0aW9uU3RhcnRcblxuICAgIGN1cnNvclBvc2l0aW9uUmVmLmN1cnJlbnQgPSBjdXJzb3JQb3NpdGlvblxuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBmaWxlVmFsdWUgPSB2YWx1ZVxuICAgICAgLy8gQ3JlYXRpbmcgYSBuZXcgRmlsZSBvYmplY3Qgd2l0aCB1cGRhdGVkIHByb3BlcnRpZXNcbiAgICAgIGNvbnN0IG5ld0ZpbGUgPSBuZXcgRmlsZShbZmlsZVZhbHVlXSwgdXBkYXRlZEZpbGVOYW1lLCB7IHR5cGU6IGZpbGVWYWx1ZS50eXBlIH0pXG4gICAgICBoYW5kbGVGaWxlQ2hhbmdlKG5ld0ZpbGUpXG4gICAgfVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtYXNzZXJ0aW9uXG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgLiR7YmFzZUNsYXNzfV9fZmlsZW5hbWVgKSBhcyBIVE1MSW5wdXRFbGVtZW50XG4gICAgaWYgKGlucHV0RWxlbWVudCAmJiBjdXJzb3JQb3NpdGlvblJlZi5jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICBpbnB1dEVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoY3Vyc29yUG9zaXRpb25SZWYuY3VycmVudCwgY3Vyc29yUG9zaXRpb25SZWYuY3VycmVudClcbiAgICB9XG4gIH0sIFt2YWx1ZV0pXG5cbiAgY29uc3QgaGFuZGxlRmlsZVNlbGVjdGlvbiA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgIChmaWxlczogRmlsZUxpc3QpID0+IHtcbiAgICAgIGNvbnN0IGZpbGVUb1VwbG9hZCA9IGZpbGVzPy5bMF1cbiAgICAgIGhhbmRsZUZpbGVDaGFuZ2UoZmlsZVRvVXBsb2FkKVxuICAgIH0sXG4gICAgW2hhbmRsZUZpbGVDaGFuZ2VdLFxuICApXG5cbiAgY29uc3QgaGFuZGxlRmlsZVJlbW92YWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0UmVwbGFjaW5nRmlsZSh0cnVlKVxuICAgIGhhbmRsZUZpbGVDaGFuZ2UobnVsbClcbiAgICBzZXRGaWxlU3JjKCcnKVxuICAgIHNldEZpbGVVcmwoJycpXG4gICAgc2V0RG9jKHt9KVxuICAgIHJlc2V0VXBsb2FkRWRpdHMoKVxuICAgIHNldFNob3dVcmxJbnB1dChmYWxzZSlcbiAgfSwgW2hhbmRsZUZpbGVDaGFuZ2UsIHJlc2V0VXBsb2FkRWRpdHNdKVxuXG4gIGNvbnN0IG9uRWRpdHNTYXZlID0gdXNlQ2FsbGJhY2soXG4gICAgKGFyZ3M6IFVwbG9hZEVkaXRzKSA9PiB7XG4gICAgICBzZXRNb2RpZmllZCh0cnVlKVxuICAgICAgdXBkYXRlVXBsb2FkRWRpdHMoYXJncylcbiAgICB9LFxuICAgIFtzZXRNb2RpZmllZCwgdXBkYXRlVXBsb2FkRWRpdHNdLFxuICApXG5cbiAgY29uc3QgaGFuZGxlUGFzdGVVcmxDbGljayA9ICgpID0+IHtcbiAgICBzZXRTaG93VXJsSW5wdXQoKHByZXYpID0+ICFwcmV2KVxuICB9XG5cbiAgY29uc3QgaGFuZGxlVXJsU3VibWl0ID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmIChmaWxlVXJsKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGZpbGVVcmwpXG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5ibG9iKClcblxuICAgICAgICAvLyBFeHRyYWN0IHRoZSBmaWxlIG5hbWUgZnJvbSB0aGUgVVJMXG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gZmlsZVVybC5zcGxpdCgnLycpLnBvcCgpXG5cbiAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IEZpbGUgb2JqZWN0IGZyb20gdGhlIEJsb2IgZGF0YVxuICAgICAgICBjb25zdCBmaWxlID0gbmV3IEZpbGUoW2RhdGFdLCBmaWxlTmFtZSwgeyB0eXBlOiBkYXRhLnR5cGUgfSlcbiAgICAgICAgaGFuZGxlRmlsZUNoYW5nZShmaWxlKVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0b2FzdC5lcnJvcihlLm1lc3NhZ2UpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXREb2MocmVkdWNlRmllbGRzVG9WYWx1ZXMoaW50ZXJuYWxTdGF0ZSB8fCB7fSwgdHJ1ZSkpXG4gICAgc2V0UmVwbGFjaW5nRmlsZShmYWxzZSlcbiAgfSwgW2ludGVybmFsU3RhdGVdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNob3dVcmxJbnB1dCAmJiB1cmxJbnB1dFJlZi5jdXJyZW50KSB7XG4gICAgICB1cmxJbnB1dFJlZi5jdXJyZW50LmZvY3VzKCkgLy8gRm9jdXMgb24gdGhlIHJlbW90ZS11cmwgaW5wdXQgZmllbGQgd2hlbiBzaG93VXJsSW5wdXQgaXMgdHJ1ZVxuICAgIH1cbiAgfSwgW3Nob3dVcmxJbnB1dF0pXG5cbiAgY29uc3QgY2FuUmVtb3ZlVXBsb2FkID1cbiAgICBkb2NQZXJtaXNzaW9ucz8udXBkYXRlPy5wZXJtaXNzaW9uICYmXG4gICAgJ2RlbGV0ZScgaW4gZG9jUGVybWlzc2lvbnMgJiZcbiAgICBkb2NQZXJtaXNzaW9ucz8uZGVsZXRlPy5wZXJtaXNzaW9uXG5cbiAgY29uc3QgaGFzSW1hZ2VTaXplcyA9IGNvbGxlY3Rpb24/LnVwbG9hZD8uaW1hZ2VTaXplcz8ubGVuZ3RoID4gMFxuICBjb25zdCBoYXNSZXNpemVPcHRpb25zID0gQm9vbGVhbihjb2xsZWN0aW9uPy51cGxvYWQ/LnJlc2l6ZU9wdGlvbnMpXG4gIC8vIEV4cGxpY2l0bHkgY2hlY2sgaWYgc2V0IHRvIHRydWUsIGRlZmF1bHQgaXMgdW5kZWZpbmVkXG4gIGNvbnN0IGZvY2FsUG9pbnRFbmFibGVkID0gY29sbGVjdGlvbj8udXBsb2FkPy5mb2NhbFBvaW50ID09PSB0cnVlXG5cbiAgY29uc3QgeyBjb2xsZWN0aW9uOiB7IHVwbG9hZDogeyBjcm9wOiBzaG93Q3JvcCA9IHRydWUsIGZvY2FsUG9pbnQgPSB0cnVlIH0gfSA9IHt9IH0gPSBwcm9wc1xuXG4gIGNvbnN0IHNob3dGb2NhbFBvaW50ID0gZm9jYWxQb2ludCAmJiAoaGFzSW1hZ2VTaXplcyB8fCBoYXNSZXNpemVPcHRpb25zIHx8IGZvY2FsUG9pbnRFbmFibGVkKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e1tmaWVsZEJhc2VDbGFzcywgYmFzZUNsYXNzXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpfT5cbiAgICAgIDxFcnJvciBtZXNzYWdlPXtlcnJvck1lc3NhZ2V9IHNob3dFcnJvcj17c2hvd0Vycm9yfSAvPlxuXG4gICAgICB7ZG9jLmZpbGVuYW1lICYmICFyZXBsYWNpbmdGaWxlICYmIChcbiAgICAgICAgPEZpbGVEZXRhaWxzXG4gICAgICAgICAgY2FuRWRpdD17c2hvd0Nyb3AgfHwgc2hvd0ZvY2FsUG9pbnR9XG4gICAgICAgICAgY29sbGVjdGlvbj17Y29sbGVjdGlvbn1cbiAgICAgICAgICBkb2M9e2RvY31cbiAgICAgICAgICBoYW5kbGVSZW1vdmU9e2NhblJlbW92ZVVwbG9hZCA/IGhhbmRsZUZpbGVSZW1vdmFsIDogdW5kZWZpbmVkfVxuICAgICAgICAgIGhhc0ltYWdlU2l6ZXM9e2hhc0ltYWdlU2l6ZXN9XG4gICAgICAgICAgaW1hZ2VDYWNoZVRhZz17ZG9jLnVwZGF0ZWRBdH1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICB7KCFkb2MuZmlsZW5hbWUgfHwgcmVwbGFjaW5nRmlsZSkgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fdXBsb2FkYH0+XG4gICAgICAgICAgeyF2YWx1ZSAmJiAhc2hvd1VybElucHV0ICYmIChcbiAgICAgICAgICAgIDxEcm9wem9uZVxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2Ryb3B6b25lYH1cbiAgICAgICAgICAgICAgbWltZVR5cGVzPXtjb2xsZWN0aW9uPy51cGxvYWQ/Lm1pbWVUeXBlc31cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUZpbGVTZWxlY3Rpb259XG4gICAgICAgICAgICAgIG9uUGFzdGVVcmxDbGljaz17aGFuZGxlUGFzdGVVcmxDbGlja31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7c2hvd1VybElucHV0ICYmIChcbiAgICAgICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3JlbW90ZS1maWxlLXdyYXBgfT5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fcmVtb3RlLWZpbGVgfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHNldEZpbGVVcmwoZS50YXJnZXQudmFsdWUpXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgcmVmPXt1cmxJbnB1dFJlZn1cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtmaWxlVXJsfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2FkZC1maWxlLXdyYXBgfT5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19hZGQtZmlsZWB9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVVybFN1Ym1pdH1cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt0KCd1cGxvYWQ6YWRkRmlsZScpfVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJpY29uLWxhYmVsXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3JlbW92ZWB9XG4gICAgICAgICAgICAgICAgaWNvbj1cInhcIlxuICAgICAgICAgICAgICAgIGljb25TdHlsZT1cIndpdGgtYm9yZGVyXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVGaWxlUmVtb3ZhbH1cbiAgICAgICAgICAgICAgICByb3VuZFxuICAgICAgICAgICAgICAgIHRvb2x0aXA9e3QoJ2dlbmVyYWw6Y2FuY2VsJyl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICl9XG4gICAgICAgICAge3ZhbHVlICYmIChcbiAgICAgICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3RodW1ibmFpbC13cmFwYH0+XG4gICAgICAgICAgICAgICAgPFRodW1ibmFpbCBmaWxlU3JjPXtpc0ltYWdlKHZhbHVlLnR5cGUpID8gZmlsZVNyYyA6IG51bGx9IC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZmlsZS1hZGp1c3RtZW50c2B9PlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19maWxlbmFtZWB9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlRmlsZU5hbWVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWUubmFtZX1cbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAge2lzSW1hZ2UodmFsdWUudHlwZSkgJiYgdmFsdWUudHlwZSAhPT0gJ2ltYWdlL3N2Zyt4bWwnICYmIChcbiAgICAgICAgICAgICAgICAgIDxVcGxvYWRBY3Rpb25zXG4gICAgICAgICAgICAgICAgICAgIGNhbkVkaXQ9e3Nob3dDcm9wIHx8IHNob3dGb2NhbFBvaW50fVxuICAgICAgICAgICAgICAgICAgICBzaG93U2l6ZVByZXZpZXdzPXtoYXNJbWFnZVNpemVzICYmIGRvYy5maWxlbmFtZSAmJiAhcmVwbGFjaW5nRmlsZX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICBidXR0b25TdHlsZT1cImljb24tbGFiZWxcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fcmVtb3ZlYH1cbiAgICAgICAgICAgICAgICBpY29uPVwieFwiXG4gICAgICAgICAgICAgICAgaWNvblN0eWxlPVwid2l0aC1ib3JkZXJcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUZpbGVSZW1vdmFsfVxuICAgICAgICAgICAgICAgIHJvdW5kXG4gICAgICAgICAgICAgICAgdG9vbHRpcD17dCgnZ2VuZXJhbDpjYW5jZWwnKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuXG4gICAgICB7KHZhbHVlIHx8IGRvYy5maWxlbmFtZSkgJiYgKFxuICAgICAgICA8RHJhd2VyIGhlYWRlcj17bnVsbH0gc2x1Zz17ZWRpdERyYXdlclNsdWd9PlxuICAgICAgICAgIDxFZGl0VXBsb2FkXG4gICAgICAgICAgICBmaWxlTmFtZT17dmFsdWU/Lm5hbWUgfHwgZG9jPy5maWxlbmFtZX1cbiAgICAgICAgICAgIGZpbGVTcmM9e2RvYz8udXJsIHx8IGZpbGVTcmN9XG4gICAgICAgICAgICBpbWFnZUNhY2hlVGFnPXtkb2MudXBkYXRlZEF0fVxuICAgICAgICAgICAgaW5pdGlhbENyb3A9e3VwbG9hZEVkaXRzPy5jcm9wID8/IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGluaXRpYWxGb2NhbFBvaW50PXt7XG4gICAgICAgICAgICAgIHg6IHVwbG9hZEVkaXRzPy5mb2NhbFBvaW50Py54IHx8IGRvYy5mb2NhbFggfHwgNTAsXG4gICAgICAgICAgICAgIHk6IHVwbG9hZEVkaXRzPy5mb2NhbFBvaW50Py55IHx8IGRvYy5mb2NhbFkgfHwgNTAsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25TYXZlPXtvbkVkaXRzU2F2ZX1cbiAgICAgICAgICAgIHNob3dDcm9wPXtzaG93Q3JvcH1cbiAgICAgICAgICAgIHNob3dGb2NhbFBvaW50PXtzaG93Rm9jYWxQb2ludH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0RyYXdlcj5cbiAgICAgICl9XG4gICAgICB7ZG9jICYmIGhhc0ltYWdlU2l6ZXMgJiYgKFxuICAgICAgICA8RHJhd2VyXG4gICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19wcmV2aWV3RHJhd2VyYH1cbiAgICAgICAgICBob3ZlclRpdGxlXG4gICAgICAgICAgc2x1Zz17c2l6ZVByZXZpZXdTbHVnfVxuICAgICAgICAgIHRpdGxlPXt0KCd1cGxvYWQ6c2l6ZXNGb3InLCB7IGxhYmVsOiBkb2M/LmZpbGVuYW1lIH0pfVxuICAgICAgICA+XG4gICAgICAgICAgPFByZXZpZXdTaXplcyBjb2xsZWN0aW9uPXtjb2xsZWN0aW9ufSBkb2M9e2RvY30gaW1hZ2VDYWNoZVRhZz17ZG9jLnVwZGF0ZWRBdH0gLz5cbiAgICAgICAgPC9EcmF3ZXI+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiVXBsb2FkIiwiVXBsb2FkQWN0aW9ucyIsImVkaXREcmF3ZXJTbHVnIiwic2l6ZVByZXZpZXdTbHVnIiwiYmFzZUNsYXNzIiwidmFsaWRhdGUiLCJ2YWx1ZSIsInVuZGVmaW5lZCIsImNhbkVkaXQiLCJzaG93U2l6ZVByZXZpZXdzIiwidCIsInVzZVRyYW5zbGF0aW9uIiwiZGl2IiwiY2xhc3NOYW1lIiwiRHJhd2VyVG9nZ2xlciIsInNsdWciLCJwcm9wcyIsImNvbGxlY3Rpb24iLCJpbnRlcm5hbFN0YXRlIiwib25DaGFuZ2UiLCJyZXBsYWNpbmdGaWxlIiwic2V0UmVwbGFjaW5nRmlsZSIsInVzZVN0YXRlIiwiZmlsZVNyYyIsInNldEZpbGVTcmMiLCJzZXRNb2RpZmllZCIsInVzZUZvcm0iLCJyZXNldFVwbG9hZEVkaXRzIiwidXBkYXRlVXBsb2FkRWRpdHMiLCJ1cGxvYWRFZGl0cyIsInVzZVVwbG9hZEVkaXRzIiwiZG9jIiwic2V0RG9jIiwicmVkdWNlRmllbGRzVG9WYWx1ZXMiLCJkb2NQZXJtaXNzaW9ucyIsInVzZURvY3VtZW50SW5mbyIsImVycm9yTWVzc2FnZSIsInNldFZhbHVlIiwic2hvd0Vycm9yIiwidXNlRmllbGQiLCJwYXRoIiwic2hvd1VybElucHV0Iiwic2V0U2hvd1VybElucHV0IiwiZmlsZVVybCIsInNldEZpbGVVcmwiLCJjdXJzb3JQb3NpdGlvblJlZiIsInVzZVJlZiIsInVybElucHV0UmVmIiwiaGFuZGxlRmlsZUNoYW5nZSIsInVzZUNhbGxiYWNrIiwibmV3RmlsZSIsIkZpbGUiLCJmaWxlUmVhZGVyIiwiRmlsZVJlYWRlciIsIm9ubG9hZCIsImUiLCJpbWdTcmMiLCJ0YXJnZXQiLCJyZXN1bHQiLCJyZWFkQXNEYXRhVVJMIiwiaGFuZGxlRmlsZU5hbWVDaGFuZ2UiLCJ1cGRhdGVkRmlsZU5hbWUiLCJjdXJzb3JQb3NpdGlvbiIsInNlbGVjdGlvblN0YXJ0IiwiY3VycmVudCIsImZpbGVWYWx1ZSIsInR5cGUiLCJ1c2VFZmZlY3QiLCJpbnB1dEVsZW1lbnQiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJzZXRTZWxlY3Rpb25SYW5nZSIsImhhbmRsZUZpbGVTZWxlY3Rpb24iLCJSZWFjdCIsImZpbGVzIiwiZmlsZVRvVXBsb2FkIiwiaGFuZGxlRmlsZVJlbW92YWwiLCJvbkVkaXRzU2F2ZSIsImFyZ3MiLCJoYW5kbGVQYXN0ZVVybENsaWNrIiwicHJldiIsImhhbmRsZVVybFN1Ym1pdCIsInJlc3BvbnNlIiwiZmV0Y2giLCJkYXRhIiwiYmxvYiIsImZpbGVOYW1lIiwic3BsaXQiLCJwb3AiLCJmaWxlIiwidG9hc3QiLCJlcnJvciIsIm1lc3NhZ2UiLCJmb2N1cyIsImNhblJlbW92ZVVwbG9hZCIsInVwZGF0ZSIsInBlcm1pc3Npb24iLCJkZWxldGUiLCJoYXNJbWFnZVNpemVzIiwidXBsb2FkIiwiaW1hZ2VTaXplcyIsImxlbmd0aCIsImhhc1Jlc2l6ZU9wdGlvbnMiLCJCb29sZWFuIiwicmVzaXplT3B0aW9ucyIsImZvY2FsUG9pbnRFbmFibGVkIiwiZm9jYWxQb2ludCIsImNyb3AiLCJzaG93Q3JvcCIsInNob3dGb2NhbFBvaW50IiwiZmllbGRCYXNlQ2xhc3MiLCJmaWx0ZXIiLCJqb2luIiwiRXJyb3IiLCJmaWxlbmFtZSIsIkZpbGVEZXRhaWxzIiwiaGFuZGxlUmVtb3ZlIiwiaW1hZ2VDYWNoZVRhZyIsInVwZGF0ZWRBdCIsIkRyb3B6b25lIiwibWltZVR5cGVzIiwib25QYXN0ZVVybENsaWNrIiwiRnJhZ21lbnQiLCJpbnB1dCIsInJlZiIsImJ1dHRvbiIsIm9uQ2xpY2siLCJCdXR0b24iLCJidXR0b25TdHlsZSIsImljb24iLCJpY29uU3R5bGUiLCJyb3VuZCIsInRvb2x0aXAiLCJUaHVtYm5haWwiLCJpc0ltYWdlIiwibmFtZSIsIkRyYXdlciIsImhlYWRlciIsIkVkaXRVcGxvYWQiLCJ1cmwiLCJpbml0aWFsQ3JvcCIsImluaXRpYWxGb2NhbFBvaW50IiwieCIsImZvY2FsWCIsInkiLCJmb2NhbFkiLCJvblNhdmUiLCJob3ZlclRpdGxlIiwidGl0bGUiLCJsYWJlbCIsIlByZXZpZXdTaXplcyJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQXNEYUEsTUFBTTtlQUFOQTs7SUFsQkFDLGFBQWE7ZUFBYkE7O0lBWEFDLGNBQWM7ZUFBZEE7O0lBQ0FDLGVBQWU7ZUFBZkE7OzsrREExQm1EOzhCQUNqQzsrQkFDVDtnRUFLRjsrREFDRDt3QkFDbUI7MEJBQ2I7NEJBQ0U7b0VBQ0g7cUVBQ0M7a0VBQ0g7OERBQ0o7eUJBQ007NkVBQ1M7d0JBQ0Y7aUVBQ1Y7OEJBQ1c7NkJBQ0Q7UUFDeEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVAsTUFBTUMsWUFBWTtBQUNYLE1BQU1GLGlCQUFpQjtBQUN2QixNQUFNQyxrQkFBa0I7QUFFL0IsTUFBTUUsV0FBVyxDQUFDQztJQUNoQixJQUFJLENBQUNBLFNBQVNBLFVBQVVD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
@@ -3,16 +3,4 @@ export type IndexProps = {
3
3
  collection: SanitizedCollectionConfig;
4
4
  isEditing?: boolean;
5
5
  };
6
- export type UploadEdits = {
7
- crop?: {
8
- height?: number;
9
- width?: number;
10
- x?: number;
11
- y?: number;
12
- };
13
- focalPoint?: {
14
- x?: number;
15
- y?: number;
16
- };
17
- };
18
6
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/views/collections/Edit/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAA;AAExF,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,yBAAyB,CAAA;IACrC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AACD,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,CAAC,CAAC,EAAE,MAAM,CAAA;QACV,CAAC,CAAC,EAAE,MAAM,CAAA;KACX,CAAA;IACD,UAAU,CAAC,EAAE;QACX,CAAC,CAAC,EAAE,MAAM,CAAA;QACV,CAAC,CAAC,EAAE,MAAM,CAAA;KACX,CAAA;CACF,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/views/collections/Edit/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAA;AAExF,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,yBAAyB,CAAA;IACrC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/collections/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/collections/config/types.ts"],"names":[],"mappings":"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"}