@alauda-fe/common 1.0.1 → 1.0.3

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 (33) hide show
  1. package/a-chart/components/legend/base-legend.component.d.ts +3 -4
  2. package/a-chart/constant.d.ts +3 -0
  3. package/a-chart/types.d.ts +2 -2
  4. package/a-chart/utils.d.ts +1 -1
  5. package/a-metric-chart/a-metric-chart.component.d.ts +1 -2
  6. package/a-metric-chart/bar-gauge/bar-gauge.component.d.ts +1 -1
  7. package/a-metric-chart/base-chart.component.d.ts +1 -1
  8. package/a-metric-chart/types.d.ts +1 -1
  9. package/a-metric-chart/utils/unit.d.ts +1 -1
  10. package/a-metric-chart/utils/util.d.ts +1 -1
  11. package/core/types/k8s/crd.d.ts +100 -1
  12. package/esm2022/a-chart/base-chart.mjs +2 -2
  13. package/esm2022/a-chart/chart-status.component.mjs +2 -2
  14. package/esm2022/a-chart/chart.component.mjs +15 -4
  15. package/esm2022/a-chart/components/legend/base-legend.component.mjs +15 -14
  16. package/esm2022/a-chart/constant.mjs +3 -1
  17. package/esm2022/a-chart/types.mjs +1 -1
  18. package/esm2022/a-chart/utils.mjs +1 -1
  19. package/esm2022/a-metric-chart/a-metric-chart.component.mjs +3 -3
  20. package/esm2022/a-metric-chart/a-metric-chart.module.mjs +3 -3
  21. package/esm2022/a-metric-chart/bar-gauge/bar-gauge.component.mjs +1 -1
  22. package/esm2022/a-metric-chart/base-chart.component.mjs +1 -1
  23. package/esm2022/a-metric-chart/types.mjs +1 -1
  24. package/esm2022/a-metric-chart/utils/unit.mjs +2 -2
  25. package/esm2022/a-metric-chart/utils/util.mjs +2 -2
  26. package/esm2022/business/resource-select/internals/data-grid/component.mjs +23 -23
  27. package/esm2022/business/resource-select/utils.mjs +7 -2
  28. package/esm2022/core/types/k8s/crd.mjs +1 -1
  29. package/esm2022/form/directives/value-trace.directive.mjs +61 -0
  30. package/esm2022/form/public-api.mjs +2 -1
  31. package/form/directives/value-trace.directive.d.ts +27 -0
  32. package/form/public-api.d.ts +1 -0
  33. package/package.json +5 -5
@@ -2,7 +2,7 @@ import dayjs from 'dayjs';
2
2
  import { get, isFunction, template } from 'lodash-es';
3
3
  import { CHART_TIME_FORMAT } from '../../a-chart/public-api';
4
4
  import { FIELD_NOT_AVAILABLE_PLACEHOLDER, } from '../../core/public-api';
5
- import { PICKER_TIME_RANGES } from '../../metric-chart/helpers';
5
+ import { PICKER_TIME_RANGES } from '../../metric-chart/public-api';
6
6
  import { roundInterval } from './range';
7
7
  export function handleMetricParams(params, { variableSource, start, end, step, isIndex }) {
8
8
  // eslint-disable-next-line sonarjs/cognitive-complexity
@@ -221,4 +221,4 @@ export function findTimeRange(diff) {
221
221
  });
222
222
  return time ? { start: time.startTime(), end: time.endTime() } : null;
223
223
  }
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hLW1ldHJpYy1jaGFydC91dGlscy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHN0QsT0FBTyxFQUVMLCtCQUErQixHQUVoQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFeEMsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxNQUF5QixFQUN6QixFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQWdCO0lBRTNELHdEQUF3RDtJQUN4RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3RDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUNuQixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNWLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTTtnQkFDeEIsQ0FBQyxDQUFDLE9BQU87b0JBQ1AsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDO29CQUNiLENBQUMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFB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SSxDQUFDLFNBQVMsRUFBRSxLQUFLLElBQUksQ0FBQztJQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDeEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgeyBnZXQsIGlzRnVuY3Rpb24sIHRlbXBsYXRlIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IERhdGFJdGVtLCBUb29sdGlwVmFsdWUgfSBmcm9tICd6ei1jaGFydCc7XG5cbmltcG9ydCB7IENIQVJUX1RJTUVfRk9STUFUIH0gZnJvbSAnLi4vLi4vYS1jaGFydC9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEFDaGFydERhdGEgfSBmcm9tICcuLi8uLi9hLWNoYXJ0L3R5cGVzJztcbmltcG9ydCB7IE1vbml0b3JNZXRyaWMsIE1vbml0b3JNZXRyaWNSZXN1bHQgfSBmcm9tICcuLi8uLi9hcGkvcHVibGljLWFwaSc7XG5pbXBvcnQge1xuICBEaWN0aW9uYXJ5LFxuICBGSUVMRF9OT1RfQVZBSUxBQkxFX1BMQUNFSE9MREVSLFxuICBTdHJpbmdNYXAsXG59IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBQSUNLRVJfVElNRV9SQU5HRVMgfSBmcm9tICcuLi8uLi9tZXRyaWMtY2hhcnQvaGVscGVycyc7XG5pbXBvcnQgeyBGZXRjaFBhcmFtcywgSW5kaWNhdG9yUGFyYW1zLCBNZXRyaWNQYXJhbXMgfSBmcm9tICcuLi90eXBlcyc7XG5cbmltcG9ydCB7IHJvdW5kSW50ZXJ2YWwgfSBmcm9tICcuL3JhbmdlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZU1ldHJpY1BhcmFtcyhcbiAgcGFyYW1zOiBJbmRpY2F0b3JQYXJhbXNbXSxcbiAgeyB2YXJpYWJsZVNvdXJjZSwgc3RhcnQsIGVuZCwgc3RlcCwgaXNJbmRleCB9OiBNZXRyaWNQYXJhbXMsXG4pIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvY29nbml0aXZlLWNvbXBsZXhpdHlcbiAgY29uc3QgdmFsdWUgPSBwYXJhbXMubWFwKChjdXIsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgdiA9IEFycmF5LmlzQXJyYXkodmFyaWFibGVTb3VyY2UpXG4gICAgICA/IHZhcmlhYmxlU291cmNlLmZpbHRlcihcbiAgICAgICAgICAoaXRlbSwgaSkgPT5cbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGl0ZW0pLmxlbmd0aCAmJlxuICAgICAgICAgICAgKChpc0luZGV4XG4gICAgICAgICAgICAgID8gaW5kZXggPT09IGlcbiAgICAgICAgICAgICAgOiBjdXI/LnZhcmlhYmxlcz8uZXZlcnkodiA9PiBPYmplY3Qua2V5cyhpdGVtKS5pbmNsdWRlcyh2KSkpIHx8XG4gICAgICAgICAgICAgIGN1ci5leHByKSxcbiAgICAgICAgKVxuICAgICAgOiBjdXIudmFyaWFibGVzPy5sZW5ndGggJiYgdmFyaWFibGVTb3VyY2VcbiAgICAgID8gW3ZhcmlhYmxlU291cmNlXVxuICAgICAgOiBbXTtcbiAgICBjb25zdCB2YXJpYWJsZTogU3RyaW5nTWFwW10gPSB2Lm1hcCh2YWx1ZSA9PiB7XG4gICAgICByZXR1cm4gY3VyLmV4cHJcbiAgICAgICAgPyB2YWx1ZVxuICAgICAgICA6IGN1ci52YXJpYWJsZXM/LnJlZHVjZShcbiAgICAgICAgICAgIChwcmUsIGtleSkgPT5cbiAgICAgICAgICAgICAgdmFsdWVba2V5XVxuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAuLi5wcmUsXG4gICAgICAgICAgICAgICAgICAgIFtrZXldOiB2YWx1ZVtrZXldLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDogcHJlLFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgKTtcbiAgICB9KTtcbiAgICBjb25zdCBpbmRpY2F0b3JzID0gY3VyLmluZGljYXRvcnMgfHwgY3VyLmV4cHI7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluZGljYXRvcnM6IGN1ci5pbmRpY2F0b3JzLFxuICAgICAgZXhwcnM6IGN1ci5leHByID8gW2luZGljYXRvcnNdIDogW10sXG4gICAgICB2YXJpYWJsZXM6IHZhcmlhYmxlLFxuICAgIH07XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIGluZGljYXRvcnM6IHZhbHVlLFxuICAgIHN0YXJ0LFxuICAgIGVuZCxcbiAgICBzdGVwLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlQ2hhcnREYXRhKFxuICB7IGluZGljYXRvclBhcmFtcywgbWV0cmljUGFyYW1zIH06IEZldGNoUGFyYW1zLFxuICBkYXRhOiBNb25pdG9yTWV0cmljW10sXG4pIHtcbiAgaWYgKCFkYXRhKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGNvbnN0IHsgZGVwZW5kZW50RGF0YSB9ID0gbWV0cmljUGFyYW1zO1xuICByZXR1cm4gZGVwZW5kZW50RGF0YVxuICAgID8gZGVwZW5kT25EYXRhKGluZGljYXRvclBhcmFtcywgZGF0YSlcbiAgICA6IGRlcGVuZE9uSW5kaWNhdG9yKGluZGljYXRvclBhcmFtcywgZGF0YSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXBlbmRPbkluZGljYXRvcihcbiAgaW5kaWNhdG9yUGFyYW1zOiBJbmRpY2F0b3JQYXJhbXNbXSxcbiAgZGF0YTogTW9uaXRvck1ldHJpY1tdLFxuKTogQUNoYXJ0RGF0YVtdIHtcbiAgcmV0dXJuIGluZGljYXRvclBhcmFtcy5yZWR1Y2UoKHByZSwgcGFyYW1zKSA9PiB7XG4gICAgY29uc3QgbWV0cmljRGF0YSA9IGRhdGE/LmZpbmQoaXRlbSA9PiBpdGVtLmluZGljYXRvciA9PT0gcGFyYW1zLmluZGljYXRvcnMpO1xuICAgIHJldHVybiBbLi4ucHJlLCBoYW5kbGVEYXRhUmVzdWx0KHBhcmFtcywgbWV0cmljRGF0YT8ucmVzdWx0Py5bMF0pXTtcbiAgfSwgW10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kT25EYXRhKFxuICBpbmRpY2F0b3JQYXJhbXM6IEluZGljYXRvclBhcmFtc1tdLFxuICBkYXRhOiBNb25pdG9yTWV0cmljW10sXG4pOiBBQ2hhcnREYXRhW10ge1xuICBjb25zdCBwYXJhbXMgPSBpbmRpY2F0b3JQYXJhbXNbMF07XG4gIHJldHVybiBkYXRhPy5yZWR1Y2UoKHByZSwgcmVzKSA9PiB7XG4gICAgaWYgKHBhcmFtcy5pbmRpY2F0b3JzID09PSByZXMuaW5kaWNhdG9yIHx8IHBhcmFtcy5leHByID09PSByZXMucXVlcnkpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLnByZSxcbiAgICAgICAgLi4ucmVzLnJlc3VsdC5tYXAoaXRlbSA9PiBoYW5kbGVEYXRhUmVzdWx0KHBhcmFtcywgaXRlbSkpLFxuICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIHByZTtcbiAgfSwgW10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlRGF0YVJlc3VsdChcbiAgcGFyYW1zOiBJbmRpY2F0b3JQYXJhbXMsXG4gIHJlczogTW9uaXRvck1ldHJpY1Jlc3VsdCxcbikge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IGhhbmRsZUxlZ2VuZChwYXJhbXMsIHJlcyksXG4gICAgdmFsdWVzOiByZXM/LnZhbHVlcz8ubWFwKGQgPT4gKHtcbiAgICAgIHg6IGRbMF0sXG4gICAgICB5OiBkWzFdLFxuICAgIH0pKSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUxlZ2VuZChcbiAgcGFyYW1zOiBJbmRpY2F0b3JQYXJhbXMsXG4gIHJlc3VsdDogTW9uaXRvck1ldHJpY1Jlc3VsdCxcbikge1xuICByZXR1cm4gaXNGdW5jdGlvbihwYXJhbXM/LmxlZ2VuZClcbiAgICA/IHBhcmFtcy5sZWdlbmQocGFyYW1zLCByZXN1bHQpXG4gICAgOiBnZXRMZWdlbmROYW1lKHBhcmFtcz8ubGVnZW5kLCByZXN1bHQ/Lm1ldHJpYyB8fCB7fSk7XG59XG5leHBvcnQgY29uc3QgTEVHRU5EX1RFTVBMQVRFX09QVElPTlMgPSBPYmplY3QuZnJlZXplKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlZ2V4cC9tYXRjaC1hbnksIHJlZ2V4cC9zdHJpY3RcbiAgaW50ZXJwb2xhdGU6IC97e1xcLihbXFxTXFxzXSs/KX19L2csXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldExlZ2VuZE5hbWUobWV0cmljS2V5OiBzdHJpbmcsIG1ldHJpYzogU3RyaW5nTWFwKSB7XG4gIGlmICghbWV0cmljS2V5ICYmICFPYmplY3Qua2V5cyhtZXRyaWMgfHwge30pPy5sZW5ndGgpIHtcbiAgICByZXR1cm4gRklFTERfTk9UX0FWQUlMQUJMRV9QTEFDRUhPTERFUjtcbiAgfVxuICBpZiAoIW1ldHJpY0tleSAmJiBtZXRyaWMpIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobWV0cmljKTtcbiAgfVxuICBjb25zdCBtZXRyaWNLZXlzID0gbWV0cmljS2V5Py5zcGxpdCgnLCcpLm1hcChtYXRjaExlZ2VuZCk7XG4gIGlmIChtZXRyaWNLZXlzPy5sZW5ndGggPiAxKSB7XG4gICAgY29uc3QgdmFsdWUgPSBtZXRyaWM/LlttZXRyaWNLZXlzLmZpbmQoaXRlbSA9PiBtZXRyaWNbaXRlbV0pXTtcbiAgICByZXR1cm4gdmFsdWUgfHwgbWV0cmljS2V5O1xuICB9XG4gIHJldHVybiAoXG4gICAgZ2V0TGVnZW5kVGVtcGxhdGUobWV0cmljS2V5LCBtZXRyaWMpIHx8XG4gICAgbWV0cmljW21hdGNoTGVnZW5kKG1ldHJpY0tleSldIHx8XG4gICAgbWV0cmljS2V5XG4gICk7XG59XG5cbmZ1bmN0aW9uIGdldExlZ2VuZFRlbXBsYXRlKHN0cjogc3RyaW5nLCBvYmo6IG9iamVjdCkge1xuICBsZXQgbmFtZTogc3RyaW5nO1xuICB0cnkge1xuICAgIG5hbWUgPSBnZXQob2JqLCBzdHIpIHx8IHRlbXBsYXRlKHN0ciwgTEVHRU5EX1RFTVBMQVRFX09QVElPTlMpKG9iaik7XG4gIH0gY2F0Y2gge1xuICAgIG5hbWUgPSAnJztcbiAgfVxuICByZXR1cm4gbmFtZTtcbn1cblxuZnVuY3Rpb24gbWF0Y2hMZWdlbmQodmFsdWU6IHN0cmluZykge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9iZXR0ZXItcmVnZXhcbiAgcmV0dXJuIHZhbHVlLm1hdGNoKC9cXHtcXHtcXC4oLis/KVxcfVxcfS8pPy5bMV0gfHwgdmFsdWU7XG59XG5cbi8vIOWhq+WFheepuuaVsOaNrlxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvY29nbml0aXZlLWNvbXBsZXhpdHlcbmV4cG9ydCBmdW5jdGlvbiBmaWxsTnVsbERhdGEoXG4gIHsgc3RhcnQsIGVuZCwgc3RlcCB9OiBNZXRyaWNQYXJhbXMsXG4gIHJlczogRGF0YUl0ZW1bJ3ZhbHVlcyddID0gW10sXG4gIHN0ZXBMaW5lID0gZmFsc2UsXG4pIHtcbiAgaWYgKCErc3RhcnQgfHwgIStlbmQpIHtcbiAgICByZXR1cm4gcmVzO1xuICB9XG4gIGNvbnN0IF9zdGVwID0gc3RlcCB8fCByb3VuZEludGVydmFsKHN0YXJ0LCBlbmQpO1xuICBjb25zdCBjdXJTdGFydCA9ICtzdGFydDtcbiAgY29uc3QgY3VyRW5kID0gc3RhcnQgKyBzdGVwICogKChlbmQgLSBzdGFydCkgLyBzdGVwKTtcbiAgY29uc3QgcHJlWCA9IHN0ZXBMaW5lXG4gICAgPyB7XG4gICAgICAgIHByZVg6IGRheWpzKGN1clN0YXJ0KVxuICAgICAgICAgIC5zdWJ0cmFjdCgoZW5kIC0gc3RhcnQpIC8gNiwgJ3MnKVxuICAgICAgICAgIC52YWx1ZU9mKCksXG4gICAgICB9XG4gICAgOiB7fTtcbiAgY29uc3QgcmVzdWx0ID0gW1xuICAgIC4uLihjdXJTdGFydCA9PT0gcmVzWzBdPy54ID8gW10gOiBbeyB4OiBjdXJTdGFydCwgeTogbnVsbCwgLi4ucHJlWCB9XSksXG4gICAgLi4ucmVzLFxuICAgIC4uLihyZXMuYXQoLTEpPy54ID09PSBjdXJFbmQgPyBbXSA6IFt7IHg6IGN1ckVuZCwgeTogbnVsbCB9XSksXG4gIF07XG5cbiAgLy8gcXVlcnkg6L+U5Zue5pWw5o2u5Y+v6IO95a2Y5Zyo5p+Q5Liq5pe26Ze05q615peg5pWw5o2u5oOF5Ya177yM5Lya5a+86Ie05YmN56uvYnVnXG4gIC8vIOmAmui/hyBzdGVwIOiuoeeul+WHuiDmgLvmlbDmja7jgIJcbiAgLy8g5Zyo5Ye6546w5LiA5byA5aeL5pWw5o2u57y65aSx5oOF5Ya177yM5YWI57uZ5pWw5o2u5re75Yqg5byA5aeL5pe26Ze05pWw5o2u77yM5ZKM57uT5p2f5pe26Ze05pWw5o2u44CCXG4gIC8vIOWcqOi/m+ihjOmBjeWOhu+8jOWIpOivu+W9k+WJjeaVsOaNruWSjOS4i+S4gOi3s+aVsOaNruS6i+S7tuW3riDmmK/lkKbmmK/ov5nkuKogc3RlcCxcbiAgLy8g5aaC5p6c5LiN5piv6K6h566X5Ye65Lik6ICF55u45beuIOWHoOadoeaVsOaNru+8jOeEtuWQjui/m+ihjOWhq+WFhVxuICBjb25zdCBkYXRhID0gcmVzdWx0LnJlZHVjZSgoYWNjLCBwcmV2LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IGRpZmYgPVxuICAgICAgcmVzdWx0W2luZGV4ICsgMV0gJiYgcmVzdWx0W2luZGV4ICsgMV0ueCAqIDEwMDAgLSBwcmV2LnggKiAxMDAwO1xuICAgIGNvbnN0IHN0ZXBNID0gX3N0ZXAgKiAxMDAwO1xuICAgIC8vIOWQjuerr+WPr+iDveWHuueOsCArSWZuIOWvvOiHtOaIkCBOYU7vvIzorr7nva7kuLogbnVsbFxuICAgIGNvbnN0IGN1clZhbHVlID0ge1xuICAgICAgLi4ucHJldixcbiAgICAgIHk6IHByZXYueSxcbiAgICB9O1xuICAgIGlmIChkaWZmICYmIGRpZmYgIT09IHN0ZXBNKSB7XG4gICAgICBjb25zdCB0b3RhbCA9IE1hdGguY2VpbChkaWZmIC8gc3RlcE0gLSAxKTtcbiAgICAgIGNvbnN0IGRhdGEgPSBBcnJheS5mcm9tPG51bWJlcj4oeyBsZW5ndGg6IHRvdGFsIHx8IDAgfSlcbiAgICAgICAgLmZpbGwoMClcbiAgICAgICAgLnJlZHVjZSgob2xkLCBfY3VyciwgaSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHggPVxuICAgICAgICAgICAgaSA9PT0gMCA/IHByZXYueCAqIDEwMDAgKyBzdGVwTSA6IG9sZFtpIC0gMV0ueCAqIDEwMDAgKyBzdGVwTTtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4ub2xkLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB4OiB4IC8gMTAwMCxcbiAgICAgICAgICAgICAgeTogbnVsbCxcbiAgICAgICAgICAgICAgLi4uKHN0ZXBMaW5lXG4gICAgICAgICAgICAgICAgPyB7IHByZVg6IGkgPT09IDAgPyByZXN1bHRbaW5kZXhdLnggOiBvbGRbaSAtIDFdLnggfVxuICAgICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuICAgICAgICB9LCBbXSk7XG4gICAgICByZXR1cm4gWy4uLmFjYywgY3VyVmFsdWUsIC4uLmRhdGFdO1xuICAgIH1cbiAgICByZXR1cm4gWy4uLmFjYywgY3VyVmFsdWVdO1xuICB9LCBbXSk7XG4gIHJldHVybiBkYXRhLnNvcnQoKGEsIGIpID0+IGEueCAtIGIueCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVEYXRlQXhpc0xhYmVsRm9ybWF0cyhcbiAgcGFyYW1zOiBNZXRyaWNQYXJhbXMsXG4gIGlzUmljaD86IGJvb2xlYW4sXG4pIHtcbiAgaWYgKHBhcmFtcykge1xuICAgIGNvbnN0IGRpZmYgPSBwYXJhbXMuZW5kIC0gcGFyYW1zLnN0YXJ0O1xuICAgIGNvbnN0IG0xID0gMjQgKiA2MCAqIDYwO1xuICAgIGNvbnN0IG0zID0gMyAqIG0xO1xuICAgIGNvbnN0IG03ID0gNyAqIG0xO1xuICAgIGNvbnN0IE1fRF9GT1JNQVQgPSAnTU0tREQnO1xuICAgIGNvbnN0IE1EX0hTX0ZPUk1BVCA9IGAke01fRF9GT1JNQVR9ICR7Q0hBUlRfVElNRV9GT1JNQVR9YDtcbiAgICByZXR1cm4gZGlmZiA+PSBtN1xuICAgICAgPyBpc1JpY2hcbiAgICAgICAgPyBNRF9IU19GT1JNQVRcbiAgICAgICAgOiBNX0RfRk9STUFUXG4gICAgICA6IGRpZmYgPCBtNyAmJiAoZGlmZiA+PSBtMyB8fCBkaWZmID4gbTEpXG4gICAgICA/IE1EX0hTX0ZPUk1BVFxuICAgICAgOiBDSEFSVF9USU1FX0ZPUk1BVDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbGltaXRNYXhUb29sdGlwSXRlbShjb250ZXh0OiBUb29sdGlwVmFsdWVbXSwgbGltaXQgPSAxNSkge1xuICByZXR1cm4gY29udGV4dC5zbGljZSgwLCBsaW1pdCk7XG59XG5cbmV4cG9ydCBjb25zdCBWQVJJQUJMRV9LRVlfQ0xVU1RFUiA9ICckY2x1c3Rlcic7XG5leHBvcnQgY29uc3QgVkFSSUFCTEVfS0VZX05BTUVTUEFDRSA9ICckbmFtZXNwYWNlJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VFeHByVmFyaWFibGUoXG4gIGV4cHI6IHN0cmluZyB8IHN0cmluZ1tdLFxuICB2YXJpYWJsZTogRGljdGlvbmFyeTxhbnk+LFxuKSB7XG4gIGxldCBkYXRhID0gQXJyYXkuaXNBcnJheShleHByKSA/IGV4cHIuam9pbignfCcpIDogZXhwcjtcbiAgY29uc3QgdmFyaWFibGVLZXlzID0gT2JqZWN0LmtleXModmFyaWFibGUgfHwge30pO1xuICBjb25zdCB2YXJpYWJsZVZhbHVlcyA9IE9iamVjdC52YWx1ZXModmFyaWFibGUgfHwge30pO1xuICBjb25zdCB2YXJzOiBzdHJpbmdbXSA9XG4gICAgZGF0YSAmJiB0eXBlb2YgZGF0YS5tYXRjaCA9PT0gJ2Z1bmN0aW9uJyA/IGRhdGEubWF0Y2goL1xcJFxcdysvZykgOiBbXTtcbiAgaWYgKFxuICAgICF2YXJpYWJsZUtleXMubGVuZ3RoIHx8XG4gICAgIXZhcmlhYmxlS2V5cy5zb21lKHYgPT4gdmFycz8uc29tZShpdGVtID0+IGl0ZW0ucmVwbGFjZSgnJCcsICcnKSA9PT0gdikpXG4gICkge1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgdmFyc1xuICAgIC5zb3J0KChhLCBiKSA9PiBiLmxlbmd0aCAtIGEubGVuZ3RoKVxuICAgIC5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBjb25zdCBrID0ga2V5LnJlcGxhY2UoJyQnLCAnJyk7XG4gICAgICBjb25zdCBpbmRleCA9IHZhcmlhYmxlS2V5cy5pbmRleE9mKGspO1xuICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgY29uc3QgdiA9IHZhcmlhYmxlVmFsdWVzW2luZGV4XTtcbiAgICAgICAgZGF0YSA9IGRhdGE/LnJlcGxhY2UoXG4gICAgICAgICAgbmV3IFJlZ0V4cChgXFxcXCQke2t9YCwgJ2cnKSxcbiAgICAgICAgICBBcnJheS5pc0FycmF5KHYpID8gdi5qb2luKCd8JykgOiB2LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICByZXR1cm4gZGF0YTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRUaW1lUmFuZ2UoZGlmZjogbnVtYmVyKSB7XG4gIGNvbnN0IHRpbWUgPSBQSUNLRVJfVElNRV9SQU5HRVMuZmluZChpdGVtID0+IHtcbiAgICByZXR1cm4gaXRlbS5lbmRUaW1lKCkgLSBpdGVtLnN0YXJ0VGltZSgpID09PSBkaWZmO1xuICB9KTtcbiAgcmV0dXJuIHRpbWUgPyB7IHN0YXJ0OiB0aW1lLnN0YXJ0VGltZSgpLCBlbmQ6IHRpbWUuZW5kVGltZSgpIH0gOiBudWxsO1xufVxuIl19
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hLW1ldHJpYy1jaGFydC91dGlscy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFjLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxFQUVMLCtCQUErQixHQUVoQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFeEMsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxNQUF5QixFQUN6QixFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQWdCO0lBRTNELHdEQUF3RDtJQUN4RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3RDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUNuQixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNWLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTTtnQkFDeEIsQ0FBQyxDQUFDLE9BQU87b0JBQ1AsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDO29CQUNiLENBQUMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFB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SSxDQUFDLFNBQVMsRUFBRSxLQUFLLElBQUksQ0FBQztJQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDeEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgeyBnZXQsIGlzRnVuY3Rpb24sIHRlbXBsYXRlIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IERhdGFJdGVtLCBUb29sdGlwVmFsdWUgfSBmcm9tICd6ei1jaGFydCc7XG5cbmltcG9ydCB7IENIQVJUX1RJTUVfRk9STUFULCBBQ2hhcnREYXRhIH0gZnJvbSAnLi4vLi4vYS1jaGFydC9wdWJsaWMtYXBpJztcbmltcG9ydCB7IE1vbml0b3JNZXRyaWMsIE1vbml0b3JNZXRyaWNSZXN1bHQgfSBmcm9tICcuLi8uLi9hcGkvcHVibGljLWFwaSc7XG5pbXBvcnQge1xuICBEaWN0aW9uYXJ5LFxuICBGSUVMRF9OT1RfQVZBSUxBQkxFX1BMQUNFSE9MREVSLFxuICBTdHJpbmdNYXAsXG59IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBQSUNLRVJfVElNRV9SQU5HRVMgfSBmcm9tICcuLi8uLi9tZXRyaWMtY2hhcnQvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBGZXRjaFBhcmFtcywgSW5kaWNhdG9yUGFyYW1zLCBNZXRyaWNQYXJhbXMgfSBmcm9tICcuLi90eXBlcyc7XG5cbmltcG9ydCB7IHJvdW5kSW50ZXJ2YWwgfSBmcm9tICcuL3JhbmdlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZU1ldHJpY1BhcmFtcyhcbiAgcGFyYW1zOiBJbmRpY2F0b3JQYXJhbXNbXSxcbiAgeyB2YXJpYWJsZVNvdXJjZSwgc3RhcnQsIGVuZCwgc3RlcCwgaXNJbmRleCB9OiBNZXRyaWNQYXJhbXMsXG4pIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvY29nbml0aXZlLWNvbXBsZXhpdHlcbiAgY29uc3QgdmFsdWUgPSBwYXJhbXMubWFwKChjdXIsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgdiA9IEFycmF5LmlzQXJyYXkodmFyaWFibGVTb3VyY2UpXG4gICAgICA/IHZhcmlhYmxlU291cmNlLmZpbHRlcihcbiAgICAgICAgICAoaXRlbSwgaSkgPT5cbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGl0ZW0pLmxlbmd0aCAmJlxuICAgICAgICAgICAgKChpc0luZGV4XG4gICAgICAgICAgICAgID8gaW5kZXggPT09IGlcbiAgICAgICAgICAgICAgOiBjdXI/LnZhcmlhYmxlcz8uZXZlcnkodiA9PiBPYmplY3Qua2V5cyhpdGVtKS5pbmNsdWRlcyh2KSkpIHx8XG4gICAgICAgICAgICAgIGN1ci5leHByKSxcbiAgICAgICAgKVxuICAgICAgOiBjdXIudmFyaWFibGVzPy5sZW5ndGggJiYgdmFyaWFibGVTb3VyY2VcbiAgICAgID8gW3ZhcmlhYmxlU291cmNlXVxuICAgICAgOiBbXTtcbiAgICBjb25zdCB2YXJpYWJsZTogU3RyaW5nTWFwW10gPSB2Lm1hcCh2YWx1ZSA9PiB7XG4gICAgICByZXR1cm4gY3VyLmV4cHJcbiAgICAgICAgPyB2YWx1ZVxuICAgICAgICA6IGN1ci52YXJpYWJsZXM/LnJlZHVjZShcbiAgICAgICAgICAgIChwcmUsIGtleSkgPT5cbiAgICAgICAgICAgICAgdmFsdWVba2V5XVxuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAuLi5wcmUsXG4gICAgICAgICAgICAgICAgICAgIFtrZXldOiB2YWx1ZVtrZXldLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDogcHJlLFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgKTtcbiAgICB9KTtcbiAgICBjb25zdCBpbmRpY2F0b3JzID0gY3VyLmluZGljYXRvcnMgfHwgY3VyLmV4cHI7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluZGljYXRvcnM6IGN1ci5pbmRpY2F0b3JzLFxuICAgICAgZXhwcnM6IGN1ci5leHByID8gW2luZGljYXRvcnNdIDogW10sXG4gICAgICB2YXJpYWJsZXM6IHZhcmlhYmxlLFxuICAgIH07XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIGluZGljYXRvcnM6IHZhbHVlLFxuICAgIHN0YXJ0LFxuICAgIGVuZCxcbiAgICBzdGVwLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlQ2hhcnREYXRhKFxuICB7IGluZGljYXRvclBhcmFtcywgbWV0cmljUGFyYW1zIH06IEZldGNoUGFyYW1zLFxuICBkYXRhOiBNb25pdG9yTWV0cmljW10sXG4pIHtcbiAgaWYgKCFkYXRhKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGNvbnN0IHsgZGVwZW5kZW50RGF0YSB9ID0gbWV0cmljUGFyYW1zO1xuICByZXR1cm4gZGVwZW5kZW50RGF0YVxuICAgID8gZGVwZW5kT25EYXRhKGluZGljYXRvclBhcmFtcywgZGF0YSlcbiAgICA6IGRlcGVuZE9uSW5kaWNhdG9yKGluZGljYXRvclBhcmFtcywgZGF0YSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXBlbmRPbkluZGljYXRvcihcbiAgaW5kaWNhdG9yUGFyYW1zOiBJbmRpY2F0b3JQYXJhbXNbXSxcbiAgZGF0YTogTW9uaXRvck1ldHJpY1tdLFxuKTogQUNoYXJ0RGF0YVtdIHtcbiAgcmV0dXJuIGluZGljYXRvclBhcmFtcy5yZWR1Y2UoKHByZSwgcGFyYW1zKSA9PiB7XG4gICAgY29uc3QgbWV0cmljRGF0YSA9IGRhdGE/LmZpbmQoaXRlbSA9PiBpdGVtLmluZGljYXRvciA9PT0gcGFyYW1zLmluZGljYXRvcnMpO1xuICAgIHJldHVybiBbLi4ucHJlLCBoYW5kbGVEYXRhUmVzdWx0KHBhcmFtcywgbWV0cmljRGF0YT8ucmVzdWx0Py5bMF0pXTtcbiAgfSwgW10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kT25EYXRhKFxuICBpbmRpY2F0b3JQYXJhbXM6IEluZGljYXRvclBhcmFtc1tdLFxuICBkYXRhOiBNb25pdG9yTWV0cmljW10sXG4pOiBBQ2hhcnREYXRhW10ge1xuICBjb25zdCBwYXJhbXMgPSBpbmRpY2F0b3JQYXJhbXNbMF07XG4gIHJldHVybiBkYXRhPy5yZWR1Y2UoKHByZSwgcmVzKSA9PiB7XG4gICAgaWYgKHBhcmFtcy5pbmRpY2F0b3JzID09PSByZXMuaW5kaWNhdG9yIHx8IHBhcmFtcy5leHByID09PSByZXMucXVlcnkpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLnByZSxcbiAgICAgICAgLi4ucmVzLnJlc3VsdC5tYXAoaXRlbSA9PiBoYW5kbGVEYXRhUmVzdWx0KHBhcmFtcywgaXRlbSkpLFxuICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIHByZTtcbiAgfSwgW10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlRGF0YVJlc3VsdChcbiAgcGFyYW1zOiBJbmRpY2F0b3JQYXJhbXMsXG4gIHJlczogTW9uaXRvck1ldHJpY1Jlc3VsdCxcbikge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IGhhbmRsZUxlZ2VuZChwYXJhbXMsIHJlcyksXG4gICAgdmFsdWVzOiByZXM/LnZhbHVlcz8ubWFwKGQgPT4gKHtcbiAgICAgIHg6IGRbMF0sXG4gICAgICB5OiBkWzFdLFxuICAgIH0pKSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUxlZ2VuZChcbiAgcGFyYW1zOiBJbmRpY2F0b3JQYXJhbXMsXG4gIHJlc3VsdDogTW9uaXRvck1ldHJpY1Jlc3VsdCxcbikge1xuICByZXR1cm4gaXNGdW5jdGlvbihwYXJhbXM/LmxlZ2VuZClcbiAgICA/IHBhcmFtcy5sZWdlbmQocGFyYW1zLCByZXN1bHQpXG4gICAgOiBnZXRMZWdlbmROYW1lKHBhcmFtcz8ubGVnZW5kLCByZXN1bHQ/Lm1ldHJpYyB8fCB7fSk7XG59XG5leHBvcnQgY29uc3QgTEVHRU5EX1RFTVBMQVRFX09QVElPTlMgPSBPYmplY3QuZnJlZXplKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlZ2V4cC9tYXRjaC1hbnksIHJlZ2V4cC9zdHJpY3RcbiAgaW50ZXJwb2xhdGU6IC97e1xcLihbXFxTXFxzXSs/KX19L2csXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldExlZ2VuZE5hbWUobWV0cmljS2V5OiBzdHJpbmcsIG1ldHJpYzogU3RyaW5nTWFwKSB7XG4gIGlmICghbWV0cmljS2V5ICYmICFPYmplY3Qua2V5cyhtZXRyaWMgfHwge30pPy5sZW5ndGgpIHtcbiAgICByZXR1cm4gRklFTERfTk9UX0FWQUlMQUJMRV9QTEFDRUhPTERFUjtcbiAgfVxuICBpZiAoIW1ldHJpY0tleSAmJiBtZXRyaWMpIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobWV0cmljKTtcbiAgfVxuICBjb25zdCBtZXRyaWNLZXlzID0gbWV0cmljS2V5Py5zcGxpdCgnLCcpLm1hcChtYXRjaExlZ2VuZCk7XG4gIGlmIChtZXRyaWNLZXlzPy5sZW5ndGggPiAxKSB7XG4gICAgY29uc3QgdmFsdWUgPSBtZXRyaWM/LlttZXRyaWNLZXlzLmZpbmQoaXRlbSA9PiBtZXRyaWNbaXRlbV0pXTtcbiAgICByZXR1cm4gdmFsdWUgfHwgbWV0cmljS2V5O1xuICB9XG4gIHJldHVybiAoXG4gICAgZ2V0TGVnZW5kVGVtcGxhdGUobWV0cmljS2V5LCBtZXRyaWMpIHx8XG4gICAgbWV0cmljW21hdGNoTGVnZW5kKG1ldHJpY0tleSldIHx8XG4gICAgbWV0cmljS2V5XG4gICk7XG59XG5cbmZ1bmN0aW9uIGdldExlZ2VuZFRlbXBsYXRlKHN0cjogc3RyaW5nLCBvYmo6IG9iamVjdCkge1xuICBsZXQgbmFtZTogc3RyaW5nO1xuICB0cnkge1xuICAgIG5hbWUgPSBnZXQob2JqLCBzdHIpIHx8IHRlbXBsYXRlKHN0ciwgTEVHRU5EX1RFTVBMQVRFX09QVElPTlMpKG9iaik7XG4gIH0gY2F0Y2gge1xuICAgIG5hbWUgPSAnJztcbiAgfVxuICByZXR1cm4gbmFtZTtcbn1cblxuZnVuY3Rpb24gbWF0Y2hMZWdlbmQodmFsdWU6IHN0cmluZykge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9iZXR0ZXItcmVnZXhcbiAgcmV0dXJuIHZhbHVlLm1hdGNoKC9cXHtcXHtcXC4oLis/KVxcfVxcfS8pPy5bMV0gfHwgdmFsdWU7XG59XG5cbi8vIOWhq+WFheepuuaVsOaNrlxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvY29nbml0aXZlLWNvbXBsZXhpdHlcbmV4cG9ydCBmdW5jdGlvbiBmaWxsTnVsbERhdGEoXG4gIHsgc3RhcnQsIGVuZCwgc3RlcCB9OiBNZXRyaWNQYXJhbXMsXG4gIHJlczogRGF0YUl0ZW1bJ3ZhbHVlcyddID0gW10sXG4gIHN0ZXBMaW5lID0gZmFsc2UsXG4pIHtcbiAgaWYgKCErc3RhcnQgfHwgIStlbmQpIHtcbiAgICByZXR1cm4gcmVzO1xuICB9XG4gIGNvbnN0IF9zdGVwID0gc3RlcCB8fCByb3VuZEludGVydmFsKHN0YXJ0LCBlbmQpO1xuICBjb25zdCBjdXJTdGFydCA9ICtzdGFydDtcbiAgY29uc3QgY3VyRW5kID0gc3RhcnQgKyBzdGVwICogKChlbmQgLSBzdGFydCkgLyBzdGVwKTtcbiAgY29uc3QgcHJlWCA9IHN0ZXBMaW5lXG4gICAgPyB7XG4gICAgICAgIHByZVg6IGRheWpzKGN1clN0YXJ0KVxuICAgICAgICAgIC5zdWJ0cmFjdCgoZW5kIC0gc3RhcnQpIC8gNiwgJ3MnKVxuICAgICAgICAgIC52YWx1ZU9mKCksXG4gICAgICB9XG4gICAgOiB7fTtcbiAgY29uc3QgcmVzdWx0ID0gW1xuICAgIC4uLihjdXJTdGFydCA9PT0gcmVzWzBdPy54ID8gW10gOiBbeyB4OiBjdXJTdGFydCwgeTogbnVsbCwgLi4ucHJlWCB9XSksXG4gICAgLi4ucmVzLFxuICAgIC4uLihyZXMuYXQoLTEpPy54ID09PSBjdXJFbmQgPyBbXSA6IFt7IHg6IGN1ckVuZCwgeTogbnVsbCB9XSksXG4gIF07XG5cbiAgLy8gcXVlcnkg6L+U5Zue5pWw5o2u5Y+v6IO95a2Y5Zyo5p+Q5Liq5pe26Ze05q615peg5pWw5o2u5oOF5Ya177yM5Lya5a+86Ie05YmN56uvYnVnXG4gIC8vIOmAmui/hyBzdGVwIOiuoeeul+WHuiDmgLvmlbDmja7jgIJcbiAgLy8g5Zyo5Ye6546w5LiA5byA5aeL5pWw5o2u57y65aSx5oOF5Ya177yM5YWI57uZ5pWw5o2u5re75Yqg5byA5aeL5pe26Ze05pWw5o2u77yM5ZKM57uT5p2f5pe26Ze05pWw5o2u44CCXG4gIC8vIOWcqOi/m+ihjOmBjeWOhu+8jOWIpOivu+W9k+WJjeaVsOaNruWSjOS4i+S4gOi3s+aVsOaNruS6i+S7tuW3riDmmK/lkKbmmK/ov5nkuKogc3RlcCxcbiAgLy8g5aaC5p6c5LiN5piv6K6h566X5Ye65Lik6ICF55u45beuIOWHoOadoeaVsOaNru+8jOeEtuWQjui/m+ihjOWhq+WFhVxuICBjb25zdCBkYXRhID0gcmVzdWx0LnJlZHVjZSgoYWNjLCBwcmV2LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IGRpZmYgPVxuICAgICAgcmVzdWx0W2luZGV4ICsgMV0gJiYgcmVzdWx0W2luZGV4ICsgMV0ueCAqIDEwMDAgLSBwcmV2LnggKiAxMDAwO1xuICAgIGNvbnN0IHN0ZXBNID0gX3N0ZXAgKiAxMDAwO1xuICAgIC8vIOWQjuerr+WPr+iDveWHuueOsCArSWZuIOWvvOiHtOaIkCBOYU7vvIzorr7nva7kuLogbnVsbFxuICAgIGNvbnN0IGN1clZhbHVlID0ge1xuICAgICAgLi4ucHJldixcbiAgICAgIHk6IHByZXYueSxcbiAgICB9O1xuICAgIGlmIChkaWZmICYmIGRpZmYgIT09IHN0ZXBNKSB7XG4gICAgICBjb25zdCB0b3RhbCA9IE1hdGguY2VpbChkaWZmIC8gc3RlcE0gLSAxKTtcbiAgICAgIGNvbnN0IGRhdGEgPSBBcnJheS5mcm9tPG51bWJlcj4oeyBsZW5ndGg6IHRvdGFsIHx8IDAgfSlcbiAgICAgICAgLmZpbGwoMClcbiAgICAgICAgLnJlZHVjZSgob2xkLCBfY3VyciwgaSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHggPVxuICAgICAgICAgICAgaSA9PT0gMCA/IHByZXYueCAqIDEwMDAgKyBzdGVwTSA6IG9sZFtpIC0gMV0ueCAqIDEwMDAgKyBzdGVwTTtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4ub2xkLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB4OiB4IC8gMTAwMCxcbiAgICAgICAgICAgICAgeTogbnVsbCxcbiAgICAgICAgICAgICAgLi4uKHN0ZXBMaW5lXG4gICAgICAgICAgICAgICAgPyB7IHByZVg6IGkgPT09IDAgPyByZXN1bHRbaW5kZXhdLnggOiBvbGRbaSAtIDFdLnggfVxuICAgICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuICAgICAgICB9LCBbXSk7XG4gICAgICByZXR1cm4gWy4uLmFjYywgY3VyVmFsdWUsIC4uLmRhdGFdO1xuICAgIH1cbiAgICByZXR1cm4gWy4uLmFjYywgY3VyVmFsdWVdO1xuICB9LCBbXSk7XG4gIHJldHVybiBkYXRhLnNvcnQoKGEsIGIpID0+IGEueCAtIGIueCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVEYXRlQXhpc0xhYmVsRm9ybWF0cyhcbiAgcGFyYW1zOiBNZXRyaWNQYXJhbXMsXG4gIGlzUmljaD86IGJvb2xlYW4sXG4pIHtcbiAgaWYgKHBhcmFtcykge1xuICAgIGNvbnN0IGRpZmYgPSBwYXJhbXMuZW5kIC0gcGFyYW1zLnN0YXJ0O1xuICAgIGNvbnN0IG0xID0gMjQgKiA2MCAqIDYwO1xuICAgIGNvbnN0IG0zID0gMyAqIG0xO1xuICAgIGNvbnN0IG03ID0gNyAqIG0xO1xuICAgIGNvbnN0IE1fRF9GT1JNQVQgPSAnTU0tREQnO1xuICAgIGNvbnN0IE1EX0hTX0ZPUk1BVCA9IGAke01fRF9GT1JNQVR9ICR7Q0hBUlRfVElNRV9GT1JNQVR9YDtcbiAgICByZXR1cm4gZGlmZiA+PSBtN1xuICAgICAgPyBpc1JpY2hcbiAgICAgICAgPyBNRF9IU19GT1JNQVRcbiAgICAgICAgOiBNX0RfRk9STUFUXG4gICAgICA6IGRpZmYgPCBtNyAmJiAoZGlmZiA+PSBtMyB8fCBkaWZmID4gbTEpXG4gICAgICA/IE1EX0hTX0ZPUk1BVFxuICAgICAgOiBDSEFSVF9USU1FX0ZPUk1BVDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbGltaXRNYXhUb29sdGlwSXRlbShjb250ZXh0OiBUb29sdGlwVmFsdWVbXSwgbGltaXQgPSAxNSkge1xuICByZXR1cm4gY29udGV4dC5zbGljZSgwLCBsaW1pdCk7XG59XG5cbmV4cG9ydCBjb25zdCBWQVJJQUJMRV9LRVlfQ0xVU1RFUiA9ICckY2x1c3Rlcic7XG5leHBvcnQgY29uc3QgVkFSSUFCTEVfS0VZX05BTUVTUEFDRSA9ICckbmFtZXNwYWNlJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VFeHByVmFyaWFibGUoXG4gIGV4cHI6IHN0cmluZyB8IHN0cmluZ1tdLFxuICB2YXJpYWJsZTogRGljdGlvbmFyeTxhbnk+LFxuKSB7XG4gIGxldCBkYXRhID0gQXJyYXkuaXNBcnJheShleHByKSA/IGV4cHIuam9pbignfCcpIDogZXhwcjtcbiAgY29uc3QgdmFyaWFibGVLZXlzID0gT2JqZWN0LmtleXModmFyaWFibGUgfHwge30pO1xuICBjb25zdCB2YXJpYWJsZVZhbHVlcyA9IE9iamVjdC52YWx1ZXModmFyaWFibGUgfHwge30pO1xuICBjb25zdCB2YXJzOiBzdHJpbmdbXSA9XG4gICAgZGF0YSAmJiB0eXBlb2YgZGF0YS5tYXRjaCA9PT0gJ2Z1bmN0aW9uJyA/IGRhdGEubWF0Y2goL1xcJFxcdysvZykgOiBbXTtcbiAgaWYgKFxuICAgICF2YXJpYWJsZUtleXMubGVuZ3RoIHx8XG4gICAgIXZhcmlhYmxlS2V5cy5zb21lKHYgPT4gdmFycz8uc29tZShpdGVtID0+IGl0ZW0ucmVwbGFjZSgnJCcsICcnKSA9PT0gdikpXG4gICkge1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgdmFyc1xuICAgIC5zb3J0KChhLCBiKSA9PiBiLmxlbmd0aCAtIGEubGVuZ3RoKVxuICAgIC5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBjb25zdCBrID0ga2V5LnJlcGxhY2UoJyQnLCAnJyk7XG4gICAgICBjb25zdCBpbmRleCA9IHZhcmlhYmxlS2V5cy5pbmRleE9mKGspO1xuICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgY29uc3QgdiA9IHZhcmlhYmxlVmFsdWVzW2luZGV4XTtcbiAgICAgICAgZGF0YSA9IGRhdGE/LnJlcGxhY2UoXG4gICAgICAgICAgbmV3IFJlZ0V4cChgXFxcXCQke2t9YCwgJ2cnKSxcbiAgICAgICAgICBBcnJheS5pc0FycmF5KHYpID8gdi5qb2luKCd8JykgOiB2LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICByZXR1cm4gZGF0YTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRUaW1lUmFuZ2UoZGlmZjogbnVtYmVyKSB7XG4gIGNvbnN0IHRpbWUgPSBQSUNLRVJfVElNRV9SQU5HRVMuZmluZChpdGVtID0+IHtcbiAgICByZXR1cm4gaXRlbS5lbmRUaW1lKCkgLSBpdGVtLnN0YXJ0VGltZSgpID09PSBkaWZmO1xuICB9KTtcbiAgcmV0dXJuIHRpbWUgPyB7IHN0YXJ0OiB0aW1lLnN0YXJ0VGltZSgpLCBlbmQ6IHRpbWUuZW5kVGltZSgpIH0gOiBudWxsO1xufVxuIl19
@@ -78,7 +78,7 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_8_ng_containe
78
78
  i0.ɵɵtextInterpolate1("(", item_r14.clusterDisplayName, ")");
79
79
  } }
80
80
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_8_aui_tag_9_Template(rf, ctx) { if (rf & 1) {
81
- i0.ɵɵelementStart(0, "aui-tag", 41);
81
+ i0.ɵɵelementStart(0, "aui-tag", 42);
82
82
  i0.ɵɵtext(1);
83
83
  i0.ɵɵelementEnd();
84
84
  } if (rf & 2) {
@@ -93,11 +93,11 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_8_Template(rf
93
93
  i0.ɵɵtext(4);
94
94
  i0.ɵɵpipe(5, "translate");
95
95
  i0.ɵɵelementEnd();
96
- i0.ɵɵelementStart(6, "span");
96
+ i0.ɵɵelementStart(6, "span", 40);
97
97
  i0.ɵɵtext(7);
98
98
  i0.ɵɵtemplate(8, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_8_ng_container_8_Template, 2, 1, "ng-container", 7);
99
99
  i0.ɵɵelementEnd();
100
- i0.ɵɵtemplate(9, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_8_aui_tag_9_Template, 2, 1, "aui-tag", 40);
100
+ i0.ɵɵtemplate(9, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_8_aui_tag_9_Template, 2, 1, "aui-tag", 41);
101
101
  i0.ɵɵelementEnd()();
102
102
  } if (rf & 2) {
103
103
  const item_r14 = i0.ɵɵnextContext().$implicit;
@@ -113,7 +113,7 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_8_Template(rf
113
113
  i0.ɵɵproperty("ngIf", item_r14.clusterArch);
114
114
  } }
115
115
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_9_label_1_Template(rf, ctx) { if (rf & 1) {
116
- i0.ɵɵelementStart(0, "label", 44);
116
+ i0.ɵɵelementStart(0, "label", 45);
117
117
  i0.ɵɵtext(1);
118
118
  i0.ɵɵpipe(2, "translate");
119
119
  i0.ɵɵelementEnd();
@@ -123,12 +123,12 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_9_label_1_Tem
123
123
  } }
124
124
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_9_Template(rf, ctx) { if (rf & 1) {
125
125
  i0.ɵɵelementStart(0, "div");
126
- i0.ɵɵtemplate(1, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_9_label_1_Template, 3, 3, "label", 42);
126
+ i0.ɵɵtemplate(1, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_9_label_1_Template, 3, 3, "label", 43);
127
127
  i0.ɵɵelementStart(2, "span", 39);
128
128
  i0.ɵɵtext(3);
129
129
  i0.ɵɵpipe(4, "translate");
130
130
  i0.ɵɵelementEnd();
131
- i0.ɵɵelement(5, "aui-icon", 43);
131
+ i0.ɵɵelement(5, "aui-icon", 44);
132
132
  i0.ɵɵtext(6);
133
133
  i0.ɵɵpipe(7, "translate");
134
134
  i0.ɵɵelementEnd();
@@ -156,7 +156,7 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_10_ng_contain
156
156
  i0.ɵɵtextInterpolate1("(Istio ", item_r14.serviceMeshIstioVersion, ")");
157
157
  } }
158
158
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_10_Template(rf, ctx) { if (rf & 1) {
159
- i0.ɵɵelementStart(0, "div", 45)(1, "span", 39);
159
+ i0.ɵɵelementStart(0, "div", 46)(1, "span", 39);
160
160
  i0.ɵɵtext(2);
161
161
  i0.ɵɵpipe(3, "translate");
162
162
  i0.ɵɵelementEnd();
@@ -185,7 +185,7 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_11_ng_contain
185
185
  i0.ɵɵtextInterpolate1("(", item_r14.clusterDisplayName, ")");
186
186
  } }
187
187
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_11_aui_tag_7_Template(rf, ctx) { if (rf & 1) {
188
- i0.ɵɵelementStart(0, "aui-tag", 41);
188
+ i0.ɵɵelementStart(0, "aui-tag", 42);
189
189
  i0.ɵɵtext(1);
190
190
  i0.ɵɵelementEnd();
191
191
  } if (rf & 2) {
@@ -194,7 +194,7 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_11_aui_tag_7_
194
194
  i0.ɵɵtextInterpolate1(" ", item_r14.clusterArch, " ");
195
195
  } }
196
196
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_11_Template(rf, ctx) { if (rf & 1) {
197
- i0.ɵɵelementStart(0, "div", 45)(1, "span", 39);
197
+ i0.ɵɵelementStart(0, "div", 46)(1, "span", 39);
198
198
  i0.ɵɵtext(2);
199
199
  i0.ɵɵpipe(3, "translate");
200
200
  i0.ɵɵelementEnd();
@@ -202,7 +202,7 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_11_Template(r
202
202
  i0.ɵɵtext(5);
203
203
  i0.ɵɵtemplate(6, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_11_ng_container_6_Template, 2, 1, "ng-container", 7);
204
204
  i0.ɵɵelementEnd();
205
- i0.ɵɵtemplate(7, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_11_aui_tag_7_Template, 2, 1, "aui-tag", 40);
205
+ i0.ɵɵtemplate(7, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_11_aui_tag_7_Template, 2, 1, "aui-tag", 41);
206
206
  i0.ɵɵelementEnd();
207
207
  } if (rf & 2) {
208
208
  const item_r14 = i0.ɵɵnextContext().$implicit;
@@ -216,7 +216,7 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_11_Template(r
216
216
  i0.ɵɵproperty("ngIf", item_r14.clusterArch);
217
217
  } }
218
218
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_12_Template(rf, ctx) { if (rf & 1) {
219
- i0.ɵɵelementStart(0, "div", 45)(1, "span", 39);
219
+ i0.ɵɵelementStart(0, "div", 46)(1, "span", 39);
220
220
  i0.ɵɵtext(2);
221
221
  i0.ɵɵpipe(3, "translate");
222
222
  i0.ɵɵelementEnd();
@@ -231,7 +231,7 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_12_Template(r
231
231
  i0.ɵɵtextInterpolate1("", item_r14.cluster, " ");
232
232
  } }
233
233
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_13_Template(rf, ctx) { if (rf & 1) {
234
- i0.ɵɵelementStart(0, "div", 45)(1, "span", 39);
234
+ i0.ɵɵelementStart(0, "div", 46)(1, "span", 39);
235
235
  i0.ɵɵtext(2);
236
236
  i0.ɵɵelementEnd();
237
237
  i0.ɵɵelementStart(3, "span");
@@ -246,7 +246,7 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_13_Template(r
246
246
  i0.ɵɵtextInterpolate1("", item_r14.serviceMeshIstioVersion || i0.ɵɵpipeBind1(5, 2, "not_deployed"), " ");
247
247
  } }
248
248
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_14_Template(rf, ctx) { if (rf & 1) {
249
- i0.ɵɵelementStart(0, "div", 46)(1, "span", 39);
249
+ i0.ɵɵelementStart(0, "div", 47)(1, "span", 39);
250
250
  i0.ɵɵtext(2);
251
251
  i0.ɵɵpipe(3, "translate");
252
252
  i0.ɵɵelementEnd();
@@ -263,9 +263,9 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_14_Template(r
263
263
  } }
264
264
  const _c3 = function (a0) { return { $implicit: a0 }; };
265
265
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_15_Template(rf, ctx) { if (rf & 1) {
266
- i0.ɵɵelementStart(0, "div", 47);
266
+ i0.ɵɵelementStart(0, "div", 48);
267
267
  i0.ɵɵlistener("click", function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_15_Template_div_click_0_listener($event) { return $event.stopPropagation(); });
268
- i0.ɵɵelementContainer(1, 48);
268
+ i0.ɵɵelementContainer(1, 49);
269
269
  i0.ɵɵelementEnd();
270
270
  } if (rf & 2) {
271
271
  const item_r14 = i0.ɵɵnextContext().$implicit;
@@ -340,7 +340,7 @@ function ResourceDataGridComponent_ng_container_14_div_1_Template(rf, ctx) { if
340
340
  } }
341
341
  function ResourceDataGridComponent_ng_container_14_acl_resource_no_data_2_Template(rf, ctx) { if (rf & 1) {
342
342
  const _r54 = i0.ɵɵgetCurrentView();
343
- i0.ɵɵelementStart(0, "acl-resource-no-data", 49);
343
+ i0.ɵɵelementStart(0, "acl-resource-no-data", 50);
344
344
  i0.ɵɵlistener("refresh", function ResourceDataGridComponent_ng_container_14_acl_resource_no_data_2_Template_acl_resource_no_data_refresh_0_listener() { i0.ɵɵrestoreView(_r54); const ctx_r53 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r53.reload.emit()); })("clear", function ResourceDataGridComponent_ng_container_14_acl_resource_no_data_2_Template_acl_resource_no_data_clear_0_listener() { i0.ɵɵrestoreView(_r54); const ctx_r55 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r55.keywordChange("")); });
345
345
  i0.ɵɵelementEnd();
346
346
  } if (rf & 2) {
@@ -348,7 +348,7 @@ function ResourceDataGridComponent_ng_container_14_acl_resource_no_data_2_Templa
348
348
  i0.ɵɵproperty("isFiltered", !!ctx_r10.keyword)("type", ctx_r10.type);
349
349
  } }
350
350
  function ResourceDataGridComponent_ng_container_14_acl_zero_state_4_Template(rf, ctx) { if (rf & 1) {
351
- i0.ɵɵelement(0, "acl-zero-state", 50);
351
+ i0.ɵɵelement(0, "acl-zero-state", 51);
352
352
  } }
353
353
  function ResourceDataGridComponent_ng_container_14_Template(rf, ctx) { if (rf & 1) {
354
354
  i0.ɵɵelementContainerStart(0);
@@ -371,8 +371,8 @@ function ResourceDataGridComponent_ng_container_14_Template(rf, ctx) { if (rf &
371
371
  i0.ɵɵproperty("ngIf", ctx_r3.popupLite && !((tmp_2_0 = i0.ɵɵpipeBind1(5, 5, ctx_r3.displayData$)) == null ? null : tmp_2_0.length));
372
372
  } }
373
373
  function ResourceDataGridComponent_div_18_Template(rf, ctx) { if (rf & 1) {
374
- i0.ɵɵelementStart(0, "div", 51);
375
- i0.ɵɵelement(1, "acl-loading-mask", 52);
374
+ i0.ɵɵelementStart(0, "div", 52);
375
+ i0.ɵɵelement(1, "acl-loading-mask", 53);
376
376
  i0.ɵɵelementEnd();
377
377
  } if (rf & 2) {
378
378
  const ctx_r4 = i0.ɵɵnextContext();
@@ -502,7 +502,7 @@ export class ResourceDataGridComponent {
502
502
  } if (rf & 2) {
503
503
  let _t;
504
504
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.grid = _t.first);
505
- } }, inputs: { context: "context", popupLite: "popupLite", data: "data", type: "type", fields: "fields", actionTemplateRef: "actionTemplateRef", selectedUid: "selectedUid", loading: "loading" }, outputs: { selectItem: "selectItem", filter: "filter", reload: "reload" }, ngContentSelectors: _c8, decls: 19, vars: 32, consts: [[1, "header"], [1, "header__title", 3, "ngClass"], [1, "header__desc"], ["class", "header__custom", 4, "ngIf"], ["class", "tw-flex-1", 4, "ngIf"], ["size", "small", 3, "searchButton", "placeholder", "keyword", "clearable", "keywordChange"], ["class", "header__display-mode", 4, "ngIf"], [4, "ngIf"], ["class", "loading", 4, "ngIf"], [1, "header__custom"], [1, "tw-flex-1"], [1, "header__display-mode"], [1, "switch-btn", 3, "ngClass", "click"], ["icon", "list"], ["icon", "grid"], ["class", "grid", 3, "ngClass", 4, "ngIf"], [3, "isFiltered", "type", "refresh", "clear", 4, "ngIf"], ["context", "table", 4, "ngIf"], [1, "grid", 3, "ngClass"], ["grid", ""], ["class", "grid__item", 3, "ngClass", "auiTooltip", "auiTooltipDisabled", "click", 4, "ngFor", "ngForOf"], [1, "grid__item", 3, "ngClass", "auiTooltip", "auiTooltipDisabled", "click"], ["class", "check-triangle-badge", "icon", "check", 4, "ngIf"], [1, "grid__field", "grid__field-icon"], [3, "type", "color", "displayMode"], [1, "grid__field", "grid__field-name"], [1, "name"], [4, "ngFor", "ngForOf"], ["class", "des", 4, "ngIf"], ["class", "grid__field flex grid__field-cluster", 4, "ngIf"], [3, "class", 4, "ngIf"], ["class", "grid__field grid__field-servicemesh", 4, "ngIf"], ["class", "grid__field grid__field-time", 4, "ngIf"], ["class", "grid__field grid__field-action", 3, "click", 4, "ngIf"], ["icon", "check", 1, "check-triangle-badge"], [3, "ngClass"], [1, "des"], [1, "grid__field", "flex", "grid__field-cluster"], [1, "belonged-cluster", 3, "auiTooltip"], [1, "with-colon"], ["type", "primary", "size", "mini", 4, "ngIf"], ["type", "primary", "size", "mini"], ["class", "tw-text-help-text tw-mr-8", 4, "ngIf"], [3, "icon", "background"], [1, "tw-text-help-text", "tw-mr-8"], [1, "grid__field", "grid__field-servicemesh"], [1, "grid__field", "grid__field-time"], [1, "grid__field", "grid__field-action", 3, "click"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "isFiltered", "type", "refresh", "clear"], ["context", "table"], [1, "loading"], ["type", "content", 3, "loading"]], template: function ResourceDataGridComponent_Template(rf, ctx) { if (rf & 1) {
505
+ } }, inputs: { context: "context", popupLite: "popupLite", data: "data", type: "type", fields: "fields", actionTemplateRef: "actionTemplateRef", selectedUid: "selectedUid", loading: "loading" }, outputs: { selectItem: "selectItem", filter: "filter", reload: "reload" }, ngContentSelectors: _c8, decls: 19, vars: 32, consts: [[1, "header"], [1, "header__title", 3, "ngClass"], [1, "header__desc"], ["class", "header__custom", 4, "ngIf"], ["class", "tw-flex-1", 4, "ngIf"], ["size", "small", 3, "searchButton", "placeholder", "keyword", "clearable", "keywordChange"], ["class", "header__display-mode", 4, "ngIf"], [4, "ngIf"], ["class", "loading", 4, "ngIf"], [1, "header__custom"], [1, "tw-flex-1"], [1, "header__display-mode"], [1, "switch-btn", 3, "ngClass", "click"], ["icon", "list"], ["icon", "grid"], ["class", "grid", 3, "ngClass", 4, "ngIf"], [3, "isFiltered", "type", "refresh", "clear", 4, "ngIf"], ["context", "table", 4, "ngIf"], [1, "grid", 3, "ngClass"], ["grid", ""], ["class", "grid__item", 3, "ngClass", "auiTooltip", "auiTooltipDisabled", "click", 4, "ngFor", "ngForOf"], [1, "grid__item", 3, "ngClass", "auiTooltip", "auiTooltipDisabled", "click"], ["class", "check-triangle-badge", "icon", "check", 4, "ngIf"], [1, "grid__field", "grid__field-icon"], [3, "type", "color", "displayMode"], [1, "grid__field", "grid__field-name"], [1, "name"], [4, "ngFor", "ngForOf"], ["class", "des", 4, "ngIf"], ["class", "grid__field flex grid__field-cluster", 4, "ngIf"], [3, "class", 4, "ngIf"], ["class", "grid__field grid__field-servicemesh", 4, "ngIf"], ["class", "grid__field grid__field-time", 4, "ngIf"], ["class", "grid__field grid__field-action", 3, "click", 4, "ngIf"], ["icon", "check", 1, "check-triangle-badge"], [3, "ngClass"], [1, "des"], [1, "grid__field", "flex", "grid__field-cluster"], [1, "belonged-cluster", "tw-flex", 3, "auiTooltip"], [1, "with-colon"], [1, "tw-text-ellipsis", "tw-overflow-hidden"], ["type", "primary", "size", "mini", 4, "ngIf"], ["type", "primary", "size", "mini"], ["class", "tw-text-help-text tw-mr-8", 4, "ngIf"], [3, "icon", "background"], [1, "tw-text-help-text", "tw-mr-8"], [1, "grid__field", "grid__field-servicemesh"], [1, "grid__field", "grid__field-time"], [1, "grid__field", "grid__field-action", 3, "click"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "isFiltered", "type", "refresh", "clear"], ["context", "table"], [1, "loading"], ["type", "content", 3, "loading"]], template: function ResourceDataGridComponent_Template(rf, ctx) { if (rf & 1) {
506
506
  i0.ɵɵprojectionDef(_c6);
507
507
  i0.ɵɵelementStart(0, "div", 0)(1, "span", 1)(2, "span");
508
508
  i0.ɵɵtext(3);
@@ -546,7 +546,7 @@ export class ResourceDataGridComponent {
546
546
  i0.ɵɵproperty("ngIf", !ctx.loading && i0.ɵɵpipeBind3(15, 21, i0.ɵɵpipeBind2(16, 25, i0.ɵɵpipeBind1(17, 28, ctx.displayData$), ctx.sortWithoutIstio), ctx.filterDisabledData, ctx.context));
547
547
  i0.ɵɵadvance(4);
548
548
  i0.ɵɵproperty("ngIf", ctx.loading);
549
- } }, styles: ["[_nghost-%COMP%]{display:flex;flex-direction:column;box-shadow:0 0 4px rgba(var(--aui-color-n-1),.16);padding:22px 20px 20px;background-color:rgb(var(--aui-color-n-10));border-radius:4px}.header[_ngcontent-%COMP%]{display:flex;align-items:center;margin-bottom:20px;height:28px}.header[_ngcontent-%COMP%] aui-search[_ngcontent-%COMP%]{width:260px}.header__title[_ngcontent-%COMP%]{font-size:18px;font-weight:500;line-height:28px;color:rgb(var(--aui-color-n-1))}.header__title--lite[_ngcontent-%COMP%]{font-size:16px;font-weight:700;line-height:22px}.header__desc[_ngcontent-%COMP%]{color:rgb(var(--aui-color-n-4))}.header__custom[_ngcontent-%COMP%]{flex:1;padding:0 36px}.header__display-mode[_ngcontent-%COMP%]{display:flex;border:1px solid rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-m);margin-left:16px;padding:1px}.switch-btn[_ngcontent-%COMP%]{cursor:pointer;width:24px;height:24px;border-radius:var(--aui-border-radius-m);display:inline-flex;align-items:center;justify-content:center}.switch-btn[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:12px;height:12px}.switch-btn--selected[_ngcontent-%COMP%]{background-color:rgb(var(--aui-color-n-10));color:rgb(var(--aui-color-primary))}.grid[_ngcontent-%COMP%]{overflow-y:auto;padding:20px;background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-l)}.grid[_ngcontent-%COMP%]::-webkit-scrollbar{width:4px;height:4px}.grid[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.grid[_ngcontent-%COMP%]::-webkit-scrollbar-corner{background-color:transparent}.grid__item[_ngcontent-%COMP%]{display:flex;position:relative;flex-direction:row;border-radius:var(--aui-border-radius-l);padding:9px 20px;min-height:60px;color:rgb(var(--aui-color-n-1));align-items:center;cursor:pointer;background-color:rgb(var(--aui-color-n-10))}.grid__item[_ngcontent-%COMP%]:not(:last-child){margin-bottom:8px}.grid__item[_ngcontent-%COMP%]:not(.grid__item--disabled):hover{border-color:rgb(var(--aui-color-primary));box-shadow:0 0 8px rgba(var(--aui-color-primary),.5)}.grid__item--disabled[_ngcontent-%COMP%]{cursor:default}.grid__item--disabled[_ngcontent-%COMP%], .grid__item--disabled[_ngcontent-%COMP%]:hover{background-color:rgb(var(--aui-color-n-9))}.grid__item--disabled[_ngcontent-%COMP%] .grid__field[_ngcontent-%COMP%]{opacity:.3}.grid__item--disabled[_ngcontent-%COMP%] .grid__field-servicemesh[_ngcontent-%COMP%], .grid__item--disabled[_ngcontent-%COMP%] .grid__field-action[_ngcontent-%COMP%]{opacity:1}.grid__field[_ngcontent-%COMP%]{flex:2;line-height:20px}.grid__field[_ngcontent-%COMP%]:not(.grid__field-status){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.grid__field[_ngcontent-%COMP%]:not(:last-child){margin-right:20px}.grid__field-servicemesh[_ngcontent-%COMP%]{flex:2;align-items:stretch;max-width:400px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid__field-servicemesh[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{font-size:12px;line-height:16px;color:rgb(var(--aui-color-n-4))}.grid__field-servicemesh[_ngcontent-%COMP%] aui-tag[_ngcontent-%COMP%]{margin-left:8px}.grid__field-status[_ngcontent-%COMP%]{display:flex;align-items:center}.grid__field-status[_ngcontent-%COMP%] aui-icon[_ngcontent-%COMP%]{font-size:16px;display:inline-flex;margin-right:4px}.grid__field-status[_ngcontent-%COMP%] .with-colon[_ngcontent-%COMP%]{display:none}.grid__field-icon[_ngcontent-%COMP%]{max-width:30px;display:inline-flex}.grid__field-name[_ngcontent-%COMP%]{flex:2;flex-direction:column;max-width:280px}.grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%], .grid__field-name[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-size:14px;font-weight:500;line-height:20px}.grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%] aui-icon[_ngcontent-%COMP%]{margin-left:4px}.grid__field-name[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{font-size:12px;line-height:16px;color:rgb(var(--aui-color-n-4))}.grid__field-action[_ngcontent-%COMP%]{max-width:30px}.grid--popup[_ngcontent-%COMP%]{max-height:382px;padding:12px}.grid--popup[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl);font-weight:var(--aui-font-weight-normal)}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item[_ngcontent-%COMP%]{padding:10px 20px;min-height:60px;font-size:14px;background-color:rgb(var(--aui-color-n-10))}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item--selected[_ngcontent-%COMP%]{border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-l);background-color:rgb(var(--aui-color-primary));border-color:rgb(var(--aui-color-primary));color:#fff;cursor:default}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item--selected[_ngcontent-%COMP%]:hover{box-shadow:none}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item--selected[_ngcontent-%COMP%] .highlighted[_ngcontent-%COMP%]{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-10))}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item--selected[_ngcontent-%COMP%] .with-colon[_ngcontent-%COMP%]{font-weight:500}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item--selected[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{color:#fff}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item--selected[_ngcontent-%COMP%] .aui-tag--primary{background-color:#fff;color:rgb(var(--aui-color-primary))}.grid--popup--lite[_ngcontent-%COMP%]{background-color:rgb(var(--aui-color-n-10));padding:0}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%]{padding:10px 14px;min-height:44px;border:1px solid rgb(var(--aui-color-n-7))}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .grid__field[_ngcontent-%COMP%]:not(:last-child){margin-right:12px}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-size:14px;line-height:25px;font-weight:400}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .grid__field-icon[_ngcontent-%COMP%]{max-width:24px}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .grid__item-selected-icon[_ngcontent-%COMP%]{display:inline-flex}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .highlighted[_ngcontent-%COMP%]{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-10))}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .with-colon[_ngcontent-%COMP%]{font-weight:500}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{color:#fff}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .aui-tag--primary{background-color:#fff;color:rgb(var(--aui-color-primary))}.grid--popup--lite[_ngcontent-%COMP%] .grid__item--selected[_ngcontent-%COMP%]{background-color:rgb(var(--aui-color-b-7));border:1px solid rgb(var(--aui-color-primary))}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%]:hover{border:1px solid rgb(var(--aui-color-primary));box-shadow:none}.grid--card[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:20px 20px}.grid--card[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%]{margin-bottom:0;height:290px;display:block;text-align:center;padding:40px 20px;border-radius:var(--aui-border-radius-l);position:relative}.grid--card[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .belonged-cluster[_ngcontent-%COMP%]{position:static;padding-right:0}.grid--card[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] aui-tag[_ngcontent-%COMP%]{position:absolute;top:8px;right:8px}.grid--card[_ngcontent-%COMP%] .grid__field[_ngcontent-%COMP%]{margin-right:0;justify-content:center}.grid--card[_ngcontent-%COMP%] .grid__field-icon[_ngcontent-%COMP%]{max-width:100%;vertical-align:middle}.grid--card[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%]{margin:20px 0 24px}.grid--card[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%], .grid--card[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{justify-content:center}.grid--card[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-size:20px;font-weight:500;line-height:28px;margin-bottom:2px}.grid--card[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{font-size:14px;height:20px}.grid--card[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] ~ .grid__field[_ngcontent-%COMP%]:not(.grid__field-status){line-height:20px;font-size:14px;text-align:center}.grid--card[_ngcontent-%COMP%] .grid__field-status[_ngcontent-%COMP%] .with-colon[_ngcontent-%COMP%]{display:inline}.grid--card[_ngcontent-%COMP%] .grid__field-servicemesh[_ngcontent-%COMP%]:not(:last-of-type){margin-bottom:4px}.grid--card[_ngcontent-%COMP%] .grid__field-cluster[_ngcontent-%COMP%]{margin-bottom:4px}.grid--card[_ngcontent-%COMP%] .grid__field-action[_ngcontent-%COMP%]{position:absolute;right:10px;top:10px}.grid[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item[_ngcontent-%COMP%]:not(.grid__item--selected){position:relative}.grid[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item[_ngcontent-%COMP%]:not(.grid__item--selected):after{position:absolute;content:\"\";top:0;right:0;bottom:0;left:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:4px;pointer-events:none;transition:all .2s ease-in-out}.grid[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item[_ngcontent-%COMP%]:not(.grid__item--selected).disabled{background-color:rgb(var(--aui-color-n-8));color:rgb(var(--aui-color-n-6));cursor:not-allowed}.grid[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item[_ngcontent-%COMP%]:not(.grid__item--selected):not(.disabled):hover:after{top:-4px;right:-4px;bottom:-4px;left:-4px;border-color:rgb(var(--aui-color-primary));box-shadow:inset 0 0 0 4px rgb(var(--aui-color-n-10)),0 0 8px rgba(var(--aui-color-primary),.5)}.grid[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item[_ngcontent-%COMP%]:not(.grid__item--selected):not(.disabled):active:after{top:0;right:0;bottom:0;left:0;box-shadow:0 0 4px rgba(var(--aui-color-primary),.5)}.flex[_ngcontent-%COMP%]{display:flex}.highlighted[_ngcontent-%COMP%]{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-8))}.with-colon[_ngcontent-%COMP%]{font-weight:500}.with-colon[_ngcontent-%COMP%]:after{content:\":\";margin-right:8px}.icon-normal[_ngcontent-%COMP%], .icon-enabled[_ngcontent-%COMP%]{color:rgb(var(--aui-color-green))}.icon-abnormal[_ngcontent-%COMP%]{color:rgb(var(--aui-color-red))}.icon-disabled[_ngcontent-%COMP%]{color:rgb(var(--aui-color-n-6))}.belonged-cluster[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;padding-right:44px}.belonged-cluster[_ngcontent-%COMP%] .with-colon[_ngcontent-%COMP%] + span[_ngcontent-%COMP%]{margin-right:8px}.belonged-cluster[_ngcontent-%COMP%] aui-tag[_ngcontent-%COMP%]{position:absolute;display:inline-flex}.loading[_ngcontent-%COMP%]{display:flex;height:60px;align-items:center;justify-content:center}acl-resource-no-data[_ngcontent-%COMP%]{flex:1;margin:40px 0 80px}acl-zero-state[_ngcontent-%COMP%] .zero-placeholder{min-height:44px;padding:12px 10px}"], changeDetection: 0 }); }
549
+ } }, styles: ["[_nghost-%COMP%]{display:flex;flex-direction:column;box-shadow:0 0 4px rgba(var(--aui-color-n-1),.16);padding:22px 20px 20px;background-color:rgb(var(--aui-color-n-10));border-radius:4px}.header[_ngcontent-%COMP%]{display:flex;align-items:center;margin-bottom:20px;height:28px}.header[_ngcontent-%COMP%] aui-search[_ngcontent-%COMP%]{width:260px}.header__title[_ngcontent-%COMP%]{font-size:18px;font-weight:500;line-height:28px;color:rgb(var(--aui-color-n-1))}.header__title--lite[_ngcontent-%COMP%]{font-size:16px;font-weight:700;line-height:22px}.header__desc[_ngcontent-%COMP%]{color:rgb(var(--aui-color-n-4))}.header__custom[_ngcontent-%COMP%]{flex:1;padding:0 36px}.header__display-mode[_ngcontent-%COMP%]{display:flex;border:1px solid rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-m);margin-left:16px;padding:1px}.switch-btn[_ngcontent-%COMP%]{cursor:pointer;width:24px;height:24px;border-radius:var(--aui-border-radius-m);display:inline-flex;align-items:center;justify-content:center}.switch-btn[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:12px;height:12px}.switch-btn--selected[_ngcontent-%COMP%]{background-color:rgb(var(--aui-color-n-10));color:rgb(var(--aui-color-primary))}.grid[_ngcontent-%COMP%]{overflow-y:auto;padding:20px;background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-l)}.grid[_ngcontent-%COMP%]::-webkit-scrollbar{width:4px;height:4px}.grid[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.grid[_ngcontent-%COMP%]::-webkit-scrollbar-corner{background-color:transparent}.grid__item[_ngcontent-%COMP%]{display:flex;position:relative;flex-direction:row;border-radius:var(--aui-border-radius-l);padding:9px 20px;min-height:60px;color:rgb(var(--aui-color-n-1));align-items:center;cursor:pointer;background-color:rgb(var(--aui-color-n-10))}.grid__item[_ngcontent-%COMP%]:not(:last-child){margin-bottom:8px}.grid__item[_ngcontent-%COMP%]:not(.grid__item--disabled):hover{border-color:rgb(var(--aui-color-primary));box-shadow:0 0 8px rgba(var(--aui-color-primary),.5)}.grid__item--disabled[_ngcontent-%COMP%]{cursor:default}.grid__item--disabled[_ngcontent-%COMP%], .grid__item--disabled[_ngcontent-%COMP%]:hover{background-color:rgb(var(--aui-color-n-9))}.grid__item--disabled[_ngcontent-%COMP%] .grid__field[_ngcontent-%COMP%]{opacity:.3}.grid__item--disabled[_ngcontent-%COMP%] .grid__field-servicemesh[_ngcontent-%COMP%], .grid__item--disabled[_ngcontent-%COMP%] .grid__field-action[_ngcontent-%COMP%]{opacity:1}.grid__field[_ngcontent-%COMP%]{flex:2;line-height:20px}.grid__field[_ngcontent-%COMP%]:not(.grid__field-status){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.grid__field[_ngcontent-%COMP%]:not(:last-child){margin-right:20px}.grid__field-servicemesh[_ngcontent-%COMP%]{flex:2;align-items:stretch;max-width:400px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid__field-servicemesh[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{font-size:12px;line-height:16px;color:rgb(var(--aui-color-n-4))}.grid__field-servicemesh[_ngcontent-%COMP%] aui-tag[_ngcontent-%COMP%]{margin-left:8px}.grid__field-status[_ngcontent-%COMP%]{display:flex;align-items:center}.grid__field-status[_ngcontent-%COMP%] aui-icon[_ngcontent-%COMP%]{font-size:16px;display:inline-flex;margin-right:4px}.grid__field-status[_ngcontent-%COMP%] .with-colon[_ngcontent-%COMP%]{display:none}.grid__field-icon[_ngcontent-%COMP%]{max-width:30px;display:inline-flex}.grid__field-name[_ngcontent-%COMP%]{flex:2;flex-direction:column;max-width:280px}.grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%], .grid__field-name[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-size:14px;font-weight:500;line-height:20px}.grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%] aui-icon[_ngcontent-%COMP%]{margin-left:4px}.grid__field-name[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{font-size:12px;line-height:16px;color:rgb(var(--aui-color-n-4))}.grid__field-action[_ngcontent-%COMP%]{max-width:30px}.grid--popup[_ngcontent-%COMP%]{max-height:382px;padding:12px}.grid--popup[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl);font-weight:var(--aui-font-weight-normal)}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item[_ngcontent-%COMP%]{padding:10px 20px;min-height:60px;font-size:14px;background-color:rgb(var(--aui-color-n-10))}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item--selected[_ngcontent-%COMP%]{border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-l);background-color:rgb(var(--aui-color-primary));border-color:rgb(var(--aui-color-primary));color:#fff;cursor:default}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item--selected[_ngcontent-%COMP%]:hover{box-shadow:none}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item--selected[_ngcontent-%COMP%] .highlighted[_ngcontent-%COMP%]{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-10))}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item--selected[_ngcontent-%COMP%] .with-colon[_ngcontent-%COMP%]{font-weight:500}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item--selected[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{color:#fff}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item--selected[_ngcontent-%COMP%] .aui-tag--primary{background-color:#fff;color:rgb(var(--aui-color-primary))}.grid--popup--lite[_ngcontent-%COMP%]{background-color:rgb(var(--aui-color-n-10));padding:0}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%]{padding:10px 14px;min-height:44px;border:1px solid rgb(var(--aui-color-n-7))}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .grid__field[_ngcontent-%COMP%]:not(:last-child){margin-right:12px}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-size:14px;line-height:25px;font-weight:400}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .grid__field-icon[_ngcontent-%COMP%]{max-width:24px}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .grid__item-selected-icon[_ngcontent-%COMP%]{display:inline-flex}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .highlighted[_ngcontent-%COMP%]{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-10))}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .with-colon[_ngcontent-%COMP%]{font-weight:500}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{color:#fff}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .aui-tag--primary{background-color:#fff;color:rgb(var(--aui-color-primary))}.grid--popup--lite[_ngcontent-%COMP%] .grid__item--selected[_ngcontent-%COMP%]{background-color:rgb(var(--aui-color-b-7));border:1px solid rgb(var(--aui-color-primary))}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%]:hover{border:1px solid rgb(var(--aui-color-primary));box-shadow:none}.grid--card[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:20px 20px}.grid--card[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%]{margin-bottom:0;height:290px;display:block;text-align:center;padding:40px 20px;border-radius:var(--aui-border-radius-l);position:relative}.grid--card[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .belonged-cluster[_ngcontent-%COMP%]{position:static;padding-right:0}.grid--card[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] aui-tag[_ngcontent-%COMP%]{position:absolute;top:8px;right:8px}.grid--card[_ngcontent-%COMP%] .grid__field[_ngcontent-%COMP%]{margin-right:0;justify-content:center}.grid--card[_ngcontent-%COMP%] .grid__field-icon[_ngcontent-%COMP%]{max-width:100%;vertical-align:middle}.grid--card[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%]{margin:20px 0 24px}.grid--card[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%], .grid--card[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{justify-content:center}.grid--card[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-size:20px;font-weight:500;line-height:28px;margin-bottom:2px}.grid--card[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{font-size:14px;height:20px}.grid--card[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] ~ .grid__field[_ngcontent-%COMP%]:not(.grid__field-status){line-height:20px;font-size:14px;text-align:center}.grid--card[_ngcontent-%COMP%] .grid__field-status[_ngcontent-%COMP%] .with-colon[_ngcontent-%COMP%]{display:inline}.grid--card[_ngcontent-%COMP%] .grid__field-servicemesh[_ngcontent-%COMP%]:not(:last-of-type){margin-bottom:4px}.grid--card[_ngcontent-%COMP%] .grid__field-cluster[_ngcontent-%COMP%]{margin-bottom:4px}.grid--card[_ngcontent-%COMP%] .grid__field-action[_ngcontent-%COMP%]{position:absolute;right:10px;top:10px}.grid[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item[_ngcontent-%COMP%]:not(.grid__item--selected){position:relative}.grid[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item[_ngcontent-%COMP%]:not(.grid__item--selected):after{position:absolute;content:\"\";top:0;right:0;bottom:0;left:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:4px;pointer-events:none;transition:all .2s ease-in-out}.grid[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item[_ngcontent-%COMP%]:not(.grid__item--selected).disabled{background-color:rgb(var(--aui-color-n-8));color:rgb(var(--aui-color-n-6));cursor:not-allowed}.grid[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item[_ngcontent-%COMP%]:not(.grid__item--selected):not(.disabled):hover:after{top:-4px;right:-4px;bottom:-4px;left:-4px;border-color:rgb(var(--aui-color-primary));box-shadow:inset 0 0 0 4px rgb(var(--aui-color-n-10)),0 0 8px rgba(var(--aui-color-primary),.5)}.grid[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item[_ngcontent-%COMP%]:not(.grid__item--selected):not(.disabled):active:after{top:0;right:0;bottom:0;left:0;box-shadow:0 0 4px rgba(var(--aui-color-primary),.5)}.flex[_ngcontent-%COMP%]{display:flex}.highlighted[_ngcontent-%COMP%]{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-8))}.with-colon[_ngcontent-%COMP%]{font-weight:500}.with-colon[_ngcontent-%COMP%]:after{content:\":\";margin-right:8px}.icon-normal[_ngcontent-%COMP%], .icon-enabled[_ngcontent-%COMP%]{color:rgb(var(--aui-color-green))}.icon-abnormal[_ngcontent-%COMP%]{color:rgb(var(--aui-color-red))}.icon-disabled[_ngcontent-%COMP%]{color:rgb(var(--aui-color-n-6))}.belonged-cluster[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;padding-right:44px}.belonged-cluster[_ngcontent-%COMP%] .with-colon[_ngcontent-%COMP%] + span[_ngcontent-%COMP%]{margin-right:8px}.belonged-cluster[_ngcontent-%COMP%] aui-tag[_ngcontent-%COMP%]{display:inline-flex}.loading[_ngcontent-%COMP%]{display:flex;height:60px;align-items:center;justify-content:center}acl-resource-no-data[_ngcontent-%COMP%]{flex:1;margin:40px 0 80px}acl-zero-state[_ngcontent-%COMP%] .zero-placeholder{min-height:44px;padding:12px 10px}"], changeDetection: 0 }); }
550
550
  }
551
551
  __decorate([
552
552
  ObservableInput(),
@@ -554,7 +554,7 @@ __decorate([
554
554
  ], ResourceDataGridComponent.prototype, "data$", void 0);
555
555
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ResourceDataGridComponent, [{
556
556
  type: Component,
557
- args: [{ selector: 'acl-resource-data-grid', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"header\">\n <span\n class=\"header__title\"\n [ngClass]=\"{ 'header__title--lite': popupLite }\"\n >\n <span>{{ type | pure: pluralForm | translate }}</span\n ><span class=\"header__desc\"\n >\uFF08{{ (displayData$ | async)?.length || 0 }}\uFF09</span\n >\n </span>\n <div\n class=\"header__custom\"\n *ngIf=\"!popupLite\"\n >\n <ng-content select=\"[aclResourceGridHeader]\"></ng-content>\n </div>\n <div\n class=\"tw-flex-1\"\n *ngIf=\"popupLite\"\n ></div>\n <aui-search\n [searchButton]=\"false\"\n [placeholder]=\"'filter_by_name' | translate\"\n [keyword]=\"keyword\"\n (keywordChange)=\"keywordChange($event)\"\n [clearable]=\"true\"\n size=\"small\"\n ></aui-search>\n <span\n class=\"header__display-mode\"\n *ngIf=\"context === 'page'\"\n >\n <span\n class=\"switch-btn\"\n [ngClass]=\"{ 'switch-btn--selected': displayMode !== 'card' }\"\n (click)=\"setDisplayMode('row')\"\n >\n <aui-icon icon=\"list\"></aui-icon>\n </span>\n <span\n class=\"switch-btn\"\n [ngClass]=\"{ 'switch-btn--selected': displayMode === 'card' }\"\n (click)=\"setDisplayMode('card')\"\n >\n <aui-icon icon=\"grid\"></aui-icon>\n </span>\n </span>\n</div>\n<ng-container\n *ngIf=\"\n !loading &&\n (displayData$\n | async\n | pure: sortWithoutIstio\n | pure: filterDisabledData:context) as displayData\n \"\n>\n <div\n class=\"grid\"\n *ngIf=\"displayData.length\"\n #grid\n [ngClass]=\"{\n 'grid--card': displayMode === 'card' && context !== 'popup',\n 'grid--popup': context === 'popup',\n 'grid--popup--lite': context === 'popup' && popupLite\n }\"\n >\n <div\n class=\"grid__item\"\n *ngFor=\"let item of displayData\"\n [ngClass]=\"{\n 'grid__item--selected':\n context === 'popup' && selectedUid === item.__origin.metadata.uid,\n 'grid__item--disabled': item.state?.disabled\n }\"\n (click)=\"onSelect(item)\"\n [attr.data-test]=\"item.name + '/' + item.cluster\"\n [auiTooltip]=\"item.state?.tooltip\"\n [auiTooltipDisabled]=\"!item.state?.disabled || !item.state?.tooltip\"\n >\n <aui-icon\n *ngIf=\"selectedUid === item.__origin.metadata.uid\"\n class=\"check-triangle-badge\"\n icon=\"check\"\n ></aui-icon>\n <!-- icon -->\n <div class=\"grid__field grid__field-icon\">\n <acl-resource-icon\n [type]=\"type\"\n [color]=\"\n context === 'popup' &&\n !popupLite &&\n selectedUid === item.__origin.metadata.uid\n ? 'white'\n : 'blue'\n \"\n [displayMode]=\"displayMode\"\n ></acl-resource-icon>\n </div>\n <!-- name -->\n <div class=\"grid__field grid__field-name\">\n <div class=\"name\">\n <ng-container *ngFor=\"let str of getHighlightedNameStrs(item)\">\n <span [ngClass]=\"{ highlighted: str.isHighlighted }\">{{\n str.text\n }}</span>\n </ng-container>\n </div>\n <div\n class=\"des\"\n *ngIf=\"!popupLite\"\n >\n <ng-container *ngIf=\"item.displayName\">{{\n item.displayName\n }}</ng-container>\n </div>\n </div>\n <!-- ns: cluster -->\n <div\n class=\"grid__field flex grid__field-cluster\"\n *ngIf=\"fields.includes(fieldsDef.Cluster)\"\n >\n <span\n class=\"belonged-cluster\"\n auiTooltip=\"{{\n ('belonged_cluster' | translate) + ': ' + item.cluster\n }}\"\n >\n <span class=\"with-colon\">{{ 'belonged_cluster' | translate }}</span>\n <span\n >{{ item.cluster\n }}<ng-container *ngIf=\"item.clusterDisplayName\"\n >({{ item.clusterDisplayName }})</ng-container\n >\n </span>\n <aui-tag\n type=\"primary\"\n size=\"mini\"\n *ngIf=\"item.clusterArch\"\n >\n {{ item.clusterArch }}\n </aui-tag>\n </span>\n </div>\n <!-- project: status -->\n <div\n class=\"grid__field grid__field-status {{\n 'grid__field-status--' + item.status\n }}\"\n *ngIf=\"fields.includes(fieldsDef.Status)\"\n >\n <label\n *ngIf=\"popupLite\"\n class=\"tw-text-help-text tw-mr-8\"\n >{{ 'status' | translate }}:</label\n >\n <span class=\"with-colon\">{{ 'status' | translate }}</span>\n <aui-icon\n [icon]=\"statusIcon[item.status]\"\n [background]=\"\n statusIcon[item.status].endsWith('_triangle_s')\n ? 'triangle'\n : 'circle'\n \"\n class=\"{{ 'icon-' + item.status }}\"\n ></aui-icon>\n {{ item.status | translate }}\n </div>\n <!-- asm: service mesh -->\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMesh)\"\n >\n <span class=\"with-colon\">{{ 'belonged_servicemesh' | translate }}</span>\n <span> {{ item.serviceMeshName }} </span>\n <div class=\"des\">\n <ng-container *ngIf=\"item.serviceMeshIstioVersion\"\n >(Istio {{ item.serviceMeshIstioVersion }})</ng-container\n >\n </div>\n </div>\n\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMesh)\"\n >\n <span class=\"with-colon\">{{ 'cluster' | translate }}</span>\n <span\n >{{ item.cluster\n }}<ng-container *ngIf=\"item.clusterDisplayName\"\n >({{ item.clusterDisplayName }})</ng-container\n >\n </span>\n <aui-tag\n type=\"primary\"\n size=\"mini\"\n *ngIf=\"item.clusterArch\"\n >\n {{ item.clusterArch }}\n </aui-tag>\n </div>\n\n <!-- mesh group -->\n\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMeshGroup)\"\n >\n <span class=\"with-colon\">{{ 'cluster' | translate }}</span>\n <span>{{ item.cluster }} </span>\n </div>\n <!-- asm: istio -->\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMeshGroup)\"\n >\n <span class=\"with-colon\">{{ 'Istio' }}</span>\n <span\n >{{ item.serviceMeshIstioVersion || ('not_deployed' | translate) }}\n </span>\n </div>\n\n <!-- time -->\n <div\n class=\"grid__field grid__field-time\"\n *ngIf=\"fields.includes(fieldsDef.Time) && !popupLite\"\n >\n <span class=\"with-colon\">{{ 'created_at' | translate }}</span>\n <span>{{ item.timestamp | aclRelativeTime }}</span>\n </div>\n <!-- action -->\n <div\n class=\"grid__field grid__field-action\"\n (click)=\"$event.stopPropagation()\"\n *ngIf=\"\n fields.includes(fieldsDef.Action) &&\n actionTemplateRef &&\n context !== 'popup'\n \"\n >\n <ng-container\n [ngTemplateOutlet]=\"actionTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: item.__origin\n }\"\n ></ng-container>\n </div>\n </div>\n </div>\n <acl-resource-no-data\n *ngIf=\"!popupLite && !(displayData$ | async)?.length\"\n [isFiltered]=\"!!keyword\"\n [type]=\"type\"\n (refresh)=\"reload.emit()\"\n (clear)=\"keywordChange('')\"\n ></acl-resource-no-data>\n <acl-zero-state\n *ngIf=\"popupLite && !(displayData$ | async)?.length\"\n context=\"table\"\n ></acl-zero-state>\n</ng-container>\n<div\n class=\"loading\"\n *ngIf=\"loading\"\n>\n <acl-loading-mask\n [loading]=\"loading\"\n type=\"content\"\n ></acl-loading-mask>\n</div>\n", styles: [":host{display:flex;flex-direction:column;box-shadow:0 0 4px rgba(var(--aui-color-n-1),.16);padding:22px 20px 20px;background-color:rgb(var(--aui-color-n-10));border-radius:4px}.header{display:flex;align-items:center;margin-bottom:20px;height:28px}.header aui-search{width:260px}.header__title{font-size:18px;font-weight:500;line-height:28px;color:rgb(var(--aui-color-n-1))}.header__title--lite{font-size:16px;font-weight:700;line-height:22px}.header__desc{color:rgb(var(--aui-color-n-4))}.header__custom{flex:1;padding:0 36px}.header__display-mode{display:flex;border:1px solid rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-m);margin-left:16px;padding:1px}.switch-btn{cursor:pointer;width:24px;height:24px;border-radius:var(--aui-border-radius-m);display:inline-flex;align-items:center;justify-content:center}.switch-btn img{width:12px;height:12px}.switch-btn--selected{background-color:rgb(var(--aui-color-n-10));color:rgb(var(--aui-color-primary))}.grid{overflow-y:auto;padding:20px;background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-l)}.grid::-webkit-scrollbar{width:4px;height:4px}.grid::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.grid::-webkit-scrollbar-corner{background-color:transparent}.grid__item{display:flex;position:relative;flex-direction:row;border-radius:var(--aui-border-radius-l);padding:9px 20px;min-height:60px;color:rgb(var(--aui-color-n-1));align-items:center;cursor:pointer;background-color:rgb(var(--aui-color-n-10))}.grid__item:not(:last-child){margin-bottom:8px}.grid__item:not(.grid__item--disabled):hover{border-color:rgb(var(--aui-color-primary));box-shadow:0 0 8px rgba(var(--aui-color-primary),.5)}.grid__item--disabled{cursor:default}.grid__item--disabled,.grid__item--disabled:hover{background-color:rgb(var(--aui-color-n-9))}.grid__item--disabled .grid__field{opacity:.3}.grid__item--disabled .grid__field-servicemesh,.grid__item--disabled .grid__field-action{opacity:1}.grid__field{flex:2;line-height:20px}.grid__field:not(.grid__field-status){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.grid__field:not(:last-child){margin-right:20px}.grid__field-servicemesh{flex:2;align-items:stretch;max-width:400px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid__field-servicemesh .des{font-size:12px;line-height:16px;color:rgb(var(--aui-color-n-4))}.grid__field-servicemesh aui-tag{margin-left:8px}.grid__field-status{display:flex;align-items:center}.grid__field-status aui-icon{font-size:16px;display:inline-flex;margin-right:4px}.grid__field-status .with-colon{display:none}.grid__field-icon{max-width:30px;display:inline-flex}.grid__field-name{flex:2;flex-direction:column;max-width:280px}.grid__field-name .name,.grid__field-name .des{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid__field-name .name{font-size:14px;font-weight:500;line-height:20px}.grid__field-name .name aui-icon{margin-left:4px}.grid__field-name .des{font-size:12px;line-height:16px;color:rgb(var(--aui-color-n-4))}.grid__field-action{max-width:30px}.grid--popup{max-height:382px;padding:12px}.grid--popup .grid__field-name .name{font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl);font-weight:var(--aui-font-weight-normal)}.grid--popup:not(.grid--popup--lite) .grid__item{padding:10px 20px;min-height:60px;font-size:14px;background-color:rgb(var(--aui-color-n-10))}.grid--popup:not(.grid--popup--lite) .grid__item--selected{border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-l);background-color:rgb(var(--aui-color-primary));border-color:rgb(var(--aui-color-primary));color:#fff;cursor:default}.grid--popup:not(.grid--popup--lite) .grid__item--selected:hover{box-shadow:none}.grid--popup:not(.grid--popup--lite) .grid__item--selected .highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-10))}.grid--popup:not(.grid--popup--lite) .grid__item--selected .with-colon{font-weight:500}.grid--popup:not(.grid--popup--lite) .grid__item--selected .des{color:#fff}.grid--popup:not(.grid--popup--lite) .grid__item--selected ::ng-deep .aui-tag--primary{background-color:#fff;color:rgb(var(--aui-color-primary))}.grid--popup--lite{background-color:rgb(var(--aui-color-n-10));padding:0}.grid--popup--lite .grid__item{padding:10px 14px;min-height:44px;border:1px solid rgb(var(--aui-color-n-7))}.grid--popup--lite .grid__item .grid__field:not(:last-child){margin-right:12px}.grid--popup--lite .grid__item .grid__field-name .name{font-size:14px;line-height:25px;font-weight:400}.grid--popup--lite .grid__item .grid__field-icon{max-width:24px}.grid--popup--lite .grid__item .grid__item-selected-icon{display:inline-flex}.grid--popup--lite .grid__item .highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-10))}.grid--popup--lite .grid__item .with-colon{font-weight:500}.grid--popup--lite .grid__item .des{color:#fff}.grid--popup--lite .grid__item ::ng-deep .aui-tag--primary{background-color:#fff;color:rgb(var(--aui-color-primary))}.grid--popup--lite .grid__item--selected{background-color:rgb(var(--aui-color-b-7));border:1px solid rgb(var(--aui-color-primary))}.grid--popup--lite .grid__item:hover{border:1px solid rgb(var(--aui-color-primary));box-shadow:none}.grid--card{display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:20px 20px}.grid--card .grid__item{margin-bottom:0;height:290px;display:block;text-align:center;padding:40px 20px;border-radius:var(--aui-border-radius-l);position:relative}.grid--card .grid__item .belonged-cluster{position:static;padding-right:0}.grid--card .grid__item aui-tag{position:absolute;top:8px;right:8px}.grid--card .grid__field{margin-right:0;justify-content:center}.grid--card .grid__field-icon{max-width:100%;vertical-align:middle}.grid--card .grid__field-name{margin:20px 0 24px}.grid--card .grid__field-name .name,.grid--card .grid__field-name .des{justify-content:center}.grid--card .grid__field-name .name{font-size:20px;font-weight:500;line-height:28px;margin-bottom:2px}.grid--card .grid__field-name .des{font-size:14px;height:20px}.grid--card .grid__field-name~.grid__field:not(.grid__field-status){line-height:20px;font-size:14px;text-align:center}.grid--card .grid__field-status .with-colon{display:inline}.grid--card .grid__field-servicemesh:not(:last-of-type){margin-bottom:4px}.grid--card .grid__field-cluster{margin-bottom:4px}.grid--card .grid__field-action{position:absolute;right:10px;top:10px}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected){position:relative}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected):after{position:absolute;content:\"\";top:0;right:0;bottom:0;left:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:4px;pointer-events:none;transition:all .2s ease-in-out}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected).disabled{background-color:rgb(var(--aui-color-n-8));color:rgb(var(--aui-color-n-6));cursor:not-allowed}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected):not(.disabled):hover:after{top:-4px;right:-4px;bottom:-4px;left:-4px;border-color:rgb(var(--aui-color-primary));box-shadow:inset 0 0 0 4px rgb(var(--aui-color-n-10)),0 0 8px rgba(var(--aui-color-primary),.5)}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected):not(.disabled):active:after{top:0;right:0;bottom:0;left:0;box-shadow:0 0 4px rgba(var(--aui-color-primary),.5)}.flex{display:flex}.highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-8))}.with-colon{font-weight:500}.with-colon:after{content:\":\";margin-right:8px}.icon-normal,.icon-enabled{color:rgb(var(--aui-color-green))}.icon-abnormal{color:rgb(var(--aui-color-red))}.icon-disabled{color:rgb(var(--aui-color-n-6))}.belonged-cluster{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;padding-right:44px}.belonged-cluster .with-colon+span{margin-right:8px}.belonged-cluster aui-tag{position:absolute;display:inline-flex}.loading{display:flex;height:60px;align-items:center;justify-content:center}acl-resource-no-data{flex:1;margin:40px 0 80px}acl-zero-state ::ng-deep .zero-placeholder{min-height:44px;padding:12px 10px}\n"] }]
557
+ args: [{ selector: 'acl-resource-data-grid', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"header\">\n <span\n class=\"header__title\"\n [ngClass]=\"{ 'header__title--lite': popupLite }\"\n >\n <span>{{ type | pure: pluralForm | translate }}</span\n ><span class=\"header__desc\"\n >\uFF08{{ (displayData$ | async)?.length || 0 }}\uFF09</span\n >\n </span>\n <div\n class=\"header__custom\"\n *ngIf=\"!popupLite\"\n >\n <ng-content select=\"[aclResourceGridHeader]\"></ng-content>\n </div>\n <div\n class=\"tw-flex-1\"\n *ngIf=\"popupLite\"\n ></div>\n <aui-search\n [searchButton]=\"false\"\n [placeholder]=\"'filter_by_name' | translate\"\n [keyword]=\"keyword\"\n (keywordChange)=\"keywordChange($event)\"\n [clearable]=\"true\"\n size=\"small\"\n ></aui-search>\n <span\n class=\"header__display-mode\"\n *ngIf=\"context === 'page'\"\n >\n <span\n class=\"switch-btn\"\n [ngClass]=\"{ 'switch-btn--selected': displayMode !== 'card' }\"\n (click)=\"setDisplayMode('row')\"\n >\n <aui-icon icon=\"list\"></aui-icon>\n </span>\n <span\n class=\"switch-btn\"\n [ngClass]=\"{ 'switch-btn--selected': displayMode === 'card' }\"\n (click)=\"setDisplayMode('card')\"\n >\n <aui-icon icon=\"grid\"></aui-icon>\n </span>\n </span>\n</div>\n<ng-container\n *ngIf=\"\n !loading &&\n (displayData$\n | async\n | pure: sortWithoutIstio\n | pure: filterDisabledData:context) as displayData\n \"\n>\n <div\n class=\"grid\"\n *ngIf=\"displayData.length\"\n #grid\n [ngClass]=\"{\n 'grid--card': displayMode === 'card' && context !== 'popup',\n 'grid--popup': context === 'popup',\n 'grid--popup--lite': context === 'popup' && popupLite\n }\"\n >\n <div\n class=\"grid__item\"\n *ngFor=\"let item of displayData\"\n [ngClass]=\"{\n 'grid__item--selected':\n context === 'popup' && selectedUid === item.__origin.metadata.uid,\n 'grid__item--disabled': item.state?.disabled\n }\"\n (click)=\"onSelect(item)\"\n [attr.data-test]=\"item.name + '/' + item.cluster\"\n [auiTooltip]=\"item.state?.tooltip\"\n [auiTooltipDisabled]=\"!item.state?.disabled || !item.state?.tooltip\"\n >\n <aui-icon\n *ngIf=\"selectedUid === item.__origin.metadata.uid\"\n class=\"check-triangle-badge\"\n icon=\"check\"\n ></aui-icon>\n <!-- icon -->\n <div class=\"grid__field grid__field-icon\">\n <acl-resource-icon\n [type]=\"type\"\n [color]=\"\n context === 'popup' &&\n !popupLite &&\n selectedUid === item.__origin.metadata.uid\n ? 'white'\n : 'blue'\n \"\n [displayMode]=\"displayMode\"\n ></acl-resource-icon>\n </div>\n <!-- name -->\n <div class=\"grid__field grid__field-name\">\n <div class=\"name\">\n <ng-container *ngFor=\"let str of getHighlightedNameStrs(item)\">\n <span [ngClass]=\"{ highlighted: str.isHighlighted }\">{{\n str.text\n }}</span>\n </ng-container>\n </div>\n <div\n class=\"des\"\n *ngIf=\"!popupLite\"\n >\n <ng-container *ngIf=\"item.displayName\">{{\n item.displayName\n }}</ng-container>\n </div>\n </div>\n <!-- ns: cluster -->\n <div\n class=\"grid__field flex grid__field-cluster\"\n *ngIf=\"fields.includes(fieldsDef.Cluster)\"\n >\n <span\n class=\"belonged-cluster tw-flex\"\n auiTooltip=\"{{\n ('belonged_cluster' | translate) + ': ' + item.cluster\n }}\"\n >\n <span class=\"with-colon\">{{ 'belonged_cluster' | translate }}</span>\n <span class=\"tw-text-ellipsis tw-overflow-hidden\"\n >{{ item.cluster\n }}<ng-container *ngIf=\"item.clusterDisplayName\"\n >({{ item.clusterDisplayName }})</ng-container\n >\n </span>\n <aui-tag\n type=\"primary\"\n size=\"mini\"\n *ngIf=\"item.clusterArch\"\n >\n {{ item.clusterArch }}\n </aui-tag>\n </span>\n </div>\n <!-- project: status -->\n <div\n class=\"grid__field grid__field-status {{\n 'grid__field-status--' + item.status\n }}\"\n *ngIf=\"fields.includes(fieldsDef.Status)\"\n >\n <label\n *ngIf=\"popupLite\"\n class=\"tw-text-help-text tw-mr-8\"\n >{{ 'status' | translate }}:</label\n >\n <span class=\"with-colon\">{{ 'status' | translate }}</span>\n <aui-icon\n [icon]=\"statusIcon[item.status]\"\n [background]=\"\n statusIcon[item.status].endsWith('_triangle_s')\n ? 'triangle'\n : 'circle'\n \"\n class=\"{{ 'icon-' + item.status }}\"\n ></aui-icon>\n {{ item.status | translate }}\n </div>\n <!-- asm: service mesh -->\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMesh)\"\n >\n <span class=\"with-colon\">{{ 'belonged_servicemesh' | translate }}</span>\n <span> {{ item.serviceMeshName }} </span>\n <div class=\"des\">\n <ng-container *ngIf=\"item.serviceMeshIstioVersion\"\n >(Istio {{ item.serviceMeshIstioVersion }})</ng-container\n >\n </div>\n </div>\n\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMesh)\"\n >\n <span class=\"with-colon\">{{ 'cluster' | translate }}</span>\n <span\n >{{ item.cluster\n }}<ng-container *ngIf=\"item.clusterDisplayName\"\n >({{ item.clusterDisplayName }})</ng-container\n >\n </span>\n <aui-tag\n type=\"primary\"\n size=\"mini\"\n *ngIf=\"item.clusterArch\"\n >\n {{ item.clusterArch }}\n </aui-tag>\n </div>\n\n <!-- mesh group -->\n\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMeshGroup)\"\n >\n <span class=\"with-colon\">{{ 'cluster' | translate }}</span>\n <span>{{ item.cluster }} </span>\n </div>\n <!-- asm: istio -->\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMeshGroup)\"\n >\n <span class=\"with-colon\">{{ 'Istio' }}</span>\n <span\n >{{ item.serviceMeshIstioVersion || ('not_deployed' | translate) }}\n </span>\n </div>\n\n <!-- time -->\n <div\n class=\"grid__field grid__field-time\"\n *ngIf=\"fields.includes(fieldsDef.Time) && !popupLite\"\n >\n <span class=\"with-colon\">{{ 'created_at' | translate }}</span>\n <span>{{ item.timestamp | aclRelativeTime }}</span>\n </div>\n <!-- action -->\n <div\n class=\"grid__field grid__field-action\"\n (click)=\"$event.stopPropagation()\"\n *ngIf=\"\n fields.includes(fieldsDef.Action) &&\n actionTemplateRef &&\n context !== 'popup'\n \"\n >\n <ng-container\n [ngTemplateOutlet]=\"actionTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: item.__origin\n }\"\n ></ng-container>\n </div>\n </div>\n </div>\n <acl-resource-no-data\n *ngIf=\"!popupLite && !(displayData$ | async)?.length\"\n [isFiltered]=\"!!keyword\"\n [type]=\"type\"\n (refresh)=\"reload.emit()\"\n (clear)=\"keywordChange('')\"\n ></acl-resource-no-data>\n <acl-zero-state\n *ngIf=\"popupLite && !(displayData$ | async)?.length\"\n context=\"table\"\n ></acl-zero-state>\n</ng-container>\n<div\n class=\"loading\"\n *ngIf=\"loading\"\n>\n <acl-loading-mask\n [loading]=\"loading\"\n type=\"content\"\n ></acl-loading-mask>\n</div>\n", styles: [":host{display:flex;flex-direction:column;box-shadow:0 0 4px rgba(var(--aui-color-n-1),.16);padding:22px 20px 20px;background-color:rgb(var(--aui-color-n-10));border-radius:4px}.header{display:flex;align-items:center;margin-bottom:20px;height:28px}.header aui-search{width:260px}.header__title{font-size:18px;font-weight:500;line-height:28px;color:rgb(var(--aui-color-n-1))}.header__title--lite{font-size:16px;font-weight:700;line-height:22px}.header__desc{color:rgb(var(--aui-color-n-4))}.header__custom{flex:1;padding:0 36px}.header__display-mode{display:flex;border:1px solid rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-m);margin-left:16px;padding:1px}.switch-btn{cursor:pointer;width:24px;height:24px;border-radius:var(--aui-border-radius-m);display:inline-flex;align-items:center;justify-content:center}.switch-btn img{width:12px;height:12px}.switch-btn--selected{background-color:rgb(var(--aui-color-n-10));color:rgb(var(--aui-color-primary))}.grid{overflow-y:auto;padding:20px;background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-l)}.grid::-webkit-scrollbar{width:4px;height:4px}.grid::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.grid::-webkit-scrollbar-corner{background-color:transparent}.grid__item{display:flex;position:relative;flex-direction:row;border-radius:var(--aui-border-radius-l);padding:9px 20px;min-height:60px;color:rgb(var(--aui-color-n-1));align-items:center;cursor:pointer;background-color:rgb(var(--aui-color-n-10))}.grid__item:not(:last-child){margin-bottom:8px}.grid__item:not(.grid__item--disabled):hover{border-color:rgb(var(--aui-color-primary));box-shadow:0 0 8px rgba(var(--aui-color-primary),.5)}.grid__item--disabled{cursor:default}.grid__item--disabled,.grid__item--disabled:hover{background-color:rgb(var(--aui-color-n-9))}.grid__item--disabled .grid__field{opacity:.3}.grid__item--disabled .grid__field-servicemesh,.grid__item--disabled .grid__field-action{opacity:1}.grid__field{flex:2;line-height:20px}.grid__field:not(.grid__field-status){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.grid__field:not(:last-child){margin-right:20px}.grid__field-servicemesh{flex:2;align-items:stretch;max-width:400px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid__field-servicemesh .des{font-size:12px;line-height:16px;color:rgb(var(--aui-color-n-4))}.grid__field-servicemesh aui-tag{margin-left:8px}.grid__field-status{display:flex;align-items:center}.grid__field-status aui-icon{font-size:16px;display:inline-flex;margin-right:4px}.grid__field-status .with-colon{display:none}.grid__field-icon{max-width:30px;display:inline-flex}.grid__field-name{flex:2;flex-direction:column;max-width:280px}.grid__field-name .name,.grid__field-name .des{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid__field-name .name{font-size:14px;font-weight:500;line-height:20px}.grid__field-name .name aui-icon{margin-left:4px}.grid__field-name .des{font-size:12px;line-height:16px;color:rgb(var(--aui-color-n-4))}.grid__field-action{max-width:30px}.grid--popup{max-height:382px;padding:12px}.grid--popup .grid__field-name .name{font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl);font-weight:var(--aui-font-weight-normal)}.grid--popup:not(.grid--popup--lite) .grid__item{padding:10px 20px;min-height:60px;font-size:14px;background-color:rgb(var(--aui-color-n-10))}.grid--popup:not(.grid--popup--lite) .grid__item--selected{border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-l);background-color:rgb(var(--aui-color-primary));border-color:rgb(var(--aui-color-primary));color:#fff;cursor:default}.grid--popup:not(.grid--popup--lite) .grid__item--selected:hover{box-shadow:none}.grid--popup:not(.grid--popup--lite) .grid__item--selected .highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-10))}.grid--popup:not(.grid--popup--lite) .grid__item--selected .with-colon{font-weight:500}.grid--popup:not(.grid--popup--lite) .grid__item--selected .des{color:#fff}.grid--popup:not(.grid--popup--lite) .grid__item--selected ::ng-deep .aui-tag--primary{background-color:#fff;color:rgb(var(--aui-color-primary))}.grid--popup--lite{background-color:rgb(var(--aui-color-n-10));padding:0}.grid--popup--lite .grid__item{padding:10px 14px;min-height:44px;border:1px solid rgb(var(--aui-color-n-7))}.grid--popup--lite .grid__item .grid__field:not(:last-child){margin-right:12px}.grid--popup--lite .grid__item .grid__field-name .name{font-size:14px;line-height:25px;font-weight:400}.grid--popup--lite .grid__item .grid__field-icon{max-width:24px}.grid--popup--lite .grid__item .grid__item-selected-icon{display:inline-flex}.grid--popup--lite .grid__item .highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-10))}.grid--popup--lite .grid__item .with-colon{font-weight:500}.grid--popup--lite .grid__item .des{color:#fff}.grid--popup--lite .grid__item ::ng-deep .aui-tag--primary{background-color:#fff;color:rgb(var(--aui-color-primary))}.grid--popup--lite .grid__item--selected{background-color:rgb(var(--aui-color-b-7));border:1px solid rgb(var(--aui-color-primary))}.grid--popup--lite .grid__item:hover{border:1px solid rgb(var(--aui-color-primary));box-shadow:none}.grid--card{display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:20px 20px}.grid--card .grid__item{margin-bottom:0;height:290px;display:block;text-align:center;padding:40px 20px;border-radius:var(--aui-border-radius-l);position:relative}.grid--card .grid__item .belonged-cluster{position:static;padding-right:0}.grid--card .grid__item aui-tag{position:absolute;top:8px;right:8px}.grid--card .grid__field{margin-right:0;justify-content:center}.grid--card .grid__field-icon{max-width:100%;vertical-align:middle}.grid--card .grid__field-name{margin:20px 0 24px}.grid--card .grid__field-name .name,.grid--card .grid__field-name .des{justify-content:center}.grid--card .grid__field-name .name{font-size:20px;font-weight:500;line-height:28px;margin-bottom:2px}.grid--card .grid__field-name .des{font-size:14px;height:20px}.grid--card .grid__field-name~.grid__field:not(.grid__field-status){line-height:20px;font-size:14px;text-align:center}.grid--card .grid__field-status .with-colon{display:inline}.grid--card .grid__field-servicemesh:not(:last-of-type){margin-bottom:4px}.grid--card .grid__field-cluster{margin-bottom:4px}.grid--card .grid__field-action{position:absolute;right:10px;top:10px}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected){position:relative}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected):after{position:absolute;content:\"\";top:0;right:0;bottom:0;left:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:4px;pointer-events:none;transition:all .2s ease-in-out}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected).disabled{background-color:rgb(var(--aui-color-n-8));color:rgb(var(--aui-color-n-6));cursor:not-allowed}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected):not(.disabled):hover:after{top:-4px;right:-4px;bottom:-4px;left:-4px;border-color:rgb(var(--aui-color-primary));box-shadow:inset 0 0 0 4px rgb(var(--aui-color-n-10)),0 0 8px rgba(var(--aui-color-primary),.5)}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected):not(.disabled):active:after{top:0;right:0;bottom:0;left:0;box-shadow:0 0 4px rgba(var(--aui-color-primary),.5)}.flex{display:flex}.highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-8))}.with-colon{font-weight:500}.with-colon:after{content:\":\";margin-right:8px}.icon-normal,.icon-enabled{color:rgb(var(--aui-color-green))}.icon-abnormal{color:rgb(var(--aui-color-red))}.icon-disabled{color:rgb(var(--aui-color-n-6))}.belonged-cluster{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;padding-right:44px}.belonged-cluster .with-colon+span{margin-right:8px}.belonged-cluster aui-tag{display:inline-flex}.loading{display:flex;height:60px;align-items:center;justify-content:center}acl-resource-no-data{flex:1;margin:40px 0 80px}acl-zero-state ::ng-deep .zero-placeholder{min-height:44px;padding:12px 10px}\n"] }]
558
558
  }], null, { grid: [{
559
559
  type: ViewChild,
560
560
  args: ['grid']
@@ -581,4 +581,4 @@ __decorate([
581
581
  }], reload: [{
582
582
  type: Output
583
583
  }] }); })();
584
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9pbnRlcm5hbHMvZGF0YS1ncmlkL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9idXNpbmVzcy9yZXNvdXJjZS1zZWxlY3QvaW50ZXJuYWxzL2RhdGEtZ3JpZC90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTlELE9BQU8sRUFDTCxpQkFBaUIsR0FLbEIsTUFBTSxhQUFhLENBQUM7Ozs7SUNibkIsOEJBR0M7SUFDQyxrQkFBMEQ7SUFDNUQsaUJBQU07OztJQUNOLDBCQUdPOzs7OztJQVNQLGdDQUdDLGVBQUE7SUFJRyxzS0FBUyxlQUFBLHNCQUFlLEtBQUssQ0FBQyxDQUFBLElBQUM7SUFFL0IsK0JBQWlDO0lBQ25DLGlCQUFPO0lBQ1AsZ0NBSUM7SUFEQyxzS0FBUyxlQUFBLHNCQUFlLE1BQU0sQ0FBQyxDQUFBLElBQUM7SUFFaEMsK0JBQWlDO0lBQ25DLGlCQUFPLEVBQUE7OztJQVhMLGVBQThEO0lBQTlELG1GQUE4RDtJQU85RCxlQUE4RDtJQUE5RCxtRkFBOEQ7OztJQXVDOUQsK0JBSVk7Ozs7SUFrQlIsNkJBQStEO0lBQzdELGdDQUFxRDtJQUFBLFlBRW5EO0lBQUEsaUJBQU87SUFDWCwwQkFBZTs7O0lBSFAsZUFBOEM7SUFBOUMsMkVBQThDO0lBQUMsZUFFbkQ7SUFGbUQsa0NBRW5EOzs7SUFPSiw2QkFBdUM7SUFBQSxZQUVyQztJQUFBLDBCQUFlOzs7SUFGc0IsZUFFckM7SUFGcUMsMENBRXJDOzs7SUFOSiwrQkFHQztJQUNDLDhIQUVpQjtJQUNuQixpQkFBTTs7O0lBSFcsZUFBc0I7SUFBdEIsMkNBQXNCOzs7SUFtQmpDLDZCQUNDO0lBQUEsWUFBK0I7SUFBQSwwQkFDakM7OztJQURFLGVBQStCO0lBQS9CLDREQUErQjs7O0lBR3BDLG1DQUlDO0lBQ0MsWUFDRjtJQUFBLGlCQUFVOzs7SUFEUixlQUNGO0lBREUscURBQ0Y7OztJQXZCSiwrQkFHQyxlQUFBOztJQU9HLGdDQUF5QjtJQUFBLFlBQW9DOztJQUFBLGlCQUFPO0lBQ3BFLDRCQUNHO0lBQUEsWUFDQztJQUFBLDhIQUVEO0lBQ0gsaUJBQU87SUFDUCxxSEFNVTtJQUNaLGlCQUFPLEVBQUE7OztJQWxCTCxlQUVHO0lBRkgsMEdBRUc7SUFFc0IsZUFBb0M7SUFBcEMsOERBQW9DO0lBRTFELGVBQ0M7SUFERCxzQ0FDQztJQUFlLGVBQTZCO0lBQTdCLGtEQUE2QjtJQU83QyxlQUFzQjtJQUF0QiwyQ0FBc0I7OztJQWEzQixpQ0FHRztJQUFBLFlBQTJCOztJQUFBLGlCQUM3Qjs7SUFERSxlQUEyQjtJQUEzQiw4REFBMkI7OztJQVRoQywyQkFLQztJQUNDLGlIQUlDO0lBQ0QsZ0NBQXlCO0lBQUEsWUFBMEI7O0lBQUEsaUJBQU87SUFDMUQsK0JBUVk7SUFDWixZQUNGOztJQUFBLGlCQUFNOzs7O0lBckJKLDBHQUVHO0lBSUEsZUFBZTtJQUFmLHdDQUFlO0lBSU8sZUFBMEI7SUFBMUIscURBQTBCO0lBUWpELGVBQW1DO0lBQW5DLHdDQUFtQztJQU5uQywwREFBZ0MsbUdBQUE7SUFRbEMsZUFDRjtJQURFLHVFQUNGOzs7SUFTSSw2QkFDRztJQUFBLFlBQTBDO0lBQUEsMEJBQzVDOzs7SUFERSxlQUEwQztJQUExQyx1RUFBMEM7OztJQVJqRCwrQkFHQyxlQUFBO0lBQzBCLFlBQXdDOztJQUFBLGlCQUFPO0lBQ3hFLDRCQUFNO0lBQUMsWUFBMkI7SUFBQSxpQkFBTztJQUN6QywrQkFBaUI7SUFDZiwrSEFFQztJQUNILGlCQUFNLEVBQUE7OztJQU5tQixlQUF3QztJQUF4QyxrRUFBd0M7SUFDMUQsZUFBMkI7SUFBM0IseURBQTJCO0lBRWpCLGVBQWtDO0lBQWxDLHVEQUFrQzs7O0lBYS9DLDZCQUNDO0lBQUEsWUFBK0I7SUFBQSwwQkFDakM7OztJQURFLGVBQStCO0lBQS9CLDREQUErQjs7O0lBR3BDLG1DQUlDO0lBQ0MsWUFDRjtJQUFBLGlCQUFVOzs7SUFEUixlQUNGO0lBREUscURBQ0Y7OztJQWpCRiwrQkFHQyxlQUFBO0lBQzBCLFlBQTJCOztJQUFBLGlCQUFPO0lBQzNELDRCQUNHO0lBQUEsWUFDQztJQUFBLCtIQUVEO0lBQ0gsaUJBQU87SUFDUCxzSEFNVTtJQUNaLGlCQUFNOzs7SUFkcUIsZUFBMkI7SUFBM0IscURBQTJCO0lBRWpELGVBQ0M7SUFERCxzQ0FDQztJQUFlLGVBQTZCO0lBQTdCLGtEQUE2QjtJQU83QyxlQUFzQjtJQUF0QiwyQ0FBc0I7OztJQVEzQiwrQkFHQyxlQUFBO0lBQzBCLFlBQTJCOztJQUFBLGlCQUFPO0lBQzNELDRCQUFNO0lBQUEsWUFBbUI7SUFBQSxpQkFBTyxFQUFBOzs7SUFEUCxlQUEyQjtJQUEzQixxREFBMkI7SUFDOUMsZUFBbUI7SUFBbkIsZ0RBQW1COzs7SUFHM0IsK0JBR0MsZUFBQTtJQUMwQixZQUFhO0lBQUEsaUJBQU87SUFDN0MsNEJBQ0c7SUFBQSxZQUNIOztJQUFBLGlCQUFPLEVBQUE7OztJQUhrQixlQUFhO0lBQWIsNkJBQWE7SUFFbkMsZUFDSDtJQURHLHdHQUNIOzs7SUFJRiwrQkFHQyxlQUFBO0lBQzBCLFlBQThCOztJQUFBLGlCQUFPO0lBQzlELDRCQUFNO0lBQUEsWUFBc0M7O0lBQUEsaUJBQU8sRUFBQTs7O0lBRDFCLGVBQThCO0lBQTlCLHdEQUE4QjtJQUNqRCxlQUFzQztJQUF0Qyw4REFBc0M7Ozs7SUFHOUMsK0JBUUM7SUFOQyw0SUFBUyx3QkFBd0IsSUFBQztJQU9sQyw0QkFLZ0I7SUFDbEIsaUJBQU07Ozs7SUFMRixlQUFzQztJQUF0Qyw0REFBc0MsMEVBQUE7Ozs7O0lBOUs1QywrQkFZQztJQUpDLHdQQUFTLGVBQUEsMEJBQWMsQ0FBQSxJQUFDO0lBS3hCLGlIQUlZO0lBRVosK0JBQTBDO0lBQ3hDLHdDQVVxQjtJQUN2QixpQkFBTTtJQUVOLCtCQUEwQyxjQUFBO0lBRXRDLHlIQUllO0lBQ2pCLGlCQUFNO0lBQ04sdUdBT007SUFDUixpQkFBTTtJQUVOLHdHQXlCTTtJQUVOLHdHQXNCTTtJQUVOLHlHQVdNO0lBRU4seUdBa0JNO0lBSU4seUdBTU07SUFFTix5R0FRTTtJQUdOLHlHQU1NO0lBRU4seUdBZU07SUFDUixpQkFBTTs7OztJQWpMSixxTUFJRSxzRUFBQSwrSUFBQTtJQUVGLG1FQUFpRDtJQUs5QyxlQUFnRDtJQUFoRCw2RUFBZ0Q7SUFPL0MsZUFBYTtJQUFiLG1DQUFhLHlJQUFBLG9DQUFBO0lBY2lCLGVBQStCO0lBQS9CLGtFQUErQjtJQVE1RCxlQUFnQjtJQUFoQix5Q0FBZ0I7SUFVbEIsZUFBd0M7SUFBeEMseUVBQXdDO0lBNkJ4QyxlQUF1QztJQUF2Qyx3RUFBdUM7SUFzQnZDLGVBQTRDO0lBQTVDLDZFQUE0QztJQWE1QyxlQUE0QztJQUE1Qyw2RUFBNEM7SUFzQjVDLGVBQWlEO0lBQWpELGtGQUFpRDtJQVFqRCxlQUFpRDtJQUFqRCxrRkFBaUQ7SUFXakQsZUFBbUQ7SUFBbkQsNEZBQW1EO0lBU25ELGVBS1Q7SUFMUyxvSUFLVDs7OztJQXRMRSxtQ0FTQztJQUNDLG1HQW9MTTtJQUNSLGlCQUFNOzs7O0lBM0xKLDZMQUlFO0lBSWlCLGVBQWM7SUFBZCx3Q0FBYzs7OztJQW9MbkMsZ0RBTUM7SUFGQyw0TkFBVyxlQUFBLHFCQUFhLENBQUEsSUFBQywyTUFDaEIsZUFBQSxzQkFBYyxFQUFFLENBQUMsQ0FBQSxJQUREO0lBRTFCLGlCQUF1Qjs7O0lBSnRCLDhDQUF3QixzQkFBQTs7O0lBSzFCLHFDQUdrQjs7O0lBbk5wQiw2QkFRQztJQUNDLDJGQStMTTtJQUNOLDZIQU13Qjs7SUFDeEIsaUhBR2tCOztJQUNwQiwwQkFBZTs7Ozs7O0lBek1WLGVBQXdCO0lBQXhCLDRDQUF3QjtJQStMeEIsZUFBbUQ7SUFBbkQsb0lBQW1EO0lBT25ELGVBQWtEO0lBQWxELG1JQUFrRDs7O0lBSXZELCtCQUdDO0lBQ0MsdUNBR29CO0lBQ3RCLGlCQUFNOzs7SUFIRixlQUFtQjtJQUFuQix3Q0FBbUI7Ozs7O0FEM092QixNQUFNLE9BQU8seUJBQXlCO0lBTnRDO1FBY0UsWUFBTyxHQUFpQixNQUFNLENBQUM7UUFHL0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUdsQixTQUFJLEdBQW1CLEVBQUUsQ0FBQztRQU0xQixTQUFJLEdBQWEsV0FBVyxDQUFDO1FBRzdCLFdBQU0sR0FBd0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQVN2RCxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBR2YsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBRzlDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBR3BDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWxDLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFFYixjQUFTLEdBQUcsaUJBQWlCLENBQUM7UUFFOUIsZ0JBQVcsR0FBZ0IsS0FBSyxDQUFDO1FBRWpDLFlBQU8sR0FBRyxJQUFJLGFBQWEsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUV0QixtQkFBYyxHQUFHLGtCQUFrQixDQUFDO1FBSTdDLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUVsQyxlQUFVLEdBQTJCO1lBQ25DLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsUUFBUSxFQUFFLHdCQUF3QjtZQUNsQyxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLFFBQVEsRUFBRSxnQkFBZ0I7U0FDM0IsQ0FBQztRQStDRiwyQkFBc0IsR0FBRyxDQUFDLElBQWtCLEVBQUUsRUFBRTtZQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDakIsT0FBTztvQkFDTDt3QkFDRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7cUJBQ2hCO2lCQUNGLENBQUM7YUFDSDtZQUNELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDM0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZFLE1BQU0sR0FBRyxHQUdKLEVBQUUsQ0FBQztZQUNSLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztZQUNaLEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ3JDLE1BQU0sR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO2dCQUM3QixHQUFHLENBQUMsSUFBSSxDQUFDO29CQUNQLElBQUksRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7aUJBQy9CLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDekIsR0FBRyxDQUFDLElBQUksQ0FBQzt3QkFDUCxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO3dCQUNwRCxhQUFhLEVBQUUsSUFBSTtxQkFDcEIsQ0FBQyxDQUFDO2lCQUNKO2dCQUNELEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7YUFDakM7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsQ0FBQztRQThCRixxQkFBZ0IsR0FBRyxDQUFDLElBQW9CLEVBQUUsRUFBRTtZQUMxQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztZQUN6RSxPQUFPLENBQUMsR0FBRyxVQUFVLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxFQUFFLEdBQUcsWUFBWSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDO0tBS0g7SUEvS0MsSUFBdUIsSUFBSSxDQUFDLElBQTZCO1FBQ3ZELElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBMkRELFFBQVE7UUFDTixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLFdBQVc7WUFDZCxJQUFJLENBQUMsT0FBTyxLQUFLLE9BQU87Z0JBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUztvQkFDZCxDQUFDLENBQUMsVUFBVTtvQkFDWixDQUFDLENBQUMsS0FBSztnQkFDVCxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztvQkFDdkMsQ0FBQyxDQUFFLFdBQTJCO29CQUM5QixDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ1osSUFBSSxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUM7WUFDaEMsSUFBSSxDQUFDLEtBQUs7WUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDakMsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQ3hELENBQ0YsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLFVBQVUsQ0FBQyxRQUFxQjtRQUN0QyxJQUNFLElBQUksQ0FBQyxPQUFPLEtBQUssTUFBTTtZQUN2QixJQUFJLENBQUMsaUJBQWlCO1lBQ3RCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQ2xCO1lBQ0EsT0FBTztTQUNSO1FBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQ3RDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQ3hELENBQUM7UUFDRixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzNELElBQ0UsWUFBWSxHQUFHLENBQUMsQ0FBQztZQUNqQixTQUFTLEdBQUcsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFDdEQ7WUFDQSxRQUFRLENBQUMsUUFBUSxDQUFDO2dCQUNoQixHQUFHLEVBQUUsU0FBUyxHQUFHLFlBQVk7YUFDOUIsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFpQ0QsUUFBUSxDQUFDLElBQWtCO1FBQ3pCLElBQ0UsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRO1lBQ3BCLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUMvQztZQUNBLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsY0FBYyxDQUFDLElBQWlCO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFlO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUFvQixFQUFFLE9BQXFCO1FBQzVELHFDQUFxQztRQUNyQyxPQUFPLENBQ0wsT0FBTyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUN6RCxDQUFDO0lBQ2xCLENBQUM7SUFPRCxVQUFVLENBQUMsSUFBYztRQUN2QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QixDQUFDOzBGQS9LVSx5QkFBeUI7b0VBQXpCLHlCQUF5Qjs7Ozs7OztZQy9CdEMsOEJBQW9CLGNBQUEsV0FBQTtZQUtWLFlBQXlDOzs7WUFBQSxpQkFDOUM7WUFBQSwrQkFDRTtZQUFBLFlBQTJDOztZQUFBLGlCQUM3QyxFQUFBO1lBRUgsMEVBS007WUFDTiw0RUFHTztZQUNQLHNDQU9DO1lBSEMsaUlBQWlCLHlCQUFxQixJQUFDOztZQUd4QyxpQkFBYTtZQUNkLDhFQWtCTztZQUNULGlCQUFNO1lBQ04sOEZBb05lOzs7O1lBQ2YsNEVBUU07OztZQTFRRixlQUFnRDtZQUFoRCxvRUFBZ0Q7WUFFMUMsZUFBeUM7WUFBekMsNEZBQXlDO1lBRTVDLGVBQTJDO1lBQTNDLHFJQUEyQztZQUs3QyxlQUFnQjtZQUFoQixxQ0FBZ0I7WUFNaEIsZUFBZTtZQUFmLG9DQUFlO1lBR2hCLGVBQXNCO1lBQXRCLG9DQUFzQix5REFBQSx3QkFBQSxtQkFBQTtZQVNyQixlQUF3QjtZQUF4Qiw2Q0FBd0I7WUFtQjFCLGVBSzRDO1lBTDVDLDBMQUs0QztZQWlONUMsZUFBYTtZQUFiLGtDQUFhOzs7QUR2TmQ7SUFEQyxlQUFlLEVBQUU7OEJBQ1gsVUFBVTt3REFBaUI7dUZBakJ2Qix5QkFBeUI7Y0FOckMsU0FBUzsyQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07Z0JBR3hCLElBQUk7a0JBQTFCLFNBQVM7bUJBQUMsTUFBTTtZQU9qQixPQUFPO2tCQUROLEtBQUs7WUFJTixTQUFTO2tCQURSLEtBQUs7WUFJTixJQUFJO2tCQURILEtBQUs7WUFJTixLQUFLLE1BR0wsSUFBSTtrQkFESCxLQUFLO1lBSU4sTUFBTTtrQkFETCxLQUFLO1lBSU4saUJBQWlCO2tCQURoQixLQUFLO1lBSU4sV0FBVztrQkFEVixLQUFLO1lBSU4sT0FBTztrQkFETixLQUFLO1lBSU4sVUFBVTtrQkFEVCxNQUFNO1lBSVAsTUFBTTtrQkFETCxNQUFNO1lBSVAsTUFBTTtrQkFETCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGlmZmVyZW5jZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBwbHVyYWwgfSBmcm9tICdwbHVyYWxpemUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFVzYWdlQ29udGV4dCB9IGZyb20gJy4uLy4uL2Jhc2UtbGlzdCc7XG5pbXBvcnQge1xuICBDb25maWd1cmFibGVGaWVsZCxcbiAgRGF0YUl0ZW0sXG4gIERhdGFJdGVtQmFzZSxcbiAgRGF0YVR5cGUsXG4gIERpc3BsYXlNb2RlLFxufSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1yZXNvdXJjZS1kYXRhLWdyaWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFJlc291cmNlRGF0YUdyaWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKCdncmlkJykgc2V0IGdyaWQoZ3JpZDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICBpZiAoZ3JpZCkge1xuICAgICAgdGhpcy5pbml0U2Nyb2xsKGdyaWQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgY29udGV4dDogVXNhZ2VDb250ZXh0ID0gJ3BhZ2UnO1xuXG4gIEBJbnB1dCgpXG4gIHBvcHVwTGl0ZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGRhdGE6IERhdGFJdGVtQmFzZVtdID0gW107XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPERhdGFJdGVtQmFzZVtdPjtcblxuICBASW5wdXQoKVxuICB0eXBlOiBEYXRhVHlwZSA9ICduYW1lc3BhY2UnO1xuXG4gIEBJbnB1dCgpXG4gIGZpZWxkczogQ29uZmlndXJhYmxlRmllbGRbXSA9IFtDb25maWd1cmFibGVGaWVsZC5UaW1lXTtcblxuICBASW5wdXQoKVxuICBhY3Rpb25UZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKVxuICBzZWxlY3RlZFVpZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGxvYWRpbmcgPSB0cnVlO1xuXG4gIEBPdXRwdXQoKVxuICBzZWxlY3RJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRhSXRlbUJhc2U+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICByZWxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAga2V5d29yZCA9ICcnO1xuXG4gIGZpZWxkc0RlZiA9IENvbmZpZ3VyYWJsZUZpZWxkO1xuXG4gIGRpc3BsYXlNb2RlOiBEaXNwbGF5TW9kZSA9ICdyb3cnO1xuXG4gIGZpbHRlciQgPSBuZXcgUmVwbGF5U3ViamVjdDxzdHJpbmc+KDEpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGlzcGxheU1vZGVLZXkgPSAnYWNsX2Rpc3BsYXlfbW9kZSc7XG5cbiAgZGlzcGxheURhdGEkOiBPYnNlcnZhYmxlPERhdGFJdGVtQmFzZVtdPjtcblxuICBwcml2YXRlIHNjcm9sbEluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgc3RhdHVzSWNvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBub3JtYWw6ICdjaGVja19jaXJjbGVfcycsXG4gICAgYWJub3JtYWw6ICdleGNsYW1hdGlvbl90cmlhbmdsZV9zJyxcbiAgICBlbmFibGVkOiAnY2hlY2tfY2lyY2xlX3MnLFxuICAgIGRpc2FibGVkOiAnbWludXNfY2lyY2xlX3MnLFxuICB9O1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGRpc3BsYXlNb2RlID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuZGlzcGxheU1vZGVLZXkpO1xuICAgIHRoaXMuZGlzcGxheU1vZGUgPVxuICAgICAgdGhpcy5jb250ZXh0ID09PSAncG9wdXAnXG4gICAgICAgID8gdGhpcy5wb3B1cExpdGVcbiAgICAgICAgICA/ICdyb3ctbGl0ZSdcbiAgICAgICAgICA6ICdyb3cnXG4gICAgICAgIDogWydyb3cnLCAnY2FyZCddLmluY2x1ZGVzKGRpc3BsYXlNb2RlKVxuICAgICAgICA/IChkaXNwbGF5TW9kZSBhcyBEaXNwbGF5TW9kZSlcbiAgICAgICAgOiAncm93JztcbiAgICB0aGlzLmRpc3BsYXlEYXRhJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5kYXRhJCxcbiAgICAgIHRoaXMuZmlsdGVyJC5waXBlKHN0YXJ0V2l0aCgnJykpLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtkYXRhLCBrZXl3b3JkXSkgPT5cbiAgICAgICAgZGF0YS5maWx0ZXIoaXRlbSA9PlxuICAgICAgICAgIGl0ZW0ubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGtleXdvcmQudG9Mb3dlckNhc2UoKSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluaXRTY3JvbGwoc2Nyb2xsRWw6IEhUTUxFbGVtZW50KSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5jb250ZXh0ID09PSAncGFnZScgfHxcbiAgICAgIHRoaXMuc2Nyb2xsSW5pdGlhbGl6ZWQgfHxcbiAgICAgICF0aGlzLmRhdGE/Lmxlbmd0aFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0aGlzLmRhdGEuZmluZEluZGV4KFxuICAgICAgaXRlbSA9PiBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZCA9PT0gdGhpcy5zZWxlY3RlZFVpZCxcbiAgICApO1xuICAgIGNvbnN0IHJvd0hlaWdodCA9IHNjcm9sbEVsLnNjcm9sbEhlaWdodCAvIHRoaXMuZGF0YS5sZW5ndGg7XG4gICAgaWYgKFxuICAgICAgY3VycmVudEluZGV4ID4gLTEgJiZcbiAgICAgIHJvd0hlaWdodCAqIChjdXJyZW50SW5kZXggKyAxKSA+IHNjcm9sbEVsLm9mZnNldEhlaWdodFxuICAgICkge1xuICAgICAgc2Nyb2xsRWwuc2Nyb2xsVG8oe1xuICAgICAgICB0b3A6IHJvd0hlaWdodCAqIGN1cnJlbnRJbmRleCxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnNjcm9sbEluaXRpYWxpemVkID0gdHJ1ZTtcbiAgfVxuXG4gIGdldEhpZ2hsaWdodGVkTmFtZVN0cnMgPSAoaXRlbTogRGF0YUl0ZW1CYXNlKSA9PiB7XG4gICAgaWYgKCF0aGlzLmtleXdvcmQpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiBpdGVtLm5hbWUsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgIH1cbiAgICBjb25zdCBvcmlnaW5hbCA9IGl0ZW0ubmFtZTtcbiAgICBjb25zdCBzdHJzID0gaXRlbS5uYW1lLnRvTG93ZXJDYXNlKCkuc3BsaXQodGhpcy5rZXl3b3JkLnRvTG93ZXJDYXNlKCkpO1xuICAgIGNvbnN0IHJldDogQXJyYXk8e1xuICAgICAgdGV4dDogc3RyaW5nO1xuICAgICAgaXNIaWdobGlnaHRlZD86IGJvb2xlYW47XG4gICAgfT4gPSBbXTtcbiAgICBsZXQgcG9zID0gMDtcbiAgICBmb3IgKGNvbnN0IFtpLCBzdHJdIG9mIHN0cnMuZW50cmllcygpKSB7XG4gICAgICBjb25zdCBlbmQgPSBwb3MgKyBzdHIubGVuZ3RoO1xuICAgICAgcmV0LnB1c2goe1xuICAgICAgICB0ZXh0OiBvcmlnaW5hbC5zbGljZShwb3MsIGVuZCksXG4gICAgICB9KTtcbiAgICAgIGlmIChpICE9PSBzdHJzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgcmV0LnB1c2goe1xuICAgICAgICAgIHRleHQ6IG9yaWdpbmFsLnNsaWNlKGVuZCwgZW5kICsgdGhpcy5rZXl3b3JkLmxlbmd0aCksXG4gICAgICAgICAgaXNIaWdobGlnaHRlZDogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBwb3MgPSBlbmQgKyB0aGlzLmtleXdvcmQubGVuZ3RoO1xuICAgIH1cbiAgICByZXR1cm4gcmV0O1xuICB9O1xuXG4gIG9uU2VsZWN0KGl0ZW06IERhdGFJdGVtQmFzZSkge1xuICAgIGlmIChcbiAgICAgIGl0ZW0uc3RhdGU/LmRpc2FibGVkIHx8XG4gICAgICB0aGlzLnNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkVWlkID0gaXRlbS5uYW1lO1xuICAgIHRoaXMuc2VsZWN0SXRlbS5lbWl0KGl0ZW0pO1xuICB9XG5cbiAgc2V0RGlzcGxheU1vZGUobW9kZTogRGlzcGxheU1vZGUpIHtcbiAgICB0aGlzLmRpc3BsYXlNb2RlID0gbW9kZTtcbiAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5kaXNwbGF5TW9kZUtleSwgbW9kZSk7XG4gIH1cblxuICBrZXl3b3JkQ2hhbmdlKGtleXdvcmQ6IHN0cmluZykge1xuICAgIHRoaXMua2V5d29yZCA9IGtleXdvcmQ7XG4gICAgdGhpcy5maWx0ZXIkLm5leHQoa2V5d29yZCk7XG4gIH1cblxuICBmaWx0ZXJEaXNhYmxlZERhdGEoZGF0YTogRGF0YUl0ZW1CYXNlW10sIGNvbnRleHQ6IFVzYWdlQ29udGV4dCkge1xuICAgIC8vIHdvcmthcm91bmQgZm9yIHR5cGluZ3MgaW4gdGVtcGxhdGVcbiAgICByZXR1cm4gKFxuICAgICAgY29udGV4dCA9PT0gJ3BhZ2UnID8gZGF0YSA6IGRhdGEuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0uc3RhdGU/LmRpc2FibGVkKVxuICAgICkgYXMgRGF0YUl0ZW1bXTtcbiAgfVxuXG4gIHNvcnRXaXRob3V0SXN0aW8gPSAoZGF0YTogRGF0YUl0ZW1CYXNlW10pID0+IHtcbiAgICBjb25zdCB3aXRob3V0SXN0aW8gPSBkYXRhLmZpbHRlcihpdGVtID0+ICFpdGVtPy5zZXJ2aWNlTWVzaElzdGlvVmVyc2lvbik7XG4gICAgcmV0dXJuIFsuLi5kaWZmZXJlbmNlKGRhdGEsIHdpdGhvdXRJc3RpbyksIC4uLndpdGhvdXRJc3Rpb107XG4gIH07XG5cbiAgcGx1cmFsRm9ybSh0eXBlOiBEYXRhVHlwZSkge1xuICAgIHJldHVybiBwbHVyYWwodHlwZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgPHNwYW5cbiAgICBjbGFzcz1cImhlYWRlcl9fdGl0bGVcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ2hlYWRlcl9fdGl0bGUtLWxpdGUnOiBwb3B1cExpdGUgfVwiXG4gID5cbiAgICA8c3Bhbj57eyB0eXBlIHwgcHVyZTogcGx1cmFsRm9ybSB8IHRyYW5zbGF0ZSB9fTwvc3BhblxuICAgID48c3BhbiBjbGFzcz1cImhlYWRlcl9fZGVzY1wiXG4gICAgICA+77yIe3sgKGRpc3BsYXlEYXRhJCB8IGFzeW5jKT8ubGVuZ3RoIHx8IDAgfX3vvIk8L3NwYW5cbiAgICA+XG4gIDwvc3Bhbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiaGVhZGVyX19jdXN0b21cIlxuICAgICpuZ0lmPVwiIXBvcHVwTGl0ZVwiXG4gID5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYWNsUmVzb3VyY2VHcmlkSGVhZGVyXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInR3LWZsZXgtMVwiXG4gICAgKm5nSWY9XCJwb3B1cExpdGVcIlxuICA+PC9kaXY+XG4gIDxhdWktc2VhcmNoXG4gICAgW3NlYXJjaEJ1dHRvbl09XCJmYWxzZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cIidmaWx0ZXJfYnlfbmFtZScgfCB0cmFuc2xhdGVcIlxuICAgIFtrZXl3b3JkXT1cImtleXdvcmRcIlxuICAgIChrZXl3b3JkQ2hhbmdlKT1cImtleXdvcmRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICBzaXplPVwic21hbGxcIlxuICA+PC9hdWktc2VhcmNoPlxuICA8c3BhblxuICAgIGNsYXNzPVwiaGVhZGVyX19kaXNwbGF5LW1vZGVcIlxuICAgICpuZ0lmPVwiY29udGV4dCA9PT0gJ3BhZ2UnXCJcbiAgPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cInN3aXRjaC1idG5cIlxuICAgICAgW25nQ2xhc3NdPVwieyAnc3dpdGNoLWJ0bi0tc2VsZWN0ZWQnOiBkaXNwbGF5TW9kZSAhPT0gJ2NhcmQnIH1cIlxuICAgICAgKGNsaWNrKT1cInNldERpc3BsYXlNb2RlKCdyb3cnKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJsaXN0XCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwic3dpdGNoLWJ0blwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdzd2l0Y2gtYnRuLS1zZWxlY3RlZCc6IGRpc3BsYXlNb2RlID09PSAnY2FyZCcgfVwiXG4gICAgICAoY2xpY2spPVwic2V0RGlzcGxheU1vZGUoJ2NhcmQnKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJncmlkXCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gIDwvc3Bhbj5cbjwvZGl2PlxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIlxuICAgICFsb2FkaW5nICYmXG4gICAgKGRpc3BsYXlEYXRhJFxuICAgICAgfCBhc3luY1xuICAgICAgfCBwdXJlOiBzb3J0V2l0aG91dElzdGlvXG4gICAgICB8IHB1cmU6IGZpbHRlckRpc2FibGVkRGF0YTpjb250ZXh0KSBhcyBkaXNwbGF5RGF0YVxuICBcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJncmlkXCJcbiAgICAqbmdJZj1cImRpc3BsYXlEYXRhLmxlbmd0aFwiXG4gICAgI2dyaWRcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnZ3JpZC0tY2FyZCc6IGRpc3BsYXlNb2RlID09PSAnY2FyZCcgJiYgY29udGV4dCAhPT0gJ3BvcHVwJyxcbiAgICAgICdncmlkLS1wb3B1cCc6IGNvbnRleHQgPT09ICdwb3B1cCcsXG4gICAgICAnZ3JpZC0tcG9wdXAtLWxpdGUnOiBjb250ZXh0ID09PSAncG9wdXAnICYmIHBvcHVwTGl0ZVxuICAgIH1cIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJncmlkX19pdGVtXCJcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRpc3BsYXlEYXRhXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2dyaWRfX2l0ZW0tLXNlbGVjdGVkJzpcbiAgICAgICAgICBjb250ZXh0ID09PSAncG9wdXAnICYmIHNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZCxcbiAgICAgICAgJ2dyaWRfX2l0ZW0tLWRpc2FibGVkJzogaXRlbS5zdGF0ZT8uZGlzYWJsZWRcbiAgICAgIH1cIlxuICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KGl0ZW0pXCJcbiAgICAgIFthdHRyLmRhdGEtdGVzdF09XCJpdGVtLm5hbWUgKyAnLycgKyBpdGVtLmNsdXN0ZXJcIlxuICAgICAgW2F1aVRvb2x0aXBdPVwiaXRlbS5zdGF0ZT8udG9vbHRpcFwiXG4gICAgICBbYXVpVG9vbHRpcERpc2FibGVkXT1cIiFpdGVtLnN0YXRlPy5kaXNhYmxlZCB8fCAhaXRlbS5zdGF0ZT8udG9vbHRpcFwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwic2VsZWN0ZWRVaWQgPT09IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkXCJcbiAgICAgICAgY2xhc3M9XCJjaGVjay10cmlhbmdsZS1iYWRnZVwiXG4gICAgICAgIGljb249XCJjaGVja1wiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDwhLS0gaWNvbiAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1pY29uXCI+XG4gICAgICAgIDxhY2wtcmVzb3VyY2UtaWNvblxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgIFtjb2xvcl09XCJcbiAgICAgICAgICAgIGNvbnRleHQgPT09ICdwb3B1cCcgJiZcbiAgICAgICAgICAgICFwb3B1cExpdGUgJiZcbiAgICAgICAgICAgIHNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZFxuICAgICAgICAgICAgICA/ICd3aGl0ZSdcbiAgICAgICAgICAgICAgOiAnYmx1ZSdcbiAgICAgICAgICBcIlxuICAgICAgICAgIFtkaXNwbGF5TW9kZV09XCJkaXNwbGF5TW9kZVwiXG4gICAgICAgID48L2FjbC1yZXNvdXJjZS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG5hbWUgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtbmFtZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN0ciBvZiBnZXRIaWdobGlnaHRlZE5hbWVTdHJzKGl0ZW0pXCI+XG4gICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7IGhpZ2hsaWdodGVkOiBzdHIuaXNIaWdobGlnaHRlZCB9XCI+e3tcbiAgICAgICAgICAgICAgc3RyLnRleHRcbiAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZGVzXCJcbiAgICAgICAgICAqbmdJZj1cIiFwb3B1cExpdGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZGlzcGxheU5hbWVcIj57e1xuICAgICAgICAgICAgaXRlbS5kaXNwbGF5TmFtZVxuICAgICAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG5zOiBjbHVzdGVyIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGZsZXggZ3JpZF9fZmllbGQtY2x1c3RlclwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5DbHVzdGVyKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJiZWxvbmdlZC1jbHVzdGVyXCJcbiAgICAgICAgICBhdWlUb29sdGlwPVwie3tcbiAgICAgICAgICAgICgnYmVsb25nZWRfY2x1c3RlcicgfCB0cmFuc2xhdGUpICsgJzogJyArIGl0ZW0uY2x1c3RlclxuICAgICAgICAgIH19XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdiZWxvbmdlZF9jbHVzdGVyJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgPnt7IGl0ZW0uY2x1c3RlclxuICAgICAgICAgICAgfX08bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5jbHVzdGVyRGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICA+KHt7IGl0ZW0uY2x1c3RlckRpc3BsYXlOYW1lIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxhdWktdGFnXG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgICAqbmdJZj1cIml0ZW0uY2x1c3RlckFyY2hcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGl0ZW0uY2x1c3RlckFyY2ggfX1cbiAgICAgICAgICA8L2F1aS10YWc+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBwcm9qZWN0OiBzdGF0dXMgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc3RhdHVzIHt7XG4gICAgICAgICAgJ2dyaWRfX2ZpZWxkLXN0YXR1cy0tJyArIGl0ZW0uc3RhdHVzXG4gICAgICAgIH19XCJcbiAgICAgICAgKm5nSWY9XCJmaWVsZHMuaW5jbHVkZXMoZmllbGRzRGVmLlN0YXR1cylcIlxuICAgICAgPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICAqbmdJZj1cInBvcHVwTGl0ZVwiXG4gICAgICAgICAgY2xhc3M9XCJ0dy10ZXh0LWhlbHAtdGV4dCB0dy1tci04XCJcbiAgICAgICAgICA+e3sgJ3N0YXR1cycgfCB0cmFuc2xhdGUgfX06PC9sYWJlbFxuICAgICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdzdGF0dXMnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICBbaWNvbl09XCJzdGF0dXNJY29uW2l0ZW0uc3RhdHVzXVwiXG4gICAgICAgICAgW2JhY2tncm91bmRdPVwiXG4gICAgICAgICAgICBzdGF0dXNJY29uW2l0ZW0uc3RhdHVzXS5lbmRzV2l0aCgnX3RyaWFuZ2xlX3MnKVxuICAgICAgICAgICAgICA/ICd0cmlhbmdsZSdcbiAgICAgICAgICAgICAgOiAnY2lyY2xlJ1xuICAgICAgICAgIFwiXG4gICAgICAgICAgY2xhc3M9XCJ7eyAnaWNvbi0nICsgaXRlbS5zdGF0dXMgfX1cIlxuICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAge3sgaXRlbS5zdGF0dXMgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBhc206IHNlcnZpY2UgbWVzaCAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1zZXJ2aWNlbWVzaFwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5TZXJ2aWNlTWVzaClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnYmVsb25nZWRfc2VydmljZW1lc2gnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj4ge3sgaXRlbS5zZXJ2aWNlTWVzaE5hbWUgfX0gPC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uc2VydmljZU1lc2hJc3Rpb1ZlcnNpb25cIlxuICAgICAgICAgICAgPihJc3RpbyB7eyBpdGVtLnNlcnZpY2VNZXNoSXN0aW9WZXJzaW9uIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc2VydmljZW1lc2hcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuU2VydmljZU1lc2gpXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+e3sgJ2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgID57eyBpdGVtLmNsdXN0ZXJcbiAgICAgICAgICB9fTxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmNsdXN0ZXJEaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICA+KHt7IGl0ZW0uY2x1c3RlckRpc3BsYXlOYW1lIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxhdWktdGFnXG4gICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxuICAgICAgICAgIHNpemU9XCJtaW5pXCJcbiAgICAgICAgICAqbmdJZj1cIml0ZW0uY2x1c3RlckFyY2hcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgaXRlbS5jbHVzdGVyQXJjaCB9fVxuICAgICAgICA8L2F1aS10YWc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBtZXNoIGdyb3VwIC0tPlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc2VydmljZW1lc2hcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuU2VydmljZU1lc2hHcm91cClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnY2x1c3RlcicgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7IGl0ZW0uY2x1c3RlciB9fSA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gYXNtOiBpc3RpbyAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1zZXJ2aWNlbWVzaFwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5TZXJ2aWNlTWVzaEdyb3VwKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdJc3RpbycgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgPnt7IGl0ZW0uc2VydmljZU1lc2hJc3Rpb1ZlcnNpb24gfHwgKCdub3RfZGVwbG95ZWQnIHwgdHJhbnNsYXRlKSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSB0aW1lIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLXRpbWVcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuVGltZSkgJiYgIXBvcHVwTGl0ZVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdjcmVhdGVkX2F0JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e3sgaXRlbS50aW1lc3RhbXAgfCBhY2xSZWxhdGl2ZVRpbWUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gYWN0aW9uIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLWFjdGlvblwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuQWN0aW9uKSAmJlxuICAgICAgICAgIGFjdGlvblRlbXBsYXRlUmVmICYmXG4gICAgICAgICAgY29udGV4dCAhPT0gJ3BvcHVwJ1xuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWN0aW9uVGVtcGxhdGVSZWZcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0uX19vcmlnaW5cbiAgICAgICAgICB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YWNsLXJlc291cmNlLW5vLWRhdGFcbiAgICAqbmdJZj1cIiFwb3B1cExpdGUgJiYgIShkaXNwbGF5RGF0YSQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgW2lzRmlsdGVyZWRdPVwiISFrZXl3b3JkXCJcbiAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAocmVmcmVzaCk9XCJyZWxvYWQuZW1pdCgpXCJcbiAgICAoY2xlYXIpPVwia2V5d29yZENoYW5nZSgnJylcIlxuICA+PC9hY2wtcmVzb3VyY2Utbm8tZGF0YT5cbiAgPGFjbC16ZXJvLXN0YXRlXG4gICAgKm5nSWY9XCJwb3B1cExpdGUgJiYgIShkaXNwbGF5RGF0YSQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgY29udGV4dD1cInRhYmxlXCJcbiAgPjwvYWNsLXplcm8tc3RhdGU+XG48L25nLWNvbnRhaW5lcj5cbjxkaXZcbiAgY2xhc3M9XCJsb2FkaW5nXCJcbiAgKm5nSWY9XCJsb2FkaW5nXCJcbj5cbiAgPGFjbC1sb2FkaW5nLW1hc2tcbiAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICB0eXBlPVwiY29udGVudFwiXG4gID48L2FjbC1sb2FkaW5nLW1hc2s+XG48L2Rpdj5cbiJdfQ==
584
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9pbnRlcm5hbHMvZGF0YS1ncmlkL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9idXNpbmVzcy9yZXNvdXJjZS1zZWxlY3QvaW50ZXJuYWxzL2RhdGEtZ3JpZC90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTlELE9BQU8sRUFDTCxpQkFBaUIsR0FLbEIsTUFBTSxhQUFhLENBQUM7Ozs7SUNibkIsOEJBR0M7SUFDQyxrQkFBMEQ7SUFDNUQsaUJBQU07OztJQUNOLDBCQUdPOzs7OztJQVNQLGdDQUdDLGVBQUE7SUFJRyxzS0FBUyxlQUFBLHNCQUFlLEtBQUssQ0FBQyxDQUFBLElBQUM7SUFFL0IsK0JBQWlDO0lBQ25DLGlCQUFPO0lBQ1AsZ0NBSUM7SUFEQyxzS0FBUyxlQUFBLHNCQUFlLE1BQU0sQ0FBQyxDQUFBLElBQUM7SUFFaEMsK0JBQWlDO0lBQ25DLGlCQUFPLEVBQUE7OztJQVhMLGVBQThEO0lBQTlELG1GQUE4RDtJ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LGVBQTJDO1lBQTNDLHFJQUEyQztZQUs3QyxlQUFnQjtZQUFoQixxQ0FBZ0I7WUFNaEIsZUFBZTtZQUFmLG9DQUFlO1lBR2hCLGVBQXNCO1lBQXRCLG9DQUFzQix5REFBQSx3QkFBQSxtQkFBQTtZQVNyQixlQUF3QjtZQUF4Qiw2Q0FBd0I7WUFtQjFCLGVBSzRDO1lBTDVDLDBMQUs0QztZQWlONUMsZUFBYTtZQUFiLGtDQUFhOzs7QUR2TmQ7SUFEQyxlQUFlLEVBQUU7OEJBQ1gsVUFBVTt3REFBaUI7dUZBakJ2Qix5QkFBeUI7Y0FOckMsU0FBUzsyQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07Z0JBR3hCLElBQUk7a0JBQTFCLFNBQVM7bUJBQUMsTUFBTTtZQU9qQixPQUFPO2tCQUROLEtBQUs7WUFJTixTQUFTO2tCQURSLEtBQUs7WUFJTixJQUFJO2tCQURILEtBQUs7WUFJTixLQUFLLE1BR0wsSUFBSTtrQkFESCxLQUFLO1lBSU4sTUFBTTtrQkFETCxLQUFLO1lBSU4saUJBQWlCO2tCQURoQixLQUFLO1lBSU4sV0FBVztrQkFEVixLQUFLO1lBSU4sT0FBTztrQkFETixLQUFLO1lBSU4sVUFBVTtrQkFEVCxNQUFNO1lBSVAsTUFBTTtrQkFETCxNQUFNO1lBSVAsTUFBTTtrQkFETCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGlmZmVyZW5jZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBwbHVyYWwgfSBmcm9tICdwbHVyYWxpemUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFVzYWdlQ29udGV4dCB9IGZyb20gJy4uLy4uL2Jhc2UtbGlzdCc7XG5pbXBvcnQge1xuICBDb25maWd1cmFibGVGaWVsZCxcbiAgRGF0YUl0ZW0sXG4gIERhdGFJdGVtQmFzZSxcbiAgRGF0YVR5cGUsXG4gIERpc3BsYXlNb2RlLFxufSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1yZXNvdXJjZS1kYXRhLWdyaWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFJlc291cmNlRGF0YUdyaWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKCdncmlkJykgc2V0IGdyaWQoZ3JpZDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICBpZiAoZ3JpZCkge1xuICAgICAgdGhpcy5pbml0U2Nyb2xsKGdyaWQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgY29udGV4dDogVXNhZ2VDb250ZXh0ID0gJ3BhZ2UnO1xuXG4gIEBJbnB1dCgpXG4gIHBvcHVwTGl0ZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGRhdGE6IERhdGFJdGVtQmFzZVtdID0gW107XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPERhdGFJdGVtQmFzZVtdPjtcblxuICBASW5wdXQoKVxuICB0eXBlOiBEYXRhVHlwZSA9ICduYW1lc3BhY2UnO1xuXG4gIEBJbnB1dCgpXG4gIGZpZWxkczogQ29uZmlndXJhYmxlRmllbGRbXSA9IFtDb25maWd1cmFibGVGaWVsZC5UaW1lXTtcblxuICBASW5wdXQoKVxuICBhY3Rpb25UZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKVxuICBzZWxlY3RlZFVpZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGxvYWRpbmcgPSB0cnVlO1xuXG4gIEBPdXRwdXQoKVxuICBzZWxlY3RJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRhSXRlbUJhc2U+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICByZWxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAga2V5d29yZCA9ICcnO1xuXG4gIGZpZWxkc0RlZiA9IENvbmZpZ3VyYWJsZUZpZWxkO1xuXG4gIGRpc3BsYXlNb2RlOiBEaXNwbGF5TW9kZSA9ICdyb3cnO1xuXG4gIGZpbHRlciQgPSBuZXcgUmVwbGF5U3ViamVjdDxzdHJpbmc+KDEpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGlzcGxheU1vZGVLZXkgPSAnYWNsX2Rpc3BsYXlfbW9kZSc7XG5cbiAgZGlzcGxheURhdGEkOiBPYnNlcnZhYmxlPERhdGFJdGVtQmFzZVtdPjtcblxuICBwcml2YXRlIHNjcm9sbEluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgc3RhdHVzSWNvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBub3JtYWw6ICdjaGVja19jaXJjbGVfcycsXG4gICAgYWJub3JtYWw6ICdleGNsYW1hdGlvbl90cmlhbmdsZV9zJyxcbiAgICBlbmFibGVkOiAnY2hlY2tfY2lyY2xlX3MnLFxuICAgIGRpc2FibGVkOiAnbWludXNfY2lyY2xlX3MnLFxuICB9O1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGRpc3BsYXlNb2RlID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuZGlzcGxheU1vZGVLZXkpO1xuICAgIHRoaXMuZGlzcGxheU1vZGUgPVxuICAgICAgdGhpcy5jb250ZXh0ID09PSAncG9wdXAnXG4gICAgICAgID8gdGhpcy5wb3B1cExpdGVcbiAgICAgICAgICA/ICdyb3ctbGl0ZSdcbiAgICAgICAgICA6ICdyb3cnXG4gICAgICAgIDogWydyb3cnLCAnY2FyZCddLmluY2x1ZGVzKGRpc3BsYXlNb2RlKVxuICAgICAgICA/IChkaXNwbGF5TW9kZSBhcyBEaXNwbGF5TW9kZSlcbiAgICAgICAgOiAncm93JztcbiAgICB0aGlzLmRpc3BsYXlEYXRhJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5kYXRhJCxcbiAgICAgIHRoaXMuZmlsdGVyJC5waXBlKHN0YXJ0V2l0aCgnJykpLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtkYXRhLCBrZXl3b3JkXSkgPT5cbiAgICAgICAgZGF0YS5maWx0ZXIoaXRlbSA9PlxuICAgICAgICAgIGl0ZW0ubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGtleXdvcmQudG9Mb3dlckNhc2UoKSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluaXRTY3JvbGwoc2Nyb2xsRWw6IEhUTUxFbGVtZW50KSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5jb250ZXh0ID09PSAncGFnZScgfHxcbiAgICAgIHRoaXMuc2Nyb2xsSW5pdGlhbGl6ZWQgfHxcbiAgICAgICF0aGlzLmRhdGE/Lmxlbmd0aFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0aGlzLmRhdGEuZmluZEluZGV4KFxuICAgICAgaXRlbSA9PiBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZCA9PT0gdGhpcy5zZWxlY3RlZFVpZCxcbiAgICApO1xuICAgIGNvbnN0IHJvd0hlaWdodCA9IHNjcm9sbEVsLnNjcm9sbEhlaWdodCAvIHRoaXMuZGF0YS5sZW5ndGg7XG4gICAgaWYgKFxuICAgICAgY3VycmVudEluZGV4ID4gLTEgJiZcbiAgICAgIHJvd0hlaWdodCAqIChjdXJyZW50SW5kZXggKyAxKSA+IHNjcm9sbEVsLm9mZnNldEhlaWdodFxuICAgICkge1xuICAgICAgc2Nyb2xsRWwuc2Nyb2xsVG8oe1xuICAgICAgICB0b3A6IHJvd0hlaWdodCAqIGN1cnJlbnRJbmRleCxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnNjcm9sbEluaXRpYWxpemVkID0gdHJ1ZTtcbiAgfVxuXG4gIGdldEhpZ2hsaWdodGVkTmFtZVN0cnMgPSAoaXRlbTogRGF0YUl0ZW1CYXNlKSA9PiB7XG4gICAgaWYgKCF0aGlzLmtleXdvcmQpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiBpdGVtLm5hbWUsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgIH1cbiAgICBjb25zdCBvcmlnaW5hbCA9IGl0ZW0ubmFtZTtcbiAgICBjb25zdCBzdHJzID0gaXRlbS5uYW1lLnRvTG93ZXJDYXNlKCkuc3BsaXQodGhpcy5rZXl3b3JkLnRvTG93ZXJDYXNlKCkpO1xuICAgIGNvbnN0IHJldDogQXJyYXk8e1xuICAgICAgdGV4dDogc3RyaW5nO1xuICAgICAgaXNIaWdobGlnaHRlZD86IGJvb2xlYW47XG4gICAgfT4gPSBbXTtcbiAgICBsZXQgcG9zID0gMDtcbiAgICBmb3IgKGNvbnN0IFtpLCBzdHJdIG9mIHN0cnMuZW50cmllcygpKSB7XG4gICAgICBjb25zdCBlbmQgPSBwb3MgKyBzdHIubGVuZ3RoO1xuICAgICAgcmV0LnB1c2goe1xuICAgICAgICB0ZXh0OiBvcmlnaW5hbC5zbGljZShwb3MsIGVuZCksXG4gICAgICB9KTtcbiAgICAgIGlmIChpICE9PSBzdHJzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgcmV0LnB1c2goe1xuICAgICAgICAgIHRleHQ6IG9yaWdpbmFsLnNsaWNlKGVuZCwgZW5kICsgdGhpcy5rZXl3b3JkLmxlbmd0aCksXG4gICAgICAgICAgaXNIaWdobGlnaHRlZDogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBwb3MgPSBlbmQgKyB0aGlzLmtleXdvcmQubGVuZ3RoO1xuICAgIH1cbiAgICByZXR1cm4gcmV0O1xuICB9O1xuXG4gIG9uU2VsZWN0KGl0ZW06IERhdGFJdGVtQmFzZSkge1xuICAgIGlmIChcbiAgICAgIGl0ZW0uc3RhdGU/LmRpc2FibGVkIHx8XG4gICAgICB0aGlzLnNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkVWlkID0gaXRlbS5uYW1lO1xuICAgIHRoaXMuc2VsZWN0SXRlbS5lbWl0KGl0ZW0pO1xuICB9XG5cbiAgc2V0RGlzcGxheU1vZGUobW9kZTogRGlzcGxheU1vZGUpIHtcbiAgICB0aGlzLmRpc3BsYXlNb2RlID0gbW9kZTtcbiAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5kaXNwbGF5TW9kZUtleSwgbW9kZSk7XG4gIH1cblxuICBrZXl3b3JkQ2hhbmdlKGtleXdvcmQ6IHN0cmluZykge1xuICAgIHRoaXMua2V5d29yZCA9IGtleXdvcmQ7XG4gICAgdGhpcy5maWx0ZXIkLm5leHQoa2V5d29yZCk7XG4gIH1cblxuICBmaWx0ZXJEaXNhYmxlZERhdGEoZGF0YTogRGF0YUl0ZW1CYXNlW10sIGNvbnRleHQ6IFVzYWdlQ29udGV4dCkge1xuICAgIC8vIHdvcmthcm91bmQgZm9yIHR5cGluZ3MgaW4gdGVtcGxhdGVcbiAgICByZXR1cm4gKFxuICAgICAgY29udGV4dCA9PT0gJ3BhZ2UnID8gZGF0YSA6IGRhdGEuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0uc3RhdGU/LmRpc2FibGVkKVxuICAgICkgYXMgRGF0YUl0ZW1bXTtcbiAgfVxuXG4gIHNvcnRXaXRob3V0SXN0aW8gPSAoZGF0YTogRGF0YUl0ZW1CYXNlW10pID0+IHtcbiAgICBjb25zdCB3aXRob3V0SXN0aW8gPSBkYXRhLmZpbHRlcihpdGVtID0+ICFpdGVtPy5zZXJ2aWNlTWVzaElzdGlvVmVyc2lvbik7XG4gICAgcmV0dXJuIFsuLi5kaWZmZXJlbmNlKGRhdGEsIHdpdGhvdXRJc3RpbyksIC4uLndpdGhvdXRJc3Rpb107XG4gIH07XG5cbiAgcGx1cmFsRm9ybSh0eXBlOiBEYXRhVHlwZSkge1xuICAgIHJldHVybiBwbHVyYWwodHlwZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgPHNwYW5cbiAgICBjbGFzcz1cImhlYWRlcl9fdGl0bGVcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ2hlYWRlcl9fdGl0bGUtLWxpdGUnOiBwb3B1cExpdGUgfVwiXG4gID5cbiAgICA8c3Bhbj57eyB0eXBlIHwgcHVyZTogcGx1cmFsRm9ybSB8IHRyYW5zbGF0ZSB9fTwvc3BhblxuICAgID48c3BhbiBjbGFzcz1cImhlYWRlcl9fZGVzY1wiXG4gICAgICA+77yIe3sgKGRpc3BsYXlEYXRhJCB8IGFzeW5jKT8ubGVuZ3RoIHx8IDAgfX3vvIk8L3NwYW5cbiAgICA+XG4gIDwvc3Bhbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiaGVhZGVyX19jdXN0b21cIlxuICAgICpuZ0lmPVwiIXBvcHVwTGl0ZVwiXG4gID5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYWNsUmVzb3VyY2VHcmlkSGVhZGVyXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInR3LWZsZXgtMVwiXG4gICAgKm5nSWY9XCJwb3B1cExpdGVcIlxuICA+PC9kaXY+XG4gIDxhdWktc2VhcmNoXG4gICAgW3NlYXJjaEJ1dHRvbl09XCJmYWxzZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cIidmaWx0ZXJfYnlfbmFtZScgfCB0cmFuc2xhdGVcIlxuICAgIFtrZXl3b3JkXT1cImtleXdvcmRcIlxuICAgIChrZXl3b3JkQ2hhbmdlKT1cImtleXdvcmRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICBzaXplPVwic21hbGxcIlxuICA+PC9hdWktc2VhcmNoPlxuICA8c3BhblxuICAgIGNsYXNzPVwiaGVhZGVyX19kaXNwbGF5LW1vZGVcIlxuICAgICpuZ0lmPVwiY29udGV4dCA9PT0gJ3BhZ2UnXCJcbiAgPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cInN3aXRjaC1idG5cIlxuICAgICAgW25nQ2xhc3NdPVwieyAnc3dpdGNoLWJ0bi0tc2VsZWN0ZWQnOiBkaXNwbGF5TW9kZSAhPT0gJ2NhcmQnIH1cIlxuICAgICAgKGNsaWNrKT1cInNldERpc3BsYXlNb2RlKCdyb3cnKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJsaXN0XCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwic3dpdGNoLWJ0blwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdzd2l0Y2gtYnRuLS1zZWxlY3RlZCc6IGRpc3BsYXlNb2RlID09PSAnY2FyZCcgfVwiXG4gICAgICAoY2xpY2spPVwic2V0RGlzcGxheU1vZGUoJ2NhcmQnKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJncmlkXCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gIDwvc3Bhbj5cbjwvZGl2PlxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIlxuICAgICFsb2FkaW5nICYmXG4gICAgKGRpc3BsYXlEYXRhJFxuICAgICAgfCBhc3luY1xuICAgICAgfCBwdXJlOiBzb3J0V2l0aG91dElzdGlvXG4gICAgICB8IHB1cmU6IGZpbHRlckRpc2FibGVkRGF0YTpjb250ZXh0KSBhcyBkaXNwbGF5RGF0YVxuICBcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJncmlkXCJcbiAgICAqbmdJZj1cImRpc3BsYXlEYXRhLmxlbmd0aFwiXG4gICAgI2dyaWRcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnZ3JpZC0tY2FyZCc6IGRpc3BsYXlNb2RlID09PSAnY2FyZCcgJiYgY29udGV4dCAhPT0gJ3BvcHVwJyxcbiAgICAgICdncmlkLS1wb3B1cCc6IGNvbnRleHQgPT09ICdwb3B1cCcsXG4gICAgICAnZ3JpZC0tcG9wdXAtLWxpdGUnOiBjb250ZXh0ID09PSAncG9wdXAnICYmIHBvcHVwTGl0ZVxuICAgIH1cIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJncmlkX19pdGVtXCJcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRpc3BsYXlEYXRhXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2dyaWRfX2l0ZW0tLXNlbGVjdGVkJzpcbiAgICAgICAgICBjb250ZXh0ID09PSAncG9wdXAnICYmIHNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZCxcbiAgICAgICAgJ2dyaWRfX2l0ZW0tLWRpc2FibGVkJzogaXRlbS5zdGF0ZT8uZGlzYWJsZWRcbiAgICAgIH1cIlxuICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KGl0ZW0pXCJcbiAgICAgIFthdHRyLmRhdGEtdGVzdF09XCJpdGVtLm5hbWUgKyAnLycgKyBpdGVtLmNsdXN0ZXJcIlxuICAgICAgW2F1aVRvb2x0aXBdPVwiaXRlbS5zdGF0ZT8udG9vbHRpcFwiXG4gICAgICBbYXVpVG9vbHRpcERpc2FibGVkXT1cIiFpdGVtLnN0YXRlPy5kaXNhYmxlZCB8fCAhaXRlbS5zdGF0ZT8udG9vbHRpcFwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwic2VsZWN0ZWRVaWQgPT09IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkXCJcbiAgICAgICAgY2xhc3M9XCJjaGVjay10cmlhbmdsZS1iYWRnZVwiXG4gICAgICAgIGljb249XCJjaGVja1wiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDwhLS0gaWNvbiAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1pY29uXCI+XG4gICAgICAgIDxhY2wtcmVzb3VyY2UtaWNvblxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgIFtjb2xvcl09XCJcbiAgICAgICAgICAgIGNvbnRleHQgPT09ICdwb3B1cCcgJiZcbiAgICAgICAgICAgICFwb3B1cExpdGUgJiZcbiAgICAgICAgICAgIHNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZFxuICAgICAgICAgICAgICA/ICd3aGl0ZSdcbiAgICAgICAgICAgICAgOiAnYmx1ZSdcbiAgICAgICAgICBcIlxuICAgICAgICAgIFtkaXNwbGF5TW9kZV09XCJkaXNwbGF5TW9kZVwiXG4gICAgICAgID48L2FjbC1yZXNvdXJjZS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG5hbWUgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtbmFtZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN0ciBvZiBnZXRIaWdobGlnaHRlZE5hbWVTdHJzKGl0ZW0pXCI+XG4gICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7IGhpZ2hsaWdodGVkOiBzdHIuaXNIaWdobGlnaHRlZCB9XCI+e3tcbiAgICAgICAgICAgICAgc3RyLnRleHRcbiAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZGVzXCJcbiAgICAgICAgICAqbmdJZj1cIiFwb3B1cExpdGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZGlzcGxheU5hbWVcIj57e1xuICAgICAgICAgICAgaXRlbS5kaXNwbGF5TmFtZVxuICAgICAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG5zOiBjbHVzdGVyIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGZsZXggZ3JpZF9fZmllbGQtY2x1c3RlclwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5DbHVzdGVyKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJiZWxvbmdlZC1jbHVzdGVyIHR3LWZsZXhcIlxuICAgICAgICAgIGF1aVRvb2x0aXA9XCJ7e1xuICAgICAgICAgICAgKCdiZWxvbmdlZF9jbHVzdGVyJyB8IHRyYW5zbGF0ZSkgKyAnOiAnICsgaXRlbS5jbHVzdGVyXG4gICAgICAgICAgfX1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+e3sgJ2JlbG9uZ2VkX2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHctdGV4dC1lbGxpcHNpcyB0dy1vdmVyZmxvdy1oaWRkZW5cIlxuICAgICAgICAgICAgPnt7IGl0ZW0uY2x1c3RlclxuICAgICAgICAgICAgfX08bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5jbHVzdGVyRGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICA+KHt7IGl0ZW0uY2x1c3RlckRpc3BsYXlOYW1lIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxhdWktdGFnXG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgICAqbmdJZj1cIml0ZW0uY2x1c3RlckFyY2hcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGl0ZW0uY2x1c3RlckFyY2ggfX1cbiAgICAgICAgICA8L2F1aS10YWc+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBwcm9qZWN0OiBzdGF0dXMgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc3RhdHVzIHt7XG4gICAgICAgICAgJ2dyaWRfX2ZpZWxkLXN0YXR1cy0tJyArIGl0ZW0uc3RhdHVzXG4gICAgICAgIH19XCJcbiAgICAgICAgKm5nSWY9XCJmaWVsZHMuaW5jbHVkZXMoZmllbGRzRGVmLlN0YXR1cylcIlxuICAgICAgPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICAqbmdJZj1cInBvcHVwTGl0ZVwiXG4gICAgICAgICAgY2xhc3M9XCJ0dy10ZXh0LWhlbHAtdGV4dCB0dy1tci04XCJcbiAgICAgICAgICA+e3sgJ3N0YXR1cycgfCB0cmFuc2xhdGUgfX06PC9sYWJlbFxuICAgICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdzdGF0dXMnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICBbaWNvbl09XCJzdGF0dXNJY29uW2l0ZW0uc3RhdHVzXVwiXG4gICAgICAgICAgW2JhY2tncm91bmRdPVwiXG4gICAgICAgICAgICBzdGF0dXNJY29uW2l0ZW0uc3RhdHVzXS5lbmRzV2l0aCgnX3RyaWFuZ2xlX3MnKVxuICAgICAgICAgICAgICA/ICd0cmlhbmdsZSdcbiAgICAgICAgICAgICAgOiAnY2lyY2xlJ1xuICAgICAgICAgIFwiXG4gICAgICAgICAgY2xhc3M9XCJ7eyAnaWNvbi0nICsgaXRlbS5zdGF0dXMgfX1cIlxuICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAge3sgaXRlbS5zdGF0dXMgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBhc206IHNlcnZpY2UgbWVzaCAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1zZXJ2aWNlbWVzaFwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5TZXJ2aWNlTWVzaClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnYmVsb25nZWRfc2VydmljZW1lc2gnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj4ge3sgaXRlbS5zZXJ2aWNlTWVzaE5hbWUgfX0gPC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uc2VydmljZU1lc2hJc3Rpb1ZlcnNpb25cIlxuICAgICAgICAgICAgPihJc3RpbyB7eyBpdGVtLnNlcnZpY2VNZXNoSXN0aW9WZXJzaW9uIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc2VydmljZW1lc2hcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuU2VydmljZU1lc2gpXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+e3sgJ2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgID57eyBpdGVtLmNsdXN0ZXJcbiAgICAgICAgICB9fTxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmNsdXN0ZXJEaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICA+KHt7IGl0ZW0uY2x1c3RlckRpc3BsYXlOYW1lIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxhdWktdGFnXG4gICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxuICAgICAgICAgIHNpemU9XCJtaW5pXCJcbiAgICAgICAgICAqbmdJZj1cIml0ZW0uY2x1c3RlckFyY2hcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgaXRlbS5jbHVzdGVyQXJjaCB9fVxuICAgICAgICA8L2F1aS10YWc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBtZXNoIGdyb3VwIC0tPlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc2VydmljZW1lc2hcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuU2VydmljZU1lc2hHcm91cClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnY2x1c3RlcicgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7IGl0ZW0uY2x1c3RlciB9fSA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gYXNtOiBpc3RpbyAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1zZXJ2aWNlbWVzaFwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5TZXJ2aWNlTWVzaEdyb3VwKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdJc3RpbycgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgPnt7IGl0ZW0uc2VydmljZU1lc2hJc3Rpb1ZlcnNpb24gfHwgKCdub3RfZGVwbG95ZWQnIHwgdHJhbnNsYXRlKSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSB0aW1lIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLXRpbWVcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuVGltZSkgJiYgIXBvcHVwTGl0ZVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdjcmVhdGVkX2F0JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e3sgaXRlbS50aW1lc3RhbXAgfCBhY2xSZWxhdGl2ZVRpbWUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gYWN0aW9uIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLWFjdGlvblwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuQWN0aW9uKSAmJlxuICAgICAgICAgIGFjdGlvblRlbXBsYXRlUmVmICYmXG4gICAgICAgICAgY29udGV4dCAhPT0gJ3BvcHVwJ1xuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWN0aW9uVGVtcGxhdGVSZWZcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0uX19vcmlnaW5cbiAgICAgICAgICB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YWNsLXJlc291cmNlLW5vLWRhdGFcbiAgICAqbmdJZj1cIiFwb3B1cExpdGUgJiYgIShkaXNwbGF5RGF0YSQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgW2lzRmlsdGVyZWRdPVwiISFrZXl3b3JkXCJcbiAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAocmVmcmVzaCk9XCJyZWxvYWQuZW1pdCgpXCJcbiAgICAoY2xlYXIpPVwia2V5d29yZENoYW5nZSgnJylcIlxuICA+PC9hY2wtcmVzb3VyY2Utbm8tZGF0YT5cbiAgPGFjbC16ZXJvLXN0YXRlXG4gICAgKm5nSWY9XCJwb3B1cExpdGUgJiYgIShkaXNwbGF5RGF0YSQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgY29udGV4dD1cInRhYmxlXCJcbiAgPjwvYWNsLXplcm8tc3RhdGU+XG48L25nLWNvbnRhaW5lcj5cbjxkaXZcbiAgY2xhc3M9XCJsb2FkaW5nXCJcbiAgKm5nSWY9XCJsb2FkaW5nXCJcbj5cbiAgPGFjbC1sb2FkaW5nLW1hc2tcbiAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICB0eXBlPVwiY29udGVudFwiXG4gID48L2FjbC1sb2FkaW5nLW1hc2s+XG48L2Rpdj5cbiJdfQ==