@gravitee/ui-components 3.17.0 → 3.17.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/package.json +18 -24
  2. package/src/atoms/gv-autocomplete.js +6 -5
  3. package/src/atoms/gv-button.js +4 -4
  4. package/src/atoms/gv-checkbox.js +3 -3
  5. package/src/atoms/gv-date-picker-calendar.js +5 -4
  6. package/src/atoms/gv-date-picker-cell.js +4 -4
  7. package/src/atoms/gv-date-picker.js +5 -4
  8. package/src/atoms/gv-file-upload.js +5 -4
  9. package/src/atoms/gv-icon.js +7 -15
  10. package/src/atoms/gv-image.js +4 -4
  11. package/src/atoms/gv-input-message.js +3 -2
  12. package/src/atoms/gv-input.js +3 -3
  13. package/src/atoms/gv-link.js +6 -6
  14. package/src/atoms/gv-message.js +3 -3
  15. package/src/atoms/gv-metric.js +3 -3
  16. package/src/atoms/gv-relative-time.js +4 -6
  17. package/src/atoms/gv-select.js +5 -5
  18. package/src/atoms/gv-spinner.js +2 -2
  19. package/src/atoms/gv-state.js +3 -3
  20. package/src/atoms/gv-switch.js +4 -4
  21. package/src/atoms/gv-tag.js +3 -3
  22. package/src/atoms/gv-text.js +4 -4
  23. package/src/charts/gv-chart-bar.js +2 -2
  24. package/src/charts/gv-chart-gauge.js +2 -2
  25. package/src/charts/gv-chart-histogram.js +2 -2
  26. package/src/charts/gv-chart-line.js +2 -2
  27. package/src/charts/gv-chart-map.js +2 -2
  28. package/src/charts/gv-chart-pie.js +2 -2
  29. package/src/lib/item.js +2 -2
  30. package/src/lib/studio.js +3 -3
  31. package/src/mixins/chart-element.js +4 -3
  32. package/src/mixins/input-element.js +3 -3
  33. package/src/mixins/item-resource.js +3 -3
  34. package/src/mixins/with-skeleton-attribute.js +2 -2
  35. package/src/molecules/gv-card-full.js +3 -3
  36. package/src/molecules/gv-card-list.js +4 -3
  37. package/src/molecules/gv-card.js +3 -3
  38. package/src/molecules/gv-category-list.js +3 -2
  39. package/src/molecules/gv-category.js +3 -3
  40. package/src/molecules/gv-code-hint.js +2 -2
  41. package/src/molecules/gv-code.js +3 -3
  42. package/src/molecules/gv-confirm.js +3 -2
  43. package/src/molecules/gv-cron-editor.js +3 -3
  44. package/src/molecules/gv-dropdown-menu.js +3 -2
  45. package/src/molecules/gv-expandable.js +3 -3
  46. package/src/molecules/gv-expression-language.js +3 -2
  47. package/src/molecules/gv-identity-picture.js +4 -3
  48. package/src/molecules/gv-list.js +4 -4
  49. package/src/molecules/gv-metrics.js +4 -4
  50. package/src/molecules/gv-modal.js +2 -2
  51. package/src/molecules/gv-nav.js +5 -5
  52. package/src/molecules/gv-option.js +6 -6
  53. package/src/molecules/gv-plans.js +6 -5
  54. package/src/molecules/gv-popover.js +4 -3
  55. package/src/molecules/gv-promote.js +3 -3
  56. package/src/molecules/gv-rating-list.js +5 -4
  57. package/src/molecules/gv-rating.js +4 -4
  58. package/src/molecules/gv-row-expandable.js +2 -2
  59. package/src/molecules/gv-row.js +3 -3
  60. package/src/molecules/gv-stats.js +4 -4
  61. package/src/molecules/gv-stepper.js +4 -4
  62. package/src/molecules/gv-table.js +8 -7
  63. package/src/molecules/gv-tree.js +4 -4
  64. package/src/organisms/gv-documentation.js +2 -2
  65. package/src/organisms/gv-header.js +6 -6
  66. package/src/organisms/gv-http-client.js +2 -2
  67. package/src/organisms/gv-menu.js +3 -3
  68. package/src/organisms/gv-newsletter-subscription.js +2 -2
  69. package/src/organisms/gv-pagination.js +2 -2
  70. package/src/organisms/gv-properties.js +3 -3
  71. package/src/organisms/gv-resizable-views.js +4 -3
  72. package/src/organisms/gv-resources.js +2 -2
  73. package/src/organisms/gv-schema-form-array.js +3 -3
  74. package/src/organisms/gv-schema-form-control-object.js +3 -3
  75. package/src/organisms/gv-schema-form-control.js +3 -2
  76. package/src/organisms/gv-schema-form.js +3 -3
  77. package/src/organisms/gv-tabs.js +3 -2
  78. package/src/organisms/gv-user-menu.js +4 -4
  79. package/src/organisms/gv-vertical-menu.js +2 -2
  80. package/src/policy-studio/gv-flow-step.js +3 -3
  81. package/src/policy-studio/gv-flow.js +3 -3
  82. package/src/policy-studio/gv-policy-studio-menu.js +4 -4
  83. package/src/policy-studio/gv-policy-studio.js +3 -3
  84. package/src/styles/empty.js +2 -2
  85. package/src/styles/input.js +2 -2
  86. package/src/styles/link.js +2 -2
  87. package/src/styles/skeleton.js +2 -2
  88. package/src/styles/zoom.js +2 -2
  89. package/src/theme/gv-theme.js +2 -2
@@ -16,11 +16,12 @@
16
16
  import './gv-date-picker-calendar';
17
17
  import enUS from 'date-fns/locale/en-US';
18
18
  import { format, getMonth, getYear, parse } from 'date-fns';
19
- import { classMap } from 'lit/directives/class-map';
20
- import { css, LitElement, html } from 'lit';
19
+ import { classMap } from 'lit-html/directives/class-map';
20
+ import { css, LitElement } from 'lit-element';
21
21
  import { getLanguage, i18n } from '../lib/i18n';
22
+ import { html } from 'lit-html';
22
23
  import { isInvalid } from '../lib/date';
23
- import { until } from 'lit/directives/until';
24
+ import { until } from 'lit-html/directives/until';
24
25
  import { dispatchCustomEvent } from '../lib/events';
25
26
  const locales = {
26
27
  en: enUS
@@ -529,4 +530,4 @@ export class GvDatePicker extends LitElement {
529
530
 
530
531
  }
531
532
  window.customElements.define('gv-date-picker', GvDatePicker);
532
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWRhdGUtcGlja2VyLmpzIl0sIm5hbWVzIjpbImVuVVMiLCJmb3JtYXQiLCJnZXRNb250aCIsImdldFllYXIiLCJwYXJzZSIsImNsYXNzTWFwIiwiY3NzIiwiTGl0RWxlbWVudCIsImh0bWwiLCJnZXRMYW5ndWFnZSIsImkxOG4iLCJpc0ludmFsaWQiLCJ1bnRpbCIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJsb2NhbGVzIiwiZW4iLCJHdkRhdGVQaWNrZXIiLCJwcm9wZXJ0aWVzIiwicmFuZ2UiLCJ0eXBlIiwiQm9vbGVhbiIsImxhYmVsIiwiU3RyaW5nIiwibmFtZSIsInRpbWUiLCJzdHJpY3QiLCJzbWFsbCIsInZhbHVlIiwiQXJyYXkiLCJyZWZsZWN0IiwibWluIiwiTnVtYmVyIiwibWF4IiwiZGlzdGFuY2VGcm9tTm93IiwiZGlzYWJsZWREYXRlcyIsImludmFsaWQiLCJ2YWxpZCIsIl9ob3ZlcmVkRGF0ZSIsImF0dHJpYnV0ZSIsIl9vcGVuIiwiX21vbnRoIiwiX3llYXIiLCJfbW9udGhQbHVzIiwiX3llYXJQbHVzIiwiX21vZGUiLCJfZnJvbSIsIl90byIsIl9taW4iLCJfbWF4IiwiX2Rpc3RhbmNlIiwic3R5bGVzIiwiY29uc3RydWN0b3IiLCJfaWQiLCJ0aW1lRm9ybWF0Iiwic3RyaWN0VGltZUZvcm1hdCIsImhhbmRsZUNsaWNrIiwiX29uQ2xpY2siLCJiaW5kIiwiaGFuZGxlRG9jdW1lbnRDbGljayIsIl9vbkRvY3VtZW50Q2xpY2siLCJjb25uZWN0ZWRDYWxsYmFjayIsImFkZEV2ZW50TGlzdGVuZXIiLCJkb2N1bWVudCIsImdldExvY2FsZSIsInRoZW4iLCJsb2NhbGUiLCJEYXRlIiwiZ2V0VGltZSIsImRpc2Nvbm5lY3RlZENhbGxiYWNrIiwiY2xlYXJJbnRlcnZhbCIsIl9kaXN0YW5jZVRpbWVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInBhcnNlSW50Iiwibm93IiwiZSIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwicGVyZm9ybVVwZGF0ZSIsIl9vbkZvY3VzIiwibW9kZSIsImxhbmciLCJkZWZhdWx0IiwiY29uc29sZSIsImVycm9yIiwiZGF0ZUZyb21QbGFjZWhvbGRlciIsImdldEZvcm1hdCIsImRhdGVUb1BsYWNlaG9sZGVyIiwiaWNvbiIsImhhc0NvbnRlbnQiLCJfb25DbGVhciIsImRpc3BhdGNoRXZlbnQiLCJFdmVudCIsImJ1YmJsZXMiLCJjYW5jZWxhYmxlIiwicmVuZGVyIiwiY2xhc3NlcyIsImJveCIsIm9wZW4iLCJoYXNGcm9tIiwiaGFzVG8iLCJkaXNhYmxlZCIsIl9vbkJsdXJGb3JtIiwiZ2V0Rm9ybWF0dGVkRGF0ZSIsIl9vbkJsdXJUbyIsIl9vbk1vbnRoTW9kZSIsIl9vblllYXJNb2RlIiwiX29uTW9udGhDaGFuZ2VkIiwiX29uWWVhckNoYW5nZWQiLCJob3ZlcmVkRGF0ZUNoYW5nZWQiLCJkYXRlVG9DaGFuZ2VkIiwiZGF0ZUZyb21DaGFuZ2VkIiwiZmlyc3RVcGRhdGVkIiwic2V0SW50ZXJ2YWwiLCJtb250aENoYW5nZWQiLCJtb250aCIsInllYXIiLCJhZGQiLCJtb250aFBsdXMiLCJzdWJzdHJpbmciLCJsZW5ndGgiLCJ1cGRhdGVkIiwiaGFzIiwiZmlsdGVyIiwidiIsImRldGFpbCIsInRhcmdldCIsImRhdGUiLCJwYXJzZVZhbHVlIiwiaXNOYU4iLCJ0b1N0cmluZyIsImlucHV0cyIsInNoYWRvd1Jvb3QiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9jdXMiLCJzZXRUaW1lb3V0IiwidG1wIiwiX2Zvcm0iLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTywyQkFBUDtBQUNBLE9BQU9BLElBQVAsTUFBaUIsdUJBQWpC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QUFMLElBQWEsS0FBS0MsTUFBdEIsRUFBOEI7QUFDNUIsYUFBTyxLQUFLNkIsZ0JBQVo7QUFDRDs7QUFDRCxXQUFPLEtBQUs5QixJQUFMLEdBQWEsR0FBRSxLQUFLdkIsTUFBTyxJQUFHLEtBQUtvRCxVQUFXLEVBQTlDLEdBQWtELEtBQUtwRCxNQUE5RDtBQUNEOztBQUVxQixRQUFoQnFHLGdCQUFnQixDQUFDd0IsSUFBRCxFQUFPO0FBQzNCLFFBQUlBLElBQUosRUFBVTtBQUNSLFlBQU03RCxNQUFNLEdBQUcsTUFBTSxLQUFLRixTQUFMLEVBQXJCO0FBQ0EsYUFBTzlELE1BQU0sQ0FBQyxJQUFJaUUsSUFBSixDQUFTNEQsSUFBSSxHQUFHLElBQWhCLENBQUQsRUFBd0IsS0FBS3pDLFNBQUwsRUFBeEIsRUFBMENwQixNQUExQyxDQUFiO0FBQ0Q7O0FBQ0QsV0FBTyxFQUFQO0FBQ0Q7O0FBRUQ4RCxFQUFBQSxVQUFVLENBQUNwRyxLQUFELEVBQVE7QUFDaEIsUUFBSUEsS0FBSixFQUFXO0FBQ1QsYUFBT3ZCLEtBQUssQ0FBQ3VCLEtBQUQsRUFBUSxLQUFLMEQsU0FBTCxFQUFSLEVBQTBCLElBQUluQixJQUFKLEVBQTFCLENBQVo7QUFDRDs7QUFDRCxXQUFPLEVBQVA7QUFDRDs7QUF2bUIwQztBQTBtQjdDdUUsTUFBTSxDQUFDQyxjQUFQLENBQXNCQyxNQUF0QixDQUE2QixnQkFBN0IsRUFBK0MzSCxZQUEvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgJy4vZ3YtZGF0ZS1waWNrZXItY2FsZW5kYXInO1xuaW1wb3J0IGVuVVMgZnJvbSAnZGF0ZS1mbnMvbG9jYWxlL2VuLVVTJztcbmltcG9ydCB7IGZvcm1hdCwgZ2V0TW9udGgsIGdldFllYXIsIHBhcnNlIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgY2xhc3NNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9jbGFzcy1tYXAnO1xuaW1wb3J0IHsgY3NzLCBMaXRFbGVtZW50LCBodG1sIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGdldExhbmd1YWdlLCBpMThuIH0gZnJvbSAnLi4vbGliL2kxOG4nO1xuXG5pbXBvcnQgeyBpc0ludmFsaWQgfSBmcm9tICcuLi9saWIvZGF0ZSc7XG5pbXBvcnQgeyB1bnRpbCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3VudGlsJztcbmltcG9ydCB7IGRpc3BhdGNoQ3VzdG9tRXZlbnQgfSBmcm9tICcuLi9saWIvZXZlbnRzJztcblxuY29uc3QgbG9jYWxlcyA9IHsgZW46IGVuVVMgfTtcblxuLyoqXG4gKiBEYXRlIFBpY2tlclxuICpcbiAqICMjIERldGFpbHNcbiAqICogaGFzIEB0aGVtZSBmYWNldFxuICpcbiAqIEBhdHRyIHtOdW1iZXJ8QXJyYXl9IHZhbHVlIC0gaWYgcmFuZ2UgcGlja2VyLCB2YWx1ZSBpcyBhbiBhcnJheSBvZiB0aW1lc3RhbXAgZWxzZSBpcyBhIHRpbWVzdGFtcFxuICogQGF0dHIge0Jvb2xlYW59IHJhbmdlIC0gaWYgaGFzIHJhbmdlIHBpY2tlclxuICogQGF0dHIge0Jvb2xlYW59IHRpbWUgLSBpZiBoYXMgdGltZSBwaWNrZXJcbiAqIEBhdHRyIHtTdHJpbmd9IG5hbWUgLSBuYW1lIG9mIHRoZSBpbnB1dFxuICogQGF0dHIge0Jvb2xlYW59IHN0cmljdCAtIGluIGNvbXBsZXRpb24gb2YgdGltZSBpZiBqdXN0IGhhdmUgdGltZSBwaWNrZXJcbiAqIEBhdHRyIHtOdW1iZXJ9IG1pbiAtIG1pbiB0aW1lc3RhbXBcbiAqIEBhdHRyIHtOdW1iZXJ9IG1heCAtIG1heCB0aW1lc3RhbXBcbiAqIEBhdHRyIHtOdW1iZXJ9IGRpc3RhbmNlRnJvbU5vdyAtIFRoZSBkaXN0YW5jZSB0aW1lc3RhbXAgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgZGF0ZS4gSWYgY29uZmlndXJlZCwgdGhlIG1pbiAvIG1heCB3aWxsIGJlIHVwZGF0ZWQgZXZlcnkgbWludXRlLlxuICogQGF0dHIge1N0cmluZ30gZm9ybWF0IC0gZGF0ZSBmb3JtYXRcbiAqIEBhdHRyIHtCb29sZWFufSB2YWxpZCAtIGlmIHZhbHVlIGlzIHZhbGlkXG4gKiBAYXR0ciB7Qm9vbGVhbn0gaW52YWxpZCAtIGlmIHZhbHVlIGlzIGludmFsaWRcbiAqIEBhdHRyIHtCb29sZWFufSBzbWFsbCAtIGZvciBhIHNtYWxsIGlucHV0XG4gKlxuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi1kYXRlLXBpY2tlci1ob3Zlci0tYmdjPXZhcigtLWd2LXRoZW1lLWNvbG9yLWxpZ2h0LCAjODZjM2QwKV0gLSBIb3ZlciBiYWNrZ3JvdW5kIGNvbG9yXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWRhdGUtcGlja2VyLWhvdmVyLS1jPXZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItZGFyaywgIzI2MjYyNildIC0gSG92ZXIgY29sb3JcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtZGF0ZS1waWNrZXItc2VsZWN0ZWQtLWJnYz12YXIoLS1ndi10aGVtZS1jb2xvciwgIzVhNzY4NCldIC0gU2VsZWN0ZWQgYmFja2dyb3VuZCBjb2xvclxuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi1kYXRlLXBpY2tlci1zZWxlY3RlZC0tYz12YXIoLS1ndi10aGVtZS1mb250LWNvbG9yLWxpZ2h0LCAjZmZmZmZmKV0gLSBTZWxlY3RlZCBjb2xvclxuICovXG5leHBvcnQgY2xhc3MgR3ZEYXRlUGlja2VyIGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmFuZ2U6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgbGFiZWw6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBuYW1lOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgdGltZTogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgICBzdHJpY3Q6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgc21hbGw6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgdmFsdWU6IHsgdHlwZTogQXJyYXksIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgIG1pbjogeyB0eXBlOiBOdW1iZXIgfSxcbiAgICAgIG1heDogeyB0eXBlOiBOdW1iZXIgfSxcbiAgICAgIGRpc3RhbmNlRnJvbU5vdzogeyB0eXBlOiBOdW1iZXIgfSxcbiAgICAgIGRpc2FibGVkRGF0ZXM6IHsgdHlwZTogQXJyYXkgfSxcbiAgICAgIGZvcm1hdDogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIGludmFsaWQ6IHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgdmFsaWQ6IHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgX2hvdmVyZWREYXRlOiB7IHR5cGU6IFN0cmluZywgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgX29wZW46IHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgX21vbnRoOiB7IHR5cGU6IFN0cmluZywgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgX3llYXI6IHsgdHlwZTogU3RyaW5nLCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgICBfbW9udGhQbHVzOiB7IHR5cGU6IFN0cmluZywgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgX3llYXJQbHVzOiB7IHR5cGU6IE51bWJlciwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgX21vZGU6IHsgdHlwZTogU3RyaW5nLCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgICBfZnJvbTogeyB0eXBlOiBOdW1iZXIsIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICAgIF90bzogeyB0eXBlOiBOdW1iZXIsIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICAgIF9taW46IHsgdHlwZTogTnVtYmVyLCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgICBfbWF4OiB7IHR5cGU6IE51bWJlciwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgX2Rpc3RhbmNlOiB7IHR5cGU6IE51bWJlciwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAuMnJlbTtcbiAgICAgICAgICAtLWd2LWlucHV0LWljb24tLWJnYzogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgLS1ndi1pY29uLS1zOiAyMnB4O1xuICAgICAgICAgIC0tZGF0ZS1waWNrZXItaG92ZXItLWJnYzogdmFyKC0tZ3YtZGF0ZS1waWNrZXItaG92ZXItLWJnYywgdmFyKC0tZ3YtdGhlbWUtY29sb3ItbGlnaHQsICM4NmMzZDApKTtcbiAgICAgICAgICAtLWRhdGUtcGlja2VyLWhvdmVyLS1jOiB2YXIoLS1ndi1kYXRlLXBpY2tlci1ob3Zlci0tYywgdmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1kYXJrLCAjMjYyNjI2KSk7XG4gICAgICAgICAgLS1kYXRlLXBpY2tlci1zZWxlY3RlZC0tYmdjOiB2YXIoLS1ndi1kYXRlLXBpY2tlci1zZWxlY3RlZC0tYmdjLCB2YXIoLS1ndi10aGVtZS1jb2xvciwgIzVhNzY4NCkpO1xuICAgICAgICAgIC0tZGF0ZS1waWNrZXItc2VsZWN0ZWQtLWM6IHZhcigtLWd2LWRhdGUtcGlja2VyLXNlbGVjdGVkLS1jLCB2YXIoLS1ndi10aGVtZS1mb250LWNvbG9yLWxpZ2h0LCAjZmZmZmZmKSk7XG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ndi10aGVtZS1mb250LXNpemUtbSwgMTRweCk7XG4gICAgICAgIH1cblxuICAgICAgICA6aG9zdChbc21hbGxdKSB7XG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ndi10aGVtZS1mb250LXNpemUtcywgMTJweCk7XG4gICAgICAgIH1cblxuICAgICAgICAuYm94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBndi1pbnB1dCB7XG4gICAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aW1lIGd2LWlucHV0IHtcbiAgICAgICAgICB3aWR0aDogMjA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICA6bm90KC5yYW5nZSkgZ3YtaW5wdXQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJhbmdlIGd2LWlucHV0IHtcbiAgICAgICAgICAtLWd2LWlucHV0LS1iZHM6IG5vbmU7XG4gICAgICAgICAgLS1ndi1pbnB1dC0tYmR3OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpbWUgLnJhbmdlLWlucHV0IGd2LWlucHV0IHtcbiAgICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAucmFuZ2UtaW5wdXQgZ3YtaW5wdXQge1xuICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yYW5nZS5oYXNGcm9tLm9wZW4gZ3YtaW5wdXQ6Zmlyc3Qtb2YtdHlwZSxcbiAgICAgICAgLnJhbmdlLmhhc0Zyb20ub3BlbiAuYm94LWljb246Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWd2LWRhdGUtcGlja2VyLXNlbGVjdGVkLS1iZ2MsIHZhcigtLWd2LXRoZW1lLWNvbG9yLCAjNWE3Njg0KSk7XG4gICAgICAgIH1cblxuICAgICAgICAucmFuZ2UuaGFzVG8ub3BlbiBndi1pbnB1dDpsYXN0LW9mLXR5cGUsXG4gICAgICAgIC5yYW5nZS5oYXNUby5vcGVuIC5ib3gtaWNvbjpub3QoLmJveC1pY29uLWNhbGVuZGFyKSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWd2LWRhdGUtcGlja2VyLXNlbGVjdGVkLS1iZ2MsIHZhcigtLWd2LXRoZW1lLWNvbG9yLCAjNWE3Njg0KSk7XG4gICAgICAgIH1cblxuICAgICAgICAucmFuZ2UtaW5wdXQge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICBib3JkZXI6IHZhcigtLWd2LWlucHV0LS1iZHcsIDFweCkgdmFyKC0tZ3YtaW5wdXQtLWJkcywgc29saWQpIHZhcigtLWd2LWlucHV0LS1iZGMsIHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItZGFyaywgI2Q5ZDlkOSkpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICBtYXJnaW46IDAuMnJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveC1pY29uIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuYm94LWljb24tY2FsZW5kYXIge1xuICAgICAgICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveC1pY29uLWFycm93LFxuICAgICAgICAuYm94LWljb24tY2FsZW5kYXIge1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveC1pY29uLWNsZWFyIHtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IDE2cHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNnB4O1xuICAgICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveC1pY29uLWNsZWFyIGd2LWljb24ge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3gub3BlbiAuY2FsZW5kYXIge1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogLXdlYmtpdC10cmFuc2xhdGVZKDAlKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYWxlbmRhciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3YtdGhlbWUtbmV1dHJhbC1jb2xvci1saWdodGVzdCwgI2ZmZmZmZik7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3IsICMyNjI2MjYpO1xuICAgICAgICAgIG1hcmdpbjogMC4ycmVtO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0tZ3YtdGhlbWUtbmV1dHJhbC1jb2xvciwgI2Y1ZjVmNSksIDAgMXB4IDNweCB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWRhcmssICNiZmJmYmYpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogLXdlYmtpdC10cmFuc2xhdGVZKC0yZW0pO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMmVtKTtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDE1MG1zIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIDpob3N0KFtpbnZhbGlkXSkgLnJhbmdlLWlucHV0IHtcbiAgICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNhOTQ0NDI7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgOmhvc3QoW2ludmFsaWRdKSAuYm94LWljb24tY2FsZW5kYXIge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuICAgICAgICB9XG4gICAgICBgLFxuICAgIF07XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX2lkID0gJ2d2LWlkJztcbiAgICB0aGlzLnN0cmljdCA9IGZhbHNlO1xuICAgIHRoaXMucmFuZ2UgPSBmYWxzZTtcbiAgICB0aGlzLnRpbWUgPSBmYWxzZTtcbiAgICB0aGlzLmZvcm1hdCA9ICdkZC9NTS95eXl5JztcbiAgICBjb25zdCBmb3JtYXQgPSBpMThuKCdndi1kYXRlLXBpY2tlci5mb3JtYXQnKTtcbiAgICBpZiAoZm9ybWF0ICE9PSAndW5rbm93bicpIHtcbiAgICAgIHRoaXMuZm9ybWF0ID0gZm9ybWF0O1xuICAgIH1cbiAgICB0aGlzLnRpbWVGb3JtYXQgPSAnSEg6bW0nO1xuICAgIHRoaXMuc3RyaWN0VGltZUZvcm1hdCA9ICdISDptbTpzcyc7XG4gICAgdGhpcy5oYW5kbGVDbGljayA9IHRoaXMuX29uQ2xpY2suYmluZCh0aGlzKTtcbiAgICB0aGlzLmhhbmRsZURvY3VtZW50Q2xpY2sgPSB0aGlzLl9vbkRvY3VtZW50Q2xpY2suYmluZCh0aGlzKTtcbiAgICB0aGlzLmRpc2FibGVkRGF0ZXMgPSBbXTtcbiAgfVxuXG4gIGNvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuaGFuZGxlQ2xpY2spO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5oYW5kbGVEb2N1bWVudENsaWNrKTtcbiAgICB0aGlzLmdldExvY2FsZSgpLnRoZW4oKGxvY2FsZSkgPT4ge1xuICAgICAgdGhpcy5feWVhciA9IGZvcm1hdChuZXcgRGF0ZSgpLmdldFRpbWUoKSwgJ3l5eXknLCB7IGxvY2FsZSB9KTtcbiAgICAgIHRoaXMuX21vbnRoID0gZm9ybWF0KG5ldyBEYXRlKCkuZ2V0VGltZSgpLCAnTU0nLCB7IGxvY2FsZSB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5fZGlzdGFuY2VUaW1lcik7XG4gICAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuaGFuZGxlQ2xpY2spO1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5oYW5kbGVEb2N1bWVudENsaWNrKTtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICB9XG5cbiAgc2V0IG1pbih2YWx1ZSkge1xuICAgIHRoaXMuX21pbiA9IHBhcnNlSW50KHZhbHVlIC8gMTAwMCwgMTApO1xuICB9XG5cbiAgc2V0IG1heCh2YWx1ZSkge1xuICAgIHRoaXMuX21heCA9IHBhcnNlSW50KHZhbHVlIC8gMTAwMCwgMTApO1xuICB9XG5cbiAgc2V0IGRpc3RhbmNlRnJvbU5vdyh2YWx1ZSkge1xuICAgIHRoaXMuX2Rpc3RhbmNlID0gdmFsdWU7XG4gICAgdGhpcy5fbWF4ID0gcGFyc2VJbnQoRGF0ZS5ub3coKSAvIDEwMDAsIDEwKTtcbiAgICB0aGlzLl9taW4gPSBwYXJzZUludCgoRGF0ZS5ub3coKSAtIHZhbHVlKSAvIDEwMDAsIDEwKTtcbiAgICBpZiAodGhpcy5fZnJvbSAmJiB0aGlzLl9mcm9tIDwgdGhpcy5fbWluKSB7XG4gICAgICB0aGlzLl9mcm9tID0gdGhpcy5fbWluO1xuICAgIH1cbiAgfVxuXG4gIF9vbkNsaWNrKGUpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIF9vbkRvY3VtZW50Q2xpY2soZSkge1xuICAgIHRoaXMuX29wZW4gPSBmYWxzZTtcbiAgICB0aGlzLnBlcmZvcm1VcGRhdGUoKTtcbiAgfVxuXG4gIF9vbkZvY3VzKG1vZGUpIHtcbiAgICB0aGlzLl9vcGVuID0gdHJ1ZTtcbiAgICBpZiAodGhpcy50aW1lICYmIHRoaXMucmFuZ2UpIHtcbiAgICAgIHRoaXMuX21vZGUgPSBtb2RlO1xuICAgIH1cbiAgICB0aGlzLnBlcmZvcm1VcGRhdGUoKTtcbiAgfVxuXG4gIGFzeW5jIGdldExvY2FsZSgpIHtcbiAgICBjb25zdCBsYW5nID0gZ2V0TGFuZ3VhZ2UoKTtcbiAgICBpZiAoIWxhbmcpIHtcbiAgICAgIHJldHVybiBsb2NhbGVzLmVuO1xuICAgIH1cbiAgICBpZiAoIWxvY2FsZXNbbGFuZ10pIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGxvY2FsZSA9IGF3YWl0IGltcG9ydChgZGF0ZS1mbnMvbG9jYWxlLyR7bGFuZ30vaW5kZXguanNgKTtcbiAgICAgICAgbG9jYWxlc1tsYW5nXSA9IGxvY2FsZS5kZWZhdWx0O1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBbRXJyb3JdIGNhbm5vdCBsb2FkIGxvY2FsZSAke2xhbmd9YCwgZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBsb2NhbGVzW2xhbmddO1xuICB9XG5cbiAgZ2V0IGRhdGVGcm9tUGxhY2Vob2xkZXIoKSB7XG4gICAgaWYgKHRoaXMucmFuZ2UgJiYgdGhpcy50aW1lICYmIHRoaXMuc3RyaWN0KSB7XG4gICAgICByZXR1cm4gaTE4bignZ3YtZGF0ZS1waWNrZXIuc3RhcnRUaW1lJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnJhbmdlKSB7XG4gICAgICByZXR1cm4gaTE4bignZ3YtZGF0ZS1waWNrZXIuc3RhcnREYXRlJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldEZvcm1hdCgpO1xuICB9XG5cbiAgZ2V0IGRhdGVUb1BsYWNlaG9sZGVyKCkge1xuICAgIGlmICh0aGlzLnJhbmdlICYmIHRoaXMudGltZSAmJiB0aGlzLnN0cmljdCkge1xuICAgICAgcmV0dXJuIGkxOG4oJ2d2LWRhdGUtcGlja2VyLmVuZFRpbWUnKTtcbiAgICB9XG4gICAgaWYgKHRoaXMucmFuZ2UpIHtcbiAgICAgIHJldHVybiBpMThuKCdndi1kYXRlLXBpY2tlci5lbmREYXRlJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldEZvcm1hdCgpO1xuICB9XG5cbiAgZ2V0IGljb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Zyb20gIT0gbnVsbCB8fCB0aGlzLl90byAhPSBudWxsID8gJ2NvZGU6ZXJyb3InIDogJ2dlbmVyYWw6Y2FsZW5kYXInO1xuICB9XG5cbiAgZ2V0IGhhc0NvbnRlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Zyb20gIT0gbnVsbCB8fCB0aGlzLl90byAhPSBudWxsO1xuICB9XG5cbiAgX29uQ2xlYXIoKSB7XG4gICAgdGhpcy5pbnZhbGlkID0gZmFsc2U7XG4gICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkpO1xuICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2lucHV0JywgdGhpcy52YWx1ZSk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgY2xhc3NlcyA9IHtcbiAgICAgIGJveDogdHJ1ZSxcbiAgICAgIG9wZW46IHRoaXMuX29wZW4sXG4gICAgICByYW5nZTogdGhpcy5yYW5nZSxcbiAgICAgIHRpbWU6IHRoaXMudGltZSxcbiAgICAgIGhhc0Zyb206IHRoaXMuaGFzRnJvbSgpLFxuICAgICAgaGFzVG86IHRoaXMuaGFzVG8oKSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGh0bWxgIDxkaXYgY2xhc3M9XCIke2NsYXNzTWFwKGNsYXNzZXMpfVwiPlxuICAgICAgJHt0aGlzLnJhbmdlXG4gICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgICR7dGhpcy5sYWJlbCA/IGh0bWxgPGxhYmVsIGZvcj0ke3RoaXMuX2lkfSB0aXRsZT1cIiR7dGhpcy5sYWJlbH1cIj4ke3RoaXMubGFiZWx9PC9sYWJlbD5gIDogJyd9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmFuZ2UtaW5wdXRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJveC1pY29uIGJveC1pY29uLWNhbGVuZGFyXCI+PGd2LWljb24gc2hhcGU9XCJnZW5lcmFsOmNhbGVuZGFyXCI+PC9ndi1pY29uPjwvZGl2PlxuICAgICAgICAgICAgICA8Z3YtaW5wdXRcbiAgICAgICAgICAgICAgICBpZD1cIiR7dGhpcy5faWR9XCJcbiAgICAgICAgICAgICAgICA/c21hbGw9XCIke3RoaXMuc21hbGx9XCJcbiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9XCIke3RoaXMuZGlzYWJsZWR9XCJcbiAgICAgICAgICAgICAgICBAZm9jdXM9XCIke3RoaXMuX29uRm9jdXMuYmluZCh0aGlzLCAnZnJvbScpfVwiXG4gICAgICAgICAgICAgICAgQGJsdXI9XCIke3RoaXMuX29uQmx1ckZvcm19XCJcbiAgICAgICAgICAgICAgICBAZ3YtaW5wdXQ6c3VibWl0PVwiJHt0aGlzLl9vbkJsdXJGb3JtfVwiXG4gICAgICAgICAgICAgICAgLnZhbHVlPVwiJHt1bnRpbCh0aGlzLmdldEZvcm1hdHRlZERhdGUodGhpcy5fZnJvbSkpfVwiXG4gICAgICAgICAgICAgICAgLnBsYWNlaG9sZGVyPVwiJHt0aGlzLmRhdGVGcm9tUGxhY2Vob2xkZXJ9XCJcbiAgICAgICAgICAgICAgPjwvZ3YtaW5wdXQ+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3gtaWNvbiBib3gtaWNvbi1hcnJvd1wiPjxndi1pY29uIHNoYXBlPVwibmF2aWdhdGlvbjphcnJvdy1yaWdodFwiPjwvZ3YtaWNvbj48L2Rpdj5cbiAgICAgICAgICAgICAgPGd2LWlucHV0XG4gICAgICAgICAgICAgICAgLnBsYWNlaG9sZGVyPVwiJHt0aGlzLmRhdGVUb1BsYWNlaG9sZGVyfVwiXG4gICAgICAgICAgICAgICAgP3NtYWxsPVwiJHt0aGlzLnNtYWxsfVwiXG4gICAgICAgICAgICAgICAgP2Rpc2FibGVkPVwiJHt0aGlzLmRpc2FibGVkfVwiXG4gICAgICAgICAgICAgICAgQGZvY3VzPVwiJHt0aGlzLl9vbkZvY3VzLmJpbmQodGhpcywgJ3RvJyl9XCJcbiAgICAgICAgICAgICAgICBAYmx1cj1cIiR7dGhpcy5fb25CbHVyVG99XCJcbiAgICAgICAgICAgICAgICBAZ3YtaW5wdXQ6c3VibWl0PVwiJHt0aGlzLl9vbkJsdXJUb31cIlxuICAgICAgICAgICAgICAgIC52YWx1ZT1cIiR7dW50aWwodGhpcy5nZXRGb3JtYXR0ZWREYXRlKHRoaXMuX3RvKSl9XCJcbiAgICAgICAgICAgICAgPjwvZ3YtaW5wdXQ+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3gtaWNvbiBib3gtaWNvbi1jbGVhclwiPlxuICAgICAgICAgICAgICAgICR7dGhpcy5oYXNDb250ZW50ID8gaHRtbGA8Z3YtaWNvbiBjbGFzcz1cImxpbmtcIiBAY2xpY2s9JHt0aGlzLl9vbkNsZWFyfSBzaGFwZT1cImNvZGU6ZXJyb3JcIj48L2d2LWljb24+YCA6ICcnfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIGBcbiAgICAgICAgOiBodG1sYFxuICAgICAgICA8Z3YtaW5wdXRcbiAgICAgICAgaWQ9XCIke3RoaXMuX2lkfVwiXG4gICAgICAgIGljb249XCIke3RoaXMudGltZSAmJiB0aGlzLnN0cmljdCA/ICdob21lOnRpbWVyJyA6ICdnZW5lcmFsOmNhbGVuZGFyJ31cIlxuICAgICAgICA/c21hbGw9XCIke3RoaXMuc21hbGx9XCJcbiAgICAgICAgP2Rpc2FibGVkPVwiJHt0aGlzLmRpc2FibGVkfVwiXG4gICAgICAgIGNsZWFyYWJsZVxuICAgICAgICAubGFiZWw9XCIke3RoaXMubGFiZWx9XCJcbiAgICAgICAgQGZvY3VzPVwiJHt0aGlzLl9vbkZvY3VzLmJpbmQodGhpcywgbnVsbCl9XCJcbiAgICAgICAgQGJsdXI9XCIke3RoaXMuX29uQmx1ckZvcm19XCJcbiAgICAgICAgP2ludmFsaWQ9XCIke3RoaXMuaW52YWxpZH1cIlxuICAgICAgICAgQGd2LWlucHV0OnN1Ym1pdD1cIiR7dGhpcy5fb25CbHVyRm9ybX1cIlxuICAgICAgICAgQGd2LWlucHV0OmNsZWFyPVwiJHt0aGlzLl9vbkNsZWFyfVwiXG4gICAgICAgIC5wbGFjZWhvbGRlcj1cIiR7dGhpcy5kYXRlVG9QbGFjZWhvbGRlcn1cIlxuICAgICAgICAudmFsdWU9XCIke3VudGlsKHRoaXMuZ2V0Rm9ybWF0dGVkRGF0ZSh0aGlzLl9mcm9tKSl9XCI+PC9ndi1pbnB1dD48L2Rpdj5cbiAgICAgICAgYH1cblxuICAgICAgPHNwYW4gY2xhc3M9XCJjYWxlbmRhclwiPlxuICAgICAgICAke3RoaXMucmFuZ2VcbiAgICAgICAgICA/IGh0bWxgXG4gICAgICAgICAgICAgICR7dGhpcy5oYXNGcm9tKClcbiAgICAgICAgICAgICAgICA/IGh0bWxgPGd2LWRhdGUtcGlja2VyLWNhbGVuZGFyXG4gICAgICAgICAgICAgICAgICAgIC5kaXNhYmxlZERhdGVzPVwiJHt0aGlzLmRpc2FibGVkRGF0ZXN9XCJcbiAgICAgICAgICAgICAgICAgICAgLm1pbj1cIiR7dGhpcy5fbWlufVwiXG4gICAgICAgICAgICAgICAgICAgIC5tYXg9XCIke3RoaXMuX21heH1cIlxuICAgICAgICAgICAgICAgICAgICA/dGltZT1cIiR7dGhpcy50aW1lfVwiXG4gICAgICAgICAgICAgICAgICAgID9zdHJpY3Q9XCIke3RoaXMuc3RyaWN0fVwiXG4gICAgICAgICAgICAgICAgICAgID9zbWFsbD1cIiR7dGhpcy5zbWFsbH1cIlxuICAgICAgICAgICAgICAgICAgICA/cHJldj1cIiR7dHJ1ZX1cIlxuICAgICAgICAgICAgICAgICAgICA/bmV4dD1cIiR7dGhpcy50aW1lfVwiXG4gICAgICAgICAgICAgICAgICAgID9yYW5nZT1cIiR7dGhpcy5yYW5nZSAmJiAhdGhpcy50aW1lfVwiXG4gICAgICAgICAgICAgICAgICAgIC5tb250aD1cIiR7dGhpcy5fbW9udGh9XCJcbiAgICAgICAgICAgICAgICAgICAgLnllYXI9XCIke3RoaXMuX3llYXJ9XCJcbiAgICAgICAgICAgICAgICAgICAgLmhvdmVyZWREYXRlPVwiJHt0aGlzLl9ob3ZlcmVkRGF0ZX1cIlxuICAgICAgICAgICAgICAgICAgICAuZGF0ZVRvPVwiJHt0aGlzLl90b31cIlxuICAgICAgICAgICAgICAgICAgICAuZGF0ZUZyb209XCIke3RoaXMuX2Zyb219XCJcbiAgICAgICAgICAgICAgICAgICAgLmxvY2FsZT1cIiR7dW50aWwodGhpcy5nZXRMb2NhbGUoKSl9XCJcbiAgICAgICAgICAgICAgICAgICAgQGd2LWRhdGUtcGlja2VyLWNhbGVuZGFyOm1vbnRoLW1vZGU9XCIke3RoaXMuX29uTW9udGhNb2RlfVwiXG4gICAgICAgICAgICAgICAgICAgIEBndi1kYXRlLXBpY2tlci1jYWxlbmRhcjp5ZWFyLW1vZGU9XCIke3RoaXMuX29uWWVhck1vZGV9XCJcbiAgICAgICAgICAgICAgICAgICAgQGd2LWRhdGUtcGlja2VyLWNhbGVuZGFyOm1vbnRoLWNoYW5nZWQ9XCIke3RoaXMuX29uTW9udGhDaGFuZ2VkfVwiXG4gICAgICAgICAgICAgICAgICAgIEBndi1kYXRlLXBpY2tlci1jYWxlbmRhcjp5ZWFyLWNoYW5nZWQ9XCIke3RoaXMuX29uWWVhckNoYW5nZWR9XCJcbiAgICAgICAgICAgICAgICAgICAgQGhvdmVyZWQtZGF0ZS1jaGFuZ2VkPVwiJHt0aGlzLmhvdmVyZWREYXRlQ2hhbmdlZH1cIlxuICAgICAgICAgICAgICAgICAgICBAZGF0ZS10by1jaGFuZ2VkPVwiJHt0aGlzLmRhdGVUb0NoYW5nZWR9XCJcbiAgICAgICAgICAgICAgICAgICAgQGRhdGUtZnJvbS1jaGFuZ2VkPVwiJHt0aGlzLmRhdGVGcm9tQ2hhbmdlZH1cIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPC9ndi1kYXRlLXBpY2tlci1jYWxlbmRhcj5gXG4gICAgICAgICAgICAgICAgOiAnJ31cbiAgICAgICAgICAgICAgJHt0aGlzLmhhc1RvKClcbiAgICAgICAgICAgICAgICA/IGh0bWxgPGd2LWRhdGUtcGlja2VyLWNhbGVuZGFyXG4gICAgICAgICAgICAgICAgICAgIC5kaXNhYmxlZERhdGVzPVwiJHt0aGlzLmRpc2FibGVkRGF0ZXN9XCJcbiAgICAgICAgICAgICAgICAgICAgLm1pbj1cIiR7dGhpcy5fbWlufVwiXG4gICAgICAgICAgICAgICAgICAgIC5tYXg9XCIke3RoaXMuX21heH1cIlxuICAgICAgICAgICAgICAgICAgICA/dGltZT1cIiR7dGhpcy50aW1lfVwiXG4gICAgICAgICAgICAgICAgICAgID9zdHJpY3Q9XCIke3RoaXMuc3RyaWN0fVwiXG4gICAgICAgICAgICAgICAgICAgID9zbWFsbD1cIiR7dGhpcy5zbWFsbH1cIlxuICAgICAgICAgICAgICAgICAgICA/cHJldj1cIiR7dGhpcy50aW1lfVwiXG4gICAgICAgICAgICAgICAgICAgID9uZXh0PVwiJHt0cnVlfVwiXG4gICAgICAgICAgICAgICAgICAgID9yYW5nZT1cIiR7dGhpcy5yYW5nZSAmJiAhdGhpcy50aW1lfVwiXG4gICAgICAgICAgICAgICAgICAgIC5tb250aD1cIiR7dGhpcy5fbW9udGhQbHVzfVwiXG4gICAgICAgICAgICAgICAgICAgIC55ZWFyPVwiJHt0aGlzLl95ZWFyUGx1c31cIlxuICAgICAgICAgICAgICAgICAgICAuaG92ZXJlZERhdGU9XCIke3RoaXMuX2hvdmVyZWREYXRlfVwiXG4gICAgICAgICAgICAgICAgICAgIC5kYXRlVG89XCIke3RoaXMuX3RvfVwiXG4gICAgICAgICAgICAgICAgICAgIC5kYXRlRnJvbT1cIiR7dGhpcy5fZnJvbX1cIlxuICAgICAgICAgICAgICAgICAgICAubG9jYWxlPVwiJHt1bnRpbCh0aGlzLmdldExvY2FsZSgpKX1cIlxuICAgICAgICAgICAgICAgICAgICBAZ3YtZGF0ZS1waWNrZXItY2FsZW5kYXI6bW9udGgtbW9kZT1cIiR7dGhpcy5fb25Nb250aE1vZGV9XCJcbiAgICAgICAgICAgICAgICAgICAgQGd2LWRhdGUtcGlja2VyLWNhbGVuZGFyOnllYXItbW9kZT1cIiR7dGhpcy5fb25ZZWFyTW9kZX1cIlxuICAgICAgICAgICAgICAgICAgICBAZ3YtZGF0ZS1waWNrZXItY2FsZW5kYXI6bW9udGgtY2hhbmdlZD1cIiR7dGhpcy5fb25Nb250aENoYW5nZWR9XCJcbiAgICAgICAgICAgICAgICAgICAgQGd2LWRhdGUtcGlja2VyLWNhbGVuZGFyOnllYXItY2hhbmdlZD1cIiR7dGhpcy5fb25ZZWFyQ2hhbmdlZH1cIlxuICAgICAgICAgICAgICAgICAgICBAaG92ZXJlZC1kYXRlLWNoYW5nZWQ9XCIke3RoaXMuaG92ZXJlZERhdGVDaGFuZ2VkfVwiXG4gICAgICAgICAgICAgICAgICAgIEBkYXRlLXRvLWNoYW5nZWQ9XCIke3RoaXMuZGF0ZVRvQ2hhbmdlZH1cIlxuICAgICAgICAgICAgICAgICAgICBAZGF0ZS1mcm9tLWNoYW5nZWQ9XCIke3RoaXMuZGF0ZUZyb21DaGFuZ2VkfVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8L2d2LWRhdGUtcGlja2VyLWNhbGVuZGFyPmBcbiAgICAgICAgICAgICAgICA6ICcnfVxuICAgICAgICAgICAgYFxuICAgICAgICAgIDogaHRtbGBcbiAgICAgICAgICAgICAgPGd2LWRhdGUtcGlja2VyLWNhbGVuZGFyXG4gICAgICAgICAgICAgICAgLmRpc2FibGVkRGF0ZXM9XCIke3RoaXMuZGlzYWJsZWREYXRlc31cIlxuICAgICAgICAgICAgICAgIC5taW49XCIke3RoaXMuX21pbn1cIlxuICAgICAgICAgICAgICAgIC5tYXg9XCIke3RoaXMuX21heH1cIlxuICAgICAgICAgICAgICAgID90aW1lPVwiJHt0aGlzLnRpbWV9XCJcbiAgICAgICAgICAgICAgICA/c21hbGw9XCIke3RoaXMuc21hbGx9XCJcbiAgICAgICAgICAgICAgICA/c3RyaWN0PVwiJHt0aGlzLnN0cmljdH1cIlxuICAgICAgICAgICAgICAgID9wcmV2PVwiJHt0cnVlfVwiXG4gICAgICAgICAgICAgICAgP25leHQ9XCIke3RydWV9XCJcbiAgICAgICAgICAgICAgICA/cmFuZ2U9XCIke3RoaXMucmFuZ2V9XCJcbiAgICAgICAgICAgICAgICAubW9udGg9XCIke3RoaXMuX21vbnRofVwiXG4gICAgICAgICAgICAgICAgLnllYXI9XCIke3RoaXMuX3llYXJ9XCJcbiAgICAgICAgICAgICAgICAuaG92ZXJlZERhdGU9XCIke3RoaXMuX2hvdmVyZWREYXRlfVwiXG4gICAgICAgICAgICAgICAgLmRhdGVUbz1cIiR7dGhpcy5fdG99XCJcbiAgICAgICAgICAgICAgICAuZGF0ZUZyb209XCIke3RoaXMuX2Zyb219XCJcbiAgICAgICAgICAgICAgICAubG9jYWxlPVwiJHt1bnRpbCh0aGlzLmdldExvY2FsZSgpKX1cIlxuICAgICAgICAgICAgICAgIEBob3ZlcmVkLWRhdGUtY2hhbmdlZD1cIiR7dGhpcy5ob3ZlcmVkRGF0ZUNoYW5nZWR9XCJcbiAgICAgICAgICAgICAgICBAZGF0ZS10by1jaGFuZ2VkPVwiJHt0aGlzLmRhdGVUb0NoYW5nZWR9XCJcbiAgICAgICAgICAgICAgICBAZGF0ZS1mcm9tLWNoYW5nZWQ9XCIke3RoaXMuZGF0ZUZyb21DaGFuZ2VkfVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9ndi1kYXRlLXBpY2tlci1jYWxlbmRhcj5cbiAgICAgICAgICAgIGB9XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+YDtcbiAgfVxuXG4gIGhhc0Zyb20oKSB7XG4gICAgcmV0dXJuIHRoaXMuX21vZGUgPT0gbnVsbCB8fCB0aGlzLl9tb2RlID09PSAnZnJvbSc7XG4gIH1cblxuICBoYXNUbygpIHtcbiAgICByZXR1cm4gdGhpcy5fbW9kZSA9PSBudWxsIHx8IHRoaXMuX21vZGUgPT09ICd0byc7XG4gIH1cblxuICBmaXJzdFVwZGF0ZWQoKSB7XG4gICAgaWYgKHRoaXMudGltZSAmJiB0aGlzLnJhbmdlKSB7XG4gICAgICB0aGlzLl9tb2RlID0gJ2Zyb20nO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9kaXN0YW5jZSkge1xuICAgICAgdGhpcy5fZGlzdGFuY2VUaW1lciA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgdGhpcy5kaXN0YW5jZUZyb21Ob3cgPSB0aGlzLl9kaXN0YW5jZTtcbiAgICAgIH0sIDMwMDAwKTtcbiAgICB9XG4gIH1cblxuICBtb250aENoYW5nZWQobW9udGgsIHllYXIpIHtcbiAgICBpZiAoeWVhciAmJiBtb250aCkge1xuICAgICAgY29uc3QgYWRkID0gdGhpcy50aW1lICYmIHRoaXMucmFuZ2UgPyAwIDogMTtcbiAgICAgIGNvbnN0IG1vbnRoUGx1cyA9IGAwJHsobW9udGggJSAxMikgKyBhZGR9YDtcbiAgICAgIHRoaXMuX21vbnRoUGx1cyA9IG1vbnRoUGx1cy5zdWJzdHJpbmcobW9udGhQbHVzLmxlbmd0aCAtIDIpO1xuICAgICAgaWYgKHRoaXMuX21vbnRoUGx1cyA9PT0gJzAxJykge1xuICAgICAgICB0aGlzLl95ZWFyUGx1cyA9IHBhcnNlSW50KHllYXIsIDEwKSArIGFkZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3llYXJQbHVzID0gcGFyc2VJbnQoeWVhciwgMTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZWQocHJvcGVydGllcykge1xuICAgIGlmIChwcm9wZXJ0aWVzLmhhcygnX21vbnRoJykgfHwgcHJvcGVydGllcy5oYXMoJ195ZWFyJykpIHtcbiAgICAgIHRoaXMubW9udGhDaGFuZ2VkKHRoaXMuX21vbnRoLCB0aGlzLl95ZWFyKTtcbiAgICB9XG4gICAgaWYgKHByb3BlcnRpZXMuaGFzKCd2YWx1ZScpKSB7XG4gICAgICBpZiAodGhpcy52YWx1ZSA9PSBudWxsIHx8ICh0aGlzLnZhbHVlLmZpbHRlciAmJiB0aGlzLnZhbHVlLmZpbHRlcigodikgPT4gdiAhPSBudWxsKS5sZW5ndGggPT09IDApKSB7XG4gICAgICAgIHRoaXMuX2Zyb20gPSBudWxsO1xuICAgICAgICB0aGlzLl90byA9IG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy5yYW5nZSkge1xuICAgICAgICAgIHRoaXMuX2Zyb20gPSB0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUubGVuZ3RoID4gMCA/IHRoaXMudmFsdWVbMF0gLyAxMDAwIDogbnVsbDtcbiAgICAgICAgICB0aGlzLl90byA9IHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS5sZW5ndGggPiAxID8gdGhpcy52YWx1ZVsxXSAvIDEwMDAgOiBudWxsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX2Zyb20gPSB0aGlzLnZhbHVlIC8gMTAwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIF9vbk1vbnRoQ2hhbmdlZCh7IGRldGFpbCB9KSB7XG4gICAgdGhpcy5fbW9udGggPSBkZXRhaWwubW9udGg7XG4gICAgdGhpcy5feWVhciA9IGRldGFpbC55ZWFyO1xuICAgIHRoaXMuX2hvdmVyZWREYXRlID0gbnVsbDtcbiAgICBpZiAoISh0aGlzLnJhbmdlICYmIHRoaXMudGltZSkpIHtcbiAgICAgIHRoaXMuX21vZGUgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIF9vblllYXJDaGFuZ2VkKHsgZGV0YWlsIH0pIHtcbiAgICB0aGlzLl95ZWFyID0gZGV0YWlsLnllYXI7XG4gIH1cblxuICBfb25Nb250aE1vZGUoeyBkZXRhaWwgfSkge1xuICAgIGlmICh0aGlzLnRpbWUgJiYgdGhpcy5yYW5nZSkge1xuICAgICAgdGhpcy5fbW9udGggPSBkZXRhaWwubW9udGg7XG4gICAgICB0aGlzLl95ZWFyID0gZGV0YWlsLnllYXI7XG4gICAgfVxuICB9XG5cbiAgX29uWWVhck1vZGUoeyBkZXRhaWwgfSkge1xuICAgIGlmICh0aGlzLnRpbWUgJiYgdGhpcy5yYW5nZSkge1xuICAgICAgdGhpcy5fbW9udGggPSBkZXRhaWwubW9udGg7XG4gICAgICB0aGlzLl95ZWFyID0gZGV0YWlsLnllYXI7XG4gICAgfVxuICB9XG5cbiAgX29uQmx1ckZvcm0oeyB0YXJnZXQgfSkge1xuICAgIGNvbnN0IHZhbHVlID0gdGFyZ2V0LnZhbHVlO1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgY29uc3QgZGF0ZSA9IHRoaXMucGFyc2VWYWx1ZSh2YWx1ZSk7XG4gICAgICBpZiAoZGF0ZSAmJiAhaXNOYU4oZGF0ZSkpIHtcbiAgICAgICAgdGhpcy5fbW9udGggPSAoZ2V0TW9udGgoZGF0ZSkgKyAxKS50b1N0cmluZygpO1xuICAgICAgICB0aGlzLl95ZWFyID0gZ2V0WWVhcihkYXRlKS50b1N0cmluZygpO1xuICAgICAgICB0aGlzLl9mcm9tID0gZGF0ZS5nZXRUaW1lKCkgLyAxMDAwO1xuICAgICAgICB0aGlzLmludmFsaWQgPSBpc0ludmFsaWQodGhpcy5fZnJvbSwgdGhpcy5fbWluLCB0aGlzLl9tYXgsICF0aGlzLnRpbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIF9vbkJsdXJUbyh7IHRhcmdldCB9KSB7XG4gICAgY29uc3QgdmFsdWUgPSB0YXJnZXQudmFsdWU7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBkYXRlID0gdGhpcy5wYXJzZVZhbHVlKHZhbHVlKTtcbiAgICAgIGlmIChkYXRlICYmICFpc05hTihkYXRlKSkge1xuICAgICAgICB0aGlzLl9tb250aCA9IChnZXRNb250aChkYXRlKSArIDEpLnRvU3RyaW5nKCk7XG4gICAgICAgIHRoaXMuX3llYXIgPSBnZXRZZWFyKGRhdGUpLnRvU3RyaW5nKCk7XG4gICAgICAgIHRoaXMuX3RvID0gZGF0ZS5nZXRUaW1lKCkgLyAxMDAwO1xuICAgICAgICB0aGlzLmludmFsaWQgPSBpc0ludmFsaWQodGhpcy5fdG8sIHRoaXMuX21pbiwgdGhpcy5fbWF4LCAhdGhpcy50aW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBob3ZlcmVkRGF0ZUNoYW5nZWQoeyBkZXRhaWwgfSkge1xuICAgIHRoaXMuX2hvdmVyZWREYXRlID0gZGV0YWlsLnZhbHVlO1xuICB9XG5cbiAgZGF0ZUZyb21DaGFuZ2VkKHsgZGV0YWlsIH0pIHtcbiAgICBpZiAodGhpcy50aW1lICYmIHRoaXMucmFuZ2UpIHtcbiAgICAgIGlmICh0aGlzLl9tb2RlID09PSAnZnJvbScpIHtcbiAgICAgICAgdGhpcy5fZnJvbSA9IGRldGFpbC52YWx1ZTtcbiAgICAgICAgY29uc3QgaW5wdXRzID0gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5yYW5nZS1pbnB1dCBndi1pbnB1dCcpO1xuICAgICAgICBpbnB1dHNbaW5wdXRzLmxlbmd0aCAtIDFdLmZvY3VzKCk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMuX21vZGUgPSAndG8nKSwgMCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl90byA9IGRldGFpbC52YWx1ZTtcbiAgICAgICAgdGhpcy5fb3BlbiA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5fdG8gPCB0aGlzLl9mcm9tKSB7XG4gICAgICAgICAgY29uc3QgdG1wID0gdGhpcy5fdG87XG4gICAgICAgICAgdGhpcy5fdG8gPSB0aGlzLl9mcm9tO1xuICAgICAgICAgIHRoaXMuX2Zyb20gPSB0bXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCF0aGlzLnJhbmdlKSB7XG4gICAgICB0aGlzLl9mcm9tID0gZGV0YWlsLnZhbHVlO1xuICAgICAgdGhpcy5fb3BlbiA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9mcm9tID0gZGV0YWlsLnZhbHVlO1xuICAgIH1cbiAgICBpZiAodGhpcy5fZGlzdGFuY2UpIHtcbiAgICAgIHRoaXMuZGlzdGFuY2VGcm9tTm93ID0gdGhpcy5fZGlzdGFuY2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucmFuZ2UpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBbdGhpcy5fZnJvbSAqIDEwMDAsIHRoaXMuX3RvICogMTAwMF07XG4gICAgICB0aGlzLmludmFsaWQgPVxuICAgICAgICBpc0ludmFsaWQodGhpcy5fdG8sIHRoaXMuX21pbiwgdGhpcy5fbWF4LCAhdGhpcy50aW1lKSB8fFxuICAgICAgICBpc0ludmFsaWQodGhpcy5fZnJvbSwgdGhpcy5fbWluLCB0aGlzLl9tYXgsICF0aGlzLnRpbWUpIHx8XG4gICAgICAgIHRoaXMuX3RvID09PSB0aGlzLl9mb3JtO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5fZnJvbSAqIDEwMDA7XG4gICAgICB0aGlzLmludmFsaWQgPSBpc0ludmFsaWQodGhpcy5fZnJvbSwgdGhpcy5fbWluLCB0aGlzLl9tYXgsICF0aGlzLnRpbWUpO1xuICAgIH1cbiAgICB0aGlzLnZhbGlkID0gIXRoaXMuaW52YWxpZDtcbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KSk7XG4gICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnaW5wdXQnLCB0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGRhdGVUb0NoYW5nZWQoeyBkZXRhaWwgfSkge1xuICAgIGlmICh0aGlzLl9kaXN0YW5jZSkge1xuICAgICAgdGhpcy5kaXN0YW5jZUZyb21Ob3cgPSB0aGlzLl9kaXN0YW5jZTtcbiAgICB9XG4gICAgdGhpcy5fdG8gPSBkZXRhaWwudmFsdWU7XG4gICAgaWYgKHRoaXMuX3RvKSB7XG4gICAgICB0aGlzLl9vcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLnZhbHVlID0gW3RoaXMuX2Zyb20gKiAxMDAwLCB0aGlzLl90byAqIDEwMDBdO1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkpO1xuICAgICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnaW5wdXQnLCB0aGlzLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBnZXRGb3JtYXQoKSB7XG4gICAgaWYgKHRoaXMudGltZSAmJiB0aGlzLnN0cmljdCkge1xuICAgICAgcmV0dXJuIHRoaXMuc3RyaWN0VGltZUZvcm1hdDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudGltZSA/IGAke3RoaXMuZm9ybWF0fSAke3RoaXMudGltZUZvcm1hdH1gIDogdGhpcy5mb3JtYXQ7XG4gIH1cblxuICBhc3luYyBnZXRGb3JtYXR0ZWREYXRlKGRhdGUpIHtcbiAgICBpZiAoZGF0ZSkge1xuICAgICAgY29uc3QgbG9jYWxlID0gYXdhaXQgdGhpcy5nZXRMb2NhbGUoKTtcbiAgICAgIHJldHVybiBmb3JtYXQobmV3IERhdGUoZGF0ZSAqIDEwMDApLCB0aGlzLmdldEZvcm1hdCgpLCBsb2NhbGUpO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwYXJzZVZhbHVlKHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICByZXR1cm4gcGFyc2UodmFsdWUsIHRoaXMuZ2V0Rm9ybWF0KCksIG5ldyBEYXRlKCkpO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cblxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3YtZGF0ZS1waWNrZXInLCBHdkRhdGVQaWNrZXIpO1xuIl19
533
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWRhdGUtcGlja2VyLmpzIl0sIm5hbWVzIjpbImVuVVMiLCJmb3JtYXQiLCJnZXRNb250aCIsImdldFllYXIiLCJwYXJzZSIsImNsYXNzTWFwIiwiY3NzIiwiTGl0RWxlbWVudCIsImdldExhbmd1YWdlIiwiaTE4biIsImh0bWwiLCJpc0ludmFsaWQiLCJ1bnRpbCIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJsb2NhbGVzIiwiZW4iLCJHdkRhdGVQaWNrZXIiLCJwcm9wZXJ0aWVzIiwicmFuZ2UiLCJ0eXBlIiwiQm9vbGVhbiIsImxhYmVsIiwiU3RyaW5nIiwibmFtZSIsInRpbWUiLCJzdHJpY3QiLCJzbWFsbCIsInZhbHVlIiwiQXJyYXkiLCJyZWZsZWN0IiwibWluIiwiTnVtYmVyIiwibWF4IiwiZGlzdGFuY2VGcm9tTm93IiwiZGlzYWJsZWREYXRlcyIsImludmFsaWQiLCJ2YWxpZCIsIl9ob3ZlcmVkRGF0ZSIsImF0dHJpYnV0ZSIsIl9vcGVuIiwiX21vbnRoIiwiX3llYXIiLCJfbW9udGhQbHVzIiwiX3llYXJQbHVzIiwiX21vZGUiLCJfZnJvbSIsIl90byIsIl9taW4iLCJfbWF4IiwiX2Rpc3RhbmNlIiwic3R5bGVzIiwiY29uc3RydWN0b3IiLCJfaWQiLCJ0aW1lRm9ybWF0Iiwic3RyaWN0VGltZUZvcm1hdCIsImhhbmRsZUNsaWNrIiwiX29uQ2xpY2siLCJiaW5kIiwiaGFuZGxlRG9jdW1lbnRDbGljayIsIl9vbkRvY3VtZW50Q2xpY2siLCJjb25uZWN0ZWRDYWxsYmFjayIsImFkZEV2ZW50TGlzdGVuZXIiLCJkb2N1bWVudCIsImdldExvY2FsZSIsInRoZW4iLCJsb2NhbGUiLCJEYXRlIiwiZ2V0VGltZSIsImRpc2Nvbm5lY3RlZENhbGxiYWNrIiwiY2xlYXJJbnRlcnZhbCIsIl9kaXN0YW5jZVRpbWVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInBhcnNlSW50Iiwibm93IiwiZSIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwicGVyZm9ybVVwZGF0ZSIsIl9vbkZvY3VzIiwibW9kZSIsImxhbmciLCJkZWZhdWx0IiwiY29uc29sZSIsImVycm9yIiwiZGF0ZUZyb21QbGFjZWhvbGRlciIsImdldEZvcm1hdCIsImRhdGVUb1BsYWNlaG9sZGVyIiwiaWNvbiIsImhhc0NvbnRlbnQiLCJfb25DbGVhciIsImRpc3BhdGNoRXZlbnQiLCJFdmVudCIsImJ1YmJsZXMiLCJjYW5jZWxhYmxlIiwicmVuZGVyIiwiY2xhc3NlcyIsImJveCIsIm9wZW4iLCJoYXNGcm9tIiwiaGFzVG8iLCJkaXNhYmxlZCIsIl9vbkJsdXJGb3JtIiwiZ2V0Rm9ybWF0dGVkRGF0ZSIsIl9vbkJsdXJUbyIsIl9vbk1vbnRoTW9kZSIsIl9vblllYXJNb2RlIiwiX29uTW9udGhDaGFuZ2VkIiwiX29uWWVhckNoYW5nZWQiLCJob3ZlcmVkRGF0ZUNoYW5nZWQiLCJkYXRlVG9DaGFuZ2VkIiwiZGF0ZUZyb21DaGFuZ2VkIiwiZmlyc3RVcGRhdGVkIiwic2V0SW50ZXJ2YWwiLCJtb250aENoYW5nZWQiLCJtb250aCIsInllYXIiLCJhZGQiLCJtb250aFBsdXMiLCJzdWJzdHJpbmciLCJsZW5ndGgiLCJ1cGRhdGVkIiwiaGFzIiwiZmlsdGVyIiwidiIsImRldGFpbCIsInRhcmdldCIsImRhdGUiLCJwYXJzZVZhbHVlIiwiaXNOYU4iLCJ0b1N0cmluZyIsImlucHV0cyIsInNoYWRvd1Jvb3QiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9jdXMiLCJzZXRUaW1lb3V0IiwidG1wIiwiX2Zvcm0iLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTywyQkFBUDtBQUNBLE9BQU9BLElBQVAsTUFBaUIsdUJBQWpC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QUNWLFFBQUksS0FBSzdELElBQUwsSUFBYSxLQUFLQyxNQUF0QixFQUE4QjtBQUM1QixhQUFPLEtBQUs2QixnQkFBWjtBQUNEOztBQUNELFdBQU8sS0FBSzlCLElBQUwsR0FBYSxHQUFFLEtBQUt2QixNQUFPLElBQUcsS0FBS29ELFVBQVcsRUFBOUMsR0FBa0QsS0FBS3BELE1BQTlEO0FBQ0Q7O0FBRXFCLFFBQWhCcUcsZ0JBQWdCLENBQUN3QixJQUFELEVBQU87QUFDM0IsUUFBSUEsSUFBSixFQUFVO0FBQ1IsWUFBTTdELE1BQU0sR0FBRyxNQUFNLEtBQUtGLFNBQUwsRUFBckI7QUFDQSxhQUFPOUQsTUFBTSxDQUFDLElBQUlpRSxJQUFKLENBQVM0RCxJQUFJLEdBQUcsSUFBaEIsQ0FBRCxFQUF3QixLQUFLekMsU0FBTCxFQUF4QixFQUEwQ3BCLE1BQTFDLENBQWI7QUFDRDs7QUFDRCxXQUFPLEVBQVA7QUFDRDs7QUFFRDhELEVBQUFBLFVBQVUsQ0FBQ3BHLEtBQUQsRUFBUTtBQUNoQixRQUFJQSxLQUFKLEVBQVc7QUFDVCxhQUFPdkIsS0FBSyxDQUFDdUIsS0FBRCxFQUFRLEtBQUswRCxTQUFMLEVBQVIsRUFBMEIsSUFBSW5CLElBQUosRUFBMUIsQ0FBWjtBQUNEOztBQUNELFdBQU8sRUFBUDtBQUNEOztBQXZtQjBDO0FBMG1CN0N1RSxNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE1BQXRCLENBQTZCLGdCQUE3QixFQUErQzNILFlBQS9DIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCAnLi9ndi1kYXRlLXBpY2tlci1jYWxlbmRhcic7XG5pbXBvcnQgZW5VUyBmcm9tICdkYXRlLWZucy9sb2NhbGUvZW4tVVMnO1xuaW1wb3J0IHsgZm9ybWF0LCBnZXRNb250aCwgZ2V0WWVhciwgcGFyc2UgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBjbGFzc01hcCB9IGZyb20gJ2xpdC1odG1sL2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcbmltcG9ydCB7IGNzcywgTGl0RWxlbWVudCB9IGZyb20gJ2xpdC1lbGVtZW50JztcbmltcG9ydCB7IGdldExhbmd1YWdlLCBpMThuIH0gZnJvbSAnLi4vbGliL2kxOG4nO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdC1odG1sJztcbmltcG9ydCB7IGlzSW52YWxpZCB9IGZyb20gJy4uL2xpYi9kYXRlJztcbmltcG9ydCB7IHVudGlsIH0gZnJvbSAnbGl0LWh0bWwvZGlyZWN0aXZlcy91bnRpbCc7XG5pbXBvcnQgeyBkaXNwYXRjaEN1c3RvbUV2ZW50IH0gZnJvbSAnLi4vbGliL2V2ZW50cyc7XG5cbmNvbnN0IGxvY2FsZXMgPSB7IGVuOiBlblVTIH07XG5cbi8qKlxuICogRGF0ZSBQaWNrZXJcbiAqXG4gKiAjIyBEZXRhaWxzXG4gKiAqIGhhcyBAdGhlbWUgZmFjZXRcbiAqXG4gKiBAYXR0ciB7TnVtYmVyfEFycmF5fSB2YWx1ZSAtIGlmIHJhbmdlIHBpY2tlciwgdmFsdWUgaXMgYW4gYXJyYXkgb2YgdGltZXN0YW1wIGVsc2UgaXMgYSB0aW1lc3RhbXBcbiAqIEBhdHRyIHtCb29sZWFufSByYW5nZSAtIGlmIGhhcyByYW5nZSBwaWNrZXJcbiAqIEBhdHRyIHtCb29sZWFufSB0aW1lIC0gaWYgaGFzIHRpbWUgcGlja2VyXG4gKiBAYXR0ciB7U3RyaW5nfSBuYW1lIC0gbmFtZSBvZiB0aGUgaW5wdXRcbiAqIEBhdHRyIHtCb29sZWFufSBzdHJpY3QgLSBpbiBjb21wbGV0aW9uIG9mIHRpbWUgaWYganVzdCBoYXZlIHRpbWUgcGlja2VyXG4gKiBAYXR0ciB7TnVtYmVyfSBtaW4gLSBtaW4gdGltZXN0YW1wXG4gKiBAYXR0ciB7TnVtYmVyfSBtYXggLSBtYXggdGltZXN0YW1wXG4gKiBAYXR0ciB7TnVtYmVyfSBkaXN0YW5jZUZyb21Ob3cgLSBUaGUgZGlzdGFuY2UgdGltZXN0YW1wIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IGRhdGUuIElmIGNvbmZpZ3VyZWQsIHRoZSBtaW4gLyBtYXggd2lsbCBiZSB1cGRhdGVkIGV2ZXJ5IG1pbnV0ZS5cbiAqIEBhdHRyIHtTdHJpbmd9IGZvcm1hdCAtIGRhdGUgZm9ybWF0XG4gKiBAYXR0ciB7Qm9vbGVhbn0gdmFsaWQgLSBpZiB2YWx1ZSBpcyB2YWxpZFxuICogQGF0dHIge0Jvb2xlYW59IGludmFsaWQgLSBpZiB2YWx1ZSBpcyBpbnZhbGlkXG4gKiBAYXR0ciB7Qm9vbGVhbn0gc21hbGwgLSBmb3IgYSBzbWFsbCBpbnB1dFxuICpcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtZGF0ZS1waWNrZXItaG92ZXItLWJnYz12YXIoLS1ndi10aGVtZS1jb2xvci1saWdodCwgIzg2YzNkMCldIC0gSG92ZXIgYmFja2dyb3VuZCBjb2xvclxuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi1kYXRlLXBpY2tlci1ob3Zlci0tYz12YXIoLS1ndi10aGVtZS1mb250LWNvbG9yLWRhcmssICMyNjI2MjYpXSAtIEhvdmVyIGNvbG9yXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWRhdGUtcGlja2VyLXNlbGVjdGVkLS1iZ2M9dmFyKC0tZ3YtdGhlbWUtY29sb3IsICM1YTc2ODQpXSAtIFNlbGVjdGVkIGJhY2tncm91bmQgY29sb3JcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtZGF0ZS1waWNrZXItc2VsZWN0ZWQtLWM9dmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1saWdodCwgI2ZmZmZmZildIC0gU2VsZWN0ZWQgY29sb3JcbiAqL1xuZXhwb3J0IGNsYXNzIEd2RGF0ZVBpY2tlciBleHRlbmRzIExpdEVsZW1lbnQge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJhbmdlOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIGxhYmVsOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgbmFtZTogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIHRpbWU6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgc3RyaWN0OiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIHNtYWxsOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIHZhbHVlOiB7IHR5cGU6IEFycmF5LCByZWZsZWN0OiB0cnVlIH0sXG4gICAgICBtaW46IHsgdHlwZTogTnVtYmVyIH0sXG4gICAgICBtYXg6IHsgdHlwZTogTnVtYmVyIH0sXG4gICAgICBkaXN0YW5jZUZyb21Ob3c6IHsgdHlwZTogTnVtYmVyIH0sXG4gICAgICBkaXNhYmxlZERhdGVzOiB7IHR5cGU6IEFycmF5IH0sXG4gICAgICBmb3JtYXQ6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBpbnZhbGlkOiB7IHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgIHZhbGlkOiB7IHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgIF9ob3ZlcmVkRGF0ZTogeyB0eXBlOiBTdHJpbmcsIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICAgIF9vcGVuOiB7IHR5cGU6IEJvb2xlYW4sIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICAgIF9tb250aDogeyB0eXBlOiBTdHJpbmcsIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICAgIF95ZWFyOiB7IHR5cGU6IFN0cmluZywgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgX21vbnRoUGx1czogeyB0eXBlOiBTdHJpbmcsIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICAgIF95ZWFyUGx1czogeyB0eXBlOiBOdW1iZXIsIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICAgIF9tb2RlOiB7IHR5cGU6IFN0cmluZywgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgX2Zyb206IHsgdHlwZTogTnVtYmVyLCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgICBfdG86IHsgdHlwZTogTnVtYmVyLCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgICBfbWluOiB7IHR5cGU6IE51bWJlciwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgX21heDogeyB0eXBlOiBOdW1iZXIsIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICAgIF9kaXN0YW5jZTogeyB0eXBlOiBOdW1iZXIsIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC8vIGxhbmd1YWdlPUNTU1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwLjJyZW07XG4gICAgICAgICAgLS1ndi1pbnB1dC1pY29uLS1iZ2M6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIC0tZ3YtaWNvbi0tczogMjJweDtcbiAgICAgICAgICAtLWRhdGUtcGlja2VyLWhvdmVyLS1iZ2M6IHZhcigtLWd2LWRhdGUtcGlja2VyLWhvdmVyLS1iZ2MsIHZhcigtLWd2LXRoZW1lLWNvbG9yLWxpZ2h0LCAjODZjM2QwKSk7XG4gICAgICAgICAgLS1kYXRlLXBpY2tlci1ob3Zlci0tYzogdmFyKC0tZ3YtZGF0ZS1waWNrZXItaG92ZXItLWMsIHZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItZGFyaywgIzI2MjYyNikpO1xuICAgICAgICAgIC0tZGF0ZS1waWNrZXItc2VsZWN0ZWQtLWJnYzogdmFyKC0tZ3YtZGF0ZS1waWNrZXItc2VsZWN0ZWQtLWJnYywgdmFyKC0tZ3YtdGhlbWUtY29sb3IsICM1YTc2ODQpKTtcbiAgICAgICAgICAtLWRhdGUtcGlja2VyLXNlbGVjdGVkLS1jOiB2YXIoLS1ndi1kYXRlLXBpY2tlci1zZWxlY3RlZC0tYywgdmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1saWdodCwgI2ZmZmZmZikpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLW0sIDE0cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgOmhvc3QoW3NtYWxsXSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLXMsIDEycHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaW5wdXQge1xuICAgICAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAudGltZSBndi1pbnB1dCB7XG4gICAgICAgICAgd2lkdGg6IDIwNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgOm5vdCgucmFuZ2UpIGd2LWlucHV0IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yYW5nZSBndi1pbnB1dCB7XG4gICAgICAgICAgLS1ndi1pbnB1dC0tYmRzOiBub25lO1xuICAgICAgICAgIC0tZ3YtaW5wdXQtLWJkdzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aW1lIC5yYW5nZS1pbnB1dCBndi1pbnB1dCB7XG4gICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJhbmdlLWlucHV0IGd2LWlucHV0IHtcbiAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAucmFuZ2UuaGFzRnJvbS5vcGVuIGd2LWlucHV0OmZpcnN0LW9mLXR5cGUsXG4gICAgICAgIC5yYW5nZS5oYXNGcm9tLm9wZW4gLmJveC1pY29uOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ndi1kYXRlLXBpY2tlci1zZWxlY3RlZC0tYmdjLCB2YXIoLS1ndi10aGVtZS1jb2xvciwgIzVhNzY4NCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJhbmdlLmhhc1RvLm9wZW4gZ3YtaW5wdXQ6bGFzdC1vZi10eXBlLFxuICAgICAgICAucmFuZ2UuaGFzVG8ub3BlbiAuYm94LWljb246bm90KC5ib3gtaWNvbi1jYWxlbmRhcikge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ndi1kYXRlLXBpY2tlci1zZWxlY3RlZC0tYmdjLCB2YXIoLS1ndi10aGVtZS1jb2xvciwgIzVhNzY4NCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJhbmdlLWlucHV0IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgYm9yZGVyOiB2YXIoLS1ndi1pbnB1dC0tYmR3LCAxcHgpIHZhcigtLWd2LWlucHV0LS1iZHMsIHNvbGlkKSB2YXIoLS1ndi1pbnB1dC0tYmRjLCB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWRhcmssICNkOWQ5ZDkpKTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgbWFyZ2luOiAwLjJyZW07XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3gtaWNvbiB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveC1pY29uLWNhbGVuZGFyIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3gtaWNvbi1hcnJvdyxcbiAgICAgICAgLmJveC1pY29uLWNhbGVuZGFyIHtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3gtaWNvbi1jbGVhciB7XG4gICAgICAgICAgLS1ndi1pY29uLS1zOiAxNnB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3gtaWNvbi1jbGVhciBndi1pY29uIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuYm94Lm9wZW4gLmNhbGVuZGFyIHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IC13ZWJraXQtdHJhbnNsYXRlWSgwJSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FsZW5kYXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlc3QsICNmZmZmZmYpO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1ndi10aGVtZS1mb250LWNvbG9yLCAjMjYyNjI2KTtcbiAgICAgICAgICBtYXJnaW46IDAuMnJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3IsICNmNWY1ZjUpLCAwIDFweCAzcHggdmFyKC0tZ3YtdGhlbWUtbmV1dHJhbC1jb2xvci1kYXJrLCAjYmZiZmJmKTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IC13ZWJraXQtdHJhbnNsYXRlWSgtMmVtKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJlbSk7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAxNTBtcyBlYXNlLWluLW91dCwgb3BhY2l0eSAxNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgICA6aG9zdChbaW52YWxpZF0pIC5yYW5nZS1pbnB1dCB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjYTk0NDQyO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIDpob3N0KFtpbnZhbGlkXSkgLmJveC1pY29uLWNhbGVuZGFyIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICAgICAgfVxuICAgICAgYCxcbiAgICBdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9pZCA9ICdndi1pZCc7XG4gICAgdGhpcy5zdHJpY3QgPSBmYWxzZTtcbiAgICB0aGlzLnJhbmdlID0gZmFsc2U7XG4gICAgdGhpcy50aW1lID0gZmFsc2U7XG4gICAgdGhpcy5mb3JtYXQgPSAnZGQvTU0veXl5eSc7XG4gICAgY29uc3QgZm9ybWF0ID0gaTE4bignZ3YtZGF0ZS1waWNrZXIuZm9ybWF0Jyk7XG4gICAgaWYgKGZvcm1hdCAhPT0gJ3Vua25vd24nKSB7XG4gICAgICB0aGlzLmZvcm1hdCA9IGZvcm1hdDtcbiAgICB9XG4gICAgdGhpcy50aW1lRm9ybWF0ID0gJ0hIOm1tJztcbiAgICB0aGlzLnN0cmljdFRpbWVGb3JtYXQgPSAnSEg6bW06c3MnO1xuICAgIHRoaXMuaGFuZGxlQ2xpY2sgPSB0aGlzLl9vbkNsaWNrLmJpbmQodGhpcyk7XG4gICAgdGhpcy5oYW5kbGVEb2N1bWVudENsaWNrID0gdGhpcy5fb25Eb2N1bWVudENsaWNrLmJpbmQodGhpcyk7XG4gICAgdGhpcy5kaXNhYmxlZERhdGVzID0gW107XG4gIH1cblxuICBjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmhhbmRsZUNsaWNrKTtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuaGFuZGxlRG9jdW1lbnRDbGljayk7XG4gICAgdGhpcy5nZXRMb2NhbGUoKS50aGVuKChsb2NhbGUpID0+IHtcbiAgICAgIHRoaXMuX3llYXIgPSBmb3JtYXQobmV3IERhdGUoKS5nZXRUaW1lKCksICd5eXl5JywgeyBsb2NhbGUgfSk7XG4gICAgICB0aGlzLl9tb250aCA9IGZvcm1hdChuZXcgRGF0ZSgpLmdldFRpbWUoKSwgJ01NJywgeyBsb2NhbGUgfSk7XG4gICAgfSk7XG4gIH1cblxuICBkaXNjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICBjbGVhckludGVydmFsKHRoaXMuX2Rpc3RhbmNlVGltZXIpO1xuICAgIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmhhbmRsZUNsaWNrKTtcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuaGFuZGxlRG9jdW1lbnRDbGljayk7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgfVxuXG4gIHNldCBtaW4odmFsdWUpIHtcbiAgICB0aGlzLl9taW4gPSBwYXJzZUludCh2YWx1ZSAvIDEwMDAsIDEwKTtcbiAgfVxuXG4gIHNldCBtYXgodmFsdWUpIHtcbiAgICB0aGlzLl9tYXggPSBwYXJzZUludCh2YWx1ZSAvIDEwMDAsIDEwKTtcbiAgfVxuXG4gIHNldCBkaXN0YW5jZUZyb21Ob3codmFsdWUpIHtcbiAgICB0aGlzLl9kaXN0YW5jZSA9IHZhbHVlO1xuICAgIHRoaXMuX21heCA9IHBhcnNlSW50KERhdGUubm93KCkgLyAxMDAwLCAxMCk7XG4gICAgdGhpcy5fbWluID0gcGFyc2VJbnQoKERhdGUubm93KCkgLSB2YWx1ZSkgLyAxMDAwLCAxMCk7XG4gICAgaWYgKHRoaXMuX2Zyb20gJiYgdGhpcy5fZnJvbSA8IHRoaXMuX21pbikge1xuICAgICAgdGhpcy5fZnJvbSA9IHRoaXMuX21pbjtcbiAgICB9XG4gIH1cblxuICBfb25DbGljayhlKSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBfb25Eb2N1bWVudENsaWNrKGUpIHtcbiAgICB0aGlzLl9vcGVuID0gZmFsc2U7XG4gICAgdGhpcy5wZXJmb3JtVXBkYXRlKCk7XG4gIH1cblxuICBfb25Gb2N1cyhtb2RlKSB7XG4gICAgdGhpcy5fb3BlbiA9IHRydWU7XG4gICAgaWYgKHRoaXMudGltZSAmJiB0aGlzLnJhbmdlKSB7XG4gICAgICB0aGlzLl9tb2RlID0gbW9kZTtcbiAgICB9XG4gICAgdGhpcy5wZXJmb3JtVXBkYXRlKCk7XG4gIH1cblxuICBhc3luYyBnZXRMb2NhbGUoKSB7XG4gICAgY29uc3QgbGFuZyA9IGdldExhbmd1YWdlKCk7XG4gICAgaWYgKCFsYW5nKSB7XG4gICAgICByZXR1cm4gbG9jYWxlcy5lbjtcbiAgICB9XG4gICAgaWYgKCFsb2NhbGVzW2xhbmddKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBsb2NhbGUgPSBhd2FpdCBpbXBvcnQoYGRhdGUtZm5zL2xvY2FsZS8ke2xhbmd9L2luZGV4LmpzYCk7XG4gICAgICAgIGxvY2FsZXNbbGFuZ10gPSBsb2NhbGUuZGVmYXVsdDtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgW0Vycm9yXSBjYW5ub3QgbG9hZCBsb2NhbGUgJHtsYW5nfWAsIGUpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbG9jYWxlc1tsYW5nXTtcbiAgfVxuXG4gIGdldCBkYXRlRnJvbVBsYWNlaG9sZGVyKCkge1xuICAgIGlmICh0aGlzLnJhbmdlICYmIHRoaXMudGltZSAmJiB0aGlzLnN0cmljdCkge1xuICAgICAgcmV0dXJuIGkxOG4oJ2d2LWRhdGUtcGlja2VyLnN0YXJ0VGltZScpO1xuICAgIH1cbiAgICBpZiAodGhpcy5yYW5nZSkge1xuICAgICAgcmV0dXJuIGkxOG4oJ2d2LWRhdGUtcGlja2VyLnN0YXJ0RGF0ZScpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRGb3JtYXQoKTtcbiAgfVxuXG4gIGdldCBkYXRlVG9QbGFjZWhvbGRlcigpIHtcbiAgICBpZiAodGhpcy5yYW5nZSAmJiB0aGlzLnRpbWUgJiYgdGhpcy5zdHJpY3QpIHtcbiAgICAgIHJldHVybiBpMThuKCdndi1kYXRlLXBpY2tlci5lbmRUaW1lJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnJhbmdlKSB7XG4gICAgICByZXR1cm4gaTE4bignZ3YtZGF0ZS1waWNrZXIuZW5kRGF0ZScpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRGb3JtYXQoKTtcbiAgfVxuXG4gIGdldCBpY29uKCkge1xuICAgIHJldHVybiB0aGlzLl9mcm9tICE9IG51bGwgfHwgdGhpcy5fdG8gIT0gbnVsbCA/ICdjb2RlOmVycm9yJyA6ICdnZW5lcmFsOmNhbGVuZGFyJztcbiAgfVxuXG4gIGdldCBoYXNDb250ZW50KCkge1xuICAgIHJldHVybiB0aGlzLl9mcm9tICE9IG51bGwgfHwgdGhpcy5fdG8gIT0gbnVsbDtcbiAgfVxuXG4gIF9vbkNsZWFyKCkge1xuICAgIHRoaXMuaW52YWxpZCA9IGZhbHNlO1xuICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pKTtcbiAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdpbnB1dCcsIHRoaXMudmFsdWUpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IGNsYXNzZXMgPSB7XG4gICAgICBib3g6IHRydWUsXG4gICAgICBvcGVuOiB0aGlzLl9vcGVuLFxuICAgICAgcmFuZ2U6IHRoaXMucmFuZ2UsXG4gICAgICB0aW1lOiB0aGlzLnRpbWUsXG4gICAgICBoYXNGcm9tOiB0aGlzLmhhc0Zyb20oKSxcbiAgICAgIGhhc1RvOiB0aGlzLmhhc1RvKCksXG4gICAgfTtcblxuICAgIHJldHVybiBodG1sYCA8ZGl2IGNsYXNzPVwiJHtjbGFzc01hcChjbGFzc2VzKX1cIj5cbiAgICAgICR7dGhpcy5yYW5nZVxuICAgICAgICA/IGh0bWxgXG4gICAgICAgICAgICAke3RoaXMubGFiZWwgPyBodG1sYDxsYWJlbCBmb3I9JHt0aGlzLl9pZH0gdGl0bGU9XCIke3RoaXMubGFiZWx9XCI+JHt0aGlzLmxhYmVsfTwvbGFiZWw+YCA6ICcnfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJhbmdlLWlucHV0XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3gtaWNvbiBib3gtaWNvbi1jYWxlbmRhclwiPjxndi1pY29uIHNoYXBlPVwiZ2VuZXJhbDpjYWxlbmRhclwiPjwvZ3YtaWNvbj48L2Rpdj5cbiAgICAgICAgICAgICAgPGd2LWlucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCIke3RoaXMuX2lkfVwiXG4gICAgICAgICAgICAgICAgP3NtYWxsPVwiJHt0aGlzLnNtYWxsfVwiXG4gICAgICAgICAgICAgICAgP2Rpc2FibGVkPVwiJHt0aGlzLmRpc2FibGVkfVwiXG4gICAgICAgICAgICAgICAgQGZvY3VzPVwiJHt0aGlzLl9vbkZvY3VzLmJpbmQodGhpcywgJ2Zyb20nKX1cIlxuICAgICAgICAgICAgICAgIEBibHVyPVwiJHt0aGlzLl9vbkJsdXJGb3JtfVwiXG4gICAgICAgICAgICAgICAgQGd2LWlucHV0OnN1Ym1pdD1cIiR7dGhpcy5fb25CbHVyRm9ybX1cIlxuICAgICAgICAgICAgICAgIC52YWx1ZT1cIiR7dW50aWwodGhpcy5nZXRGb3JtYXR0ZWREYXRlKHRoaXMuX2Zyb20pKX1cIlxuICAgICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj1cIiR7dGhpcy5kYXRlRnJvbVBsYWNlaG9sZGVyfVwiXG4gICAgICAgICAgICAgID48L2d2LWlucHV0PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm94LWljb24gYm94LWljb24tYXJyb3dcIj48Z3YtaWNvbiBzaGFwZT1cIm5hdmlnYXRpb246YXJyb3ctcmlnaHRcIj48L2d2LWljb24+PC9kaXY+XG4gICAgICAgICAgICAgIDxndi1pbnB1dFxuICAgICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj1cIiR7dGhpcy5kYXRlVG9QbGFjZWhvbGRlcn1cIlxuICAgICAgICAgICAgICAgID9zbWFsbD1cIiR7dGhpcy5zbWFsbH1cIlxuICAgICAgICAgICAgICAgID9kaXNhYmxlZD1cIiR7dGhpcy5kaXNhYmxlZH1cIlxuICAgICAgICAgICAgICAgIEBmb2N1cz1cIiR7dGhpcy5fb25Gb2N1cy5iaW5kKHRoaXMsICd0bycpfVwiXG4gICAgICAgICAgICAgICAgQGJsdXI9XCIke3RoaXMuX29uQmx1clRvfVwiXG4gICAgICAgICAgICAgICAgQGd2LWlucHV0OnN1Ym1pdD1cIiR7dGhpcy5fb25CbHVyVG99XCJcbiAgICAgICAgICAgICAgICAudmFsdWU9XCIke3VudGlsKHRoaXMuZ2V0Rm9ybWF0dGVkRGF0ZSh0aGlzLl90bykpfVwiXG4gICAgICAgICAgICAgID48L2d2LWlucHV0PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm94LWljb24gYm94LWljb24tY2xlYXJcIj5cbiAgICAgICAgICAgICAgICAke3RoaXMuaGFzQ29udGVudCA/IGh0bWxgPGd2LWljb24gY2xhc3M9XCJsaW5rXCIgQGNsaWNrPSR7dGhpcy5fb25DbGVhcn0gc2hhcGU9XCJjb2RlOmVycm9yXCI+PC9ndi1pY29uPmAgOiAnJ31cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBgXG4gICAgICAgIDogaHRtbGBcbiAgICAgICAgPGd2LWlucHV0XG4gICAgICAgIGlkPVwiJHt0aGlzLl9pZH1cIlxuICAgICAgICBpY29uPVwiJHt0aGlzLnRpbWUgJiYgdGhpcy5zdHJpY3QgPyAnaG9tZTp0aW1lcicgOiAnZ2VuZXJhbDpjYWxlbmRhcid9XCJcbiAgICAgICAgP3NtYWxsPVwiJHt0aGlzLnNtYWxsfVwiXG4gICAgICAgID9kaXNhYmxlZD1cIiR7dGhpcy5kaXNhYmxlZH1cIlxuICAgICAgICBjbGVhcmFibGVcbiAgICAgICAgLmxhYmVsPVwiJHt0aGlzLmxhYmVsfVwiXG4gICAgICAgIEBmb2N1cz1cIiR7dGhpcy5fb25Gb2N1cy5iaW5kKHRoaXMsIG51bGwpfVwiXG4gICAgICAgIEBibHVyPVwiJHt0aGlzLl9vbkJsdXJGb3JtfVwiXG4gICAgICAgID9pbnZhbGlkPVwiJHt0aGlzLmludmFsaWR9XCJcbiAgICAgICAgIEBndi1pbnB1dDpzdWJtaXQ9XCIke3RoaXMuX29uQmx1ckZvcm19XCJcbiAgICAgICAgIEBndi1pbnB1dDpjbGVhcj1cIiR7dGhpcy5fb25DbGVhcn1cIlxuICAgICAgICAucGxhY2Vob2xkZXI9XCIke3RoaXMuZGF0ZVRvUGxhY2Vob2xkZXJ9XCJcbiAgICAgICAgLnZhbHVlPVwiJHt1bnRpbCh0aGlzLmdldEZvcm1hdHRlZERhdGUodGhpcy5fZnJvbSkpfVwiPjwvZ3YtaW5wdXQ+PC9kaXY+XG4gICAgICAgIGB9XG5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY2FsZW5kYXJcIj5cbiAgICAgICAgJHt0aGlzLnJhbmdlXG4gICAgICAgICAgPyBodG1sYFxuICAgICAgICAgICAgICAke3RoaXMuaGFzRnJvbSgpXG4gICAgICAgICAgICAgICAgPyBodG1sYDxndi1kYXRlLXBpY2tlci1jYWxlbmRhclxuICAgICAgICAgICAgICAgICAgICAuZGlzYWJsZWREYXRlcz1cIiR7dGhpcy5kaXNhYmxlZERhdGVzfVwiXG4gICAgICAgICAgICAgICAgICAgIC5taW49XCIke3RoaXMuX21pbn1cIlxuICAgICAgICAgICAgICAgICAgICAubWF4PVwiJHt0aGlzLl9tYXh9XCJcbiAgICAgICAgICAgICAgICAgICAgP3RpbWU9XCIke3RoaXMudGltZX1cIlxuICAgICAgICAgICAgICAgICAgICA/c3RyaWN0PVwiJHt0aGlzLnN0cmljdH1cIlxuICAgICAgICAgICAgICAgICAgICA/c21hbGw9XCIke3RoaXMuc21hbGx9XCJcbiAgICAgICAgICAgICAgICAgICAgP3ByZXY9XCIke3RydWV9XCJcbiAgICAgICAgICAgICAgICAgICAgP25leHQ9XCIke3RoaXMudGltZX1cIlxuICAgICAgICAgICAgICAgICAgICA/cmFuZ2U9XCIke3RoaXMucmFuZ2UgJiYgIXRoaXMudGltZX1cIlxuICAgICAgICAgICAgICAgICAgICAubW9udGg9XCIke3RoaXMuX21vbnRofVwiXG4gICAgICAgICAgICAgICAgICAgIC55ZWFyPVwiJHt0aGlzLl95ZWFyfVwiXG4gICAgICAgICAgICAgICAgICAgIC5ob3ZlcmVkRGF0ZT1cIiR7dGhpcy5faG92ZXJlZERhdGV9XCJcbiAgICAgICAgICAgICAgICAgICAgLmRhdGVUbz1cIiR7dGhpcy5fdG99XCJcbiAgICAgICAgICAgICAgICAgICAgLmRhdGVGcm9tPVwiJHt0aGlzLl9mcm9tfVwiXG4gICAgICAgICAgICAgICAgICAgIC5sb2NhbGU9XCIke3VudGlsKHRoaXMuZ2V0TG9jYWxlKCkpfVwiXG4gICAgICAgICAgICAgICAgICAgIEBndi1kYXRlLXBpY2tlci1jYWxlbmRhcjptb250aC1tb2RlPVwiJHt0aGlzLl9vbk1vbnRoTW9kZX1cIlxuICAgICAgICAgICAgICAgICAgICBAZ3YtZGF0ZS1waWNrZXItY2FsZW5kYXI6eWVhci1tb2RlPVwiJHt0aGlzLl9vblllYXJNb2RlfVwiXG4gICAgICAgICAgICAgICAgICAgIEBndi1kYXRlLXBpY2tlci1jYWxlbmRhcjptb250aC1jaGFuZ2VkPVwiJHt0aGlzLl9vbk1vbnRoQ2hhbmdlZH1cIlxuICAgICAgICAgICAgICAgICAgICBAZ3YtZGF0ZS1waWNrZXItY2FsZW5kYXI6eWVhci1jaGFuZ2VkPVwiJHt0aGlzLl9vblllYXJDaGFuZ2VkfVwiXG4gICAgICAgICAgICAgICAgICAgIEBob3ZlcmVkLWRhdGUtY2hhbmdlZD1cIiR7dGhpcy5ob3ZlcmVkRGF0ZUNoYW5nZWR9XCJcbiAgICAgICAgICAgICAgICAgICAgQGRhdGUtdG8tY2hhbmdlZD1cIiR7dGhpcy5kYXRlVG9DaGFuZ2VkfVwiXG4gICAgICAgICAgICAgICAgICAgIEBkYXRlLWZyb20tY2hhbmdlZD1cIiR7dGhpcy5kYXRlRnJvbUNoYW5nZWR9XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDwvZ3YtZGF0ZS1waWNrZXItY2FsZW5kYXI+YFxuICAgICAgICAgICAgICAgIDogJyd9XG4gICAgICAgICAgICAgICR7dGhpcy5oYXNUbygpXG4gICAgICAgICAgICAgICAgPyBodG1sYDxndi1kYXRlLXBpY2tlci1jYWxlbmRhclxuICAgICAgICAgICAgICAgICAgICAuZGlzYWJsZWREYXRlcz1cIiR7dGhpcy5kaXNhYmxlZERhdGVzfVwiXG4gICAgICAgICAgICAgICAgICAgIC5taW49XCIke3RoaXMuX21pbn1cIlxuICAgICAgICAgICAgICAgICAgICAubWF4PVwiJHt0aGlzLl9tYXh9XCJcbiAgICAgICAgICAgICAgICAgICAgP3RpbWU9XCIke3RoaXMudGltZX1cIlxuICAgICAgICAgICAgICAgICAgICA/c3RyaWN0PVwiJHt0aGlzLnN0cmljdH1cIlxuICAgICAgICAgICAgICAgICAgICA/c21hbGw9XCIke3RoaXMuc21hbGx9XCJcbiAgICAgICAgICAgICAgICAgICAgP3ByZXY9XCIke3RoaXMudGltZX1cIlxuICAgICAgICAgICAgICAgICAgICA/bmV4dD1cIiR7dHJ1ZX1cIlxuICAgICAgICAgICAgICAgICAgICA/cmFuZ2U9XCIke3RoaXMucmFuZ2UgJiYgIXRoaXMudGltZX1cIlxuICAgICAgICAgICAgICAgICAgICAubW9udGg9XCIke3RoaXMuX21vbnRoUGx1c31cIlxuICAgICAgICAgICAgICAgICAgICAueWVhcj1cIiR7dGhpcy5feWVhclBsdXN9XCJcbiAgICAgICAgICAgICAgICAgICAgLmhvdmVyZWREYXRlPVwiJHt0aGlzLl9ob3ZlcmVkRGF0ZX1cIlxuICAgICAgICAgICAgICAgICAgICAuZGF0ZVRvPVwiJHt0aGlzLl90b31cIlxuICAgICAgICAgICAgICAgICAgICAuZGF0ZUZyb209XCIke3RoaXMuX2Zyb219XCJcbiAgICAgICAgICAgICAgICAgICAgLmxvY2FsZT1cIiR7dW50aWwodGhpcy5nZXRMb2NhbGUoKSl9XCJcbiAgICAgICAgICAgICAgICAgICAgQGd2LWRhdGUtcGlja2VyLWNhbGVuZGFyOm1vbnRoLW1vZGU9XCIke3RoaXMuX29uTW9udGhNb2RlfVwiXG4gICAgICAgICAgICAgICAgICAgIEBndi1kYXRlLXBpY2tlci1jYWxlbmRhcjp5ZWFyLW1vZGU9XCIke3RoaXMuX29uWWVhck1vZGV9XCJcbiAgICAgICAgICAgICAgICAgICAgQGd2LWRhdGUtcGlja2VyLWNhbGVuZGFyOm1vbnRoLWNoYW5nZWQ9XCIke3RoaXMuX29uTW9udGhDaGFuZ2VkfVwiXG4gICAgICAgICAgICAgICAgICAgIEBndi1kYXRlLXBpY2tlci1jYWxlbmRhcjp5ZWFyLWNoYW5nZWQ9XCIke3RoaXMuX29uWWVhckNoYW5nZWR9XCJcbiAgICAgICAgICAgICAgICAgICAgQGhvdmVyZWQtZGF0ZS1jaGFuZ2VkPVwiJHt0aGlzLmhvdmVyZWREYXRlQ2hhbmdlZH1cIlxuICAgICAgICAgICAgICAgICAgICBAZGF0ZS10by1jaGFuZ2VkPVwiJHt0aGlzLmRhdGVUb0NoYW5nZWR9XCJcbiAgICAgICAgICAgICAgICAgICAgQGRhdGUtZnJvbS1jaGFuZ2VkPVwiJHt0aGlzLmRhdGVGcm9tQ2hhbmdlZH1cIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPC9ndi1kYXRlLXBpY2tlci1jYWxlbmRhcj5gXG4gICAgICAgICAgICAgICAgOiAnJ31cbiAgICAgICAgICAgIGBcbiAgICAgICAgICA6IGh0bWxgXG4gICAgICAgICAgICAgIDxndi1kYXRlLXBpY2tlci1jYWxlbmRhclxuICAgICAgICAgICAgICAgIC5kaXNhYmxlZERhdGVzPVwiJHt0aGlzLmRpc2FibGVkRGF0ZXN9XCJcbiAgICAgICAgICAgICAgICAubWluPVwiJHt0aGlzLl9taW59XCJcbiAgICAgICAgICAgICAgICAubWF4PVwiJHt0aGlzLl9tYXh9XCJcbiAgICAgICAgICAgICAgICA/dGltZT1cIiR7dGhpcy50aW1lfVwiXG4gICAgICAgICAgICAgICAgP3NtYWxsPVwiJHt0aGlzLnNtYWxsfVwiXG4gICAgICAgICAgICAgICAgP3N0cmljdD1cIiR7dGhpcy5zdHJpY3R9XCJcbiAgICAgICAgICAgICAgICA/cHJldj1cIiR7dHJ1ZX1cIlxuICAgICAgICAgICAgICAgID9uZXh0PVwiJHt0cnVlfVwiXG4gICAgICAgICAgICAgICAgP3JhbmdlPVwiJHt0aGlzLnJhbmdlfVwiXG4gICAgICAgICAgICAgICAgLm1vbnRoPVwiJHt0aGlzLl9tb250aH1cIlxuICAgICAgICAgICAgICAgIC55ZWFyPVwiJHt0aGlzLl95ZWFyfVwiXG4gICAgICAgICAgICAgICAgLmhvdmVyZWREYXRlPVwiJHt0aGlzLl9ob3ZlcmVkRGF0ZX1cIlxuICAgICAgICAgICAgICAgIC5kYXRlVG89XCIke3RoaXMuX3RvfVwiXG4gICAgICAgICAgICAgICAgLmRhdGVGcm9tPVwiJHt0aGlzLl9mcm9tfVwiXG4gICAgICAgICAgICAgICAgLmxvY2FsZT1cIiR7dW50aWwodGhpcy5nZXRMb2NhbGUoKSl9XCJcbiAgICAgICAgICAgICAgICBAaG92ZXJlZC1kYXRlLWNoYW5nZWQ9XCIke3RoaXMuaG92ZXJlZERhdGVDaGFuZ2VkfVwiXG4gICAgICAgICAgICAgICAgQGRhdGUtdG8tY2hhbmdlZD1cIiR7dGhpcy5kYXRlVG9DaGFuZ2VkfVwiXG4gICAgICAgICAgICAgICAgQGRhdGUtZnJvbS1jaGFuZ2VkPVwiJHt0aGlzLmRhdGVGcm9tQ2hhbmdlZH1cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvZ3YtZGF0ZS1waWNrZXItY2FsZW5kYXI+XG4gICAgICAgICAgICBgfVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PmA7XG4gIH1cblxuICBoYXNGcm9tKCkge1xuICAgIHJldHVybiB0aGlzLl9tb2RlID09IG51bGwgfHwgdGhpcy5fbW9kZSA9PT0gJ2Zyb20nO1xuICB9XG5cbiAgaGFzVG8oKSB7XG4gICAgcmV0dXJuIHRoaXMuX21vZGUgPT0gbnVsbCB8fCB0aGlzLl9tb2RlID09PSAndG8nO1xuICB9XG5cbiAgZmlyc3RVcGRhdGVkKCkge1xuICAgIGlmICh0aGlzLnRpbWUgJiYgdGhpcy5yYW5nZSkge1xuICAgICAgdGhpcy5fbW9kZSA9ICdmcm9tJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZGlzdGFuY2UpIHtcbiAgICAgIHRoaXMuX2Rpc3RhbmNlVGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZGlzdGFuY2VGcm9tTm93ID0gdGhpcy5fZGlzdGFuY2U7XG4gICAgICB9LCAzMDAwMCk7XG4gICAgfVxuICB9XG5cbiAgbW9udGhDaGFuZ2VkKG1vbnRoLCB5ZWFyKSB7XG4gICAgaWYgKHllYXIgJiYgbW9udGgpIHtcbiAgICAgIGNvbnN0IGFkZCA9IHRoaXMudGltZSAmJiB0aGlzLnJhbmdlID8gMCA6IDE7XG4gICAgICBjb25zdCBtb250aFBsdXMgPSBgMCR7KG1vbnRoICUgMTIpICsgYWRkfWA7XG4gICAgICB0aGlzLl9tb250aFBsdXMgPSBtb250aFBsdXMuc3Vic3RyaW5nKG1vbnRoUGx1cy5sZW5ndGggLSAyKTtcbiAgICAgIGlmICh0aGlzLl9tb250aFBsdXMgPT09ICcwMScpIHtcbiAgICAgICAgdGhpcy5feWVhclBsdXMgPSBwYXJzZUludCh5ZWFyLCAxMCkgKyBhZGQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl95ZWFyUGx1cyA9IHBhcnNlSW50KHllYXIsIDEwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1cGRhdGVkKHByb3BlcnRpZXMpIHtcbiAgICBpZiAocHJvcGVydGllcy5oYXMoJ19tb250aCcpIHx8IHByb3BlcnRpZXMuaGFzKCdfeWVhcicpKSB7XG4gICAgICB0aGlzLm1vbnRoQ2hhbmdlZCh0aGlzLl9tb250aCwgdGhpcy5feWVhcik7XG4gICAgfVxuICAgIGlmIChwcm9wZXJ0aWVzLmhhcygndmFsdWUnKSkge1xuICAgICAgaWYgKHRoaXMudmFsdWUgPT0gbnVsbCB8fCAodGhpcy52YWx1ZS5maWx0ZXIgJiYgdGhpcy52YWx1ZS5maWx0ZXIoKHYpID0+IHYgIT0gbnVsbCkubGVuZ3RoID09PSAwKSkge1xuICAgICAgICB0aGlzLl9mcm9tID0gbnVsbDtcbiAgICAgICAgdGhpcy5fdG8gPSBudWxsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMucmFuZ2UpIHtcbiAgICAgICAgICB0aGlzLl9mcm9tID0gdGhpcy52YWx1ZSAmJiB0aGlzLnZhbHVlLmxlbmd0aCA+IDAgPyB0aGlzLnZhbHVlWzBdIC8gMTAwMCA6IG51bGw7XG4gICAgICAgICAgdGhpcy5fdG8gPSB0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUubGVuZ3RoID4gMSA/IHRoaXMudmFsdWVbMV0gLyAxMDAwIDogbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9mcm9tID0gdGhpcy52YWx1ZSAvIDEwMDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBfb25Nb250aENoYW5nZWQoeyBkZXRhaWwgfSkge1xuICAgIHRoaXMuX21vbnRoID0gZGV0YWlsLm1vbnRoO1xuICAgIHRoaXMuX3llYXIgPSBkZXRhaWwueWVhcjtcbiAgICB0aGlzLl9ob3ZlcmVkRGF0ZSA9IG51bGw7XG4gICAgaWYgKCEodGhpcy5yYW5nZSAmJiB0aGlzLnRpbWUpKSB7XG4gICAgICB0aGlzLl9tb2RlID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBfb25ZZWFyQ2hhbmdlZCh7IGRldGFpbCB9KSB7XG4gICAgdGhpcy5feWVhciA9IGRldGFpbC55ZWFyO1xuICB9XG5cbiAgX29uTW9udGhNb2RlKHsgZGV0YWlsIH0pIHtcbiAgICBpZiAodGhpcy50aW1lICYmIHRoaXMucmFuZ2UpIHtcbiAgICAgIHRoaXMuX21vbnRoID0gZGV0YWlsLm1vbnRoO1xuICAgICAgdGhpcy5feWVhciA9IGRldGFpbC55ZWFyO1xuICAgIH1cbiAgfVxuXG4gIF9vblllYXJNb2RlKHsgZGV0YWlsIH0pIHtcbiAgICBpZiAodGhpcy50aW1lICYmIHRoaXMucmFuZ2UpIHtcbiAgICAgIHRoaXMuX21vbnRoID0gZGV0YWlsLm1vbnRoO1xuICAgICAgdGhpcy5feWVhciA9IGRldGFpbC55ZWFyO1xuICAgIH1cbiAgfVxuXG4gIF9vbkJsdXJGb3JtKHsgdGFyZ2V0IH0pIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRhcmdldC52YWx1ZTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLnBhcnNlVmFsdWUodmFsdWUpO1xuICAgICAgaWYgKGRhdGUgJiYgIWlzTmFOKGRhdGUpKSB7XG4gICAgICAgIHRoaXMuX21vbnRoID0gKGdldE1vbnRoKGRhdGUpICsgMSkudG9TdHJpbmcoKTtcbiAgICAgICAgdGhpcy5feWVhciA9IGdldFllYXIoZGF0ZSkudG9TdHJpbmcoKTtcbiAgICAgICAgdGhpcy5fZnJvbSA9IGRhdGUuZ2V0VGltZSgpIC8gMTAwMDtcbiAgICAgICAgdGhpcy5pbnZhbGlkID0gaXNJbnZhbGlkKHRoaXMuX2Zyb20sIHRoaXMuX21pbiwgdGhpcy5fbWF4LCAhdGhpcy50aW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBfb25CbHVyVG8oeyB0YXJnZXQgfSkge1xuICAgIGNvbnN0IHZhbHVlID0gdGFyZ2V0LnZhbHVlO1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgY29uc3QgZGF0ZSA9IHRoaXMucGFyc2VWYWx1ZSh2YWx1ZSk7XG4gICAgICBpZiAoZGF0ZSAmJiAhaXNOYU4oZGF0ZSkpIHtcbiAgICAgICAgdGhpcy5fbW9udGggPSAoZ2V0TW9udGgoZGF0ZSkgKyAxKS50b1N0cmluZygpO1xuICAgICAgICB0aGlzLl95ZWFyID0gZ2V0WWVhcihkYXRlKS50b1N0cmluZygpO1xuICAgICAgICB0aGlzLl90byA9IGRhdGUuZ2V0VGltZSgpIC8gMTAwMDtcbiAgICAgICAgdGhpcy5pbnZhbGlkID0gaXNJbnZhbGlkKHRoaXMuX3RvLCB0aGlzLl9taW4sIHRoaXMuX21heCwgIXRoaXMudGltZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaG92ZXJlZERhdGVDaGFuZ2VkKHsgZGV0YWlsIH0pIHtcbiAgICB0aGlzLl9ob3ZlcmVkRGF0ZSA9IGRldGFpbC52YWx1ZTtcbiAgfVxuXG4gIGRhdGVGcm9tQ2hhbmdlZCh7IGRldGFpbCB9KSB7XG4gICAgaWYgKHRoaXMudGltZSAmJiB0aGlzLnJhbmdlKSB7XG4gICAgICBpZiAodGhpcy5fbW9kZSA9PT0gJ2Zyb20nKSB7XG4gICAgICAgIHRoaXMuX2Zyb20gPSBkZXRhaWwudmFsdWU7XG4gICAgICAgIGNvbnN0IGlucHV0cyA9IHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCcucmFuZ2UtaW5wdXQgZ3YtaW5wdXQnKTtcbiAgICAgICAgaW5wdXRzW2lucHV0cy5sZW5ndGggLSAxXS5mb2N1cygpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLl9tb2RlID0gJ3RvJyksIDApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fdG8gPSBkZXRhaWwudmFsdWU7XG4gICAgICAgIHRoaXMuX29wZW4gPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuX3RvIDwgdGhpcy5fZnJvbSkge1xuICAgICAgICAgIGNvbnN0IHRtcCA9IHRoaXMuX3RvO1xuICAgICAgICAgIHRoaXMuX3RvID0gdGhpcy5fZnJvbTtcbiAgICAgICAgICB0aGlzLl9mcm9tID0gdG1wO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghdGhpcy5yYW5nZSkge1xuICAgICAgdGhpcy5fZnJvbSA9IGRldGFpbC52YWx1ZTtcbiAgICAgIHRoaXMuX29wZW4gPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZnJvbSA9IGRldGFpbC52YWx1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2Rpc3RhbmNlKSB7XG4gICAgICB0aGlzLmRpc3RhbmNlRnJvbU5vdyA9IHRoaXMuX2Rpc3RhbmNlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJhbmdlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gW3RoaXMuX2Zyb20gKiAxMDAwLCB0aGlzLl90byAqIDEwMDBdO1xuICAgICAgdGhpcy5pbnZhbGlkID1cbiAgICAgICAgaXNJbnZhbGlkKHRoaXMuX3RvLCB0aGlzLl9taW4sIHRoaXMuX21heCwgIXRoaXMudGltZSkgfHxcbiAgICAgICAgaXNJbnZhbGlkKHRoaXMuX2Zyb20sIHRoaXMuX21pbiwgdGhpcy5fbWF4LCAhdGhpcy50aW1lKSB8fFxuICAgICAgICB0aGlzLl90byA9PT0gdGhpcy5fZm9ybTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuX2Zyb20gKiAxMDAwO1xuICAgICAgdGhpcy5pbnZhbGlkID0gaXNJbnZhbGlkKHRoaXMuX2Zyb20sIHRoaXMuX21pbiwgdGhpcy5fbWF4LCAhdGhpcy50aW1lKTtcbiAgICB9XG4gICAgdGhpcy52YWxpZCA9ICF0aGlzLmludmFsaWQ7XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkpO1xuICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2lucHV0JywgdGhpcy52YWx1ZSk7XG4gIH1cblxuICBkYXRlVG9DaGFuZ2VkKHsgZGV0YWlsIH0pIHtcbiAgICBpZiAodGhpcy5fZGlzdGFuY2UpIHtcbiAgICAgIHRoaXMuZGlzdGFuY2VGcm9tTm93ID0gdGhpcy5fZGlzdGFuY2U7XG4gICAgfVxuICAgIHRoaXMuX3RvID0gZGV0YWlsLnZhbHVlO1xuICAgIGlmICh0aGlzLl90bykge1xuICAgICAgdGhpcy5fb3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy52YWx1ZSA9IFt0aGlzLl9mcm9tICogMTAwMCwgdGhpcy5fdG8gKiAxMDAwXTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pKTtcbiAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2lucHV0JywgdGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0Rm9ybWF0KCkge1xuICAgIGlmICh0aGlzLnRpbWUgJiYgdGhpcy5zdHJpY3QpIHtcbiAgICAgIHJldHVybiB0aGlzLnN0cmljdFRpbWVGb3JtYXQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnRpbWUgPyBgJHt0aGlzLmZvcm1hdH0gJHt0aGlzLnRpbWVGb3JtYXR9YCA6IHRoaXMuZm9ybWF0O1xuICB9XG5cbiAgYXN5bmMgZ2V0Rm9ybWF0dGVkRGF0ZShkYXRlKSB7XG4gICAgaWYgKGRhdGUpIHtcbiAgICAgIGNvbnN0IGxvY2FsZSA9IGF3YWl0IHRoaXMuZ2V0TG9jYWxlKCk7XG4gICAgICByZXR1cm4gZm9ybWF0KG5ldyBEYXRlKGRhdGUgKiAxMDAwKSwgdGhpcy5nZXRGb3JtYXQoKSwgbG9jYWxlKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcGFyc2VWYWx1ZSh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgcmV0dXJuIHBhcnNlKHZhbHVlLCB0aGlzLmdldEZvcm1hdCgpLCBuZXcgRGF0ZSgpKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LWRhdGUtcGlja2VyJywgR3ZEYXRlUGlja2VyKTtcbiJdfQ==
@@ -13,12 +13,13 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { css, LitElement, html } from 'lit';
16
+ import { css, LitElement } from 'lit-element';
17
+ import { html } from 'lit-html';
17
18
  import { link } from '../styles/link';
18
19
  import { dispatchCustomEvent } from '../lib/events';
19
- import { ifDefined } from 'lit/directives/if-defined';
20
+ import { ifDefined } from 'lit-html/directives/if-defined';
20
21
  import { i18n } from '../lib/i18n';
21
- import { classMap } from 'lit/directives/class-map';
22
+ import { classMap } from 'lit-html/directives/class-map';
22
23
  /**
23
24
  * File upload
24
25
  *
@@ -254,4 +255,4 @@ export class GvFileUpload extends LitElement {
254
255
 
255
256
  }
256
257
  window.customElements.define('gv-file-upload', GvFileUpload);
257
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWZpbGUtdXBsb2FkLmpzIl0sIm5hbWVzIjpbImNzcyIsIkxpdEVsZW1lbnQiLCJodG1sIiwibGluayIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJpZkRlZmluZWQiLCJpMThuIiwiY2xhc3NNYXAiLCJHdkZpbGVVcGxvYWQiLCJwcm9wZXJ0aWVzIiwibGFiZWwiLCJ0eXBlIiwiU3RyaW5nIiwiYWNjZXB0IiwiZXhjZXB0IiwibGltaXQiLCJOdW1iZXIiLCJ2YWx1ZSIsIkFycmF5IiwicmVmbGVjdCIsIl9wcmV2aWV3IiwiYXR0cmlidXRlIiwiX2ZpbGVzIiwiX2Vycm9ycyIsInN0eWxlcyIsImNvbnN0cnVjdG9yIiwicmVhZGVyIiwiRmlsZVJlYWRlciIsIl9jb3VudGVyIiwiX29uRHJhZ092ZXIiLCJlIiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJib3giLCJzaGFkb3dSb290IiwicXVlcnlTZWxlY3RvciIsImNsYXNzTGlzdCIsImFkZCIsIl9vbkRyYWdFbmQiLCJyZW1vdmUiLCJfb25Ecm9wIiwic2V0RmlsZXMiLCJkYXRhVHJhbnNmZXIiLCJmaWxlcyIsIl9nZXRSZWdleCIsIm1pbWVUeXBlcyIsInRvU3RyaW5nIiwicmVwbGFjZSIsImVycm9ycyIsImZpbHRlciIsImZpbGUiLCJtYXRjaCIsInB1c2giLCJlcnJvciIsInNpemUiLCJwYXJzZUludCIsImxlbmd0aCIsImRpc3BhdGNoRXZlbnQiLCJFdmVudCIsImJ1YmJsZXMiLCJjYW5jZWxhYmxlIiwicmVhZEFzRGF0YVVSTCIsIm9ubG9hZCIsImV2ZW50IiwidGFyZ2V0IiwicmVzdWx0IiwiX2NhbmNlbEV2ZW50IiwiX3JlbW92ZUZpbGUiLCJfb25DaGFuZ2UiLCJpY29uIiwicmVuZGVyIiwiY2xhc3NlcyIsInByZXZpZXciLCJfb25QcmV2aWV3RXJyb3IiLCJuYW1lIiwiYmluZCIsInVwZGF0ZWQiLCJjaGFuZ2VkUHJvcGVydGllcyIsImhhcyIsIndpZHRoIiwiaGVpZ2h0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiaW1nIiwic3R5bGUiLCJsZWZ0IiwidG9wIiwid2luZG93IiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLEdBQVQsRUFBY0MsVUFBZCxFQUEwQkMsSUFBMUIsUUFBc0MsS0FBdEM7QUFDQSxTQUFTQyxJQUFULFFBQXFCLGdCQUFyQjtBQUNBLFNBQVNDLG1CQUFULFFBQW9DLGVBQXBDO0FBQ0EsU0FBU0MsU0FBVCxRQUEwQiwyQkFBMUI7QUFDQSxTQUFTQyxJQUFULFFBQXFCLGFBQXJCO0FBQ0EsU0FBU0MsUUFBVCxRQUF5QiwwQkFBekI7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBLE9BQU8sTUFBTUMsWUFBTixTQUEyQlAsVUFBM0IsQ0FBc0M7QUFDdEIsYUFBVlEsVUFBVSxHQUFHO0FBQ3RCLFdBQU87QUFDTEMsTUFBQUEsS0FBSyxFQUFFO0FBQUVDLFFBQUFBLElBQUksRUFBRUM7QUFBUixPQURGO0FBRUxDLE1BQUFBLE1BQU0sRUFBRTtBQUFFRixRQUFBQSxJQUFJLEVBQUVDO0FBQVIsT0FGSDtBQUdMRSxNQUFBQSxNQUFNLEVBQUU7QUFBRUgsUUFBQUEsSUFBSSxFQUFFQztBQUFSLE9BSEg7QUFJTEcsTUFBQUEsS0FBSyxFQUFFO0FBQUVKLFFBQUFBLElBQUksRUFBRUs7QUFBUixPQUpGO0FBS0xDLE1BQUFBLEtBQUssRUFBRTtBQUFFTixRQUFBQSxJQUFJLEVBQUVPLEtBQVI7QUFBZUMsUUFBQUEsT0FBTyxFQUFFO0FBQXhCLE9BTEY7QUFNTEMsTUFBQUEsUUFBUSxFQUFFO0FBQUVULFFBQUFBLElB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RixZQUEvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjc3MsIExpdEVsZW1lbnQsIGh0bWwgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgbGluayB9IGZyb20gJy4uL3N0eWxlcy9saW5rJztcbmltcG9ydCB7IGRpc3BhdGNoQ3VzdG9tRXZlbnQgfSBmcm9tICcuLi9saWIvZXZlbnRzJztcbmltcG9ydCB7IGlmRGVmaW5lZCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL2lmLWRlZmluZWQnO1xuaW1wb3J0IHsgaTE4biB9IGZyb20gJy4uL2xpYi9pMThuJztcbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcblxuLyoqXG4gKiBGaWxlIHVwbG9hZFxuICpcbiAqICMjIERldGFpbHNcbiAqICogaGFzIEB0aGVtZSBmYWNldFxuICpcbiAqIEBmaXJlcyBndi1maWxlLXVwbG9hZDpkcm9wIC0gQ3VzdG9tIGV2ZW50IHdoZW4gdXNlciBkcm9wIGZpbGVcbiAqXG4gKiBAYXR0ciB7U3RyaW5nfSBsYWJlbCAtIExhYmVsXG4gKiBAYXR0ciB7U3RyaW5nfSBhY2NlcHQgLSBPbmUgb3IgbW9yZSBmaWxlIHR5cGUgaWRlbnRpZmllcnMgZGVzY3JpYmluZyB0aGUgYXV0aG9yaXplZCBmaWxlIHR5cGVzLlxuICogQGF0dHIge1N0cmluZ30gZXhjZXB0IC0gT25lIG9yIG1vcmUgZmlsZSB0eXBlIGlkZW50aWZpZXJzIGRlc2NyaWJpbmcgdW5hdXRob3JpemVkIGZpbGUgdHlwZXMuXG4gKiBAYXR0ciB7TnVtYmVyfSBsaW1pdCAtIE1heCBzaXplIGxpbWl0IGluIGJ5dGVzLlxuICogQGF0dHIge1N0cmluZ30gdmFsdWUgLSBSZWZsZWN0ZWQgdmFsdWUgb2YgdXBsb2FkZWQgZmlsZVxuICoqL1xuZXhwb3J0IGNsYXNzIEd2RmlsZVVwbG9hZCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgYWNjZXB0OiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgZXhjZXB0OiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgbGltaXQ6IHsgdHlwZTogTnVtYmVyIH0sXG4gICAgICB2YWx1ZTogeyB0eXBlOiBBcnJheSwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgX3ByZXZpZXc6IHsgdHlwZTogU3RyaW5nLCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgICBfZmlsZXM6IHsgdHlwZTogQXJyYXksIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICAgIF9lcnJvcnM6IHsgdHlwZTogQXJyYXksIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIGxpbmssXG4gICAgICAvLyBsYW5ndWFnZT1DU1NcbiAgICAgIGNzc2BcbiAgICAgICAgOmhvc3Qge1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWd2LXRoZW1lLWNvbG9yLWRhcmssICMyODQ0NGYpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlciwgI2ZhZmFmYSk7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCAjMjg0NDRmO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvdXRsaW5lLW9mZnNldCAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveCAuYm94X19pY29uIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IDVyZW07XG4gICAgICAgICAgLS1ndi1pY29uLS1jOiB2YXIoLS1ndi10aGVtZS1jb2xvci1kYXJrLCAjMjg0NDRmKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3hfX2ZpbGUge1xuICAgICAgICAgIHdpZHRoOiAwLjFweDtcbiAgICAgICAgICBoZWlnaHQ6IDAuMXB4O1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIH1cblxuICAgICAgICAuYm94X19maWxlICsgbGFiZWwge1xuICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveC5pcy1kcmFnb3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3YtdGhlbWUtY29sb3ItbGlnaHQsICMyODQ0NGYpO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBvdXRsaW5lOiAxcHggZGFzaGVkICMyODQ0NGY7XG4gICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0xMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveCAuYm94X19kcmFnbmRyb3Age1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWxlcyB7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgLS1ndi1pY29uLS1zOiAxNnB4O1xuICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMC41cmVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsZW5hbWUge1xuICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgcGFkZGluZzogMC4ycmVtO1xuICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lcnJvciB7XG4gICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgIC0tZ3YtaWNvbi0tYzogcmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaW1hZ2Uge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmV2aWV3IHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAuYm94X19pbnB1dCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIH1cblxuICAgICAgICAucHJldmlldyAuYm94X19pbnB1dCB7XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByZXZpZXc6aG92ZXIgLmJveF9faW5wdXQge1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJldmlldzpob3ZlciBndi1pbWFnZSB7XG4gICAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICB9XG4gICAgICBgLFxuICAgIF07XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMucmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICB0aGlzLl9maWxlcyA9IFtdO1xuICAgIHRoaXMuX2Vycm9ycyA9IFtdO1xuICAgIHRoaXMuX2NvdW50ZXIgPSAwO1xuICB9XG5cbiAgX29uRHJhZ092ZXIoZSkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuX2NvdW50ZXIrKztcbiAgICBjb25zdCBib3ggPSB0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLmJveCcpO1xuICAgIGJveC5jbGFzc0xpc3QuYWRkKCdpcy1kcmFnb3ZlcicpO1xuICB9XG5cbiAgX29uRHJhZ0VuZChlKSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKC0tdGhpcy5fY291bnRlciA9PT0gMCkge1xuICAgICAgY29uc3QgYm94ID0gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy5ib3gnKTtcbiAgICAgIGJveC5jbGFzc0xpc3QucmVtb3ZlKCdpcy1kcmFnb3ZlcicpO1xuICAgIH1cbiAgfVxuXG4gIF9vbkRyb3AoZSkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuc2V0RmlsZXMoZS5kYXRhVHJhbnNmZXIuZmlsZXMpO1xuICB9XG5cbiAgX2dldFJlZ2V4KG1pbWVUeXBlcykge1xuICAgIHJldHVybiBgKCR7bWltZVR5cGVzLnRvU3RyaW5nKCkucmVwbGFjZSgnICcsICcnKS5yZXBsYWNlKC8sL2csICcuK3wnKS5yZXBsYWNlKC9cXCovZywgJy4rJykucmVwbGFjZSgnLisuKycsICcuKycpfSlgO1xuICB9XG5cbiAgc2V0RmlsZXMoZmlsZXMpIHtcbiAgICBjb25zdCBlcnJvcnMgPSBbXTtcbiAgICB0aGlzLl9maWxlcyA9IFsuLi5maWxlc10uZmlsdGVyKChmaWxlKSA9PiB7XG4gICAgICBpZiAodGhpcy5hY2NlcHQgJiYgZmlsZS50eXBlLm1hdGNoKHRoaXMuX2dldFJlZ2V4KHRoaXMuYWNjZXB0KSkgPT0gbnVsbCkge1xuICAgICAgICBlcnJvcnMucHVzaCh7IGZpbGUsIGVycm9yOiBpMThuKCdndi1maWxlLXVwbG9hZC5lcnJvci50eXBlTm90QWxsb3dlZCcpIH0pO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmV4Y2VwdCAmJiBmaWxlLnR5cGUubWF0Y2godGhpcy5fZ2V0UmVnZXgodGhpcy5leGNlcHQpKSAhPSBudWxsKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKHsgZmlsZSwgZXJyb3I6IGkxOG4oJ2d2LWZpbGUtdXBsb2FkLmVycm9yLnR5cGVOb3RBbGxvd2VkJykgfSk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmxpbWl0ICYmIGZpbGUuc2l6ZSA+IHBhcnNlSW50KHRoaXMubGltaXQsIDEwKSkge1xuICAgICAgICBlcnJvcnMucHVzaCh7IGZpbGUsIGVycm9yOiBpMThuKCdndi1maWxlLXVwbG9hZC5lcnJvci5tYXhTaXplJykgfSk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuICAgIHRoaXMuX2Vycm9ycyA9IGVycm9ycztcbiAgICBpZiAodGhpcy5fZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2Vycm9yJywgeyBlcnJvcnM6IHRoaXMuX2Vycm9ycyB9KTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2ludmFsaWQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkpO1xuICAgIH1cbiAgICBjb25zdCBib3ggPSB0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLmJveCcpO1xuICAgIGJveC5jbGFzc0xpc3QucmVtb3ZlKCdpcy1kcmFnb3ZlcicpO1xuICAgIGlmICh0aGlzLl9maWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnJlYWRlci5yZWFkQXNEYXRhVVJMKHRoaXMuX2ZpbGVzWzBdKTtcbiAgICAgIHRoaXMucmVhZGVyLm9ubG9hZCA9IChldmVudCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fZmlsZXNbMF0udHlwZS5tYXRjaCh0aGlzLl9nZXRSZWdleCgnaW1hZ2UvKicpKSkge1xuICAgICAgICAgIHRoaXMuX3ByZXZpZXcgPSBldmVudC50YXJnZXQucmVzdWx0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX3ByZXZpZXcgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudmFsdWUgPSBldmVudC50YXJnZXQucmVzdWx0O1xuICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KSk7XG4gICAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2Ryb3AnLCB7IGZpbGVzOiBbdGhpcy52YWx1ZV0gfSk7XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIF9jYW5jZWxFdmVudChlKSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBfcmVtb3ZlRmlsZSgpIHtcbiAgICB0aGlzLl9lcnJvcnMgPSBbXTtcbiAgICB0aGlzLl9maWxlcyA9IFtdO1xuICAgIHRoaXMuX3ByZXZpZXcgPSBudWxsO1xuICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCcjZmlsZScpLnZhbHVlID0gbnVsbDtcbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KSk7XG4gIH1cblxuICBfb25DaGFuZ2UoZSkge1xuICAgIHRoaXMuc2V0RmlsZXMoZS50YXJnZXQuZmlsZXMpO1xuICB9XG5cbiAgZ2V0IGljb24oKSB7XG4gICAgaWYgKHRoaXMuX2ZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiAnZ2VuZXJhbDpjbGlwJztcbiAgICB9XG4gICAgcmV0dXJuICdnZW5lcmFsOnVwbG9hZCc7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgbGFiZWwgPVxuICAgICAgdGhpcy5fZXJyb3JzLmxlbmd0aCA+IDAgfHwgdGhpcy5fZmlsZXMubGVuZ3RoID4gMCA/IGkxOG4oJ2d2LWZpbGUtdXBsb2FkLmNob29zZUFub3RoZXJGaWxlJykgOiBpMThuKCdndi1maWxlLXVwbG9hZC5jaG9vc2VGaWxlJyk7XG5cbiAgICBjb25zdCBjbGFzc2VzID0ge1xuICAgICAgYm94OiB0cnVlLFxuICAgICAgcHJldmlldzogdGhpcy5fcHJldmlldyAhPSBudWxsLFxuICAgIH07XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxsYWJlbCBmb3I9XCJmaWxlXCI+JHt0aGlzLmxhYmVsfTwvbGFiZWw+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiJHtjbGFzc01hcChjbGFzc2VzKX1cIlxuICAgICAgICBAZHJvcD1cIiR7dGhpcy5fb25Ecm9wfVwiXG4gICAgICAgIEBvbmRyb3A9XCIke3RoaXMuX29uRHJvcH1cIlxuICAgICAgICBAZHJhZz1cIiR7dGhpcy5fY2FuY2VsRXZlbnR9XCJcbiAgICAgICAgQGRyYWdzdGFydD1cIiR7dGhpcy5fY2FuY2VsRXZlbnR9XCJcbiAgICAgICAgQGRyYWdvdmVyPVwiJHt0aGlzLl9vbkRyYWdPdmVyfVwiXG4gICAgICAgIEBkcmFnZW50ZXI9XCIke3RoaXMuX29uRHJhZ092ZXJ9XCJcbiAgICAgICAgQGRyYWdsZWF2ZT1cIiR7dGhpcy5fb25EcmFnRW5kfVwiXG4gICAgICAgIEBkcmFnZW5kPVwiJHt0aGlzLl9vbkRyYWdFbmR9XCJcbiAgICAgID5cbiAgICAgICAgJHt0aGlzLl9wcmV2aWV3ICE9IG51bGwgPyBodG1sYDxndi1pbWFnZSAuc3JjPVwiJHt0aGlzLl9wcmV2aWV3fVwiIEBlcnJvcj1cIiR7dGhpcy5fb25QcmV2aWV3RXJyb3J9XCI+PC9ndi1pbWFnZT5gIDogJyd9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3hfX2lucHV0XCI+XG4gICAgICAgICAgPGd2LWljb24gY2xhc3M9XCJib3hfX2ljb25cIiBzaGFwZT1cIiR7dGhpcy5pY29ufVwiPjwvZ3YtaWNvbj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiZmlsZVwiIGNsYXNzPVwibGlua1wiPlxuICAgICAgICAgICAgPHN0cm9uZz4ke2xhYmVsfTwvc3Ryb25nPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJib3hfX2RyYWduZHJvcFwiPiR7aTE4bignZ3YtZmlsZS11cGxvYWQub3JEcmFnSXQnKX08L3NwYW4+XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGNsYXNzPVwiYm94X19maWxlXCJcbiAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgIG5hbWU9XCJmaWxlc1tdXCJcbiAgICAgICAgICAgIGlkPVwiZmlsZVwiXG4gICAgICAgICAgICBmaWxlcz1cIiR7dGhpcy5maWxlc31cIlxuICAgICAgICAgICAgYWNjZXB0PVwiJHtpZkRlZmluZWQodGhpcy5hY2NlcHQpfVwiXG4gICAgICAgICAgICBAY2hhbmdlPVwiJHt0aGlzLl9vbkNoYW5nZX1cIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICAke3RoaXMuX2ZpbGVzLmxlbmd0aCA+IDBcbiAgICAgICAgPyBodG1sYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGVzXCI+XG4gICAgICAgICAgICAgIDxndi1pY29uIHNoYXBlPVwiZ2VuZXJhbDpjbGlwXCI+PC9ndi1pY29uPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZW5hbWVcIj4ke3RoaXMuX2ZpbGVzWzBdLm5hbWV9PC9kaXY+XG4gICAgICAgICAgICAgIDxndi1pY29uIGNsYXNzPVwibGlua1wiIEBjbGljaz1cIiR7dGhpcy5fcmVtb3ZlRmlsZS5iaW5kKHRoaXMsIDApfVwiIHNoYXBlPVwiZ2VuZXJhbDp0cmFzaFwiPjwvZ3YtaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIGBcbiAgICAgICAgOiAnJ31cbiAgICAgICR7dGhpcy5fZXJyb3JzLmxlbmd0aCA+IDBcbiAgICAgICAgPyBodG1sYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGVzXCI+XG4gICAgICAgICAgICAgIDxndi1pY29uIGNsYXNzPVwiZXJyb3JcIiBzaGFwZT1cImNvZGU6c3RvcFwiPjwvZ3YtaWNvbj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGVuYW1lXCI+JHt0aGlzLl9lcnJvcnNbMF0uZmlsZS5uYW1lfSA8c3BhbiBjbGFzcz1cImVycm9yXCI+KCR7dGhpcy5fZXJyb3JzWzBdLmVycm9yfSk8L3NwYW4+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBgXG4gICAgICAgIDogJyd9XG4gICAgICAke3RoaXMudmFsdWUgJiYgdGhpcy5fZmlsZXMubGVuZ3RoID09PSAwICYmIHRoaXMuX2Vycm9ycy5sZW5ndGggPT09IDBcbiAgICAgICAgPyBodG1sYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGVzXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlbmFtZVwiPjwvZGl2PlxuICAgICAgICAgICAgICA8Z3YtYnV0dG9uIGxpbmsgQGNsaWNrPVwiJHt0aGlzLl9yZW1vdmVGaWxlLmJpbmQodGhpcywgMCl9XCI+JHtpMThuKCdndi1maWxlLXVwbG9hZC5yZW1vdmVQaWN0dXJlJyl9PC9ndi1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBgXG4gICAgICAgIDogJyd9XG4gICAgYDtcbiAgfVxuXG4gIF9vblByZXZpZXdFcnJvcigpIHtcbiAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgfVxuXG4gIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpIHtcbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCd2YWx1ZScpKSB7XG4gICAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgICB0aGlzLl9wcmV2aWV3ID0gdGhpcy52YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuX2ZpbGVzICYmIHRoaXMuX2ZpbGVzWzBdKSB7XG4gICAgICAgICAgdGhpcy5yZWFkZXIucmVhZEFzRGF0YVVSTCh0aGlzLl9maWxlc1swXSk7XG4gICAgICAgICAgdGhpcy5yZWFkZXIub25sb2FkID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy52YWx1ZSAhPT0gZXZlbnQudGFyZ2V0LnJlc3VsdCkge1xuICAgICAgICAgICAgICB0aGlzLl9maWxlcyA9IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3ByZXZpZXcgPSBudWxsO1xuICAgICAgICB0aGlzLl9maWxlcyA9IFtdO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHByZXZpZXcgPSB0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLnByZXZpZXcnKTtcbiAgICBpZiAocHJldmlldykge1xuICAgICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBwcmV2aWV3LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgaW1nID0gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ2d2LWltYWdlJyk7XG4gICAgICBpbWcuc3R5bGUud2lkdGggPSB3aWR0aCAtIDIwICsgJ3B4JztcbiAgICAgIGltZy5zdHlsZS5oZWlnaHQgPSBoZWlnaHQgLSAyMCArICdweCc7XG4gICAgICBpbWcuc3R5bGUubGVmdCA9ICcxMHB4JztcbiAgICAgIGltZy5zdHlsZS50b3AgPSAnMTBweCc7XG4gICAgfVxuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LWZpbGUtdXBsb2FkJywgR3ZGaWxlVXBsb2FkKTtcbiJdfQ==
258
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWZpbGUtdXBsb2FkLmpzIl0sIm5hbWVzIjpbImNzcyIsIkxpdEVsZW1lbnQiLCJodG1sIiwibGluayIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJpZkRlZmluZWQiLCJpMThuIiwiY2xhc3NNYXAiLCJHdkZpbGVVcGxvYWQiLCJwcm9wZXJ0aWVzIiwibGFiZWwiLCJ0eXBlIiwiU3RyaW5nIiwiYWNjZXB0IiwiZXhjZXB0IiwibGltaXQiLCJOdW1iZXIiLCJ2YWx1ZSIsIkFycmF5IiwicmVmbGVjdCIsIl9wcmV2aWV3IiwiYXR0cmlidXRlIiwiX2ZpbGVzIiwiX2Vycm9ycyIsInN0eWxlcyIsImNvbnN0cnVjdG9yIiwicmVhZGVyIiwiRmlsZVJlYWRlciIsIl9jb3VudGVyIiwiX29uRHJhZ092ZXIiLCJlIiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJib3giLCJzaGFkb3dSb290IiwicXVlcnlTZWxlY3RvciIsImNsYXNzTGlzdCIsImFkZCIsIl9vbkRyYWdFbmQiLCJyZW1vdmUiLCJfb25Ecm9wIiwic2V0RmlsZXMiLCJkYXRhVHJhbnNmZXIiLCJmaWxlcyIsIl9nZXRSZWdleCIsIm1pbWVUeXBlcyIsInRvU3RyaW5nIiwicmVwbGFjZSIsImVycm9ycyIsImZpbHRlciIsImZpbGUiLCJtYXRjaCIsInB1c2giLCJlcnJvciIsInNpemUiLCJwYXJzZUludCIsImxlbmd0aCIsImRpc3BhdGNoRXZlbnQiLCJFdmVudCIsImJ1YmJsZXMiLCJjYW5jZWxhYmxlIiwicmVhZEFzRGF0YVVSTCIsIm9ubG9hZCIsImV2ZW50IiwidGFyZ2V0IiwicmVzdWx0IiwiX2NhbmNlbEV2ZW50IiwiX3JlbW92ZUZpbGUiLCJfb25DaGFuZ2UiLCJpY29uIiwicmVuZGVyIiwiY2xhc3NlcyIsInByZXZpZXciLCJfb25QcmV2aWV3RXJyb3IiLCJuYW1lIiwiYmluZCIsInVwZGF0ZWQiLCJjaGFuZ2VkUHJvcGVydGllcyIsImhhcyIsIndpZHRoIiwiaGVpZ2h0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiaW1nIiwic3R5bGUiLCJsZWZ0IiwidG9wIiwid2luZG93IiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLEdBQVQsRUFBY0MsVUFBZCxRQUFnQyxhQUFoQztBQUNBLFNBQVNDLElBQVQsUUFBcUIsVUFBckI7QUFDQSxTQUFTQyxJQUFULFFBQXFCLGdCQUFyQjtBQUNBLFNBQVNDLG1CQUFULFFBQW9DLGVBQXBDO0FBQ0EsU0FBU0MsU0FBVCxRQUEwQixnQ0FBMUI7QUFDQSxTQUFTQyxJQUFULFFBQXFCLGFBQXJCO0FBQ0EsU0FBU0MsUUFBVCxRQUF5QiwrQkFBekI7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBLE9BQU8sTUFBTUMsWUFBTixTQUEyQlAsVUFBM0IsQ0FBc0M7QUFDdEIsYUFBVlEsVUFBVSxHQUFHO0FBQ3RCLFdBQU87QUFDTEMsTUFBQUEsS0FBSyxFQUFFO0FBQUVDLFFBQUFBLElBQUksRUFBRUM7QUFBUixPQURGO0FBRUxDLE1BQUFBLE1BQU0sRUFBRTtBQUFFRixRQUFBQSxJQUFJLEVBQUVDO0FBQVIsT0FGSDtBQUdMRSxNQUFBQSxNQUFNLEVBQUU7QUFBRUgsUUFBQUEsSUFBSSxFQUFFQztBQUFSLE9BSEg7QUFJTEcsTUFBQUEsS0FBSyxFQUFFO0FBQUVKLFFBQUFBLElBQUksRUFBRUs7QUFBUixPQUpGO0FBS0xDLE1BQUFBLEtBQUssRUFBRTtBQUFFTixRQUFBQSxJQUFJLEVBQUVPLEtBQVI7QUFBZUMsUUFBQUEsT0FBTyxFQUFFO0FBQXhCLE9BTEY7QUFNTEMsTUFBQUEsUUFBUSxFQUFFO0FBQUVULFFBQUFBLElBQUksRUFBRUMsTUFBUjtBQUFnQlMsUUFBQUEsU0FBUyxFQUFFO0FBQTNCLE9BTkw7QUFPTEMsTUFBQUEsTUFBTSxFQUFFO0FBQUVYLFFBQUFBLElBQUksRUFBRU8sS0FBUjtBQUFlRyxRQUFBQSxTQUFTLEVBQUU7QUFBMUIsT0FQSDtBQVFMRSxNQUFBQSxPQUFPLEVBQUU7QUFBRVosUUFBQUEsSUFBSSxFQUFFTyxLQUFSO0FBQWVHLFFBQUFBLFNBQVMsRUFBRTtBQUExQjtBQVJKLEtBQVA7QUFVRDs7QUFFZ0IsYUFBTkcsTUFBTSxHQUFHO0FBQ2xCLFdBQU8sQ0FDTHJCLElBREssRUFFTDtBQUNBSCxJQUFBQSxHQUFHLHcyQ0FIRSxDQUFQO0FBK0dEOztBQUVEeUIsRUFBQUEsV0FBVyxHQUFHO0FBQ1o7QUFDQSxTQUFLQyxNQUFMLEdBQWMsSUFBSUMsVUFBSixFQUFkO0FBQ0EsU0FBS0wsTUFBTCxHQUFjLEVBQWQ7QUFDQSxTQUFLQyxPQUFMLEdBQWUsRUFBZjtBQUNBLFNBQUtLLFFBQUwsR0FBZ0IsQ0FBaEI7QUFDRDs7QUFFREMsRUFBQUEsV0FBVyxDQUFDQyxDQUFELEVBQUk7QUFDYkEsSUFBQUEsQ0FBQyxDQUFDQyxjQUFGO0FBQ0FELElBQUFBLENBQUMsQ0FBQ0UsZUFBRjtBQUNBLFNBQUtKLFFBQUw7QUFDQSxVQUFNSyxHQUFHLEdBQUcsS0FBS0MsVUFBTCxDQUFnQkMsYUFBaEIsQ0FBOEIsTUFBOUIsQ0FBWjtBQUNBRixJQUFBQSxHQUFHLENBQUNHLFNBQUosQ0FBY0MsR0FBZCxDQUFrQixhQUFsQjtBQUNEOztBQUVEQyxFQUFBQSxVQUFVLENBQUNSLENBQUQsRUFBSTtBQUNaQSxJQUFBQSxDQUFDLENBQUNDLGNBQUY7QUFDQUQsSUFBQUEsQ0FBQyxDQUFDRSxlQUFGOztBQUNBLFFBQUksRUFBRSxLQUFLSixRQUFQLEtBQW9CLENBQXhCLEVBQTJCO0FBQ3pCLFlBQU1LLEdBQUcsR0FBRyxLQUFLQyxVQUFMLENBQWdCQyxhQUFoQixDQUE4QixNQUE5QixDQUFaO0FBQ0FGLE1BQUFBLEdBQUcsQ0FBQ0csU0FBSixDQUFjRyxNQUFkLENBQXFCLGFBQXJCO0FBQ0Q7QUFDRjs7QUFFREMsRUFBQUEsT0FBTyxDQUFDVixDQUFELEVBQUk7QUFDVEEsSUFBQUEsQ0FBQyxDQUFDQyxjQUFGO0FBQ0FELElBQUFBLENBQUMsQ0FBQ0UsZUFBRjtBQUNBLFNBQUtTLFFBQUwsQ0FBY1gsQ0FBQyxDQUFDWSxZQUFGLENBQWVDLEtBQTdCO0FBQ0Q7O0FBRURDLEVBQUFBLFNBQVMsQ0FBQ0MsU0FBRCxFQUFZO0FBQ25CLFdBQVEsSUFBR0EsU0FBUyxDQUFDQyxRQUFWLEdBQXFCQyxPQUFyQixDQUE2QixHQUE3QixFQUFrQyxFQUFsQyxFQUFzQ0EsT0FBdEMsQ0FBOEMsSUFBOUMsRUFBb0QsS0FBcEQsRUFBMkRBLE9BQTNELENBQW1FLEtBQW5FLEVBQTBFLElBQTFFLEVBQWdGQSxPQUFoRixDQUF3RixNQUF4RixFQUFnRyxJQUFoRyxDQUFzRyxHQUFqSDtBQUNEOztBQUVETixFQUFBQSxRQUFRLENBQUNFLEtBQUQsRUFBUTtBQUNkLFVBQU1LLE1BQU0sR0FBRyxFQUFmO0FBQ0EsU0FBSzFCLE1BQUwsR0FBYyxDQUFDLEdBQUdxQixLQUFKLEVBQVdNLE1BQVgsQ0FBbUJDLElBQUQsSUFBVTtBQUN4QyxVQUFJLEtBQUtyQyxNQUFMLElBQWVxQyxJQUFJLENBQUN2QyxJQUFMLENBQVV3QyxLQUFWLENBQWdCLEtBQUtQLFNBQUwsQ0FBZSxLQUFLL0IsTUFBcEIsQ0FBaEIsS0FBZ0QsSUFBbkUsRUFBeUU7QUFDdkVtQyxRQUFBQSxNQUFNLENBQUNJLElBQVAsQ0FBWTtBQUFFRixVQUFBQSxJQUFGO0FBQVFHLFVBQUFBLEtBQUssRUFBRS9DLElBQUksQ0FBQyxxQ0FBRDtBQUFuQixTQUFaO0FBQ0EsZUFBTyxLQUFQO0FBQ0Q7O0FBRUQsVUFBSSxLQUFLUSxNQUFMLElBQWVvQyxJQUFJLENBQUN2QyxJQUFMLENBQVV3QyxLQUFWLENBQWdCLEtBQUtQLFNBQUwsQ0FBZSxLQUFLOUIsTUFBcEIsQ0FBaEIsS0FBZ0QsSUFBbkUsRUFBeUU7QUFDdkVrQyxRQUFBQSxNQUFNLENBQUNJLElBQVAsQ0FBWTtBQUFFRixVQUFBQSxJQUFGO0FBQVFHLFVBQUFBLEtBQUssRUFBRS9DLElBQUksQ0FBQyxxQ0FBRDtBQUFuQixTQUFaO0FBQ0EsZUFBTyxLQUFQO0FBQ0Q7O0FBQ0QsVUFBSSxLQUFLUyxLQUFMLElBQWNtQyxJQUFJLENBQUNJLElBQUwsR0FBWUMsUUFBUSxDQUFDLEtBQUt4QyxLQUFOLEVBQWEsRUFBYixDQUF0QyxFQUF3RDtBQUN0RGlDLFFBQUFBLE1BQU0sQ0FBQ0ksSUFBUCxDQUFZO0FBQUVGLFVBQUFBLElBQUY7QUFBUUcsVUFBQUEsS0FBSyxFQUFFL0MsSUFBSSxDQUFDLDhCQUFEO0FBQW5CLFNBQVo7QUFDQSxlQUFPLEtBQVA7QUFDRDs7QUFDRCxhQUFPLElBQVA7QUFDRCxLQWZhLENBQWQ7QUFnQkEsU0FBS2lCLE9BQUwsR0FBZXlCLE1BQWY7O0FBQ0EsUUFBSSxLQUFLekIsT0FBTCxDQUFhaUMsTUFBYixHQUFzQixDQUExQixFQUE2QjtBQUMzQnBELE1BQUFBLG1CQUFtQixDQUFDLElBQUQsRUFBTyxPQUFQLEVBQWdCO0FBQUU0QyxRQUFBQSxNQUFNLEVBQUUsS0FBS3pCO0FBQWYsT0FBaEIsQ0FBbkI7QUFDQSxXQUFLa0MsYUFBTCxDQUFtQixJQUFJQyxLQUFKLENBQVUsU0FBVixFQUFxQjtBQUFFQyxRQUFBQSxPQUFPLEVBQUUsSUFBWDtBQUFpQkMsUUFBQUEsVUFBVSxFQUFFO0FBQTdCLE9BQXJCLENBQW5CO0FBQ0Q7O0FBQ0QsVUFBTTNCLEdBQUcsR0FBRyxLQUFLQyxVQUFMLENBQWdCQyxhQUFoQixDQUE4QixNQUE5QixDQUFaO0FBQ0FGLElBQUFBLEdBQUcsQ0FBQ0csU0FBSixDQUFjRyxNQUFkLENBQXFCLGFBQXJCOztBQUNBLFFBQUksS0FBS2pCLE1BQUwsQ0FBWWtDLE1BQVosR0FBcUIsQ0FBekIsRUFBNEI7QUFDMUIsV0FBSzlCLE1BQUwsQ0FBWW1DLGFBQVosQ0FBMEIsS0FBS3ZDLE1BQUwsQ0FBWSxDQUFaLENBQTFCOztBQUNBLFdBQUtJLE1BQUwsQ0FBWW9DLE1BQVosR0FBc0JDLEtBQUQsSUFBVztBQUM5QixZQUFJLEtBQUt6QyxNQUFMLENBQVksQ0FBWixFQUFlWCxJQUFmLENBQW9Cd0MsS0FBcEIsQ0FBMEIsS0FBS1AsU0FBTCxDQUFlLFNBQWYsQ0FBMUIsQ0FBSixFQUEwRDtBQUN4RCxlQUFLeEIsUUFBTCxHQUFnQjJDLEtBQUssQ0FBQ0MsTUFBTixDQUFhQyxNQUE3QjtBQUNELFNBRkQsTUFFTztBQUNMLGVBQUs3QyxRQUFMLEdBQWdCLElBQWhCO0FBQ0Q7O0FBQ0QsYUFBS0gsS0FBTCxHQUFhOEMsS0FBSyxDQUFDQyxNQUFOLENBQWFDLE1BQTFCO0FBQ0EsYUFBS1IsYUFBTCxDQUFtQixJQUFJQyxLQUFKLENBQVUsT0FBVixFQUFtQjtBQUFFQyxVQUFBQSxPQUFPLEVBQUUsSUFBWDtBQUFpQkMsVUFBQUEsVUFBVSxFQUFFO0FBQTdCLFNBQW5CLENBQW5CO0FBQ0F4RCxRQUFBQSxtQkFBbUIsQ0FBQyxJQUFELEVBQU8sTUFBUCxFQUFlO0FBQUV1QyxVQUFBQSxLQUFLLEVBQUUsQ0FBQyxLQUFLMUIsS0FBTjtBQUFULFNBQWYsQ0FBbkI7QUFDRCxPQVREO0FBVUQ7QUFDRjs7QUFFRGlELEVBQUFBLFlBQVksQ0FBQ3BDLENBQUQsRUFBSTtBQUNkQSxJQUFBQSxDQUFDLENBQUNDLGNBQUY7QUFDQUQsSUFBQUEsQ0FBQyxDQUFDRSxlQUFGO0FBQ0Q7O0FBRURtQyxFQUFBQSxXQUFXLEdBQUc7QUFDWixTQUFLNUMsT0FBTCxHQUFlLEVBQWY7QUFDQSxTQUFLRCxNQUFMLEdBQWMsRUFBZDtBQUNBLFNBQUtGLFFBQUwsR0FBZ0IsSUFBaEI7QUFDQSxTQUFLSCxLQUFMLEdBQWEsSUFBYjtBQUNBLFNBQUtpQixVQUFMLENBQWdCQyxhQUFoQixDQUE4QixPQUE5QixFQUF1Q2xCLEtBQXZDLEdBQStDLElBQS9DO0FBQ0EsU0FBS3dDLGFBQUwsQ0FBbUIsSUFBSUMsS0FBSixDQUFVLE9BQVYsRUFBbUI7QUFBRUMsTUFBQUEsT0FBTyxFQUFFLElBQVg7QUFBaUJDLE1BQUFBLFVBQVUsRUFBRTtBQUE3QixLQUFuQixDQUFuQjtBQUNEOztBQUVEUSxFQUFBQSxTQUFTLENBQUN0QyxDQUFELEVBQUk7QUFDWCxTQUFLVyxRQUFMLENBQWNYLENBQUMsQ0FBQ2tDLE1BQUYsQ0FBU3JCLEtBQXZCO0FBQ0Q7O0FBRU8sTUFBSjBCLElBQUksR0FBRztBQUNULFFBQUksS0FBSy9DLE1BQUwsQ0FBWWtDLE1BQVosR0FBcUIsQ0FBekIsRUFBNEI7QUFDMUIsYUFBTyxjQUFQO0FBQ0Q7O0FBQ0QsV0FBTyxnQkFBUDtBQUNEOztBQUVEYyxFQUFBQSxNQUFNLEdBQUc7QUFDUCxVQUFNNUQsS0FBSyxHQUNULEtBQUthLE9BQUwsQ0FBYWlDLE1BQWIsR0FBc0IsQ0FBdEIsSUFBMkIsS0FBS2xDLE1BQUwsQ0FBWWtDLE1BQVosR0FBcUIsQ0FBaEQsR0FBb0RsRCxJQUFJLENBQUMsa0NBQUQsQ0FBeEQsR0FBK0ZBLElBQUksQ0FBQywyQkFBRCxDQURyRztBQUdBLFVBQU1pRSxPQUFPLEdBQUc7QUFDZHRDLE1BQUFBLEdBQUcsRUFBRSxJQURTO0FBRWR1QyxNQUFBQSxPQUFPLEVBQUUsS0FBS3BELFFBQUwsSUFBaUI7QUFGWixLQUFoQjtBQUtBLFdBQU9sQixJQUFJLHNCQUNXLEtBQUtRLEtBRGhCLHdCQUdFSCxRQUFRLENBQUNnRSxPQUFELENBSFYsWUFJRSxLQUFLL0IsT0FKUCxjQUtJLEtBQUtBLE9BTFQsWUFNRSxLQUFLMEIsWUFOUCxpQkFPTyxLQUFLQSxZQVBaLGdCQVFNLEtBQUtyQyxXQVJYLGlCQVNPLEtBQUtBLFdBVFosaUJBVU8sS0FBS1MsVUFWWixlQVdLLEtBQUtBLFVBWFYsTUFhTCxLQUFLbEIsUUFBTCxJQUFpQixJQUFqQixHQUF3QmxCLElBQUksbUJBQW1CLEtBQUtrQixRQUF4QixhQUE2QyxLQUFLcUQsZUFBbEQsZUFBNUIsR0FBK0csRUFiMUcsK0RBZStCLEtBQUtKLElBZnBDLHdEQWlCTzNELEtBakJQLDBDQWtCNEJKLElBQUksQ0FBQyx5QkFBRCxDQWxCaEMseUZBeUJNLEtBQUtxQyxLQXpCWCxhQTBCT3RDLFNBQVMsQ0FBQyxLQUFLUSxNQUFOLENBMUJoQixjQTJCUSxLQUFLdUQsU0EzQmIsb0JBK0JQLEtBQUs5QyxNQUFMLENBQVlrQyxNQUFaLEdBQXFCLENBQXJCLEdBQ0V0RCxJQUFJLHVGQUd3QixLQUFLb0IsTUFBTCxDQUFZLENBQVosRUFBZW9ELElBSHZDLHdDQUlnQyxLQUFLUCxXQUFMLENBQWlCUSxJQUFqQixDQUFzQixJQUF0QixFQUE0QixDQUE1QixDQUpoQyw0Q0FETixHQVFFLEVBdkNLLElBd0NQLEtBQUtwRCxPQUFMLENBQWFpQyxNQUFiLEdBQXNCLENBQXRCLEdBQ0V0RCxJQUFJLGtHQUd3QixLQUFLcUIsT0FBTCxDQUFhLENBQWIsRUFBZ0IyQixJQUFoQixDQUFxQndCLElBSDdDLHlCQUcwRSxLQUFLbkQsT0FBTCxDQUFhLENBQWIsRUFBZ0I4QixLQUgxRix3QkFETixHQU9FLEVBL0NLLElBZ0RQLEtBQUtwQyxLQUFMLElBQWMsS0FBS0ssTUFBTCxDQUFZa0MsTUFBWixLQUF1QixDQUFyQyxJQUEwQyxLQUFLakMsT0FBTCxDQUFhaUMsTUFBYixLQUF3QixDQUFsRSxHQUNFdEQsSUFBSSw2RUFHMEIsS0FBS2lFLFdBQUwsQ0FBaUJRLElBQWpCLENBQXNCLElBQXRCLEVBQTRCLENBQTVCLENBSDFCLEtBRzZEckUsSUFBSSxDQUFDLDhCQUFELENBSGpFLHNCQUROLEdBT0UsRUF2REssR0FBWDtBQXlERDs7QUFFRG1FLEVBQUFBLGVBQWUsR0FBRztBQUNoQixTQUFLeEQsS0FBTCxHQUFhLElBQWI7QUFDRDs7QUFFRDJELEVBQUFBLE9BQU8sQ0FBQ0MsaUJBQUQsRUFBb0I7QUFDekIsUUFBSUEsaUJBQWlCLENBQUNDLEdBQWxCLENBQXNCLE9BQXRCLENBQUosRUFBb0M7QUFDbEMsVUFBSSxLQUFLN0QsS0FBVCxFQUFnQjtBQUNkLGFBQUtHLFFBQUwsR0FBZ0IsS0FBS0gsS0FBckI7O0FBQ0EsWUFBSSxLQUFLSyxNQUFMLElBQWUsS0FBS0EsTUFBTCxDQUFZLENBQVosQ0FBbkIsRUFBbUM7QUFDakMsZUFBS0ksTUFBTCxDQUFZbUMsYUFBWixDQUEwQixLQUFLdkMsTUFBTCxDQUFZLENBQVosQ0FBMUI7O0FBQ0EsZUFBS0ksTUFBTCxDQUFZb0MsTUFBWixHQUFzQkMsS0FBRCxJQUFXO0FBQzlCLGdCQUFJLEtBQUs5QyxLQUFMLEtBQWU4QyxLQUFLLENBQUNDLE1BQU4sQ0FBYUMsTUFBaEMsRUFBd0M7QUFDdEMsbUJBQUszQyxNQUFMLEdBQWMsRUFBZDtBQUNEO0FBQ0YsV0FKRDtBQUtEO0FBQ0YsT0FWRCxNQVVPO0FBQ0wsYUFBS0YsUUFBTCxHQUFnQixJQUFoQjtBQUNBLGFBQUtFLE1BQUwsR0FBYyxFQUFkO0FBQ0Q7QUFDRjs7QUFFRCxVQUFNa0QsT0FBTyxHQUFHLEtBQUt0QyxVQUFMLENBQWdCQyxhQUFoQixDQUE4QixVQUE5QixDQUFoQjs7QUFDQSxRQUFJcUMsT0FBSixFQUFhO0FBQ1gsWUFBTTtBQUFFTyxRQUFBQSxLQUFGO0FBQVNDLFFBQUFBO0FBQVQsVUFBb0JSLE9BQU8sQ0FBQ1MscUJBQVIsRUFBMUI7QUFDQSxZQUFNQyxHQUFHLEdBQUcsS0FBS2hELFVBQUwsQ0FBZ0JDLGFBQWhCLENBQThCLFVBQTlCLENBQVo7QUFDQStDLE1BQUFBLEdBQUcsQ0FBQ0MsS0FBSixDQUFVSixLQUFWLEdBQWtCQSxLQUFLLEdBQUcsRUFBUixHQUFhLElBQS9CO0FBQ0FHLE1BQUFBLEdBQUcsQ0FBQ0MsS0FBSixDQUFVSCxNQUFWLEdBQW1CQSxNQUFNLEdBQUcsRUFBVCxHQUFjLElBQWpDO0FBQ0FFLE1BQUFBLEdBQUcsQ0FBQ0MsS0FBSixDQUFVQyxJQUFWLEdBQWlCLE1BQWpCO0FBQ0FGLE1BQUFBLEdBQUcsQ0FBQ0MsS0FBSixDQUFVRSxHQUFWLEdBQWdCLE1BQWhCO0FBQ0Q7QUFDRjs7QUF2VTBDO0FBMFU3Q0MsTUFBTSxDQUFDQyxjQUFQLENBQXNCQyxNQUF0QixDQUE2QixnQkFBN0IsRUFBK0NoRixZQUEvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjc3MsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQtZWxlbWVudCc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0LWh0bWwnO1xuaW1wb3J0IHsgbGluayB9IGZyb20gJy4uL3N0eWxlcy9saW5rJztcbmltcG9ydCB7IGRpc3BhdGNoQ3VzdG9tRXZlbnQgfSBmcm9tICcuLi9saWIvZXZlbnRzJztcbmltcG9ydCB7IGlmRGVmaW5lZCB9IGZyb20gJ2xpdC1odG1sL2RpcmVjdGl2ZXMvaWYtZGVmaW5lZCc7XG5pbXBvcnQgeyBpMThuIH0gZnJvbSAnLi4vbGliL2kxOG4nO1xuaW1wb3J0IHsgY2xhc3NNYXAgfSBmcm9tICdsaXQtaHRtbC9kaXJlY3RpdmVzL2NsYXNzLW1hcCc7XG5cbi8qKlxuICogRmlsZSB1cGxvYWRcbiAqXG4gKiAjIyBEZXRhaWxzXG4gKiAqIGhhcyBAdGhlbWUgZmFjZXRcbiAqXG4gKiBAZmlyZXMgZ3YtZmlsZS11cGxvYWQ6ZHJvcCAtIEN1c3RvbSBldmVudCB3aGVuIHVzZXIgZHJvcCBmaWxlXG4gKlxuICogQGF0dHIge1N0cmluZ30gbGFiZWwgLSBMYWJlbFxuICogQGF0dHIge1N0cmluZ30gYWNjZXB0IC0gT25lIG9yIG1vcmUgZmlsZSB0eXBlIGlkZW50aWZpZXJzIGRlc2NyaWJpbmcgdGhlIGF1dGhvcml6ZWQgZmlsZSB0eXBlcy5cbiAqIEBhdHRyIHtTdHJpbmd9IGV4Y2VwdCAtIE9uZSBvciBtb3JlIGZpbGUgdHlwZSBpZGVudGlmaWVycyBkZXNjcmliaW5nIHVuYXV0aG9yaXplZCBmaWxlIHR5cGVzLlxuICogQGF0dHIge051bWJlcn0gbGltaXQgLSBNYXggc2l6ZSBsaW1pdCBpbiBieXRlcy5cbiAqIEBhdHRyIHtTdHJpbmd9IHZhbHVlIC0gUmVmbGVjdGVkIHZhbHVlIG9mIHVwbG9hZGVkIGZpbGVcbiAqKi9cbmV4cG9ydCBjbGFzcyBHdkZpbGVVcGxvYWQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBsYWJlbDogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIGFjY2VwdDogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIGV4Y2VwdDogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIGxpbWl0OiB7IHR5cGU6IE51bWJlciB9LFxuICAgICAgdmFsdWU6IHsgdHlwZTogQXJyYXksIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgIF9wcmV2aWV3OiB7IHR5cGU6IFN0cmluZywgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgX2ZpbGVzOiB7IHR5cGU6IEFycmF5LCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgICBfZXJyb3JzOiB7IHR5cGU6IEFycmF5LCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBnZXQgc3R5bGVzKCkge1xuICAgIHJldHVybiBbXG4gICAgICBsaW5rLFxuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1ndi10aGVtZS1jb2xvci1kYXJrLCAjMjg0NDRmKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3gge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWxpZ2h0ZXIsICNmYWZhZmEpO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBib3JkZXI6IDFweCBkYXNoZWQgIzI4NDQ0ZjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3V0bGluZS1vZmZzZXQgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3ggLmJveF9faWNvbiB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgLS1ndi1pY29uLS1zOiA1cmVtO1xuICAgICAgICAgIC0tZ3YtaWNvbi0tYzogdmFyKC0tZ3YtdGhlbWUtY29sb3ItZGFyaywgIzI4NDQ0Zik7XG4gICAgICAgIH1cblxuICAgICAgICAuYm94X19maWxlIHtcbiAgICAgICAgICB3aWR0aDogMC4xcHg7XG4gICAgICAgICAgaGVpZ2h0OiAwLjFweDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveF9fZmlsZSArIGxhYmVsIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3guaXMtZHJhZ292ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LXRoZW1lLWNvbG9yLWxpZ2h0LCAjMjg0NDRmKTtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgb3V0bGluZTogMXB4IGRhc2hlZCAjMjg0NDRmO1xuICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3ggLmJveF9fZHJhZ25kcm9wIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsZXMge1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIC0tZ3YtaWNvbi0tczogMTZweDtcbiAgICAgICAgICBwYWRkaW5nOiAxcmVtIDAuNXJlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpbGVuYW1lIHtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIHBhZGRpbmc6IDAuMnJlbTtcbiAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgICAgIH1cblxuICAgICAgICAuZXJyb3Ige1xuICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAtLWd2LWljb24tLWM6IHJlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGd2LWltYWdlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJldmlldyB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveF9faW5wdXQge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByZXZpZXcgLmJveF9faW5wdXQge1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmV2aWV3OmhvdmVyIC5ib3hfX2lucHV0IHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByZXZpZXc6aG92ZXIgZ3YtaW1hZ2Uge1xuICAgICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgfVxuICAgICAgYCxcbiAgICBdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgdGhpcy5fZmlsZXMgPSBbXTtcbiAgICB0aGlzLl9lcnJvcnMgPSBbXTtcbiAgICB0aGlzLl9jb3VudGVyID0gMDtcbiAgfVxuXG4gIF9vbkRyYWdPdmVyKGUpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLl9jb3VudGVyKys7XG4gICAgY29uc3QgYm94ID0gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy5ib3gnKTtcbiAgICBib3guY2xhc3NMaXN0LmFkZCgnaXMtZHJhZ292ZXInKTtcbiAgfVxuXG4gIF9vbkRyYWdFbmQoZSkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmICgtLXRoaXMuX2NvdW50ZXIgPT09IDApIHtcbiAgICAgIGNvbnN0IGJveCA9IHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCcuYm94Jyk7XG4gICAgICBib3guY2xhc3NMaXN0LnJlbW92ZSgnaXMtZHJhZ292ZXInKTtcbiAgICB9XG4gIH1cblxuICBfb25Ecm9wKGUpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnNldEZpbGVzKGUuZGF0YVRyYW5zZmVyLmZpbGVzKTtcbiAgfVxuXG4gIF9nZXRSZWdleChtaW1lVHlwZXMpIHtcbiAgICByZXR1cm4gYCgke21pbWVUeXBlcy50b1N0cmluZygpLnJlcGxhY2UoJyAnLCAnJykucmVwbGFjZSgvLC9nLCAnLit8JykucmVwbGFjZSgvXFwqL2csICcuKycpLnJlcGxhY2UoJy4rLisnLCAnLisnKX0pYDtcbiAgfVxuXG4gIHNldEZpbGVzKGZpbGVzKSB7XG4gICAgY29uc3QgZXJyb3JzID0gW107XG4gICAgdGhpcy5fZmlsZXMgPSBbLi4uZmlsZXNdLmZpbHRlcigoZmlsZSkgPT4ge1xuICAgICAgaWYgKHRoaXMuYWNjZXB0ICYmIGZpbGUudHlwZS5tYXRjaCh0aGlzLl9nZXRSZWdleCh0aGlzLmFjY2VwdCkpID09IG51bGwpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goeyBmaWxlLCBlcnJvcjogaTE4bignZ3YtZmlsZS11cGxvYWQuZXJyb3IudHlwZU5vdEFsbG93ZWQnKSB9KTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5leGNlcHQgJiYgZmlsZS50eXBlLm1hdGNoKHRoaXMuX2dldFJlZ2V4KHRoaXMuZXhjZXB0KSkgIT0gbnVsbCkge1xuICAgICAgICBlcnJvcnMucHVzaCh7IGZpbGUsIGVycm9yOiBpMThuKCdndi1maWxlLXVwbG9hZC5lcnJvci50eXBlTm90QWxsb3dlZCcpIH0pO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5saW1pdCAmJiBmaWxlLnNpemUgPiBwYXJzZUludCh0aGlzLmxpbWl0LCAxMCkpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goeyBmaWxlLCBlcnJvcjogaTE4bignZ3YtZmlsZS11cGxvYWQuZXJyb3IubWF4U2l6ZScpIH0pO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9KTtcbiAgICB0aGlzLl9lcnJvcnMgPSBlcnJvcnM7XG4gICAgaWYgKHRoaXMuX2Vycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdlcnJvcicsIHsgZXJyb3JzOiB0aGlzLl9lcnJvcnMgfSk7XG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnZhbGlkJywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pKTtcbiAgICB9XG4gICAgY29uc3QgYm94ID0gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy5ib3gnKTtcbiAgICBib3guY2xhc3NMaXN0LnJlbW92ZSgnaXMtZHJhZ292ZXInKTtcbiAgICBpZiAodGhpcy5fZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5yZWFkZXIucmVhZEFzRGF0YVVSTCh0aGlzLl9maWxlc1swXSk7XG4gICAgICB0aGlzLnJlYWRlci5vbmxvYWQgPSAoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX2ZpbGVzWzBdLnR5cGUubWF0Y2godGhpcy5fZ2V0UmVnZXgoJ2ltYWdlLyonKSkpIHtcbiAgICAgICAgICB0aGlzLl9wcmV2aWV3ID0gZXZlbnQudGFyZ2V0LnJlc3VsdDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9wcmV2aWV3ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnZhbHVlID0gZXZlbnQudGFyZ2V0LnJlc3VsdDtcbiAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkpO1xuICAgICAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdkcm9wJywgeyBmaWxlczogW3RoaXMudmFsdWVdIH0pO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBfY2FuY2VsRXZlbnQoZSkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgX3JlbW92ZUZpbGUoKSB7XG4gICAgdGhpcy5fZXJyb3JzID0gW107XG4gICAgdGhpcy5fZmlsZXMgPSBbXTtcbiAgICB0aGlzLl9wcmV2aWV3ID0gbnVsbDtcbiAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICB0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignI2ZpbGUnKS52YWx1ZSA9IG51bGw7XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkpO1xuICB9XG5cbiAgX29uQ2hhbmdlKGUpIHtcbiAgICB0aGlzLnNldEZpbGVzKGUudGFyZ2V0LmZpbGVzKTtcbiAgfVxuXG4gIGdldCBpY29uKCkge1xuICAgIGlmICh0aGlzLl9maWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gJ2dlbmVyYWw6Y2xpcCc7XG4gICAgfVxuICAgIHJldHVybiAnZ2VuZXJhbDp1cGxvYWQnO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IGxhYmVsID1cbiAgICAgIHRoaXMuX2Vycm9ycy5sZW5ndGggPiAwIHx8IHRoaXMuX2ZpbGVzLmxlbmd0aCA+IDAgPyBpMThuKCdndi1maWxlLXVwbG9hZC5jaG9vc2VBbm90aGVyRmlsZScpIDogaTE4bignZ3YtZmlsZS11cGxvYWQuY2hvb3NlRmlsZScpO1xuXG4gICAgY29uc3QgY2xhc3NlcyA9IHtcbiAgICAgIGJveDogdHJ1ZSxcbiAgICAgIHByZXZpZXc6IHRoaXMuX3ByZXZpZXcgIT0gbnVsbCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8bGFiZWwgZm9yPVwiZmlsZVwiPiR7dGhpcy5sYWJlbH08L2xhYmVsPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIiR7Y2xhc3NNYXAoY2xhc3Nlcyl9XCJcbiAgICAgICAgQGRyb3A9XCIke3RoaXMuX29uRHJvcH1cIlxuICAgICAgICBAb25kcm9wPVwiJHt0aGlzLl9vbkRyb3B9XCJcbiAgICAgICAgQGRyYWc9XCIke3RoaXMuX2NhbmNlbEV2ZW50fVwiXG4gICAgICAgIEBkcmFnc3RhcnQ9XCIke3RoaXMuX2NhbmNlbEV2ZW50fVwiXG4gICAgICAgIEBkcmFnb3Zlcj1cIiR7dGhpcy5fb25EcmFnT3Zlcn1cIlxuICAgICAgICBAZHJhZ2VudGVyPVwiJHt0aGlzLl9vbkRyYWdPdmVyfVwiXG4gICAgICAgIEBkcmFnbGVhdmU9XCIke3RoaXMuX29uRHJhZ0VuZH1cIlxuICAgICAgICBAZHJhZ2VuZD1cIiR7dGhpcy5fb25EcmFnRW5kfVwiXG4gICAgICA+XG4gICAgICAgICR7dGhpcy5fcHJldmlldyAhPSBudWxsID8gaHRtbGA8Z3YtaW1hZ2UgLnNyYz1cIiR7dGhpcy5fcHJldmlld31cIiBAZXJyb3I9XCIke3RoaXMuX29uUHJldmlld0Vycm9yfVwiPjwvZ3YtaW1hZ2U+YCA6ICcnfVxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm94X19pbnB1dFwiPlxuICAgICAgICAgIDxndi1pY29uIGNsYXNzPVwiYm94X19pY29uXCIgc2hhcGU9XCIke3RoaXMuaWNvbn1cIj48L2d2LWljb24+XG4gICAgICAgICAgPGxhYmVsIGZvcj1cImZpbGVcIiBjbGFzcz1cImxpbmtcIj5cbiAgICAgICAgICAgIDxzdHJvbmc+JHtsYWJlbH08L3N0cm9uZz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYm94X19kcmFnbmRyb3BcIj4ke2kxOG4oJ2d2LWZpbGUtdXBsb2FkLm9yRHJhZ0l0Jyl9PC9zcGFuPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBjbGFzcz1cImJveF9fZmlsZVwiXG4gICAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgICBuYW1lPVwiZmlsZXNbXVwiXG4gICAgICAgICAgICBpZD1cImZpbGVcIlxuICAgICAgICAgICAgZmlsZXM9XCIke3RoaXMuZmlsZXN9XCJcbiAgICAgICAgICAgIGFjY2VwdD1cIiR7aWZEZWZpbmVkKHRoaXMuYWNjZXB0KX1cIlxuICAgICAgICAgICAgQGNoYW5nZT1cIiR7dGhpcy5fb25DaGFuZ2V9XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgJHt0aGlzLl9maWxlcy5sZW5ndGggPiAwXG4gICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlc1wiPlxuICAgICAgICAgICAgICA8Z3YtaWNvbiBzaGFwZT1cImdlbmVyYWw6Y2xpcFwiPjwvZ3YtaWNvbj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGVuYW1lXCI+JHt0aGlzLl9maWxlc1swXS5uYW1lfTwvZGl2PlxuICAgICAgICAgICAgICA8Z3YtaWNvbiBjbGFzcz1cImxpbmtcIiBAY2xpY2s9XCIke3RoaXMuX3JlbW92ZUZpbGUuYmluZCh0aGlzLCAwKX1cIiBzaGFwZT1cImdlbmVyYWw6dHJhc2hcIj48L2d2LWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBgXG4gICAgICAgIDogJyd9XG4gICAgICAke3RoaXMuX2Vycm9ycy5sZW5ndGggPiAwXG4gICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlc1wiPlxuICAgICAgICAgICAgICA8Z3YtaWNvbiBjbGFzcz1cImVycm9yXCIgc2hhcGU9XCJjb2RlOnN0b3BcIj48L2d2LWljb24+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlbmFtZVwiPiR7dGhpcy5fZXJyb3JzWzBdLmZpbGUubmFtZX0gPHNwYW4gY2xhc3M9XCJlcnJvclwiPigke3RoaXMuX2Vycm9yc1swXS5lcnJvcn0pPC9zcGFuPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgYFxuICAgICAgICA6ICcnfVxuICAgICAgJHt0aGlzLnZhbHVlICYmIHRoaXMuX2ZpbGVzLmxlbmd0aCA9PT0gMCAmJiB0aGlzLl9lcnJvcnMubGVuZ3RoID09PSAwXG4gICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlc1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZW5hbWVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPGd2LWJ1dHRvbiBsaW5rIEBjbGljaz1cIiR7dGhpcy5fcmVtb3ZlRmlsZS5iaW5kKHRoaXMsIDApfVwiPiR7aTE4bignZ3YtZmlsZS11cGxvYWQucmVtb3ZlUGljdHVyZScpfTwvZ3YtYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgYFxuICAgICAgICA6ICcnfVxuICAgIGA7XG4gIH1cblxuICBfb25QcmV2aWV3RXJyb3IoKSB7XG4gICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gIH1cblxuICB1cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKSB7XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygndmFsdWUnKSkge1xuICAgICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgdGhpcy5fcHJldmlldyA9IHRoaXMudmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9maWxlcyAmJiB0aGlzLl9maWxlc1swXSkge1xuICAgICAgICAgIHRoaXMucmVhZGVyLnJlYWRBc0RhdGFVUkwodGhpcy5fZmlsZXNbMF0pO1xuICAgICAgICAgIHRoaXMucmVhZGVyLm9ubG9hZCA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMudmFsdWUgIT09IGV2ZW50LnRhcmdldC5yZXN1bHQpIHtcbiAgICAgICAgICAgICAgdGhpcy5fZmlsZXMgPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9wcmV2aWV3ID0gbnVsbDtcbiAgICAgICAgdGhpcy5fZmlsZXMgPSBbXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBwcmV2aWV3ID0gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy5wcmV2aWV3Jyk7XG4gICAgaWYgKHByZXZpZXcpIHtcbiAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gcHJldmlldy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGltZyA9IHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCdndi1pbWFnZScpO1xuICAgICAgaW1nLnN0eWxlLndpZHRoID0gd2lkdGggLSAyMCArICdweCc7XG4gICAgICBpbWcuc3R5bGUuaGVpZ2h0ID0gaGVpZ2h0IC0gMjAgKyAncHgnO1xuICAgICAgaW1nLnN0eWxlLmxlZnQgPSAnMTBweCc7XG4gICAgICBpbWcuc3R5bGUudG9wID0gJzEwcHgnO1xuICAgIH1cbiAgfVxufVxuXG53aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdndi1maWxlLXVwbG9hZCcsIEd2RmlsZVVwbG9hZCk7XG4iXX0=
@@ -13,20 +13,9 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { css, LitElement, html } from 'lit';
17
- import { Directive, directive } from 'lit/directive';
18
- import { classMap } from 'lit/directives/class-map';
19
- import { noChange } from 'lit-html';
20
-
21
- class Namespaced extends Directive {
22
- update(part, [namespace, value]) {
23
- part.element.setAttributeNS(namespace, part.name, value);
24
- return noChange;
25
- }
26
-
27
- }
28
-
29
- const namespaced = directive(Namespaced);
16
+ import { css, LitElement, html } from 'lit-element';
17
+ import { directive } from 'lit-html';
18
+ import { classMap } from 'lit-html/directives/class-map';
30
19
  /**
31
20
  * An icon
32
21
  *
@@ -72,6 +61,9 @@ export class GvIcon extends LitElement {
72
61
  }
73
62
 
74
63
  render() {
64
+ const namespaced = directive((namespace, value) => part => {
65
+ part.committer.element.setAttributeNS(namespace, part.committer.name, value);
66
+ });
75
67
  const xlinkNamespace = 'http://www.w3.org/1999/xlink';
76
68
  return html`<svg class="${classMap({
77
69
  'no-color': !this.canCustomize()
@@ -80,4 +72,4 @@ export class GvIcon extends LitElement {
80
72
 
81
73
  }
82
74
  window.customElements.define('gv-icon', GvIcon);
83
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWljb24uanMiXSwibmFtZXMiOlsiY3NzIiwiTGl0RWxlbWVudCIsImh0bWwiLCJEaXJlY3RpdmUiLCJkaXJlY3RpdmUiLCJjbGFzc01hcCIsIm5vQ2hhbmdlIiwiTmFtZXNwYWNlZCIsInVwZGF0ZSIsInBhcnQiLCJuYW1lc3BhY2UiLCJ2YWx1ZSIsImVsZW1lbnQiLCJzZXRBdHRyaWJ1dGVOUyIsIm5hbWUiLCJuYW1lc3BhY2VkIiwiR3ZJY29uIiwicHJvcGVydGllcyIsInNoYXBlIiwidHlwZSIsIlN0cmluZyIsImV4Y2x1ZGVkU2hhcGVzIiwiY2FuQ3VzdG9taXplIiwiaW5jbHVkZXMiLCJzdHlsZXMiLCJnZXRIcmVmIiwiY2F0ZWdvcnkiLCJpY29uIiwic3BsaXQiLCJyZW5kZXIiLCJ4bGlua05hbWVzcGFjZSIsIndpbmRvdyIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxHQUFULEVBQWNDLFVBQWQsRUFBMEJDLElBQTFCLFFBQXNDLEtBQXRDO0FBQ0EsU0FBU0MsU0FBVCxFQUFvQkMsU0FBcEIsUUFBcUMsZUFBckM7QUFFQSxTQUFTQyxRQUFULFFBQXlCLDBCQUF6QjtBQUNBLFNBQVNDLFFBQVQsUUFBeUIsVUFBekI7O0FBRUEsTUFBTUMsVUFBTixTQUF5QkosU0FBekIsQ0FBbUM7QUFDakNLLEVBQUFBLE1BQU0sQ0FBQ0MsSUFBRCxFQUFPLENBQUNDLFNBQUQsRUFBWUMsS0FBWixDQUFQLEVBQTJCO0FBQy9CRixJQUFBQSxJQUFJLENBQUNHLE9BQUwsQ0FBYUMsY0FBYixDQUE0QkgsU0FBNUIsRUFBdUNELElBQUksQ0FBQ0ssSUFBNUMsRUFBa0RILEtBQWxEO0FBQ0EsV0FBT0wsUUFBUDtBQUNEOztBQUpnQzs7QUFPbkMsTUFBTVMsVUFBVSxHQUFHWCxTQUFTLENBQUNHLFVBQUQsQ0FBNUI7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxPQUFPLE1BQU1TLE1BQU4sU0FBcUJmLFVBQXJCLENBQWdDO0FBQ2hCLGFBQVZnQixVQUFVLEdBQUc7QUFDdEIsV0FBTztBQUNMO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNNQyxNQUFBQSxLQUFLLEVBQUU7QUFBRUMsUUFBQUEsSUFBSSxFQUFFQztBQUFSO0FBUEYsS0FBUDtBQVNEOztBQUV3QixhQUFkQyxjQUFjLEdBQUc7QUFDMUIsV0FBTyxDQUFDLG1CQUFELEVBQXNCLDBCQUF0QixDQUFQO0FBQ0Q7O0FBRURDLEVBQUFBLFlBQVksR0FBRztBQUNiLFdBQU8sQ0FBQyxDQUNOLG1CQURNLEVBRU4sMEJBRk0sRUFHTixpQkFITSxFQUlOLGlCQUpNLEVBS04sc0JBTE0sRUFNTixvQkFOTSxFQU9OQyxRQVBNLENBT0csS0FBS0wsS0FQUixDQUFSO0FBUUQ7O0FBRWdCLGFBQU5NLE1BQU0sR0FBRztBQUNsQixXQUFPLENBQ0w7QUFDQXhCLElBQUFBLEdBQUcsb1RBRkUsQ0FBUDtBQW1CRDs7QUFFYSxTQUFQeUIsT0FBTyxDQUFDUCxLQUFELEVBQVE7QUFDcEIsVUFBTSxDQUFDUSxRQUFELEVBQVdDLElBQVgsSUFBbUJULEtBQUssQ0FBQ1UsS0FBTixDQUFZLEdBQVosQ0FBekI7QUFDQSxXQUFRLFdBQVVGLFFBQVMsUUFBT0MsSUFBSyxFQUF2QztBQUNEOztBQUVERSxFQUFBQSxNQUFNLEdBQUc7QUFDUCxVQUFNQyxjQUFjLEdBQUcsOEJBQXZCO0FBQ0EsV0FBTzVCLElBQUksZUFBZUcsUUFBUSxDQUFDO0FBQUUsa0JBQVksQ0FBQyxLQUFLaUIsWUFBTDtBQUFmLEtBQUQsQ0FBdkIsdUJBQ1VQLFVBQVUsQ0FBQ2UsY0FBRCxFQUFpQmQsTUFBTSxDQUFDUyxPQUFQLENBQWUsS0FBS1AsS0FBcEIsQ0FBakIsQ0FEcEIsWUFBWDtBQUdEOztBQTVEb0M7QUErRHZDYSxNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE1BQXRCLENBQTZCLFNBQTdCLEVBQXdDakIsTUFBeEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY3NzLCBMaXRFbGVtZW50LCBodG1sIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IERpcmVjdGl2ZSwgZGlyZWN0aXZlIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZSc7XG5cbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcbmltcG9ydCB7IG5vQ2hhbmdlIH0gZnJvbSAnbGl0LWh0bWwnO1xuXG5jbGFzcyBOYW1lc3BhY2VkIGV4dGVuZHMgRGlyZWN0aXZlIHtcbiAgdXBkYXRlKHBhcnQsIFtuYW1lc3BhY2UsIHZhbHVlXSkge1xuICAgIHBhcnQuZWxlbWVudC5zZXRBdHRyaWJ1dGVOUyhuYW1lc3BhY2UsIHBhcnQubmFtZSwgdmFsdWUpO1xuICAgIHJldHVybiBub0NoYW5nZTtcbiAgfVxufVxuXG5jb25zdCBuYW1lc3BhY2VkID0gZGlyZWN0aXZlKE5hbWVzcGFjZWQpO1xuXG4vKipcbiAqIEFuIGljb25cbiAqXG4gKiAjIyBEZXRhaWxzXG4gKiAqIGhhcyBAdGhlbWUgZmFjZXRcbiAqXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWljb24tLWM9dmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1kYXJrLCAjMjYyNjI2KV0gLSBDb2xvclxuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi1pY29uLW9wYWNpdHktLWM9dmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1kYXJrLCAjMjYyNjI2KV0gLSBPcGFjaXR5IGNvbG9yXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1pY29uLS1zPTMycHhdIC0gSGVpZ2h0IGFuZCB3aWR0aFxuICovXG5leHBvcnQgY2xhc3MgR3ZJY29uIGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLyoqXG4gICAgICAgKiBUaGlzIGlzIGEgc2hhcGUsIGFuIGNvbmNhdGVuYXRpb24gb2YgY2F0ZWdvcnkgbmFtZSBhbmQgaWNvbiBuYW1lLlxuICAgICAgICogQHR5cGUge1wie2NhdGVnb3J5fTp7aWNvbk5hbWV9XCJ9XG4gICAgICAgKiBAYXR0clxuICAgICAgICogQHJlcXVpcmVkXG4gICAgICAgKi9cbiAgICAgIHNoYXBlOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0IGV4Y2x1ZGVkU2hhcGVzKCkge1xuICAgIHJldHVybiBbJ3RoaXJkcGFydHk6Z29vZ2xlJywgJ3RoaXJkcGFydHk6Z3Jhdml0ZWVpb19hbSddO1xuICB9XG5cbiAgY2FuQ3VzdG9taXplKCkge1xuICAgIHJldHVybiAhW1xuICAgICAgJ3RoaXJkcGFydHk6Z29vZ2xlJyxcbiAgICAgICd0aGlyZHBhcnR5OmdyYXZpdGVlaW9fYW0nLFxuICAgICAgJ3RoaXJkcGFydHk6aHR0cCcsXG4gICAgICAndGhpcmRwYXJ0eTpqZGJjJyxcbiAgICAgICd0aGlyZHBhcnR5Om1pY3Jvc29mdCcsXG4gICAgICAndGhpcmRwYXJ0eTptb25nb2RiJyxcbiAgICBdLmluY2x1ZGVzKHRoaXMuc2hhcGUpO1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC8vIGxhbmd1YWdlPUNTU1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIC0tY29sb3I6IHZhcigtLWd2LWljb24tLWMsIHZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItZGFyaywgIzI2MjYyNikpO1xuICAgICAgICAgIC0tb3BhY2l0eTogdmFyKC0tZ3YtaWNvbi1vcGFjaXR5LS1jLCB2YXIoLS1ndi10aGVtZS1mb250LWNvbG9yLWRhcmssICMyNjI2MjYpKTtcbiAgICAgICAgICAtLXNpemU6IHZhcigtLWd2LWljb24tLXMsIDMycHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICBoZWlnaHQ6IHZhcigtLXNpemUpO1xuICAgICAgICAgIHdpZHRoOiB2YXIoLS1zaXplKTtcbiAgICAgICAgICBmaWxsOiB2YXIoLS1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgXTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRIcmVmKHNoYXBlKSB7XG4gICAgY29uc3QgW2NhdGVnb3J5LCBpY29uXSA9IHNoYXBlLnNwbGl0KCc6Jyk7XG4gICAgcmV0dXJuIGAuL2ljb25zLyR7Y2F0ZWdvcnl9LnN2ZyMke2ljb259YDtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB4bGlua05hbWVzcGFjZSA9ICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJztcbiAgICByZXR1cm4gaHRtbGA8c3ZnIGNsYXNzPVwiJHtjbGFzc01hcCh7ICduby1jb2xvcic6ICF0aGlzLmNhbkN1c3RvbWl6ZSgpIH0pfVwiPlxuICAgICAgPHVzZSB4bGluazpocmVmPVwiJHtuYW1lc3BhY2VkKHhsaW5rTmFtZXNwYWNlLCBHdkljb24uZ2V0SHJlZih0aGlzLnNoYXBlKSl9XCIgLz5cbiAgICA8L3N2Zz5gO1xuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LWljb24nLCBHdkljb24pO1xuIl19
75
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWljb24uanMiXSwibmFtZXMiOlsiY3NzIiwiTGl0RWxlbWVudCIsImh0bWwiLCJkaXJlY3RpdmUiLCJjbGFzc01hcCIsIkd2SWNvbiIsInByb3BlcnRpZXMiLCJzaGFwZSIsInR5cGUiLCJTdHJpbmciLCJleGNsdWRlZFNoYXBlcyIsImNhbkN1c3RvbWl6ZSIsImluY2x1ZGVzIiwic3R5bGVzIiwiZ2V0SHJlZiIsImNhdGVnb3J5IiwiaWNvbiIsInNwbGl0IiwicmVuZGVyIiwibmFtZXNwYWNlZCIsIm5hbWVzcGFjZSIsInZhbHVlIiwicGFydCIsImNvbW1pdHRlciIsImVsZW1lbnQiLCJzZXRBdHRyaWJ1dGVOUyIsIm5hbWUiLCJ4bGlua05hbWVzcGFjZSIsIndpbmRvdyIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxHQUFULEVBQWNDLFVBQWQsRUFBMEJDLElBQTFCLFFBQXNDLGFBQXRDO0FBQ0EsU0FBU0MsU0FBVCxRQUEwQixVQUExQjtBQUNBLFNBQVNDLFFBQVQsUUFBeUIsK0JBQXpCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsT0FBTyxNQUFNQyxNQUFOLFNBQXFCSixVQUFyQixDQUFnQztBQUNoQixhQUFWSyxVQUFVLEdBQUc7QUFDdEIsV0FBTztBQUNMO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNNQyxNQUFBQSxLQUFLLEVBQUU7QUFBRUMsUUFBQUEsSUFBSSxFQUFFQztBQUFSO0FBUEYsS0FBUDtBQVNEOztBQUV3QixhQUFkQyxjQUFjLEdBQUc7QUFDMUIsV0FBTyxDQUFDLG1CQUFELEVBQXNCLDBCQUF0QixDQUFQO0FBQ0Q7O0FBRURDLEVBQUFBLFlBQVksR0FBRztBQUNiLFdBQU8sQ0FBQyxDQUNOLG1CQURNLEVBRU4sMEJBRk0sRUFHTixpQkFITSxFQUlOLGlCQUpNLEVBS04sc0JBTE0sRUFNTixvQkFOTSxFQU9OQyxRQVBNLENBT0csS0FBS0wsS0FQUixDQUFSO0FBUUQ7O0FBRWdCLGFBQU5NLE1BQU0sR0FBRztBQUNsQixXQUFPLENBQ0w7QUFDQWIsSUFBQUEsR0FBRyxvVEFGRSxDQUFQO0FBbUJEOztBQUVhLFNBQVBjLE9BQU8sQ0FBQ1AsS0FBRCxFQUFRO0FBQ3BCLFVBQU0sQ0FBQ1EsUUFBRCxFQUFXQyxJQUFYLElBQW1CVCxLQUFLLENBQUNVLEtBQU4sQ0FBWSxHQUFaLENBQXpCO0FBQ0EsV0FBUSxXQUFVRixRQUFTLFFBQU9DLElBQUssRUFBdkM7QUFDRDs7QUFFREUsRUFBQUEsTUFBTSxHQUFHO0FBQ1AsVUFBTUMsVUFBVSxHQUFHaEIsU0FBUyxDQUFDLENBQUNpQixTQUFELEVBQVlDLEtBQVosS0FBdUJDLElBQUQsSUFBVTtBQUMzREEsTUFBQUEsSUFBSSxDQUFDQyxTQUFMLENBQWVDLE9BQWYsQ0FBdUJDLGNBQXZCLENBQXNDTCxTQUF0QyxFQUFpREUsSUFBSSxDQUFDQyxTQUFMLENBQWVHLElBQWhFLEVBQXNFTCxLQUF0RTtBQUNELEtBRjJCLENBQTVCO0FBR0EsVUFBTU0sY0FBYyxHQUFHLDhCQUF2QjtBQUNBLFdBQU96QixJQUFJLGVBQWVFLFFBQVEsQ0FBQztBQUFFLGtCQUFZLENBQUMsS0FBS08sWUFBTDtBQUFmLEtBQUQsQ0FBdkIsdUJBQ1VRLFVBQVUsQ0FBQ1EsY0FBRCxFQUFpQnRCLE1BQU0sQ0FBQ1MsT0FBUCxDQUFlLEtBQUtQLEtBQXBCLENBQWpCLENBRHBCLFlBQVg7QUFHRDs7QUEvRG9DO0FBa0V2Q3FCLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsU0FBN0IsRUFBd0N6QixNQUF4QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjc3MsIExpdEVsZW1lbnQsIGh0bWwgfSBmcm9tICdsaXQtZWxlbWVudCc7XG5pbXBvcnQgeyBkaXJlY3RpdmUgfSBmcm9tICdsaXQtaHRtbCc7XG5pbXBvcnQgeyBjbGFzc01hcCB9IGZyb20gJ2xpdC1odG1sL2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcblxuLyoqXG4gKiBBbiBpY29uXG4gKlxuICogIyMgRGV0YWlsc1xuICogKiBoYXMgQHRoZW1lIGZhY2V0XG4gKlxuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi1pY29uLS1jPXZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItZGFyaywgIzI2MjYyNildIC0gQ29sb3JcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtaWNvbi1vcGFjaXR5LS1jPXZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItZGFyaywgIzI2MjYyNildIC0gT3BhY2l0eSBjb2xvclxuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtaWNvbi0tcz0zMnB4XSAtIEhlaWdodCBhbmQgd2lkdGhcbiAqL1xuZXhwb3J0IGNsYXNzIEd2SWNvbiBleHRlbmRzIExpdEVsZW1lbnQge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC8qKlxuICAgICAgICogVGhpcyBpcyBhIHNoYXBlLCBhbiBjb25jYXRlbmF0aW9uIG9mIGNhdGVnb3J5IG5hbWUgYW5kIGljb24gbmFtZS5cbiAgICAgICAqIEB0eXBlIHtcIntjYXRlZ29yeX06e2ljb25OYW1lfVwifVxuICAgICAgICogQGF0dHJcbiAgICAgICAqIEByZXF1aXJlZFxuICAgICAgICovXG4gICAgICBzaGFwZTogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBleGNsdWRlZFNoYXBlcygpIHtcbiAgICByZXR1cm4gWyd0aGlyZHBhcnR5Omdvb2dsZScsICd0aGlyZHBhcnR5OmdyYXZpdGVlaW9fYW0nXTtcbiAgfVxuXG4gIGNhbkN1c3RvbWl6ZSgpIHtcbiAgICByZXR1cm4gIVtcbiAgICAgICd0aGlyZHBhcnR5Omdvb2dsZScsXG4gICAgICAndGhpcmRwYXJ0eTpncmF2aXRlZWlvX2FtJyxcbiAgICAgICd0aGlyZHBhcnR5Omh0dHAnLFxuICAgICAgJ3RoaXJkcGFydHk6amRiYycsXG4gICAgICAndGhpcmRwYXJ0eTptaWNyb3NvZnQnLFxuICAgICAgJ3RoaXJkcGFydHk6bW9uZ29kYicsXG4gICAgXS5pbmNsdWRlcyh0aGlzLnNoYXBlKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXQgc3R5bGVzKCkge1xuICAgIHJldHVybiBbXG4gICAgICAvLyBsYW5ndWFnZT1DU1NcbiAgICAgIGNzc2BcbiAgICAgICAgOmhvc3Qge1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAtLWNvbG9yOiB2YXIoLS1ndi1pY29uLS1jLCB2YXIoLS1ndi10aGVtZS1mb250LWNvbG9yLWRhcmssICMyNjI2MjYpKTtcbiAgICAgICAgICAtLW9wYWNpdHk6IHZhcigtLWd2LWljb24tb3BhY2l0eS0tYywgdmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1kYXJrLCAjMjYyNjI2KSk7XG4gICAgICAgICAgLS1zaXplOiB2YXIoLS1ndi1pY29uLS1zLCAzMnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgaGVpZ2h0OiB2YXIoLS1zaXplKTtcbiAgICAgICAgICB3aWR0aDogdmFyKC0tc2l6ZSk7XG4gICAgICAgICAgZmlsbDogdmFyKC0tY29sb3IpO1xuICAgICAgICB9XG4gICAgICBgLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgZ2V0SHJlZihzaGFwZSkge1xuICAgIGNvbnN0IFtjYXRlZ29yeSwgaWNvbl0gPSBzaGFwZS5zcGxpdCgnOicpO1xuICAgIHJldHVybiBgLi9pY29ucy8ke2NhdGVnb3J5fS5zdmcjJHtpY29ufWA7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgbmFtZXNwYWNlZCA9IGRpcmVjdGl2ZSgobmFtZXNwYWNlLCB2YWx1ZSkgPT4gKHBhcnQpID0+IHtcbiAgICAgIHBhcnQuY29tbWl0dGVyLmVsZW1lbnQuc2V0QXR0cmlidXRlTlMobmFtZXNwYWNlLCBwYXJ0LmNvbW1pdHRlci5uYW1lLCB2YWx1ZSk7XG4gICAgfSk7XG4gICAgY29uc3QgeGxpbmtOYW1lc3BhY2UgPSAnaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayc7XG4gICAgcmV0dXJuIGh0bWxgPHN2ZyBjbGFzcz1cIiR7Y2xhc3NNYXAoeyAnbm8tY29sb3InOiAhdGhpcy5jYW5DdXN0b21pemUoKSB9KX1cIj5cbiAgICAgIDx1c2UgeGxpbms6aHJlZj1cIiR7bmFtZXNwYWNlZCh4bGlua05hbWVzcGFjZSwgR3ZJY29uLmdldEhyZWYodGhpcy5zaGFwZSkpfVwiIC8+XG4gICAgPC9zdmc+YDtcbiAgfVxufVxuXG53aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdndi1pY29uJywgR3ZJY29uKTtcbiJdfQ==
@@ -13,10 +13,10 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { LitElement, html, css } from 'lit';
16
+ import { LitElement, html, css } from 'lit-element';
17
17
  import { dispatchCustomEvent } from '../lib/events';
18
- import { classMap } from 'lit/directives/class-map';
19
- import { ifDefined } from 'lit/directives/if-defined';
18
+ import { classMap } from 'lit-html/directives/class-map';
19
+ import { ifDefined } from 'lit-html/directives/if-defined';
20
20
  import { skeleton } from '../styles/skeleton';
21
21
  /**
22
22
  * An image
@@ -106,4 +106,4 @@ export class GvImage extends LitElement {
106
106
 
107
107
  }
108
108
  window.customElements.define('gv-image', GvImage);
109
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWltYWdlLmpzIl0sIm5hbWVzIjpbIkxpdEVsZW1lbnQiLCJodG1sIiwiY3NzIiwiZGlzcGF0Y2hDdXN0b21FdmVudCIsImNsYXNzTWFwIiwiaWZEZWZpbmVkIiwic2tlbGV0b24iLCJHdkltYWdlIiwicHJvcGVydGllcyIsInNyYyIsInR5cGUiLCJTdHJpbmciLCJCb29sZWFuIiwicmVmbGVjdCIsImFsdCIsIl9sb2FkZWQiLCJfZXJyb3IiLCJzdHlsZXMiLCJjb25zdHJ1Y3RvciIsIm5ld1ZhbCIsIm9sZFZhbCIsIl9zcmMiLCJyZXF1ZXN0VXBkYXRlIiwiX29uTG9hZCIsImUiLCJfb25FcnJvciIsImRpc3BhdGNoRXZlbnQiLCJFdmVudCIsInJlbmRlciIsImRpc3BsYXlUZXh0IiwibG9hZGVkIiwidGV4dCIsIndpbmRvdyIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxVQUFULEVBQXFCQyxJQUFyQixFQUEyQkMsR0FBM0IsUUFBc0MsS0FBdEM7QUFDQSxTQUFTQyxtQkFBVCxRQUFvQyxlQUFwQztBQUNBLFNBQVNDLFFBQVQsUUFBeUIsMEJBQXpCO0FBQ0EsU0FBU0MsU0FBVCxRQUEwQiwyQkFBMUI7QUFDQSxTQUFTQyxRQUFULFFBQXlCLG9CQUF6QjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsT0FBTyxNQUFNQyxPQUFOLFNBQXNCUCxVQUF0QixDQUFpQztBQUNqQixhQUFWUSxVQUFVLEdBQUc7QUFDdEIsV0FBTztBQUNMQyxNQUFBQSxHQUFHLEVBQUU7QUFBRUMsUUFBQUEsSUFBSSxFQUFFQztBQUFSLE9BREE7QUFFTEwsTUFBQUEsUUFBUSxFQUFFO0FBQUVJLFFBQUFBLElBQUksRUFBRUUsT0FBUjtBQUFpQkMsUUFBQUEsT0FBTyxFQUFFO0FBQTFCLE9BRkw7QUFHTEMsTUFBQUEsR0FBRyxFQUFFO0FBQUVKLFFBQUFBLElBQUksRUFBRUM7QUFBUixPQUhBO0FBSUxJLE1BQUFBLE9BQU8sRUFBRTtBQUFFTCxRQUFBQSxJQUFJLEVBQUVFLE9BQVI7QUFBaUJDLFFBQUFBLE9BQU8sRUFBRTtBQUExQixPQUpKO0FBS0xHLE1BQUFBLE1BQU0sRUFBRTtBQUFFTixRQUFBQSxJQUFJLEVBQUVFO0FBQVI7QUFMSCxLQUFQO0FBT0Q7O0FBRWdCLGFBQU5LLE1BQU0sR0FBRztBQUNsQixXQUFPLENBQ0w7QUFDQWYsSUFBQUEsR0FBRywya0JBRkUsRUFrRExJLFFBbERLLENBQVA7QUFvREQ7O0FBRURZLEVBQUFBLFdBQVcsR0FBRztBQUNaO0FBQ0EsU0FBS1osUUFBTCxHQUFnQixLQUFoQjtBQUNBLFNBQUtVLE1BQUwsR0FBYyxLQUFkO0FBQ0EsU0FBS0QsT0FBTCxHQUFlLEtBQWY7QUFDRDs7QUFFTSxNQUFITixHQUFHLENBQUNVLE1BQUQsRUFBUztBQUNkLFVBQU1DLE1BQU0sR0FBRyxLQUFLQyxJQUFwQjtBQUNBLFNBQUtBLElBQUwsR0FBWUYsTUFBWjtBQUNBLFNBQUtHLGFBQUwsQ0FBbUIsS0FBbkIsRUFBMEJGLE1BQTFCO0FBQ0EsU0FBS0osTUFBTCxHQUFjLEtBQWQ7QUFDQSxTQUFLRCxPQUFMLEdBQWUsS0FBZjtBQUNEOztBQUVNLE1BQUhOLEdBQUcsR0FBRztBQUNSLFdBQU8sS0FBS1ksSUFBWjtBQUNEOztBQUVERSxFQUFBQSxPQUFPLENBQUNDLENBQUQsRUFBSTtBQUNULFNBQUtULE9BQUwsR0FBZSxJQUFmO0FBQ0EsU0FBS1QsUUFBTCxHQUFnQixLQUFoQjtBQUNBSCxJQUFBQSxtQkFBbUIsQ0FBQyxJQUFELEVBQU8sUUFBUCxFQUFpQjtBQUFFTSxNQUFBQSxHQUFHLEVBQUUsS0FBS0EsR0FBWjtBQUFpQkssTUFBQUEsR0FBRyxFQUFFLEtBQUtBO0FBQTNCLEtBQWpCLENBQW5CO0FBQ0Q7O0FBRURXLEVBQUFBLFFBQVEsQ0FBQ0QsQ0FBRCxFQUFJO0FBQ1YsU0FBS1IsTUFBTCxHQUFjLElBQWQ7QUFDQSxTQUFLVixRQUFMLEdBQWdCLEtBQWhCO0FBQ0EsU0FBS29CLGFBQUwsQ0FBbUIsSUFBSUMsS0FBSixDQUFVLE9BQVYsQ0FBbkIsRUFBdUNILENBQXZDO0FBQ0Q7O0FBRURJLEVBQUFBLE1BQU0sR0FBRztBQUNQLFVBQU1DLFdBQVcsR0FBRyxLQUFLcEIsR0FBTCxJQUFZLElBQVosSUFBb0IsS0FBS08sTUFBN0M7QUFDQSxXQUFPZixJQUFJLHdCQUNhRyxRQUFRLENBQUM7QUFBRUUsTUFBQUEsUUFBUSxFQUFFLEtBQUtBLFFBQWpCO0FBQTJCd0IsTUFBQUEsTUFBTSxFQUFFLEtBQUtmLE9BQXhDO0FBQWlEZ0IsTUFBQUEsSUFBSSxFQUFFRjtBQUF2RCxLQUFELENBRHJCLGdCQUVJeEIsU0FBUyxDQUFDLEtBQUtJLEdBQU4sQ0FGYixZQUVpQyxLQUFLYyxPQUZ0QyxhQUV3RCxLQUFLRSxRQUY3RCxhQUdMSSxXQUFXLEdBQUc1QixJQUFJLDJCQUEyQixLQUFLYSxHQUFoQyxTQUFQLEdBQXNELEVBSDVELFVBQVg7QUFNRDs7QUF6R3FDO0FBNEd4Q2tCLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsVUFBN0IsRUFBeUMzQixPQUF6QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBMaXRFbGVtZW50LCBodG1sLCBjc3MgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgZGlzcGF0Y2hDdXN0b21FdmVudCB9IGZyb20gJy4uL2xpYi9ldmVudHMnO1xuaW1wb3J0IHsgY2xhc3NNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9jbGFzcy1tYXAnO1xuaW1wb3J0IHsgaWZEZWZpbmVkIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvaWYtZGVmaW5lZCc7XG5pbXBvcnQgeyBza2VsZXRvbiB9IGZyb20gJy4uL3N0eWxlcy9za2VsZXRvbic7XG5cbi8qKlxuICogQW4gaW1hZ2VcbiAqXG4gKiAjIyBEZXRhaWxzXG4gKiAqIGhhcyBAdGhlbWUgZmFjZXRcbiAqXG4gKiBAZmlyZXMgZ3YtaW1hZ2U6bG9hZGVkIC0gV2hlbiBpbWFnZSBpcyBsb2FkZWRcbiAqXG4gKiBAYXR0ciB7U3RyaW5nfSBzcmMgLSBTb3VyY2Ugb2YgaW1nXG4gKiBAYXR0ciB7U3RyaW5nfSBhbHQgLSBBbHRlcm5hdGl2ZSB0ZXh0IG9mIGltZ1xuICogQGF0dHIge0Jvb2xlYW59IHNrZWxldG9uIC0gZW5hYmxlIHNrZWxldG9uIHNjcmVlbiBVSSBwYXR0ZXJuIChsb2FkaW5nIGhpbnQpXG4gKlxuICogQGNzc3Byb3Age1N0cmluZ30gWy0tZ3YtaW1hZ2UtLW9mPWNvdmVyXSAtIHNldCB0aGUgb2JqZWN0LWZpdCBvZiBpbWFnZVxuICovXG5leHBvcnQgY2xhc3MgR3ZJbWFnZSBleHRlbmRzIExpdEVsZW1lbnQge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNyYzogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIHNrZWxldG9uOiB7IHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgIGFsdDogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIF9sb2FkZWQ6IHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgX2Vycm9yOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC8vIGxhbmd1YWdlPUNTU1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAud3JhcHBlcixcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAud3JhcHBlci50ZXh0Om5vdCgnLnNrZWxldG9uJykge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBvYmplY3QtZml0OiB2YXIoLS1ndi1pbWFnZS0tb2YsIGNvdmVyKTtcbiAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC53cmFwcGVyLmxvYWRlZCBpbWcge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuZXJyb3ItbXNnIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgICBza2VsZXRvbixcbiAgICBdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnNrZWxldG9uID0gZmFsc2U7XG4gICAgdGhpcy5fZXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLl9sb2FkZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHNldCBzcmMobmV3VmFsKSB7XG4gICAgY29uc3Qgb2xkVmFsID0gdGhpcy5fc3JjO1xuICAgIHRoaXMuX3NyYyA9IG5ld1ZhbDtcbiAgICB0aGlzLnJlcXVlc3RVcGRhdGUoJ3NyYycsIG9sZFZhbCk7XG4gICAgdGhpcy5fZXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLl9sb2FkZWQgPSBmYWxzZTtcbiAgfVxuXG4gIGdldCBzcmMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NyYztcbiAgfVxuXG4gIF9vbkxvYWQoZSkge1xuICAgIHRoaXMuX2xvYWRlZCA9IHRydWU7XG4gICAgdGhpcy5za2VsZXRvbiA9IGZhbHNlO1xuICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2xvYWRlZCcsIHsgc3JjOiB0aGlzLnNyYywgYWx0OiB0aGlzLmFsdCB9KTtcbiAgfVxuXG4gIF9vbkVycm9yKGUpIHtcbiAgICB0aGlzLl9lcnJvciA9IHRydWU7XG4gICAgdGhpcy5za2VsZXRvbiA9IGZhbHNlO1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2Vycm9yJyksIGUpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IGRpc3BsYXlUZXh0ID0gdGhpcy5zcmMgPT0gbnVsbCB8fCB0aGlzLl9lcnJvcjtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyICR7Y2xhc3NNYXAoeyBza2VsZXRvbjogdGhpcy5za2VsZXRvbiwgbG9hZGVkOiB0aGlzLl9sb2FkZWQsIHRleHQ6IGRpc3BsYXlUZXh0IH0pfVwiPlxuICAgICAgICA8aW1nIHNyYz0ke2lmRGVmaW5lZCh0aGlzLnNyYyl9IEBsb2FkPSR7dGhpcy5fb25Mb2FkfSBAZXJyb3I9JHt0aGlzLl9vbkVycm9yfSBhbHQ9XCJcIiAvPlxuICAgICAgICAke2Rpc3BsYXlUZXh0ID8gaHRtbGAgPGRpdiBjbGFzcz1cImVycm9yLW1zZ1wiPiR7dGhpcy5hbHR9PC9kaXY+IGAgOiAnJ31cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3YtaW1hZ2UnLCBHdkltYWdlKTtcbiJdfQ==
109
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWltYWdlLmpzIl0sIm5hbWVzIjpbIkxpdEVsZW1lbnQiLCJodG1sIiwiY3NzIiwiZGlzcGF0Y2hDdXN0b21FdmVudCIsImNsYXNzTWFwIiwiaWZEZWZpbmVkIiwic2tlbGV0b24iLCJHdkltYWdlIiwicHJvcGVydGllcyIsInNyYyIsInR5cGUiLCJTdHJpbmciLCJCb29sZWFuIiwicmVmbGVjdCIsImFsdCIsIl9sb2FkZWQiLCJfZXJyb3IiLCJzdHlsZXMiLCJjb25zdHJ1Y3RvciIsIm5ld1ZhbCIsIm9sZFZhbCIsIl9zcmMiLCJyZXF1ZXN0VXBkYXRlIiwiX29uTG9hZCIsImUiLCJfb25FcnJvciIsImRpc3BhdGNoRXZlbnQiLCJFdmVudCIsInJlbmRlciIsImRpc3BsYXlUZXh0IiwibG9hZGVkIiwidGV4dCIsIndpbmRvdyIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxVQUFULEVBQXFCQyxJQUFyQixFQUEyQkMsR0FBM0IsUUFBc0MsYUFBdEM7QUFDQSxTQUFTQyxtQkFBVCxRQUFvQyxlQUFwQztBQUNBLFNBQVNDLFFBQVQsUUFBeUIsK0JBQXpCO0FBQ0EsU0FBU0MsU0FBVCxRQUEwQixnQ0FBMUI7QUFDQSxTQUFTQyxRQUFULFFBQXlCLG9CQUF6QjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsT0FBTyxNQUFNQyxPQUFOLFNBQXNCUCxVQUF0QixDQUFpQztBQUNqQixhQUFWUSxVQUFVLEdBQUc7QUFDdEIsV0FBTztBQUNMQyxNQUFBQSxHQUFHLEVBQUU7QUFBRUMsUUFBQUEsSUFBSSxFQUFFQztBQUFSLE9BREE7QUFFTEwsTUFBQUEsUUFBUSxFQUFFO0FBQUVJLFFBQUFBLElBQUksRUFBRUUsT0FBUjtBQUFpQkMsUUFBQUEsT0FBTyxFQUFFO0FBQTFCLE9BRkw7QUFHTEMsTUFBQUEsR0FBRyxFQUFFO0FBQUVKLFFBQUFBLElBQUksRUFBRUM7QUFBUixPQUhBO0FBSUxJLE1BQUFBLE9BQU8sRUFBRTtBQUFFTCxRQUFBQSxJQUFJLEVBQUVFLE9BQVI7QUFBaUJDLFFBQUFBLE9BQU8sRUFBRTtBQUExQixPQUpKO0FBS0xHLE1BQUFBLE1BQU0sRUFBRTtBQUFFTixRQUFBQSxJQUFJLEVBQUVFO0FBQVI7QUFMSCxLQUFQO0FBT0Q7O0FBRWdCLGFBQU5LLE1BQU0sR0FBRztBQUNsQixXQUFPLENBQ0w7QUFDQWYsSUFBQUEsR0FBRywya0JBRkUsRUFrRExJLFFBbERLLENBQVA7QUFvREQ7O0FBRURZLEVBQUFBLFdBQVcsR0FBRztBQUNaO0FBQ0EsU0FBS1osUUFBTCxHQUFnQixLQUFoQjtBQUNBLFNBQUtVLE1BQUwsR0FBYyxLQUFkO0FBQ0EsU0FBS0QsT0FBTCxHQUFlLEtBQWY7QUFDRDs7QUFFTSxNQUFITixHQUFHLENBQUNVLE1BQUQsRUFBUztBQUNkLFVBQU1DLE1BQU0sR0FBRyxLQUFLQyxJQUFwQjtBQUNBLFNBQUtBLElBQUwsR0FBWUYsTUFBWjtBQUNBLFNBQUtHLGFBQUwsQ0FBbUIsS0FBbkIsRUFBMEJGLE1BQTFCO0FBQ0EsU0FBS0osTUFBTCxHQUFjLEtBQWQ7QUFDQSxTQUFLRCxPQUFMLEdBQWUsS0FBZjtBQUNEOztBQUVNLE1BQUhOLEdBQUcsR0FBRztBQUNSLFdBQU8sS0FBS1ksSUFBWjtBQUNEOztBQUVERSxFQUFBQSxPQUFPLENBQUNDLENBQUQsRUFBSTtBQUNULFNBQUtULE9BQUwsR0FBZSxJQUFmO0FBQ0EsU0FBS1QsUUFBTCxHQUFnQixLQUFoQjtBQUNBSCxJQUFBQSxtQkFBbUIsQ0FBQyxJQUFELEVBQU8sUUFBUCxFQUFpQjtBQUFFTSxNQUFBQSxHQUFHLEVBQUUsS0FBS0EsR0FBWjtBQUFpQkssTUFBQUEsR0FBRyxFQUFFLEtBQUtBO0FBQTNCLEtBQWpCLENBQW5CO0FBQ0Q7O0FBRURXLEVBQUFBLFFBQVEsQ0FBQ0QsQ0FBRCxFQUFJO0FBQ1YsU0FBS1IsTUFBTCxHQUFjLElBQWQ7QUFDQSxTQUFLVixRQUFMLEdBQWdCLEtBQWhCO0FBQ0EsU0FBS29CLGFBQUwsQ0FBbUIsSUFBSUMsS0FBSixDQUFVLE9BQVYsQ0FBbkIsRUFBdUNILENBQXZDO0FBQ0Q7O0FBRURJLEVBQUFBLE1BQU0sR0FBRztBQUNQLFVBQU1DLFdBQVcsR0FBRyxLQUFLcEIsR0FBTCxJQUFZLElBQVosSUFBb0IsS0FBS08sTUFBN0M7QUFDQSxXQUFPZixJQUFJLHdCQUNhRyxRQUFRLENBQUM7QUFBRUUsTUFBQUEsUUFBUSxFQUFFLEtBQUtBLFFBQWpCO0FBQTJCd0IsTUFBQUEsTUFBTSxFQUFFLEtBQUtmLE9BQXhDO0FBQWlEZ0IsTUFBQUEsSUFBSSxFQUFFRjtBQUF2RCxLQUFELENBRHJCLGdCQUVJeEIsU0FBUyxDQUFDLEtBQUtJLEdBQU4sQ0FGYixZQUVpQyxLQUFLYyxPQUZ0QyxhQUV3RCxLQUFLRSxRQUY3RCxhQUdMSSxXQUFXLEdBQUc1QixJQUFJLDJCQUEyQixLQUFLYSxHQUFoQyxTQUFQLEdBQXNELEVBSDVELFVBQVg7QUFNRDs7QUF6R3FDO0FBNEd4Q2tCLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsVUFBN0IsRUFBeUMzQixPQUF6QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBMaXRFbGVtZW50LCBodG1sLCBjc3MgfSBmcm9tICdsaXQtZWxlbWVudCc7XG5pbXBvcnQgeyBkaXNwYXRjaEN1c3RvbUV2ZW50IH0gZnJvbSAnLi4vbGliL2V2ZW50cyc7XG5pbXBvcnQgeyBjbGFzc01hcCB9IGZyb20gJ2xpdC1odG1sL2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcbmltcG9ydCB7IGlmRGVmaW5lZCB9IGZyb20gJ2xpdC1odG1sL2RpcmVjdGl2ZXMvaWYtZGVmaW5lZCc7XG5pbXBvcnQgeyBza2VsZXRvbiB9IGZyb20gJy4uL3N0eWxlcy9za2VsZXRvbic7XG5cbi8qKlxuICogQW4gaW1hZ2VcbiAqXG4gKiAjIyBEZXRhaWxzXG4gKiAqIGhhcyBAdGhlbWUgZmFjZXRcbiAqXG4gKiBAZmlyZXMgZ3YtaW1hZ2U6bG9hZGVkIC0gV2hlbiBpbWFnZSBpcyBsb2FkZWRcbiAqXG4gKiBAYXR0ciB7U3RyaW5nfSBzcmMgLSBTb3VyY2Ugb2YgaW1nXG4gKiBAYXR0ciB7U3RyaW5nfSBhbHQgLSBBbHRlcm5hdGl2ZSB0ZXh0IG9mIGltZ1xuICogQGF0dHIge0Jvb2xlYW59IHNrZWxldG9uIC0gZW5hYmxlIHNrZWxldG9uIHNjcmVlbiBVSSBwYXR0ZXJuIChsb2FkaW5nIGhpbnQpXG4gKlxuICogQGNzc3Byb3Age1N0cmluZ30gWy0tZ3YtaW1hZ2UtLW9mPWNvdmVyXSAtIHNldCB0aGUgb2JqZWN0LWZpdCBvZiBpbWFnZVxuICovXG5leHBvcnQgY2xhc3MgR3ZJbWFnZSBleHRlbmRzIExpdEVsZW1lbnQge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNyYzogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIHNrZWxldG9uOiB7IHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgIGFsdDogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIF9sb2FkZWQ6IHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgX2Vycm9yOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC8vIGxhbmd1YWdlPUNTU1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAud3JhcHBlcixcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAud3JhcHBlci50ZXh0Om5vdCgnLnNrZWxldG9uJykge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBvYmplY3QtZml0OiB2YXIoLS1ndi1pbWFnZS0tb2YsIGNvdmVyKTtcbiAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC53cmFwcGVyLmxvYWRlZCBpbWcge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuZXJyb3ItbXNnIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgICBza2VsZXRvbixcbiAgICBdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnNrZWxldG9uID0gZmFsc2U7XG4gICAgdGhpcy5fZXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLl9sb2FkZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHNldCBzcmMobmV3VmFsKSB7XG4gICAgY29uc3Qgb2xkVmFsID0gdGhpcy5fc3JjO1xuICAgIHRoaXMuX3NyYyA9IG5ld1ZhbDtcbiAgICB0aGlzLnJlcXVlc3RVcGRhdGUoJ3NyYycsIG9sZFZhbCk7XG4gICAgdGhpcy5fZXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLl9sb2FkZWQgPSBmYWxzZTtcbiAgfVxuXG4gIGdldCBzcmMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NyYztcbiAgfVxuXG4gIF9vbkxvYWQoZSkge1xuICAgIHRoaXMuX2xvYWRlZCA9IHRydWU7XG4gICAgdGhpcy5za2VsZXRvbiA9IGZhbHNlO1xuICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2xvYWRlZCcsIHsgc3JjOiB0aGlzLnNyYywgYWx0OiB0aGlzLmFsdCB9KTtcbiAgfVxuXG4gIF9vbkVycm9yKGUpIHtcbiAgICB0aGlzLl9lcnJvciA9IHRydWU7XG4gICAgdGhpcy5za2VsZXRvbiA9IGZhbHNlO1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2Vycm9yJyksIGUpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IGRpc3BsYXlUZXh0ID0gdGhpcy5zcmMgPT0gbnVsbCB8fCB0aGlzLl9lcnJvcjtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyICR7Y2xhc3NNYXAoeyBza2VsZXRvbjogdGhpcy5za2VsZXRvbiwgbG9hZGVkOiB0aGlzLl9sb2FkZWQsIHRleHQ6IGRpc3BsYXlUZXh0IH0pfVwiPlxuICAgICAgICA8aW1nIHNyYz0ke2lmRGVmaW5lZCh0aGlzLnNyYyl9IEBsb2FkPSR7dGhpcy5fb25Mb2FkfSBAZXJyb3I9JHt0aGlzLl9vbkVycm9yfSBhbHQ9XCJcIiAvPlxuICAgICAgICAke2Rpc3BsYXlUZXh0ID8gaHRtbGAgPGRpdiBjbGFzcz1cImVycm9yLW1zZ1wiPiR7dGhpcy5hbHR9PC9kaXY+IGAgOiAnJ31cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3YtaW1hZ2UnLCBHdkltYWdlKTtcbiJdfQ==
@@ -13,7 +13,8 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { css, LitElement, html } from 'lit';
16
+ import { css, LitElement } from 'lit-element';
17
+ import { html } from 'lit-html';
17
18
  import '../atoms/gv-icon';
18
19
  /**
19
20
  * Input message component
@@ -56,4 +57,4 @@ export class GvInputMessage extends LitElement {
56
57
 
57
58
  }
58
59
  window.customElements.define('gv-input-message', GvInputMessage);
59
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWlucHV0LW1lc3NhZ2UuanMiXSwibmFtZXMiOlsiY3NzIiwiTGl0RWxlbWVudCIsImh0bWwiLCJHdklucHV0TWVzc2FnZSIsInByb3BlcnRpZXMiLCJsZXZlbCIsInR5cGUiLCJTdHJpbmciLCJfbGV2ZWwiLCJhdHRyaWJ1dGUiLCJjb25zdHJ1Y3RvciIsImluY2x1ZGVzIiwicmVuZGVyIiwic3R5bGVzIiwid2luZG93IiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLEdBQVQsRUFBY0MsVUFBZCxFQUEwQkMsSUFBMUIsUUFBc0MsS0FBdEM7QUFDQSxPQUFPLGtCQUFQO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxPQUFPLE1BQU1DLGNBQU4sU0FBNkJGLFVBQTdCLENBQXdDO0FBQ3hCLGFBQVZHLFVBQVUsR0FBRztBQUN0QixXQUFPO0FBQ0xDLE1BQUFBLEtBQUssRUFBRTtBQUFFQyxRQUFBQSxJQUFJLEVBQUVDO0FBQVIsT0FERjtBQUVMQyxNQUFBQSxNQUFNLEVBQUU7QUFBRUYsUUFBQUEsSUFBSSxFQUFFQyxNQUFSO0FBQWdCRSxRQUFBQSxTQUFTLEVBQUU7QUFBM0I7QUFGSCxLQUFQO0FBSUQ7O0FBRURDLEVBQUFBLFdBQVcsR0FBRztBQUNaO0FBQ0EsU0FBS0YsTUFBTCxHQUFjLFNBQWQ7QUFDRDs7QUFFUSxNQUFMSCxLQUFLLENBQUNBLEtBQUQsRUFBUTtBQUNmLFFBQUksQ0FBQyxPQUFELEVBQVUsTUFBVixFQUFrQixTQUFsQixFQUE2Qk0sUUFBN0IsQ0FBc0NOLEtBQXRDLENBQUosRUFBa0Q7QUFDaEQsV0FBS0csTUFBTCxHQUFjSCxLQUFkO0FBQ0Q7QUFDRjs7QUFFRE8sRUFBQUEsTUFBTSxHQUFHO0FBQ1AsV0FBT1YsSUFBSSxvQ0FBb0MsS0FBS00sTUFBekMsaUJBQWdFLEtBQUtBLE1BQXJFLGlDQUFYO0FBQ0Q7O0FBRWdCLGFBQU5LLE1BQU0sR0FBRztBQUNsQixXQUFPLENBQ0w7QUFDQWIsSUFBQUEsR0FBRyxpV0FGRSxDQUFQO0FBZ0NEOztBQXhENEM7QUEyRC9DYyxNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE1BQXRCLENBQTZCLGtCQUE3QixFQUFpRGIsY0FBakQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY3NzLCBMaXRFbGVtZW50LCBodG1sIH0gZnJvbSAnbGl0JztcbmltcG9ydCAnLi4vYXRvbXMvZ3YtaWNvbic7XG5cbi8qKlxuICogSW5wdXQgbWVzc2FnZSBjb21wb25lbnRcbiAqXG4gKiBAYXR0ciB7U3RyaW5nfSBsZXZlbCAtIGxldmVsIG9mIG1lc3NhZ2UgWydpbmZvJywgJ2Vycm9yJywgJ3dhcm5pbmcnXVxuICovXG5leHBvcnQgY2xhc3MgR3ZJbnB1dE1lc3NhZ2UgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBsZXZlbDogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIF9sZXZlbDogeyB0eXBlOiBTdHJpbmcsIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9sZXZlbCA9ICd3YXJuaW5nJztcbiAgfVxuXG4gIHNldCBsZXZlbChsZXZlbCkge1xuICAgIGlmIChbJ2Vycm9yJywgJ2luZm8nLCAnd2FybmluZyddLmluY2x1ZGVzKGxldmVsKSkge1xuICAgICAgdGhpcy5fbGV2ZWwgPSBsZXZlbDtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIGh0bWxgPGRpdiBjbGFzcz1cImJveFwiPjxndi1pY29uIGNsYXNzPVwiJHt0aGlzLl9sZXZlbH1cIiBzaGFwZT1cImNvZGU6JHt0aGlzLl9sZXZlbH1cIj48L2d2LWljb24+PHNsb3Q+PC9zbG90PjwvZGl2PmA7XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMC4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaWNvbiB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAuMnJlbTtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IDI0cHg7XG4gICAgICAgIH1cblxuICAgICAgICBndi1pY29uLndhcm5pbmcge1xuICAgICAgICAgIC0tZ3YtaWNvbi1vcGFjaXR5LS1jOiB2YXIoLS1ndi10aGVtZS1jb2xvci13YXJuaW5nLCAjZmY5ODAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGd2LWljb24uZXJyb3Ige1xuICAgICAgICAgIC0tZ3YtaWNvbi1vcGFjaXR5LS1jOiB2YXIoLS1ndi10aGVtZS1jb2xvci1lcnJvciwgI2Y0NDMzNik7XG4gICAgICAgIH1cblxuICAgICAgICBndi1pY29uLmluZm8ge1xuICAgICAgICAgIC0tZ3YtaWNvbi1vcGFjaXR5LS1jOiB2YXIoLS1ndi10aGVtZS1jb2xvci1pbmZvLCAjMjE5NmYzKTtcbiAgICAgICAgfVxuICAgICAgYCxcbiAgICBdO1xuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LWlucHV0LW1lc3NhZ2UnLCBHdklucHV0TWVzc2FnZSk7XG4iXX0=
60
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWlucHV0LW1lc3NhZ2UuanMiXSwibmFtZXMiOlsiY3NzIiwiTGl0RWxlbWVudCIsImh0bWwiLCJHdklucHV0TWVzc2FnZSIsInByb3BlcnRpZXMiLCJsZXZlbCIsInR5cGUiLCJTdHJpbmciLCJfbGV2ZWwiLCJhdHRyaWJ1dGUiLCJjb25zdHJ1Y3RvciIsImluY2x1ZGVzIiwicmVuZGVyIiwic3R5bGVzIiwid2luZG93IiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLEdBQVQsRUFBY0MsVUFBZCxRQUFnQyxhQUFoQztBQUNBLFNBQVNDLElBQVQsUUFBcUIsVUFBckI7QUFDQSxPQUFPLGtCQUFQO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxPQUFPLE1BQU1DLGNBQU4sU0FBNkJGLFVBQTdCLENBQXdDO0FBQ3hCLGFBQVZHLFVBQVUsR0FBRztBQUN0QixXQUFPO0FBQ0xDLE1BQUFBLEtBQUssRUFBRTtBQUFFQyxRQUFBQSxJQUFJLEVBQUVDO0FBQVIsT0FERjtBQUVMQyxNQUFBQSxNQUFNLEVBQUU7QUFBRUYsUUFBQUEsSUFBSSxFQUFFQyxNQUFSO0FBQWdCRSxRQUFBQSxTQUFTLEVBQUU7QUFBM0I7QUFGSCxLQUFQO0FBSUQ7O0FBRURDLEVBQUFBLFdBQVcsR0FBRztBQUNaO0FBQ0EsU0FBS0YsTUFBTCxHQUFjLFNBQWQ7QUFDRDs7QUFFUSxNQUFMSCxLQUFLLENBQUNBLEtBQUQsRUFBUTtBQUNmLFFBQUksQ0FBQyxPQUFELEVBQVUsTUFBVixFQUFrQixTQUFsQixFQUE2Qk0sUUFBN0IsQ0FBc0NOLEtBQXRDLENBQUosRUFBa0Q7QUFDaEQsV0FBS0csTUFBTCxHQUFjSCxLQUFkO0FBQ0Q7QUFDRjs7QUFFRE8sRUFBQUEsTUFBTSxHQUFHO0FBQ1AsV0FBT1YsSUFBSSxvQ0FBb0MsS0FBS00sTUFBekMsaUJBQWdFLEtBQUtBLE1BQXJFLGlDQUFYO0FBQ0Q7O0FBRWdCLGFBQU5LLE1BQU0sR0FBRztBQUNsQixXQUFPLENBQ0w7QUFDQWIsSUFBQUEsR0FBRyxpV0FGRSxDQUFQO0FBZ0NEOztBQXhENEM7QUEyRC9DYyxNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE1BQXRCLENBQTZCLGtCQUE3QixFQUFpRGIsY0FBakQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY3NzLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0LWVsZW1lbnQnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdC1odG1sJztcbmltcG9ydCAnLi4vYXRvbXMvZ3YtaWNvbic7XG5cbi8qKlxuICogSW5wdXQgbWVzc2FnZSBjb21wb25lbnRcbiAqXG4gKiBAYXR0ciB7U3RyaW5nfSBsZXZlbCAtIGxldmVsIG9mIG1lc3NhZ2UgWydpbmZvJywgJ2Vycm9yJywgJ3dhcm5pbmcnXVxuICovXG5leHBvcnQgY2xhc3MgR3ZJbnB1dE1lc3NhZ2UgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBsZXZlbDogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIF9sZXZlbDogeyB0eXBlOiBTdHJpbmcsIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9sZXZlbCA9ICd3YXJuaW5nJztcbiAgfVxuXG4gIHNldCBsZXZlbChsZXZlbCkge1xuICAgIGlmIChbJ2Vycm9yJywgJ2luZm8nLCAnd2FybmluZyddLmluY2x1ZGVzKGxldmVsKSkge1xuICAgICAgdGhpcy5fbGV2ZWwgPSBsZXZlbDtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIGh0bWxgPGRpdiBjbGFzcz1cImJveFwiPjxndi1pY29uIGNsYXNzPVwiJHt0aGlzLl9sZXZlbH1cIiBzaGFwZT1cImNvZGU6JHt0aGlzLl9sZXZlbH1cIj48L2d2LWljb24+PHNsb3Q+PC9zbG90PjwvZGl2PmA7XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMC4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaWNvbiB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAuMnJlbTtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IDI0cHg7XG4gICAgICAgIH1cblxuICAgICAgICBndi1pY29uLndhcm5pbmcge1xuICAgICAgICAgIC0tZ3YtaWNvbi1vcGFjaXR5LS1jOiB2YXIoLS1ndi10aGVtZS1jb2xvci13YXJuaW5nLCAjZmY5ODAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGd2LWljb24uZXJyb3Ige1xuICAgICAgICAgIC0tZ3YtaWNvbi1vcGFjaXR5LS1jOiB2YXIoLS1ndi10aGVtZS1jb2xvci1lcnJvciwgI2Y0NDMzNik7XG4gICAgICAgIH1cblxuICAgICAgICBndi1pY29uLmluZm8ge1xuICAgICAgICAgIC0tZ3YtaWNvbi1vcGFjaXR5LS1jOiB2YXIoLS1ndi10aGVtZS1jb2xvci1pbmZvLCAjMjE5NmYzKTtcbiAgICAgICAgfVxuICAgICAgYCxcbiAgICBdO1xuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LWlucHV0LW1lc3NhZ2UnLCBHdklucHV0TWVzc2FnZSk7XG4iXX0=