@merchi/product-form 1.19.32 → 1.19.34

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.
@@ -39,6 +39,7 @@ import { useMerchiFormContext } from '../../context/MerchiProductFormProvider';
39
39
  import { createObjectId, designGroupCount, detachField, fitTextBox, productHasVariationGroups, seedOrSyncCanvas, templatesForGroup, variationsForGroup } from '../../utils/draftTemplates';
40
40
  import { loadDrafts, pruneDrafts, saveDrafts, savedPreview, upsertGroupTemplateDraft } from '../../utils/draftStorage';
41
41
  import { exportDraftPngs, templateImageSources } from '../../utils/draftExport';
42
+ import { productAllowsAdditionalDesignObjects } from '../../utils/designerInputs';
42
43
  import { DEFAULT_DRAFT_FONT, DRAFT_TEXT_FONTS, cssFontFamily, ensureDraftFonts } from '../../utils/draftFonts';
43
44
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
44
45
  var DraftCanvas = /*#__PURE__*/React.lazy(function () {
@@ -105,6 +106,7 @@ export default function DraftDesignerSheet(_ref) {
105
106
  hookForm = _useMerchiFormContext.hookForm,
106
107
  product = _useMerchiFormContext.product;
107
108
  var formValues = hookForm.watch();
109
+ var allowAdditionalObjects = productAllowsAdditionalDesignObjects(product);
108
110
  var hasGroups = productHasVariationGroups(product);
109
111
  var groupCount = designGroupCount(product, formValues);
110
112
  var _useState = useState(initialGroupIndex),
@@ -627,7 +629,7 @@ export default function DraftDesignerSheet(_ref) {
627
629
  }) : null, /*#__PURE__*/_jsxs("nav", {
628
630
  className: "merchi-product-draft-toolbar",
629
631
  "aria-label": "Design tools",
630
- children: [/*#__PURE__*/_jsxs("button", {
632
+ children: [allowAdditionalObjects ? /*#__PURE__*/_jsxs("button", {
631
633
  type: "button",
632
634
  onClick: function onClick() {
633
635
  setLayersOpen(false);
@@ -636,7 +638,7 @@ export default function DraftDesignerSheet(_ref) {
636
638
  children: [/*#__PURE__*/_jsx(FaFont, {}), /*#__PURE__*/_jsx("span", {
637
639
  children: "Text"
638
640
  })]
639
- }), /*#__PURE__*/_jsxs("button", {
641
+ }) : null, allowAdditionalObjects ? /*#__PURE__*/_jsxs("button", {
640
642
  type: "button",
641
643
  onClick: function onClick() {
642
644
  var _fileInputRef$current;
@@ -647,7 +649,7 @@ export default function DraftDesignerSheet(_ref) {
647
649
  children: [/*#__PURE__*/_jsx(FaImage, {}), /*#__PURE__*/_jsx("span", {
648
650
  children: "Image"
649
651
  })]
650
- }), /*#__PURE__*/_jsxs("button", {
652
+ }) : null, /*#__PURE__*/_jsxs("button", {
651
653
  type: "button",
652
654
  onClick: function onClick() {
653
655
  setEditingTextId(null);
@@ -682,4 +684,4 @@ export default function DraftDesignerSheet(_ref) {
682
684
  })]
683
685
  }), document.body);
684
686
  }
685
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJfcmVnZW5lcmF0b3IiLCJlIiwidCIsInIiLCJuIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJ2YWx1ZSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiX2ludm9rZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFzeW5jR2VuZXJhdG9yU3RlcCIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfbmV4dCIsIl90aHJvdyIsIl90b0NvbnN1bWFibGVBcnJheSIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJBcnJheSIsImZyb20iLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInB1c2giLCJfb2JqZWN0U3ByZWFkIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJ0b1N0cmluZyIsInNsaWNlIiwibmFtZSIsInRlc3QiLCJuZXh0IiwiX2NsYXNzQ2FsbENoZWNrIiwiX2RlZmluZVByb3BlcnRpZXMiLCJrZXkiLCJfY3JlYXRlQ2xhc3MiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIlJlZmVyZW5jZUVycm9yIiwiQm9vbGVhbiIsInZhbHVlT2YiLCJfaW5oZXJpdHMiLCJfc2V0UHJvdG90eXBlT2YiLCJSZWFjdCIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsImNyZWF0ZVBvcnRhbCIsIkZhQXJyb3dEb3duIiwiRmFBcnJvd1VwIiwiRmFDaGVjayIsIkZhRm9udCIsIkZhSW1hZ2UiLCJGYUxheWVyR3JvdXAiLCJGYUxvY2siLCJGYVBsdXMiLCJGYVVubG9jayIsIkZhVGltZXMiLCJGYVRyYXNoIiwiQ2dTcGlubmVyIiwidXNlTWVyY2hpRm9ybUNvbnRleHQiLCJjcmVhdGVPYmplY3RJZCIsImRlc2lnbkdyb3VwQ291bnQiLCJkZXRhY2hGaWVsZCIsImZpdFRleHRCb3giLCJwcm9kdWN0SGFzVmFyaWF0aW9uR3JvdXBzIiwic2VlZE9yU3luY0NhbnZhcyIsInRlbXBsYXRlc0Zvckdyb3VwIiwidmFyaWF0aW9uc0Zvckdyb3VwIiwibG9hZERyYWZ0cyIsInBydW5lRHJhZnRzIiwic2F2ZURyYWZ0cyIsInNhdmVkUHJldmlldyIsInVwc2VydEdyb3VwVGVtcGxhdGVEcmFmdCIsImV4cG9ydERyYWZ0UG5ncyIsInRlbXBsYXRlSW1hZ2VTb3VyY2VzIiwiREVGQVVMVF9EUkFGVF9GT05UIiwiRFJBRlRfVEVYVF9GT05UUyIsImNzc0ZvbnRGYW1pbHkiLCJlbnN1cmVEcmFmdEZvbnRzIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiRHJhZnRDYW52YXMiLCJsYXp5IiwiRHJhZnRDYW52YXNCb3VuZGFyeSIsIl9SZWFjdCRDb21wb25lbnQiLCJwcm9wcyIsIl90aGlzIiwic3RhdGUiLCJlcnJvciIsInJlbmRlciIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIiwiRXJyb3IiLCJtZXNzYWdlIiwiQ29tcG9uZW50Iiwic3RvcEJ1YmJsZSIsImV2ZW50Iiwic3RvcFByb3BhZ2F0aW9uIiwidGVtcGxhdGVTcmMiLCJ0ZW1wbGF0ZSIsImFwaVVybCIsInJlYWRGaWxlQXNEYXRhVXJsIiwiZmlsZSIsInJlamVjdCIsInJlYWRlciIsIkZpbGVSZWFkZXIiLCJvbmxvYWQiLCJyZXN1bHQiLCJvbmVycm9yIiwicmVhZEFzRGF0YVVSTCIsIkRyYWZ0RGVzaWduZXJTaGVldCIsIl9yZWYiLCJvcGVuIiwiX3JlZiRpbml0aWFsR3JvdXBJbmRlIiwiaW5pdGlhbEdyb3VwSW5kZXgiLCJvbkNsb3NlIiwib25TYXZlZCIsIl91c2VNZXJjaGlGb3JtQ29udGV4dCIsImNsYXNzTmFtZURyYWZ0U2hlZXQiLCJob29rRm9ybSIsInByb2R1Y3QiLCJmb3JtVmFsdWVzIiwid2F0Y2giLCJoYXNHcm91cHMiLCJncm91cENvdW50IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsImdyb3VwSW5kZXgiLCJzZXRHcm91cEluZGV4IiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJ0ZW1wbGF0ZUluZGV4Iiwic2V0VGVtcGxhdGVJbmRleCIsIl91c2VTdGF0ZTUiLCJ3aWR0aCIsImhlaWdodCIsIm9iamVjdHMiLCJfdXNlU3RhdGU2Iiwic2V0U3RhdGUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlbGVjdGVkSWQiLCJzZXRTZWxlY3RlZElkIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTAiLCJlZGl0aW5nVGV4dElkIiwic2V0RWRpdGluZ1RleHRJZCIsIl91c2VTdGF0ZTEiLCJfdXNlU3RhdGUxMCIsImxheWVyc09wZW4iLCJzZXRMYXllcnNPcGVuIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInNhdmluZyIsInNldFNhdmluZyIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJzZXRFcnJvciIsImZpbGVJbnB1dFJlZiIsImNhbnZhc1JlZiIsInRlbXBsYXRlcyIsIl9mb3JtVmFsdWVzJHZhcmlhdGlvbiIsInZhcmlhdGlvbnMiLCJ2YXJpYXRpb25zR3JvdXBzIiwiTWF0aCIsIm1pbiIsInZhcmlhdGlvblN5bmNLZXkiLCJKU09OIiwic3RyaW5naWZ5IiwibWFwIiwidmFyaWF0aW9uIiwiX3ZhcmlhdGlvbiR2YXJpYXRpb25GIiwiaWQiLCJ2YXJpYXRpb25GaWVsZCIsImZpbGVzIiwidmFyaWF0aW9uRmlsZXMiLCJ2aWV3VXJsIiwiZHJhZnRzIiwic2F2ZWQiLCJjYW52YXNKc29uIiwiY3VycmVudCIsInNhbWUiLCJldmVyeSIsIm9iaiIsImluZGV4Iiwib3RoZXIiLCJ0ZXh0Iiwic3JjIiwiZmlsbCIsIm1lcmNoaUZpZWxkSWQiLCJzZWxlY3RlZCIsImZpbmQiLCJwYXRjaFNlbGVjdGVkIiwicGF0Y2giLCJ0eXBlIiwiYWRkVGV4dCIsImRyYWZ0ZWQiLCJ4Iiwicm90YXRpb24iLCJzY2FsZVgiLCJzY2FsZVkiLCJmb250U2l6ZSIsImZvbnRGYW1pbHkiLCJhbGlnbiIsImNvbmNhdCIsImFkZEltYWdlIiwiX3giLCJfYWRkSW1hZ2UiLCJfY2FsbGVlIiwiX2NvbnRleHQiLCJsb2NrQXNwZWN0UmF0aW8iLCJyZW1vdmVTZWxlY3RlZCIsIm1vdmVMYXllciIsImRpcmVjdGlvbiIsImZpbmRJbmRleCIsIm5leHRJbmRleCIsIl9vYmplY3RzJHNwbGljZSIsInNwbGljZSIsIl9vYmplY3RzJHNwbGljZTIiLCJpdGVtIiwiaGFuZGxlRG9uZSIsIl9oYW5kbGVEb25lIiwiX2NhbGxlZTIiLCJwbmdzIiwiX3QiLCJfdDIiLCJfY29udGV4dDIiLCJleHBvcnRQbmdzIiwiZ2V0VmFsdWVzIiwidGVtcGxhdGVJZCIsImRvY3VtZW50Iiwicm9sZSIsIm9uTW91c2VEb3duIiwib25DbGljayIsImRpc2FibGVkIiwiXyIsIl9pdGVtJGlkIiwiU3VzcGVuc2UiLCJmYWxsYmFjayIsInJlZiIsIm9uU2VsZWN0Iiwib25DaGFuZ2UiLCJvbkVkaXRUZXh0IiwicmV2ZXJzZSIsInJvd3MiLCJhdXRvRm9jdXMiLCJ0YXJnZXQiLCJzdHlsZSIsImZvbnQiLCJsYWJlbCIsIm1heCIsImNvbG91ckZpZWxkSWQiLCJfZmlsZUlucHV0UmVmJGN1cnJlbnQiLCJjbGljayIsIm9wZW5Ob3ciLCJhY2NlcHQiLCJfZSR0YXJnZXQkZmlsZXMiLCJib2R5Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZHJhZnRzL0RyYWZ0RGVzaWduZXJTaGVldC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7XG4gIEZhQXJyb3dEb3duLFxuICBGYUFycm93VXAsXG4gIEZhQ2hlY2ssXG4gIEZhRm9udCxcbiAgRmFJbWFnZSxcbiAgRmFMYXllckdyb3VwLFxuICBGYUxvY2ssXG4gIEZhUGx1cyxcbiAgRmFVbmxvY2ssXG4gIEZhVGltZXMsXG4gIEZhVHJhc2gsXG59IGZyb20gJ3JlYWN0LWljb25zL2ZhJztcbmltcG9ydCB7IENnU3Bpbm5lciB9IGZyb20gJ3JlYWN0LWljb25zL2NnJztcbmltcG9ydCB7IHVzZU1lcmNoaUZvcm1Db250ZXh0IH0gZnJvbSAnLi4vLi4vY29udGV4dC9NZXJjaGlQcm9kdWN0Rm9ybVByb3ZpZGVyJztcbmltcG9ydCB7XG4gIGNyZWF0ZU9iamVjdElkLFxuICBkZXNpZ25Hcm91cENvdW50LFxuICBkZXRhY2hGaWVsZCxcbiAgZml0VGV4dEJveCxcbiAgcHJvZHVjdEhhc1ZhcmlhdGlvbkdyb3VwcyxcbiAgc2VlZE9yU3luY0NhbnZhcyxcbiAgdGVtcGxhdGVzRm9yR3JvdXAsXG4gIHZhcmlhdGlvbnNGb3JHcm91cCxcbn0gZnJvbSAnLi4vLi4vdXRpbHMvZHJhZnRUZW1wbGF0ZXMnO1xuaW1wb3J0IHtcbiAgbG9hZERyYWZ0cyxcbiAgcHJ1bmVEcmFmdHMsXG4gIHNhdmVEcmFmdHMsXG4gIHNhdmVkUHJldmlldyxcbiAgdXBzZXJ0R3JvdXBUZW1wbGF0ZURyYWZ0LFxufSBmcm9tICcuLi8uLi91dGlscy9kcmFmdFN0b3JhZ2UnO1xuaW1wb3J0IHsgZXhwb3J0RHJhZnRQbmdzLCB0ZW1wbGF0ZUltYWdlU291cmNlcyB9IGZyb20gJy4uLy4uL3V0aWxzL2RyYWZ0RXhwb3J0JztcbmltcG9ydCB7XG4gIERyYWZ0Q2FudmFzSGFuZGxlLFxuICBEcmFmdENhbnZhc09iamVjdCxcbiAgRHJhZnRDYW52YXNTdGF0ZSxcbn0gZnJvbSAnLi4vLi4vdXRpbHMvdHlwZXMnO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9EUkFGVF9GT05ULFxuICBEUkFGVF9URVhUX0ZPTlRTLFxuICBjc3NGb250RmFtaWx5LFxuICBlbnN1cmVEcmFmdEZvbnRzLFxufSBmcm9tICcuLi8uLi91dGlscy9kcmFmdEZvbnRzJztcblxuY29uc3QgRHJhZnRDYW52YXMgPSBSZWFjdC5sYXp5KCgpID0+IGltcG9ydCgnLi9EcmFmdENhbnZhcycpKTtcblxuY2xhc3MgRHJhZnRDYW52YXNCb3VuZGFyeSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxcbiAgeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0sXG4gIHsgZXJyb3I6IHN0cmluZyB8IG51bGwgfVxuPiB7XG4gIGNvbnN0cnVjdG9yKHByb3BzOiB7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfSkge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnN0YXRlID0geyBlcnJvcjogbnVsbCB9O1xuICB9XG5cbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihlcnJvcjogdW5rbm93bikge1xuICAgIHJldHVybiB7XG4gICAgICBlcnJvcjogZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnQ2FudmFzIGZhaWxlZCB0byBsb2FkJyxcbiAgICB9O1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGlmICh0aGlzLnN0YXRlLmVycm9yKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtY2FudmFzLWZhbGxiYWNrJz5cbiAgICAgICAgICB7dGhpcy5zdGF0ZS5lcnJvcn1cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlbjtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdG9wQnViYmxlKGV2ZW50OiBSZWFjdC5TeW50aGV0aWNFdmVudCkge1xuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbn1cblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgb3BlbjogYm9vbGVhbjtcbiAgaW5pdGlhbEdyb3VwSW5kZXg/OiBudW1iZXI7XG4gIG9uQ2xvc2U6ICgpID0+IHZvaWQ7XG4gIG9uU2F2ZWQ6ICgpID0+IHZvaWQ7XG59XG5cbmZ1bmN0aW9uIHRlbXBsYXRlU3JjKHRlbXBsYXRlOiBhbnksIGFwaVVybD86IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIHRlbXBsYXRlSW1hZ2VTb3VyY2VzKHRlbXBsYXRlLCBhcGlVcmwpO1xufVxuXG5mdW5jdGlvbiByZWFkRmlsZUFzRGF0YVVybChmaWxlOiBGaWxlKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKFN0cmluZyhyZWFkZXIucmVzdWx0IHx8ICcnKSk7XG4gICAgcmVhZGVyLm9uZXJyb3IgPSAoKSA9PiByZWplY3QocmVhZGVyLmVycm9yKTtcbiAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIERyYWZ0RGVzaWduZXJTaGVldCh7XG4gIG9wZW4sXG4gIGluaXRpYWxHcm91cEluZGV4ID0gMCxcbiAgb25DbG9zZSxcbiAgb25TYXZlZCxcbn06IFByb3BzKSB7XG4gIGNvbnN0IHtcbiAgICBhcGlVcmwsXG4gICAgY2xhc3NOYW1lRHJhZnRTaGVldCxcbiAgICBob29rRm9ybSxcbiAgICBwcm9kdWN0LFxuICB9ID0gdXNlTWVyY2hpRm9ybUNvbnRleHQoKTtcbiAgY29uc3QgZm9ybVZhbHVlcyA9IGhvb2tGb3JtLndhdGNoKCk7XG4gIGNvbnN0IGhhc0dyb3VwcyA9IHByb2R1Y3RIYXNWYXJpYXRpb25Hcm91cHMocHJvZHVjdCk7XG4gIGNvbnN0IGdyb3VwQ291bnQgPSBkZXNpZ25Hcm91cENvdW50KHByb2R1Y3QsIGZvcm1WYWx1ZXMpO1xuICBjb25zdCBbZ3JvdXBJbmRleCwgc2V0R3JvdXBJbmRleF0gPSB1c2VTdGF0ZShpbml0aWFsR3JvdXBJbmRleCk7XG4gIGNvbnN0IFt0ZW1wbGF0ZUluZGV4LCBzZXRUZW1wbGF0ZUluZGV4XSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBbc3RhdGUsIHNldFN0YXRlXSA9IHVzZVN0YXRlPERyYWZ0Q2FudmFzU3RhdGU+KHtcbiAgICB3aWR0aDogMTAwMCxcbiAgICBoZWlnaHQ6IDEwMDAsXG4gICAgb2JqZWN0czogW10sXG4gIH0pO1xuICBjb25zdCBbc2VsZWN0ZWRJZCwgc2V0U2VsZWN0ZWRJZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2VkaXRpbmdUZXh0SWQsIHNldEVkaXRpbmdUZXh0SWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtsYXllcnNPcGVuLCBzZXRMYXllcnNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3NhdmluZywgc2V0U2F2aW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgY29uc3QgZmlsZUlucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBjYW52YXNSZWYgPSB1c2VSZWY8RHJhZnRDYW52YXNIYW5kbGU+KG51bGwpO1xuXG4gIGNvbnN0IHRlbXBsYXRlcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gdGVtcGxhdGVzRm9yR3JvdXAoXG4gICAgICBwcm9kdWN0LFxuICAgICAgZm9ybVZhbHVlcz8udmFyaWF0aW9ucyB8fCBbXSxcbiAgICAgIGZvcm1WYWx1ZXM/LnZhcmlhdGlvbnNHcm91cHM/Lltncm91cEluZGV4XT8udmFyaWF0aW9ucyB8fCBbXSxcbiAgICApLFxuICAgIFtwcm9kdWN0LCBmb3JtVmFsdWVzLCBncm91cEluZGV4XSxcbiAgKTtcbiAgY29uc3QgdGVtcGxhdGUgPSB0ZW1wbGF0ZXNbTWF0aC5taW4odGVtcGxhdGVJbmRleCwgdGVtcGxhdGVzLmxlbmd0aCAtIDEpXSB8fCB0ZW1wbGF0ZXNbMF07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAob3Blbikgc2V0R3JvdXBJbmRleChpbml0aWFsR3JvdXBJbmRleCk7XG4gIH0sIFtvcGVuLCBpbml0aWFsR3JvdXBJbmRleF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG9wZW4pIGVuc3VyZURyYWZ0Rm9udHMoKTtcbiAgfSwgW29wZW5dKTtcblxuICBjb25zdCB2YXJpYXRpb25TeW5jS2V5ID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgdmFyaWF0aW9uc0Zvckdyb3VwKGZvcm1WYWx1ZXMsIGdyb3VwSW5kZXgpLm1hcCgodmFyaWF0aW9uOiBhbnkpID0+ICh7XG4gICAgICBpZDogdmFyaWF0aW9uPy52YXJpYXRpb25GaWVsZD8uaWQsXG4gICAgICB2YWx1ZTogdmFyaWF0aW9uPy52YWx1ZSxcbiAgICAgIGZpbGVzOiAodmFyaWF0aW9uPy52YXJpYXRpb25GaWxlcyB8fCBbXSkubWFwKFxuICAgICAgICAoZmlsZTogYW55KSA9PiBmaWxlPy52aWV3VXJsIHx8IGZpbGU/LmlkXG4gICAgICApLFxuICAgIH0pKVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFvcGVuIHx8ICF0ZW1wbGF0ZSkgcmV0dXJuO1xuICAgIGNvbnN0IGRyYWZ0cyA9IGxvYWREcmFmdHMocHJvZHVjdC5pZCk7XG4gICAgY29uc3Qgc2F2ZWQgPSBzYXZlZFByZXZpZXcoZHJhZnRzLCBncm91cEluZGV4LCB0ZW1wbGF0ZS5pZCk7XG4gICAgY29uc3QgdmFyaWF0aW9ucyA9IHZhcmlhdGlvbnNGb3JHcm91cChmb3JtVmFsdWVzLCBncm91cEluZGV4KTtcbiAgICBzZXRTdGF0ZShzZWVkT3JTeW5jQ2FudmFzKHNhdmVkPy5jYW52YXNKc29uIHx8IG51bGwsIHRlbXBsYXRlLCB2YXJpYXRpb25zKSk7XG4gICAgc2V0U2VsZWN0ZWRJZChudWxsKTtcbiAgICBzZXRFZGl0aW5nVGV4dElkKG51bGwpO1xuICAgIHNldEVycm9yKG51bGwpO1xuICAgIC8vIFJlbG9hZCB0aGUgc2F2ZWQgY2FudmFzIHdoZW4gc3dpdGNoaW5nIGdyb3VwL3RlbXBsYXRlLCBub3Qgb24gZXZlcnkga2V5c3Ryb2tlLlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW29wZW4sIGdyb3VwSW5kZXgsIHRlbXBsYXRlPy5pZCwgcHJvZHVjdD8uaWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghb3BlbiB8fCAhdGVtcGxhdGUpIHJldHVybjtcbiAgICBjb25zdCB2YXJpYXRpb25zID0gdmFyaWF0aW9uc0Zvckdyb3VwKGZvcm1WYWx1ZXMsIGdyb3VwSW5kZXgpO1xuICAgIHNldFN0YXRlKChjdXJyZW50KSA9PiB7XG4gICAgICBjb25zdCBuZXh0ID0gc2VlZE9yU3luY0NhbnZhcyhjdXJyZW50LCB0ZW1wbGF0ZSwgdmFyaWF0aW9ucyk7XG4gICAgICBjb25zdCBzYW1lID0gY3VycmVudC53aWR0aCA9PT0gbmV4dC53aWR0aFxuICAgICAgICAmJiBjdXJyZW50LmhlaWdodCA9PT0gbmV4dC5oZWlnaHRcbiAgICAgICAgJiYgY3VycmVudC5vYmplY3RzLmxlbmd0aCA9PT0gbmV4dC5vYmplY3RzLmxlbmd0aFxuICAgICAgICAmJiBjdXJyZW50Lm9iamVjdHMuZXZlcnkoKG9iaiwgaW5kZXgpID0+IHtcbiAgICAgICAgICBjb25zdCBvdGhlciA9IG5leHQub2JqZWN0c1tpbmRleF07XG4gICAgICAgICAgcmV0dXJuIG9iai5pZCA9PT0gb3RoZXIuaWRcbiAgICAgICAgICAgICYmIG9iai50ZXh0ID09PSBvdGhlci50ZXh0XG4gICAgICAgICAgICAmJiBvYmouc3JjID09PSBvdGhlci5zcmNcbiAgICAgICAgICAgICYmIG9iai5maWxsID09PSBvdGhlci5maWxsXG4gICAgICAgICAgICAmJiBvYmoubWVyY2hpRmllbGRJZCA9PT0gb3RoZXIubWVyY2hpRmllbGRJZDtcbiAgICAgICAgfSk7XG4gICAgICByZXR1cm4gc2FtZSA/IGN1cnJlbnQgOiBuZXh0O1xuICAgIH0pO1xuICB9LCBbb3BlbiwgdmFyaWF0aW9uU3luY0tleSwgdGVtcGxhdGU/LmlkLCBncm91cEluZGV4XSk7XG5cbiAgY29uc3Qgc2VsZWN0ZWQgPSBzdGF0ZS5vYmplY3RzLmZpbmQoKG9iaikgPT4gb2JqLmlkID09PSBzZWxlY3RlZElkKSB8fCBudWxsO1xuXG4gIGZ1bmN0aW9uIHBhdGNoU2VsZWN0ZWQocGF0Y2g6IFBhcnRpYWw8RHJhZnRDYW52YXNPYmplY3Q+KSB7XG4gICAgaWYgKCFzZWxlY3RlZElkKSByZXR1cm47XG4gICAgc2V0U3RhdGUoKGN1cnJlbnQpID0+ICh7XG4gICAgICAuLi5jdXJyZW50LFxuICAgICAgb2JqZWN0czogY3VycmVudC5vYmplY3RzLm1hcCgob2JqKSA9PiB7XG4gICAgICAgIGlmIChvYmouaWQgIT09IHNlbGVjdGVkSWQpIHJldHVybiBvYmo7XG4gICAgICAgIGNvbnN0IG5leHQgPSB7IC4uLm9iaiwgLi4ucGF0Y2ggfTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIG5leHQudHlwZSA9PT0gJ3RleHQnXG4gICAgICAgICAgJiYgKCd0ZXh0JyBpbiBwYXRjaCB8fCAnZm9udFNpemUnIGluIHBhdGNoIHx8ICdmb250RmFtaWx5JyBpbiBwYXRjaClcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4ubmV4dCwgLi4uZml0VGV4dEJveChuZXh0KSB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgfSksXG4gICAgfSkpO1xuICB9XG5cbiAgZnVuY3Rpb24gYWRkVGV4dCgpIHtcbiAgICBjb25zdCBpZCA9IGNyZWF0ZU9iamVjdElkKCk7XG4gICAgY29uc3QgZHJhZnRlZDogRHJhZnRDYW52YXNPYmplY3QgPSB7XG4gICAgICBpZCxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIHg6IHN0YXRlLndpZHRoICogMC41LFxuICAgICAgeTogc3RhdGUuaGVpZ2h0ICogMC4zNSxcbiAgICAgIHdpZHRoOiAxLFxuICAgICAgaGVpZ2h0OiAxLFxuICAgICAgcm90YXRpb246IDAsXG4gICAgICBzY2FsZVg6IDEsXG4gICAgICBzY2FsZVk6IDEsXG4gICAgICB0ZXh0OiAnWW91ciB0ZXh0JyxcbiAgICAgIGZvbnRTaXplOiA1NixcbiAgICAgIGZvbnRGYW1pbHk6IERFRkFVTFRfRFJBRlRfRk9OVCxcbiAgICAgIGZpbGw6ICcjMTExMTExJyxcbiAgICAgIGFsaWduOiAnbGVmdCcsXG4gICAgfTtcbiAgICBjb25zdCBvYmogPSB7IC4uLmRyYWZ0ZWQsIC4uLmZpdFRleHRCb3goZHJhZnRlZCkgfTtcbiAgICBzZXRTdGF0ZSgoY3VycmVudCkgPT4gKHsgLi4uY3VycmVudCwgb2JqZWN0czogWy4uLmN1cnJlbnQub2JqZWN0cywgb2JqXSB9KSk7XG4gICAgc2V0U2VsZWN0ZWRJZChpZCk7XG4gICAgc2V0RWRpdGluZ1RleHRJZChpZCk7XG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBhZGRJbWFnZShmaWxlOiBGaWxlKSB7XG4gICAgY29uc3Qgc3JjID0gYXdhaXQgcmVhZEZpbGVBc0RhdGFVcmwoZmlsZSk7XG4gICAgY29uc3QgaWQgPSBjcmVhdGVPYmplY3RJZCgpO1xuICAgIGNvbnN0IG9iajogRHJhZnRDYW52YXNPYmplY3QgPSB7XG4gICAgICBpZCxcbiAgICAgIHR5cGU6ICdpbWFnZScsXG4gICAgICB4OiBzdGF0ZS53aWR0aCAqIDAuMixcbiAgICAgIHk6IHN0YXRlLmhlaWdodCAqIDAuMixcbiAgICAgIHdpZHRoOiBzdGF0ZS53aWR0aCAqIDAuNixcbiAgICAgIGhlaWdodDogc3RhdGUuaGVpZ2h0ICogMC42LFxuICAgICAgcm90YXRpb246IDAsXG4gICAgICBzY2FsZVg6IDEsXG4gICAgICBzY2FsZVk6IDEsXG4gICAgICBzcmMsXG4gICAgICBsb2NrQXNwZWN0UmF0aW86IHRydWUsXG4gICAgfTtcbiAgICBzZXRTdGF0ZSgoY3VycmVudCkgPT4gKHsgLi4uY3VycmVudCwgb2JqZWN0czogWy4uLmN1cnJlbnQub2JqZWN0cywgb2JqXSB9KSk7XG4gICAgc2V0U2VsZWN0ZWRJZChpZCk7XG4gIH1cblxuICBmdW5jdGlvbiByZW1vdmVTZWxlY3RlZCgpIHtcbiAgICBpZiAoIXNlbGVjdGVkSWQpIHJldHVybjtcbiAgICBzZXRTdGF0ZSgoY3VycmVudCkgPT4gZGV0YWNoRmllbGQoY3VycmVudCwgc2VsZWN0ZWRJZCkpO1xuICAgIHNldFNlbGVjdGVkSWQobnVsbCk7XG4gICAgc2V0RWRpdGluZ1RleHRJZChudWxsKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIG1vdmVMYXllcihkaXJlY3Rpb246IDEgfCAtMSkge1xuICAgIGlmICghc2VsZWN0ZWRJZCkgcmV0dXJuO1xuICAgIHNldFN0YXRlKChjdXJyZW50KSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IGN1cnJlbnQub2JqZWN0cy5maW5kSW5kZXgoKG9iaikgPT4gb2JqLmlkID09PSBzZWxlY3RlZElkKTtcbiAgICAgIGNvbnN0IG5leHRJbmRleCA9IGluZGV4ICsgZGlyZWN0aW9uO1xuICAgICAgaWYgKGluZGV4IDwgMCB8fCBuZXh0SW5kZXggPCAwIHx8IG5leHRJbmRleCA+PSBjdXJyZW50Lm9iamVjdHMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBjdXJyZW50O1xuICAgICAgfVxuICAgICAgY29uc3Qgb2JqZWN0cyA9IFsuLi5jdXJyZW50Lm9iamVjdHNdO1xuICAgICAgY29uc3QgW2l0ZW1dID0gb2JqZWN0cy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgb2JqZWN0cy5zcGxpY2UobmV4dEluZGV4LCAwLCBpdGVtKTtcbiAgICAgIHJldHVybiB7IC4uLmN1cnJlbnQsIG9iamVjdHMgfTtcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIGhhbmRsZURvbmUoKSB7XG4gICAgaWYgKCF0ZW1wbGF0ZSB8fCAhcHJvZHVjdD8uaWQpIHJldHVybjtcbiAgICBzZXRTYXZpbmcodHJ1ZSk7XG4gICAgc2V0RXJyb3IobnVsbCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBuZ3MgPSBjYW52YXNSZWYuY3VycmVudFxuICAgICAgICA/IGF3YWl0IGNhbnZhc1JlZi5jdXJyZW50LmV4cG9ydFBuZ3MoKVxuICAgICAgICA6IGF3YWl0IGV4cG9ydERyYWZ0UG5ncyhcbiAgICAgICAgICBzdGF0ZSxcbiAgICAgICAgICB0ZW1wbGF0ZUltYWdlU291cmNlcyh0ZW1wbGF0ZSwgYXBpVXJsKSxcbiAgICAgICAgICBhcGlVcmwsXG4gICAgICAgICk7XG4gICAgICBjb25zdCBkcmFmdHMgPSBwcnVuZURyYWZ0cyhcbiAgICAgICAgbG9hZERyYWZ0cyhwcm9kdWN0LmlkKSxcbiAgICAgICAgZGVzaWduR3JvdXBDb3VudChwcm9kdWN0LCBob29rRm9ybS5nZXRWYWx1ZXMoKSksXG4gICAgICApO1xuICAgICAgY29uc3QgbmV4dCA9IHVwc2VydEdyb3VwVGVtcGxhdGVEcmFmdChkcmFmdHMsIHByb2R1Y3QuaWQsIGdyb3VwSW5kZXgsIHtcbiAgICAgICAgdGVtcGxhdGVJZDogdGVtcGxhdGUuaWQsXG4gICAgICAgIGNhbnZhc0pzb246IHN0YXRlLFxuICAgICAgICAuLi5wbmdzLFxuICAgICAgfSk7XG4gICAgICBzYXZlRHJhZnRzKHByb2R1Y3QuaWQsIG5leHQpO1xuICAgICAgb25TYXZlZCgpO1xuICAgIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgICBzZXRFcnJvcihlcnI/Lm1lc3NhZ2UgfHwgJ0NvdWxkIG5vdCBzYXZlIGRyYWZ0Jyk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldFNhdmluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKCFvcGVuIHx8IHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiBudWxsO1xuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtgJHtjbGFzc05hbWVEcmFmdFNoZWV0IHx8ICcnfSBtZXJjaGktcHJvZHVjdC1kcmFmdC1zaGVldGB9XG4gICAgICByb2xlPSdkaWFsb2cnXG4gICAgICBhcmlhLW1vZGFsPSd0cnVlJ1xuICAgICAgYXJpYS1sYWJlbD0nRGVzaWduIGFydHdvcmsnXG4gICAgICBvbk1vdXNlRG93bj17c3RvcEJ1YmJsZX1cbiAgICAgIG9uQ2xpY2s9e3N0b3BCdWJibGV9XG4gICAgPlxuICAgICAgPGhlYWRlciBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LXNoZWV0LWhlYWRlcic+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPSdidXR0b24nXG4gICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1pY29uLWJ0bidcbiAgICAgICAgICBvbkNsaWNrPXtvbkNsb3NlfVxuICAgICAgICAgIGFyaWEtbGFiZWw9J0Nsb3NlIGRlc2lnbmVyJ1xuICAgICAgICA+XG4gICAgICAgICAgPEZhVGltZXMgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1zaGVldC10aXRsZSc+XG4gICAgICAgICAgPHN0cm9uZz57dGVtcGxhdGU/Lm5hbWUgfHwgJ0FydHdvcmsnfTwvc3Ryb25nPlxuICAgICAgICAgIHtoYXNHcm91cHMgPyA8c3Bhbj5Hcm91cCB7Z3JvdXBJbmRleCArIDF9PC9zcGFuPiA6IG51bGx9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtZG9uZS1idG4nXG4gICAgICAgICAgb25DbGljaz17aGFuZGxlRG9uZX1cbiAgICAgICAgICBkaXNhYmxlZD17c2F2aW5nfVxuICAgICAgICA+XG4gICAgICAgICAge3NhdmluZyA/IDxDZ1NwaW5uZXIgY2xhc3NOYW1lPSdhbmltYXRlX3NwaW4nIC8+IDogPEZhQ2hlY2sgLz59XG4gICAgICAgICAgRG9uZVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvaGVhZGVyPlxuXG4gICAgICB7aGFzR3JvdXBzICYmIGdyb3VwQ291bnQgPiAxID8gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtY2hpcHMnIHJvbGU9J3RhYmxpc3QnIGFyaWEtbGFiZWw9J0dyb3Vwcyc+XG4gICAgICAgICAge0FycmF5LmZyb20oeyBsZW5ndGg6IGdyb3VwQ291bnQgfSwgKF8sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgcm9sZT0ndGFiJ1xuICAgICAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpbmRleCA9PT0gZ3JvdXBJbmRleH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgbWVyY2hpLXByb2R1Y3QtZHJhZnQtY2hpcCR7aW5kZXggPT09IGdyb3VwSW5kZXggPyAnIGlzLWFjdGl2ZScgOiAnJ31gfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0R3JvdXBJbmRleChpbmRleCk7XG4gICAgICAgICAgICAgICAgc2V0VGVtcGxhdGVJbmRleCgwKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgR3JvdXAge2luZGV4ICsgMX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgOiBudWxsfVxuXG4gICAgICB7dGVtcGxhdGVzLmxlbmd0aCA+IDEgPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1jaGlwcycgcm9sZT0ndGFibGlzdCcgYXJpYS1sYWJlbD0nVGVtcGxhdGVzJz5cbiAgICAgICAgICB7dGVtcGxhdGVzLm1hcCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiAoXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGtleT17aXRlbS5pZCA/PyBpbmRleH1cbiAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICByb2xlPSd0YWInXG4gICAgICAgICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2l0ZW0uaWQgPT09IHRlbXBsYXRlPy5pZH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgbWVyY2hpLXByb2R1Y3QtZHJhZnQtY2hpcCR7aXRlbS5pZCA9PT0gdGVtcGxhdGU/LmlkID8gJyBpcy1hY3RpdmUnIDogJyd9YH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0VGVtcGxhdGVJbmRleChpbmRleCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpdGVtLm5hbWUgfHwgYFRlbXBsYXRlICR7aW5kZXggKyAxfWB9XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cblxuICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LW1haW4nPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtc2hlZXQtYm9keSc+XG4gICAgICAgICAgPERyYWZ0Q2FudmFzQm91bmRhcnk+XG4gICAgICAgICAgICA8UmVhY3QuU3VzcGVuc2VcbiAgICAgICAgICAgICAgZmFsbGJhY2s9e1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1jYW52YXMtZmFsbGJhY2snPkxvYWRpbmcgY2FudmFz4oCmPC9kaXY+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPERyYWZ0Q2FudmFzXG4gICAgICAgICAgICAgICAgcmVmPXtjYW52YXNSZWZ9XG4gICAgICAgICAgICAgICAgc3RhdGU9e3N0YXRlfVxuICAgICAgICAgICAgICAgIHRlbXBsYXRlPXt0ZW1wbGF0ZX1cbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZVNyYz17dGVtcGxhdGVTcmModGVtcGxhdGUsIGFwaVVybCl9XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRJZD17c2VsZWN0ZWRJZH1cbiAgICAgICAgICAgICAgICBvblNlbGVjdD17c2V0U2VsZWN0ZWRJZH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17c2V0U3RhdGV9XG4gICAgICAgICAgICAgICAgb25FZGl0VGV4dD17KGlkKSA9PiB7XG4gICAgICAgICAgICAgICAgICBzZXRMYXllcnNPcGVuKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkSWQoaWQpO1xuICAgICAgICAgICAgICAgICAgc2V0RWRpdGluZ1RleHRJZChpZCk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvUmVhY3QuU3VzcGVuc2U+XG4gICAgICAgICAgPC9EcmFmdENhbnZhc0JvdW5kYXJ5PlxuXG4gICAgICAgICAge2xheWVyc09wZW4gPyAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtbGF5ZXJzJz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWxheWVycy1oZWFkJz5cbiAgICAgICAgICAgICAgICA8c3Ryb25nPkxheWVyczwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0nYnV0dG9uJyBvbkNsaWNrPXsoKSA9PiBzZXRMYXllcnNPcGVuKGZhbHNlKX0gYXJpYS1sYWJlbD0nQ2xvc2UgbGF5ZXJzJz5cbiAgICAgICAgICAgICAgICAgIDxGYVRpbWVzIC8+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB7c3RhdGUub2JqZWN0cy5sZW5ndGggPT09IDAgPyAoXG4gICAgICAgICAgICAgICAgPHA+Tm8gb2JqZWN0cyB5ZXQuIEFkZCB0ZXh0IG9yIGFuIGltYWdlLjwvcD5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICBbLi4uc3RhdGUub2JqZWN0c10ucmV2ZXJzZSgpLm1hcCgob2JqLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBrZXk9e29iai5pZH1cbiAgICAgICAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BtZXJjaGktcHJvZHVjdC1kcmFmdC1sYXllciR7b2JqLmlkID09PSBzZWxlY3RlZElkID8gJyBpcy1hY3RpdmUnIDogJyd9YH1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkSWQob2JqLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICBzZXRFZGl0aW5nVGV4dElkKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8RmFQbHVzIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtbGF5ZXItaWNvbicgLz5cbiAgICAgICAgICAgICAgICAgICAge29iai50eXBlID09PSAndGV4dCcgPyAob2JqLnRleHQgfHwgJ1RleHQnKSA6IG9iai50eXBlID09PSAnaW1hZ2UnID8gJ0ltYWdlJyA6ICdCYXNlIGNvbG91cid9XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPntzdGF0ZS5vYmplY3RzLmxlbmd0aCAtIGluZGV4fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApIDogbnVsbH1cblxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7ZXJyb3IgPyA8cCBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWVycm9yJz57ZXJyb3J9PC9wPiA6IG51bGx9XG5cbiAgICAgICAgPGFzaWRlIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtZG9jayc+XG4gICAgICAgICAge3NlbGVjdGVkID8gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWluc3BlY3Rvcic+XG4gICAgICAgICAgICAgIHtzZWxlY3RlZC50eXBlID09PSAndGV4dCcgPyAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LXRleHQtaW5wdXQnXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtzZWxlY3RlZC50ZXh0IHx8ICcnfVxuICAgICAgICAgICAgICAgICAgICByb3dzPXsyfVxuICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXM9e2VkaXRpbmdUZXh0SWQgPT09IHNlbGVjdGVkLmlkfVxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSdFZGl0IHRleHQnXG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gcGF0Y2hTZWxlY3RlZCh7IHRleHQ6IGUudGFyZ2V0LnZhbHVlIH0pfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWZvbnQnPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9J21lcmNoaS1zci1vbmx5Jz5Gb250PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0nRm9udCdcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17c2VsZWN0ZWQuZm9udEZhbWlseSB8fCBERUZBVUxUX0RSQUZUX0ZPTlR9XG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgZm9udEZhbWlseTogY3NzRm9udEZhbWlseShzZWxlY3RlZC5mb250RmFtaWx5IHx8IERFRkFVTFRfRFJBRlRfRk9OVCkgfX1cbiAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHBhdGNoU2VsZWN0ZWQoeyBmb250RmFtaWx5OiBlLnRhcmdldC52YWx1ZSB9KX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHtEUkFGVF9URVhUX0ZPTlRTLm1hcCgoZm9udCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2ZvbnQudmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtmb250LnZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBmb250RmFtaWx5OiBjc3NGb250RmFtaWx5KGZvbnQudmFsdWUpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtmb250LmxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LXN0ZXBwZXInXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHBhdGNoU2VsZWN0ZWQoe1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBNYXRoLm1heCgxMiwgKHNlbGVjdGVkLmZvbnRTaXplIHx8IDQ4KSAtIDgpLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0nU21hbGxlciB0ZXh0J1xuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBBLVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1zdGVwcGVyJ1xuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwYXRjaFNlbGVjdGVkKHtcbiAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogTWF0aC5taW4oMjQwLCAoc2VsZWN0ZWQuZm9udFNpemUgfHwgNDgpICsgOCksXG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSdMYXJnZXIgdGV4dCdcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQStcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAge3NlbGVjdGVkLmNvbG91ckZpZWxkSWQgIT0gbnVsbCA/IChcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtY29sb3InPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0nbWVyY2hpLXNyLW9ubHknPkNvbG91cjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9J2NvbG9yJ1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ey9eI1swLTlhLWZBLUZdezZ9JC8udGVzdChzZWxlY3RlZC5maWxsIHx8ICcnKSA/IHNlbGVjdGVkLmZpbGwgOiAnIzExMTExMSd9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHBhdGNoU2VsZWN0ZWQoeyBmaWxsOiBlLnRhcmdldC52YWx1ZSB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICB7c2VsZWN0ZWQudHlwZSA9PT0gJ2ltYWdlJyA/IChcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICB0eXBlPSdidXR0b24nXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BtZXJjaGktcHJvZHVjdC1kcmFmdC1pY29uLWJ0biR7c2VsZWN0ZWQubG9ja0FzcGVjdFJhdGlvID8gJyBpcy1hY3RpdmUnIDogJyd9YH1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHBhdGNoU2VsZWN0ZWQoeyBsb2NrQXNwZWN0UmF0aW86ICFzZWxlY3RlZC5sb2NrQXNwZWN0UmF0aW8gfSl9XG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtzZWxlY3RlZC5sb2NrQXNwZWN0UmF0aW8gPyAnVW5sb2NrIGFzcGVjdCByYXRpbycgOiAnTG9jayBhc3BlY3QgcmF0aW8nfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtzZWxlY3RlZC5sb2NrQXNwZWN0UmF0aW8gPyA8RmFMb2NrIC8+IDogPEZhVW5sb2NrIC8+fVxuICAgICAgICAgICAgICAgICAgUmF0aW9cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIHtzZWxlY3RlZC50eXBlID09PSAncmVjdCcgPyAoXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtY29sb3InPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSdtZXJjaGktc3Itb25seSc+RmlsbCBjb2xvdXI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHlwZT0nY29sb3InXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtzZWxlY3RlZC5maWxsIHx8ICcjY2NjY2NjJ31cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBwYXRjaFNlbGVjdGVkKHsgZmlsbDogZS50YXJnZXQudmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtaWNvbi1idG4nXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcGF0Y2hTZWxlY3RlZCh7IHNjYWxlWDogKHNlbGVjdGVkLnNjYWxlWCB8fCAxKSAqIC0xIH0pfVxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9J0ZsaXAnXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBGbGlwXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtaWNvbi1idG4nXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gbW92ZUxheWVyKDEpfVxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9J0JyaW5nIGZvcndhcmQnXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8RmFBcnJvd1VwIC8+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtaWNvbi1idG4nXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gbW92ZUxheWVyKC0xKX1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSdTZW5kIGJhY2t3YXJkJ1xuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPEZhQXJyb3dEb3duIC8+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtaWNvbi1idG4gaXMtZGFuZ2VyJ1xuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3JlbW92ZVNlbGVjdGVkfVxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9J0RlbGV0ZSdcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxGYVRyYXNoIC8+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSA6IG51bGx9XG5cbiAgICAgICAgICA8bmF2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtdG9vbGJhcicgYXJpYS1sYWJlbD0nRGVzaWduIHRvb2xzJz5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0TGF5ZXJzT3BlbihmYWxzZSk7XG4gICAgICAgICAgICAgICAgYWRkVGV4dCgpO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RmFGb250IC8+XG4gICAgICAgICAgICAgIDxzcGFuPlRleHQ8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0TGF5ZXJzT3BlbihmYWxzZSk7XG4gICAgICAgICAgICAgICAgc2V0RWRpdGluZ1RleHRJZChudWxsKTtcbiAgICAgICAgICAgICAgICBmaWxlSW5wdXRSZWYuY3VycmVudD8uY2xpY2soKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEZhSW1hZ2UgLz5cbiAgICAgICAgICAgICAgPHNwYW4+SW1hZ2U8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0RWRpdGluZ1RleHRJZChudWxsKTtcbiAgICAgICAgICAgICAgICBzZXRMYXllcnNPcGVuKChvcGVuTm93KSA9PiAhb3Blbk5vdyk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxGYUxheWVyR3JvdXAgLz5cbiAgICAgICAgICAgICAgPHNwYW4+TGF5ZXJzPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9J2J1dHRvbicgb25DbGljaz17cmVtb3ZlU2VsZWN0ZWR9IGRpc2FibGVkPXshc2VsZWN0ZWRJZH0+XG4gICAgICAgICAgICAgIDxGYVRyYXNoIC8+XG4gICAgICAgICAgICAgIDxzcGFuPkRlbGV0ZTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgcmVmPXtmaWxlSW5wdXRSZWZ9XG4gICAgICAgICAgICB0eXBlPSdmaWxlJ1xuICAgICAgICAgICAgYWNjZXB0PSdpbWFnZS8qJ1xuICAgICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1maWxlJ1xuICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGZpbGUgPSBlLnRhcmdldC5maWxlcz8uWzBdO1xuICAgICAgICAgICAgICBpZiAoZmlsZSkgYWRkSW1hZ2UoZmlsZSk7XG4gICAgICAgICAgICAgIGUudGFyZ2V0LnZhbHVlID0gJyc7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvYXNpZGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj4sXG4gICAgZG9jdW1lbnQuYm9keSxcbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTs7QUFBQyxTQUFBQSxRQUFBQyxDQUFBLHNDQUFBRCxPQUFBLHdCQUFBRSxNQUFBLHVCQUFBQSxNQUFBLENBQUFDLFFBQUEsYUFBQUYsQ0FBQSxrQkFBQUEsQ0FBQSxnQkFBQUEsQ0FBQSxXQUFBQSxDQUFBLHlCQUFBQyxNQUFBLElBQUFELENBQUEsQ0FBQUcsV0FBQSxLQUFBRixNQUFBLElBQUFELENBQUEsS0FBQUMsTUFBQSxDQUFBRyxTQUFBLHFCQUFBSixDQUFBLEtBQUFELE9BQUEsQ0FBQUMsQ0FBQTtBQUFBLFNBQUFLLGFBQUEsSUFDYix1S0FBQUMsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsd0JBQUFQLE1BQUEsR0FBQUEsTUFBQSxPQUFBUSxDQUFBLEdBQUFELENBQUEsQ0FBQU4sUUFBQSxrQkFBQUYsQ0FBQSxHQUFBUSxDQUFBLENBQUFFLFdBQUEsOEJBQUFDLEVBQUFILENBQUEsRUFBQUMsQ0FBQSxFQUFBVCxDQUFBLEVBQUFXLENBQUEsUUFBQUMsQ0FBQSxHQUFBSCxDQUFBLElBQUFBLENBQUEsQ0FBQUwsU0FBQSxZQUFBUyxTQUFBLEdBQUFKLENBQUEs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
687
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJfcmVnZW5lcmF0b3IiLCJlIiwidCIsInIiLCJuIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJ2YWx1ZSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiX2ludm9rZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFzeW5jR2VuZXJhdG9yU3RlcCIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfbmV4dCIsIl90aHJvdyIsIl90b0NvbnN1bWFibGVBcnJheSIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJBcnJheSIsImZyb20iLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInB1c2giLCJfb2JqZWN0U3ByZWFkIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJ0b1N0cmluZyIsInNsaWNlIiwibmFtZSIsInRlc3QiLCJuZXh0IiwiX2NsYXNzQ2FsbENoZWNrIiwiX2RlZmluZVByb3BlcnRpZXMiLCJrZXkiLCJfY3JlYXRlQ2xhc3MiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIlJlZmVyZW5jZUVycm9yIiwiQm9vbGVhbiIsInZhbHVlT2YiLCJfaW5oZXJpdHMiLCJfc2V0UHJvdG90eXBlT2YiLCJSZWFjdCIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsImNyZWF0ZVBvcnRhbCIsIkZhQXJyb3dEb3duIiwiRmFBcnJvd1VwIiwiRmFDaGVjayIsIkZhRm9udCIsIkZhSW1hZ2UiLCJGYUxheWVyR3JvdXAiLCJGYUxvY2siLCJGYVBsdXMiLCJGYVVubG9jayIsIkZhVGltZXMiLCJGYVRyYXNoIiwiQ2dTcGlubmVyIiwidXNlTWVyY2hpRm9ybUNvbnRleHQiLCJjcmVhdGVPYmplY3RJZCIsImRlc2lnbkdyb3VwQ291bnQiLCJkZXRhY2hGaWVsZCIsImZpdFRleHRCb3giLCJwcm9kdWN0SGFzVmFyaWF0aW9uR3JvdXBzIiwic2VlZE9yU3luY0NhbnZhcyIsInRlbXBsYXRlc0Zvckdyb3VwIiwidmFyaWF0aW9uc0Zvckdyb3VwIiwibG9hZERyYWZ0cyIsInBydW5lRHJhZnRzIiwic2F2ZURyYWZ0cyIsInNhdmVkUHJldmlldyIsInVwc2VydEdyb3VwVGVtcGxhdGVEcmFmdCIsImV4cG9ydERyYWZ0UG5ncyIsInRlbXBsYXRlSW1hZ2VTb3VyY2VzIiwicHJvZHVjdEFsbG93c0FkZGl0aW9uYWxEZXNpZ25PYmplY3RzIiwiREVGQVVMVF9EUkFGVF9GT05UIiwiRFJBRlRfVEVYVF9GT05UUyIsImNzc0ZvbnRGYW1pbHkiLCJlbnN1cmVEcmFmdEZvbnRzIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiRHJhZnRDYW52YXMiLCJsYXp5IiwiRHJhZnRDYW52YXNCb3VuZGFyeSIsIl9SZWFjdCRDb21wb25lbnQiLCJwcm9wcyIsIl90aGlzIiwic3RhdGUiLCJlcnJvciIsInJlbmRlciIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIiwiRXJyb3IiLCJtZXNzYWdlIiwiQ29tcG9uZW50Iiwic3RvcEJ1YmJsZSIsImV2ZW50Iiwic3RvcFByb3BhZ2F0aW9uIiwidGVtcGxhdGVTcmMiLCJ0ZW1wbGF0ZSIsImFwaVVybCIsInJlYWRGaWxlQXNEYXRhVXJsIiwiZmlsZSIsInJlamVjdCIsInJlYWRlciIsIkZpbGVSZWFkZXIiLCJvbmxvYWQiLCJyZXN1bHQiLCJvbmVycm9yIiwicmVhZEFzRGF0YVVSTCIsIkRyYWZ0RGVzaWduZXJTaGVldCIsIl9yZWYiLCJvcGVuIiwiX3JlZiRpbml0aWFsR3JvdXBJbmRlIiwiaW5pdGlhbEdyb3VwSW5kZXgiLCJvbkNsb3NlIiwib25TYXZlZCIsIl91c2VNZXJjaGlGb3JtQ29udGV4dCIsImNsYXNzTmFtZURyYWZ0U2hlZXQiLCJob29rRm9ybSIsInByb2R1Y3QiLCJmb3JtVmFsdWVzIiwid2F0Y2giLCJhbGxvd0FkZGl0aW9uYWxPYmplY3RzIiwiaGFzR3JvdXBzIiwiZ3JvdXBDb3VudCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJncm91cEluZGV4Iiwic2V0R3JvdXBJbmRleCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwidGVtcGxhdGVJbmRleCIsInNldFRlbXBsYXRlSW5kZXgiLCJfdXNlU3RhdGU1Iiwid2lkdGgiLCJoZWlnaHQiLCJvYmplY3RzIiwiX3VzZVN0YXRlNiIsInNldFN0YXRlIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZWxlY3RlZElkIiwic2V0U2VsZWN0ZWRJZCIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwiZWRpdGluZ1RleHRJZCIsInNldEVkaXRpbmdUZXh0SWQiLCJfdXNlU3RhdGUxIiwiX3VzZVN0YXRlMTAiLCJsYXllcnNPcGVuIiwic2V0TGF5ZXJzT3BlbiIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJzYXZpbmciLCJzZXRTYXZpbmciLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0Iiwic2V0RXJyb3IiLCJmaWxlSW5wdXRSZWYiLCJjYW52YXNSZWYiLCJ0ZW1wbGF0ZXMiLCJfZm9ybVZhbHVlcyR2YXJpYXRpb24iLCJ2YXJpYXRpb25zIiwidmFyaWF0aW9uc0dyb3VwcyIsIk1hdGgiLCJtaW4iLCJ2YXJpYXRpb25TeW5jS2V5IiwiSlNPTiIsInN0cmluZ2lmeSIsIm1hcCIsInZhcmlhdGlvbiIsIl92YXJpYXRpb24kdmFyaWF0aW9uRiIsImlkIiwidmFyaWF0aW9uRmllbGQiLCJmaWxlcyIsInZhcmlhdGlvbkZpbGVzIiwidmlld1VybCIsImRyYWZ0cyIsInNhdmVkIiwiY2FudmFzSnNvbiIsImN1cnJlbnQiLCJzYW1lIiwiZXZlcnkiLCJvYmoiLCJpbmRleCIsIm90aGVyIiwidGV4dCIsInNyYyIsImZpbGwiLCJtZXJjaGlGaWVsZElkIiwic2VsZWN0ZWQiLCJmaW5kIiwicGF0Y2hTZWxlY3RlZCIsInBhdGNoIiwidHlwZSIsImFkZFRleHQiLCJkcmFmdGVkIiwieCIsInJvdGF0aW9uIiwic2NhbGVYIiwic2NhbGVZIiwiZm9udFNpemUiLCJmb250RmFtaWx5IiwiYWxpZ24iLCJjb25jYXQiLCJhZGRJbWFnZSIsIl94IiwiX2FkZEltYWdlIiwiX2NhbGxlZSIsIl9jb250ZXh0IiwibG9ja0FzcGVjdFJhdGlvIiwicmVtb3ZlU2VsZWN0ZWQiLCJtb3ZlTGF5ZXIiLCJkaXJlY3Rpb24iLCJmaW5kSW5kZXgiLCJuZXh0SW5kZXgiLCJfb2JqZWN0cyRzcGxpY2UiLCJzcGxpY2UiLCJfb2JqZWN0cyRzcGxpY2UyIiwiaXRlbSIsImhhbmRsZURvbmUiLCJfaGFuZGxlRG9uZSIsIl9jYWxsZWUyIiwicG5ncyIsIl90IiwiX3QyIiwiX2NvbnRleHQyIiwiZXhwb3J0UG5ncyIsImdldFZhbHVlcyIsInRlbXBsYXRlSWQiLCJkb2N1bWVudCIsInJvbGUiLCJvbk1vdXNlRG93biIsIm9uQ2xpY2siLCJkaXNhYmxlZCIsIl8iLCJfaXRlbSRpZCIsIlN1c3BlbnNlIiwiZmFsbGJhY2siLCJyZWYiLCJvblNlbGVjdCIsIm9uQ2hhbmdlIiwib25FZGl0VGV4dCIsInJldmVyc2UiLCJyb3dzIiwiYXV0b0ZvY3VzIiwidGFyZ2V0Iiwic3R5bGUiLCJmb250IiwibGFiZWwiLCJtYXgiLCJjb2xvdXJGaWVsZElkIiwiX2ZpbGVJbnB1dFJlZiRjdXJyZW50IiwiY2xpY2siLCJvcGVuTm93IiwiYWNjZXB0IiwiX2UkdGFyZ2V0JGZpbGVzIiwiYm9keSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2RyYWZ0cy9EcmFmdERlc2lnbmVyU2hlZXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQge1xuICBGYUFycm93RG93bixcbiAgRmFBcnJvd1VwLFxuICBGYUNoZWNrLFxuICBGYUZvbnQsXG4gIEZhSW1hZ2UsXG4gIEZhTGF5ZXJHcm91cCxcbiAgRmFMb2NrLFxuICBGYVBsdXMsXG4gIEZhVW5sb2NrLFxuICBGYVRpbWVzLFxuICBGYVRyYXNoLFxufSBmcm9tICdyZWFjdC1pY29ucy9mYSc7XG5pbXBvcnQgeyBDZ1NwaW5uZXIgfSBmcm9tICdyZWFjdC1pY29ucy9jZyc7XG5pbXBvcnQgeyB1c2VNZXJjaGlGb3JtQ29udGV4dCB9IGZyb20gJy4uLy4uL2NvbnRleHQvTWVyY2hpUHJvZHVjdEZvcm1Qcm92aWRlcic7XG5pbXBvcnQge1xuICBjcmVhdGVPYmplY3RJZCxcbiAgZGVzaWduR3JvdXBDb3VudCxcbiAgZGV0YWNoRmllbGQsXG4gIGZpdFRleHRCb3gsXG4gIHByb2R1Y3RIYXNWYXJpYXRpb25Hcm91cHMsXG4gIHNlZWRPclN5bmNDYW52YXMsXG4gIHRlbXBsYXRlc0Zvckdyb3VwLFxuICB2YXJpYXRpb25zRm9yR3JvdXAsXG59IGZyb20gJy4uLy4uL3V0aWxzL2RyYWZ0VGVtcGxhdGVzJztcbmltcG9ydCB7XG4gIGxvYWREcmFmdHMsXG4gIHBydW5lRHJhZnRzLFxuICBzYXZlRHJhZnRzLFxuICBzYXZlZFByZXZpZXcsXG4gIHVwc2VydEdyb3VwVGVtcGxhdGVEcmFmdCxcbn0gZnJvbSAnLi4vLi4vdXRpbHMvZHJhZnRTdG9yYWdlJztcbmltcG9ydCB7IGV4cG9ydERyYWZ0UG5ncywgdGVtcGxhdGVJbWFnZVNvdXJjZXMgfSBmcm9tICcuLi8uLi91dGlscy9kcmFmdEV4cG9ydCc7XG5pbXBvcnQgeyBwcm9kdWN0QWxsb3dzQWRkaXRpb25hbERlc2lnbk9iamVjdHMgfSBmcm9tICcuLi8uLi91dGlscy9kZXNpZ25lcklucHV0cyc7XG5pbXBvcnQge1xuICBEcmFmdENhbnZhc0hhbmRsZSxcbiAgRHJhZnRDYW52YXNPYmplY3QsXG4gIERyYWZ0Q2FudmFzU3RhdGUsXG59IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzJztcbmltcG9ydCB7XG4gIERFRkFVTFRfRFJBRlRfRk9OVCxcbiAgRFJBRlRfVEVYVF9GT05UUyxcbiAgY3NzRm9udEZhbWlseSxcbiAgZW5zdXJlRHJhZnRGb250cyxcbn0gZnJvbSAnLi4vLi4vdXRpbHMvZHJhZnRGb250cyc7XG5cbmNvbnN0IERyYWZ0Q2FudmFzID0gUmVhY3QubGF6eSgoKSA9PiBpbXBvcnQoJy4vRHJhZnRDYW52YXMnKSk7XG5cbmNsYXNzIERyYWZ0Q2FudmFzQm91bmRhcnkgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8XG4gIHsgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSB9LFxuICB7IGVycm9yOiBzdHJpbmcgfCBudWxsIH1cbj4ge1xuICBjb25zdHJ1Y3Rvcihwcm9wczogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHsgZXJyb3I6IG51bGwgfTtcbiAgfVxuXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZXJyb3I6IHVua25vd24pIHtcbiAgICByZXR1cm4ge1xuICAgICAgZXJyb3I6IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ0NhbnZhcyBmYWlsZWQgdG8gbG9hZCcsXG4gICAgfTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5lcnJvcikge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWNhbnZhcy1mYWxsYmFjayc+XG4gICAgICAgICAge3RoaXMuc3RhdGUuZXJyb3J9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW47XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RvcEJ1YmJsZShldmVudDogUmVhY3QuU3ludGhldGljRXZlbnQpIHtcbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG59XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIG9wZW46IGJvb2xlYW47XG4gIGluaXRpYWxHcm91cEluZGV4PzogbnVtYmVyO1xuICBvbkNsb3NlOiAoKSA9PiB2b2lkO1xuICBvblNhdmVkOiAoKSA9PiB2b2lkO1xufVxuXG5mdW5jdGlvbiB0ZW1wbGF0ZVNyYyh0ZW1wbGF0ZTogYW55LCBhcGlVcmw/OiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIHJldHVybiB0ZW1wbGF0ZUltYWdlU291cmNlcyh0ZW1wbGF0ZSwgYXBpVXJsKTtcbn1cblxuZnVuY3Rpb24gcmVhZEZpbGVBc0RhdGFVcmwoZmlsZTogRmlsZSk6IFByb21pc2U8c3RyaW5nPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICByZWFkZXIub25sb2FkID0gKCkgPT4gcmVzb2x2ZShTdHJpbmcocmVhZGVyLnJlc3VsdCB8fCAnJykpO1xuICAgIHJlYWRlci5vbmVycm9yID0gKCkgPT4gcmVqZWN0KHJlYWRlci5lcnJvcik7XG4gICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBEcmFmdERlc2lnbmVyU2hlZXQoe1xuICBvcGVuLFxuICBpbml0aWFsR3JvdXBJbmRleCA9IDAsXG4gIG9uQ2xvc2UsXG4gIG9uU2F2ZWQsXG59OiBQcm9wcykge1xuICBjb25zdCB7XG4gICAgYXBpVXJsLFxuICAgIGNsYXNzTmFtZURyYWZ0U2hlZXQsXG4gICAgaG9va0Zvcm0sXG4gICAgcHJvZHVjdCxcbiAgfSA9IHVzZU1lcmNoaUZvcm1Db250ZXh0KCk7XG4gIGNvbnN0IGZvcm1WYWx1ZXMgPSBob29rRm9ybS53YXRjaCgpO1xuICBjb25zdCBhbGxvd0FkZGl0aW9uYWxPYmplY3RzID0gcHJvZHVjdEFsbG93c0FkZGl0aW9uYWxEZXNpZ25PYmplY3RzKHByb2R1Y3QpO1xuICBjb25zdCBoYXNHcm91cHMgPSBwcm9kdWN0SGFzVmFyaWF0aW9uR3JvdXBzKHByb2R1Y3QpO1xuICBjb25zdCBncm91cENvdW50ID0gZGVzaWduR3JvdXBDb3VudChwcm9kdWN0LCBmb3JtVmFsdWVzKTtcbiAgY29uc3QgW2dyb3VwSW5kZXgsIHNldEdyb3VwSW5kZXhdID0gdXNlU3RhdGUoaW5pdGlhbEdyb3VwSW5kZXgpO1xuICBjb25zdCBbdGVtcGxhdGVJbmRleCwgc2V0VGVtcGxhdGVJbmRleF0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW3N0YXRlLCBzZXRTdGF0ZV0gPSB1c2VTdGF0ZTxEcmFmdENhbnZhc1N0YXRlPih7XG4gICAgd2lkdGg6IDEwMDAsXG4gICAgaGVpZ2h0OiAxMDAwLFxuICAgIG9iamVjdHM6IFtdLFxuICB9KTtcbiAgY29uc3QgW3NlbGVjdGVkSWQsIHNldFNlbGVjdGVkSWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtlZGl0aW5nVGV4dElkLCBzZXRFZGl0aW5nVGV4dElkXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbbGF5ZXJzT3Blbiwgc2V0TGF5ZXJzT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzYXZpbmcsIHNldFNhdmluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGZpbGVJbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcbiAgY29uc3QgY2FudmFzUmVmID0gdXNlUmVmPERyYWZ0Q2FudmFzSGFuZGxlPihudWxsKTtcblxuICBjb25zdCB0ZW1wbGF0ZXMgPSB1c2VNZW1vKFxuICAgICgpID0+IHRlbXBsYXRlc0Zvckdyb3VwKFxuICAgICAgcHJvZHVjdCxcbiAgICAgIGZvcm1WYWx1ZXM/LnZhcmlhdGlvbnMgfHwgW10sXG4gICAgICBmb3JtVmFsdWVzPy52YXJpYXRpb25zR3JvdXBzPy5bZ3JvdXBJbmRleF0/LnZhcmlhdGlvbnMgfHwgW10sXG4gICAgKSxcbiAgICBbcHJvZHVjdCwgZm9ybVZhbHVlcywgZ3JvdXBJbmRleF0sXG4gICk7XG4gIGNvbnN0IHRlbXBsYXRlID0gdGVtcGxhdGVzW01hdGgubWluKHRlbXBsYXRlSW5kZXgsIHRlbXBsYXRlcy5sZW5ndGggLSAxKV0gfHwgdGVtcGxhdGVzWzBdO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG9wZW4pIHNldEdyb3VwSW5kZXgoaW5pdGlhbEdyb3VwSW5kZXgpO1xuICB9LCBbb3BlbiwgaW5pdGlhbEdyb3VwSW5kZXhdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvcGVuKSBlbnN1cmVEcmFmdEZvbnRzKCk7XG4gIH0sIFtvcGVuXSk7XG5cbiAgY29uc3QgdmFyaWF0aW9uU3luY0tleSA9IEpTT04uc3RyaW5naWZ5KFxuICAgIHZhcmlhdGlvbnNGb3JHcm91cChmb3JtVmFsdWVzLCBncm91cEluZGV4KS5tYXAoKHZhcmlhdGlvbjogYW55KSA9PiAoe1xuICAgICAgaWQ6IHZhcmlhdGlvbj8udmFyaWF0aW9uRmllbGQ/LmlkLFxuICAgICAgdmFsdWU6IHZhcmlhdGlvbj8udmFsdWUsXG4gICAgICBmaWxlczogKHZhcmlhdGlvbj8udmFyaWF0aW9uRmlsZXMgfHwgW10pLm1hcChcbiAgICAgICAgKGZpbGU6IGFueSkgPT4gZmlsZT8udmlld1VybCB8fCBmaWxlPy5pZFxuICAgICAgKSxcbiAgICB9KSlcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghb3BlbiB8fCAhdGVtcGxhdGUpIHJldHVybjtcbiAgICBjb25zdCBkcmFmdHMgPSBsb2FkRHJhZnRzKHByb2R1Y3QuaWQpO1xuICAgIGNvbnN0IHNhdmVkID0gc2F2ZWRQcmV2aWV3KGRyYWZ0cywgZ3JvdXBJbmRleCwgdGVtcGxhdGUuaWQpO1xuICAgIGNvbnN0IHZhcmlhdGlvbnMgPSB2YXJpYXRpb25zRm9yR3JvdXAoZm9ybVZhbHVlcywgZ3JvdXBJbmRleCk7XG4gICAgc2V0U3RhdGUoc2VlZE9yU3luY0NhbnZhcyhzYXZlZD8uY2FudmFzSnNvbiB8fCBudWxsLCB0ZW1wbGF0ZSwgdmFyaWF0aW9ucykpO1xuICAgIHNldFNlbGVjdGVkSWQobnVsbCk7XG4gICAgc2V0RWRpdGluZ1RleHRJZChudWxsKTtcbiAgICBzZXRFcnJvcihudWxsKTtcbiAgICAvLyBSZWxvYWQgdGhlIHNhdmVkIGNhbnZhcyB3aGVuIHN3aXRjaGluZyBncm91cC90ZW1wbGF0ZSwgbm90IG9uIGV2ZXJ5IGtleXN0cm9rZS5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIH0sIFtvcGVuLCBncm91cEluZGV4LCB0ZW1wbGF0ZT8uaWQsIHByb2R1Y3Q/LmlkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIW9wZW4gfHwgIXRlbXBsYXRlKSByZXR1cm47XG4gICAgY29uc3QgdmFyaWF0aW9ucyA9IHZhcmlhdGlvbnNGb3JHcm91cChmb3JtVmFsdWVzLCBncm91cEluZGV4KTtcbiAgICBzZXRTdGF0ZSgoY3VycmVudCkgPT4ge1xuICAgICAgY29uc3QgbmV4dCA9IHNlZWRPclN5bmNDYW52YXMoY3VycmVudCwgdGVtcGxhdGUsIHZhcmlhdGlvbnMpO1xuICAgICAgY29uc3Qgc2FtZSA9IGN1cnJlbnQud2lkdGggPT09IG5leHQud2lkdGhcbiAgICAgICAgJiYgY3VycmVudC5oZWlnaHQgPT09IG5leHQuaGVpZ2h0XG4gICAgICAgICYmIGN1cnJlbnQub2JqZWN0cy5sZW5ndGggPT09IG5leHQub2JqZWN0cy5sZW5ndGhcbiAgICAgICAgJiYgY3VycmVudC5vYmplY3RzLmV2ZXJ5KChvYmosIGluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc3Qgb3RoZXIgPSBuZXh0Lm9iamVjdHNbaW5kZXhdO1xuICAgICAgICAgIHJldHVybiBvYmouaWQgPT09IG90aGVyLmlkXG4gICAgICAgICAgICAmJiBvYmoudGV4dCA9PT0gb3RoZXIudGV4dFxuICAgICAgICAgICAgJiYgb2JqLnNyYyA9PT0gb3RoZXIuc3JjXG4gICAgICAgICAgICAmJiBvYmouZmlsbCA9PT0gb3RoZXIuZmlsbFxuICAgICAgICAgICAgJiYgb2JqLm1lcmNoaUZpZWxkSWQgPT09IG90aGVyLm1lcmNoaUZpZWxkSWQ7XG4gICAgICAgIH0pO1xuICAgICAgcmV0dXJuIHNhbWUgPyBjdXJyZW50IDogbmV4dDtcbiAgICB9KTtcbiAgfSwgW29wZW4sIHZhcmlhdGlvblN5bmNLZXksIHRlbXBsYXRlPy5pZCwgZ3JvdXBJbmRleF0pO1xuXG4gIGNvbnN0IHNlbGVjdGVkID0gc3RhdGUub2JqZWN0cy5maW5kKChvYmopID0+IG9iai5pZCA9PT0gc2VsZWN0ZWRJZCkgfHwgbnVsbDtcblxuICBmdW5jdGlvbiBwYXRjaFNlbGVjdGVkKHBhdGNoOiBQYXJ0aWFsPERyYWZ0Q2FudmFzT2JqZWN0Pikge1xuICAgIGlmICghc2VsZWN0ZWRJZCkgcmV0dXJuO1xuICAgIHNldFN0YXRlKChjdXJyZW50KSA9PiAoe1xuICAgICAgLi4uY3VycmVudCxcbiAgICAgIG9iamVjdHM6IGN1cnJlbnQub2JqZWN0cy5tYXAoKG9iaikgPT4ge1xuICAgICAgICBpZiAob2JqLmlkICE9PSBzZWxlY3RlZElkKSByZXR1cm4gb2JqO1xuICAgICAgICBjb25zdCBuZXh0ID0geyAuLi5vYmosIC4uLnBhdGNoIH07XG4gICAgICAgIGlmIChcbiAgICAgICAgICBuZXh0LnR5cGUgPT09ICd0ZXh0J1xuICAgICAgICAgICYmICgndGV4dCcgaW4gcGF0Y2ggfHwgJ2ZvbnRTaXplJyBpbiBwYXRjaCB8fCAnZm9udEZhbWlseScgaW4gcGF0Y2gpXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiB7IC4uLm5leHQsIC4uLmZpdFRleHRCb3gobmV4dCkgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgIH0pLFxuICAgIH0pKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGFkZFRleHQoKSB7XG4gICAgY29uc3QgaWQgPSBjcmVhdGVPYmplY3RJZCgpO1xuICAgIGNvbnN0IGRyYWZ0ZWQ6IERyYWZ0Q2FudmFzT2JqZWN0ID0ge1xuICAgICAgaWQsXG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgICB4OiBzdGF0ZS53aWR0aCAqIDAuNSxcbiAgICAgIHk6IHN0YXRlLmhlaWdodCAqIDAuMzUsXG4gICAgICB3aWR0aDogMSxcbiAgICAgIGhlaWdodDogMSxcbiAgICAgIHJvdGF0aW9uOiAwLFxuICAgICAgc2NhbGVYOiAxLFxuICAgICAgc2NhbGVZOiAxLFxuICAgICAgdGV4dDogJ1lvdXIgdGV4dCcsXG4gICAgICBmb250U2l6ZTogNTYsXG4gICAgICBmb250RmFtaWx5OiBERUZBVUxUX0RSQUZUX0ZPTlQsXG4gICAgICBmaWxsOiAnIzExMTExMScsXG4gICAgICBhbGlnbjogJ2xlZnQnLFxuICAgIH07XG4gICAgY29uc3Qgb2JqID0geyAuLi5kcmFmdGVkLCAuLi5maXRUZXh0Qm94KGRyYWZ0ZWQpIH07XG4gICAgc2V0U3RhdGUoKGN1cnJlbnQpID0+ICh7IC4uLmN1cnJlbnQsIG9iamVjdHM6IFsuLi5jdXJyZW50Lm9iamVjdHMsIG9ial0gfSkpO1xuICAgIHNldFNlbGVjdGVkSWQoaWQpO1xuICAgIHNldEVkaXRpbmdUZXh0SWQoaWQpO1xuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gYWRkSW1hZ2UoZmlsZTogRmlsZSkge1xuICAgIGNvbnN0IHNyYyA9IGF3YWl0IHJlYWRGaWxlQXNEYXRhVXJsKGZpbGUpO1xuICAgIGNvbnN0IGlkID0gY3JlYXRlT2JqZWN0SWQoKTtcbiAgICBjb25zdCBvYmo6IERyYWZ0Q2FudmFzT2JqZWN0ID0ge1xuICAgICAgaWQsXG4gICAgICB0eXBlOiAnaW1hZ2UnLFxuICAgICAgeDogc3RhdGUud2lkdGggKiAwLjIsXG4gICAgICB5OiBzdGF0ZS5oZWlnaHQgKiAwLjIsXG4gICAgICB3aWR0aDogc3RhdGUud2lkdGggKiAwLjYsXG4gICAgICBoZWlnaHQ6IHN0YXRlLmhlaWdodCAqIDAuNixcbiAgICAgIHJvdGF0aW9uOiAwLFxuICAgICAgc2NhbGVYOiAxLFxuICAgICAgc2NhbGVZOiAxLFxuICAgICAgc3JjLFxuICAgICAgbG9ja0FzcGVjdFJhdGlvOiB0cnVlLFxuICAgIH07XG4gICAgc2V0U3RhdGUoKGN1cnJlbnQpID0+ICh7IC4uLmN1cnJlbnQsIG9iamVjdHM6IFsuLi5jdXJyZW50Lm9iamVjdHMsIG9ial0gfSkpO1xuICAgIHNldFNlbGVjdGVkSWQoaWQpO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVtb3ZlU2VsZWN0ZWQoKSB7XG4gICAgaWYgKCFzZWxlY3RlZElkKSByZXR1cm47XG4gICAgc2V0U3RhdGUoKGN1cnJlbnQpID0+IGRldGFjaEZpZWxkKGN1cnJlbnQsIHNlbGVjdGVkSWQpKTtcbiAgICBzZXRTZWxlY3RlZElkKG51bGwpO1xuICAgIHNldEVkaXRpbmdUZXh0SWQobnVsbCk7XG4gIH1cblxuICBmdW5jdGlvbiBtb3ZlTGF5ZXIoZGlyZWN0aW9uOiAxIHwgLTEpIHtcbiAgICBpZiAoIXNlbGVjdGVkSWQpIHJldHVybjtcbiAgICBzZXRTdGF0ZSgoY3VycmVudCkgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSBjdXJyZW50Lm9iamVjdHMuZmluZEluZGV4KChvYmopID0+IG9iai5pZCA9PT0gc2VsZWN0ZWRJZCk7XG4gICAgICBjb25zdCBuZXh0SW5kZXggPSBpbmRleCArIGRpcmVjdGlvbjtcbiAgICAgIGlmIChpbmRleCA8IDAgfHwgbmV4dEluZGV4IDwgMCB8fCBuZXh0SW5kZXggPj0gY3VycmVudC5vYmplY3RzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gY3VycmVudDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG9iamVjdHMgPSBbLi4uY3VycmVudC5vYmplY3RzXTtcbiAgICAgIGNvbnN0IFtpdGVtXSA9IG9iamVjdHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIG9iamVjdHMuc3BsaWNlKG5leHRJbmRleCwgMCwgaXRlbSk7XG4gICAgICByZXR1cm4geyAuLi5jdXJyZW50LCBvYmplY3RzIH07XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBoYW5kbGVEb25lKCkge1xuICAgIGlmICghdGVtcGxhdGUgfHwgIXByb2R1Y3Q/LmlkKSByZXR1cm47XG4gICAgc2V0U2F2aW5nKHRydWUpO1xuICAgIHNldEVycm9yKG51bGwpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwbmdzID0gY2FudmFzUmVmLmN1cnJlbnRcbiAgICAgICAgPyBhd2FpdCBjYW52YXNSZWYuY3VycmVudC5leHBvcnRQbmdzKClcbiAgICAgICAgOiBhd2FpdCBleHBvcnREcmFmdFBuZ3MoXG4gICAgICAgICAgc3RhdGUsXG4gICAgICAgICAgdGVtcGxhdGVJbWFnZVNvdXJjZXModGVtcGxhdGUsIGFwaVVybCksXG4gICAgICAgICAgYXBpVXJsLFxuICAgICAgICApO1xuICAgICAgY29uc3QgZHJhZnRzID0gcHJ1bmVEcmFmdHMoXG4gICAgICAgIGxvYWREcmFmdHMocHJvZHVjdC5pZCksXG4gICAgICAgIGRlc2lnbkdyb3VwQ291bnQocHJvZHVjdCwgaG9va0Zvcm0uZ2V0VmFsdWVzKCkpLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IG5leHQgPSB1cHNlcnRHcm91cFRlbXBsYXRlRHJhZnQoZHJhZnRzLCBwcm9kdWN0LmlkLCBncm91cEluZGV4LCB7XG4gICAgICAgIHRlbXBsYXRlSWQ6IHRlbXBsYXRlLmlkLFxuICAgICAgICBjYW52YXNKc29uOiBzdGF0ZSxcbiAgICAgICAgLi4ucG5ncyxcbiAgICAgIH0pO1xuICAgICAgc2F2ZURyYWZ0cyhwcm9kdWN0LmlkLCBuZXh0KTtcbiAgICAgIG9uU2F2ZWQoKTtcbiAgICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgICAgc2V0RXJyb3IoZXJyPy5tZXNzYWdlIHx8ICdDb3VsZCBub3Qgc2F2ZSBkcmFmdCcpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRTYXZpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGlmICghb3BlbiB8fCB0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKSByZXR1cm4gbnVsbDtcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17YCR7Y2xhc3NOYW1lRHJhZnRTaGVldCB8fCAnJ30gbWVyY2hpLXByb2R1Y3QtZHJhZnQtc2hlZXRgfVxuICAgICAgcm9sZT0nZGlhbG9nJ1xuICAgICAgYXJpYS1tb2RhbD0ndHJ1ZSdcbiAgICAgIGFyaWEtbGFiZWw9J0Rlc2lnbiBhcnR3b3JrJ1xuICAgICAgb25Nb3VzZURvd249e3N0b3BCdWJibGV9XG4gICAgICBvbkNsaWNrPXtzdG9wQnViYmxlfVxuICAgID5cbiAgICAgIDxoZWFkZXIgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1zaGVldC1oZWFkZXInPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtaWNvbi1idG4nXG4gICAgICAgICAgb25DbGljaz17b25DbG9zZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPSdDbG9zZSBkZXNpZ25lcidcbiAgICAgICAgPlxuICAgICAgICAgIDxGYVRpbWVzIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtc2hlZXQtdGl0bGUnPlxuICAgICAgICAgIDxzdHJvbmc+e3RlbXBsYXRlPy5uYW1lIHx8ICdBcnR3b3JrJ308L3N0cm9uZz5cbiAgICAgICAgICB7aGFzR3JvdXBzID8gPHNwYW4+R3JvdXAge2dyb3VwSW5kZXggKyAxfTwvc3Bhbj4gOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWRvbmUtYnRuJ1xuICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZURvbmV9XG4gICAgICAgICAgZGlzYWJsZWQ9e3NhdmluZ31cbiAgICAgICAgPlxuICAgICAgICAgIHtzYXZpbmcgPyA8Q2dTcGlubmVyIGNsYXNzTmFtZT0nYW5pbWF0ZV9zcGluJyAvPiA6IDxGYUNoZWNrIC8+fVxuICAgICAgICAgIERvbmVcbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2hlYWRlcj5cblxuICAgICAge2hhc0dyb3VwcyAmJiBncm91cENvdW50ID4gMSA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWNoaXBzJyByb2xlPSd0YWJsaXN0JyBhcmlhLWxhYmVsPSdHcm91cHMnPlxuICAgICAgICAgIHtBcnJheS5mcm9tKHsgbGVuZ3RoOiBncm91cENvdW50IH0sIChfLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICB0eXBlPSdidXR0b24nXG4gICAgICAgICAgICAgIHJvbGU9J3RhYidcbiAgICAgICAgICAgICAgYXJpYS1zZWxlY3RlZD17aW5kZXggPT09IGdyb3VwSW5kZXh9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YG1lcmNoaS1wcm9kdWN0LWRyYWZ0LWNoaXAke2luZGV4ID09PSBncm91cEluZGV4ID8gJyBpcy1hY3RpdmUnIDogJyd9YH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldEdyb3VwSW5kZXgoaW5kZXgpO1xuICAgICAgICAgICAgICAgIHNldFRlbXBsYXRlSW5kZXgoMCk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIEdyb3VwIHtpbmRleCArIDF9XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cblxuICAgICAge3RlbXBsYXRlcy5sZW5ndGggPiAxID8gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtY2hpcHMnIHJvbGU9J3RhYmxpc3QnIGFyaWEtbGFiZWw9J1RlbXBsYXRlcyc+XG4gICAgICAgICAge3RlbXBsYXRlcy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4gKFxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWQgPz8gaW5kZXh9XG4gICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgcm9sZT0ndGFiJ1xuICAgICAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpdGVtLmlkID09PSB0ZW1wbGF0ZT8uaWR9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YG1lcmNoaS1wcm9kdWN0LWRyYWZ0LWNoaXAke2l0ZW0uaWQgPT09IHRlbXBsYXRlPy5pZCA/ICcgaXMtYWN0aXZlJyA6ICcnfWB9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFRlbXBsYXRlSW5kZXgoaW5kZXgpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aXRlbS5uYW1lIHx8IGBUZW1wbGF0ZSAke2luZGV4ICsgMX1gfVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IG51bGx9XG5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1tYWluJz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LXNoZWV0LWJvZHknPlxuICAgICAgICAgIDxEcmFmdENhbnZhc0JvdW5kYXJ5PlxuICAgICAgICAgICAgPFJlYWN0LlN1c3BlbnNlXG4gICAgICAgICAgICAgIGZhbGxiYWNrPXtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtY2FudmFzLWZhbGxiYWNrJz5Mb2FkaW5nIGNhbnZhc+KApjwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxEcmFmdENhbnZhc1xuICAgICAgICAgICAgICAgIHJlZj17Y2FudmFzUmVmfVxuICAgICAgICAgICAgICAgIHN0YXRlPXtzdGF0ZX1cbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZT17dGVtcGxhdGV9XG4gICAgICAgICAgICAgICAgdGVtcGxhdGVTcmM9e3RlbXBsYXRlU3JjKHRlbXBsYXRlLCBhcGlVcmwpfVxuICAgICAgICAgICAgICAgIHNlbGVjdGVkSWQ9e3NlbGVjdGVkSWR9XG4gICAgICAgICAgICAgICAgb25TZWxlY3Q9e3NldFNlbGVjdGVkSWR9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3NldFN0YXRlfVxuICAgICAgICAgICAgICAgIG9uRWRpdFRleHQ9eyhpZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgc2V0TGF5ZXJzT3BlbihmYWxzZSk7XG4gICAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZElkKGlkKTtcbiAgICAgICAgICAgICAgICAgIHNldEVkaXRpbmdUZXh0SWQoaWQpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1JlYWN0LlN1c3BlbnNlPlxuICAgICAgICAgIDwvRHJhZnRDYW52YXNCb3VuZGFyeT5cblxuICAgICAgICAgIHtsYXllcnNPcGVuID8gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWxheWVycyc+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1sYXllcnMtaGVhZCc+XG4gICAgICAgICAgICAgICAgPHN0cm9uZz5MYXllcnM8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9J2J1dHRvbicgb25DbGljaz17KCkgPT4gc2V0TGF5ZXJzT3BlbihmYWxzZSl9IGFyaWEtbGFiZWw9J0Nsb3NlIGxheWVycyc+XG4gICAgICAgICAgICAgICAgICA8RmFUaW1lcyAvPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAge3N0YXRlLm9iamVjdHMubGVuZ3RoID09PSAwID8gKFxuICAgICAgICAgICAgICAgIDxwPk5vIG9iamVjdHMgeWV0LiBBZGQgdGV4dCBvciBhbiBpbWFnZS48L3A+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgWy4uLnN0YXRlLm9iamVjdHNdLnJldmVyc2UoKS5tYXAoKG9iaiwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAga2V5PXtvYmouaWR9XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgbWVyY2hpLXByb2R1Y3QtZHJhZnQtbGF5ZXIke29iai5pZCA9PT0gc2VsZWN0ZWRJZCA/ICcgaXMtYWN0aXZlJyA6ICcnfWB9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZElkKG9iai5pZCk7XG4gICAgICAgICAgICAgICAgICAgICAgc2V0RWRpdGluZ1RleHRJZChudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZhUGx1cyBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWxheWVyLWljb24nIC8+XG4gICAgICAgICAgICAgICAgICAgIHtvYmoudHlwZSA9PT0gJ3RleHQnID8gKG9iai50ZXh0IHx8ICdUZXh0JykgOiBvYmoudHlwZSA9PT0gJ2ltYWdlJyA/ICdJbWFnZScgOiAnQmFzZSBjb2xvdXInfVxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57c3RhdGUub2JqZWN0cy5sZW5ndGggLSBpbmRleH08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSA6IG51bGx9XG5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAge2Vycm9yID8gPHAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1lcnJvcic+e2Vycm9yfTwvcD4gOiBudWxsfVxuXG4gICAgICAgIDxhc2lkZSBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWRvY2snPlxuICAgICAgICAgIHtzZWxlY3RlZCA/IChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1pbnNwZWN0b3InPlxuICAgICAgICAgICAgICB7c2VsZWN0ZWQudHlwZSA9PT0gJ3RleHQnID8gKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC10ZXh0LWlucHV0J1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17c2VsZWN0ZWQudGV4dCB8fCAnJ31cbiAgICAgICAgICAgICAgICAgICAgcm93cz17Mn1cbiAgICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzPXtlZGl0aW5nVGV4dElkID09PSBzZWxlY3RlZC5pZH1cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0nRWRpdCB0ZXh0J1xuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHBhdGNoU2VsZWN0ZWQoeyB0ZXh0OiBlLnRhcmdldC52YWx1ZSB9KX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1mb250Jz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSdtZXJjaGktc3Itb25seSc+Rm9udDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9J0ZvbnQnXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3NlbGVjdGVkLmZvbnRGYW1pbHkgfHwgREVGQVVMVF9EUkFGVF9GT05UfVxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGZvbnRGYW1pbHk6IGNzc0ZvbnRGYW1pbHkoc2VsZWN0ZWQuZm9udEZhbWlseSB8fCBERUZBVUxUX0RSQUZUX0ZPTlQpIH19XG4gICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBwYXRjaFNlbGVjdGVkKHsgZm9udEZhbWlseTogZS50YXJnZXQudmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7RFJBRlRfVEVYVF9GT05UUy5tYXAoKGZvbnQpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtmb250LnZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17Zm9udC52YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgZm9udEZhbWlseTogY3NzRm9udEZhbWlseShmb250LnZhbHVlKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7Zm9udC5sYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1zdGVwcGVyJ1xuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwYXRjaFNlbGVjdGVkKHtcbiAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogTWF0aC5tYXgoMTIsIChzZWxlY3RlZC5mb250U2l6ZSB8fCA0OCkgLSA4KSxcbiAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9J1NtYWxsZXIgdGV4dCdcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQS1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPSdidXR0b24nXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtc3RlcHBlcidcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcGF0Y2hTZWxlY3RlZCh7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IE1hdGgubWluKDI0MCwgKHNlbGVjdGVkLmZvbnRTaXplIHx8IDQ4KSArIDgpLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0nTGFyZ2VyIHRleHQnXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEErXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIHtzZWxlY3RlZC5jb2xvdXJGaWVsZElkICE9IG51bGwgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWNvbG9yJz5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9J21lcmNoaS1zci1vbmx5Jz5Db2xvdXI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSdjb2xvcidcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXsvXiNbMC05YS1mQS1GXXs2fSQvLnRlc3Qoc2VsZWN0ZWQuZmlsbCB8fCAnJykgPyBzZWxlY3RlZC5maWxsIDogJyMxMTExMTEnfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBwYXRjaFNlbGVjdGVkKHsgZmlsbDogZS50YXJnZXQudmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAge3NlbGVjdGVkLnR5cGUgPT09ICdpbWFnZScgPyAoXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgbWVyY2hpLXByb2R1Y3QtZHJhZnQtaWNvbi1idG4ke3NlbGVjdGVkLmxvY2tBc3BlY3RSYXRpbyA/ICcgaXMtYWN0aXZlJyA6ICcnfWB9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwYXRjaFNlbGVjdGVkKHsgbG9ja0FzcGVjdFJhdGlvOiAhc2VsZWN0ZWQubG9ja0FzcGVjdFJhdGlvIH0pfVxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17c2VsZWN0ZWQubG9ja0FzcGVjdFJhdGlvID8gJ1VubG9jayBhc3BlY3QgcmF0aW8nIDogJ0xvY2sgYXNwZWN0IHJhdGlvJ31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7c2VsZWN0ZWQubG9ja0FzcGVjdFJhdGlvID8gPEZhTG9jayAvPiA6IDxGYVVubG9jayAvPn1cbiAgICAgICAgICAgICAgICAgIFJhdGlvXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICB7c2VsZWN0ZWQudHlwZSA9PT0gJ3JlY3QnID8gKFxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWNvbG9yJz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0nbWVyY2hpLXNyLW9ubHknPkZpbGwgY29sb3VyPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9J2NvbG9yJ1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17c2VsZWN0ZWQuZmlsbCB8fCAnI2NjY2NjYyd9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gcGF0Y2hTZWxlY3RlZCh7IGZpbGw6IGUudGFyZ2V0LnZhbHVlIH0pfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWljb24tYnRuJ1xuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHBhdGNoU2VsZWN0ZWQoeyBzY2FsZVg6IChzZWxlY3RlZC5zY2FsZVggfHwgMSkgKiAtMSB9KX1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSdGbGlwJ1xuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgRmxpcFxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWljb24tYnRuJ1xuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG1vdmVMYXllcigxKX1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSdCcmluZyBmb3J3YXJkJ1xuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPEZhQXJyb3dVcCAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWljb24tYnRuJ1xuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG1vdmVMYXllcigtMSl9XG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0nU2VuZCBiYWNrd2FyZCdcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxGYUFycm93RG93biAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWljb24tYnRuIGlzLWRhbmdlcidcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtyZW1vdmVTZWxlY3RlZH1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSdEZWxldGUnXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8RmFUcmFzaCAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgICAgPG5hdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LXRvb2xiYXInIGFyaWEtbGFiZWw9J0Rlc2lnbiB0b29scyc+XG4gICAgICAgICAgICB7YWxsb3dBZGRpdGlvbmFsT2JqZWN0cyA/IChcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBzZXRMYXllcnNPcGVuKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgIGFkZFRleHQoKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPEZhRm9udCAvPlxuICAgICAgICAgICAgICAgIDxzcGFuPlRleHQ8L3NwYW4+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7YWxsb3dBZGRpdGlvbmFsT2JqZWN0cyA/IChcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBzZXRMYXllcnNPcGVuKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgIHNldEVkaXRpbmdUZXh0SWQobnVsbCk7XG4gICAgICAgICAgICAgICAgICBmaWxlSW5wdXRSZWYuY3VycmVudD8uY2xpY2soKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPEZhSW1hZ2UgLz5cbiAgICAgICAgICAgICAgICA8c3Bhbj5JbWFnZTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0RWRpdGluZ1RleHRJZChudWxsKTtcbiAgICAgICAgICAgICAgICBzZXRMYXllcnNPcGVuKChvcGVuTm93KSA9PiAhb3Blbk5vdyk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxGYUxheWVyR3JvdXAgLz5cbiAgICAgICAgICAgICAgPHNwYW4+TGF5ZXJzPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9J2J1dHRvbicgb25DbGljaz17cmVtb3ZlU2VsZWN0ZWR9IGRpc2FibGVkPXshc2VsZWN0ZWRJZH0+XG4gICAgICAgICAgICAgIDxGYVRyYXNoIC8+XG4gICAgICAgICAgICAgIDxzcGFuPkRlbGV0ZTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgcmVmPXtmaWxlSW5wdXRSZWZ9XG4gICAgICAgICAgICB0eXBlPSdmaWxlJ1xuICAgICAgICAgICAgYWNjZXB0PSdpbWFnZS8qJ1xuICAgICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1maWxlJ1xuICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGZpbGUgPSBlLnRhcmdldC5maWxlcz8uWzBdO1xuICAgICAgICAgICAgICBpZiAoZmlsZSkgYWRkSW1hZ2UoZmlsZSk7XG4gICAgICAgICAgICAgIGUudGFyZ2V0LnZhbHVlID0gJyc7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvYXNpZGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj4sXG4gICAgZG9jdW1lbnQuYm9keSxcbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTs7QUFBQyxTQUFBQSxRQUFBQyxDQUFBLHNDQUFBRCxPQUFBLHdCQUFBRSxNQUFBLHVCQUFBQSxNQUFBLENBQUFDLFFBQUEsYUFBQUYsQ0FBQSxrQkFBQUEsQ0FBQSxnQkFBQUEsQ0FBQSxXQUFBQSxDQUFBLHlCQUFBQyxNQUFBLElBQUFELENBQUEsQ0FBQUcsV0FBQSxLQUFBRixNQUFBLElBQUFELENBQUEsS0FBQUMsTUFBQSxDQUFBRyxTQUFBLHFCQUFBSixDQUFBLEtBQUFELE9BQUEsQ0FBQUMsQ0FBQTtBQUFBLFNBQUFLLGFBQUEsSUFDYix1S0FBQUMsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsd0JBQUFQLE1BQUEsR0FBQUEsTUFBQSxPQUFBUSxDQUFBLEdBQUFELENBQUEsQ0FBQU4sUUFBQSxrQkFBQUYsQ0FBQSxHQUFBUSxDQUFBLENBQUFFLFdBQUEsOEJBQUFDLEVBQUFILENBQUEsRUFBQUMsQ0FBQSxFQUFBVCxDQUFBLEVBQUFXLENBQUEsUUFBQUMsQ0FBQSxHQUFBSCxDQUFBLElBQUFBLENBQUEsQ0FBQUwsU0FBQSxZQUFBUyxTQUFBLEdBQUFKLENBQUEsR0FBQUksU0FBQSxFQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsTUFBQSxDQUFBSixDQUFBLENBQUFSLFNBQUEsVUFBQWEsbUJBQUEsQ0FBQUgsQ0FBQSx1QkFBQU4sQ0FBQSxFQUFBQyxDQUFBLEVBQUFULENBQUEsUUFBQVcsQ0FBQSxFQUFBQyxDQUFBLEVBQUFFLENBQUEsRUFBQUksQ0FBQSxNQUFBQyxDQUFBLEdBQUFuQixDQUFBLFFBQUFvQixDQUFBLE9BQUFDLENBQUEsS0FBQUYsQ0FBQSxLQUFBVixDQUFBLEtBQUFhLENBQUEsRUFBQWhCLENBQUEsRUFBQWlCLENBQUEsRUFBQUMsQ0FBQSxFQUFBTixDQUFBLEVBQUFNLENBQUEsQ0FBQUMsSUFBQSxDQUFBbkIsQ0FBQSxNQUFBa0IsQ0FBQSxXQUFBQSxFQUFBakIsQ0FBQSxFQUFBQyxDQUFBLFdBQUFHLENBQUEsR0FBQUosQ0FBQSxFQUFBSyxDQUFBLE1BQUFFLENBQUEsR0FBQVIsQ0FBQSxFQUFBZSxDQUFBLENBQUFaLENBQUEsR0FBQUQsQ0FBQSxFQUFBZSxDQUFBLGdCQUFBQyxFQUFBaEIsQ0FBQSxFQUFBQyxDQUFBLFNBQUFHLENBQUEsR0FBQUosQ0FBQSxFQUFBTSxDQUFBLEdBQUFMLENBQUEsRUFBQUYsQ0FBQSxPQUFBYSxDQUFBLElBQUFGLENBQUEsS0FBQWxCLENBQUEsSUFBQU8sQ0FBQSxHQUFBWSxDQUFBLENBQUFPLE1BQUEsRUFBQW5CLENBQUEsVUFBQVAsQ0FBQSxFQUFBVyxDQUFBLEdBQUFRLENBQUEsQ0FBQVosQ0FBQSxHQUFBaUIsQ0FBQSxHQUFBSCxDQUFBLENBQUFGLENBQUEsRUFBQVEsQ0FBQSxHQUFBaEIsQ0FBQSxLQUFBSCxDQUFBLFFBQUFSLENBQUEsR0FBQTJCLENBQUEsS0FBQWxCLENBQUEsTUFBQUssQ0FBQSxHQUFBSCxDQUFBLEVBQUFDLENBQUEsR0FBQUQsQ0FBQSxZQUFBQyxDQUFBLFdBQUFELENBQUEsTUFBQUEsQ0FBQSxNQUFBTCxDQUFBLElBQUFLLENBQUEsT0FBQWEsQ0FBQSxNQUFBeEIsQ0FBQSxHQUFBUSxDQUFBLFFBQUFnQixDQUFBLEdBQUFiLENBQUEsUUFBQUMsQ0FBQSxNQUFBUyxDQUFBLENBQUFDLENBQUEsR0FBQWIsQ0FBQSxFQUFBWSxDQUFBLENBQUFaLENBQUEsR0FBQUUsQ0FBQSxPQUFBYSxDQUFBLEdBQUFHLENBQUEsS0FBQTNCLENBQUEsR0FBQVEsQ0FBQSxRQUFBRyxDQUFBLE1BQUFGLENBQUEsSUFBQUEsQ0FBQSxHQUFBa0IsQ0FBQSxNQUFBaEIsQ0FBQSxNQUFBSCxDQUFBLEVBQUFHLENBQUEsTUFBQUYsQ0FBQSxFQUFBWSxDQUFBLENBQUFaLENBQUEsR0FBQWtCLENBQUEsRUFBQWYsQ0FBQSxjQUFBWixDQUFBLElBQUFRLENBQUEsYUFBQWUsQ0FBQSxRQUFBSCxDQUFBLE9BQUFYLENBQUEscUJBQUFULENBQUEsRUFBQW1CLENBQUEsRUFBQVEsQ0FBQSxRQUFBVCxDQUFBLFlBQUFVLFNBQUEsdUNBQUFSLENBQUEsVUFBQUQsQ0FBQSxJQUFBSyxDQUFBLENBQUFMLENBQUEsRUFBQVEsQ0FBQSxHQUFBZixDQUFBLEdBQUFPLENBQUEsRUFBQUwsQ0FBQSxHQUFBYSxDQUFBLEdBQUFwQixDQUFBLEdBQUFLLENBQUEsT0FBQU4sQ0FBQSxHQUFBUSxDQUFBLE1BQUFNLENBQUEsS0FBQVQsQ0FBQSxLQUFBQyxDQUFBLEdBQUFBLENBQUEsUUFBQUEsQ0FBQSxTQUFBUyxDQUFBLENBQUFaLENBQUEsUUFBQWUsQ0FBQSxDQUFBWixDQUFBLEVBQUFFLENBQUEsS0FBQU8sQ0FBQSxDQUFBWixDQUFBLEdBQUFLLENBQUEsR0FBQU8sQ0FBQSxDQUFBQyxDQUFBLEdBQUFSLENBQUEsYUFBQUksQ0FBQSxNQUFBUCxDQUFBLFFBQUFDLENBQUEsS0FBQVosQ0FBQSxZQUFBTyxDQUFBLEdBQUFJLENBQUEsQ0FBQVgsQ0FBQSxXQUFBTyxDQUFBLEdBQUFBLENBQUEsQ0FBQXNCLElBQUEsQ0FBQWxCLENBQUEsRUFBQUcsQ0FBQSxVQUFBYyxTQUFBLDJDQUFBckIsQ0FBQSxDQUFBdUIsSUFBQSxTQUFBdkIsQ0FBQSxFQUFBTyxDQUFBLEdBQUFQLENBQUEsQ0FBQXdCLEtBQUEsRUFBQW5CLENBQUEsU0FBQUEsQ0FBQSxvQkFBQUEsQ0FBQSxLQUFBTCxDQUFBLEdBQUFJLENBQUEsZUFBQUosQ0FBQSxDQUFBc0IsSUFBQSxDQUFBbEIsQ0FBQSxHQUFBQyxDQUFBLFNBQUFFLENBQUEsR0FBQWMsU0FBQSx1Q0FBQTVCLENBQUEsZ0JBQUFZLENBQUEsT0FBQUQsQ0FBQSxHQUFBTCxDQUFBLGNBQUFDLENBQUEsSUFBQWEsQ0FBQSxHQUFBQyxDQUFBLENBQUFaLENBQUEsUUFBQUssQ0FBQSxHQUFBTixDQUFBLENBQUFxQixJQUFBLENBQUFwQixDQUFBLEVBQUFZLENBQUEsT0FBQUUsQ0FBQSxrQkFBQWhCLENBQUEsSUFBQUksQ0FBQSxHQUFBTCxDQUFBLEVBQUFNLENBQUEsTUFBQUUsQ0FBQSxHQUFBUCxDQUFBLGNBQUFXLENBQUEsbUJBQUFhLEtBQUEsRUFBQXhCLENBQUEsRUFBQXVCLElBQUEsRUFBQVYsQ0FBQSxTQUFBWixDQUFBLEVBQUFSLENBQUEsRUFBQVcsQ0FBQSxRQUFBRyxDQUFBLFFBQUFTLENBQUEsZ0JBQUFWLFVBQUEsY0FBQW1CLGtCQUFBLGNBQUFDLDJCQUFBLEtBQUExQixDQUFBLEdBQUFRLE1BQUEsQ0FBQW1CLGNBQUEsTUFBQXRCLENBQUEsTUFBQUgsQ0FBQSxJQUFBRixDQUFBLENBQUFBLENBQUEsSUFBQUUsQ0FBQSxTQUFBUSxtQkFBQSxDQUFBVixDQUFBLE9BQUFFLENBQUEsaUNBQUFGLENBQUEsR0FBQU8sQ0FBQSxHQUFBbUIsMEJBQUEsQ0FBQTdCLFNBQUEsR0FBQVMsU0FBQSxDQUFBVCxTQUFBLEdBQUFXLE1BQUEsQ0FBQUMsTUFBQSxDQUFBSixDQUFBLFlBQUFNLEVBQUFaLENBQUEsV0FBQVMsTUFBQSxDQUFBb0IsY0FBQSxHQUFBcEIsTUFBQSxDQUFBb0IsY0FBQSxDQUFBN0IsQ0FBQSxFQUFBMkIsMEJBQUEsS0FBQTNCLENBQUEsQ0FBQThCLFNBQUEsR0FBQUgsMEJBQUEsRUFBQWhCLG1CQUFBLENBQUFYLENBQUEsRUFBQU4sQ0FBQSx5QkFBQU0sQ0FBQSxDQUFBRixTQUFBLEdBQUFXLE1BQUEsQ0FBQUMsTUFBQSxDQUFBRixDQUFBLEdBQUFSLENBQUEsV0FBQTBCLGlCQUFBLENBQUE1QixTQUFBLEdBQUE2QiwwQkFBQSxFQUFBaEIsbUJBQUEsQ0FBQUgsQ0FBQSxpQkFBQW1CLDBCQUFBLEdBQUFoQixtQkFBQSxDQUFBZ0IsMEJBQUEsaUJBQUFELGlCQUFBLEdBQUFBLGlCQUFBLENBQUFLLFdBQUEsd0JBQUFwQixtQkFBQSxDQUFBZ0IsMEJBQUEsRUFBQWpDLENBQUEsd0JBQUFpQixtQkFBQSxDQUFBSCxDQUFBLEdBQUFHLG1CQUFBLENBQUFILENBQUEsRUFBQWQsQ0FBQSxnQkFBQWlCLG1CQUFBLENBQUFILENBQUEsRUFBQUwsQ0FBQSxpQ0FBQVEsbUJBQUEsQ0FBQUgsQ0FBQSw4REFBQVQsWUFBQSxZQUFBQSxhQUFBLGFBQUFpQyxDQUFBLEVBQUEzQixDQUFBLEVBQUE0QixDQUFBLEVBQUFyQixDQUFBO0FBQUEsU0FBQUQsb0JBQUFYLENBQUEsRUFBQUUsQ0FBQSxFQUFBQyxDQUFBLEVBQUFGLENBQUEsUUFBQUksQ0FBQSxHQUFBSSxNQUFBLENBQUF5QixjQUFBLFFBQUE3QixDQUFBLHVCQUFBTCxDQUFBLElBQUFLLENBQUEsUUFBQU0sbUJBQUEsWUFBQXdCLG1CQUFBbkMsQ0FBQSxFQUFBRSxDQUFBLEVBQUFDLENBQUEsRUFBQUYsQ0FBQSxhQUFBUCxFQUFBUSxDQUFBLEVBQUFDLENBQUEsSUFBQVEsbUJBQUEsQ0FBQVgsQ0FBQSxFQUFBRSxDQUFBLFlBQUFGLENBQUEsZ0JBQUFvQyxPQUFBLENBQUFsQyxDQUFBLEVBQUFDLENBQUEsRUFBQUgsQ0FBQSxTQUFBRSxDQUFBLEdBQUFHLENBQUEsR0FBQUEsQ0FBQSxDQUFBTCxDQUFBLEVBQUFFLENBQUEsSUFBQXVCLEtBQUEsRUFBQXRCLENBQUEsRUFBQWtDLFVBQUEsR0FBQXBDLENBQUEsRUFBQXFDLFlBQUEsR0FBQXJDLENBQUEsRUFBQXNDLFFBQUEsR0FBQXRDLENBQUEsTUFBQUQsQ0FBQSxDQUFBRSxDQUFBLElBQUFDLENBQUEsSUFBQVQsQ0FBQSxhQUFBQSxDQUFBLGNBQUFBLENBQUEsbUJBQUFpQixtQkFBQSxDQUFBWCxDQUFBLEVBQUFFLENBQUEsRUFBQUMsQ0FBQSxFQUFBRixDQUFBO0FBQUEsU0FBQXVDLG1CQUFBckMsQ0FBQSxFQUFBRixDQUFBLEVBQUFELENBQUEsRUFBQUUsQ0FBQSxFQUFBUixDQUFBLEVBQUF1QixDQUFBLEVBQUFYLENBQUEsY0FBQUQsQ0FBQSxHQUFBRixDQUFBLENBQUFjLENBQUEsRUFBQVgsQ0FBQSxHQUFBRSxDQUFBLEdBQUFILENBQUEsQ0FBQW9CLEtBQUEsV0FBQXRCLENBQUEsZ0JBQUFILENBQUEsQ0FBQUcsQ0FBQSxLQUFBRSxDQUFBLENBQUFtQixJQUFBLEdBQUF2QixDQUFBLENBQUFPLENBQUEsSUFBQWlDLE9BQUEsQ0FBQUMsT0FBQSxDQUFBbEMsQ0FBQSxFQUFBbUMsSUFBQSxDQUFBekMsQ0FBQSxFQUFBUixDQUFBO0FBQUEsU0FBQWtELGtCQUFBekMsQ0FBQSw2QkFBQUYsQ0FBQSxTQUFBRCxDQUFBLEdBQUE2QyxTQUFBLGFBQUFKLE9BQUEsV0FBQXZDLENBQUEsRUFBQVIsQ0FBQSxRQUFBdUIsQ0FBQSxHQUFBZCxDQUFBLENBQUEyQyxLQUFBLENBQUE3QyxDQUFBLEVBQUFELENBQUEsWUFBQStDLE1BQUE1QyxDQUFBLElBQUFxQyxrQkFBQSxDQUFBdkIsQ0FBQSxFQUFBZixDQUFBLEVBQUFSLENBQUEsRUFBQXFELEtBQUEsRUFBQUMsTUFBQSxVQUFBN0MsQ0FBQSxjQUFBNkMsT0FBQTdDLENBQUEsSUFBQXFDLGtCQUFBLENBQUF2QixDQUFBLEVBQUFmLENBQUEsRUFBQVIsQ0FBQSxFQUFBcUQsS0FBQSxFQUFBQyxNQUFBLFdBQUE3QyxDQUFBLEtBQUE0QyxLQUFBO0FBQUEsU0FBQUUsbUJBQUEvQyxDQUFBLFdBQUFnRCxrQkFBQSxDQUFBaEQsQ0FBQSxLQUFBaUQsZ0JBQUEsQ0FBQWpELENBQUEsS0FBQWtELDJCQUFBLENBQUFsRCxDQUFBLEtBQUFtRCxrQkFBQTtBQUFBLFNBQUFBLG1CQUFBLGNBQUEvQixTQUFBO0FBQUEsU0FBQTZCLGlCQUFBakQsQ0FBQSw4QkFBQVAsTUFBQSxZQUFBTyxDQUFBLENBQUFQLE1BQUEsQ0FBQUMsUUFBQSxhQUFBTSxDQUFBLHVCQUFBb0QsS0FBQSxDQUFBQyxJQUFBLENBQUFyRCxDQUFBO0FBQUEsU0FBQWdELG1CQUFBaEQsQ0FBQSxRQUFBb0QsS0FBQSxDQUFBRSxPQUFBLENBQUF0RCxDQUFBLFVBQUF1RCxpQkFBQSxDQUFBdkQsQ0FBQTtBQUFBLFNBQUF3RCxRQUFBMUQsQ0FBQSxFQUFBRSxDQUFBLFFBQUFELENBQUEsR0FBQVEsTUFBQSxDQUFBa0QsSUFBQSxDQUFBM0QsQ0FBQSxPQUFBUyxNQUFBLENBQUFtRCxxQkFBQSxRQUFBbEUsQ0FBQSxHQUFBZSxNQUFBLENBQUFtRCxxQkFBQSxDQUFBNUQsQ0FBQSxHQUFBRSxDQUFBLEtBQUFSLENBQUEsR0FBQUEsQ0FBQSxDQUFBbUUsTUFBQSxXQUFBM0QsQ0FBQSxXQUFBTyxNQUFBLENBQUFxRCx3QkFBQSxDQUFBOUQsQ0FBQSxFQUFBRSxDQUFBLEVBQUFtQyxVQUFBLE9BQUFwQyxDQUFBLENBQUE4RCxJQUFBLENBQUFqQixLQUFBLENBQUE3QyxDQUFBLEVBQUFQLENBQUEsWUFBQU8sQ0FBQTtBQUFBLFNBQUErRCxjQUFBaEUsQ0FBQSxhQUFBRSxDQUFBLE1BQUFBLENBQUEsR0FBQTJDLFNBQUEsQ0FBQXpCLE1BQUEsRUFBQWxCLENBQUEsVUFBQUQsQ0FBQSxXQUFBNEMsU0FBQSxDQUFBM0MsQ0FBQSxJQUFBMkMsU0FBQSxDQUFBM0MsQ0FBQSxRQUFBQSxDQUFBLE9BQUF3RCxPQUFBLENBQUFqRCxNQUFBLENBQUFSLENBQUEsT0FBQWdFLE9BQUEsV0FBQS9ELENBQUEsSUFBQWdFLGVBQUEsQ0FBQWxFLENBQUEsRUFBQUUsQ0FBQSxFQUFBRCxDQUFBLENBQUFDLENBQUEsU0FBQU8sTUFBQSxDQUFBMEQseUJBQUEsR0FBQTFELE1BQUEsQ0FBQTJELGdCQUFBLENBQUFwRSxDQUFBLEVBQUFTLE1BQUEsQ0FBQTBELHlCQUFBLENBQUFsRSxDQUFBLEtBQUF5RCxPQUFBLENBQUFqRCxNQUFBLENBQUFSLENBQUEsR0FBQWdFLE9BQUEsV0FBQS9ELENBQUEsSUFBQU8sTUFBQSxDQUFBeUIsY0FBQSxDQUFBbEMsQ0FBQSxFQUFBRSxDQUFBLEVBQUFPLE1BQUEsQ0FBQXFELHdCQUFBLENBQUE3RCxDQUFBLEVBQUFDLENBQUEsaUJBQUFGLENBQUE7QUFBQSxTQUFBa0UsZ0JBQUFsRSxDQUFBLEVBQUFFLENBQUEsRUFBQUQsQ0FBQSxZQUFBQyxDQUFBLEdBQUFtRSxjQUFBLENBQUFuRSxDQUFBLE1BQUFGLENBQUEsR0FBQVMsTUFBQSxDQUFBeUIsY0FBQSxDQUFBbEMsQ0FBQSxFQUFBRSxDQUFBLElBQUF1QixLQUFBLEVBQUF4QixDQUFBLEVBQUFvQyxVQUFBLE1BQUFDLFlBQUEsTUFBQUMsUUFBQSxVQUFBdkMsQ0FBQSxDQUFBRSxDQUFBLElBQUFELENBQUEsRUFBQUQsQ0FBQTtBQUFBLFNBQUFzRSxlQUFBcEUsQ0FBQSxFQUFBRixDQUFBLFdBQUF1RSxlQUFBLENBQUFyRSxDQUFBLEtBQUFzRSxxQkFBQSxDQUFBdEUsQ0FBQSxFQUFBRixDQUFBLEtBQUFvRCwyQkFBQSxDQUFBbEQsQ0FBQSxFQUFBRixDQUFBLEtBQUF5RSxnQkFBQTtBQUFBLFNBQUFBLGlCQUFBLGNBQUFuRCxTQUFBO0FBQUEsU0FBQThCLDRCQUFBbEQsQ0FBQSxFQUFBZSxDQUFBLFFBQUFmLENBQUEsMkJBQUFBLENBQUEsU0FBQXVELGlCQUFBLENBQUF2RCxDQUFBLEVBQUFlLENBQUEsT0FBQWhCLENBQUEsTUFBQXlFLFFBQUEsQ0FBQW5ELElBQUEsQ0FBQXJCLENBQUEsRUFBQXlFLEtBQUEsNkJBQUExRSxDQUFBLElBQUFDLENBQUEsQ0FBQUwsV0FBQSxLQUFBSSxDQUFBLEdBQUFDLENBQUEsQ0FBQUwsV0FBQSxDQUFBK0UsSUFBQSxhQUFBM0UsQ0FBQSxjQUFBQSxDQUFBLEdBQUFxRCxLQUFBLENBQUFDLElBQUEsQ0FBQXJELENBQUEsb0JBQUFELENBQUEsK0NBQUE0RSxJQUFBLENBQUE1RSxDQUFBLElBQUF3RCxpQkFBQSxDQUFBdkQsQ0FBQSxFQUFBZSxDQUFBO0FBQUEsU0FBQXdDLGtCQUFBdkQsQ0FBQSxFQUFBZSxDQUFBLGFBQUFBLENBQUEsSUFBQUEsQ0FBQSxHQUFBZixDQUFBLENBQUFrQixNQUFBLE1BQUFILENBQUEsR0FBQWYsQ0FBQSxDQUFBa0IsTUFBQSxZQUFBcEIsQ0FBQSxNQUFBRyxDQUFBLEdBQUFtRCxLQUFBLENBQUFyQyxDQUFBLEdBQUFqQixDQUFBLEdBQUFpQixDQUFBLEVBQUFqQixDQUFBLElBQUFHLENBQUEsQ0FBQUgsQ0FBQSxJQUFBRSxDQUFBLENBQUFGLENBQUEsVUFBQUcsQ0FBQTtBQUFBLFNBQUFxRSxzQkFBQXRFLENBQUEsRUFBQW1CLENBQUEsUUFBQXBCLENBQUEsV0FBQUMsQ0FBQSxnQ0FBQVAsTUFBQSxJQUFBTyxDQUFBLENBQUFQLE1BQUEsQ0FBQUMsUUFBQSxLQUFBTSxDQUFBLDRCQUFBRCxDQUFBLFFBQUFELENBQUEsRUFBQUcsQ0FBQSxFQUFBRSxDQUFBLEVBQUFHLENBQUEsRUFBQVMsQ0FBQSxPQUFBTCxDQUFBLE9BQUFsQixDQUFBLGlCQUFBVyxDQUFBLElBQUFKLENBQUEsR0FBQUEsQ0FBQSxDQUFBc0IsSUFBQSxDQUFBckIsQ0FBQSxHQUFBNEUsSUFBQSxRQUFBekQsQ0FBQSxRQUFBWixNQUFBLENBQUFSLENBQUEsTUFBQUEsQ0FBQSxVQUFBVyxDQUFBLHVCQUFBQSxDQUFBLElBQUFaLENBQUEsR0FBQUssQ0FBQSxDQUFBa0IsSUFBQSxDQUFBdEIsQ0FBQSxHQUFBdUIsSUFBQSxNQUFBUCxDQUFBLENBQUE4QyxJQUFBLENBQUEvRCxDQUFBLENBQUF5QixLQUFBLEdBQUFSLENBQUEsQ0FBQUcsTUFBQSxLQUFBQyxDQUFBLEdBQUFULENBQUEsaUJBQUFWLENBQUEsSUFBQVIsQ0FBQSxPQUFBUyxDQUFBLEdBQUFELENBQUEseUJBQUFVLENBQUEsWUFBQVgsQ0FBQSxlQUFBTyxDQUFBLEdBQUFQLENBQUEsY0FBQVEsTUFBQSxDQUFBRCxDQUFBLE1BQUFBLENBQUEsMkJBQUFkLENBQUEsUUFBQVMsQ0FBQSxhQUFBYyxDQUFBO0FBQUEsU0FBQXNELGdCQUFBckUsQ0FBQSxRQUFBb0QsS0FBQSxDQUFBRSxPQUFBLENBQUF0RCxDQUFBLFVBQUFBLENBQUE7QUFBQSxTQUFBNkUsZ0JBQUE5RCxDQUFBLEVBQUFkLENBQUEsVUFBQWMsQ0FBQSxZQUFBZCxDQUFBLGFBQUFtQixTQUFBO0FBQUEsU0FBQTBELGtCQUFBaEYsQ0FBQSxFQUFBRSxDQUFBLGFBQUFELENBQUEsTUFBQUEsQ0FBQSxHQUFBQyxDQUFBLENBQUFrQixNQUFBLEVBQUFuQixDQUFBLFVBQUFQLENBQUEsR0FBQVEsQ0FBQSxDQUFBRCxDQUFBLEdBQUFQLENBQUEsQ0FBQTJDLFVBQUEsR0FBQTNDLENBQUEsQ0FBQTJDLFVBQUEsUUFBQTNDLENBQUEsQ0FBQTRDLFlBQUEsa0JBQUE1QyxDQUFBLEtBQUFBLENBQUEsQ0FBQTZDLFFBQUEsUUFBQTlCLE1BQUEsQ0FBQXlCLGNBQUEsQ0FBQWxDLENBQUEsRUFBQXFFLGNBQUEsQ0FBQTNFLENBQUEsQ0FBQXVGLEdBQUEsR0FBQXZGLENBQUE7QUFBQSxTQUFBd0YsYUFBQWxGLENBQUEsRUFBQUUsQ0FBQSxFQUFBRCxDQUFBLFdBQUFDLENBQUEsSUFBQThFLGlCQUFBLENBQUFoRixDQUFBLENBQUFGLFNBQUEsRUFBQUksQ0FBQSxHQUFBRCxDQUFBLElBQUErRSxpQkFBQSxDQUFBaEYsQ0FBQSxFQUFBQyxDQUFBLEdBQUFRLE1BQUEsQ0FBQXlCLGNBQUEsQ0FBQWxDLENBQUEsaUJBQUF1QyxRQUFBLFNBQUF2QyxDQUFBO0FBQUEsU0FBQXFFLGVBQUFwRSxDQUFBLFFBQUFJLENBQUEsR0FBQThFLFlBQUEsQ0FBQWxGLENBQUEsZ0NBQUFSLE9BQUEsQ0FBQVksQ0FBQSxJQUFBQSxDQUFBLEdBQUFBLENBQUE7QUFBQSxTQUFBOEUsYUFBQWxGLENBQUEsRUFBQUMsQ0FBQSxvQkFBQVQsT0FBQSxDQUFBUSxDQUFBLE1BQUFBLENBQUEsU0FBQUEsQ0FBQSxNQUFBRCxDQUFBLEdBQUFDLENBQUEsQ0FBQU4sTUFBQSxDQUFBeUYsV0FBQSxrQkFBQXBGLENBQUEsUUFBQUssQ0FBQSxHQUFBTCxDQUFBLENBQUF1QixJQUFBLENBQUF0QixDQUFBLEVBQUFDLENBQUEsZ0NBQUFULE9BQUEsQ0FBQVksQ0FBQSxVQUFBQSxDQUFBLFlBQUFpQixTQUFBLHlFQUFBcEIsQ0FBQSxHQUFBbUYsTUFBQSxHQUFBQyxNQUFBLEVBQUFyRixDQUFBO0FBQUEsU0FBQXNGLFdBQUF0RixDQUFBLEVBQUFQLENBQUEsRUFBQU0sQ0FBQSxXQUFBTixDQUFBLEdBQUE4RixlQUFBLENBQUE5RixDQUFBLEdBQUErRiwwQkFBQSxDQUFBeEYsQ0FBQSxFQUFBeUYseUJBQUEsS0FBQUMsT0FBQSxDQUFBQyxTQUFBLENBQUFsRyxDQUFBLEVBQUFNLENBQUEsUUFBQXdGLGVBQUEsQ0FBQXZGLENBQUEsRUFBQUosV0FBQSxJQUFBSCxDQUFBLENBQUFvRCxLQUFBLENBQUE3QyxDQUFBLEVBQUFELENBQUE7QUFBQSxTQUFBeUYsMkJBQUF4RixDQUFBLEVBQUFELENBQUEsUUFBQUEsQ0FBQSxpQkFBQVAsT0FBQSxDQUFBTyxDQUFBLDBCQUFBQSxDQUFBLFVBQUFBLENBQUEsaUJBQUFBLENBQUEsWUFBQXNCLFNBQUEscUVBQUF1RSxzQkFBQSxDQUFBNUYsQ0FBQTtBQUFBLFNBQUE0Rix1QkFBQTdGLENBQUEsbUJBQUFBLENBQUEsWUFBQThGLGNBQUEsc0VBQUE5RixDQUFBO0FBQUEsU0FBQTBGLDBCQUFBLGNBQUF6RixDQUFBLElBQUE4RixPQUFBLENBQUFqRyxTQUFBLENBQUFrRyxPQUFBLENBQUF6RSxJQUFBLENBQUFvRSxPQUFBLENBQUFDLFNBQUEsQ0FBQUcsT0FBQSxpQ0FBQTlGLENBQUEsYUFBQXlGLHlCQUFBLFlBQUFBLDBCQUFBLGFBQUF6RixDQUFBO0FBQUEsU0FBQXVGLGdCQUFBdkYsQ0FBQSxXQUFBdUYsZUFBQSxHQUFBL0UsTUFBQSxDQUFBb0IsY0FBQSxHQUFBcEIsTUFBQSxDQUFBbUIsY0FBQSxDQUFBVCxJQUFBLGVBQUFsQixDQUFBLFdBQUFBLENBQUEsQ0FBQTZCLFNBQUEsSUFBQXJCLE1BQUEsQ0FBQW1CLGNBQUEsQ0FBQTNCLENBQUEsTUFBQXVGLGVBQUEsQ0FBQXZGLENBQUE7QUFBQSxTQUFBZ0csVUFBQWhHLENBQUEsRUFBQUQsQ0FBQSw2QkFBQUEsQ0FBQSxhQUFBQSxDQUFBLFlBQUFzQixTQUFBLHdEQUFBckIsQ0FBQSxDQUFBSCxTQUFBLEdBQUFXLE1BQUEsQ0FBQUMsTUFBQSxDQUFBVixDQUFBLElBQUFBLENBQUEsQ0FBQUYsU0FBQSxJQUFBRCxXQUFBLElBQUE0QixLQUFBLEVBQUF4QixDQUFBLEVBQUFzQyxRQUFBLE1BQUFELFlBQUEsV0FBQTdCLE1BQUEsQ0FBQXlCLGNBQUEsQ0FBQWpDLENBQUEsaUJBQUFzQyxRQUFBLFNBQUF2QyxDQUFBLElBQUFrRyxlQUFBLENBQUFqRyxDQUFBLEVBQUFELENBQUE7QUFBQSxTQUFBa0csZ0JBQUFqRyxDQUFBLEVBQUFELENBQUEsV0FBQWtHLGVBQUEsR0FBQXpGLE1BQUEsQ0FBQW9CLGNBQUEsR0FBQXBCLE1BQUEsQ0FBQW9CLGNBQUEsQ0FBQVYsSUFBQSxlQUFBbEIsQ0FBQSxFQUFBRCxDQUFBLFdBQUFDLENBQUEsQ0FBQTZCLFNBQUEsR0FBQTlCLENBQUEsRUFBQUMsQ0FBQSxLQUFBaUcsZUFBQSxDQUFBakcsQ0FBQSxFQUFBRCxDQUFBO0FBQUEsT0FBTyxLQUFLbUcsS0FBSyxNQUFNLE9BQU87QUFDOUIsU0FBU0MsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDNUQsU0FBU0MsWUFBWSxRQUFRLFdBQVc7QUFDeEMsU0FDRUMsV0FBVyxFQUNYQyxTQUFTLEVBQ1RDLE9BQU8sRUFDUEMsTUFBTSxFQUNOQyxPQUFPLEVBQ1BDLFlBQVksRUFDWkMsTUFBTSxFQUNOQyxNQUFNLEVBQ05DLFFBQVEsRUFDUkMsT0FBTyxFQUNQQyxPQUFPLFFBQ0YsZ0JBQWdCO0FBQ3ZCLFNBQVNDLFNBQVMsUUFBUSxnQkFBZ0I7QUFDMUMsU0FBU0Msb0JBQW9CLFFBQVEseUNBQXlDO0FBQzlFLFNBQ0VDLGNBQWMsRUFDZEMsZ0JBQWdCLEVBQ2hCQyxXQUFXLEVBQ1hDLFVBQVUsRUFDVkMseUJBQXlCLEVBQ3pCQyxnQkFBZ0IsRUFDaEJDLGlCQUFpQixFQUNqQkMsa0JBQWtCLFFBQ2IsNEJBQTRCO0FBQ25DLFNBQ0VDLFVBQVUsRUFDVkMsV0FBVyxFQUNYQyxVQUFVLEVBQ1ZDLFlBQVksRUFDWkMsd0JBQXdCLFFBQ25CLDBCQUEwQjtBQUNqQyxTQUFTQyxlQUFlLEVBQUVDLG9CQUFvQixRQUFRLHlCQUF5QjtBQUMvRSxTQUFTQyxvQ0FBb0MsUUFBUSw0QkFBNEI7QUFNakYsU0FDRUMsa0JBQWtCLEVBQ2xCQyxnQkFBZ0IsRUFDaEJDLGFBQWEsRUFDYkMsZ0JBQWdCLFFBQ1gsd0JBQXdCO0FBQUMsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQSxFQUFBQyxRQUFBLElBQUFDLFNBQUE7QUFFaEMsSUFBTUMsV0FBVyxnQkFBRzdDLEtBQUssQ0FBQzhDLElBQUksQ0FBQztFQUFBLE9BQU0sTUFBTSxDQUFDLGVBQWUsQ0FBQztBQUFBLEVBQUM7QUFBQyxJQUV4REMsbUJBQW1CLDBCQUFBQyxnQkFBQTtFQUl2QixTQUFBRCxvQkFBWUUsS0FBb0MsRUFBRTtJQUFBLElBQUFDLEtBQUE7SUFBQXRFLGVBQUEsT0FBQW1FLG1CQUFBO0lBQ2hERyxLQUFBLEdBQUE5RCxVQUFBLE9BQUEyRCxtQkFBQSxHQUFNRSxLQUFLO0lBQ1hDLEtBQUEsQ0FBS0MsS0FBSyxHQUFHO01BQUVDLEtBQUssRUFBRTtJQUFLLENBQUM7SUFBQyxPQUFBRixLQUFBO0VBQy9CO0VBQUNwRCxTQUFBLENBQUFpRCxtQkFBQSxFQUFBQyxnQkFBQTtFQUFBLE9BQUFqRSxZQUFBLENBQUFnRSxtQkFBQTtJQUFBakUsR0FBQTtJQUFBeEQsS0FBQSxFQVFELFNBQUErSCxNQUFNQSxDQUFBLEVBQUc7TUFDUCxJQUFJLElBQUksQ0FBQ0YsS0FBSyxDQUFDQyxLQUFLLEVBQUU7UUFDcEIsb0JBQ0VaLElBQUE7VUFBS2MsU0FBUyxFQUFDLHNDQUFzQztVQUFBQyxRQUFBLEVBQ2xELElBQUksQ0FBQ0osS0FBSyxDQUFDQztRQUFLLENBQ2QsQ0FBQztNQUVWO01BQ0EsT0FBTyxJQUFJLENBQUNILEtBQUssQ0FBQ00sUUFBUTtJQUM1QjtFQUFDO0lBQUF6RSxHQUFBO0lBQUF4RCxLQUFBLEVBZkQsU0FBT2tJLHdCQUF3QkEsQ0FBQ0osS0FBYyxFQUFFO01BQzlDLE9BQU87UUFDTEEsS0FBSyxFQUFFQSxLQUFLLFlBQVlLLEtBQUssR0FBR0wsS0FBSyxDQUFDTSxPQUFPLEdBQUc7TUFDbEQsQ0FBQztJQUNIO0VBQUM7QUFBQSxFQWIrQjFELEtBQUssQ0FBQzJELFNBQVM7QUEyQmpELFNBQVNDLFVBQVVBLENBQUNDLEtBQTJCLEVBQUU7RUFDL0NBLEtBQUssQ0FBQ0MsZUFBZSxDQUFDLENBQUM7QUFDekI7QUFTQSxTQUFTQyxXQUFXQSxDQUFDQyxRQUFhLEVBQUVDLE1BQWUsRUFBWTtFQUM3RCxPQUFPaEMsb0JBQW9CLENBQUMrQixRQUFRLEVBQUVDLE1BQU0sQ0FBQztBQUMvQztBQUVBLFNBQVNDLGlCQUFpQkEsQ0FBQ0MsSUFBVSxFQUFtQjtFQUN0RCxPQUFPLElBQUk3SCxPQUFPLENBQUMsVUFBQ0MsT0FBTyxFQUFFNkgsTUFBTSxFQUFLO0lBQ3RDLElBQU1DLE1BQU0sR0FBRyxJQUFJQyxVQUFVLENBQUMsQ0FBQztJQUMvQkQsTUFBTSxDQUFDRSxNQUFNLEdBQUc7TUFBQSxPQUFNaEksT0FBTyxDQUFDMkMsTUFBTSxDQUFDbUYsTUFBTSxDQUFDRyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUM7SUFBQTtJQUMxREgsTUFBTSxDQUFDSSxPQUFPLEdBQUc7TUFBQSxPQUFNTCxNQUFNLENBQUNDLE1BQU0sQ0FBQ2pCLEtBQUssQ0FBQztJQUFBO0lBQzNDaUIsTUFBTSxDQUFDSyxhQUFhLENBQUNQLElBQUksQ0FBQztFQUM1QixDQUFDLENBQUM7QUFDSjtBQUVBLGVBQWUsU0FBU1Esa0JBQWtCQSxDQUFBQyxJQUFBLEVBS2hDO0VBQUEsSUFKUkMsSUFBSSxHQUFBRCxJQUFBLENBQUpDLElBQUk7SUFBQUMscUJBQUEsR0FBQUYsSUFBQSxDQUNKRyxpQkFBaUI7SUFBakJBLGlCQUFpQixHQUFBRCxxQkFBQSxjQUFHLENBQUMsR0FBQUEscUJBQUE7SUFDckJFLE9BQU8sR0FBQUosSUFBQSxDQUFQSSxPQUFPO0lBQ1BDLE9BQU8sR0FBQUwsSUFBQSxDQUFQSyxPQUFPO0VBRVAsSUFBQUMscUJBQUEsR0FLSWhFLG9CQUFvQixDQUFDLENBQUM7SUFKeEIrQyxNQUFNLEdBQUFpQixxQkFBQSxDQUFOakIsTUFBTTtJQUNOa0IsbUJBQW1CLEdBQUFELHFCQUFBLENBQW5CQyxtQkFBbUI7SUFDbkJDLFFBQVEsR0FBQUYscUJBQUEsQ0FBUkUsUUFBUTtJQUNSQyxPQUFPLEdBQUFILHFCQUFBLENBQVBHLE9BQU87RUFFVCxJQUFNQyxVQUFVLEdBQUdGLFFBQVEsQ0FBQ0csS0FBSyxDQUFDLENBQUM7RUFDbkMsSUFBTUMsc0JBQXNCLEdBQUd0RCxvQ0FBb0MsQ0FBQ21ELE9BQU8sQ0FBQztFQUM1RSxJQUFNSSxTQUFTLEdBQUdsRSx5QkFBeUIsQ0FBQzhELE9BQU8sQ0FBQztFQUNwRCxJQUFNSyxVQUFVLEdBQUd0RSxnQkFBZ0IsQ0FBQ2lFLE9BQU8sRUFBRUMsVUFBVSxDQUFDO0VBQ3hELElBQUFLLFNBQUEsR0FBb0N2RixRQUFRLENBQUMyRSxpQkFBaUIsQ0FBQztJQUFBYSxVQUFBLEdBQUF6SCxjQUFBLENBQUF3SCxTQUFBO0lBQXhERSxVQUFVLEdBQUFELFVBQUE7SUFBRUUsYUFBYSxHQUFBRixVQUFBO0VBQ2hDLElBQUFHLFVBQUEsR0FBMEMzRixRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQUE0RixVQUFBLEdBQUE3SCxjQUFBLENBQUE0SCxVQUFBO0lBQTlDRSxhQUFhLEdBQUFELFVBQUE7SUFBRUUsZ0JBQWdCLEdBQUFGLFVBQUE7RUFDdEMsSUFBQUcsVUFBQSxHQUEwQi9GLFFBQVEsQ0FBbUI7TUFDbkRnRyxLQUFLLEVBQUUsSUFBSTtNQUNYQyxNQUFNLEVBQUUsSUFBSTtNQUNaQyxPQUFPLEVBQUU7SUFDWCxDQUFDLENBQUM7SUFBQUMsVUFBQSxHQUFBcEksY0FBQSxDQUFBZ0ksVUFBQTtJQUpLaEQsS0FBSyxHQUFBb0QsVUFBQTtJQUFFQyxRQUFRLEdBQUFELFVBQUE7RUFLdEIsSUFBQUUsVUFBQSxHQUFvQ3JHLFFBQVEsQ0FBZ0IsSUFBSSxDQUFDO0lBQUFzRyxVQUFBLEdBQUF2SSxjQUFBLENBQUFzSSxVQUFBO0lBQTFERSxVQUFVLEdBQUFELFVBQUE7SUFBRUUsYUFBYSxHQUFBRixVQUFBO0VBQ2hDLElBQUFHLFVBQUEsR0FBMEN6RyxRQUFRLENBQWdCLElBQUksQ0FBQztJQUFBMEcsVUFBQSxHQUFBM0ksY0FBQSxDQUFBMEksVUFBQTtJQUFoRUUsYUFBYSxHQUFBRCxVQUFBO0lBQUVFLGdCQUFnQixHQUFBRixVQUFBO0VBQ3RDLElBQUFHLFVBQUEsR0FBb0M3RyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUE4RyxXQUFBLEdBQUEvSSxjQUFBLENBQUE4SSxVQUFBO0lBQTVDRSxVQUFVLEdBQUFELFdBQUE7SUFBRUUsYUFBYSxHQUFBRixXQUFBO0VBQ2hDLElBQUFHLFdBQUEsR0FBNEJqSCxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUFrSCxXQUFBLEdBQUFuSixjQUFBLENBQUFrSixXQUFBO0lBQXBDRSxNQUFNLEdBQUFELFdBQUE7SUFBRUUsU0FBUyxHQUFBRixXQUFBO0VBQ3hCLElBQUFHLFdBQUEsR0FBMEJySCxRQUFRLENBQWdCLElBQUksQ0FBQztJQUFBc0gsV0FBQSxHQUFBdkosY0FBQSxDQUFBc0osV0FBQTtJQUFoRHJFLEtBQUssR0FBQXNFLFdBQUE7SUFBRUMsUUFBUSxHQUFBRCxXQUFBO0VBQ3RCLElBQU1FLFlBQVksR0FBR3pILE1BQU0sQ0FBbUIsSUFBSSxDQUFDO0VBQ25ELElBQU0wSCxTQUFTLEdBQUcxSCxNQUFNLENBQW9CLElBQUksQ0FBQztFQUVqRCxJQUFNMkgsU0FBUyxHQUFHNUgsT0FBTyxDQUN2QjtJQUFBLElBQUE2SCxxQkFBQTtJQUFBLE9BQU10RyxpQkFBaUIsQ0FDckI0RCxPQUFPLEVBQ1AsQ0FBQUMsVUFBVSxhQUFWQSxVQUFVLHVCQUFWQSxVQUFVLENBQUUwQyxVQUFVLEtBQUksRUFBRSxFQUM1QixDQUFBMUMsVUFBVSxhQUFWQSxVQUFVLGdCQUFBeUMscUJBQUEsR0FBVnpDLFVBQVUsQ0FBRTJDLGdCQUFnQixjQUFBRixxQkFBQSxnQkFBQUEscUJBQUEsR0FBNUJBLHFCQUFBLENBQStCbEMsVUFBVSxDQUFDLGNBQUFrQyxxQkFBQSx1QkFBMUNBLHFCQUFBLENBQTRDQyxVQUFVLEtBQUksRUFDNUQsQ0FBQztFQUFBLEdBQ0QsQ0FBQzNDLE9BQU8sRUFBRUMsVUFBVSxFQUFFTyxVQUFVLENBQ2xDLENBQUM7RUFDRCxJQUFNN0IsUUFBUSxHQUFHOEQsU0FBUyxDQUFDSSxJQUFJLENBQUNDLEdBQUcsQ0FBQ2xDLGFBQWEsRUFBRTZCLFNBQVMsQ0FBQzdNLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJNk0sU0FBUyxDQUFDLENBQUMsQ0FBQztFQUV6RjdILFNBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBSTRFLElBQUksRUFBRWlCLGFBQWEsQ0FBQ2YsaUJBQWlCLENBQUM7RUFDNUMsQ0FBQyxFQUFFLENBQUNGLElBQUksRUFBRUUsaUJBQWlCLENBQUMsQ0FBQztFQUU3QjlFLFNBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBSTRFLElBQUksRUFBRXZDLGdCQUFnQixDQUFDLENBQUM7RUFDOUIsQ0FBQyxFQUFFLENBQUN1QyxJQUFJLENBQUMsQ0FBQztFQUVWLElBQU11RCxnQkFBZ0IsR0FBR0MsSUFBSSxDQUFDQyxTQUFTLENBQ3JDNUcsa0JBQWtCLENBQUM0RCxVQUFVLEVBQUVPLFVBQVUsQ0FBQyxDQUFDMEMsR0FBRyxDQUFDLFVBQUNDLFNBQWM7SUFBQSxJQUFBQyxxQkFBQTtJQUFBLE9BQU07TUFDbEVDLEVBQUUsRUFBRUYsU0FBUyxhQUFUQSxTQUFTLGdCQUFBQyxxQkFBQSxHQUFURCxTQUFTLENBQUVHLGNBQWMsY0FBQUYscUJBQUEsdUJBQXpCQSxxQkFBQSxDQUEyQkMsRUFBRTtNQUNqQ3BOLEtBQUssRUFBRWtOLFNBQVMsYUFBVEEsU0FBUyx1QkFBVEEsU0FBUyxDQUFFbE4sS0FBSztNQUN2QnNOLEtBQUssRUFBRSxDQUFDLENBQUFKLFNBQVMsYUFBVEEsU0FBUyx1QkFBVEEsU0FBUyxDQUFFSyxjQUFjLEtBQUksRUFBRSxFQUFFTixHQUFHLENBQzFDLFVBQUNwRSxJQUFTO1FBQUEsT0FBSyxDQUFBQSxJQUFJLGFBQUpBLElBQUksdUJBQUpBLElBQUksQ0FBRTJFLE9BQU8sTUFBSTNFLElBQUksYUFBSkEsSUFBSSx1QkFBSkEsSUFBSSxDQUFFdUUsRUFBRTtNQUFBLENBQzFDO0lBQ0YsQ0FBQztFQUFBLENBQUMsQ0FDSixDQUFDO0VBRUR6SSxTQUFTLENBQUMsWUFBTTtJQUNkLElBQUksQ0FBQzRFLElBQUksSUFBSSxDQUFDYixRQUFRLEVBQUU7SUFDeEIsSUFBTStFLE1BQU0sR0FBR3BILFVBQVUsQ0FBQzBELE9BQU8sQ0FBQ3FELEVBQUUsQ0FBQztJQUNyQyxJQUFNTSxLQUFLLEdBQUdsSCxZQUFZLENBQUNpSCxNQUFNLEVBQUVsRCxVQUFVLEVBQUU3QixRQUFRLENBQUMwRSxFQUFFLENBQUM7SUFDM0QsSUFBTVYsVUFBVSxHQUFHdEcsa0JBQWtCLENBQUM0RCxVQUFVLEVBQUVPLFVBQVUsQ0FBQztJQUM3RFcsUUFBUSxDQUFDaEYsZ0JBQWdCLENBQUMsQ0FBQXdILEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFQyxVQUFVLEtBQUksSUFBSSxFQUFFakYsUUFBUSxFQUFFZ0UsVUFBVSxDQUFDLENBQUM7SUFDM0VwQixhQUFhLENBQUMsSUFBSSxDQUFDO0lBQ25CSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7SUFDdEJXLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDZDtJQUNBO0VBQ0YsQ0FBQyxFQUFFLENBQUM5QyxJQUFJLEVBQUVnQixVQUFVLEVBQUU3QixRQUFRLGFBQVJBLFFBQVEsdUJBQVJBLFFBQVEsQ0FBRTBFLEVBQUUsRUFBRXJELE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFcUQsRUFBRSxDQUFDLENBQUM7RUFFakR6SSxTQUFTLENBQUMsWUFBTTtJQUNkLElBQUksQ0FBQzRFLElBQUksSUFBSSxDQUFDYixRQUFRLEVBQUU7SUFDeEIsSUFBTWdFLFVBQVUsR0FBR3RHLGtCQUFrQixDQUFDNEQsVUFBVSxFQUFFTyxVQUFVLENBQUM7SUFDN0RXLFFBQVEsQ0FBQyxVQUFDMEMsT0FBTyxFQUFLO01BQ3BCLElBQU12SyxJQUFJLEdBQUc2QyxnQkFBZ0IsQ0FBQzBILE9BQU8sRUFBRWxGLFFBQVEsRUFBRWdFLFVBQVUsQ0FBQztNQUM1RCxJQUFNbUIsSUFBSSxHQUFHRCxPQUFPLENBQUM5QyxLQUFLLEtBQUt6SCxJQUFJLENBQUN5SCxLQUFLLElBQ3BDOEMsT0FBTyxDQUFDN0MsTUFBTSxLQUFLMUgsSUFBSSxDQUFDMEgsTUFBTSxJQUM5QjZDLE9BQU8sQ0FBQzVDLE9BQU8sQ0FBQ3JMLE1BQU0sS0FBSzBELElBQUksQ0FBQzJILE9BQU8sQ0FBQ3JMLE1BQU0sSUFDOUNpTyxPQUFPLENBQUM1QyxPQUFPLENBQUM4QyxLQUFLLENBQUMsVUFBQ0MsR0FBRyxFQUFFQyxLQUFLLEVBQUs7UUFDdkMsSUFBTUMsS0FBSyxHQUFHNUssSUFBSSxDQUFDMkgsT0FBTyxDQUFDZ0QsS0FBSyxDQUFDO1FBQ2pDLE9BQU9ELEdBQUcsQ0FBQ1gsRUFBRSxLQUFLYSxLQUFLLENBQUNiLEVBQUUsSUFDckJXLEdBQUcsQ0FBQ0csSUFBSSxLQUFLRCxLQUFLLENBQUNDLElBQUksSUFDdkJILEdBQUcsQ0FBQ0ksR0FBRyxLQUFLRixLQUFLLENBQUNFLEdBQUcsSUFDckJKLEdBQUcsQ0FBQ0ssSUFBSSxLQUFLSCxLQUFLLENBQUNHLElBQUksSUFDdkJMLEdBQUcsQ0FBQ00sYUFBYSxLQUFLSixLQUFLLENBQUNJLGFBQWE7TUFDaEQsQ0FBQyxDQUFDO01BQ0osT0FBT1IsSUFBSSxHQUFHRCxPQUFPLEdBQUd2SyxJQUFJO0lBQzlCLENBQUMsQ0FBQztFQUNKLENBQUMsRUFBRSxDQUFDa0csSUFBSSxFQUFFdUQsZ0JBQWdCLEVBQUVwRSxRQUFRLGFBQVJBLFFBQVEsdUJBQVJBLFFBQVEsQ0FBRTBFLEVBQUUsRUFBRTdDLFVBQVUsQ0FBQyxDQUFDO0VBRXRELElBQU0rRCxRQUFRLEdBQUd6RyxLQUFLLENBQUNtRCxPQUFPLENBQUN1RCxJQUFJLENBQUMsVUFBQ1IsR0FBRztJQUFBLE9BQUtBLEdBQUcsQ0FBQ1gsRUFBRSxLQUFLL0IsVUFBVTtFQUFBLEVBQUMsSUFBSSxJQUFJO0VBRTNFLFNBQVNtRCxhQUFhQSxDQUFDQyxLQUFpQyxFQUFFO0lBQ3hELElBQUksQ0FBQ3BELFVBQVUsRUFBRTtJQUNqQkgsUUFBUSxDQUFDLFVBQUMwQyxPQUFPO01BQUEsT0FBQXJMLGFBQUEsQ0FBQUEsYUFBQSxLQUNacUwsT0FBTztRQUNWNUMsT0FBTyxFQUFFNEMsT0FBTyxDQUFDNUMsT0FBTyxDQUFDaUMsR0FBRyxDQUFDLFVBQUNjLEdBQUcsRUFBSztVQUNwQyxJQUFJQSxHQUFHLENBQUNYLEVBQUUsS0FBSy9CLFVBQVUsRUFBRSxPQUFPMEMsR0FBRztVQUNyQyxJQUFNMUssSUFBSSxHQUFBZCxhQUFBLENBQUFBLGFBQUEsS0FBUXdMLEdBQUcsR0FBS1UsS0FBSyxDQUFFO1VBQ2pDLElBQ0VwTCxJQUFJLENBQUNxTCxJQUFJLEtBQUssTUFBTSxLQUNoQixNQUFNLElBQUlELEtBQUssSUFBSSxVQUFVLElBQUlBLEtBQUssSUFBSSxZQUFZLElBQUlBLEtBQUssQ0FBQyxFQUNwRTtZQUNBLE9BQUFsTSxhQUFBLENBQUFBLGFBQUEsS0FBWWMsSUFBSSxHQUFLMkMsVUFBVSxDQUFDM0MsSUFBSSxDQUFDO1VBQ3ZDO1VBQ0EsT0FBT0EsSUFBSTtRQUNiLENBQUM7TUFBQztJQUFBLENBQ0YsQ0FBQztFQUNMO0VBRUEsU0FBU3NMLE9BQU9BLENBQUEsRUFBRztJQUNqQixJQUFNdkIsRUFBRSxHQUFHdkgsY0FBYyxDQUFDLENBQUM7SUFDM0IsSUFBTStJLE9BQTBCLEdBQUc7TUFDakN4QixFQUFFLEVBQUZBLEVBQUU7TUFDRnNCLElBQUksRUFBRSxNQUFNO01BQ1pHLENBQUMsRUFBRWhILEtBQUssQ0FBQ2lELEtBQUssR0FBRyxHQUFHO01BQ3BCekwsQ0FBQyxFQUFFd0ksS0FBSyxDQUFDa0QsTUFBTSxHQUFHLElBQUk7TUFDdEJELEtBQUssRUFBRSxDQUFDO01BQ1JDLE1BQU0sRUFBRSxDQUFDO01BQ1QrRCxRQUFRLEVBQUUsQ0FBQztNQUNYQyxNQUFNLEVBQUUsQ0FBQztNQUNUQyxNQUFNLEVBQUUsQ0FBQztNQUNUZCxJQUFJLEVBQUUsV0FBVztNQUNqQmUsUUFBUSxFQUFFLEVBQUU7TUFDWkMsVUFBVSxFQUFFckksa0JBQWtCO01BQzlCdUgsSUFBSSxFQUFFLFNBQVM7TUFDZmUsS0FBSyxFQUFFO0lBQ1QsQ0FBQztJQUNELElBQU1wQixHQUFHLEdBQUF4TCxhQUFBLENBQUFBLGFBQUEsS0FBUXFNLE9BQU8sR0FBSzVJLFVBQVUsQ0FBQzRJLE9BQU8sQ0FBQyxDQUFFO0lBQ2xEMUQsUUFBUSxDQUFDLFVBQUMwQyxPQUFPO01BQUEsT0FBQXJMLGFBQUEsQ0FBQUEsYUFBQSxLQUFXcUwsT0FBTztRQUFFNUMsT0FBTyxLQUFBb0UsTUFBQSxDQUFBNU4sa0JBQUEsQ0FBTW9NLE9BQU8sQ0FBQzVDLE9BQU8sSUFBRStDLEdBQUc7TUFBQztJQUFBLENBQUcsQ0FBQztJQUMzRXpDLGFBQWEsQ0FBQzhCLEVBQUUsQ0FBQztJQUNqQjFCLGdCQUFnQixDQUFDMEIsRUFBRSxDQUFDO0VBQ3RCO0VBQUMsU0FFY2lDLFFBQVFBLENBQUFDLEVBQUE7SUFBQSxPQUFBQyxTQUFBLENBQUFsTyxLQUFBLE9BQUFELFNBQUE7RUFBQTtFQUFBLFNBQUFtTyxVQUFBO0lBQUFBLFNBQUEsR0FBQXBPLGlCQUFBLGNBQUE3QyxZQUFBLEdBQUFrQyxDQUFBLENBQXZCLFNBQUFnUCxRQUF3QjNHLElBQVU7TUFBQSxJQUFBc0YsR0FBQSxFQUFBZixFQUFBLEVBQUFXLEdBQUE7TUFBQSxPQUFBelAsWUFBQSxHQUFBaUMsQ0FBQSxXQUFBa1AsUUFBQTtRQUFBLGtCQUFBQSxRQUFBLENBQUEvUSxDQUFBO1VBQUE7WUFBQStRLFFBQUEsQ0FBQS9RLENBQUE7WUFBQSxPQUNka0ssaUJBQWlCLENBQUNDLElBQUksQ0FBQztVQUFBO1lBQW5Dc0YsR0FBRyxHQUFBc0IsUUFBQSxDQUFBbFEsQ0FBQTtZQUNINk4sRUFBRSxHQUFHdkgsY0FBYyxDQUFDLENBQUM7WUFDckJrSSxHQUFzQixHQUFHO2NBQzdCWCxFQUFFLEVBQUZBLEVBQUU7Y0FDRnNCLElBQUksRUFBRSxPQUFPO2NBQ2JHLENBQUMsRUFBRWhILEtBQUssQ0FBQ2lELEtBQUssR0FBRyxHQUFHO2NBQ3BCekwsQ0FBQyxFQUFFd0ksS0FBSyxDQUFDa0QsTUFBTSxHQUFHLEdBQUc7Y0FDckJELEtBQUssRUFBRWpELEtBQUssQ0FBQ2lELEtBQUssR0FBRyxHQUFHO2NBQ3hCQyxNQUFNLEVBQUVsRCxLQUFLLENBQUNrRCxNQUFNLEdBQUcsR0FBRztjQUMxQitELFFBQVEsRUFBRSxDQUFDO2NBQ1hDLE1BQU0sRUFBRSxDQUFDO2NBQ1RDLE1BQU0sRUFBRSxDQUFDO2NBQ1RiLEdBQUcsRUFBSEEsR0FBRztjQUNIdUIsZUFBZSxFQUFFO1lBQ25CLENBQUM7WUFDRHhFLFFBQVEsQ0FBQyxVQUFDMEMsT0FBTztjQUFBLE9BQUFyTCxhQUFBLENBQUFBLGFBQUEsS0FBV3FMLE9BQU87Z0JBQUU1QyxPQUFPLEtBQUFvRSxNQUFBLENBQUE1TixrQkFBQSxDQUFNb00sT0FBTyxDQUFDNUMsT0FBTyxJQUFFK0MsR0FBRztjQUFDO1lBQUEsQ0FBRyxDQUFDO1lBQzNFekMsYUFBYSxDQUFDOEIsRUFBRSxDQUFDO1VBQUM7WUFBQSxPQUFBcUMsUUFBQSxDQUFBalEsQ0FBQTtRQUFBO01BQUEsR0FBQWdRLE9BQUE7SUFBQSxDQUNuQjtJQUFBLE9BQUFELFNBQUEsQ0FBQWxPLEtBQUEsT0FBQUQsU0FBQTtFQUFBO0VBRUQsU0FBU3VPLGNBQWNBLENBQUEsRUFBRztJQUN4QixJQUFJLENBQUN0RSxVQUFVLEVBQUU7SUFDakJILFFBQVEsQ0FBQyxVQUFDMEMsT0FBTztNQUFBLE9BQUs3SCxXQUFXLENBQUM2SCxPQUFPLEVBQUV2QyxVQUFVLENBQUM7SUFBQSxFQUFDO0lBQ3ZEQyxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQ25CSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7RUFDeEI7RUFFQSxTQUFTa0UsU0FBU0EsQ0FBQ0MsU0FBaUIsRUFBRTtJQUNwQyxJQUFJLENBQUN4RSxVQUFVLEVBQUU7SUFDakJILFFBQVEsQ0FBQyxVQUFDMEMsT0FBTyxFQUFLO01BQ3BCLElBQU1JLEtBQUssR0FBR0osT0FBTyxDQUFDNUMsT0FBTyxDQUFDOEUsU0FBUyxDQUFDLFVBQUMvQixHQUFHO1FBQUEsT0FBS0EsR0FBRyxDQUFDWCxFQUFFLEtBQUsvQixVQUFVO01BQUEsRUFBQztNQUN2RSxJQUFNMEUsU0FBUyxHQUFHL0IsS0FBSyxHQUFHNkIsU0FBUztNQUNuQyxJQUFJN0IsS0FBSyxHQUFHLENBQUMsSUFBSStCLFNBQVMsR0FBRyxDQUFDLElBQUlBLFNBQVMsSUFBSW5DLE9BQU8sQ0FBQzVDLE9BQU8sQ0FBQ3JMLE1BQU0sRUFBRTtRQUNyRSxPQUFPaU8sT0FBTztNQUNoQjtNQUNBLElBQU01QyxPQUFPLEdBQUF4SixrQkFBQSxDQUFPb00sT0FBTyxDQUFDNUMsT0FBTyxDQUFDO01BQ3BDLElBQUFnRixlQUFBLEdBQWVoRixPQUFPLENBQUNpRixNQUFNLENBQUNqQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQUFrQyxnQkFBQSxHQUFBck4sY0FBQSxDQUFBbU4sZUFBQTtRQUFoQ0csSUFBSSxHQUFBRCxnQkFBQTtNQUNYbEYsT0FBTyxDQUFDaUYsTUFBTSxDQUFDRixTQUFTLEVBQUUsQ0FBQyxFQUFFSSxJQUFJLENBQUM7TUFDbEMsT0FBQTVOLGFBQUEsQ0FBQUEsYUFBQSxLQUFZcUwsT0FBTztRQUFFNUMsT0FBTyxFQUFQQTtNQUFPO0lBQzlCLENBQUMsQ0FBQztFQUNKO0VBQUMsU0FFY29GLFVBQVVBLENBQUE7SUFBQSxPQUFBQyxXQUFBLENBQUFoUCxLQUFBLE9BQUFELFNBQUE7RUFBQTtFQUFBLFNBQUFpUCxZQUFBO0lBQUFBLFdBQUEsR0FBQWxQLGlCQUFBLGNBQUE3QyxZQUFBLEdBQUFrQyxDQUFBLENBQXpCLFNBQUE4UCxTQUFBO01BQUEsSUFBQUMsSUFBQSxFQUFBOUMsTUFBQSxFQUFBcEssSUFBQSxFQUFBbU4sRUFBQSxFQUFBQyxHQUFBO01BQUEsT0FBQW5TLFlBQUEsR0FBQWlDLENBQUEsV0FBQW1RLFNBQUE7UUFBQSxrQkFBQUEsU0FBQSxDQUFBdFIsQ0FBQSxHQUFBc1IsU0FBQSxDQUFBaFMsQ0FBQTtVQUFBO1lBQUEsTUFDTSxDQUFDZ0ssUUFBUSxJQUFJLEVBQUNxQixPQUFPLGFBQVBBLE9BQU8sZUFBUEEsT0FBTyxDQUFFcUQsRUFBRTtjQUFBc0QsU0FBQSxDQUFBaFMsQ0FBQTtjQUFBO1lBQUE7WUFBQSxPQUFBZ1MsU0FBQSxDQUFBbFIsQ0FBQTtVQUFBO1lBQzdCME0sU0FBUyxDQUFDLElBQUksQ0FBQztZQUNmRyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQUNxRSxTQUFBLENBQUF0UixDQUFBO1lBQUEsS0FFQW1OLFNBQVMsQ0FBQ3FCLE9BQU87Y0FBQThDLFNBQUEsQ0FBQWhTLENBQUE7Y0FBQTtZQUFBO1lBQUFnUyxTQUFBLENBQUFoUyxDQUFBO1lBQUEsT0FDcEI2TixTQUFTLENBQUNxQixPQUFPLENBQUMrQyxVQUFVLENBQUMsQ0FBQztVQUFBO1lBQUFILEVBQUEsR0FBQUUsU0FBQSxDQUFBblIsQ0FBQTtZQUFBbVIsU0FBQSxDQUFBaFMsQ0FBQTtZQUFBO1VBQUE7WUFBQWdTLFNBQUEsQ0FBQWhTLENBQUE7WUFBQSxPQUM5QmdJLGVBQWUsQ0FDckJtQixLQUFLLEVBQ0xsQixvQkFBb0IsQ0FBQytCLFFBQVEsRUFBRUMsTUFBTSxDQUFDLEVBQ3RDQSxNQUNGLENBQUM7VUFBQTtZQUFBNkgsRUFBQSxHQUFBRSxTQUFBLENBQUFuUixDQUFBO1VBQUE7WUFOR2dSLElBQUksR0FBQUMsRUFBQTtZQU9KL0MsTUFBTSxHQUFHbkgsV0FBVyxDQUN4QkQsVUFBVSxDQUFDMEQsT0FBTyxDQUFDcUQsRUFBRSxDQUFDLEVBQ3RCdEgsZ0JBQWdCLENBQUNpRSxPQUFPLEVBQUVELFFBQVEsQ0FBQzhHLFNBQVMsQ0FBQyxDQUFDLENBQ2hELENBQUM7WUFDS3ZOLElBQUksR0FBR29ELHdCQUF3QixDQUFDZ0gsTUFBTSxFQUFFMUQsT0FBTyxDQUFDcUQsRUFBRSxFQUFFN0MsVUFBVSxFQUFBaEksYUFBQTtjQUNsRXNPLFVBQVUsRUFBRW5JLFFBQVEsQ0FBQzBFLEVBQUU7Y0FDdkJPLFVBQVUsRUFBRTlGO1lBQUssR0FDZDBJLElBQUksQ0FDUixDQUFDO1lBQ0ZoSyxVQUFVLENBQUN3RCxPQUFPLENBQUNxRCxFQUFFLEVBQUUvSixJQUFJLENBQUM7WUFDNUJzRyxPQUFPLENBQUMsQ0FBQztZQUFDK0csU0FBQSxDQUFBaFMsQ0FBQTtZQUFBO1VBQUE7WUFBQWdTLFNBQUEsQ0FBQXRSLENBQUE7WUFBQXFSLEdBQUEsR0FBQUMsU0FBQSxDQUFBblIsQ0FBQTtZQUVWOE0sUUFBUSxDQUFDLENBQUFvRSxHQUFBLGFBQUFBLEdBQUEsdUJBQUFBLEdBQUEsQ0FBS3JJLE9BQU8sS0FBSSxzQkFBc0IsQ0FBQztVQUFDO1lBQUFzSSxTQUFBLENBQUF0UixDQUFBO1lBRWpEOE0sU0FBUyxDQUFDLEtBQUssQ0FBQztZQUFDLE9BQUF3RSxTQUFBLENBQUF2UixDQUFBO1VBQUE7WUFBQSxPQUFBdVIsU0FBQSxDQUFBbFIsQ0FBQTtRQUFBO01BQUEsR0FBQThRLFFBQUE7SUFBQSxDQUVwQjtJQUFBLE9BQUFELFdBQUEsQ0FBQWhQLEtBQUEsT0FBQUQsU0FBQTtFQUFBO0VBRUQsSUFBSSxDQUFDbUksSUFBSSxJQUFJLE9BQU91SCxRQUFRLEtBQUssV0FBVyxFQUFFLE9BQU8sSUFBSTtFQUV6RCxvQkFBTy9MLFlBQVksY0FDakJxQyxLQUFBO0lBQ0VZLFNBQVMsS0FBQW9ILE1BQUEsQ0FBS3ZGLG1CQUFtQixJQUFJLEVBQUUsZ0NBQThCO0lBQ3JFa0gsSUFBSSxFQUFDLFFBQVE7SUFDYixjQUFXLE1BQU07SUFDakIsY0FBVyxnQkFBZ0I7SUFDM0JDLFdBQVcsRUFBRTFJLFVBQVc7SUFDeEIySSxPQUFPLEVBQUUzSSxVQUFXO0lBQUFMLFFBQUEsZ0JBRXBCYixLQUFBO01BQVFZLFNBQVMsRUFBQyxtQ0FBbUM7TUFBQUMsUUFBQSxnQkFDbkRmLElBQUE7UUFDRXdILElBQUksRUFBQyxRQUFRO1FBQ2IxRyxTQUFTLEVBQUMsK0JBQStCO1FBQ3pDaUosT0FBTyxFQUFFdkgsT0FBUTtRQUNqQixjQUFXLGdCQUFnQjtRQUFBekIsUUFBQSxlQUUzQmYsSUFBQSxDQUFDekIsT0FBTyxJQUFFO01BQUMsQ0FDTCxDQUFDLGVBQ1QyQixLQUFBO1FBQUtZLFNBQVMsRUFBQyxrQ0FBa0M7UUFBQUMsUUFBQSxnQkFDL0NmLElBQUE7VUFBQWUsUUFBQSxFQUFTLENBQUFTLFFBQVEsYUFBUkEsUUFBUSx1QkFBUkEsUUFBUSxDQUFFdkYsSUFBSSxLQUFJO1FBQVMsQ0FBUyxDQUFDLEVBQzdDZ0gsU0FBUyxnQkFBRy9DLEtBQUE7VUFBQWEsUUFBQSxHQUFNLFFBQU0sRUFBQ3NDLFVBQVUsR0FBRyxDQUFDO1FBQUEsQ0FBTyxDQUFDLEdBQUcsSUFBSTtNQUFBLENBQ3BELENBQUMsZUFDTm5ELEtBQUE7UUFDRXNILElBQUksRUFBQyxRQUFRO1FBQ2IxRyxTQUFTLEVBQUMsK0JBQStCO1FBQ3pDaUosT0FBTyxFQUFFYixVQUFXO1FBQ3BCYyxRQUFRLEVBQUVqRixNQUFPO1FBQUFoRSxRQUFBLEdBRWhCZ0UsTUFBTSxnQkFBRy9FLElBQUEsQ0FBQ3ZCLFNBQVM7VUFBQ3FDLFNBQVMsRUFBQztRQUFjLENBQUUsQ0FBQyxnQkFBR2QsSUFBQSxDQUFDaEMsT0FBTyxJQUFFLENBQUMsRUFBQyxNQUVqRTtNQUFBLENBQVEsQ0FBQztJQUFBLENBQ0gsQ0FBQyxFQUVSaUYsU0FBUyxJQUFJQyxVQUFVLEdBQUcsQ0FBQyxnQkFDMUJsRCxJQUFBO01BQUtjLFNBQVMsRUFBQyw0QkFBNEI7TUFBQytJLElBQUksRUFBQyxTQUFTO01BQUMsY0FBVyxRQUFRO01BQUE5SSxRQUFBLEVBQzNFcEcsS0FBSyxDQUFDQyxJQUFJLENBQUM7UUFBRW5DLE1BQU0sRUFBRXlLO01BQVcsQ0FBQyxFQUFFLFVBQUMrRyxDQUFDLEVBQUVuRCxLQUFLO1FBQUEsb0JBQzNDNUcsS0FBQTtVQUVFc0gsSUFBSSxFQUFDLFFBQVE7VUFDYnFDLElBQUksRUFBQyxLQUFLO1VBQ1YsaUJBQWUvQyxLQUFLLEtBQUt6RCxVQUFXO1VBQ3BDdkMsU0FBUyw4QkFBQW9ILE1BQUEsQ0FBOEJwQixLQUFLLEtBQUt6RCxVQUFVLEdBQUcsWUFBWSxHQUFHLEVBQUUsQ0FBRztVQUNsRjBHLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBLEVBQVE7WUFDYnpHLGFBQWEsQ0FBQ3dELEtBQUssQ0FBQztZQUNwQnBELGdCQUFnQixDQUFDLENBQUMsQ0FBQztVQUNyQixDQUFFO1VBQUEzQyxRQUFBLEdBQ0gsUUFDTyxFQUFDK0YsS0FBSyxHQUFHLENBQUM7UUFBQSxHQVZYQSxLQVdDLENBQUM7TUFBQSxDQUNWO0lBQUMsQ0FDQyxDQUFDLEdBQ0osSUFBSSxFQUVQeEIsU0FBUyxDQUFDN00sTUFBTSxHQUFHLENBQUMsZ0JBQ25CdUgsSUFBQTtNQUFLYyxTQUFTLEVBQUMsNEJBQTRCO01BQUMrSSxJQUFJLEVBQUMsU0FBUztNQUFDLGNBQVcsV0FBVztNQUFBOUksUUFBQSxFQUM5RXVFLFNBQVMsQ0FBQ1MsR0FBRyxDQUFDLFVBQUNrRCxJQUFTLEVBQUVuQyxLQUFhO1FBQUEsSUFBQW9ELFFBQUE7UUFBQSxvQkFDdENsSyxJQUFBO1VBRUV3SCxJQUFJLEVBQUMsUUFBUTtVQUNicUMsSUFBSSxFQUFDLEtBQUs7VUFDVixpQkFBZVosSUFBSSxDQUFDL0MsRUFBRSxNQUFLMUUsUUFBUSxhQUFSQSxRQUFRLHVCQUFSQSxRQUFRLENBQUUwRSxFQUFFLENBQUM7VUFDeENwRixTQUFTLDhCQUFBb0gsTUFBQSxDQUE4QmUsSUFBSSxDQUFDL0MsRUFBRSxNQUFLMUUsUUFBUSxhQUFSQSxRQUFRLHVCQUFSQSxRQUFRLENBQUUwRSxFQUFFLElBQUcsWUFBWSxHQUFHLEVBQUUsQ0FBRztVQUN0RjZELE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO1lBQUEsT0FBUXJHLGdCQUFnQixDQUFDb0QsS0FBSyxDQUFDO1VBQUEsQ0FBQztVQUFBL0YsUUFBQSxFQUV0Q2tJLElBQUksQ0FBQ2hOLElBQUksZ0JBQUFpTSxNQUFBLENBQWdCcEIsS0FBSyxHQUFHLENBQUM7UUFBRSxJQUFBb0QsUUFBQSxHQVBoQ2pCLElBQUksQ0FBQy9DLEVBQUUsY0FBQWdFLFFBQUEsY0FBQUEsUUFBQSxHQUFJcEQsS0FRVixDQUFDO01BQUEsQ0FDVjtJQUFDLENBQ0MsQ0FBQyxHQUNKLElBQUksZUFFUjVHLEtBQUE7TUFBS1ksU0FBUyxFQUFDLDJCQUEyQjtNQUFBQyxRQUFBLGdCQUN4Q2IsS0FBQTtRQUFLWSxTQUFTLEVBQUMsaUNBQWlDO1FBQUFDLFFBQUEsZ0JBQzlDZixJQUFBLENBQUNPLG1CQUFtQjtVQUFBUSxRQUFBLGVBQ2xCZixJQUFBLENBQUN4QyxLQUFLLENBQUMyTSxRQUFRO1lBQ2JDLFFBQVEsZUFDTnBLLElBQUE7Y0FBS2MsU0FBUyxFQUFDLHNDQUFzQztjQUFBQyxRQUFBLEVBQUM7WUFBZSxDQUFLLENBQzNFO1lBQUFBLFFBQUEsZUFFRGYsSUFBQSxDQUFDSyxXQUFXO2NBQ1ZnSyxHQUFHLEVBQUVoRixTQUFVO2NBQ2YxRSxLQUFLLEVBQUVBLEtBQU07Y0FDYmEsUUFBUSxFQUFFQSxRQUFTO2NBQ25CRCxXQUFXLEVBQUVBLFdBQVcsQ0FBQ0MsUUFBUSxFQUFFQyxNQUFNLENBQUU7Y0FDM0MwQyxVQUFVLEVBQUVBLFVBQVc7Y0FDdkJtRyxRQUFRLEVBQUVsRyxhQUFjO2NBQ3hCbUcsUUFBUSxFQUFFdkcsUUFBUztjQUNuQndHLFVBQVUsRUFBRSxTQUFaQSxVQUFVQSxDQUFHdEUsRUFBRSxFQUFLO2dCQUNsQnRCLGFBQWEsQ0FBQyxLQUFLLENBQUM7Z0JBQ3BCUixhQUFhLENBQUM4QixFQUFFLENBQUM7Z0JBQ2pCMUIsZ0JBQWdCLENBQUMwQixFQUFFLENBQUM7Y0FDdEI7WUFBRSxDQUNIO1VBQUMsQ0FDWTtRQUFDLENBQ0UsQ0FBQyxFQUVyQnZCLFVBQVUsZ0JBQ1R6RSxLQUFBO1VBQUtZLFNBQVMsRUFBQyw2QkFBNkI7VUFBQUMsUUFBQSxnQkFDMUNiLEtBQUE7WUFBS1ksU0FBUyxFQUFDLGtDQUFrQztZQUFBQyxRQUFBLGdCQUMvQ2YsSUFBQTtjQUFBZSxRQUFBLEVBQVE7WUFBTSxDQUFRLENBQUMsZUFDdkJmLElBQUE7Y0FBUXdILElBQUksRUFBQyxRQUFRO2NBQUN1QyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtnQkFBQSxPQUFRbkYsYUFBYSxDQUFDLEtBQUssQ0FBQztjQUFBLENBQUM7Y0FBQyxjQUFXLGNBQWM7Y0FBQTdELFFBQUEsZUFDbEZmLElBQUEsQ0FBQ3pCLE9BQU8sSUFBRTtZQUFDLENBQ0wsQ0FBQztVQUFBLENBQ04sQ0FBQyxFQUNMb0MsS0FBSyxDQUFDbUQsT0FBTyxDQUFDckwsTUFBTSxLQUFLLENBQUMsZ0JBQ3pCdUgsSUFBQTtZQUFBZSxRQUFBLEVBQUc7VUFBcUMsQ0FBRyxDQUFDLEdBRTVDekcsa0JBQUEsQ0FBSXFHLEtBQUssQ0FBQ21ELE9BQU8sRUFBRTJHLE9BQU8sQ0FBQyxDQUFDLENBQUMxRSxHQUFHLENBQUMsVUFBQ2MsR0FBRyxFQUFFQyxLQUFLO1lBQUEsb0JBQzFDNUcsS0FBQTtjQUVFc0gsSUFBSSxFQUFDLFFBQVE7Y0FDYjFHLFNBQVMsK0JBQUFvSCxNQUFBLENBQStCckIsR0FBRyxDQUFDWCxFQUFFLEtBQUsvQixVQUFVLEdBQUcsWUFBWSxHQUFHLEVBQUUsQ0FBRztjQUNwRjRGLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBLEVBQVE7Z0JBQ2IzRixhQUFhLENBQUN5QyxHQUFHLENBQUNYLEVBQUUsQ0FBQztnQkFDckIxQixnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7Y0FDeEIsQ0FBRTtjQUFBekQsUUFBQSxnQkFFRmYsSUFBQSxDQUFDM0IsTUFBTTtnQkFBQ3lDLFNBQVMsRUFBQztjQUFpQyxDQUFFLENBQUMsRUFDckQrRixHQUFHLENBQUNXLElBQUksS0FBSyxNQUFNLEdBQUlYLEdBQUcsQ0FBQ0csSUFBSSxJQUFJLE1BQU0sR0FBSUgsR0FBRyxDQUFDVyxJQUFJLEtBQUssT0FBTyxHQUFHLE9BQU8sR0FBRyxhQUFhLGVBQzVGeEgsSUFBQTtnQkFBQWUsUUFBQSxFQUFPSixLQUFLLENBQUNtRCxPQUFPLENBQUNyTCxNQUFNLEdBQUdxTztjQUFLLENBQU8sQ0FBQztZQUFBLEdBVnRDRCxHQUFHLENBQUNYLEVBV0gsQ0FBQztVQUFBLENBQ1YsQ0FDRjtRQUFBLENBQ0UsQ0FBQyxHQUNKLElBQUk7TUFBQSxDQUVMLENBQUMsRUFFTHRGLEtBQUssZ0JBQUdaLElBQUE7UUFBR2MsU0FBUyxFQUFDLDRCQUE0QjtRQUFBQyxRQUFBLEVBQUVIO01BQUssQ0FBSSxDQUFDLEdBQUcsSUFBSSxlQUVyRVYsS0FBQTtRQUFPWSxTQUFTLEVBQUMsMkJBQTJCO1FBQUFDLFFBQUEsR0FDekNxRyxRQUFRLGdCQUNQbEgsS0FBQTtVQUFLWSxTQUFTLEVBQUMsZ0NBQWdDO1VBQUFDLFFBQUEsR0FDNUNxRyxRQUFRLENBQUNJLElBQUksS0FBSyxNQUFNLGdCQUN2QnRILEtBQUEsQ0FBQUUsU0FBQTtZQUFBVyxRQUFBLGdCQUNFZixJQUFBO2NBQ0VjLFNBQVMsRUFBQyxpQ0FBaUM7Y0FDM0NoSSxLQUFLLEVBQUVzTyxRQUFRLENBQUNKLElBQUksSUFBSSxFQUFHO2NBQzNCMEQsSUFBSSxFQUFFLENBQUU7Y0FDUkMsU0FBUyxFQUFFcEcsYUFBYSxLQUFLNkMsUUFBUSxDQUFDbEIsRUFBRztjQUN6QyxjQUFXLFdBQVc7Y0FDdEJxRSxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBR2xULENBQUM7Z0JBQUEsT0FBS2lRLGFBQWEsQ0FBQztrQkFBRU4sSUFBSSxFQUFFM1AsQ0FBQyxDQUFDdVQsTUFBTSxDQUFDOVI7Z0JBQU0sQ0FBQyxDQUFDO2NBQUE7WUFBQyxDQUMxRCxDQUFDLGVBQ0ZvSCxLQUFBO2NBQU9ZLFNBQVMsRUFBQywyQkFBMkI7Y0FBQUMsUUFBQSxnQkFDMUNmLElBQUE7Z0JBQU1jLFNBQVMsRUFBQyxnQkFBZ0I7Z0JBQUFDLFFBQUEsRUFBQztjQUFJLENBQU0sQ0FBQyxlQUM1Q2YsSUFBQTtnQkFDRSxjQUFXLE1BQU07Z0JBQ2pCbEgsS0FBSyxFQUFFc08sUUFBUSxDQUFDWSxVQUFVLElBQUlySSxrQkFBbUI7Z0JBQ2pEa0wsS0FBSyxFQUFFO2tCQUFFN0MsVUFBVSxFQUFFbkksYUFBYSxDQUFDdUgsUUFBUSxDQUFDWSxVQUFVLElBQUlySSxrQkFBa0I7Z0JBQUUsQ0FBRTtnQkFDaEY0SyxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBR2xULENBQUM7a0JBQUEsT0FBS2lRLGFBQWEsQ0FBQztvQkFBRVUsVUFBVSxFQUFFM1EsQ0FBQyxDQUFDdVQsTUFBTSxDQUFDOVI7a0JBQU0sQ0FBQyxDQUFDO2dCQUFBLENBQUM7Z0JBQUFpSSxRQUFBLEVBRTlEbkIsZ0JBQWdCLENBQUNtRyxHQUFHLENBQUMsVUFBQytFLElBQUk7a0JBQUEsb0JBQ3pCOUssSUFBQTtvQkFFRWxILEtBQUssRUFBRWdTLElBQUksQ0FBQ2hTLEtBQU07b0JBQ2xCK1IsS0FBSyxFQUFFO3NCQUFFN0MsVUFBVSxFQUFFbkksYUFBYSxDQUFDaUwsSUFBSSxDQUFDaFMsS0FBSztvQkFBRSxDQUFFO29CQUFBaUksUUFBQSxFQUVoRCtKLElBQUksQ0FBQ0M7a0JBQUssR0FKTkQsSUFBSSxDQUFDaFMsS0FLSixDQUFDO2dCQUFBLENBQ1Y7Y0FBQyxDQUNJLENBQUM7WUFBQSxDQUNKLENBQUMsZUFDUmtILElBQUE7Y0FDRXdILElBQUksRUFBQyxRQUFRO2NBQ2IxRyxTQUFTLEVBQUMsOEJBQThCO2NBQ3hDaUosT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7Z0JBQUEsT0FBUXpDLGFBQWEsQ0FBQztrQkFDM0JTLFFBQVEsRUFBRXJDLElBQUksQ0FBQ3NGLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQzVELFFBQVEsQ0FBQ1csUUFBUSxJQUFJLEVBQUUsSUFBSSxDQUFDO2dCQUN0RCxDQUFDLENBQUM7Y0FBQSxDQUFDO2NBQ0gsY0FBVyxjQUFjO2NBQUFoSCxRQUFBLEVBQzFCO1lBRUQsQ0FBUSxDQUFDLGVBQ1RmLElBQUE7Y0FDRXdILElBQUksRUFBQyxRQUFRO2NBQ2IxRyxTQUFTLEVBQUMsOEJBQThCO2NBQ3hDaUosT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7Z0JBQUEsT0FBUXpDLGFBQWEsQ0FBQztrQkFDM0JTLFFBQVEsRUFBRXJDLElBQUksQ0FBQ0MsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDeUIsUUFBUSxDQUFDVyxRQUFRLElBQUksRUFBRSxJQUFJLENBQUM7Z0JBQ3ZELENBQUMsQ0FBQztjQUFBLENBQUM7Y0FDSCxjQUFXLGFBQWE7Y0FBQWhILFFBQUEsRUFDekI7WUFFRCxDQUFRLENBQUMsRUFDUnFHLFFBQVEsQ0FBQzZELGFBQWEsSUFBSSxJQUFJLGdCQUM3Qi9LLEtBQUE7Y0FBT1ksU0FBUyxFQUFDLDRCQUE0QjtjQUFBQyxRQUFBLGdCQUMzQ2YsSUFBQTtnQkFBTWMsU0FBUyxFQUFDLGdCQUFnQjtnQkFBQUMsUUFBQSxFQUFDO2NBQU0sQ0FBTSxDQUFDLGVBQzlDZixJQUFBO2dCQUNFd0gsSUFBSSxFQUFDLE9BQU87Z0JBQ1oxTyxLQUFLLEVBQUUsbUJBQW1CLENBQUNvRCxJQUFJLENBQUNrTCxRQUFRLENBQUNGLElBQUksSUFBSSxFQUFFLENBQUMsR0FBR0UsUUFBUSxDQUFDRixJQUFJLEdBQUcsU0FBVTtnQkFDakZxRCxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBR2xULENBQUM7a0JBQUEsT0FBS2lRLGFBQWEsQ0FBQztvQkFBRUosSUFBSSxFQUFFN1AsQ0FBQyxDQUFDdVQsTUFBTSxDQUFDOVI7a0JBQU0sQ0FBQyxDQUFDO2dCQUFBO2NBQUMsQ0FDMUQsQ0FBQztZQUFBLENBQ0csQ0FBQyxHQUNOLElBQUk7VUFBQSxDQUNSLENBQUMsR0FDRCxJQUFJLEVBQ1BzTyxRQUFRLENBQUNJLElBQUksS0FBSyxPQUFPLGdCQUN4QnRILEtBQUE7WUFDRXNILElBQUksRUFBQyxRQUFRO1lBQ2IxRyxTQUFTLGtDQUFBb0gsTUFBQSxDQUFrQ2QsUUFBUSxDQUFDb0IsZUFBZSxHQUFHLFlBQVksR0FBRyxFQUFFLENBQUc7WUFDMUZ1QixPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtjQUFBLE9BQVF6QyxhQUFhLENBQUM7Z0JBQUVrQixlQUFlLEVBQUUsQ0FBQ3BCLFFBQVEsQ0FBQ29CO2NBQWdCLENBQUMsQ0FBQztZQUFBLENBQUM7WUFDN0UsY0FBWXBCLFFBQVEsQ0FBQ29CLGVBQWUsR0FBRyxxQkFBcUIsR0FBRyxtQkFBb0I7WUFBQXpILFFBQUEsR0FFbEZxRyxRQUFRLENBQUNvQixlQUFlLGdCQUFHeEksSUFBQSxDQUFDNUIsTUFBTSxJQUFFLENBQUMsZ0JBQUc0QixJQUFBLENBQUMxQixRQUFRLElBQUUsQ0FBQyxFQUFDLE9BRXhEO1VBQUEsQ0FBUSxDQUFDLEdBQ1AsSUFBSSxFQUNQOEksUUFBUSxDQUFDSSxJQUFJLEtBQUssTUFBTSxnQkFDdkJ0SCxLQUFBO1lBQU9ZLFNBQVMsRUFBQyw0QkFBNEI7WUFBQUMsUUFBQSxnQkFDM0NmLElBQUE7Y0FBTWMsU0FBUyxFQUFDLGdCQUFnQjtjQUFBQyxRQUFBLEVBQUM7WUFBVyxDQUFNLENBQUMsZUFDbkRmLElBQUE7Y0FDRXdILElBQUksRUFBQyxPQUFPO2NBQ1oxTyxLQUFLLEVBQUVzTyxRQUFRLENBQUNGLElBQUksSUFBSSxTQUFVO2NBQ2xDcUQsUUFBUSxFQUFFLFNBQVZBLFFBQVFBLENBQUdsVCxDQUFDO2dCQUFBLE9BQUtpUSxhQUFhLENBQUM7a0JBQUVKLElBQUksRUFBRTdQLENBQUMsQ0FBQ3VULE1BQU0sQ0FBQzlSO2dCQUFNLENBQUMsQ0FBQztjQUFBO1lBQUMsQ0FDMUQsQ0FBQztVQUFBLENBQ0csQ0FBQyxHQUNOLElBQUksZUFDUmtILElBQUE7WUFDRXdILElBQUksRUFBQyxRQUFRO1lBQ2IxRyxTQUFTLEVBQUMsK0JBQStCO1lBQ3pDaUosT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7Y0FBQSxPQUFRekMsYUFBYSxDQUFDO2dCQUFFTyxNQUFNLEVBQUUsQ0FBQ1QsUUFBUSxDQUFDUyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUM7Y0FBRSxDQUFDLENBQUM7WUFBQSxDQUFDO1lBQ3RFLGNBQVcsTUFBTTtZQUFBOUcsUUFBQSxFQUNsQjtVQUVELENBQVEsQ0FBQyxlQUNUZixJQUFBO1lBQ0V3SCxJQUFJLEVBQUMsUUFBUTtZQUNiMUcsU0FBUyxFQUFDLCtCQUErQjtZQUN6Q2lKLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO2NBQUEsT0FBUXJCLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFBQSxDQUFDO1lBQzVCLGNBQVcsZUFBZTtZQUFBM0gsUUFBQSxlQUUxQmYsSUFBQSxDQUFDakMsU0FBUyxJQUFFO1VBQUMsQ0FDUCxDQUFDLGVBQ1RpQyxJQUFBO1lBQ0V3SCxJQUFJLEVBQUMsUUFBUTtZQUNiMUcsU0FBUyxFQUFDLCtCQUErQjtZQUN6Q2lKLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO2NBQUEsT0FBUXJCLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLENBQUM7WUFDN0IsY0FBVyxlQUFlO1lBQUEzSCxRQUFBLGVBRTFCZixJQUFBLENBQUNsQyxXQUFXLElBQUU7VUFBQyxDQUNULENBQUMsZUFDVGtDLElBQUE7WUFDRXdILElBQUksRUFBQyxRQUFRO1lBQ2IxRyxTQUFTLEVBQUMseUNBQXlDO1lBQ25EaUosT0FBTyxFQUFFdEIsY0FBZTtZQUN4QixjQUFXLFFBQVE7WUFBQTFILFFBQUEsZUFFbkJmLElBQUEsQ0FBQ3hCLE9BQU8sSUFBRTtVQUFDLENBQ0wsQ0FBQztRQUFBLENBQ04sQ0FBQyxHQUNKLElBQUksZUFFUjBCLEtBQUE7VUFBS1ksU0FBUyxFQUFDLDhCQUE4QjtVQUFDLGNBQVcsY0FBYztVQUFBQyxRQUFBLEdBQ3BFaUMsc0JBQXNCLGdCQUNyQjlDLEtBQUE7WUFDRXNILElBQUksRUFBQyxRQUFRO1lBQ2J1QyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQSxFQUFRO2NBQ2JuRixhQUFhLENBQUMsS0FBSyxDQUFDO2NBQ3BCNkMsT0FBTyxDQUFDLENBQUM7WUFDWCxDQUFFO1lBQUExRyxRQUFBLGdCQUVGZixJQUFBLENBQUMvQixNQUFNLElBQUUsQ0FBQyxlQUNWK0IsSUFBQTtjQUFBZSxRQUFBLEVBQU07WUFBSSxDQUFNLENBQUM7VUFBQSxDQUNYLENBQUMsR0FDUCxJQUFJLEVBQ1BpQyxzQkFBc0IsZ0JBQ3JCOUMsS0FBQTtZQUNFc0gsSUFBSSxFQUFDLFFBQVE7WUFDYnVDLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBLEVBQVE7Y0FBQSxJQUFBbUIscUJBQUE7Y0FDYnRHLGFBQWEsQ0FBQyxLQUFLLENBQUM7Y0FDcEJKLGdCQUFnQixDQUFDLElBQUksQ0FBQztjQUN0QixDQUFBMEcscUJBQUEsR0FBQTlGLFlBQVksQ0FBQ3NCLE9BQU8sY0FBQXdFLHFCQUFBLGVBQXBCQSxxQkFBQSxDQUFzQkMsS0FBSyxDQUFDLENBQUM7WUFDL0IsQ0FBRTtZQUFBcEssUUFBQSxnQkFFRmYsSUFBQSxDQUFDOUIsT0FBTyxJQUFFLENBQUMsZUFDWDhCLElBQUE7Y0FBQWUsUUFBQSxFQUFNO1lBQUssQ0FBTSxDQUFDO1VBQUEsQ0FDWixDQUFDLEdBQ1AsSUFBSSxlQUNSYixLQUFBO1lBQ0VzSCxJQUFJLEVBQUMsUUFBUTtZQUNidUMsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUEsRUFBUTtjQUNidkYsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO2NBQ3RCSSxhQUFhLENBQUMsVUFBQ3dHLE9BQU87Z0JBQUEsT0FBSyxDQUFDQSxPQUFPO2NBQUEsRUFBQztZQUN0QyxDQUFFO1lBQUFySyxRQUFBLGdCQUVGZixJQUFBLENBQUM3QixZQUFZLElBQUUsQ0FBQyxlQUNoQjZCLElBQUE7Y0FBQWUsUUFBQSxFQUFNO1lBQU0sQ0FBTSxDQUFDO1VBQUEsQ0FDYixDQUFDLGVBQ1RiLEtBQUE7WUFBUXNILElBQUksRUFBQyxRQUFRO1lBQUN1QyxPQUFPLEVBQUV0QixjQUFlO1lBQUN1QixRQUFRLEVBQUUsQ0FBQzdGLFVBQVc7WUFBQXBELFFBQUEsZ0JBQ25FZixJQUFBLENBQUN4QixPQUFPLElBQUUsQ0FBQyxlQUNYd0IsSUFBQTtjQUFBZSxRQUFBLEVBQU07WUFBTSxDQUFNLENBQUM7VUFBQSxDQUNiLENBQUM7UUFBQSxDQUNOLENBQUMsZUFDTmYsSUFBQTtVQUNFcUssR0FBRyxFQUFFakYsWUFBYTtVQUNsQm9DLElBQUksRUFBQyxNQUFNO1VBQ1g2RCxNQUFNLEVBQUMsU0FBUztVQUNoQnZLLFNBQVMsRUFBQywyQkFBMkI7VUFDckN5SixRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBR2xULENBQUMsRUFBSztZQUFBLElBQUFpVSxlQUFBO1lBQ2YsSUFBTTNKLElBQUksSUFBQTJKLGVBQUEsR0FBR2pVLENBQUMsQ0FBQ3VULE1BQU0sQ0FBQ3hFLEtBQUssY0FBQWtGLGVBQUEsdUJBQWRBLGVBQUEsQ0FBaUIsQ0FBQyxDQUFDO1lBQ2hDLElBQUkzSixJQUFJLEVBQUV3RyxRQUFRLENBQUN4RyxJQUFJLENBQUM7WUFDeEJ0SyxDQUFDLENBQUN1VCxNQUFNLENBQUM5UixLQUFLLEdBQUcsRUFBRTtVQUNyQjtRQUFFLENBQ0gsQ0FBQztNQUFBLENBQ0csQ0FBQztJQUFBLENBQ0wsQ0FBQztFQUFBLENBQ0gsQ0FBQyxFQUNOOFEsUUFBUSxDQUFDMkIsSUFDWCxDQUFDO0FBQ0giLCJpZ25vcmVMaXN0IjpbXX0=
@@ -30,5 +30,6 @@ export interface CheckoutDesignInput {
30
30
  textStyle?: DesignerTextStyle;
31
31
  groupIndex?: number;
32
32
  }
33
+ export declare function productAllowsAdditionalDesignObjects(product: any): boolean;
33
34
  export declare function collectDesignerInputs(product: any, drafts: DraftTemplateData[]): DesignerInput[];
34
35
  export declare function packDesignInputNotes(inputs: CheckoutDesignInput[]): string | undefined;
@@ -46,7 +46,11 @@ function clipName(value, fallback) {
46
46
  var name = trimmed || fallback;
47
47
  return name.length > NAME_LIMIT ? name.slice(0, NAME_LIMIT).trim() : name;
48
48
  }
49
+ export function productAllowsAdditionalDesignObjects(product) {
50
+ return (product === null || product === void 0 ? void 0 : product.allowAdditionalDesignObjects) !== false;
51
+ }
49
52
  export function collectDesignerInputs(product, drafts) {
53
+ if (!productAllowsAdditionalDesignObjects(product)) return [];
50
54
  var grouped = productHasVariationGroups(product);
51
55
  var inputs = [];
52
56
  var _iterator2 = _createForOfIteratorHelper(drafts || []),
@@ -138,4 +142,4 @@ export function packDesignInputNotes(inputs) {
138
142
  });
139
143
  return "".concat(DESIGN_PREFIX).concat(btoa(binary)).concat(DESIGN_SUFFIX);
140
144
  }
141
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwcm9kdWN0SGFzVmFyaWF0aW9uR3JvdXBzIiwiTkFNRV9MSU1JVCIsIkRFU0lHTl9QUkVGSVgiLCJERVNJR05fU1VGRklYIiwiVEVYVF9CT1hfTlVNQkVSUyIsImZpbml0ZU51bWJlciIsInZhbHVlIiwibnVtYmVyIiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJ1bmRlZmluZWQiLCJ0ZXh0U3R5bGVGcm9tT2JqZWN0Iiwib2JqIiwic3R5bGUiLCJjb2xvdXIiLCJTdHJpbmciLCJmaWxsIiwidHJpbSIsInRleHRTaXplIiwiZm9udFNpemUiLCJmb250IiwiZm9udEZhbWlseSIsImFsaWduIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsInMiLCJuIiwiZG9uZSIsImtleSIsImVyciIsImUiLCJmIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImNsaXBOYW1lIiwiZmFsbGJhY2siLCJ0cmltbWVkIiwicmVwbGFjZSIsIm5hbWUiLCJzbGljZSIsImNvbGxlY3REZXNpZ25lcklucHV0cyIsInByb2R1Y3QiLCJkcmFmdHMiLCJncm91cGVkIiwiaW5wdXRzIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsImRyYWZ0IiwiZ3JvdXBJbmRleCIsIl9pdGVyYXRvcjMiLCJ0ZW1wbGF0ZURhdGEiLCJfc3RlcDMiLCJfdGVtcGxhdGUkY2FudmFzSnNvbiIsInRlbXBsYXRlIiwiX2l0ZXJhdG9yNCIsImNhbnZhc0pzb24iLCJvYmplY3RzIiwiX3N0ZXA0IiwibWVyY2hpRmllbGRJZCIsInR5cGUiLCJ0ZXh0IiwidGV4dFN0eWxlIiwicHVzaCIsIl9vYmplY3RTcHJlYWQiLCJraW5kIiwic3JjIiwicGFja0Rlc2lnbklucHV0Tm90ZXMiLCJwYXlsb2FkIiwiZmlsdGVyIiwiaXRlbSIsIl9pdGVtJGZpbGUiLCJmaWxlIiwiaWQiLCJtYXAiLCJfaXRlbSRmaWxlMiIsImJ5dGVzIiwiVGV4dEVuY29kZXIiLCJlbmNvZGUiLCJKU09OIiwic3RyaW5naWZ5IiwiYmluYXJ5IiwiZm9yRWFjaCIsImJ5dGUiLCJmcm9tQ2hhckNvZGUiLCJjb25jYXQiLCJidG9hIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2Rlc2lnbmVySW5wdXRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb2R1Y3RIYXNWYXJpYXRpb25Hcm91cHMgfSBmcm9tICcuL2RyYWZ0VGVtcGxhdGVzJztcbmltcG9ydCB7IERyYWZ0VGVtcGxhdGVEYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IE5BTUVfTElNSVQgPSA4MDtcbmNvbnN0IERFU0lHTl9QUkVGSVggPSAnW1tjbGllbnQtZGVzaWduLWlucHV0czonO1xuY29uc3QgREVTSUdOX1NVRkZJWCA9ICddXSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVzaWduZXJUZXh0U3R5bGUge1xuICBjb2xvdXI/OiBzdHJpbmc7XG4gIHRleHRTaXplPzogbnVtYmVyO1xuICBmb250Pzogc3RyaW5nO1xuICBhbGlnbj86IHN0cmluZztcbiAgeD86IG51bWJlcjtcbiAgeT86IG51bWJlcjtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgcm90YXRpb24/OiBudW1iZXI7XG4gIHNjYWxlWD86IG51bWJlcjtcbiAgc2NhbGVZPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlc2lnbmVySW5wdXQge1xuICBraW5kOiAndGV4dCcgfCAnZmlsZSc7XG4gIG5hbWU6IHN0cmluZztcbiAgdmFsdWU/OiBzdHJpbmc7XG4gIHNyYz86IHN0cmluZztcbiAgdGV4dFN0eWxlPzogRGVzaWduZXJUZXh0U3R5bGU7XG4gIGdyb3VwSW5kZXg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tvdXREZXNpZ25JbnB1dCB7XG4gIGtpbmQ6ICd0ZXh0JyB8ICdmaWxlJztcbiAgbmFtZTogc3RyaW5nO1xuICB2YWx1ZT86IHN0cmluZztcbiAgZmlsZT86IHsgaWQ6IG51bWJlciB8IHN0cmluZyB9O1xuICB0ZXh0U3R5bGU/OiBEZXNpZ25lclRleHRTdHlsZTtcbiAgZ3JvdXBJbmRleD86IG51bWJlcjtcbn1cblxuY29uc3QgVEVYVF9CT1hfTlVNQkVSUyA9IFtcbiAgJ3gnLFxuICAneScsXG4gICd3aWR0aCcsXG4gICdoZWlnaHQnLFxuICAncm90YXRpb24nLFxuICAnc2NhbGVYJyxcbiAgJ3NjYWxlWScsXG5dIGFzIGNvbnN0O1xuXG5mdW5jdGlvbiBmaW5pdGVOdW1iZXIodmFsdWU6IHVua25vd24pOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICBjb25zdCBudW1iZXIgPSBOdW1iZXIodmFsdWUpO1xuICByZXR1cm4gTnVtYmVyLmlzRmluaXRlKG51bWJlcikgPyBudW1iZXIgOiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIHRleHRTdHlsZUZyb21PYmplY3Qob2JqOiB7XG4gIGZpbGw/OiBzdHJpbmc7XG4gIGZvbnRTaXplPzogbnVtYmVyO1xuICBmb250RmFtaWx5Pzogc3RyaW5nO1xuICBhbGlnbj86IHN0cmluZztcbiAgeD86IG51bWJlcjtcbiAgeT86IG51bWJlcjtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgcm90YXRpb24/OiBudW1iZXI7XG4gIHNjYWxlWD86IG51bWJlcjtcbiAgc2NhbGVZPzogbnVtYmVyO1xufSk6IERlc2lnbmVyVGV4dFN0eWxlIHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qgc3R5bGU6IERlc2lnbmVyVGV4dFN0eWxlID0ge307XG4gIGNvbnN0IGNvbG91ciA9IFN0cmluZyhvYmouZmlsbCB8fCAnJykudHJpbSgpO1xuICBpZiAoY29sb3VyKSBzdHlsZS5jb2xvdXIgPSBjb2xvdXI7XG4gIGNvbnN0IHRleHRTaXplID0gZmluaXRlTnVtYmVyKG9iai5mb250U2l6ZSk7XG4gIGlmICh0ZXh0U2l6ZSAhPSBudWxsKSBzdHlsZS50ZXh0U2l6ZSA9IHRleHRTaXplO1xuICBjb25zdCBmb250ID0gU3RyaW5nKG9iai5mb250RmFtaWx5IHx8ICcnKS50cmltKCk7XG4gIGlmIChmb250KSBzdHlsZS5mb250ID0gZm9udDtcbiAgY29uc3QgYWxpZ24gPSBTdHJpbmcob2JqLmFsaWduIHx8ICcnKS50cmltKCk7XG4gIGlmIChhbGlnbikgc3R5bGUuYWxpZ24gPSBhbGlnbjtcbiAgZm9yIChjb25zdCBrZXkgb2YgVEVYVF9CT1hfTlVNQkVSUykge1xuICAgIGNvbnN0IG51bWJlciA9IGZpbml0ZU51bWJlcihvYmpba2V5XSk7XG4gICAgaWYgKG51bWJlciAhPSBudWxsKSBzdHlsZVtrZXldID0gbnVtYmVyO1xuICB9XG4gIHJldHVybiBPYmplY3Qua2V5cyhzdHlsZSkubGVuZ3RoID8gc3R5bGUgOiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGNsaXBOYW1lKHZhbHVlOiBzdHJpbmcsIGZhbGxiYWNrOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCB0cmltbWVkID0gdmFsdWUucmVwbGFjZSgvXFxzKy9nLCAnICcpLnRyaW0oKTtcbiAgY29uc3QgbmFtZSA9IHRyaW1tZWQgfHwgZmFsbGJhY2s7XG4gIHJldHVybiBuYW1lLmxlbmd0aCA+IE5BTUVfTElNSVQgPyBuYW1lLnNsaWNlKDAsIE5BTUVfTElNSVQpLnRyaW0oKSA6IG5hbWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb2xsZWN0RGVzaWduZXJJbnB1dHMoXG4gIHByb2R1Y3Q6IGFueSxcbiAgZHJhZnRzOiBEcmFmdFRlbXBsYXRlRGF0YVtdLFxuKTogRGVzaWduZXJJbnB1dFtdIHtcbiAgY29uc3QgZ3JvdXBlZCA9IHByb2R1Y3RIYXNWYXJpYXRpb25Hcm91cHMocHJvZHVjdCk7XG4gIGNvbnN0IGlucHV0czogRGVzaWduZXJJbnB1dFtdID0gW107XG4gIGZvciAoY29uc3QgZHJhZnQgb2YgZHJhZnRzIHx8IFtdKSB7XG4gICAgY29uc3QgZ3JvdXBJbmRleCA9IGdyb3VwZWQgPyBkcmFmdC5ncm91cEluZGV4IDogdW5kZWZpbmVkO1xuICAgIGZvciAoY29uc3QgdGVtcGxhdGUgb2YgZHJhZnQudGVtcGxhdGVEYXRhIHx8IFtdKSB7XG4gICAgICBmb3IgKGNvbnN0IG9iaiBvZiB0ZW1wbGF0ZS5jYW52YXNKc29uPy5vYmplY3RzIHx8IFtdKSB7XG4gICAgICAgIGlmIChvYmo/Lm1lcmNoaUZpZWxkSWQgIT0gbnVsbCkgY29udGludWU7XG4gICAgICAgIGlmIChvYmo/LnR5cGUgPT09ICd0ZXh0Jykge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gU3RyaW5nKG9iai50ZXh0IHx8ICcnKS50cmltKCk7XG4gICAgICAgICAgaWYgKCF2YWx1ZSkgY29udGludWU7XG4gICAgICAgICAgY29uc3QgdGV4dFN0eWxlID0gdGV4dFN0eWxlRnJvbU9iamVjdChvYmopO1xuICAgICAgICAgIGlucHV0cy5wdXNoKHtcbiAgICAgICAgICAgIGtpbmQ6ICd0ZXh0JyxcbiAgICAgICAgICAgIG5hbWU6IGNsaXBOYW1lKHZhbHVlLCAnQ3VzdG9tIHRleHQnKSxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgLi4uKHRleHRTdHlsZSA/IHsgdGV4dFN0eWxlIH0gOiB7fSksXG4gICAgICAgICAgICAuLi4oZ3JvdXBJbmRleCAhPSBudWxsID8geyBncm91cEluZGV4IH0gOiB7fSksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAob2JqPy50eXBlID09PSAnaW1hZ2UnICYmIG9iai5zcmMpIHtcbiAgICAgICAgICBpbnB1dHMucHVzaCh7XG4gICAgICAgICAgICBraW5kOiAnZmlsZScsXG4gICAgICAgICAgICBuYW1lOiAnQ3VzdG9tIGltYWdlJyxcbiAgICAgICAgICAgIHNyYzogU3RyaW5nKG9iai5zcmMpLFxuICAgICAgICAgICAgLi4uKGdyb3VwSW5kZXggIT0gbnVsbCA/IHsgZ3JvdXBJbmRleCB9IDoge30pLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBpbnB1dHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYWNrRGVzaWduSW5wdXROb3RlcyhcbiAgaW5wdXRzOiBDaGVja291dERlc2lnbklucHV0W10sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBwYXlsb2FkID0gKGlucHV0cyB8fCBbXSlcbiAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmtpbmQgPT09ICd0ZXh0JyB8fCBpdGVtLmZpbGU/LmlkICE9IG51bGwpXG4gICAgLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgIGtpbmQ6IGl0ZW0ua2luZCxcbiAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcbiAgICAgIC4uLihpdGVtLnZhbHVlICE9IG51bGwgPyB7IHZhbHVlOiBpdGVtLnZhbHVlIH0gOiB7fSksXG4gICAgICAuLi4oaXRlbS50ZXh0U3R5bGUgPyB7IHRleHRTdHlsZTogaXRlbS50ZXh0U3R5bGUgfSA6IHt9KSxcbiAgICAgIC4uLihpdGVtLmZpbGU/LmlkICE9IG51bGwgPyB7IGZpbGU6IHsgaWQ6IGl0ZW0uZmlsZS5pZCB9IH0gOiB7fSksXG4gICAgICAuLi4oaXRlbS5ncm91cEluZGV4ICE9IG51bGwgPyB7IGdyb3VwSW5kZXg6IGl0ZW0uZ3JvdXBJbmRleCB9IDoge30pLFxuICAgIH0pKTtcbiAgaWYgKCFwYXlsb2FkLmxlbmd0aCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgY29uc3QgYnl0ZXMgPSBuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xuICBsZXQgYmluYXJ5ID0gJyc7XG4gIGJ5dGVzLmZvckVhY2goKGJ5dGUpID0+IHtcbiAgICBiaW5hcnkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShieXRlKTtcbiAgfSk7XG4gIHJldHVybiBgJHtERVNJR05fUFJFRklYfSR7YnRvYShiaW5hcnkpfSR7REVTSUdOX1NVRkZJWH1gO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxTQUFTQSx5QkFBeUIsUUFBUSxrQkFBa0I7QUFHNUQsSUFBTUMsVUFBVSxHQUFHLEVBQUU7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
145
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwcm9kdWN0SGFzVmFyaWF0aW9uR3JvdXBzIiwiTkFNRV9MSU1JVCIsIkRFU0lHTl9QUkVGSVgiLCJERVNJR05fU1VGRklYIiwiVEVYVF9CT1hfTlVNQkVSUyIsImZpbml0ZU51bWJlciIsInZhbHVlIiwibnVtYmVyIiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJ1bmRlZmluZWQiLCJ0ZXh0U3R5bGVGcm9tT2JqZWN0Iiwib2JqIiwic3R5bGUiLCJjb2xvdXIiLCJTdHJpbmciLCJmaWxsIiwidHJpbSIsInRleHRTaXplIiwiZm9udFNpemUiLCJmb250IiwiZm9udEZhbWlseSIsImFsaWduIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsInMiLCJuIiwiZG9uZSIsImtleSIsImVyciIsImUiLCJmIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImNsaXBOYW1lIiwiZmFsbGJhY2siLCJ0cmltbWVkIiwicmVwbGFjZSIsIm5hbWUiLCJzbGljZSIsInByb2R1Y3RBbGxvd3NBZGRpdGlvbmFsRGVzaWduT2JqZWN0cyIsInByb2R1Y3QiLCJhbGxvd0FkZGl0aW9uYWxEZXNpZ25PYmplY3RzIiwiY29sbGVjdERlc2lnbmVySW5wdXRzIiwiZHJhZnRzIiwiZ3JvdXBlZCIsImlucHV0cyIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJkcmFmdCIsImdyb3VwSW5kZXgiLCJfaXRlcmF0b3IzIiwidGVtcGxhdGVEYXRhIiwiX3N0ZXAzIiwiX3RlbXBsYXRlJGNhbnZhc0pzb24iLCJ0ZW1wbGF0ZSIsIl9pdGVyYXRvcjQiLCJjYW52YXNKc29uIiwib2JqZWN0cyIsIl9zdGVwNCIsIm1lcmNoaUZpZWxkSWQiLCJ0eXBlIiwidGV4dCIsInRleHRTdHlsZSIsInB1c2giLCJfb2JqZWN0U3ByZWFkIiwia2luZCIsInNyYyIsInBhY2tEZXNpZ25JbnB1dE5vdGVzIiwicGF5bG9hZCIsImZpbHRlciIsIml0ZW0iLCJfaXRlbSRmaWxlIiwiZmlsZSIsImlkIiwibWFwIiwiX2l0ZW0kZmlsZTIiLCJieXRlcyIsIlRleHRFbmNvZGVyIiwiZW5jb2RlIiwiSlNPTiIsInN0cmluZ2lmeSIsImJpbmFyeSIsImZvckVhY2giLCJieXRlIiwiZnJvbUNoYXJDb2RlIiwiY29uY2F0IiwiYnRvYSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9kZXNpZ25lcklucHV0cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcm9kdWN0SGFzVmFyaWF0aW9uR3JvdXBzIH0gZnJvbSAnLi9kcmFmdFRlbXBsYXRlcyc7XG5pbXBvcnQgeyBEcmFmdFRlbXBsYXRlRGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBOQU1FX0xJTUlUID0gODA7XG5jb25zdCBERVNJR05fUFJFRklYID0gJ1tbY2xpZW50LWRlc2lnbi1pbnB1dHM6JztcbmNvbnN0IERFU0lHTl9TVUZGSVggPSAnXV0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIERlc2lnbmVyVGV4dFN0eWxlIHtcbiAgY29sb3VyPzogc3RyaW5nO1xuICB0ZXh0U2l6ZT86IG51bWJlcjtcbiAgZm9udD86IHN0cmluZztcbiAgYWxpZ24/OiBzdHJpbmc7XG4gIHg/OiBudW1iZXI7XG4gIHk/OiBudW1iZXI7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIHJvdGF0aW9uPzogbnVtYmVyO1xuICBzY2FsZVg/OiBudW1iZXI7XG4gIHNjYWxlWT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXNpZ25lcklucHV0IHtcbiAga2luZDogJ3RleHQnIHwgJ2ZpbGUnO1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nO1xuICBzcmM/OiBzdHJpbmc7XG4gIHRleHRTdHlsZT86IERlc2lnbmVyVGV4dFN0eWxlO1xuICBncm91cEluZGV4PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrb3V0RGVzaWduSW5wdXQge1xuICBraW5kOiAndGV4dCcgfCAnZmlsZSc7XG4gIG5hbWU6IHN0cmluZztcbiAgdmFsdWU/OiBzdHJpbmc7XG4gIGZpbGU/OiB7IGlkOiBudW1iZXIgfCBzdHJpbmcgfTtcbiAgdGV4dFN0eWxlPzogRGVzaWduZXJUZXh0U3R5bGU7XG4gIGdyb3VwSW5kZXg/OiBudW1iZXI7XG59XG5cbmNvbnN0IFRFWFRfQk9YX05VTUJFUlMgPSBbXG4gICd4JyxcbiAgJ3knLFxuICAnd2lkdGgnLFxuICAnaGVpZ2h0JyxcbiAgJ3JvdGF0aW9uJyxcbiAgJ3NjYWxlWCcsXG4gICdzY2FsZVknLFxuXSBhcyBjb25zdDtcblxuZnVuY3Rpb24gZmluaXRlTnVtYmVyKHZhbHVlOiB1bmtub3duKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgbnVtYmVyID0gTnVtYmVyKHZhbHVlKTtcbiAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZShudW1iZXIpID8gbnVtYmVyIDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiB0ZXh0U3R5bGVGcm9tT2JqZWN0KG9iajoge1xuICBmaWxsPzogc3RyaW5nO1xuICBmb250U2l6ZT86IG51bWJlcjtcbiAgZm9udEZhbWlseT86IHN0cmluZztcbiAgYWxpZ24/OiBzdHJpbmc7XG4gIHg/OiBudW1iZXI7XG4gIHk/OiBudW1iZXI7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIHJvdGF0aW9uPzogbnVtYmVyO1xuICBzY2FsZVg/OiBudW1iZXI7XG4gIHNjYWxlWT86IG51bWJlcjtcbn0pOiBEZXNpZ25lclRleHRTdHlsZSB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHN0eWxlOiBEZXNpZ25lclRleHRTdHlsZSA9IHt9O1xuICBjb25zdCBjb2xvdXIgPSBTdHJpbmcob2JqLmZpbGwgfHwgJycpLnRyaW0oKTtcbiAgaWYgKGNvbG91cikgc3R5bGUuY29sb3VyID0gY29sb3VyO1xuICBjb25zdCB0ZXh0U2l6ZSA9IGZpbml0ZU51bWJlcihvYmouZm9udFNpemUpO1xuICBpZiAodGV4dFNpemUgIT0gbnVsbCkgc3R5bGUudGV4dFNpemUgPSB0ZXh0U2l6ZTtcbiAgY29uc3QgZm9udCA9IFN0cmluZyhvYmouZm9udEZhbWlseSB8fCAnJykudHJpbSgpO1xuICBpZiAoZm9udCkgc3R5bGUuZm9udCA9IGZvbnQ7XG4gIGNvbnN0IGFsaWduID0gU3RyaW5nKG9iai5hbGlnbiB8fCAnJykudHJpbSgpO1xuICBpZiAoYWxpZ24pIHN0eWxlLmFsaWduID0gYWxpZ247XG4gIGZvciAoY29uc3Qga2V5IG9mIFRFWFRfQk9YX05VTUJFUlMpIHtcbiAgICBjb25zdCBudW1iZXIgPSBmaW5pdGVOdW1iZXIob2JqW2tleV0pO1xuICAgIGlmIChudW1iZXIgIT0gbnVsbCkgc3R5bGVba2V5XSA9IG51bWJlcjtcbiAgfVxuICByZXR1cm4gT2JqZWN0LmtleXMoc3R5bGUpLmxlbmd0aCA/IHN0eWxlIDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBjbGlwTmFtZSh2YWx1ZTogc3RyaW5nLCBmYWxsYmFjazogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgdHJpbW1lZCA9IHZhbHVlLnJlcGxhY2UoL1xccysvZywgJyAnKS50cmltKCk7XG4gIGNvbnN0IG5hbWUgPSB0cmltbWVkIHx8IGZhbGxiYWNrO1xuICByZXR1cm4gbmFtZS5sZW5ndGggPiBOQU1FX0xJTUlUID8gbmFtZS5zbGljZSgwLCBOQU1FX0xJTUlUKS50cmltKCkgOiBuYW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvZHVjdEFsbG93c0FkZGl0aW9uYWxEZXNpZ25PYmplY3RzKHByb2R1Y3Q6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gcHJvZHVjdD8uYWxsb3dBZGRpdGlvbmFsRGVzaWduT2JqZWN0cyAhPT0gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb2xsZWN0RGVzaWduZXJJbnB1dHMoXG4gIHByb2R1Y3Q6IGFueSxcbiAgZHJhZnRzOiBEcmFmdFRlbXBsYXRlRGF0YVtdLFxuKTogRGVzaWduZXJJbnB1dFtdIHtcbiAgaWYgKCFwcm9kdWN0QWxsb3dzQWRkaXRpb25hbERlc2lnbk9iamVjdHMocHJvZHVjdCkpIHJldHVybiBbXTtcbiAgY29uc3QgZ3JvdXBlZCA9IHByb2R1Y3RIYXNWYXJpYXRpb25Hcm91cHMocHJvZHVjdCk7XG4gIGNvbnN0IGlucHV0czogRGVzaWduZXJJbnB1dFtdID0gW107XG4gIGZvciAoY29uc3QgZHJhZnQgb2YgZHJhZnRzIHx8IFtdKSB7XG4gICAgY29uc3QgZ3JvdXBJbmRleCA9IGdyb3VwZWQgPyBkcmFmdC5ncm91cEluZGV4IDogdW5kZWZpbmVkO1xuICAgIGZvciAoY29uc3QgdGVtcGxhdGUgb2YgZHJhZnQudGVtcGxhdGVEYXRhIHx8IFtdKSB7XG4gICAgICBmb3IgKGNvbnN0IG9iaiBvZiB0ZW1wbGF0ZS5jYW52YXNKc29uPy5vYmplY3RzIHx8IFtdKSB7XG4gICAgICAgIGlmIChvYmo/Lm1lcmNoaUZpZWxkSWQgIT0gbnVsbCkgY29udGludWU7XG4gICAgICAgIGlmIChvYmo/LnR5cGUgPT09ICd0ZXh0Jykge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gU3RyaW5nKG9iai50ZXh0IHx8ICcnKS50cmltKCk7XG4gICAgICAgICAgaWYgKCF2YWx1ZSkgY29udGludWU7XG4gICAgICAgICAgY29uc3QgdGV4dFN0eWxlID0gdGV4dFN0eWxlRnJvbU9iamVjdChvYmopO1xuICAgICAgICAgIGlucHV0cy5wdXNoKHtcbiAgICAgICAgICAgIGtpbmQ6ICd0ZXh0JyxcbiAgICAgICAgICAgIG5hbWU6IGNsaXBOYW1lKHZhbHVlLCAnQ3VzdG9tIHRleHQnKSxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgLi4uKHRleHRTdHlsZSA/IHsgdGV4dFN0eWxlIH0gOiB7fSksXG4gICAgICAgICAgICAuLi4oZ3JvdXBJbmRleCAhPSBudWxsID8geyBncm91cEluZGV4IH0gOiB7fSksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAob2JqPy50eXBlID09PSAnaW1hZ2UnICYmIG9iai5zcmMpIHtcbiAgICAgICAgICBpbnB1dHMucHVzaCh7XG4gICAgICAgICAgICBraW5kOiAnZmlsZScsXG4gICAgICAgICAgICBuYW1lOiAnQ3VzdG9tIGltYWdlJyxcbiAgICAgICAgICAgIHNyYzogU3RyaW5nKG9iai5zcmMpLFxuICAgICAgICAgICAgLi4uKGdyb3VwSW5kZXggIT0gbnVsbCA/IHsgZ3JvdXBJbmRleCB9IDoge30pLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBpbnB1dHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYWNrRGVzaWduSW5wdXROb3RlcyhcbiAgaW5wdXRzOiBDaGVja291dERlc2lnbklucHV0W10sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBwYXlsb2FkID0gKGlucHV0cyB8fCBbXSlcbiAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmtpbmQgPT09ICd0ZXh0JyB8fCBpdGVtLmZpbGU/LmlkICE9IG51bGwpXG4gICAgLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgIGtpbmQ6IGl0ZW0ua2luZCxcbiAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcbiAgICAgIC4uLihpdGVtLnZhbHVlICE9IG51bGwgPyB7IHZhbHVlOiBpdGVtLnZhbHVlIH0gOiB7fSksXG4gICAgICAuLi4oaXRlbS50ZXh0U3R5bGUgPyB7IHRleHRTdHlsZTogaXRlbS50ZXh0U3R5bGUgfSA6IHt9KSxcbiAgICAgIC4uLihpdGVtLmZpbGU/LmlkICE9IG51bGwgPyB7IGZpbGU6IHsgaWQ6IGl0ZW0uZmlsZS5pZCB9IH0gOiB7fSksXG4gICAgICAuLi4oaXRlbS5ncm91cEluZGV4ICE9IG51bGwgPyB7IGdyb3VwSW5kZXg6IGl0ZW0uZ3JvdXBJbmRleCB9IDoge30pLFxuICAgIH0pKTtcbiAgaWYgKCFwYXlsb2FkLmxlbmd0aCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgY29uc3QgYnl0ZXMgPSBuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xuICBsZXQgYmluYXJ5ID0gJyc7XG4gIGJ5dGVzLmZvckVhY2goKGJ5dGUpID0+IHtcbiAgICBiaW5hcnkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShieXRlKTtcbiAgfSk7XG4gIHJldHVybiBgJHtERVNJR05fUFJFRklYfSR7YnRvYShiaW5hcnkpfSR7REVTSUdOX1NVRkZJWH1gO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxTQUFTQSx5QkFBeUIsUUFBUSxrQkFBa0I7QUFHNUQsSUFBTUMsVUFBVSxHQUFHLEVBQUU7QUFDckIsSUFBTUMsYUFBYSxHQUFHLHlCQUF5QjtBQUMvQyxJQUFNQyxhQUFhLEdBQUcsSUFBSTtBQWtDMUIsSUFBTUMsZ0JBQWdCLEdBQUcsQ0FDdkIsR0FBRyxFQUNILEdBQUcsRUFDSCxPQUFPLEVBQ1AsUUFBUSxFQUNSLFVBQVUsRUFDVixRQUFRLEVBQ1IsUUFBUSxDQUNBO0FBRVYsU0FBU0MsWUFBWUEsQ0FBQ0MsS0FBYyxFQUFzQjtFQUN4RCxJQUFNQyxNQUFNLEdBQUdDLE1BQU0sQ0FBQ0YsS0FBSyxDQUFDO0VBQzVCLE9BQU9FLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDRixNQUFNLENBQUMsR0FBR0EsTUFBTSxHQUFHRyxTQUFTO0FBQ3JEO0FBRUEsU0FBU0MsbUJBQW1CQSxDQUFDQyxHQVk1QixFQUFpQztFQUNoQyxJQUFNQyxLQUF3QixHQUFHLENBQUMsQ0FBQztFQUNuQyxJQUFNQyxNQUFNLEdBQUdDLE1BQU0sQ0FBQ0gsR0FBRyxDQUFDSSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUNDLElBQUksQ0FBQyxDQUFDO0VBQzVDLElBQUlILE1BQU0sRUFBRUQsS0FBSyxDQUFDQyxNQUFNLEdBQUdBLE1BQU07RUFDakMsSUFBTUksUUFBUSxHQUFHYixZQUFZLENBQUNPLEdBQUcsQ0FBQ08sUUFBUSxDQUFDO0VBQzNDLElBQUlELFFBQVEsSUFBSSxJQUFJLEVBQUVMLEtBQUssQ0FBQ0ssUUFBUSxHQUFH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
@@ -1,9 +1,15 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
1
2
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2
3
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
4
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
4
5
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
5
6
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
7
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
8
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
12
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
13
  import { collectDesignerInputs, packDesignInputNotes } from './designerInputs';
8
14
  var groupedProduct = {
9
15
  groupVariationFields: [{
@@ -103,6 +109,11 @@ test('collectDesignerInputs keeps only text and images the customer added', func
103
109
  src: 'data:image/png;base64,aaa'
104
110
  }]);
105
111
  });
112
+ test('collectDesignerInputs drops extra text and images when the product disallows them', function () {
113
+ expect(collectDesignerInputs(_objectSpread(_objectSpread({}, plainProduct), {}, {
114
+ allowAdditionalDesignObjects: false
115
+ }), drafts())).toEqual([]);
116
+ });
106
117
  test('collectDesignerInputs records the variation group when the product has groups', function () {
107
118
  var _collectDesignerInput = collectDesignerInputs(groupedProduct, drafts()),
108
119
  _collectDesignerInput2 = _slicedToArray(_collectDesignerInput, 1),
@@ -151,4 +162,4 @@ test('packDesignInputNotes hides the checkout payload in the cart marker', funct
151
162
  }
152
163
  }]);
153
164
  });
154
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb2xsZWN0RGVzaWduZXJJbnB1dHMiLCJwYWNrRGVzaWduSW5wdXROb3RlcyIsImdyb3VwZWRQcm9kdWN0IiwiZ3JvdXBWYXJpYXRpb25GaWVsZHMiLCJpZCIsInBsYWluUHJvZHVjdCIsImRyYWZ0cyIsImdyb3VwSW5kZXgiLCJwcm9kdWN0SWQiLCJwcmV2aWV3cyIsInRlbXBsYXRlRGF0YSIsInRlbXBsYXRlSWQiLCJkcmFmdCIsImNhbnZhc1ByZXZpZXciLCJjYW52YXNKc29uIiwid2lkdGgiLCJoZWlnaHQiLCJvYmplY3RzIiwidHlwZSIsIm1lcmNoaUZpZWxkSWQiLCJ0ZXh0IiwieCIsInkiLCJyb3RhdGlvbiIsInNjYWxlWCIsInNjYWxlWSIsImZpbGwiLCJmb250U2l6ZSIsImZvbnRGYW1pbHkiLCJhbGlnbiIsInNyYyIsInRlc3QiLCJleHBlY3QiLCJ0b0VxdWFsIiwia2luZCIsIm5hbWUiLCJ2YWx1ZSIsInRleHRTdHlsZSIsImNvbG91ciIsInRleHRTaXplIiwiZm9udCIsIl9jb2xsZWN0RGVzaWduZXJJbnB1dCIsIl9jb2xsZWN0RGVzaWduZXJJbnB1dDIiLCJfc2xpY2VkVG9BcnJheSIsInRvQmUiLCJub3RlcyIsImZpbGUiLCJzdGFydHNXaXRoIiwiaW5jbHVkZXMiLCJlbmNvZGVkIiwic2xpY2UiLCJsZW5ndGgiLCJwYXJzZWQiLCJKU09OIiwicGFyc2UiLCJUZXh0RGVjb2RlciIsImRlY29kZSIsIlVpbnQ4QXJyYXkiLCJmcm9tIiwiYXRvYiIsImNoYXIiLCJjaGFyQ29kZUF0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2Rlc2lnbmVySW5wdXRzLnRlc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY29sbGVjdERlc2lnbmVySW5wdXRzLFxuICBwYWNrRGVzaWduSW5wdXROb3Rlcyxcbn0gZnJvbSAnLi9kZXNpZ25lcklucHV0cyc7XG5pbXBvcnQgeyBEcmFmdFRlbXBsYXRlRGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBncm91cGVkUHJvZHVjdCA9IHsgZ3JvdXBWYXJpYXRpb25GaWVsZHM6IFt7IGlkOiA5IH1dIH07XG5jb25zdCBwbGFpblByb2R1Y3QgPSB7IGdyb3VwVmFyaWF0aW9uRmllbGRzOiBbXSB9O1xuXG5mdW5jdGlvbiBkcmFmdHMoKTogRHJhZnRUZW1wbGF0ZURhdGFbXSB7XG4gIHJldHVybiBbe1xuICAgIGdyb3VwSW5kZXg6IDAsXG4gICAgcHJvZHVjdElkOiA0LFxuICAgIHByZXZpZXdzOiBbXSxcbiAgICB0ZW1wbGF0ZURhdGE6IFt7XG4gICAgICB0ZW1wbGF0ZUlkOiAxLFxuICAgICAgZHJhZnQ6ICdkcmFmdCcsXG4gICAgICBjYW52YXNQcmV2aWV3OiAncHJldmlldycsXG4gICAgICBjYW52YXNKc29uOiB7XG4gICAgICAgIHdpZHRoOiAxMDAsXG4gICAgICAgIGhlaWdodDogMTAwLFxuICAgICAgICBvYmplY3RzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdsaW5rZWQnLFxuICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgbWVyY2hpRmllbGRJZDogOSxcbiAgICAgICAgICAgIHRleHQ6ICdGcm9tIHRoZSBmb3JtJyxcbiAgICAgICAgICAgIHg6IDAsIHk6IDAsIHdpZHRoOiAxMCwgaGVpZ2h0OiAxMCwgcm90YXRpb246IDAsIHNjYWxlWDogMSwgc2NhbGVZOiAxLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdhZGRlZCcsXG4gICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICB0ZXh0OiAnVGVhbSBuaWdodCcsXG4gICAgICAgICAgICBmaWxsOiAnIzExMjIzMycsXG4gICAgICAgICAgICBmb250U2l6ZTogNTYsXG4gICAgICAgICAgICBmb250RmFtaWx5OiAnT3N3YWxkJyxcbiAgICAgICAgICAgIGFsaWduOiAnY2VudGVyJyxcbiAgICAgICAgICAgIHg6IDEyLCB5OiAyMCwgd2lkdGg6IDI0MCwgaGVpZ2h0OiA2NCwgcm90YXRpb246IDAsIHNjYWxlWDogMSwgc2NhbGVZOiAxLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdsb2dvJyxcbiAgICAgICAgICAgIHR5cGU6ICdpbWFnZScsXG4gICAgICAgICAgICBzcmM6ICdkYXRhOmltYWdlL3BuZztiYXNlNjQsYWFhJyxcbiAgICAgICAgICAgIHg6IDAsIHk6IDAsIHdpZHRoOiAxMCwgaGVpZ2h0OiAxMCwgcm90YXRpb246IDAsIHNjYWxlWDogMSwgc2NhbGVZOiAxLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdmaWxsJyxcbiAgICAgICAgICAgIHR5cGU6ICdyZWN0JyxcbiAgICAgICAgICAgIGZpbGw6ICcjMTExMTExJyxcbiAgICAgICAgICAgIHg6IDAsIHk6IDAsIHdpZHRoOiAxMCwgaGVpZ2h0OiAxMCwgcm90YXRpb246IDAsIHNjYWxlWDogMSwgc2NhbGVZOiAxLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH1dLFxuICB9XTtcbn1cblxudGVzdCgnY29sbGVjdERlc2lnbmVySW5wdXRzIGtlZXBzIG9ubHkgdGV4dCBhbmQgaW1hZ2VzIHRoZSBjdXN0b21lciBhZGRlZCcsICgpID0+IHtcbiAgZXhwZWN0KGNvbGxlY3REZXNpZ25lcklucHV0cyhwbGFpblByb2R1Y3QsIGRyYWZ0cygpKSkudG9FcXVhbChbXG4gICAge1xuICAgICAga2luZDogJ3RleHQnLFxuICAgICAgbmFtZTogJ1RlYW0gbmlnaHQnLFxuICAgICAgdmFsdWU6ICdUZWFtIG5pZ2h0JyxcbiAgICAgIHRleHRTdHlsZToge1xuICAgICAgICBjb2xvdXI6ICcjMTEyMjMzJyxcbiAgICAgICAgdGV4dFNpemU6IDU2LFxuICAgICAgICBmb250OiAnT3N3YWxkJyxcbiAgICAgICAgYWxpZ246ICdjZW50ZXInLFxuICAgICAgICB4OiAxMixcbiAgICAgICAgeTogMjAsXG4gICAgICAgIHdpZHRoOiAyNDAsXG4gICAgICAgIGhlaWdodDogNjQsXG4gICAgICAgIHJvdGF0aW9uOiAwLFxuICAgICAgICBzY2FsZVg6IDEsXG4gICAgICAgIHNjYWxlWTogMSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7IGtpbmQ6ICdmaWxlJywgbmFtZTogJ0N1c3RvbSBpbWFnZScsIHNyYzogJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxhYWEnIH0sXG4gIF0pO1xufSk7XG5cbnRlc3QoJ2NvbGxlY3REZXNpZ25lcklucHV0cyByZWNvcmRzIHRoZSB2YXJpYXRpb24gZ3JvdXAgd2hlbiB0aGUgcHJvZHVjdCBoYXMgZ3JvdXBzJywgKCkgPT4ge1xuICBjb25zdCBbdGV4dF0gPSBjb2xsZWN0RGVzaWduZXJJbnB1dHMoZ3JvdXBlZFByb2R1Y3QsIGRyYWZ0cygpKTtcbiAgZXhwZWN0KHRleHQuZ3JvdXBJbmRleCkudG9CZSgwKTtcbn0pO1xuXG50ZXN0KCdwYWNrRGVzaWduSW5wdXROb3RlcyBoaWRlcyB0aGUgY2hlY2tvdXQgcGF5bG9hZCBpbiB0aGUgY2FydCBtYXJrZXInLCAoKSA9PiB7XG4gIGNvbnN0IG5vdGVzID0gcGFja0Rlc2lnbklucHV0Tm90ZXMoW1xuICAgIHtcbiAgICAgIGtpbmQ6ICd0ZXh0JyxcbiAgICAgIG5hbWU6ICdUZWFtIG5pZ2h0JyxcbiAgICAgIHZhbHVlOiAnVGVhbSBuaWdodCcsXG4gICAgICB0ZXh0U3R5bGU6IHtcbiAgICAgICAgY29sb3VyOiAnIzExMjIzMycsXG4gICAgICAgIHRleHRTaXplOiA1NixcbiAgICAgICAgZm9udDogJ09zd2FsZCcsXG4gICAgICAgIGFsaWduOiAnY2VudGVyJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7IGtpbmQ6ICdmaWxlJywgbmFtZTogJ0N1c3RvbSBpbWFnZScsIGZpbGU6IHsgaWQ6ICdmaWxlLTEnIH0gfSxcbiAgXSk7XG4gIGV4cGVjdChub3Rlcz8uc3RhcnRzV2l0aCgnW1tjbGllbnQtZGVzaWduLWlucHV0czonKSkudG9CZSh0cnVlKTtcbiAgZXhwZWN0KG5vdGVzPy5pbmNsdWRlcygnZGF0YTppbWFnZScpKS50b0JlKGZhbHNlKTtcbiAgY29uc3QgZW5jb2RlZCA9IG5vdGVzIS5zbGljZSgnW1tjbGllbnQtZGVzaWduLWlucHV0czonLmxlbmd0aCwgLTIpO1xuICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShcbiAgICBVaW50OEFycmF5LmZyb20oYXRvYihlbmNvZGVkKSwgKGNoYXIpID0+IGNoYXIuY2hhckNvZGVBdCgwKSksXG4gICkpO1xuICBleHBlY3QocGFyc2VkKS50b0VxdWFsKFtcbiAgICB7XG4gICAgICBraW5kOiAndGV4dCcsXG4gICAgICBuYW1lOiAnVGVhbSBuaWdodCcsXG4gICAgICB2YWx1ZTogJ1RlYW0gbmlnaHQnLFxuICAgICAgdGV4dFN0eWxlOiB7XG4gICAgICAgIGNvbG91cjogJyMxMTIyMzMnLFxuICAgICAgICB0ZXh0U2l6ZTogNTYsXG4gICAgICAgIGZvbnQ6ICdPc3dhbGQnLFxuICAgICAgICBhbGlnbjogJ2NlbnRlcicsXG4gICAgICB9LFxuICAgIH0sXG4gICAgeyBraW5kOiAnZmlsZScsIG5hbWU6ICdDdXN0b20gaW1hZ2UnLCBmaWxlOiB7IGlkOiAnZmlsZS0xJyB9IH0sXG4gIF0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLFNBQ0VBLHFCQUFxQixFQUNyQkMsb0JBQW9CLFFBQ2Ysa0JBQWtCO0FBR3pCLElBQU1DLGNBQWMsR0FBRztFQUFFQyxvQkFBb0IsRUFBRSxDQUFDO0lBQUVDLEVBQUUsRUFBRTtFQUFFLENBQUM7QUFBRSxDQUFDO0FBQzVELElBQU1DLFlBQVksR0FBRztFQUFFRixvQkFBb0IsRUFBRTtBQUFHLENBQUM7QUFFakQsU0FBU0csTUFBTUEsQ0FBQSxFQUF3QjtFQUNyQyxPQUFPLENBQUM7SUFDTkMsVUFBVSxFQUFFLENBQUM7SUFDYkMsU0FBUyxFQUFFLENBQUM7SUFDWkMsUUFBUSxF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
165
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb2xsZWN0RGVzaWduZXJJbnB1dHMiLCJwYWNrRGVzaWduSW5wdXROb3RlcyIsImdyb3VwZWRQcm9kdWN0IiwiZ3JvdXBWYXJpYXRpb25GaWVsZHMiLCJpZCIsInBsYWluUHJvZHVjdCIsImRyYWZ0cyIsImdyb3VwSW5kZXgiLCJwcm9kdWN0SWQiLCJwcmV2aWV3cyIsInRlbXBsYXRlRGF0YSIsInRlbXBsYXRlSWQiLCJkcmFmdCIsImNhbnZhc1ByZXZpZXciLCJjYW52YXNKc29uIiwid2lkdGgiLCJoZWlnaHQiLCJvYmplY3RzIiwidHlwZSIsIm1lcmNoaUZpZWxkSWQiLCJ0ZXh0IiwieCIsInkiLCJyb3RhdGlvbiIsInNjYWxlWCIsInNjYWxlWSIsImZpbGwiLCJmb250U2l6ZSIsImZvbnRGYW1pbHkiLCJhbGlnbiIsInNyYyIsInRlc3QiLCJleHBlY3QiLCJ0b0VxdWFsIiwia2luZCIsIm5hbWUiLCJ2YWx1ZSIsInRleHRTdHlsZSIsImNvbG91ciIsInRleHRTaXplIiwiZm9udCIsIl9vYmplY3RTcHJlYWQiLCJhbGxvd0FkZGl0aW9uYWxEZXNpZ25PYmplY3RzIiwiX2NvbGxlY3REZXNpZ25lcklucHV0IiwiX2NvbGxlY3REZXNpZ25lcklucHV0MiIsIl9zbGljZWRUb0FycmF5IiwidG9CZSIsIm5vdGVzIiwiZmlsZSIsInN0YXJ0c1dpdGgiLCJpbmNsdWRlcyIsImVuY29kZWQiLCJzbGljZSIsImxlbmd0aCIsInBhcnNlZCIsIkpTT04iLCJwYXJzZSIsIlRleHREZWNvZGVyIiwiZGVjb2RlIiwiVWludDhBcnJheSIsImZyb20iLCJhdG9iIiwiY2hhciIsImNoYXJDb2RlQXQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZGVzaWduZXJJbnB1dHMudGVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjb2xsZWN0RGVzaWduZXJJbnB1dHMsXG4gIHBhY2tEZXNpZ25JbnB1dE5vdGVzLFxufSBmcm9tICcuL2Rlc2lnbmVySW5wdXRzJztcbmltcG9ydCB7IERyYWZ0VGVtcGxhdGVEYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IGdyb3VwZWRQcm9kdWN0ID0geyBncm91cFZhcmlhdGlvbkZpZWxkczogW3sgaWQ6IDkgfV0gfTtcbmNvbnN0IHBsYWluUHJvZHVjdCA9IHsgZ3JvdXBWYXJpYXRpb25GaWVsZHM6IFtdIH07XG5cbmZ1bmN0aW9uIGRyYWZ0cygpOiBEcmFmdFRlbXBsYXRlRGF0YVtdIHtcbiAgcmV0dXJuIFt7XG4gICAgZ3JvdXBJbmRleDogMCxcbiAgICBwcm9kdWN0SWQ6IDQsXG4gICAgcHJldmlld3M6IFtdLFxuICAgIHRlbXBsYXRlRGF0YTogW3tcbiAgICAgIHRlbXBsYXRlSWQ6IDEsXG4gICAgICBkcmFmdDogJ2RyYWZ0JyxcbiAgICAgIGNhbnZhc1ByZXZpZXc6ICdwcmV2aWV3JyxcbiAgICAgIGNhbnZhc0pzb246IHtcbiAgICAgICAgd2lkdGg6IDEwMCxcbiAgICAgICAgaGVpZ2h0OiAxMDAsXG4gICAgICAgIG9iamVjdHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ2xpbmtlZCcsXG4gICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICBtZXJjaGlGaWVsZElkOiA5LFxuICAgICAgICAgICAgdGV4dDogJ0Zyb20gdGhlIGZvcm0nLFxuICAgICAgICAgICAgeDogMCwgeTogMCwgd2lkdGg6IDEwLCBoZWlnaHQ6IDEwLCByb3RhdGlvbjogMCwgc2NhbGVYOiAxLCBzY2FsZVk6IDEsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ2FkZGVkJyxcbiAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgIHRleHQ6ICdUZWFtIG5pZ2h0JyxcbiAgICAgICAgICAgIGZpbGw6ICcjMTEyMjMzJyxcbiAgICAgICAgICAgIGZvbnRTaXplOiA1NixcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6ICdPc3dhbGQnLFxuICAgICAgICAgICAgYWxpZ246ICdjZW50ZXInLFxuICAgICAgICAgICAgeDogMTIsIHk6IDIwLCB3aWR0aDogMjQwLCBoZWlnaHQ6IDY0LCByb3RhdGlvbjogMCwgc2NhbGVYOiAxLCBzY2FsZVk6IDEsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ2xvZ28nLFxuICAgICAgICAgICAgdHlwZTogJ2ltYWdlJyxcbiAgICAgICAgICAgIHNyYzogJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxhYWEnLFxuICAgICAgICAgICAgeDogMCwgeTogMCwgd2lkdGg6IDEwLCBoZWlnaHQ6IDEwLCByb3RhdGlvbjogMCwgc2NhbGVYOiAxLCBzY2FsZVk6IDEsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ2ZpbGwnLFxuICAgICAgICAgICAgdHlwZTogJ3JlY3QnLFxuICAgICAgICAgICAgZmlsbDogJyMxMTExMTEnLFxuICAgICAgICAgICAgeDogMCwgeTogMCwgd2lkdGg6IDEwLCBoZWlnaHQ6IDEwLCByb3RhdGlvbjogMCwgc2NhbGVYOiAxLCBzY2FsZVk6IDEsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfV0sXG4gIH1dO1xufVxuXG50ZXN0KCdjb2xsZWN0RGVzaWduZXJJbnB1dHMga2VlcHMgb25seSB0ZXh0IGFuZCBpbWFnZXMgdGhlIGN1c3RvbWVyIGFkZGVkJywgKCkgPT4ge1xuICBleHBlY3QoY29sbGVjdERlc2lnbmVySW5wdXRzKHBsYWluUHJvZHVjdCwgZHJhZnRzKCkpKS50b0VxdWFsKFtcbiAgICB7XG4gICAgICBraW5kOiAndGV4dCcsXG4gICAgICBuYW1lOiAnVGVhbSBuaWdodCcsXG4gICAgICB2YWx1ZTogJ1RlYW0gbmlnaHQnLFxuICAgICAgdGV4dFN0eWxlOiB7XG4gICAgICAgIGNvbG91cjogJyMxMTIyMzMnLFxuICAgICAgICB0ZXh0U2l6ZTogNTYsXG4gICAgICAgIGZvbnQ6ICdPc3dhbGQnLFxuICAgICAgICBhbGlnbjogJ2NlbnRlcicsXG4gICAgICAgIHg6IDEyLFxuICAgICAgICB5OiAyMCxcbiAgICAgICAgd2lkdGg6IDI0MCxcbiAgICAgICAgaGVpZ2h0OiA2NCxcbiAgICAgICAgcm90YXRpb246IDAsXG4gICAgICAgIHNjYWxlWDogMSxcbiAgICAgICAgc2NhbGVZOiAxLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHsga2luZDogJ2ZpbGUnLCBuYW1lOiAnQ3VzdG9tIGltYWdlJywgc3JjOiAnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGFhYScgfSxcbiAgXSk7XG59KTtcblxudGVzdCgnY29sbGVjdERlc2lnbmVySW5wdXRzIGRyb3BzIGV4dHJhIHRleHQgYW5kIGltYWdlcyB3aGVuIHRoZSBwcm9kdWN0IGRpc2FsbG93cyB0aGVtJywgKCkgPT4ge1xuICBleHBlY3QoY29sbGVjdERlc2lnbmVySW5wdXRzKFxuICAgIHsgLi4ucGxhaW5Qcm9kdWN0LCBhbGxvd0FkZGl0aW9uYWxEZXNpZ25PYmplY3RzOiBmYWxzZSB9LFxuICAgIGRyYWZ0cygpLFxuICApKS50b0VxdWFsKFtdKTtcbn0pO1xuXG50ZXN0KCdjb2xsZWN0RGVzaWduZXJJbnB1dHMgcmVjb3JkcyB0aGUgdmFyaWF0aW9uIGdyb3VwIHdoZW4gdGhlIHByb2R1Y3QgaGFzIGdyb3VwcycsICgpID0+IHtcbiAgY29uc3QgW3RleHRdID0gY29sbGVjdERlc2lnbmVySW5wdXRzKGdyb3VwZWRQcm9kdWN0LCBkcmFmdHMoKSk7XG4gIGV4cGVjdCh0ZXh0Lmdyb3VwSW5kZXgpLnRvQmUoMCk7XG59KTtcblxudGVzdCgncGFja0Rlc2lnbklucHV0Tm90ZXMgaGlkZXMgdGhlIGNoZWNrb3V0IHBheWxvYWQgaW4gdGhlIGNhcnQgbWFya2VyJywgKCkgPT4ge1xuICBjb25zdCBub3RlcyA9IHBhY2tEZXNpZ25JbnB1dE5vdGVzKFtcbiAgICB7XG4gICAgICBraW5kOiAndGV4dCcsXG4gICAgICBuYW1lOiAnVGVhbSBuaWdodCcsXG4gICAgICB2YWx1ZTogJ1RlYW0gbmlnaHQnLFxuICAgICAgdGV4dFN0eWxlOiB7XG4gICAgICAgIGNvbG91cjogJyMxMTIyMzMnLFxuICAgICAgICB0ZXh0U2l6ZTogNTYsXG4gICAgICAgIGZvbnQ6ICdPc3dhbGQnLFxuICAgICAgICBhbGlnbjogJ2NlbnRlcicsXG4gICAgICB9LFxuICAgIH0sXG4gICAgeyBraW5kOiAnZmlsZScsIG5hbWU6ICdDdXN0b20gaW1hZ2UnLCBmaWxlOiB7IGlkOiAnZmlsZS0xJyB9IH0sXG4gIF0pO1xuICBleHBlY3Qobm90ZXM/LnN0YXJ0c1dpdGgoJ1tbY2xpZW50LWRlc2lnbi1pbnB1dHM6JykpLnRvQmUodHJ1ZSk7XG4gIGV4cGVjdChub3Rlcz8uaW5jbHVkZXMoJ2RhdGE6aW1hZ2UnKSkudG9CZShmYWxzZSk7XG4gIGNvbnN0IGVuY29kZWQgPSBub3RlcyEuc2xpY2UoJ1tbY2xpZW50LWRlc2lnbi1pbnB1dHM6Jy5sZW5ndGgsIC0yKTtcbiAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoXG4gICAgVWludDhBcnJheS5mcm9tKGF0b2IoZW5jb2RlZCksIChjaGFyKSA9PiBjaGFyLmNoYXJDb2RlQXQoMCkpLFxuICApKTtcbiAgZXhwZWN0KHBhcnNlZCkudG9FcXVhbChbXG4gICAge1xuICAgICAga2luZDogJ3RleHQnLFxuICAgICAgbmFtZTogJ1RlYW0gbmlnaHQnLFxuICAgICAgdmFsdWU6ICdUZWFtIG5pZ2h0JyxcbiAgICAgIHRleHRTdHlsZToge1xuICAgICAgICBjb2xvdXI6ICcjMTEyMjMzJyxcbiAgICAgICAgdGV4dFNpemU6IDU2LFxuICAgICAgICBmb250OiAnT3N3YWxkJyxcbiAgICAgICAgYWxpZ246ICdjZW50ZXInLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHsga2luZDogJ2ZpbGUnLCBuYW1lOiAnQ3VzdG9tIGltYWdlJywgZmlsZTogeyBpZDogJ2ZpbGUtMScgfSB9LFxuICBdKTtcbn0pO1xuIl0sIm1hcHBpbmdz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