@worktile/theia 2.4.1 → 2.4.2

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.
@@ -1,2 +1,2 @@
1
1
  import { AutoFormatRule } from '../interfaces/auto-format';
2
- export declare const autoFormatRules: AutoFormatRule[];
2
+ export declare const defaultAutoFormatRules: AutoFormatRule[];
@@ -6,7 +6,7 @@ import { TodoItemEditor } from '../plugins/todo-item/todo-item.editor';
6
6
  import { BlockquoteEditor } from '../plugins/blockquote/blockquote.editor';
7
7
  import { InlineCodeEditor } from '../plugins/inline-code/inline-code.editor';
8
8
  import { HeadingEditor } from '../plugins/heading/heading.editor';
9
- export const autoFormatRules = [
9
+ export const defaultAutoFormatRules = [
10
10
  {
11
11
  type: ElementKinds.heading_1,
12
12
  markup: '#',
@@ -112,6 +112,7 @@ export const autoFormatRules = [
112
112
  },
113
113
  {
114
114
  type: ElementKinds.listItem,
115
+ key: ElementKinds.numberedList,
115
116
  markup: [],
116
117
  match: (editor, textFromBlockStart) => {
117
118
  return TheQueries.isParagraph(editor) && /^-?\d+(\.|\))$/.test(textFromBlockStart) ? [textFromBlockStart] : [];
@@ -143,4 +144,4 @@ export const autoFormatRules = [
143
144
  insertTrigger: true
144
145
  }
145
146
  ];
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1mb3JtYXQtcnVsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29uc3RhbnRzL2F1dG8tZm9ybWF0LXJ1bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWxFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBcUI7SUFDN0M7UUFDSSxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDNUIsTUFBTSxFQUFFLEdBQUc7UUFDWCxNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUN2QixhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0QsQ0FBQztLQUNKO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDNUIsTUFBTSxFQUFFLElBQUk7UUFDWixNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUN2QixhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0QsQ0FBQztLQUNKO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsWUFB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RUFBRSxVQUFVLENBQUMsQ0FBQztRQUN6RSxDQUFDO0tBQ0o7SUFDRDtRQUNJLElBQUksRUFBRSxZQUFZLENBQUMsU0FBUztRQUM1QixNQUFNLEVBQUUsRUFBRTtRQUNWLEtBQUssRUFBRSxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ3RCLE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3hELENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUN2QixjQUFjLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLENBQUM7S0FDSjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFlBQVksQ0FBQyxFQUFFO1FBQ3JCLE1BQU0sRUFBRSxLQUFLO1FBQ2IsYUFBYSxFQUFFLElBQUk7S0FDdEI7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQXV0b0Zvcm1hdFJ1bGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2F1dG8tZm9ybWF0JztcbmltcG9ydCB7IE1hcmtUeXBlcywgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi9ub2RlLXR5cGVzJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBMaXN0RWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy9saXN0L2xpc3QuZWRpdG9yJztcbmltcG9ydCB7IFRvZG9JdGVtRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy90b2RvLWl0ZW0vdG9kby1pdGVtLmVkaXRvcic7XG5pbXBvcnQgeyBCbG9ja3F1b3RlRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy9ibG9ja3F1b3RlL2Jsb2NrcXVvdGUuZWRpdG9yJztcbmltcG9ydCB7IElubGluZUNvZGVFZGl0b3IgfSBmcm9tICcuLi9wbHVnaW5zL2lubGluZS1jb2RlL2lubGluZS1jb2RlLmVkaXRvcic7XG5pbXBvcnQgeyBIZWFkaW5nRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy9oZWFkaW5nL2hlYWRpbmcuZWRpdG9yJztcblxuZXhwb3J0IGNvbnN0IGF1dG9Gb3JtYXRSdWxlczogQXV0b0Zvcm1hdFJ1bGVbXSA9IFtcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzEsXG4gICAgICAgIG1hcmt1cDogJyMnLFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgSGVhZGluZ0VkaXRvci5zZXRIZWFkaW5nKGVkaXRvciwgRWxlbWVudEtpbmRzLmhlYWRpbmdfMSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmhlYWRpbmdfMixcbiAgICAgICAgbWFya3VwOiAnIyMnLFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgSGVhZGluZ0VkaXRvci5zZXRIZWFkaW5nKGVkaXRvciwgRWxlbWVudEtpbmRzLmhlYWRpbmdfMik7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmhlYWRpbmdfMyxcbiAgICAgICAgbWFya3VwOiAnIyMjJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzMpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzQsXG4gICAgICAgIG1hcmt1cDogJyMjIyMnLFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgSGVhZGluZ0VkaXRvci5zZXRIZWFkaW5nKGVkaXRvciwgRWxlbWVudEtpbmRzLmhlYWRpbmdfNCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmhlYWRpbmdfNSxcbiAgICAgICAgbWFya3VwOiAnIyMjIyMnLFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgSGVhZGluZ0VkaXRvci5zZXRIZWFkaW5nKGVkaXRvciwgRWxlbWVudEtpbmRzLmhlYWRpbmdfNSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmhlYWRpbmdfNixcbiAgICAgICAgbWFya3VwOiAnIyMjIyMjJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzYpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5ibG9ja3F1b3RlLFxuICAgICAgICBtYXJrdXA6IFsnPiddLFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgQmxvY2txdW90ZUVkaXRvci50b2dnbGVCbG9ja3F1b3RlKGVkaXRvcik7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogTWFya1R5cGVzLmJvbGQsXG4gICAgICAgIGJldHdlZW46IFsnKionLCAnKionXSxcbiAgICAgICAgbW9kZTogJ2lubGluZScsXG4gICAgICAgIGluc2VydFRyaWdnZXI6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogTWFya1R5cGVzLmJvbGQsXG4gICAgICAgIGJldHdlZW46IFsnX18nLCAnX18nXSxcbiAgICAgICAgbW9kZTogJ2lubGluZScsXG4gICAgICAgIGluc2VydFRyaWdnZXI6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogTWFya1R5cGVzLml0YWxpYyxcbiAgICAgICAgYmV0d2VlbjogWycqJywgJyonXSxcbiAgICAgICAgbW9kZTogJ2lubGluZScsXG4gICAgICAgIGluc2VydFRyaWdnZXI6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogTWFya1R5cGVzLml0YWxpYyxcbiAgICAgICAgYmV0d2VlbjogWydfJywgJ18nXSxcbiAgICAgICAgbW9kZTogJ2lubGluZScsXG4gICAgICAgIGluc2VydFRyaWdnZXI6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmlubGluZUNvZGUsXG4gICAgICAgIGJldHdlZW46IFsnYCcsICdgJ10sXG4gICAgICAgIG1vZGU6ICdpbmxpbmUnLFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvciwgdGV4dDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBJbmxpbmVDb2RlRWRpdG9yLnRvZ2dsZUlubGluZUNvZGUoZWRpdG9yLCB0ZXh0KTtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgRWRpdG9yLmFmdGVyKGVkaXRvciwgZWRpdG9yLnNlbGVjdGlvbikpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IE1hcmtUeXBlcy5zdHJpa2UsXG4gICAgICAgIGJldHdlZW46IFsnfn4nLCAnfn4nXSxcbiAgICAgICAgbW9kZTogJ2lubGluZScsXG4gICAgICAgIGluc2VydFRyaWdnZXI6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmNvZGUsXG4gICAgICAgIG1hcmt1cDogJ2BgYCcsXG4gICAgICAgIGluc2VydFRyaWdnZXI6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmxpc3RJdGVtLFxuICAgICAgICBtYXJrdXA6IFtdLFxuICAgICAgICBtYXRjaDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gVGhlUXVlcmllcy5pc1BhcmFncmFwaChlZGl0b3IpID8gWycqJywgJy0nLCAnKyddIDogW107XG4gICAgICAgIH0sXG4gICAgICAgIGZvcm1hdDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICBMaXN0RWRpdG9yLnRvZ2dsZUxpc3QoZWRpdG9yLCBFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0KTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMubGlzdEl0ZW0sXG4gICAgICAgIG1hcmt1cDogW10sXG4gICAgICAgIG1hdGNoOiAoZWRpdG9yOiBFZGl0b3IsIHRleHRGcm9tQmxvY2tTdGFydDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gVGhlUXVlcmllcy5pc1BhcmFncmFwaChlZGl0b3IpICYmIC9eLT9cXGQrKFxcLnxcXCkpJC8udGVzdCh0ZXh0RnJvbUJsb2NrU3RhcnQpID8gW3RleHRGcm9tQmxvY2tTdGFydF0gOiBbXTtcbiAgICAgICAgfSxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IsIG1hcmt1cD86IHN0cmluZ1tdKSA9PiB7XG4gICAgICAgICAgICBsZXQgc3RhcnRJbmRleCA9IDE7XG4gICAgICAgICAgICBpZiAobWFya3VwKSB7XG4gICAgICAgICAgICAgICAgc3RhcnRJbmRleCA9IG1hcmt1cFswXS5zcGxpdCgnLicpWzBdIGFzIHVua25vd24gYXMgbnVtYmVyO1xuICAgICAgICAgICAgICAgIGlmIChzdGFydEluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXggPSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIExpc3RFZGl0b3IudG9nZ2xlTGlzdChlZGl0b3IsIEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QsIHN0YXJ0SW5kZXgpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5jaGVja0l0ZW0sXG4gICAgICAgIG1hcmt1cDogW10sXG4gICAgICAgIG1hdGNoOiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBUaGVRdWVyaWVzLmlzUGFyYWdyYXBoKGVkaXRvcikgPyBbJ1tdJ10gOiBbXTtcbiAgICAgICAgfSxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIFRvZG9JdGVtRWRpdG9yLmluc2VydFRvZG9JdGVtKGVkaXRvcik7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmhyLFxuICAgICAgICBtYXJrdXA6ICctLS0nLFxuICAgICAgICBpbnNlcnRUcmlnZ2VyOiB0cnVlXG4gICAgfVxuXTtcbiJdfQ==
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1mb3JtYXQtcnVsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29uc3RhbnRzL2F1dG8tZm9ybWF0LXJ1bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWxFLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFxQjtJQUNwRDtRQUNJLElBQUksRUFBRSxZQUFZLENBQUMsU0FBUztRQUM1QixNQUFNLEVBQUUsR0FBRztRQUNYLE1BQU0sRUFBRSxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ3ZCLGFBQWEsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3RCxDQUFDO0tBQ0o7SUFDRDtRQUNJLElBQUksRUFBRSxZQUFZLENBQUMsU0FBUztRQUM1QixNQUFNLEVBQUUsSUFBSTtRQUNaLE1BQU0sRUFBRSxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ3ZCLGFBQWEsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3RCxDQUFDO0tBQ0o7SUFDRDtRQUNJLElBQUksRUFBRSxZ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QVUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN6RSxDQUFDO0tBQ0o7SUFDRDtRQUNJLElBQUksRUFBRSxZQUFZLENBQUMsU0FBUztRQUM1QixNQUFNLEVBQUUsRUFBRTtRQUNWLEtBQUssRUFBRSxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ3RCLE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3hELENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUN2QixjQUFjLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLENBQUM7S0FDSjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFlBQVksQ0FBQyxFQUFFO1FBQ3JCLE1BQU0sRUFBRSxLQUFLO1FBQ2IsYUFBYSxFQUFFLElBQUk7S0FDdEI7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQXV0b0Zvcm1hdFJ1bGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2F1dG8tZm9ybWF0JztcbmltcG9ydCB7IE1hcmtUeXBlcywgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi9ub2RlLXR5cGVzJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBMaXN0RWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy9saXN0L2xpc3QuZWRpdG9yJztcbmltcG9ydCB7IFRvZG9JdGVtRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy90b2RvLWl0ZW0vdG9kby1pdGVtLmVkaXRvcic7XG5pbXBvcnQgeyBCbG9ja3F1b3RlRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy9ibG9ja3F1b3RlL2Jsb2NrcXVvdGUuZWRpdG9yJztcbmltcG9ydCB7IElubGluZUNvZGVFZGl0b3IgfSBmcm9tICcuLi9wbHVnaW5zL2lubGluZS1jb2RlL2lubGluZS1jb2RlLmVkaXRvcic7XG5pbXBvcnQgeyBIZWFkaW5nRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy9oZWFkaW5nL2hlYWRpbmcuZWRpdG9yJztcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRBdXRvRm9ybWF0UnVsZXM6IEF1dG9Gb3JtYXRSdWxlW10gPSBbXG4gICAge1xuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ18xLFxuICAgICAgICBtYXJrdXA6ICcjJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzEpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzIsXG4gICAgICAgIG1hcmt1cDogJyMjJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzIpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzMsXG4gICAgICAgIG1hcmt1cDogJyMjIycsXG4gICAgICAgIGZvcm1hdDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICBIZWFkaW5nRWRpdG9yLnNldEhlYWRpbmcoZWRpdG9yLCBFbGVtZW50S2luZHMuaGVhZGluZ18zKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ180LFxuICAgICAgICBtYXJrdXA6ICcjIyMjJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzQpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzUsXG4gICAgICAgIG1hcmt1cDogJyMjIyMjJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzUpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzYsXG4gICAgICAgIG1hcmt1cDogJyMjIyMjIycsXG4gICAgICAgIGZvcm1hdDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICBIZWFkaW5nRWRpdG9yLnNldEhlYWRpbmcoZWRpdG9yLCBFbGVtZW50S2luZHMuaGVhZGluZ182KTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuYmxvY2txdW90ZSxcbiAgICAgICAgbWFya3VwOiBbJz4nXSxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEJsb2NrcXVvdGVFZGl0b3IudG9nZ2xlQmxvY2txdW90ZShlZGl0b3IpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IE1hcmtUeXBlcy5ib2xkLFxuICAgICAgICBiZXR3ZWVuOiBbJyoqJywgJyoqJ10sXG4gICAgICAgIG1vZGU6ICdpbmxpbmUnLFxuICAgICAgICBpbnNlcnRUcmlnZ2VyOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IE1hcmtUeXBlcy5ib2xkLFxuICAgICAgICBiZXR3ZWVuOiBbJ19fJywgJ19fJ10sXG4gICAgICAgIG1vZGU6ICdpbmxpbmUnLFxuICAgICAgICBpbnNlcnRUcmlnZ2VyOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IE1hcmtUeXBlcy5pdGFsaWMsXG4gICAgICAgIGJldHdlZW46IFsnKicsICcqJ10sXG4gICAgICAgIG1vZGU6ICdpbmxpbmUnLFxuICAgICAgICBpbnNlcnRUcmlnZ2VyOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IE1hcmtUeXBlcy5pdGFsaWMsXG4gICAgICAgIGJldHdlZW46IFsnXycsICdfJ10sXG4gICAgICAgIG1vZGU6ICdpbmxpbmUnLFxuICAgICAgICBpbnNlcnRUcmlnZ2VyOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5pbmxpbmVDb2RlLFxuICAgICAgICBiZXR3ZWVuOiBbJ2AnLCAnYCddLFxuICAgICAgICBtb2RlOiAnaW5saW5lJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IsIHRleHQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgSW5saW5lQ29kZUVkaXRvci50b2dnbGVJbmxpbmVDb2RlKGVkaXRvciwgdGV4dCk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIEVkaXRvci5hZnRlcihlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24pKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICB0eXBlOiBNYXJrVHlwZXMuc3RyaWtlLFxuICAgICAgICBiZXR3ZWVuOiBbJ35+JywgJ35+J10sXG4gICAgICAgIG1vZGU6ICdpbmxpbmUnLFxuICAgICAgICBpbnNlcnRUcmlnZ2VyOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5jb2RlLFxuICAgICAgICBtYXJrdXA6ICdgYGAnLFxuICAgICAgICBpbnNlcnRUcmlnZ2VyOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5saXN0SXRlbSxcbiAgICAgICAgbWFya3VwOiBbXSxcbiAgICAgICAgbWF0Y2g6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIFRoZVF1ZXJpZXMuaXNQYXJhZ3JhcGgoZWRpdG9yKSA/IFsnKicsICctJywgJysnXSA6IFtdO1xuICAgICAgICB9LFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgTGlzdEVkaXRvci50b2dnbGVMaXN0KGVkaXRvciwgRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmxpc3RJdGVtLFxuICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QsXG4gICAgICAgIG1hcmt1cDogW10sXG4gICAgICAgIG1hdGNoOiAoZWRpdG9yOiBFZGl0b3IsIHRleHRGcm9tQmxvY2tTdGFydDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gVGhlUXVlcmllcy5pc1BhcmFncmFwaChlZGl0b3IpICYmIC9eLT9cXGQrKFxcLnxcXCkpJC8udGVzdCh0ZXh0RnJvbUJsb2NrU3RhcnQpID8gW3RleHRGcm9tQmxvY2tTdGFydF0gOiBbXTtcbiAgICAgICAgfSxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IsIG1hcmt1cD86IHN0cmluZ1tdKSA9PiB7XG4gICAgICAgICAgICBsZXQgc3RhcnRJbmRleCA9IDE7XG4gICAgICAgICAgICBpZiAobWFya3VwKSB7XG4gICAgICAgICAgICAgICAgc3RhcnRJbmRleCA9IG1hcmt1cFswXS5zcGxpdCgnLicpWzBdIGFzIHVua25vd24gYXMgbnVtYmVyO1xuICAgICAgICAgICAgICAgIGlmIChzdGFydEluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXggPSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIExpc3RFZGl0b3IudG9nZ2xlTGlzdChlZGl0b3IsIEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QsIHN0YXJ0SW5kZXgpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5jaGVja0l0ZW0sXG4gICAgICAgIG1hcmt1cDogW10sXG4gICAgICAgIG1hdGNoOiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBUaGVRdWVyaWVzLmlzUGFyYWdyYXBoKGVkaXRvcikgPyBbJ1tdJ10gOiBbXTtcbiAgICAgICAgfSxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIFRvZG9JdGVtRWRpdG9yLmluc2VydFRvZG9JdGVtKGVkaXRvcik7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmhyLFxuICAgICAgICBtYXJrdXA6ICctLS0nLFxuICAgICAgICBpbnNlcnRUcmlnZ2VyOiB0cnVlXG4gICAgfVxuXTtcbiJdfQ==
@@ -179,11 +179,12 @@ export class TheEditorComponent extends mixinUnsubscribe(MixinBase) {
179
179
  super.ngOnDestroy();
180
180
  }
181
181
  initialize() {
182
- var _a, _b;
182
+ var _a, _b, _c;
183
183
  this.editor = withTheEditor(this.thePlugins, withHistory(withAngular(createEditor(), CLIPBOARD_FORMAT_KEY)));
184
184
  this.generateDecorate();
185
185
  this.editor.disabled = (_a = this.theOptions) === null || _a === void 0 ? void 0 : _a.disabled;
186
186
  this.editor.extraElementOptions = (_b = this.theOptions) === null || _b === void 0 ? void 0 : _b.extraElementOptions;
187
+ this.editor.extraAutoFormatRules = (_c = this.theOptions) === null || _c === void 0 ? void 0 : _c.extraAutoFormatRules;
187
188
  setEditorUUID(this.editor, idCreator());
188
189
  this.theContextService.initialize({
189
190
  theOptions: this.theOptions,
@@ -441,4 +442,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
441
442
  type: ViewChild,
442
443
  args: ['quickInsert', { static: true }]
443
444
  }] } });
444
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy9lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vcGFja2FnZXMvc3JjL2VkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsU0FBUyxFQUNULEtBQUssRUFFTCxTQUFTLEVBRVQsVUFBVSxFQUNWLE1BQU0sRUFDTixZQUFZLEVBSVosdUJBQXVCLEVBRTFCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxFQUFFLE1BQU0sRUFBUSxVQUFVLEVBQUUsWUFBWSxFQUF1QixLQUFLLEVBQUUsSUFBSSxFQUFtQixNQUFNLE9BQU8sQ0FBQztBQUNsSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQWMsV0FBVyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBc0QsV0FBVyxFQUFpQixNQUFNLGNBQWMsQ0FBQztBQUM5RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEtBQUssYUFBYSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEtBQUssVUFBVSxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7OztBQXFCdkQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztJQTREL0QsWUFDWSxjQUFpQyxFQUNqQyxpQkFBb0MsRUFDcEMsZ0JBQWtDLEVBQ2xDLFVBQXNCLEVBQ3RCLE1BQWMsRUFDZCxHQUFzQjtRQUU5QixLQUFLLEVBQUUsQ0FBQztRQVBBLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUEvRHpCLGVBQVUsR0FBZ0IsRUFBRSxDQUFDO1FBUTVCLGNBQVMsR0FBK0IsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFFekUsa0JBQWEsR0FBa0UsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVsRyxxQkFBZ0IsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVd0RSxhQUFRLEdBQWdCLEVBQUUsQ0FBQztRQXdCM0IsbUJBQWMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsTUFBYyxFQUFFLGVBQXVCO1lBQ3pFLE9BQU8sb0JBQW9CLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ3pELENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVQLGtCQUFhLEdBQTZCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFaEQscUJBQWdCLEdBQXFCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUU5QyxzQkFBaUIsR0FBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUE4S2pELGtCQUFhLEdBQUcsQ0FBQyxPQUFnQixFQUFFLEVBQUU7WUFDakMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyRCxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDNUMsQ0FBQyxDQUFDO1FBRUYsZUFBVSxHQUFHLENBQUMsSUFBVSxFQUFFLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzlCLENBQUMsQ0FBQztRQUVGLGVBQVUsR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFFO1lBQ3hCLEtBQUssTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFO2dCQUN6QixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtvQkFDdEIsT0FBTyxnQkFBZ0IsQ0FBQztpQkFDM0I7YUFDSjtZQUNELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUN4QixPQUFPO2FBQ1Y7UUFDTCxDQUFDLENBQUM7UUFjRixjQUFTLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7WUFDakMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ3BCLFdBQVcsRUFBRSxLQUFLO2dCQUNsQixJQUFJLEVBQUU7b0JBQ0YsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO2lCQUNqQjthQUNKLENBQUMsQ0FBQztZQUNILElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzFDLENBQUMsQ0FBQyxDQUFDO2dCQUNILEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsT0FBTzthQUNWO1lBQ0QsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUMxQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDMUI7WUFDRCxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDO1FBK0RGLFlBQU8sR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtZQUM1QixhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ3BCLFdBQVcsRUFBRSxLQUFLO2FBQ3JCLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQztRQUVGLGVBQVUsR0FBRyxDQUFDLEtBQXFCLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztnQkFDcEIsSUFBSSxvQkFDRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FDOUM7Z0JBQ0QsV0FBVyxFQUFFLEtBQUs7YUFDckIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO1FBRUYscUJBQWdCLEdBQUcsQ0FDZixLQUlDLEVBQ0gsRUFBRTtZQUNBLElBQUksSUFBSSxHQUFHO2dCQUNQLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztnQkFDMUIsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFXO2FBQ3JELENBQUM7WUFDRixJQUFJLEtBQUssQ0FBQyxTQUFTLEtBQUssaUJBQWlCLEVBQUU7Z0JBQ3ZDLElBQUksbUNBQ0csSUFBSSxHQUNKLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQWlCLENBQUMsQ0FDN0UsQ0FBQzthQUNMO1lBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ3BCLElBQUk7Z0JBQ0osV0FBVyxFQUFFLEtBQUs7YUFDckIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO1FBRUYsY0FBUyxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUNwQixXQUFXLEVBQUUsS0FBSzthQUNyQixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7UUFFRixlQUFVLEdBQUcsQ0FBQyxLQUFZLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztnQkFDcEIsV0FBVyxFQUFFLEtBQUs7YUFDckIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO1FBRUYsYUFBUSxHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUNwQixXQUFXLEVBQUUsS0FBSzthQUNyQixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7UUFFRixjQUFTLEdBQUcsQ0FBQyxLQUFxQixFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFMUMsMEJBQXFCLEdBQUcsQ0FBQyxLQUF1QixFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFeEQsd0JBQW1CLEdBQUcsQ0FBQyxLQUF1QixFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFdEQsbUJBQWMsR0FBRyxDQUFDLEtBQWdCLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUUxQyxrQkFBYSxHQUFHLENBQUMsS0FBZ0IsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBRXpDLFdBQU0sR0FBRyxDQUFDLEtBQWdCLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztnQkFDcEIsV0FBVyxFQUFFLEtBQUs7YUFDckIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO0lBOVZGLENBQUM7SUEvQkQsSUFBSSx3QkFBd0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDO0lBQ3RGLENBQUM7SUFFRCxJQUFJLFNBQVM7O1FBQ1QsT0FBTyxDQUFBLE1BQUEsSUFBSSxDQUFDLFVBQVUsMENBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQyxHQUFHLE1BQUEsSUFBSSxDQUFDLFVBQVUsMENBQUUsU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNqRixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7O1FBQ2pCLE9BQU8sTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxLQUFLLENBQUM7SUFDckMsQ0FBQztJQXVCRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCOztRQUM5QixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBRW5DLElBQUksT0FBTyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDNUI7UUFDRCxJQUFJLE9BQU8sSUFBSSxDQUFBLE1BQUEsT0FBTyxDQUFDLFlBQVksMENBQUUsUUFBUSxPQUFLLE1BQUEsT0FBTyxDQUFDLGFBQWEsMENBQUUsUUFBUSxDQUFBLEVBQUU7WUFDL0UsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDM0I7UUFDRCxJQUFJLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxTQUFTLEtBQUksQ0FBQyxDQUFBLE1BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFlBQVksMENBQUUsUUFBUSxNQUFJLE1BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFlBQVksMENBQUUsUUFBUSxDQUFBLENBQUMsRUFBRTtZQUNoRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNwQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxVQUFVOztRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFZLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4SCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxNQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLFFBQVEsQ0FBQztRQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixHQUFHLE1BQUEsSUFBSSxDQUFDLFVBQVUsMENBQUUsbUJBQW1CLENBQUM7UUFDdkUsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDO1lBQzlCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhO1lBQzVDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7U0FDMUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLHdEQUF3RDtZQUN4RCw4REFBOEQ7WUFDOUQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGlCQUFpQjtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxVQUFVLEdBQUc7Z0JBQ2QsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJO2FBQ3pCLENBQUM7U0FDTDtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRTtZQUN2QixJQUFJLENBQUMsVUFBVSxtQ0FDUixJQUFJLENBQUMsVUFBVSxLQUNsQixJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUksR0FDekIsQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUVELGNBQWM7O1FBQ1YsSUFBSSxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxRQUFRLENBQUEsSUFBSSxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxRQUFRLENBQUEsRUFBRTtZQUMxRCxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQ3REO0lBQ0wsQ0FBQztJQUVELGdCQUFnQjs7UUFDWixNQUFNLE9BQU8sR0FBRyxNQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxVQUFVLDBDQUFFLE9BQU8sQ0FBQztRQUMxQyxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzNELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsTUFBTSxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxNQUFNLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JILElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLG9CQUFvQixFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUM7SUFDckQsQ0FBQztJQUVELGlCQUFpQjs7UUFDYixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN2QixJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDbkQsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUN2RSxJQUFJLENBQUMsd0JBQXdCLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztZQUN2RSxJQUFJLENBQUMsd0JBQXdCLENBQUMsS0FBSyxHQUFHLE1BQUEsTUFBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsVUFBVSwwQ0FBRSxPQUFPLDBDQUFFLEtBQUssQ0FBQztZQUN2RSxJQUFJLENBQUMsd0JBQXdCLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDckQ7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQTRCOztRQUNuQyxNQUFNLElBQUksR0FBRyxlQUFlLENBQUMsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0QsbUJBQW1CO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDcEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBbUI7O1FBQzNCLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLFFBQVEsQ0FBQSxJQUFJLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLFFBQVEsQ0FBQSxDQUFDO1FBRTVFLE1BQUEsSUFBSSxDQUFDLHdCQUF3QiwwQ0FBRSxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXpELHNCQUFzQjtRQUN0QixJQUFJLFVBQVUsRUFBRTtZQUNaLE1BQUEsSUFBSSxDQUFDLG1CQUFtQiwwQ0FBRSxXQUFXLEVBQUUsQ0FBQztTQUMzQztRQUVELG1CQUFtQjtRQUNuQixNQUFNLGVBQWUsR0FBRyxNQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLGVBQWUsQ0FBQztRQUN6RCxNQUFNLFNBQVMsR0FBRyxNQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLFNBQVMsQ0FBQztRQUM3QyxJQUFJLFVBQVUsSUFBSSxDQUFDLGVBQWUsSUFBSSxTQUFTLENBQUMsRUFBRTtZQUM5QyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7WUFDekUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQy9DO1FBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLEtBQUssRUFBRTtZQUM1QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUV6QixjQUFjO1FBQ2QsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBbUI7O1FBQ2hDLElBQUksQ0FBQSxNQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLElBQUksTUFBSyxXQUFXLENBQUMsSUFBSSxFQUFFO1lBQzVDLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztZQUNuQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBZ0IsRUFBRSxFQUFFOztnQkFDL0IsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2xELElBQUksV0FBVyxLQUFLLFNBQVMsRUFBRTtvQkFDM0IsY0FBYztvQkFDZCxXQUFXLEdBQUcsZUFBZSxDQUFDLE1BQUEsSUFBSSxDQUFDLFVBQVUsMENBQUUsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQVcsQ0FBQztvQkFDMUUsU0FBUyxJQUFJLFdBQVcsQ0FBQztvQkFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO29CQUM3QyxPQUFPO2lCQUNWO2dCQUNELFNBQVMsSUFBSSxXQUFXLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxTQUFxQixFQUFFLEVBQUU7WUFDNUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUMzQixPQUFPO2FBQ1Y7WUFDRCxJQUFJLFNBQVMsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3ZCLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3hDO1FBQ0wsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQXdCRCxnQkFBZ0I7UUFDWixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsU0FBb0IsRUFBRSxFQUFFO1lBQ3JDLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztZQUV2QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ2xCLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQzthQUNqRTtZQUVELE9BQU8sV0FBVyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQztJQUNOLENBQUM7SUF1QkQsU0FBUyxDQUFDLEtBQWlCO1FBQ3ZCLE1BQU0sZUFBZSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUUsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLGVBQWUsRUFBRTtZQUNsQyxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUM3RCxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ3hELElBQUksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNuRixNQUFNLGlCQUFpQixHQUFHLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2hFLE1BQU0sa0JBQWtCLEdBQUcsd0JBQXdCLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDbEUsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLENBQUMsR0FBRyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7WUFDMUQsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLEtBQUssR0FBRyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7WUFDaEUsSUFBSSxlQUFlLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEUsSUFBSSx3QkFBd0IsR0FBZSxlQUFlLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDeEYsSUFBSSxDQUFDLHdCQUF3QixFQUFFO2dCQUMzQixlQUFlLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pFLHdCQUF3QixHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUMzRTtZQUNELElBQUksd0JBQXdCLEVBQUU7Z0JBQzFCLE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQy9HLElBQUksY0FBYyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDckMsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ25ELE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztvQkFDL0QsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsRUFBRTt3QkFDbkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO3dCQUN2QixhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7cUJBQzNHO2lCQUNKO2FBQ0o7U0FDSjtJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxJQUFJLENBQUM7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7WUFDeEIsYUFBYSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUM7UUFDRCxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4RCxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzdELE1BQU0sZUFBZSxHQUFHLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDN0MsQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEUsSUFBSSxJQUFJLEVBQUU7Z0JBQ04sTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUN0QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQzFFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDdEUsSUFBSSxhQUFhLElBQUksV0FBVyxFQUFFO29CQUM5QixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ2xELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsRUFBRTt3QkFDMUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO3dCQUMxQyxNQUFNO3FCQUNUO29CQUNELElBQUksR0FBRyxJQUFJLENBQUM7aUJBQ2Y7YUFDSjtTQUNKO1FBQ0QsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztTQUN0QztRQUNELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixPQUFPO0lBQ1gsQ0FBQztJQTJFRCxjQUFjLENBQUMsSUFBa0I7UUFDN0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUNyRSxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZCxJQUFJLFFBQVEsRUFBRTtZQUNWLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hFO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4QyxPQUFPO1lBQ0gsSUFBSTtZQUNKLElBQUk7U0FDUCxDQUFDO0lBQ04sQ0FBQzs7Z0hBaGJRLGtCQUFrQjtvR0FBbEIsa0JBQWtCLG9hQWZoQjtRQUNQLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIscUJBQXFCO1FBQ3JCO1lBQ0ksT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDO1lBQ2pELEtBQUssRUFBRSxJQUFJO1NBQ2Q7S0FDSixzYUMzREwsMm1FQThEQTs0RkRHYSxrQkFBa0I7a0JBbkI5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSx1QkFBdUI7b0JBQ3BDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUU7d0JBQ1AsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckI7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUM7NEJBQ2pELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO29CQUNELElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsWUFBWTt3QkFDbkIsNkJBQTZCLEVBQUUsc0JBQXNCO3FCQUN4RDtpQkFDSjtxUEFFWSxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFSSxTQUFTO3NCQUFsQixNQUFNO2dCQUVHLGFBQWE7c0JBQXRCLE1BQU07Z0JBRUcsZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUdQLGdCQUFnQjtzQkFEZixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJL0MscUJBQXFCO3NCQURwQixTQUFTO3VCQUFDLGVBQWU7Z0JBSTFCLG1CQUFtQjtzQkFEbEIsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95LFxuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBOZ1pvbmUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG1peGluVW5zdWJzY3JpYmUsIE1peGluQmFzZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgaXNIb3RrZXkgZnJvbSAnaXMtaG90a2V5JztcbmltcG9ydCB7IEVkaXRvciwgVGV4dCwgVHJhbnNmb3JtcywgY3JlYXRlRWRpdG9yLCBFbGVtZW50LCBEZXNjZW5kYW50LCBSYW5nZSwgUGF0aCwgTm9kZUVudHJ5LCBOb2RlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgd2l0aEhpc3RvcnkgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IsIFNsYXRlRXJyb3IsIHdpdGhBbmd1bGFyLCBET01FbGVtZW50IH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBUaGVQbHVnaW4sIFRoZU9wdGlvbnMsIERvbUV2ZW50RGF0YUluZm8sIFRoZUVkaXRvciwgVGhlRGF0YU1vZGUsIFRvb2xiYXJFbnRpdHkgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTWFya1R5cGVzIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgd2l0aFRoZUVkaXRvciwgdG9vbGJhckNvbXBvc2UgfSBmcm9tICcuL3BsdWdpbnMvaW5kZXgnO1xuaW1wb3J0IHsgVGhlVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGVtcGxhdGUvdGVtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IHNob3J0Y3V0cyB9IGZyb20gJy4vc2hvcnRjdXRzJztcbmltcG9ydCB7IFRoZVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUb29sYmFyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdG9vbGJhci5zZXJ2aWNlJztcbmltcG9ydCB7IFRoZUNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVGhlVGV4dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZXh0L3RleHQuY29tcG9uZW50JztcbmltcG9ydCB7IENMSVBCT0FSRF9GT1JNQVRfS0VZLCBERUZBVUxUX1NDUk9MTF9DT05UQUlORVIgfSBmcm9tICcuL2NvbnN0YW50cy9kZWZhdWx0JztcbmltcG9ydCB7IFRoZUNvbG9yU2VsZWN0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvY29sb3Itc2VsZWN0LnNlcnZpY2UnO1xuaW1wb3J0ICogYXMgVGhlVHJhbnNmb3JtcyBmcm9tICcuL3RyYW5zZm9ybXMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuL3F1ZXJpZXMnO1xuaW1wb3J0IHsgYXV0b0ZvY3VzIH0gZnJvbSAnLi91dGlscy9hdXRvLWZvY3VzJztcbmltcG9ydCB7IGF1dG9TY3JvbGxWaWV3SGFuZGxlIH0gZnJvbSAnLi91dGlscy9hdXRvLXNjcm9sbC12aWV3JztcbmltcG9ydCB7IF8gfSBmcm9tICcuL3V0aWxzL2xvZGFzaCc7XG5pbXBvcnQgeyBkYXRhRGVzZXJpYWxpemUsIGRhdGFTZXJpYWxpemluZyB9IGZyb20gJy4vdXRpbHMvZGF0YS10cmFuc2Zvcm0nO1xuaW1wb3J0IHsgc2V0RWRpdG9yVVVJRCB9IGZyb20gJy4vdXRpbHMvZWRpdG9yLXV1aWQnO1xuaW1wb3J0IHsgaWRDcmVhdG9yIH0gZnJvbSAnLi91dGlscy9pZC1jcmVhdG9yJztcbmltcG9ydCB7IFRoZVF1aWNrSW5zZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3F1aWNrLWluc2VydC9jb21wb25lbnRzL3F1aWNrLWluc2VydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2V0VG9vbGJhckNsYXNzIH0gZnJvbSAnLi91dGlscy9nZXQtdG9vbGJhci1jbGFzcyc7XG5pbXBvcnQgeyBjb2VyY2VQaXhlbHNGcm9tQ3NzVmFsdWUgfSBmcm9tICcuL3V0aWxzL2RvbSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGhlLWVkaXRvciwgdGhlRWRpdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2VkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFRoZVRvb2xiYXJTZXJ2aWNlLFxuICAgICAgICBUaGVDb250ZXh0U2VydmljZSxcbiAgICAgICAgVGhlQ29sb3JTZWxlY3RTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRoZUVkaXRvckNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGhlLWVkaXRvcicsXG4gICAgICAgICdbY2xhc3MudGhlLWVkaXRvci1yZWFkb25seV0nOiAndGhlT3B0aW9ucz8ucmVhZG9ubHknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBUaGVFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBtaXhpblVuc3Vic2NyaWJlKE1peGluQmFzZSkgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSB0aGVPcHRpb25zOiBUaGVPcHRpb25zO1xuXG4gICAgQElucHV0KCkgdGhlUGx1Z2luczogVGhlUGx1Z2luW10gPSBbXTtcblxuICAgIEBJbnB1dCgpIHRoZUdsb2JhbFRvb2xiYXI/OiBUaGVUb29sYmFyQ29tcG9uZW50O1xuXG4gICAgQElucHV0KCkgdGhlRGVjb3JhdGU6IChlZGl0b3I6IFRoZUVkaXRvciwgbm9kZUVudHJ5OiBOb2RlRW50cnkpID0+IFJhbmdlW107XG5cbiAgICBASW5wdXQoKSB0aGVPbkVycm9yPzogKGVycm9yOiBTbGF0ZUVycm9yKSA9PiB2b2lkO1xuXG4gICAgQE91dHB1dCgpIHRoZU9uU2F2ZTogRXZlbnRFbWl0dGVyPERlc2NlbmRhbnRbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPERlc2NlbmRhbnRbXT4oKTtcblxuICAgIEBPdXRwdXQoKSB0aGVPbkRPTUV2ZW50OiBFdmVudEVtaXR0ZXI8eyBuYXRpdmVFdmVudDogRXZlbnQ7IGRhdGE/OiBEb21FdmVudERhdGFJbmZvIH0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpIHRoZUVkaXRvckNyZWF0ZWQ6IEV2ZW50RW1pdHRlcjxFZGl0b3I+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQFZpZXdDaGlsZCgndGVtcGxhdGVJbnN0YW5jZScsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgdGVtcGxhdGVJbnN0YW5jZTogVGhlVGVtcGxhdGVDb21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKCdnbG9iYWxUb29sYmFyJylcbiAgICBnbG9iYWxUb29sYmFySW5zdGFuY2U6IFRoZVRvb2xiYXJDb21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKCdxdWlja0luc2VydCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgcXVpY2tJbnNlcnRJbnN0YW5jZTogVGhlUXVpY2tJbnNlcnRDb21wb25lbnQ7XG5cbiAgICBfcGx1Z2luczogVGhlUGx1Z2luW10gPSBbXTtcblxuICAgIHRvb2xiYXJFbnRpdHk6IFRvb2xiYXJFbnRpdHk7XG5cbiAgICBlZGl0b3I6IFRoZUVkaXRvcjtcblxuICAgIGVkaXRvclZhbHVlOiBEZXNjZW5kYW50W107XG5cbiAgICBnbG9iYWxUb29sYmFyQ2xhc3M6IHN0cmluZ1tdO1xuXG4gICAgZGVjb3JhdGU6IChub2RlRW50cnk6IE5vZGVFbnRyeSkgPT4gUmFuZ2VbXTtcblxuICAgIGdldCB0aGVHbG9iYWxUb29sYmFySW5zdGFuY2UoKTogVGhlVG9vbGJhckNvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoZUdsb2JhbFRvb2xiYXIgPyB0aGlzLnRoZUdsb2JhbFRvb2xiYXIgOiB0aGlzLmdsb2JhbFRvb2xiYXJJbnN0YW5jZTtcbiAgICB9XG5cbiAgICBnZXQgbWF4SGVpZ2h0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy50aGVPcHRpb25zPy5tYXhIZWlnaHQgPyBgJHt0aGlzLnRoZU9wdGlvbnM/Lm1heEhlaWdodH1weGAgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBxdWlja1Rvb2xiYXJJdGVtcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9vbGJhckVudGl0eT8ucXVpY2s7XG4gICAgfVxuXG4gICAgYXV0b1Njcm9sbFZpZXcgPSBfLmRlYm91bmNlKGZ1bmN0aW9uIChlZGl0b3I6IEVkaXRvciwgc2Nyb2xsQ29udGFpbmVyOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIGF1dG9TY3JvbGxWaWV3SGFuZGxlKGVkaXRvciwgc2Nyb2xsQ29udGFpbmVyKTtcbiAgICB9LCA4MCk7XG5cbiAgICBlbGVtZW50VG9IdG1sOiBXZWFrTWFwPEVsZW1lbnQsIHN0cmluZz4gPSBuZXcgV2Vha01hcCgpO1xuXG4gICAgcHJpdmF0ZSBvbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0b29sYmFyU2VydmljZTogVGhlVG9vbGJhclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGhlQ29udGV4dFNlcnZpY2U6IFRoZUNvbnRleHRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICAgICAgICB0aGlzLm9uRXJyb3JIYW5kbGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gY2hhbmdlcy50aGVPcHRpb25zO1xuXG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVPcHRpb25zKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5jdXJyZW50VmFsdWU/LnJlYWRvbmx5ICE9PSBvcHRpb25zLnByZXZpb3VzVmFsdWU/LnJlYWRvbmx5KSB7XG4gICAgICAgICAgICB0aGlzLmFwcGx5QXV0b0ZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXNbJ3RoZURlY29yYXRlJ10pIHtcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVEZWNvcmF0ZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmVkaXRvcj8uc2VsZWN0aW9uICYmIChvcHRpb25zPy5jdXJyZW50VmFsdWU/LnJlYWRvbmx5IHx8IG9wdGlvbnM/LmN1cnJlbnRWYWx1ZT8uZGlzYWJsZWQpKSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmRlc2VsZWN0KHRoaXMuZWRpdG9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemUoKSB7XG4gICAgICAgIHRoaXMuZWRpdG9yID0gd2l0aFRoZUVkaXRvcjxUaGVFZGl0b3I+KHRoaXMudGhlUGx1Z2lucywgd2l0aEhpc3Rvcnkod2l0aEFuZ3VsYXIoY3JlYXRlRWRpdG9yKCksIENMSVBCT0FSRF9GT1JNQVRfS0VZKSkpO1xuICAgICAgICB0aGlzLmdlbmVyYXRlRGVjb3JhdGUoKTtcbiAgICAgICAgdGhpcy5lZGl0b3IuZGlzYWJsZWQgPSB0aGlzLnRoZU9wdGlvbnM/LmRpc2FibGVkO1xuICAgICAgICB0aGlzLmVkaXRvci5leHRyYUVsZW1lbnRPcHRpb25zID0gdGhpcy50aGVPcHRpb25zPy5leHRyYUVsZW1lbnRPcHRpb25zO1xuICAgICAgICBzZXRFZGl0b3JVVUlEKHRoaXMuZWRpdG9yLCBpZENyZWF0b3IoKSk7XG4gICAgICAgIHRoaXMudGhlQ29udGV4dFNlcnZpY2UuaW5pdGlhbGl6ZSh7XG4gICAgICAgICAgICB0aGVPcHRpb25zOiB0aGlzLnRoZU9wdGlvbnMsXG4gICAgICAgICAgICBuYXRpdmVFbGVtZW50OiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZlxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50b29sYmFyQ2FsY3VsYXRlKCk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgLy8gWW91IG5lZWQgdG8gd2FpdCBmb3IgdGhlIGVkaXRvciByZW5kZXJpbmcgdG8gY29tcGxldGVcbiAgICAgICAgICAgIC8vIGJlZm9yZSB0cmlnZ2VyaW5nIHRoZSBleHRlcm5hbCB0b29sYmFyIGFzc2lnbm1lbnQgZGV0ZWN0aW9uXG4gICAgICAgICAgICB0aGlzLmdsb2JhbFRvb2xiYXJJbml0KCk7XG4gICAgICAgICAgICB0aGlzLnRoZUVkaXRvckNyZWF0ZWQuZW1pdCh0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICB0aGlzLmFwcGx5QXV0b0ZvY3VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVPcHRpb25zKCkge1xuICAgICAgICBpZiAoIXRoaXMudGhlT3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy50aGVPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIHJlYWRvbmx5OiBmYWxzZSxcbiAgICAgICAgICAgICAgICBtb2RlOiBUaGVEYXRhTW9kZS5odG1sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy50aGVPcHRpb25zLm1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMudGhlT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLnRoZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgbW9kZTogVGhlRGF0YU1vZGUuaHRtbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFwcGx5QXV0b0ZvY3VzKCkge1xuICAgICAgICBpZiAoIXRoaXMudGhlT3B0aW9ucz8uZGlzYWJsZWQgJiYgIXRoaXMudGhlT3B0aW9ucz8ucmVhZG9ubHkpIHtcbiAgICAgICAgICAgIGF1dG9Gb2N1cyh0aGlzLmVkaXRvciwgdGhpcy50aGVPcHRpb25zPy5hdXRvRm9jdXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9vbGJhckNhbGN1bGF0ZSgpIHtcbiAgICAgICAgY29uc3QgdG9vbGJhciA9IHRoaXM/LnRoZU9wdGlvbnM/LnRvb2xiYXI7XG4gICAgICAgIGNvbnN0IHRvb2xiYXJJdGVtcyA9IHRvb2xiYXJDb21wb3NlKHRvb2xiYXI/LnRvb2xiYXJJdGVtcyk7XG4gICAgICAgIGNvbnN0IHRvb2xiYXJPcHRpb24gPSB0aGlzLnRvb2xiYXJTZXJ2aWNlLmluaXRpYWxpemUodG9vbGJhckl0ZW1zLCB0b29sYmFyPy5nbG9iYWwsIHRvb2xiYXI/LmlubGluZSwgdG9vbGJhcj8ucXVpY2spO1xuICAgICAgICB0aGlzLmdsb2JhbFRvb2xiYXJDbGFzcyA9IFsndGhlLWdsb2JhbC10b29sYmFyJywgZ2V0VG9vbGJhckNsYXNzKHRoaXMuZWRpdG9yKV07XG4gICAgICAgIHRoaXMudG9vbGJhckVudGl0eSA9IHRvb2xiYXJPcHRpb24udG9vbGJhckVudGl0eTtcbiAgICB9XG5cbiAgICBnbG9iYWxUb29sYmFySW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMudGhlR2xvYmFsVG9vbGJhcikge1xuICAgICAgICAgICAgdGhpcy50aGVHbG9iYWxUb29sYmFySW5zdGFuY2UuZWRpdG9yID0gdGhpcy5lZGl0b3I7XG4gICAgICAgICAgICB0aGlzLnRoZUdsb2JhbFRvb2xiYXJJbnN0YW5jZS50b29sYmFySXRlbXMgPSB0aGlzLnRvb2xiYXJFbnRpdHkuZ2xvYmFsO1xuICAgICAgICAgICAgdGhpcy50aGVHbG9iYWxUb29sYmFySW5zdGFuY2UuY29udGFpbmVyQ2xhc3MgPSB0aGlzLmdsb2JhbFRvb2xiYXJDbGFzcztcbiAgICAgICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlLmFsaWduID0gdGhpcz8udGhlT3B0aW9ucz8udG9vbGJhcj8uYWxpZ247XG4gICAgICAgICAgICB0aGlzLnRoZUdsb2JhbFRvb2xiYXJJbnN0YW5jZS5zZXRUb29sYmFyQ2xhc3MoKTtcbiAgICAgICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlLnJlbmRlclRvb2xiYXJWaWV3KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBEZXNjZW5kYW50W10pIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IGRhdGFEZXNlcmlhbGl6ZSh0aGlzLnRoZU9wdGlvbnM/Lm1vZGUsIHZhbHVlKTtcbiAgICAgICAgLy8gZGF0YS1kZXNlcmlhbGl6ZVxuICAgICAgICB0aGlzLmVkaXRvclZhbHVlID0gZGF0YTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIHZhbHVlQ2hhbmdlKHZhbHVlOiBEZXNjZW5kYW50W10pIHtcbiAgICAgICAgY29uc3QgaXNFZGl0YWJsZSA9ICF0aGlzLnRoZU9wdGlvbnM/LnJlYWRvbmx5ICYmICF0aGlzLnRoZU9wdGlvbnM/LmRpc2FibGVkO1xuXG4gICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlPy5zdGF0dXNDaGFuZ2UodGhpcy5lZGl0b3IpO1xuXG4gICAgICAgIC8vIHF1aWNrIGluc2VydCBidXR0b25cbiAgICAgICAgaWYgKGlzRWRpdGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMucXVpY2tJbnNlcnRJbnN0YW5jZT8uY2hlY2tTdGF0dXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGF1dG8gc2Nyb2xsIHZpZXdcbiAgICAgICAgY29uc3Qgc2Nyb2xsQ29udGFpbmVyID0gdGhpcy50aGVPcHRpb25zPy5zY3JvbGxDb250YWluZXI7XG4gICAgICAgIGNvbnN0IG1heEhlaWdodCA9IHRoaXMudGhlT3B0aW9ucz8ubWF4SGVpZ2h0O1xuICAgICAgICBpZiAoaXNFZGl0YWJsZSAmJiAoc2Nyb2xsQ29udGFpbmVyIHx8IG1heEhlaWdodCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IG1heEhlaWdodCA/IERFRkFVTFRfU0NST0xMX0NPTlRBSU5FUiA6IHNjcm9sbENvbnRhaW5lcjtcbiAgICAgICAgICAgIHRoaXMuYXV0b1Njcm9sbFZpZXcodGhpcy5lZGl0b3IsIGNvbnRhaW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5lZGl0b3JWYWx1ZSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVkaXRvclZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgLy8gc2VyaWFsaXppbmdcbiAgICAgICAgbGV0IG5ld1ZhbHVlID0gdGhpcy5zZXJpYWxpemluZ1ZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKG5ld1ZhbHVlKTtcbiAgICB9XG5cbiAgICBzZXJpYWxpemluZ1ZhbHVlKHZhbHVlOiBEZXNjZW5kYW50W10pOiBzdHJpbmcgfCBEZXNjZW5kYW50W10ge1xuICAgICAgICBpZiAodGhpcy50aGVPcHRpb25zPy5tb2RlID09PSBUaGVEYXRhTW9kZS5odG1sKSB7XG4gICAgICAgICAgICBsZXQgaHRtbFZhbHVlID0gJyc7XG4gICAgICAgICAgICB2YWx1ZS5mb3JFYWNoKChlbGVtZW50OiBFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IGVsZW1lbnRIdG1sID0gdGhpcy5lbGVtZW50VG9IdG1sLmdldChlbGVtZW50KTtcbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudEh0bWwgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBzZXJpYWxpemluZ1xuICAgICAgICAgICAgICAgICAgICBlbGVtZW50SHRtbCA9IGRhdGFTZXJpYWxpemluZyh0aGlzLnRoZU9wdGlvbnM/Lm1vZGUsIFtlbGVtZW50XSkgYXMgc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICBodG1sVmFsdWUgKz0gZWxlbWVudEh0bWw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFRvSHRtbC5zZXQoZWxlbWVudCwgZWxlbWVudEh0bWwpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGh0bWxWYWx1ZSArPSBlbGVtZW50SHRtbDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGh0bWxWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgb25FcnJvckhhbmRsZXIoKSB7XG4gICAgICAgIHRoaXMuZWRpdG9yLm9uRXJyb3IgPSAoZXJyb3JEYXRhOiBTbGF0ZUVycm9yKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy50aGVPbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aGVPbkVycm9yKGVycm9yRGF0YSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGVycm9yRGF0YS5uYXRpdmVFcnJvcikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3JEYXRhLm5hdGl2ZUVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICByZW5kZXJFbGVtZW50ID0gKGVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgY29uc3QgdGVtcGxhdGUgPSB0aGlzLnRlbXBsYXRlSW5zdGFuY2UucmVuZGVyRWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5lZGl0b3IucmVuZGVyRWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudCA/IGNvbXBvbmVudCA6IHRlbXBsYXRlO1xuICAgIH07XG5cbiAgICByZW5kZXJMZWFmID0gKHRleHQ6IFRleHQpID0+IHtcbiAgICAgICAgY29uc3QgbGVhZiA9IHRoaXMuZWRpdG9yLnJlbmRlckxlYWYodGV4dCk7XG4gICAgICAgIHJldHVybiBsZWFmID8gbGVhZiA6IG51bGw7XG4gICAgfTtcblxuICAgIHJlbmRlclRleHQgPSAodGV4dDogVGV4dCkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBNYXJrVHlwZXMpIHtcbiAgICAgICAgICAgIGlmICh0ZXh0W01hcmtUeXBlc1trZXldXSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBUaGVUZXh0Q29tcG9uZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0ZXh0LnRleHQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgZ2VuZXJhdGVEZWNvcmF0ZSgpIHtcbiAgICAgICAgdGhpcy5kZWNvcmF0ZSA9IChub2RlRW50cnk6IE5vZGVFbnRyeSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGVjb3JhdGlvbnMgPSBbXTtcblxuICAgICAgICAgICAgaWYgKHRoaXMudGhlRGVjb3JhdGUpIHtcbiAgICAgICAgICAgICAgICBkZWNvcmF0aW9ucy5wdXNoKC4uLnRoaXMudGhlRGVjb3JhdGUodGhpcy5lZGl0b3IsIG5vZGVFbnRyeSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZGVjb3JhdGlvbnM7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgb25LZXlEb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIHNob3J0Y3V0cyh0aGlzLmVkaXRvciwgZXZlbnQpO1xuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnQsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAga2V5OiBldmVudC5rZXlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChpc0hvdGtleSgnbW9kK3MnLCBldmVudCkpIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50aGVPblNhdmUuZW1pdCh0aGlzLmVkaXRvclZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNIb3RrZXkoJ21vZCthJywgZXZlbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVNlbGVjdEFsbCgpO1xuICAgICAgICB9XG4gICAgICAgIEFuZ3VsYXJFZGl0b3Iub25LZXlkb3duKHRoaXMuZWRpdG9yLCBldmVudCk7XG4gICAgfTtcblxuICAgIG1vdXNlZG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBjb25zdCBlZGl0YWJsZUVsZW1lbnQgPSBBbmd1bGFyRWRpdG9yLnRvRE9NTm9kZSh0aGlzLmVkaXRvciwgdGhpcy5lZGl0b3IpO1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ID09PSBlZGl0YWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlY3RFZGl0YWJsZSA9IGVkaXRhYmxlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGNvbnN0IGNlbnRlclggPSByZWN0RWRpdGFibGUueCArIHJlY3RFZGl0YWJsZS53aWR0aCAvIDI7XG4gICAgICAgICAgICBsZXQgeyBwYWRkaW5nTGVmdCwgcGFkZGluZ1JpZ2h0IH0gPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlZGl0YWJsZUVsZW1lbnQsIG51bGwpO1xuICAgICAgICAgICAgY29uc3QgcGFkZGluZ0xlZnRQaXhlbHMgPSBjb2VyY2VQaXhlbHNGcm9tQ3NzVmFsdWUocGFkZGluZ0xlZnQpO1xuICAgICAgICAgICAgY29uc3QgcGFkZGluZ1JpZ2h0UGl4ZWxzID0gY29lcmNlUGl4ZWxzRnJvbUNzc1ZhbHVlKHBhZGRpbmdSaWdodCk7XG4gICAgICAgICAgICBjb25zdCBmYWtlTGVmdFggPSByZWN0RWRpdGFibGUueCArIHBhZGRpbmdMZWZ0UGl4ZWxzICsgNTA7XG4gICAgICAgICAgICBjb25zdCBmYWtlUmlnaHRYID0gcmVjdEVkaXRhYmxlLnJpZ2h0IC0gcGFkZGluZ1JpZ2h0UGl4ZWxzIC0gNTA7XG4gICAgICAgICAgICBsZXQgcmVsYXRpdmVFbGVtZW50ID0gZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChmYWtlTGVmdFgsIGV2ZW50LnkpO1xuICAgICAgICAgICAgbGV0IHJlbGF0aXZlQmxvY2tDYXJkRWxlbWVudDogRE9NRWxlbWVudCA9IHJlbGF0aXZlRWxlbWVudC5jbG9zZXN0KCcuc2xhdGUtYmxvY2stY2FyZCcpO1xuICAgICAgICAgICAgaWYgKCFyZWxhdGl2ZUJsb2NrQ2FyZEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICByZWxhdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGZha2VSaWdodFgsIGV2ZW50LnkpO1xuICAgICAgICAgICAgICAgIHJlbGF0aXZlQmxvY2tDYXJkRWxlbWVudCA9IHJlbGF0aXZlRWxlbWVudC5jbG9zZXN0KCcuc2xhdGUtYmxvY2stY2FyZCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJlbGF0aXZlQmxvY2tDYXJkRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrQ2FyZEVudHJ5ID0gQW5ndWxhckVkaXRvci50b1NsYXRlQ2FyZEVudHJ5KHRoaXMuZWRpdG9yLCByZWxhdGl2ZUJsb2NrQ2FyZEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQpO1xuICAgICAgICAgICAgICAgIGlmIChibG9ja0NhcmRFbnRyeSAmJiBibG9ja0NhcmRFbnRyeVsxXSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByb290Tm9kZVBhdGggPSBibG9ja0NhcmRFbnRyeVsxXS5zbGljZSgwLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm9vdE5vZGUgPSBUaGVRdWVyaWVzLmdldE5vZGUodGhpcy5lZGl0b3IsIHJvb3ROb2RlUGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmVkaXRvci5pc0Jsb2NrQ2FyZChyb290Tm9kZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBBbmd1bGFyRWRpdG9yLm1vdmVCbG9ja0NhcmQodGhpcy5lZGl0b3IsIHJvb3ROb2RlLCB7IGRpcmVjdGlvbjogZXZlbnQueCA8IGNlbnRlclggPyAnbGVmdCcgOiAncmlnaHQnIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlU2VsZWN0QWxsKCkge1xuICAgICAgICBsZXQgbm9kZTtcbiAgICAgICAgaWYgKCF0aGlzLmVkaXRvci5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIFRoZVRyYW5zZm9ybXMuc2V0RW5kU2VsZWN0aW9uKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSBSYW5nZS5lZGdlcyh0aGlzLmVkaXRvci5zZWxlY3Rpb24pO1xuICAgICAgICBjb25zdCBzZWxlY3Rpb25SYW5nZSA9IEVkaXRvci5yYW5nZSh0aGlzLmVkaXRvciwgc3RhcnQsIGVuZCk7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lckJsb2NrcyA9IFRoZVF1ZXJpZXMuZ2V0Q29udGFpbmVyQmxvY2tzKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb250YWluZXJCbG9ja3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIFtub2RlXSA9IFRoZVF1ZXJpZXMuZ2V0Tm9kZXNCeVR5cGUodGhpcy5lZGl0b3IsIGNvbnRhaW5lckJsb2Nrc1tpXSk7XG4gICAgICAgICAgICBpZiAobm9kZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IFssIHBhdGhdID0gbm9kZTtcbiAgICAgICAgICAgICAgICBjb25zdCBpc1N0YXJ0UGFyZW50ID0gUGF0aC5lcXVhbHMocGF0aCwgc3RhcnQucGF0aC5zbGljZSgwLCBwYXRoLmxlbmd0aCkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzRW5kUGFyZW50ID0gUGF0aC5lcXVhbHMocGF0aCwgZW5kLnBhdGguc2xpY2UoMCwgcGF0aC5sZW5ndGgpKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNTdGFydFBhcmVudCAmJiBpc0VuZFBhcmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBub2RlUmFuZ2UgPSBFZGl0b3IucmFuZ2UodGhpcy5lZGl0b3IsIHBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIVJhbmdlLmVxdWFscyhub2RlUmFuZ2UsIHNlbGVjdGlvblJhbmdlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QodGhpcy5lZGl0b3IsIG5vZGVSYW5nZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBub2RlID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFub2RlKSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdCh0aGlzLmVkaXRvciwgW10pO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvbkNsaWNrID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIEFuZ3VsYXJFZGl0b3Iub25DbGljayh0aGlzLmVkaXRvciwgZXZlbnQpO1xuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnRcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIG9uU2xhUGFzdGUgPSAoZXZlbnQ6IENsaXBib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLmdldFRleHRBbmRKU09OKGV2ZW50LmNsaXBib2FyZERhdGEpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBvblNsYUJlZm9yZUlucHV0ID0gKFxuICAgICAgICBldmVudDogRXZlbnQgJiB7XG4gICAgICAgICAgICBpbnB1dFR5cGU6IHN0cmluZztcbiAgICAgICAgICAgIGRhdGE6IHN0cmluZyB8IG51bGw7XG4gICAgICAgICAgICBkYXRhVHJhbnNmZXI6IERhdGFUcmFuc2ZlciB8IG51bGw7XG4gICAgICAgIH1cbiAgICApID0+IHtcbiAgICAgICAgbGV0IGRhdGEgPSB7XG4gICAgICAgICAgICBpbnB1dFR5cGU6IGV2ZW50LmlucHV0VHlwZSxcbiAgICAgICAgICAgIHRleHQ6IChldmVudC5kYXRhIHx8IGV2ZW50LmRhdGFUcmFuc2ZlcikgYXMgc3RyaW5nXG4gICAgICAgIH07XG4gICAgICAgIGlmIChldmVudC5pbnB1dFR5cGUgPT09ICdpbnNlcnRGcm9tUGFzdGUnKSB7XG4gICAgICAgICAgICBkYXRhID0ge1xuICAgICAgICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgICAgICAgLi4udGhpcy5nZXRUZXh0QW5kSlNPTigoZXZlbnQuZGF0YSB8fCBldmVudC5kYXRhVHJhbnNmZXIpIGFzIERhdGFUcmFuc2ZlcilcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgb25TbGFCbHVyID0gKGV2ZW50OiBGb2N1c0V2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgb25TbGFGb2N1cyA9IChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBvblNsYUN1dCA9IChldmVudDogQ2xpcGJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBvblNsYUNvcHkgPSAoZXZlbnQ6IENsaXBib2FyZEV2ZW50KSA9PiB7fTtcblxuICAgIG9uU2xhQ29tcG9zaXRpb25TdGFydCA9IChldmVudDogQ29tcG9zaXRpb25FdmVudCkgPT4ge307XG5cbiAgICBvblNsYUNvbXBvc2l0aW9uRW5kID0gKGV2ZW50OiBDb21wb3NpdGlvbkV2ZW50KSA9PiB7fTtcblxuICAgIG9uU2xhRHJhZ1N0YXJ0ID0gKGV2ZW50OiBEcmFnRXZlbnQpID0+IHt9O1xuXG4gICAgb25TbGFEcmFnT3ZlciA9IChldmVudDogRHJhZ0V2ZW50KSA9PiB7fTtcblxuICAgIG9uRHJvcCA9IChldmVudDogRHJhZ0V2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0VGV4dEFuZEpTT04oZGF0YTogRGF0YVRyYW5zZmVyKSB7XG4gICAgICAgIGNvbnN0IGZyYWdtZW50ID0gZGF0YS5nZXREYXRhKGBhcHBsaWNhdGlvbi8ke0NMSVBCT0FSRF9GT1JNQVRfS0VZfWApO1xuICAgICAgICBsZXQganNvbiA9IFtdO1xuICAgICAgICBpZiAoZnJhZ21lbnQpIHtcbiAgICAgICAgICAgIGpzb24gPSBKU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudCh3aW5kb3cuYXRvYihmcmFnbWVudCkpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0ZXh0ID0gZGF0YS5nZXREYXRhKCd0ZXh0L3BsYWluJyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBqc29uLFxuICAgICAgICAgICAgdGV4dFxuICAgICAgICB9O1xuICAgIH1cbn1cbiIsIjx0aGUtdG9vbGJhclxuICAgICpuZ0lmPVwiIXRoZU9wdGlvbnM/LnJlYWRvbmx5ICYmICF0aGVHbG9iYWxUb29sYmFyXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICd0aGUtdG9vbGJhci1kaXNhYmxlZCc6IHRoZU9wdGlvbnM/LmRpc2FibGVkXG4gICAgfVwiXG4gICAgI2dsb2JhbFRvb2xiYXJcbiAgICBbZWRpdG9yXT1cImVkaXRvclwiXG4gICAgW3Rvb2xiYXJJdGVtc109XCJ0b29sYmFyRW50aXR5Lmdsb2JhbFwiXG4gICAgW2NvbnRhaW5lckNsYXNzXT1cImdsb2JhbFRvb2xiYXJDbGFzc1wiXG4gICAgW2FsaWduXT1cInRoZU9wdGlvbnM/LnRvb2xiYXI/LmFsaWduXCJcbj48L3RoZS10b29sYmFyPlxuXG48ZGl2XG4gICAgY2xhc3M9XCJ0aGUtZWRpdGFibGUtY29udGFpbmVyXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICd0aGUtZWRpdG9yLWRpc2FibGVkJzogdGhlT3B0aW9ucz8uZGlzYWJsZWQsXG4gICAgICAgICdtYXgtaGVpZ2h0JzogbWF4SGVpZ2h0XG4gICAgfVwiXG4gICAgW25nU3R5bGVdPVwieyAnbWF4LWhlaWdodCc6IG1heEhlaWdodCB9XCJcbj5cbiAgICA8c2xhdGUtZWRpdGFibGVcbiAgICAgICAgY2xhc3M9XCJ0aGUtZWRpdG9yLXR5cG9cIlxuICAgICAgICBbZWRpdG9yXT1cImVkaXRvclwiXG4gICAgICAgIFtuZ01vZGVsXT1cImVkaXRvclZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtkZWNvcmF0ZV09XCJkZWNvcmF0ZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJ0aGVPcHRpb25zPy5wbGFjZWhvbGRlclwiXG4gICAgICAgIFtwbGFjZWhvbGRlckRlY29yYXRlXT1cInRoZU9wdGlvbnM/LnBsYWNlaG9sZGVyRGVjb3JhdGUgPyB0aGVPcHRpb25zPy5wbGFjZWhvbGRlckRlY29yYXRlIDogbnVsbFwiXG4gICAgICAgIFtyZW5kZXJFbGVtZW50XT1cInJlbmRlckVsZW1lbnRcIlxuICAgICAgICBbcmVuZGVyVGV4dF09XCJyZW5kZXJUZXh0XCJcbiAgICAgICAgW3JlbmRlckxlYWZdPVwicmVuZGVyTGVhZlwiXG4gICAgICAgIFtyZWFkb25seV09XCJ0aGVPcHRpb25zPy5yZWFkb25seSB8fCB0aGVPcHRpb25zPy5kaXNhYmxlZFwiXG4gICAgICAgIFtrZXlkb3duXT1cIm9uS2V5RG93blwiXG4gICAgICAgIFtjbGlja109XCJvbkNsaWNrXCJcbiAgICAgICAgW3Bhc3RlXT1cIm9uU2xhUGFzdGVcIlxuICAgICAgICBbYmVmb3JlSW5wdXRdPVwib25TbGFCZWZvcmVJbnB1dFwiXG4gICAgICAgIFtibHVyXT1cIm9uU2xhQmx1clwiXG4gICAgICAgIFtmb2N1c109XCJvblNsYUZvY3VzXCJcbiAgICAgICAgW2NvcHldPVwib25TbGFDb3B5XCJcbiAgICAgICAgW2N1dF09XCJvblNsYUN1dFwiXG4gICAgICAgIFtpc1N0cmljdERlY29yYXRlXT1cImZhbHNlXCJcbiAgICAgICAgW2NvbXBvc2l0aW9uU3RhcnRdPVwib25TbGFDb21wb3NpdGlvblN0YXJ0XCJcbiAgICAgICAgW2NvbXBvc2l0aW9uRW5kXT1cIm9uU2xhQ29tcG9zaXRpb25FbmRcIlxuICAgICAgICBbZHJhZ1N0YXJ0XT1cIm9uU2xhRHJhZ1N0YXJ0XCJcbiAgICAgICAgW2RyYWdPdmVyXT1cIm9uU2xhRHJhZ092ZXJcIlxuICAgICAgICBbZHJvcF09XCJvbkRyb3BcIlxuICAgICAgICAobW91c2Vkb3duKT1cIm1vdXNlZG93bigkZXZlbnQpXCJcbiAgICA+PC9zbGF0ZS1lZGl0YWJsZT5cbiAgICA8dGhlLWlubGluZS10b29sYmFyXG4gICAgICAgICpuZ0lmPVwiIXRoZU9wdGlvbnM/LnJlYWRvbmx5ICYmIHRoZU9wdGlvbnM/LmlubGluZVRvb2JhclZpc2libGVcIlxuICAgICAgICBbZWRpdG9yXT1cImVkaXRvclwiXG4gICAgICAgIFt0b29sYmFySXRlbXNdPVwidG9vbGJhckVudGl0eS5pbmxpbmVcIlxuICAgID48L3RoZS1pbmxpbmUtdG9vbGJhcj5cbiAgICA8ZGl2XG4gICAgICAgICNxdWlja0luc2VydFxuICAgICAgICB0aGVRdWlja0luc2VydFxuICAgICAgICBbZWRpdG9yXT1cImVkaXRvclwiXG4gICAgICAgIFtxdWlja1Rvb2xiYXJJdGVtc109XCJxdWlja1Rvb2xiYXJJdGVtc1wiXG4gICAgICAgIFtpc1Zpc2libGVdPVwidGhlT3B0aW9ucz8ucXVpY2tJbnNlcnRWaXNpYmxlXCJcbiAgICA+PC9kaXY+XG4gICAgPHRoZS10ZW1wbGF0ZSAjdGVtcGxhdGVJbnN0YW5jZT48L3RoZS10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
445
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy9lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vcGFja2FnZXMvc3JjL2VkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsU0FBUyxFQUNULEtBQUssRUFFTCxTQUFTLEVBRVQsVUFBVSxFQUNWLE1BQU0sRUFDTixZQUFZLEVBSVosdUJBQXVCLEVBRTFCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxFQUFFLE1BQU0sRUFBUSxVQUFVLEVBQUUsWUFBWSxFQUF1QixLQUFLLEVBQUUsSUFBSSxFQUFtQixNQUFNLE9BQU8sQ0FBQztBQUNsSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQWMsV0FBVyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBc0QsV0FBVyxFQUFpQixNQUFNLGNBQWMsQ0FBQztBQUM5RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0Ms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S0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksU0FBUztzQkFBbEIsTUFBTTtnQkFFRyxhQUFhO3NCQUF0QixNQUFNO2dCQUVHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFHUCxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSS9DLHFCQUFxQjtzQkFEcEIsU0FBUzt1QkFBQyxlQUFlO2dCQUkxQixtQkFBbUI7c0JBRGxCLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgT25Jbml0LFxuICAgIE9uRGVzdHJveSxcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgTmdab25lLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBtaXhpblVuc3Vic2NyaWJlLCBNaXhpbkJhc2UgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IGlzSG90a2V5IGZyb20gJ2lzLWhvdGtleSc7XG5pbXBvcnQgeyBFZGl0b3IsIFRleHQsIFRyYW5zZm9ybXMsIGNyZWF0ZUVkaXRvciwgRWxlbWVudCwgRGVzY2VuZGFudCwgUmFuZ2UsIFBhdGgsIE5vZGVFbnRyeSwgTm9kZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IHdpdGhIaXN0b3J5IH0gZnJvbSAnc2xhdGUtaGlzdG9yeSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yLCBTbGF0ZUVycm9yLCB3aXRoQW5ndWxhciwgRE9NRWxlbWVudCB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgVGhlUGx1Z2luLCBUaGVPcHRpb25zLCBEb21FdmVudERhdGFJbmZvLCBUaGVFZGl0b3IsIFRoZURhdGFNb2RlLCBUb29sYmFyRW50aXR5IH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE1hcmtUeXBlcyB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IHdpdGhUaGVFZGl0b3IsIHRvb2xiYXJDb21wb3NlIH0gZnJvbSAnLi9wbHVnaW5zL2luZGV4JztcbmltcG9ydCB7IFRoZVRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RlbXBsYXRlL3RlbXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBzaG9ydGN1dHMgfSBmcm9tICcuL3Nob3J0Y3V0cyc7XG5pbXBvcnQgeyBUaGVUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3Rvb2xiYXIuc2VydmljZSc7XG5pbXBvcnQgeyBUaGVDb250ZXh0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IFRoZVRleHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDTElQQk9BUkRfRk9STUFUX0tFWSwgREVGQVVMVF9TQ1JPTExfQ09OVEFJTkVSIH0gZnJvbSAnLi9jb25zdGFudHMvZGVmYXVsdCc7XG5pbXBvcnQgeyBUaGVDb2xvclNlbGVjdFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbG9yLXNlbGVjdC5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi90cmFuc2Zvcm1zJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi9xdWVyaWVzJztcbmltcG9ydCB7IGF1dG9Gb2N1cyB9IGZyb20gJy4vdXRpbHMvYXV0by1mb2N1cyc7XG5pbXBvcnQgeyBhdXRvU2Nyb2xsVmlld0hhbmRsZSB9IGZyb20gJy4vdXRpbHMvYXV0by1zY3JvbGwtdmlldyc7XG5pbXBvcnQgeyBfIH0gZnJvbSAnLi91dGlscy9sb2Rhc2gnO1xuaW1wb3J0IHsgZGF0YURlc2VyaWFsaXplLCBkYXRhU2VyaWFsaXppbmcgfSBmcm9tICcuL3V0aWxzL2RhdGEtdHJhbnNmb3JtJztcbmltcG9ydCB7IHNldEVkaXRvclVVSUQgfSBmcm9tICcuL3V0aWxzL2VkaXRvci11dWlkJztcbmltcG9ydCB7IGlkQ3JlYXRvciB9IGZyb20gJy4vdXRpbHMvaWQtY3JlYXRvcic7XG5pbXBvcnQgeyBUaGVRdWlja0luc2VydENvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9xdWljay1pbnNlcnQvY29tcG9uZW50cy9xdWljay1pbnNlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IGdldFRvb2xiYXJDbGFzcyB9IGZyb20gJy4vdXRpbHMvZ2V0LXRvb2xiYXItY2xhc3MnO1xuaW1wb3J0IHsgY29lcmNlUGl4ZWxzRnJvbUNzc1ZhbHVlIH0gZnJvbSAnLi91dGlscy9kb20nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoZS1lZGl0b3IsIHRoZUVkaXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICdlZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUaGVUb29sYmFyU2VydmljZSxcbiAgICAgICAgVGhlQ29udGV4dFNlcnZpY2UsXG4gICAgICAgIFRoZUNvbG9yU2VsZWN0U2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUaGVFZGl0b3JDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoZS1lZGl0b3InLFxuICAgICAgICAnW2NsYXNzLnRoZS1lZGl0b3ItcmVhZG9ubHldJzogJ3RoZU9wdGlvbnM/LnJlYWRvbmx5J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGhlRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgbWl4aW5VbnN1YnNjcmliZShNaXhpbkJhc2UpIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgdGhlT3B0aW9uczogVGhlT3B0aW9ucztcblxuICAgIEBJbnB1dCgpIHRoZVBsdWdpbnM6IFRoZVBsdWdpbltdID0gW107XG5cbiAgICBASW5wdXQoKSB0aGVHbG9iYWxUb29sYmFyPzogVGhlVG9vbGJhckNvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpIHRoZURlY29yYXRlOiAoZWRpdG9yOiBUaGVFZGl0b3IsIG5vZGVFbnRyeTogTm9kZUVudHJ5KSA9PiBSYW5nZVtdO1xuXG4gICAgQElucHV0KCkgdGhlT25FcnJvcj86IChlcnJvcjogU2xhdGVFcnJvcikgPT4gdm9pZDtcblxuICAgIEBPdXRwdXQoKSB0aGVPblNhdmU6IEV2ZW50RW1pdHRlcjxEZXNjZW5kYW50W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxEZXNjZW5kYW50W10+KCk7XG5cbiAgICBAT3V0cHV0KCkgdGhlT25ET01FdmVudDogRXZlbnRFbWl0dGVyPHsgbmF0aXZlRXZlbnQ6IEV2ZW50OyBkYXRhPzogRG9tRXZlbnREYXRhSW5mbyB9PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKSB0aGVFZGl0b3JDcmVhdGVkOiBFdmVudEVtaXR0ZXI8RWRpdG9yPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlSW5zdGFuY2UnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHRlbXBsYXRlSW5zdGFuY2U6IFRoZVRlbXBsYXRlQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZCgnZ2xvYmFsVG9vbGJhcicpXG4gICAgZ2xvYmFsVG9vbGJhckluc3RhbmNlOiBUaGVUb29sYmFyQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZCgncXVpY2tJbnNlcnQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHF1aWNrSW5zZXJ0SW5zdGFuY2U6IFRoZVF1aWNrSW5zZXJ0Q29tcG9uZW50O1xuXG4gICAgX3BsdWdpbnM6IFRoZVBsdWdpbltdID0gW107XG5cbiAgICB0b29sYmFyRW50aXR5OiBUb29sYmFyRW50aXR5O1xuXG4gICAgZWRpdG9yOiBUaGVFZGl0b3I7XG5cbiAgICBlZGl0b3JWYWx1ZTogRGVzY2VuZGFudFtdO1xuXG4gICAgZ2xvYmFsVG9vbGJhckNsYXNzOiBzdHJpbmdbXTtcblxuICAgIGRlY29yYXRlOiAobm9kZUVudHJ5OiBOb2RlRW50cnkpID0+IFJhbmdlW107XG5cbiAgICBnZXQgdGhlR2xvYmFsVG9vbGJhckluc3RhbmNlKCk6IFRoZVRvb2xiYXJDb21wb25lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy50aGVHbG9iYWxUb29sYmFyID8gdGhpcy50aGVHbG9iYWxUb29sYmFyIDogdGhpcy5nbG9iYWxUb29sYmFySW5zdGFuY2U7XG4gICAgfVxuXG4gICAgZ2V0IG1heEhlaWdodCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGhlT3B0aW9ucz8ubWF4SGVpZ2h0ID8gYCR7dGhpcy50aGVPcHRpb25zPy5tYXhIZWlnaHR9cHhgIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgcXVpY2tUb29sYmFySXRlbXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvb2xiYXJFbnRpdHk/LnF1aWNrO1xuICAgIH1cblxuICAgIGF1dG9TY3JvbGxWaWV3ID0gXy5kZWJvdW5jZShmdW5jdGlvbiAoZWRpdG9yOiBFZGl0b3IsIHNjcm9sbENvbnRhaW5lcjogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBhdXRvU2Nyb2xsVmlld0hhbmRsZShlZGl0b3IsIHNjcm9sbENvbnRhaW5lcik7XG4gICAgfSwgODApO1xuXG4gICAgZWxlbWVudFRvSHRtbDogV2Vha01hcDxFbGVtZW50LCBzdHJpbmc+ID0gbmV3IFdlYWtNYXAoKTtcblxuICAgIHByaXZhdGUgb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgcHJpdmF0ZSBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdG9vbGJhclNlcnZpY2U6IFRoZVRvb2xiYXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRoZUNvbnRleHRTZXJ2aWNlOiBUaGVDb250ZXh0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5vbkVycm9ySGFuZGxlcigpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGNoYW5nZXMudGhlT3B0aW9ucztcblxuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplT3B0aW9ucygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuY3VycmVudFZhbHVlPy5yZWFkb25seSAhPT0gb3B0aW9ucy5wcmV2aW91c1ZhbHVlPy5yZWFkb25seSkge1xuICAgICAgICAgICAgdGhpcy5hcHBseUF1dG9Gb2N1cygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzWyd0aGVEZWNvcmF0ZSddKSB7XG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlRGVjb3JhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5lZGl0b3I/LnNlbGVjdGlvbiAmJiAob3B0aW9ucz8uY3VycmVudFZhbHVlPy5yZWFkb25seSB8fCBvcHRpb25zPy5jdXJyZW50VmFsdWU/LmRpc2FibGVkKSkge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5kZXNlbGVjdCh0aGlzLmVkaXRvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCkge1xuICAgICAgICB0aGlzLmVkaXRvciA9IHdpdGhUaGVFZGl0b3I8VGhlRWRpdG9yPih0aGlzLnRoZVBsdWdpbnMsIHdpdGhIaXN0b3J5KHdpdGhBbmd1bGFyKGNyZWF0ZUVkaXRvcigpLCBDTElQQk9BUkRfRk9STUFUX0tFWSkpKTtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZURlY29yYXRlKCk7XG4gICAgICAgIHRoaXMuZWRpdG9yLmRpc2FibGVkID0gdGhpcy50aGVPcHRpb25zPy5kaXNhYmxlZDtcbiAgICAgICAgdGhpcy5lZGl0b3IuZXh0cmFFbGVtZW50T3B0aW9ucyA9IHRoaXMudGhlT3B0aW9ucz8uZXh0cmFFbGVtZW50T3B0aW9ucztcbiAgICAgICAgdGhpcy5lZGl0b3IuZXh0cmFBdXRvRm9ybWF0UnVsZXMgPSB0aGlzLnRoZU9wdGlvbnM/LmV4dHJhQXV0b0Zvcm1hdFJ1bGVzO1xuICAgICAgICBzZXRFZGl0b3JVVUlEKHRoaXMuZWRpdG9yLCBpZENyZWF0b3IoKSk7XG4gICAgICAgIHRoaXMudGhlQ29udGV4dFNlcnZpY2UuaW5pdGlhbGl6ZSh7XG4gICAgICAgICAgICB0aGVPcHRpb25zOiB0aGlzLnRoZU9wdGlvbnMsXG4gICAgICAgICAgICBuYXRpdmVFbGVtZW50OiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZlxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50b29sYmFyQ2FsY3VsYXRlKCk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgLy8gWW91IG5lZWQgdG8gd2FpdCBmb3IgdGhlIGVkaXRvciByZW5kZXJpbmcgdG8gY29tcGxldGVcbiAgICAgICAgICAgIC8vIGJlZm9yZSB0cmlnZ2VyaW5nIHRoZSBleHRlcm5hbCB0b29sYmFyIGFzc2lnbm1lbnQgZGV0ZWN0aW9uXG4gICAgICAgICAgICB0aGlzLmdsb2JhbFRvb2xiYXJJbml0KCk7XG4gICAgICAgICAgICB0aGlzLnRoZUVkaXRvckNyZWF0ZWQuZW1pdCh0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICB0aGlzLmFwcGx5QXV0b0ZvY3VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVPcHRpb25zKCkge1xuICAgICAgICBpZiAoIXRoaXMudGhlT3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy50aGVPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIHJlYWRvbmx5OiBmYWxzZSxcbiAgICAgICAgICAgICAgICBtb2RlOiBUaGVEYXRhTW9kZS5odG1sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy50aGVPcHRpb25zLm1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMudGhlT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLnRoZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgbW9kZTogVGhlRGF0YU1vZGUuaHRtbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFwcGx5QXV0b0ZvY3VzKCkge1xuICAgICAgICBpZiAoIXRoaXMudGhlT3B0aW9ucz8uZGlzYWJsZWQgJiYgIXRoaXMudGhlT3B0aW9ucz8ucmVhZG9ubHkpIHtcbiAgICAgICAgICAgIGF1dG9Gb2N1cyh0aGlzLmVkaXRvciwgdGhpcy50aGVPcHRpb25zPy5hdXRvRm9jdXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9vbGJhckNhbGN1bGF0ZSgpIHtcbiAgICAgICAgY29uc3QgdG9vbGJhciA9IHRoaXM/LnRoZU9wdGlvbnM/LnRvb2xiYXI7XG4gICAgICAgIGNvbnN0IHRvb2xiYXJJdGVtcyA9IHRvb2xiYXJDb21wb3NlKHRvb2xiYXI/LnRvb2xiYXJJdGVtcyk7XG4gICAgICAgIGNvbnN0IHRvb2xiYXJPcHRpb24gPSB0aGlzLnRvb2xiYXJTZXJ2aWNlLmluaXRpYWxpemUodG9vbGJhckl0ZW1zLCB0b29sYmFyPy5nbG9iYWwsIHRvb2xiYXI/LmlubGluZSwgdG9vbGJhcj8ucXVpY2spO1xuICAgICAgICB0aGlzLmdsb2JhbFRvb2xiYXJDbGFzcyA9IFsndGhlLWdsb2JhbC10b29sYmFyJywgZ2V0VG9vbGJhckNsYXNzKHRoaXMuZWRpdG9yKV07XG4gICAgICAgIHRoaXMudG9vbGJhckVudGl0eSA9IHRvb2xiYXJPcHRpb24udG9vbGJhckVudGl0eTtcbiAgICB9XG5cbiAgICBnbG9iYWxUb29sYmFySW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMudGhlR2xvYmFsVG9vbGJhcikge1xuICAgICAgICAgICAgdGhpcy50aGVHbG9iYWxUb29sYmFySW5zdGFuY2UuZWRpdG9yID0gdGhpcy5lZGl0b3I7XG4gICAgICAgICAgICB0aGlzLnRoZUdsb2JhbFRvb2xiYXJJbnN0YW5jZS50b29sYmFySXRlbXMgPSB0aGlzLnRvb2xiYXJFbnRpdHkuZ2xvYmFsO1xuICAgICAgICAgICAgdGhpcy50aGVHbG9iYWxUb29sYmFySW5zdGFuY2UuY29udGFpbmVyQ2xhc3MgPSB0aGlzLmdsb2JhbFRvb2xiYXJDbGFzcztcbiAgICAgICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlLmFsaWduID0gdGhpcz8udGhlT3B0aW9ucz8udG9vbGJhcj8uYWxpZ247XG4gICAgICAgICAgICB0aGlzLnRoZUdsb2JhbFRvb2xiYXJJbnN0YW5jZS5zZXRUb29sYmFyQ2xhc3MoKTtcbiAgICAgICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlLnJlbmRlclRvb2xiYXJWaWV3KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBEZXNjZW5kYW50W10pIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IGRhdGFEZXNlcmlhbGl6ZSh0aGlzLnRoZU9wdGlvbnM/Lm1vZGUsIHZhbHVlKTtcbiAgICAgICAgLy8gZGF0YS1kZXNlcmlhbGl6ZVxuICAgICAgICB0aGlzLmVkaXRvclZhbHVlID0gZGF0YTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIHZhbHVlQ2hhbmdlKHZhbHVlOiBEZXNjZW5kYW50W10pIHtcbiAgICAgICAgY29uc3QgaXNFZGl0YWJsZSA9ICF0aGlzLnRoZU9wdGlvbnM/LnJlYWRvbmx5ICYmICF0aGlzLnRoZU9wdGlvbnM/LmRpc2FibGVkO1xuXG4gICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlPy5zdGF0dXNDaGFuZ2UodGhpcy5lZGl0b3IpO1xuXG4gICAgICAgIC8vIHF1aWNrIGluc2VydCBidXR0b25cbiAgICAgICAgaWYgKGlzRWRpdGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMucXVpY2tJbnNlcnRJbnN0YW5jZT8uY2hlY2tTdGF0dXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGF1dG8gc2Nyb2xsIHZpZXdcbiAgICAgICAgY29uc3Qgc2Nyb2xsQ29udGFpbmVyID0gdGhpcy50aGVPcHRpb25zPy5zY3JvbGxDb250YWluZXI7XG4gICAgICAgIGNvbnN0IG1heEhlaWdodCA9IHRoaXMudGhlT3B0aW9ucz8ubWF4SGVpZ2h0O1xuICAgICAgICBpZiAoaXNFZGl0YWJsZSAmJiAoc2Nyb2xsQ29udGFpbmVyIHx8IG1heEhlaWdodCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IG1heEhlaWdodCA/IERFRkFVTFRfU0NST0xMX0NPTlRBSU5FUiA6IHNjcm9sbENvbnRhaW5lcjtcbiAgICAgICAgICAgIHRoaXMuYXV0b1Njcm9sbFZpZXcodGhpcy5lZGl0b3IsIGNvbnRhaW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5lZGl0b3JWYWx1ZSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVkaXRvclZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgLy8gc2VyaWFsaXppbmdcbiAgICAgICAgbGV0IG5ld1ZhbHVlID0gdGhpcy5zZXJpYWxpemluZ1ZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKG5ld1ZhbHVlKTtcbiAgICB9XG5cbiAgICBzZXJpYWxpemluZ1ZhbHVlKHZhbHVlOiBEZXNjZW5kYW50W10pOiBzdHJpbmcgfCBEZXNjZW5kYW50W10ge1xuICAgICAgICBpZiAodGhpcy50aGVPcHRpb25zPy5tb2RlID09PSBUaGVEYXRhTW9kZS5odG1sKSB7XG4gICAgICAgICAgICBsZXQgaHRtbFZhbHVlID0gJyc7XG4gICAgICAgICAgICB2YWx1ZS5mb3JFYWNoKChlbGVtZW50OiBFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IGVsZW1lbnRIdG1sID0gdGhpcy5lbGVtZW50VG9IdG1sLmdldChlbGVtZW50KTtcbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudEh0bWwgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBzZXJpYWxpemluZ1xuICAgICAgICAgICAgICAgICAgICBlbGVtZW50SHRtbCA9IGRhdGFTZXJpYWxpemluZyh0aGlzLnRoZU9wdGlvbnM/Lm1vZGUsIFtlbGVtZW50XSkgYXMgc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICBodG1sVmFsdWUgKz0gZWxlbWVudEh0bWw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFRvSHRtbC5zZXQoZWxlbWVudCwgZWxlbWVudEh0bWwpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGh0bWxWYWx1ZSArPSBlbGVtZW50SHRtbDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGh0bWxWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgb25FcnJvckhhbmRsZXIoKSB7XG4gICAgICAgIHRoaXMuZWRpdG9yLm9uRXJyb3IgPSAoZXJyb3JEYXRhOiBTbGF0ZUVycm9yKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy50aGVPbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aGVPbkVycm9yKGVycm9yRGF0YSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGVycm9yRGF0YS5uYXRpdmVFcnJvcikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3JEYXRhLm5hdGl2ZUVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICByZW5kZXJFbGVtZW50ID0gKGVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgY29uc3QgdGVtcGxhdGUgPSB0aGlzLnRlbXBsYXRlSW5zdGFuY2UucmVuZGVyRWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5lZGl0b3IucmVuZGVyRWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudCA/IGNvbXBvbmVudCA6IHRlbXBsYXRlO1xuICAgIH07XG5cbiAgICByZW5kZXJMZWFmID0gKHRleHQ6IFRleHQpID0+IHtcbiAgICAgICAgY29uc3QgbGVhZiA9IHRoaXMuZWRpdG9yLnJlbmRlckxlYWYodGV4dCk7XG4gICAgICAgIHJldHVybiBsZWFmID8gbGVhZiA6IG51bGw7XG4gICAgfTtcblxuICAgIHJlbmRlclRleHQgPSAodGV4dDogVGV4dCkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBNYXJrVHlwZXMpIHtcbiAgICAgICAgICAgIGlmICh0ZXh0W01hcmtUeXBlc1trZXldXSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBUaGVUZXh0Q29tcG9uZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0ZXh0LnRleHQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgZ2VuZXJhdGVEZWNvcmF0ZSgpIHtcbiAgICAgICAgdGhpcy5kZWNvcmF0ZSA9IChub2RlRW50cnk6IE5vZGVFbnRyeSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGVjb3JhdGlvbnMgPSBbXTtcblxuICAgICAgICAgICAgaWYgKHRoaXMudGhlRGVjb3JhdGUpIHtcbiAgICAgICAgICAgICAgICBkZWNvcmF0aW9ucy5wdXNoKC4uLnRoaXMudGhlRGVjb3JhdGUodGhpcy5lZGl0b3IsIG5vZGVFbnRyeSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZGVjb3JhdGlvbnM7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgb25LZXlEb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIHNob3J0Y3V0cyh0aGlzLmVkaXRvciwgZXZlbnQpO1xuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnQsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAga2V5OiBldmVudC5rZXlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChpc0hvdGtleSgnbW9kK3MnLCBldmVudCkpIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50aGVPblNhdmUuZW1pdCh0aGlzLmVkaXRvclZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNIb3RrZXkoJ21vZCthJywgZXZlbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVNlbGVjdEFsbCgpO1xuICAgICAgICB9XG4gICAgICAgIEFuZ3VsYXJFZGl0b3Iub25LZXlkb3duKHRoaXMuZWRpdG9yLCBldmVudCk7XG4gICAgfTtcblxuICAgIG1vdXNlZG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBjb25zdCBlZGl0YWJsZUVsZW1lbnQgPSBBbmd1bGFyRWRpdG9yLnRvRE9NTm9kZSh0aGlzLmVkaXRvciwgdGhpcy5lZGl0b3IpO1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ID09PSBlZGl0YWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlY3RFZGl0YWJsZSA9IGVkaXRhYmxlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGNvbnN0IGNlbnRlclggPSByZWN0RWRpdGFibGUueCArIHJlY3RFZGl0YWJsZS53aWR0aCAvIDI7XG4gICAgICAgICAgICBsZXQgeyBwYWRkaW5nTGVmdCwgcGFkZGluZ1JpZ2h0IH0gPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlZGl0YWJsZUVsZW1lbnQsIG51bGwpO1xuICAgICAgICAgICAgY29uc3QgcGFkZGluZ0xlZnRQaXhlbHMgPSBjb2VyY2VQaXhlbHNGcm9tQ3NzVmFsdWUocGFkZGluZ0xlZnQpO1xuICAgICAgICAgICAgY29uc3QgcGFkZGluZ1JpZ2h0UGl4ZWxzID0gY29lcmNlUGl4ZWxzRnJvbUNzc1ZhbHVlKHBhZGRpbmdSaWdodCk7XG4gICAgICAgICAgICBjb25zdCBmYWtlTGVmdFggPSByZWN0RWRpdGFibGUueCArIHBhZGRpbmdMZWZ0UGl4ZWxzICsgNTA7XG4gICAgICAgICAgICBjb25zdCBmYWtlUmlnaHRYID0gcmVjdEVkaXRhYmxlLnJpZ2h0IC0gcGFkZGluZ1JpZ2h0UGl4ZWxzIC0gNTA7XG4gICAgICAgICAgICBsZXQgcmVsYXRpdmVFbGVtZW50ID0gZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChmYWtlTGVmdFgsIGV2ZW50LnkpO1xuICAgICAgICAgICAgbGV0IHJlbGF0aXZlQmxvY2tDYXJkRWxlbWVudDogRE9NRWxlbWVudCA9IHJlbGF0aXZlRWxlbWVudC5jbG9zZXN0KCcuc2xhdGUtYmxvY2stY2FyZCcpO1xuICAgICAgICAgICAgaWYgKCFyZWxhdGl2ZUJsb2NrQ2FyZEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICByZWxhdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGZha2VSaWdodFgsIGV2ZW50LnkpO1xuICAgICAgICAgICAgICAgIHJlbGF0aXZlQmxvY2tDYXJkRWxlbWVudCA9IHJlbGF0aXZlRWxlbWVudC5jbG9zZXN0KCcuc2xhdGUtYmxvY2stY2FyZCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJlbGF0aXZlQmxvY2tDYXJkRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrQ2FyZEVudHJ5ID0gQW5ndWxhckVkaXRvci50b1NsYXRlQ2FyZEVudHJ5KHRoaXMuZWRpdG9yLCByZWxhdGl2ZUJsb2NrQ2FyZEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQpO1xuICAgICAgICAgICAgICAgIGlmIChibG9ja0NhcmRFbnRyeSAmJiBibG9ja0NhcmRFbnRyeVsxXSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByb290Tm9kZVBhdGggPSBibG9ja0NhcmRFbnRyeVsxXS5zbGljZSgwLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm9vdE5vZGUgPSBUaGVRdWVyaWVzLmdldE5vZGUodGhpcy5lZGl0b3IsIHJvb3ROb2RlUGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmVkaXRvci5pc0Jsb2NrQ2FyZChyb290Tm9kZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBBbmd1bGFyRWRpdG9yLm1vdmVCbG9ja0NhcmQodGhpcy5lZGl0b3IsIHJvb3ROb2RlLCB7IGRpcmVjdGlvbjogZXZlbnQueCA8IGNlbnRlclggPyAnbGVmdCcgOiAncmlnaHQnIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlU2VsZWN0QWxsKCkge1xuICAgICAgICBsZXQgbm9kZTtcbiAgICAgICAgaWYgKCF0aGlzLmVkaXRvci5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIFRoZVRyYW5zZm9ybXMuc2V0RW5kU2VsZWN0aW9uKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSBSYW5nZS5lZGdlcyh0aGlzLmVkaXRvci5zZWxlY3Rpb24pO1xuICAgICAgICBjb25zdCBzZWxlY3Rpb25SYW5nZSA9IEVkaXRvci5yYW5nZSh0aGlzLmVkaXRvciwgc3RhcnQsIGVuZCk7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lckJsb2NrcyA9IFRoZVF1ZXJpZXMuZ2V0Q29udGFpbmVyQmxvY2tzKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb250YWluZXJCbG9ja3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIFtub2RlXSA9IFRoZVF1ZXJpZXMuZ2V0Tm9kZXNCeVR5cGUodGhpcy5lZGl0b3IsIGNvbnRhaW5lckJsb2Nrc1tpXSk7XG4gICAgICAgICAgICBpZiAobm9kZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IFssIHBhdGhdID0gbm9kZTtcbiAgICAgICAgICAgICAgICBjb25zdCBpc1N0YXJ0UGFyZW50ID0gUGF0aC5lcXVhbHMocGF0aCwgc3RhcnQucGF0aC5zbGljZSgwLCBwYXRoLmxlbmd0aCkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzRW5kUGFyZW50ID0gUGF0aC5lcXVhbHMocGF0aCwgZW5kLnBhdGguc2xpY2UoMCwgcGF0aC5sZW5ndGgpKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNTdGFydFBhcmVudCAmJiBpc0VuZFBhcmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBub2RlUmFuZ2UgPSBFZGl0b3IucmFuZ2UodGhpcy5lZGl0b3IsIHBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIVJhbmdlLmVxdWFscyhub2RlUmFuZ2UsIHNlbGVjdGlvblJhbmdlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QodGhpcy5lZGl0b3IsIG5vZGVSYW5nZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBub2RlID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFub2RlKSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdCh0aGlzLmVkaXRvciwgW10pO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvbkNsaWNrID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIEFuZ3VsYXJFZGl0b3Iub25DbGljayh0aGlzLmVkaXRvciwgZXZlbnQpO1xuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnRcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIG9uU2xhUGFzdGUgPSAoZXZlbnQ6IENsaXBib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLmdldFRleHRBbmRKU09OKGV2ZW50LmNsaXBib2FyZERhdGEpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBvblNsYUJlZm9yZUlucHV0ID0gKFxuICAgICAgICBldmVudDogRXZlbnQgJiB7XG4gICAgICAgICAgICBpbnB1dFR5cGU6IHN0cmluZztcbiAgICAgICAgICAgIGRhdGE6IHN0cmluZyB8IG51bGw7XG4gICAgICAgICAgICBkYXRhVHJhbnNmZXI6IERhdGFUcmFuc2ZlciB8IG51bGw7XG4gICAgICAgIH1cbiAgICApID0+IHtcbiAgICAgICAgbGV0IGRhdGEgPSB7XG4gICAgICAgICAgICBpbnB1dFR5cGU6IGV2ZW50LmlucHV0VHlwZSxcbiAgICAgICAgICAgIHRleHQ6IChldmVudC5kYXRhIHx8IGV2ZW50LmRhdGFUcmFuc2ZlcikgYXMgc3RyaW5nXG4gICAgICAgIH07XG4gICAgICAgIGlmIChldmVudC5pbnB1dFR5cGUgPT09ICdpbnNlcnRGcm9tUGFzdGUnKSB7XG4gICAgICAgICAgICBkYXRhID0ge1xuICAgICAgICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgICAgICAgLi4udGhpcy5nZXRUZXh0QW5kSlNPTigoZXZlbnQuZGF0YSB8fCBldmVudC5kYXRhVHJhbnNmZXIpIGFzIERhdGFUcmFuc2ZlcilcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgb25TbGFCbHVyID0gKGV2ZW50OiBGb2N1c0V2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgb25TbGFGb2N1cyA9IChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBvblNsYUN1dCA9IChldmVudDogQ2xpcGJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBvblNsYUNvcHkgPSAoZXZlbnQ6IENsaXBib2FyZEV2ZW50KSA9PiB7fTtcblxuICAgIG9uU2xhQ29tcG9zaXRpb25TdGFydCA9IChldmVudDogQ29tcG9zaXRpb25FdmVudCkgPT4ge307XG5cbiAgICBvblNsYUNvbXBvc2l0aW9uRW5kID0gKGV2ZW50OiBDb21wb3NpdGlvbkV2ZW50KSA9PiB7fTtcblxuICAgIG9uU2xhRHJhZ1N0YXJ0ID0gKGV2ZW50OiBEcmFnRXZlbnQpID0+IHt9O1xuXG4gICAgb25TbGFEcmFnT3ZlciA9IChldmVudDogRHJhZ0V2ZW50KSA9PiB7fTtcblxuICAgIG9uRHJvcCA9IChldmVudDogRHJhZ0V2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0VGV4dEFuZEpTT04oZGF0YTogRGF0YVRyYW5zZmVyKSB7XG4gICAgICAgIGNvbnN0IGZyYWdtZW50ID0gZGF0YS5nZXREYXRhKGBhcHBsaWNhdGlvbi8ke0NMSVBCT0FSRF9GT1JNQVRfS0VZfWApO1xuICAgICAgICBsZXQganNvbiA9IFtdO1xuICAgICAgICBpZiAoZnJhZ21lbnQpIHtcbiAgICAgICAgICAgIGpzb24gPSBKU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudCh3aW5kb3cuYXRvYihmcmFnbWVudCkpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0ZXh0ID0gZGF0YS5nZXREYXRhKCd0ZXh0L3BsYWluJyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBqc29uLFxuICAgICAgICAgICAgdGV4dFxuICAgICAgICB9O1xuICAgIH1cbn1cbiIsIjx0aGUtdG9vbGJhclxuICAgICpuZ0lmPVwiIXRoZU9wdGlvbnM/LnJlYWRvbmx5ICYmICF0aGVHbG9iYWxUb29sYmFyXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICd0aGUtdG9vbGJhci1kaXNhYmxlZCc6IHRoZU9wdGlvbnM/LmRpc2FibGVkXG4gICAgfVwiXG4gICAgI2dsb2JhbFRvb2xiYXJcbiAgICBbZWRpdG9yXT1cImVkaXRvclwiXG4gICAgW3Rvb2xiYXJJdGVtc109XCJ0b29sYmFyRW50aXR5Lmdsb2JhbFwiXG4gICAgW2NvbnRhaW5lckNsYXNzXT1cImdsb2JhbFRvb2xiYXJDbGFzc1wiXG4gICAgW2FsaWduXT1cInRoZU9wdGlvbnM/LnRvb2xiYXI/LmFsaWduXCJcbj48L3RoZS10b29sYmFyPlxuXG48ZGl2XG4gICAgY2xhc3M9XCJ0aGUtZWRpdGFibGUtY29udGFpbmVyXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICd0aGUtZWRpdG9yLWRpc2FibGVkJzogdGhlT3B0aW9ucz8uZGlzYWJsZWQsXG4gICAgICAgICdtYXgtaGVpZ2h0JzogbWF4SGVpZ2h0XG4gICAgfVwiXG4gICAgW25nU3R5bGVdPVwieyAnbWF4LWhlaWdodCc6IG1heEhlaWdodCB9XCJcbj5cbiAgICA8c2xhdGUtZWRpdGFibGVcbiAgICAgICAgY2xhc3M9XCJ0aGUtZWRpdG9yLXR5cG9cIlxuICAgICAgICBbZWRpdG9yXT1cImVkaXRvclwiXG4gICAgICAgIFtuZ01vZGVsXT1cImVkaXRvclZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtkZWNvcmF0ZV09XCJkZWNvcmF0ZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJ0aGVPcHRpb25zPy5wbGFjZWhvbGRlclwiXG4gICAgICAgIFtwbGFjZWhvbGRlckRlY29yYXRlXT1cInRoZU9wdGlvbnM/LnBsYWNlaG9sZGVyRGVjb3JhdGUgPyB0aGVPcHRpb25zPy5wbGFjZWhvbGRlckRlY29yYXRlIDogbnVsbFwiXG4gICAgICAgIFtyZW5kZXJFbGVtZW50XT1cInJlbmRlckVsZW1lbnRcIlxuICAgICAgICBbcmVuZGVyVGV4dF09XCJyZW5kZXJUZXh0XCJcbiAgICAgICAgW3JlbmRlckxlYWZdPVwicmVuZGVyTGVhZlwiXG4gICAgICAgIFtyZWFkb25seV09XCJ0aGVPcHRpb25zPy5yZWFkb25seSB8fCB0aGVPcHRpb25zPy5kaXNhYmxlZFwiXG4gICAgICAgIFtrZXlkb3duXT1cIm9uS2V5RG93blwiXG4gICAgICAgIFtjbGlja109XCJvbkNsaWNrXCJcbiAgICAgICAgW3Bhc3RlXT1cIm9uU2xhUGFzdGVcIlxuICAgICAgICBbYmVmb3JlSW5wdXRdPVwib25TbGFCZWZvcmVJbnB1dFwiXG4gICAgICAgIFtibHVyXT1cIm9uU2xhQmx1clwiXG4gICAgICAgIFtmb2N1c109XCJvblNsYUZvY3VzXCJcbiAgICAgICAgW2NvcHldPVwib25TbGFDb3B5XCJcbiAgICAgICAgW2N1dF09XCJvblNsYUN1dFwiXG4gICAgICAgIFtpc1N0cmljdERlY29yYXRlXT1cImZhbHNlXCJcbiAgICAgICAgW2NvbXBvc2l0aW9uU3RhcnRdPVwib25TbGFDb21wb3NpdGlvblN0YXJ0XCJcbiAgICAgICAgW2NvbXBvc2l0aW9uRW5kXT1cIm9uU2xhQ29tcG9zaXRpb25FbmRcIlxuICAgICAgICBbZHJhZ1N0YXJ0XT1cIm9uU2xhRHJhZ1N0YXJ0XCJcbiAgICAgICAgW2RyYWdPdmVyXT1cIm9uU2xhRHJhZ092ZXJcIlxuICAgICAgICBbZHJvcF09XCJvbkRyb3BcIlxuICAgICAgICAobW91c2Vkb3duKT1cIm1vdXNlZG93bigkZXZlbnQpXCJcbiAgICA+PC9zbGF0ZS1lZGl0YWJsZT5cbiAgICA8dGhlLWlubGluZS10b29sYmFyXG4gICAgICAgICpuZ0lmPVwiIXRoZU9wdGlvbnM/LnJlYWRvbmx5ICYmIHRoZU9wdGlvbnM/LmlubGluZVRvb2JhclZpc2libGVcIlxuICAgICAgICBbZWRpdG9yXT1cImVkaXRvclwiXG4gICAgICAgIFt0b29sYmFySXRlbXNdPVwidG9vbGJhckVudGl0eS5pbmxpbmVcIlxuICAgID48L3RoZS1pbmxpbmUtdG9vbGJhcj5cbiAgICA8ZGl2XG4gICAgICAgICNxdWlja0luc2VydFxuICAgICAgICB0aGVRdWlja0luc2VydFxuICAgICAgICBbZWRpdG9yXT1cImVkaXRvclwiXG4gICAgICAgIFtxdWlja1Rvb2xiYXJJdGVtc109XCJxdWlja1Rvb2xiYXJJdGVtc1wiXG4gICAgICAgIFtpc1Zpc2libGVdPVwidGhlT3B0aW9ucz8ucXVpY2tJbnNlcnRWaXNpYmxlXCJcbiAgICA+PC9kaXY+XG4gICAgPHRoZS10ZW1wbGF0ZSAjdGVtcGxhdGVJbnN0YW5jZT48L3RoZS10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1mb3JtYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvaW50ZXJmYWNlcy9hdXRvLWZvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9Gb3JtYXRSdWxlIHtcbiAgICAvKipcbiAgICAgKiBUcmlnZ2VyaW5nIGNoYXJhY3RlciB0byBhdXRvZm9ybWF0LiBEZWZhdWx0IGlzIHNwYWNlLlxuICAgICAqL1xuICAgIHRyaWdnZXI/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIEJsb2NrIHR5cGUgdG8gYXV0b2Zvcm1hdC5cbiAgICAgKi9cbiAgICB0eXBlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBPbmUgb3IgbW9yZSBtYXJrdXAgdGhhdCBzaG91bGQgYmUgYmVmb3JlIHRoZSB0cmlnZ2VyaW5nIGNoYXJhY3RlciB0byBhdXRvZm9ybWF0LlxuICAgICAqL1xuICAgIG1hcmt1cD86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gICAgbWF0Y2g/OiAoZWRpdG9yOiBFZGl0b3IsIG1hcmt1cDogc3RyaW5nIHwgc3RyaW5nW10pID0+IGFueTtcblxuICAgIC8qKlxuICAgICAqIExvb2t1cCBmb3IgYSByYW5nZSBiZXR3ZWVuIHR3byBzdHJpbmdzIGJlZm9yZSBhIGxvY2F0aW9uLlxuICAgICAqL1xuICAgIGJldHdlZW4/OiBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIGNhbGxlZCBiZWZvcmUgZm9ybWF0dGluZy5cbiAgICAgKiBHZW5lcmFsbHkgdXNlZCB0byByZXNldCB0aGUgc2VsZWN0ZWQgYmxvY2suXG4gICAgICovXG4gICAgcHJlRm9ybWF0PzogKGVkaXRvcjogRWRpdG9yKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIGZvcm1hdHRpbmcgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZm9ybWF0PzogKGVkaXRvcjogRWRpdG9yLCBtYXJrdXA6IHN0cmluZyB8IHN0cmluZ1tdKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogLSBibG9jayAoZGVmYXVsdCkg4oCTIHNldC9pbnNlcnQgYmxvY2suIFNob3VsZCBiZSB1c2VkIHdpdGggYG1hcmt1cGAuXG4gICAgICogLSBpbmxpbmUg4oCTIGluc2VydCBtYXJrIGJldHdlZW4gbWFya3Vwcy4gU2hvdWxkIGJlIHVzZWQgd2l0aCBgYmV0d2VlbmAuXG4gICAgICovXG4gICAgbW9kZT86ICdibG9jaycgfCAnaW5saW5lJztcblxuICAgIC8qKlxuICAgICAqIFdoZW4gdXNpbmcgYGlubGluZWAgbW9kZSDigJMgaWYgZmFsc2UsIGRvIG5vdCBmb3JtYXQgd2hlbiB0aGUgc3RyaW5nIGNhbiBiZSB0cmltbWVkLlxuICAgICAqL1xuICAgIGlnbm9yZVRyaW0/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogSWYgdHJ1ZSwgaW5zZXJ0IHRoZSB0cmlnZ2VyaW5nIGNoYXJhY3RlciBhZnRlciBhdXRvZm9ybWF0dGluZy5cbiAgICAgKi9cbiAgICBpbnNlcnRUcmlnZ2VyPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIGFsbG93IHRvIGF1dG9mb3JtYXQgZXZlbiBpZiB0aGVyZSBpcyBhIGJsb2NrIG9mIHRoZSBzYW1lIHR5cGUgYWJvdmUgdGhlIHNlbGVjdGVkIGJsb2NrLlxuICAgICAqIFNob3VsZCBiZSB1c2VkIHdpdGggJ2Jsb2NrJyBtb2RlLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgICAqL1xuICAgIGFsbG93U2FtZVR5cGVBYm92ZT86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgdHJpZ2dlciBzaG91bGQgYmUgYXQgYmxvY2sgc3RhcnQgdG8gYWxsb3cgYXV0b2Zvcm1hdHRpbmcuXG4gICAgICogU2hvdWxkIGJlIHVzZWQgd2l0aCAnYmxvY2snIG1vZGUuXG4gICAgICogRGVmYXVsdCBpcyB0cnVlLlxuICAgICAqL1xuICAgIHRyaWdnZXJBdEJsb2NrU3RhcnQ/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogUXVlcnkgdG8gYWxsb3cgYXV0b2Zvcm1hdC5cbiAgICAgKi9cbiAgICBxdWVyeT86IChlZGl0b3I6IEVkaXRvciwgcnVsZTogT21pdDxBdXRvRm9ybWF0UnVsZSwgJ3F1ZXJ5Jz4pID0+IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2l0aEF1dG9Gb3JtYXRPcHRpb25zIHtcbiAgICAvKipcbiAgICAgKiBBIGxpc3Qgb2YgdHJpZ2dlcmluZyBydWxlcy5cbiAgICAgKi9cbiAgICBydWxlczogQXV0b0Zvcm1hdFJ1bGVbXTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1mb3JtYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvaW50ZXJmYWNlcy9hdXRvLWZvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9Gb3JtYXRSdWxlIHtcbiAgICAvKipcbiAgICAgKiBUcmlnZ2VyaW5nIGNoYXJhY3RlciB0byBhdXRvZm9ybWF0LiBEZWZhdWx0IGlzIHNwYWNlLlxuICAgICAqL1xuICAgIHRyaWdnZXI/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIEJsb2NrIHR5cGUgdG8gYXV0b2Zvcm1hdC5cbiAgICAgKi9cbiAgICB0eXBlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBPbmUgb3IgbW9yZSBtYXJrdXAgdGhhdCBzaG91bGQgYmUgYmVmb3JlIHRoZSB0cmlnZ2VyaW5nIGNoYXJhY3RlciB0byBhdXRvZm9ybWF0LlxuICAgICAqL1xuICAgIG1hcmt1cD86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gICAgbWF0Y2g/OiAoZWRpdG9yOiBFZGl0b3IsIG1hcmt1cDogc3RyaW5nIHwgc3RyaW5nW10pID0+IGFueTtcblxuICAgIC8qKlxuICAgICAqIExvb2t1cCBmb3IgYSByYW5nZSBiZXR3ZWVuIHR3byBzdHJpbmdzIGJlZm9yZSBhIGxvY2F0aW9uLlxuICAgICAqL1xuICAgIGJldHdlZW4/OiBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIGNhbGxlZCBiZWZvcmUgZm9ybWF0dGluZy5cbiAgICAgKiBHZW5lcmFsbHkgdXNlZCB0byByZXNldCB0aGUgc2VsZWN0ZWQgYmxvY2suXG4gICAgICovXG4gICAgcHJlRm9ybWF0PzogKGVkaXRvcjogRWRpdG9yKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIGZvcm1hdHRpbmcgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZm9ybWF0PzogKGVkaXRvcjogRWRpdG9yLCBtYXJrdXA6IHN0cmluZyB8IHN0cmluZ1tdKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogLSBibG9jayAoZGVmYXVsdCkg4oCTIHNldC9pbnNlcnQgYmxvY2suIFNob3VsZCBiZSB1c2VkIHdpdGggYG1hcmt1cGAuXG4gICAgICogLSBpbmxpbmUg4oCTIGluc2VydCBtYXJrIGJldHdlZW4gbWFya3Vwcy4gU2hvdWxkIGJlIHVzZWQgd2l0aCBgYmV0d2VlbmAuXG4gICAgICovXG4gICAgbW9kZT86ICdibG9jaycgfCAnaW5saW5lJztcblxuICAgIGtleT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFdoZW4gdXNpbmcgYGlubGluZWAgbW9kZSDigJMgaWYgZmFsc2UsIGRvIG5vdCBmb3JtYXQgd2hlbiB0aGUgc3RyaW5nIGNhbiBiZSB0cmltbWVkLlxuICAgICAqL1xuICAgIGlnbm9yZVRyaW0/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogSWYgdHJ1ZSwgaW5zZXJ0IHRoZSB0cmlnZ2VyaW5nIGNoYXJhY3RlciBhZnRlciBhdXRvZm9ybWF0dGluZy5cbiAgICAgKi9cbiAgICBpbnNlcnRUcmlnZ2VyPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIGFsbG93IHRvIGF1dG9mb3JtYXQgZXZlbiBpZiB0aGVyZSBpcyBhIGJsb2NrIG9mIHRoZSBzYW1lIHR5cGUgYWJvdmUgdGhlIHNlbGVjdGVkIGJsb2NrLlxuICAgICAqIFNob3VsZCBiZSB1c2VkIHdpdGggJ2Jsb2NrJyBtb2RlLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgICAqL1xuICAgIGFsbG93U2FtZVR5cGVBYm92ZT86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgdHJpZ2dlciBzaG91bGQgYmUgYXQgYmxvY2sgc3RhcnQgdG8gYWxsb3cgYXV0b2Zvcm1hdHRpbmcuXG4gICAgICogU2hvdWxkIGJlIHVzZWQgd2l0aCAnYmxvY2snIG1vZGUuXG4gICAgICogRGVmYXVsdCBpcyB0cnVlLlxuICAgICAqL1xuICAgIHRyaWdnZXJBdEJsb2NrU3RhcnQ/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogUXVlcnkgdG8gYWxsb3cgYXV0b2Zvcm1hdC5cbiAgICAgKi9cbiAgICBxdWVyeT86IChlZGl0b3I6IEVkaXRvciwgcnVsZTogT21pdDxBdXRvRm9ybWF0UnVsZSwgJ3F1ZXJ5Jz4pID0+IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2l0aEF1dG9Gb3JtYXRPcHRpb25zIHtcbiAgICAvKipcbiAgICAgKiBBIGxpc3Qgb2YgdHJpZ2dlcmluZyBydWxlcy5cbiAgICAgKi9cbiAgICBydWxlczogQXV0b0Zvcm1hdFJ1bGVbXTtcbn1cbiJdfQ==
@@ -5,4 +5,4 @@ export var TheDataMode;
5
5
  TheDataMode["json"] = "json";
6
6
  TheDataMode["html"] = "html";
7
7
  })(TheDataMode || (TheDataMode = {}));
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2ludGVyZmFjZXMvZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQThCLE1BQU0sZUFBZSxDQUFDO0FBaUIxRSxNQUFNLENBQUMsTUFBTSxTQUFTLHFCQUNmLGFBQWEsQ0FDbkIsQ0FBQztBQU1GLE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDbkIsNEJBQWEsQ0FBQTtJQUNiLDRCQUFhLENBQUE7QUFDakIsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jZXN0b3IsIFJhbmdlLCBQYXRoLCBQb2ludCwgTm9kZSwgU3BhbiwgTm9kZUVudHJ5LCBFZGl0b3IsIEVsZW1lbnQsIFRleHQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yLCBTbGF0ZVBsYWNlaG9sZGVyLCBWaWV3VHlwZSB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgSGlzdG9yeUVkaXRvciB9IGZyb20gJ3NsYXRlLWhpc3RvcnknO1xuaW1wb3J0IHsgRWxlbWVudE9wdGlvbnNJbmZvIH0gZnJvbSAnLi92YWxpZC1jaGlsZHJlbi10eXBlcyc7XG5pbXBvcnQgeyBQcmVkaWNhdGUgfSBmcm9tICcuLi91dGlscy9tYXRjaCc7XG5pbXBvcnQgeyBUb29sYmFyT3B0aW9uIH0gZnJvbSAnLi90b29sYmFyJztcbmltcG9ydCB7IEZvbnRTaXplcyB9IGZyb20gJy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBUaGVFZGl0b3IgZXh0ZW5kcyBBbmd1bGFyRWRpdG9yLCBIaXN0b3J5RWRpdG9yIHtcbiAgICByZW5kZXJFbGVtZW50OiAoZWxlbWVudDogRWxlbWVudCkgPT4gVmlld1R5cGU7XG4gICAgcmVuZGVyTGVhZjogKHRleHQ6IFRleHQpID0+IFZpZXdUeXBlO1xuICAgIGluc2VydEVsZW1lbnQ6IChlbGVtZW50OiBFbGVtZW50KSA9PiB2b2lkO1xuICAgIGlzQ29udGFpbmVyOiAoZWxlbWVudDogRWxlbWVudCkgPT4gYm9vbGVhbjtcbiAgICBleHRyYUVsZW1lbnRPcHRpb25zOiBFbGVtZW50T3B0aW9uc0luZm9bXTtcbiAgICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBjb25zdCBUaGVFZGl0b3IgPSB7XG4gICAgLi4uQW5ndWxhckVkaXRvclxufTtcblxuZXhwb3J0IGludGVyZmFjZSBUaGVQbHVnaW4ge1xuICAgIChlZGl0b3I6IEVkaXRvcik6IEVkaXRvcjtcbn1cblxuZXhwb3J0IGVudW0gVGhlRGF0YU1vZGUge1xuICAgIGpzb24gPSAnanNvbicsXG4gICAgaHRtbCA9ICdodG1sJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoZU9wdGlvbnMge1xuICAgIG1vZGU/OiBUaGVEYXRhTW9kZTtcbiAgICByZWFkb25seT86IGJvb2xlYW47XG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAgIGF1dG9Gb2N1cz86IGJvb2xlYW47XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgcGxhY2Vob2xkZXJEZWNvcmF0ZT86IChlZGl0b3I6IEVkaXRvcikgPT4gU2xhdGVQbGFjZWhvbGRlcltdO1xuICAgIGlubGluZVRvb2JhclZpc2libGU/OiBib29sZWFuO1xuICAgIHF1aWNrSW5zZXJ0VmlzaWJsZT86IGJvb2xlYW47XG4gICAgc2Nyb2xsQ29udGFpbmVyPzogc3RyaW5nO1xuICAgIG1heEhlaWdodD86IG51bWJlcjtcbiAgICBmb250U2l6ZT86IEZvbnRTaXplcztcbiAgICByaWNoTWVkaWE/OiBib29sZWFuO1xuICAgIHRvb2xiYXI/OiBUb29sYmFyT3B0aW9uO1xuICAgIGRpc2FibGVQbHVnaW5zPzogc3RyaW5nW107XG4gICAgZXh0cmFFbGVtZW50T3B0aW9ucz86IEVsZW1lbnRPcHRpb25zSW5mb1tdO1xufVxuXG5leHBvcnQgdHlwZSBOb2RlTWF0Y2g8VCA9IE5vZGU+ID0gUHJlZGljYXRlPFQ+O1xuXG5leHBvcnQgaW50ZXJmYWNlIE1hdGNoT3B0aW9uczxUID0gTm9kZT4ge1xuICAgIG1hdGNoPzogTm9kZU1hdGNoPFQ+O1xuICAgIGJsb2NrPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZGl0b3JBYm92ZU9wdGlvbnM8VCA9IEFuY2VzdG9yPiBleHRlbmRzIE1hdGNoT3B0aW9uczxUPiB7XG4gICAgYXQ/OiBSYW5nZSB8IFBhdGggfCBQb2ludDtcbiAgICBtb2RlPzogJ2hpZ2hlc3QnIHwgJ2xvd2VzdCc7XG4gICAgdm9pZHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVkaXRvck5vZGVzT3B0aW9ucyB7XG4gICAgYXQ/OiBSYW5nZSB8IFBhdGggfCBQb2ludCB8IFNwYW47XG4gICAgbWF0Y2g/OiAobm9kZTogTm9kZSkgPT4gYm9vbGVhbjtcbiAgICBtb2RlPzogJ2hpZ2hlc3QnIHwgJ2xvd2VzdCcgfCAnYWxsJztcbiAgICB1bml2ZXJzYWw/OiBib29sZWFuO1xuICAgIHJldmVyc2U/OiBib29sZWFuO1xuICAgIHZvaWRzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXcmFwT3B0aW9ucyB7XG4gICAgYXQ/OiBQYXRoIHwgUG9pbnQgfCBSYW5nZTtcbiAgICBtYXRjaD86IChub2RlOiBOb2RlKSA9PiBib29sZWFuO1xuICAgIG1vZGU/OiAnaGlnaGVzdCcgfCAnbG93ZXN0JyB8ICdhbGwnO1xuICAgIHNwbGl0PzogYm9vbGVhbjtcbiAgICB2b2lkcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yUGFyZW50T3B0aW9ucyB7XG4gICAgZGVwdGg/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgZWRnZT86ICdzdGFydCcgfCAnZW5kJyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWVyeU9wdGlvbnMge1xuICAgIC8vIENvbmRpdGlvbiBvbiB0aGUgbm9kZSB0byBiZSB2YWxpZC5cbiAgICBmaWx0ZXI/OiAoZW50cnk6IE5vZGVFbnRyeTxOb2RlPikgPT4gYm9vbGVhbjtcbiAgICAvLyBMaXN0IG9mIHR5cGVzIHRoYXQgYXJlIHZhbGlkLiBJZiBlbXB0eSBvciB1bmRlZmluZWQgLSBhbGxvdyBhbGwuXG4gICAgYWxsb3c/OiBzdHJpbmdbXTtcbiAgICAvLyBMaXN0IG9mIHR5cGVzIHRoYXQgYXJlIGludmFsaWQuXG4gICAgZXhjbHVkZT86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvbUV2ZW50RGF0YUluZm8ge1xuICAgIGlucHV0VHlwZT86IHN0cmluZztcbiAgICBrZXk/OiBzdHJpbmc7XG4gICAgdGV4dD86IHN0cmluZztcbiAgICBqc29uPzogTm9kZVtdO1xufVxuIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2ludGVyZmFjZXMvZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQThCLE1BQU0sZUFBZSxDQUFDO0FBbUIxRSxNQUFNLENBQUMsTUFBTSxTQUFTLHFCQUNmLGFBQWEsQ0FDbkIsQ0FBQztBQU1GLE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDbkIsNEJBQWEsQ0FBQTtJQUNiLDRCQUFhLENBQUE7QUFDakIsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jZXN0b3IsIFJhbmdlLCBQYXRoLCBQb2ludCwgTm9kZSwgU3BhbiwgTm9kZUVudHJ5LCBFZGl0b3IsIEVsZW1lbnQsIFRleHQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yLCBTbGF0ZVBsYWNlaG9sZGVyLCBWaWV3VHlwZSB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgSGlzdG9yeUVkaXRvciB9IGZyb20gJ3NsYXRlLWhpc3RvcnknO1xuaW1wb3J0IHsgRWxlbWVudE9wdGlvbnNJbmZvIH0gZnJvbSAnLi92YWxpZC1jaGlsZHJlbi10eXBlcyc7XG5pbXBvcnQgeyBQcmVkaWNhdGUgfSBmcm9tICcuLi91dGlscy9tYXRjaCc7XG5pbXBvcnQgeyBUb29sYmFyT3B0aW9uIH0gZnJvbSAnLi90b29sYmFyJztcbmltcG9ydCB7IEZvbnRTaXplcyB9IGZyb20gJy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcbmltcG9ydCB7IEF1dG9Gb3JtYXRSdWxlIH0gZnJvbSAnLi9hdXRvLWZvcm1hdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlRWRpdG9yIGV4dGVuZHMgQW5ndWxhckVkaXRvciwgSGlzdG9yeUVkaXRvciB7XG4gICAgcmVuZGVyRWxlbWVudDogKGVsZW1lbnQ6IEVsZW1lbnQpID0+IFZpZXdUeXBlO1xuICAgIHJlbmRlckxlYWY6ICh0ZXh0OiBUZXh0KSA9PiBWaWV3VHlwZTtcbiAgICBpbnNlcnRFbGVtZW50OiAoZWxlbWVudDogRWxlbWVudCkgPT4gdm9pZDtcbiAgICBpc0NvbnRhaW5lcjogKGVsZW1lbnQ6IEVsZW1lbnQpID0+IGJvb2xlYW47XG4gICAgZXh0cmFFbGVtZW50T3B0aW9uczogRWxlbWVudE9wdGlvbnNJbmZvW107XG4gICAgZXh0cmFBdXRvRm9ybWF0UnVsZXM6IEF1dG9Gb3JtYXRSdWxlW107XG4gICAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgY29uc3QgVGhlRWRpdG9yID0ge1xuICAgIC4uLkFuZ3VsYXJFZGl0b3Jcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlUGx1Z2luIHtcbiAgICAoZWRpdG9yOiBFZGl0b3IpOiBFZGl0b3I7XG59XG5cbmV4cG9ydCBlbnVtIFRoZURhdGFNb2RlIHtcbiAgICBqc29uID0gJ2pzb24nLFxuICAgIGh0bWwgPSAnaHRtbCdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaGVPcHRpb25zIHtcbiAgICBtb2RlPzogVGhlRGF0YU1vZGU7XG4gICAgcmVhZG9ubHk/OiBib29sZWFuO1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICBhdXRvRm9jdXM/OiBib29sZWFuO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIHBsYWNlaG9sZGVyRGVjb3JhdGU/OiAoZWRpdG9yOiBFZGl0b3IpID0+IFNsYXRlUGxhY2Vob2xkZXJbXTtcbiAgICBpbmxpbmVUb29iYXJWaXNpYmxlPzogYm9vbGVhbjtcbiAgICBxdWlja0luc2VydFZpc2libGU/OiBib29sZWFuO1xuICAgIHNjcm9sbENvbnRhaW5lcj86IHN0cmluZztcbiAgICBtYXhIZWlnaHQ/OiBudW1iZXI7XG4gICAgZm9udFNpemU/OiBGb250U2l6ZXM7XG4gICAgcmljaE1lZGlhPzogYm9vbGVhbjtcbiAgICB0b29sYmFyPzogVG9vbGJhck9wdGlvbjtcbiAgICBkaXNhYmxlUGx1Z2lucz86IHN0cmluZ1tdO1xuICAgIGV4dHJhRWxlbWVudE9wdGlvbnM/OiBFbGVtZW50T3B0aW9uc0luZm9bXTtcbiAgICBleHRyYUF1dG9Gb3JtYXRSdWxlcz86IEF1dG9Gb3JtYXRSdWxlW107XG59XG5cbmV4cG9ydCB0eXBlIE5vZGVNYXRjaDxUID0gTm9kZT4gPSBQcmVkaWNhdGU8VD47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWF0Y2hPcHRpb25zPFQgPSBOb2RlPiB7XG4gICAgbWF0Y2g/OiBOb2RlTWF0Y2g8VD47XG4gICAgYmxvY2s/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVkaXRvckFib3ZlT3B0aW9uczxUID0gQW5jZXN0b3I+IGV4dGVuZHMgTWF0Y2hPcHRpb25zPFQ+IHtcbiAgICBhdD86IFJhbmdlIHwgUGF0aCB8IFBvaW50O1xuICAgIG1vZGU/OiAnaGlnaGVzdCcgfCAnbG93ZXN0JztcbiAgICB2b2lkcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yTm9kZXNPcHRpb25zIHtcbiAgICBhdD86IFJhbmdlIHwgUGF0aCB8IFBvaW50IHwgU3BhbjtcbiAgICBtYXRjaD86IChub2RlOiBOb2RlKSA9PiBib29sZWFuO1xuICAgIG1vZGU/OiAnaGlnaGVzdCcgfCAnbG93ZXN0JyB8ICdhbGwnO1xuICAgIHVuaXZlcnNhbD86IGJvb2xlYW47XG4gICAgcmV2ZXJzZT86IGJvb2xlYW47XG4gICAgdm9pZHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdyYXBPcHRpb25zIHtcbiAgICBhdD86IFBhdGggfCBQb2ludCB8IFJhbmdlO1xuICAgIG1hdGNoPzogKG5vZGU6IE5vZGUpID0+IGJvb2xlYW47XG4gICAgbW9kZT86ICdoaWdoZXN0JyB8ICdsb3dlc3QnIHwgJ2FsbCc7XG4gICAgc3BsaXQ/OiBib29sZWFuO1xuICAgIHZvaWRzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZGl0b3JQYXJlbnRPcHRpb25zIHtcbiAgICBkZXB0aD86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBlZGdlPzogJ3N0YXJ0JyB8ICdlbmQnIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5T3B0aW9ucyB7XG4gICAgLy8gQ29uZGl0aW9uIG9uIHRoZSBub2RlIHRvIGJlIHZhbGlkLlxuICAgIGZpbHRlcj86IChlbnRyeTogTm9kZUVudHJ5PE5vZGU+KSA9PiBib29sZWFuO1xuICAgIC8vIExpc3Qgb2YgdHlwZXMgdGhhdCBhcmUgdmFsaWQuIElmIGVtcHR5IG9yIHVuZGVmaW5lZCAtIGFsbG93IGFsbC5cbiAgICBhbGxvdz86IHN0cmluZ1tdO1xuICAgIC8vIExpc3Qgb2YgdHlwZXMgdGhhdCBhcmUgaW52YWxpZC5cbiAgICBleGNsdWRlPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9tRXZlbnREYXRhSW5mbyB7XG4gICAgaW5wdXRUeXBlPzogc3RyaW5nO1xuICAgIGtleT86IHN0cmluZztcbiAgICB0ZXh0Pzogc3RyaW5nO1xuICAgIGpzb24/OiBOb2RlW107XG59XG4iXX0=
@@ -4,15 +4,21 @@ import * as TheQueries from '../../queries';
4
4
  import { castArray } from '../../utils/cast-array';
5
5
  import { autoFormatBlock } from './transforms/auto-format-block';
6
6
  import { autoFormatInline } from './transforms/auto-format-inline';
7
- export const withAutoFormat = ({ rules }) => (editor) => {
7
+ import { defaultAutoFormatRules } from '../../constants/auto-format-rules';
8
+ export const withAutoFormat = () => (editor) => {
8
9
  const { insertText } = editor;
9
10
  editor.insertText = text => {
10
- var _a;
11
+ var _a, _b;
12
+ let autoFormatRules = defaultAutoFormatRules;
13
+ if ((_a = editor.extraAutoFormatRules) === null || _a === void 0 ? void 0 : _a.length) {
14
+ const extraRules = mergAutoFormateRules(editor.extraAutoFormatRules);
15
+ autoFormatRules = Object.values(extraRules);
16
+ }
11
17
  if (!TheQueries.isCollapsed(editor.selection)) {
12
18
  return insertText(text);
13
19
  }
14
- for (let _b of rules) {
15
- const { query } = _b, rule = __rest(_b, ["query"]);
20
+ for (let _c of autoFormatRules) {
21
+ const { query } = _c, rule = __rest(_c, ["query"]);
16
22
  const { trigger = ' ', mode = 'block', type, markup, preFormat, format, match, between, ignoreTrim, insertTrigger, allowSameTypeAbove = false, triggerAtBlockStart = true } = rule;
17
23
  if (query && !query(editor, rule))
18
24
  continue;
@@ -47,7 +53,7 @@ export const withAutoFormat = ({ rules }) => (editor) => {
47
53
  });
48
54
  if (!markupRange)
49
55
  continue;
50
- const blockAbovePath = (_a = TheQueries.getBlockAbove(editor)) === null || _a === void 0 ? void 0 : _a[1];
56
+ const blockAbovePath = (_b = TheQueries.getBlockAbove(editor)) === null || _b === void 0 ? void 0 : _b[1];
51
57
  if (!blockAbovePath)
52
58
  continue;
53
59
  // If the markup is not at the start, insert break before autoformatting.
@@ -84,4 +90,15 @@ export const withAutoFormat = ({ rules }) => (editor) => {
84
90
  };
85
91
  return editor;
86
92
  };
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2Zvcm1hdC5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9hdXRvZm9ybWF0L2F1dG9mb3JtYXQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFTLE1BQU0sT0FBTyxDQUFDO0FBQ3RDLE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbkUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUN2QixDQUFDLEVBQUUsS0FBSyxFQUF5QixFQUFFLEVBQUUsQ0FDckMsQ0FBbUIsTUFBUyxFQUFFLEVBQUU7SUFDNUIsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUU5QixNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxFQUFFOztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDM0MsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDM0I7UUFFRCxLQUFLLElBQUEsRUFBd0IsSUFBSSxLQUFLLEVBQUU7WUFBbkMsTUFBTSxFQUFFLEtBQUssT0FBVyxFQUFOLElBQUksY0FBaEIsU0FBa0IsQ0FBQSxDQUFBO1lBQ3pCLE1BQU0sRUFDRixPQUFPLEdBQUcsR0FBRyxFQUNiLElBQUksR0FBRyxPQUFPLEVBQ2QsSUFBSSxFQUNKLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxPQUFPLEVBQ1AsVUFBVSxFQUNWLGFBQWEsRUFDYixrQkFBa0IsR0FBRyxLQUFLLEVBQzFCLG1CQUFtQixHQUFHLElBQUksRUFDN0IsR0FBRyxJQUFJLENBQUM7WUFFVCxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO2dCQUFFLFNBQVM7WUFFNUMsTUFBTSxRQUFRLEdBQWEsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRTlDLGdCQUFnQjtZQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQUUsU0FBUztZQUV2QyxNQUFNLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxhQUFhLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXRELElBQUksSUFBSSxLQUFLLE9BQU8sRUFBRTtnQkFDbEIsSUFBSSxPQUFPLEdBQWEsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLFdBQThCLENBQUM7Z0JBRW5DLElBQUksbUJBQW1CLEVBQUU7b0JBQ3JCLFdBQVcsR0FBRyxVQUFVLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFVLENBQUM7b0JBRWpFLDJDQUEyQztvQkFDM0MsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7d0JBQzVDLEVBQUUsRUFBRSxXQUFXO3dCQUNmLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztxQkFDdkMsQ0FBQyxDQUFDO29CQUNILElBQUksV0FBVzt3QkFBRSxTQUFTO29CQUUxQixNQUFNLGtCQUFrQixHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO29CQUNuRSxJQUFJLEtBQUssRUFBRTt3QkFDUCxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO3FCQUMvQztvQkFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQzt3QkFBRSxTQUFTO2lCQUN2RDtxQkFBTTtvQkFDSCxXQUFXLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFNBQWtCLEVBQUU7d0JBQ3ZFLFdBQVcsRUFBRSxNQUFNO3dCQUNuQixXQUFXLEVBQUUsSUFBSTtxQkFDcEIsQ0FBQyxDQUFDO29CQUNILElBQUksQ0FBQyxXQUFXO3dCQUFFLFNBQVM7b0JBRTNCLE1BQU0sY0FBYyxHQUFHLE1BQUEsVUFBVSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsMENBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQzdELElBQUksQ0FBQyxjQUFjO3dCQUFFLFNBQVM7b0JBRTlCLHlFQUF5RTtvQkFDekUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLEVBQUU7d0JBQzdELE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztxQkFDeEI7aUJBQ0o7Z0JBRUQsSUFBSSxDQUFDLGtCQUFrQixFQUFFO29CQUNyQiwyREFBMkQ7b0JBQzNELE1BQU0sb0JBQW9CLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQzlFLElBQUksb0JBQW9CO3dCQUFFLFNBQVM7aUJBQ3RDO2dCQUVELHFCQUFxQjtnQkFDckIsZUFBZSxDQUNYLE1BQU0sRUFDTixJQUFJLEVBQ0osV0FBVyxFQUNYO29CQUNJLFNBQVM7b0JBQ1QsTUFBTTtpQkFDVCxFQUNELE9BQU8sQ0FDVixDQUFDO2dCQUNGLE9BQU8sS0FBSyxFQUFFLENBQUM7YUFDbEI7WUFFRCxJQUFJLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQ25CLElBQ0ksZ0JBQWdCLENBQUMsTUFBTSxFQUFFO29CQUNyQixJQUFJO29CQUNKLE9BQU87b0JBQ1AsVUFBVTtvQkFDVixNQUFNO29CQUNOLE1BQU0sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07aUJBQ3JELENBQUMsRUFDSjtvQkFDRSxPQUFPLEtBQUssRUFBRSxDQUFDO2lCQUNsQjthQUNKO1NBQ0o7UUFFRCxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBSYW5nZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBjYXN0QXJyYXkgfSBmcm9tICcuLi8uLi91dGlscy9jYXN0LWFycmF5JztcbmltcG9ydCB7IFdpdGhBdXRvRm9ybWF0T3B0aW9ucyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYXV0by1mb3JtYXQnO1xuaW1wb3J0IHsgYXV0b0Zvcm1hdEJsb2NrIH0gZnJvbSAnLi90cmFuc2Zvcm1zL2F1dG8tZm9ybWF0LWJsb2NrJztcbmltcG9ydCB7IGF1dG9Gb3JtYXRJbmxpbmUgfSBmcm9tICcuL3RyYW5zZm9ybXMvYXV0by1mb3JtYXQtaW5saW5lJztcblxuZXhwb3J0IGNvbnN0IHdpdGhBdXRvRm9ybWF0ID1cbiAgICAoeyBydWxlcyB9OiBXaXRoQXV0b0Zvcm1hdE9wdGlvbnMpID0+XG4gICAgPFQgZXh0ZW5kcyBFZGl0b3I+KGVkaXRvcjogVCkgPT4ge1xuICAgICAgICBjb25zdCB7IGluc2VydFRleHQgfSA9IGVkaXRvcjtcblxuICAgICAgICBlZGl0b3IuaW5zZXJ0VGV4dCA9IHRleHQgPT4ge1xuICAgICAgICAgICAgaWYgKCFUaGVRdWVyaWVzLmlzQ29sbGFwc2VkKGVkaXRvci5zZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluc2VydFRleHQodGV4dCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgeyBxdWVyeSwgLi4ucnVsZSB9IG9mIHJ1bGVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyID0gJyAnLFxuICAgICAgICAgICAgICAgICAgICBtb2RlID0gJ2Jsb2NrJyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgbWFya3VwLFxuICAgICAgICAgICAgICAgICAgICBwcmVGb3JtYXQsXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdCxcbiAgICAgICAgICAgICAgICAgICAgbWF0Y2gsXG4gICAgICAgICAgICAgICAgICAgIGJldHdlZW4sXG4gICAgICAgICAgICAgICAgICAgIGlnbm9yZVRyaW0sXG4gICAgICAgICAgICAgICAgICAgIGluc2VydFRyaWdnZXIsXG4gICAgICAgICAgICAgICAgICAgIGFsbG93U2FtZVR5cGVBYm92ZSA9IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyQXRCbG9ja1N0YXJ0ID0gdHJ1ZVxuICAgICAgICAgICAgICAgIH0gPSBydWxlO1xuXG4gICAgICAgICAgICAgICAgaWYgKHF1ZXJ5ICYmICFxdWVyeShlZGl0b3IsIHJ1bGUpKSBjb250aW51ZTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHRyaWdnZXJzOiBzdHJpbmdbXSA9IGNhc3RBcnJheSh0cmlnZ2VyKTtcblxuICAgICAgICAgICAgICAgIC8vIENoZWNrIHRyaWdnZXJcbiAgICAgICAgICAgICAgICBpZiAoIXRyaWdnZXJzLmluY2x1ZGVzKHRleHQpKSBjb250aW51ZTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbGlkID0gKCkgPT4gaW5zZXJ0VHJpZ2dlciAmJiBpbnNlcnRUZXh0KHRleHQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKG1vZGUgPT09ICdibG9jaycpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1hcmt1cHM6IHN0cmluZ1tdID0gY2FzdEFycmF5KG1hcmt1cCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtYXJrdXBSYW5nZTogUmFuZ2UgfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRyaWdnZXJBdEJsb2NrU3RhcnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmt1cFJhbmdlID0gVGhlUXVlcmllcy5nZXRSYW5nZUZyb21CbG9ja1N0YXJ0KGVkaXRvcikgYXMgUmFuZ2U7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIERvbid0IGF1dG9mb3JtYXQgaWYgdGhlcmUgaXMgdm9pZCBub2Rlcy5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGhhc1ZvaWROb2RlID0gVGhlUXVlcmllcy5zb21lTm9kZShlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdDogbWFya3VwUmFuZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2g6IG4gPT4gRWRpdG9yLmlzVm9pZChlZGl0b3IsIG4pXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXNWb2lkTm9kZSkgY29udGludWU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRleHRGcm9tQmxvY2tTdGFydCA9IFRoZVF1ZXJpZXMuZ2V0VGV4dChlZGl0b3IsIG1hcmt1cFJhbmdlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmt1cHMgPSBtYXRjaChlZGl0b3IsIHRleHRGcm9tQmxvY2tTdGFydCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW1hcmt1cHMuaW5jbHVkZXModGV4dEZyb21CbG9ja1N0YXJ0KSkgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJrdXBSYW5nZSA9IFRoZVF1ZXJpZXMuZ2V0UmFuZ2VCZWZvcmUoZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uIGFzIFJhbmdlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hTdHJpbmc6IG1hcmt1cCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwSW52YWxpZDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW1hcmt1cFJhbmdlKSBjb250aW51ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYmxvY2tBYm92ZVBhdGggPSBUaGVRdWVyaWVzLmdldEJsb2NrQWJvdmUoZWRpdG9yKT8uWzFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFibG9ja0Fib3ZlUGF0aCkgY29udGludWU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBtYXJrdXAgaXMgbm90IGF0IHRoZSBzdGFydCwgaW5zZXJ0IGJyZWFrIGJlZm9yZSBhdXRvZm9ybWF0dGluZy5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghRWRpdG9yLmlzU3RhcnQoZWRpdG9yLCBtYXJrdXBSYW5nZS5hbmNob3IsIGJsb2NrQWJvdmVQYXRoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRvci5pbnNlcnRCcmVhaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFhbGxvd1NhbWVUeXBlQWJvdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIERvbid0IGF1dG9mb3JtYXQgaWYgYWxyZWFkeSBpbiBhIGJsb2NrIG9mIHRoZSBzYW1lIHR5cGUuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0JlbG93U2FtZUJsb2NrVHlwZSA9IFRoZVF1ZXJpZXMuc29tZU5vZGUoZWRpdG9yLCB7IG1hdGNoOiB7IHR5cGUgfSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0JlbG93U2FtZUJsb2NrVHlwZSkgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBTdGFydCBvZiB0aGUgYmxvY2tcbiAgICAgICAgICAgICAgICAgICAgYXV0b0Zvcm1hdEJsb2NrKFxuICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmt1cFJhbmdlLFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZUZvcm1hdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXRcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJrdXBzXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWxpZCgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChtb2RlID09PSAnaW5saW5lJykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvRm9ybWF0SW5saW5lKGVkaXRvciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmV0d2VlbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZ25vcmVUcmltLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJrdXA6IEFycmF5LmlzQXJyYXkobWFya3VwKSA/IG1hcmt1cFswXSA6IG1hcmt1cFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsaWQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5zZXJ0VGV4dCh0ZXh0KTtcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gZWRpdG9yO1xuICAgIH07XG4iXX0=
93
+ const mergAutoFormateRules = (extraAutoFormatRules) => {
94
+ const combinationData = [...defaultAutoFormatRules, ...extraAutoFormatRules];
95
+ const dataInfo = {};
96
+ combinationData.forEach(item => {
97
+ if (!dataInfo[item.type + item.key]) {
98
+ dataInfo[item.type + item.key] = Object.assign({}, item);
99
+ }
100
+ dataInfo[item.type + item.key] = Object.assign(Object.assign({}, dataInfo[item.type + item.key]), item);
101
+ });
102
+ return dataInfo;
103
+ };
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2Zvcm1hdC5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9hdXRvZm9ybWF0L2F1dG9mb3JtYXQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFTLE1BQU0sT0FBTyxDQUFDO0FBQ3RDLE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFM0UsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUN2QixHQUFHLEVBQUUsQ0FDTCxDQUFtQixNQUFTLEVBQUUsRUFBRTtJQUM1QixNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQzlCLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEVBQUU7O1FBQ3ZCLElBQUksZUFBZSxHQUFHLHNCQUFzQixDQUFDO1FBQzdDLElBQUksTUFBQSxNQUFNLENBQUMsb0JBQW9CLDBDQUFFLE1BQU0sRUFBRTtZQUNyQyxNQUFNLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUNyRSxlQUFlLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMvQztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMzQyxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMzQjtRQUVELEtBQUssSUFBQSxFQUF3QixJQUFJLGVBQWUs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TyxRQUFRLENBQUM7QUFDcEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBSYW5nZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBjYXN0QXJyYXkgfSBmcm9tICcuLi8uLi91dGlscy9jYXN0LWFycmF5JztcbmltcG9ydCB7IEF1dG9Gb3JtYXRSdWxlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9hdXRvLWZvcm1hdCc7XG5pbXBvcnQgeyBhdXRvRm9ybWF0QmxvY2sgfSBmcm9tICcuL3RyYW5zZm9ybXMvYXV0by1mb3JtYXQtYmxvY2snO1xuaW1wb3J0IHsgYXV0b0Zvcm1hdElubGluZSB9IGZyb20gJy4vdHJhbnNmb3Jtcy9hdXRvLWZvcm1hdC1pbmxpbmUnO1xuaW1wb3J0IHsgZGVmYXVsdEF1dG9Gb3JtYXRSdWxlcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9hdXRvLWZvcm1hdC1ydWxlcyc7XG5cbmV4cG9ydCBjb25zdCB3aXRoQXV0b0Zvcm1hdCA9XG4gICAgKCkgPT5cbiAgICA8VCBleHRlbmRzIEVkaXRvcj4oZWRpdG9yOiBUKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgaW5zZXJ0VGV4dCB9ID0gZWRpdG9yO1xuICAgICAgICBlZGl0b3IuaW5zZXJ0VGV4dCA9IHRleHQgPT4ge1xuICAgICAgICAgICAgbGV0IGF1dG9Gb3JtYXRSdWxlcyA9IGRlZmF1bHRBdXRvRm9ybWF0UnVsZXM7XG4gICAgICAgICAgICBpZiAoZWRpdG9yLmV4dHJhQXV0b0Zvcm1hdFJ1bGVzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBleHRyYVJ1bGVzID0gbWVyZ0F1dG9Gb3JtYXRlUnVsZXMoZWRpdG9yLmV4dHJhQXV0b0Zvcm1hdFJ1bGVzKTtcbiAgICAgICAgICAgICAgICBhdXRvRm9ybWF0UnVsZXMgPSBPYmplY3QudmFsdWVzKGV4dHJhUnVsZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFUaGVRdWVyaWVzLmlzQ29sbGFwc2VkKGVkaXRvci5zZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluc2VydFRleHQodGV4dCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgeyBxdWVyeSwgLi4ucnVsZSB9IG9mIGF1dG9Gb3JtYXRSdWxlcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgICAgICAgICAgdHJpZ2dlciA9ICcgJyxcbiAgICAgICAgICAgICAgICAgICAgbW9kZSA9ICdibG9jaycsXG4gICAgICAgICAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICAgICAgICAgIG1hcmt1cCxcbiAgICAgICAgICAgICAgICAgICAgcHJlRm9ybWF0LFxuICAgICAgICAgICAgICAgICAgICBmb3JtYXQsXG4gICAgICAgICAgICAgICAgICAgIG1hdGNoLFxuICAgICAgICAgICAgICAgICAgICBiZXR3ZWVuLFxuICAgICAgICAgICAgICAgICAgICBpZ25vcmVUcmltLFxuICAgICAgICAgICAgICAgICAgICBpbnNlcnRUcmlnZ2VyLFxuICAgICAgICAgICAgICAgICAgICBhbGxvd1NhbWVUeXBlQWJvdmUgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgdHJpZ2dlckF0QmxvY2tTdGFydCA9IHRydWVcbiAgICAgICAgICAgICAgICB9ID0gcnVsZTtcblxuICAgICAgICAgICAgICAgIGlmIChxdWVyeSAmJiAhcXVlcnkoZWRpdG9yLCBydWxlKSkgY29udGludWU7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB0cmlnZ2Vyczogc3RyaW5nW10gPSBjYXN0QXJyYXkodHJpZ2dlcik7XG5cbiAgICAgICAgICAgICAgICAvLyBDaGVjayB0cmlnZ2VyXG4gICAgICAgICAgICAgICAgaWYgKCF0cmlnZ2Vycy5pbmNsdWRlcyh0ZXh0KSkgY29udGludWU7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB2YWxpZCA9ICgpID0+IGluc2VydFRyaWdnZXIgJiYgaW5zZXJ0VGV4dCh0ZXh0KTtcblxuICAgICAgICAgICAgICAgIGlmIChtb2RlID09PSAnYmxvY2snKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtYXJrdXBzOiBzdHJpbmdbXSA9IGNhc3RBcnJheShtYXJrdXApO1xuICAgICAgICAgICAgICAgICAgICBsZXQgbWFya3VwUmFuZ2U6IFJhbmdlIHwgdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0cmlnZ2VyQXRCbG9ja1N0YXJ0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJrdXBSYW5nZSA9IFRoZVF1ZXJpZXMuZ2V0UmFuZ2VGcm9tQmxvY2tTdGFydChlZGl0b3IpIGFzIFJhbmdlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBEb24ndCBhdXRvZm9ybWF0IGlmIHRoZXJlIGlzIHZvaWQgbm9kZXMuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBoYXNWb2lkTm9kZSA9IFRoZVF1ZXJpZXMuc29tZU5vZGUoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXQ6IG1hcmt1cFJhbmdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoOiBuID0+IEVkaXRvci5pc1ZvaWQoZWRpdG9yLCBuKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGFzVm9pZE5vZGUpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXh0RnJvbUJsb2NrU3RhcnQgPSBUaGVRdWVyaWVzLmdldFRleHQoZWRpdG9yLCBtYXJrdXBSYW5nZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJrdXBzID0gbWF0Y2goZWRpdG9yLCB0ZXh0RnJvbUJsb2NrU3RhcnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtYXJrdXBzLmluY2x1ZGVzKHRleHRGcm9tQmxvY2tTdGFydCkpIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFya3VwUmFuZ2UgPSBUaGVRdWVyaWVzLmdldFJhbmdlQmVmb3JlKGVkaXRvciwgZWRpdG9yLnNlbGVjdGlvbiBhcyBSYW5nZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoU3RyaW5nOiBtYXJrdXAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcEludmFsaWQ6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtYXJrdXBSYW5nZSkgY29udGludWU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrQWJvdmVQYXRoID0gVGhlUXVlcmllcy5nZXRCbG9ja0Fib3ZlKGVkaXRvcik/LlsxXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYmxvY2tBYm92ZVBhdGgpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgbWFya3VwIGlzIG5vdCBhdCB0aGUgc3RhcnQsIGluc2VydCBicmVhayBiZWZvcmUgYXV0b2Zvcm1hdHRpbmcuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIUVkaXRvci5pc1N0YXJ0KGVkaXRvciwgbWFya3VwUmFuZ2UuYW5jaG9yLCBibG9ja0Fib3ZlUGF0aCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3IuaW5zZXJ0QnJlYWsoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICghYWxsb3dTYW1lVHlwZUFib3ZlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBEb24ndCBhdXRvZm9ybWF0IGlmIGFscmVhZHkgaW4gYSBibG9jayBvZiB0aGUgc2FtZSB0eXBlLlxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNCZWxvd1NhbWVCbG9ja1R5cGUgPSBUaGVRdWVyaWVzLnNvbWVOb2RlKGVkaXRvciwgeyBtYXRjaDogeyB0eXBlIH0gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNCZWxvd1NhbWVCbG9ja1R5cGUpIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gU3RhcnQgb2YgdGhlIGJsb2NrXG4gICAgICAgICAgICAgICAgICAgIGF1dG9Gb3JtYXRCbG9jayhcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJrdXBSYW5nZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVGb3JtYXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFya3Vwc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsaWQoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAobW9kZSA9PT0gJ2lubGluZScpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0Zvcm1hdElubGluZShlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJldHdlZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlVHJpbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFya3VwOiBBcnJheS5pc0FycmF5KG1hcmt1cCkgPyBtYXJrdXBbMF0gOiBtYXJrdXBcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbGlkKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGluc2VydFRleHQodGV4dCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGVkaXRvcjtcbiAgICB9O1xuXG5jb25zdCBtZXJnQXV0b0Zvcm1hdGVSdWxlcyA9IChleHRyYUF1dG9Gb3JtYXRSdWxlczogQXV0b0Zvcm1hdFJ1bGVbXSkgPT4ge1xuICAgIGNvbnN0IGNvbWJpbmF0aW9uRGF0YSA9IFsuLi5kZWZhdWx0QXV0b0Zvcm1hdFJ1bGVzLCAuLi5leHRyYUF1dG9Gb3JtYXRSdWxlc107XG4gICAgY29uc3QgZGF0YUluZm8gPSB7fTtcbiAgICBjb21iaW5hdGlvbkRhdGEuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaWYgKCFkYXRhSW5mb1tpdGVtLnR5cGUgKyBpdGVtLmtleV0pIHtcbiAgICAgICAgICAgIGRhdGFJbmZvW2l0ZW0udHlwZSArIGl0ZW0ua2V5XSA9IHtcbiAgICAgICAgICAgICAgICAuLi5pdGVtXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGRhdGFJbmZvW2l0ZW0udHlwZSArIGl0ZW0ua2V5XSA9IHsgLi4uZGF0YUluZm9baXRlbS50eXBlICsgaXRlbS5rZXldLCAuLi5pdGVtIH07XG4gICAgfSk7XG4gICAgcmV0dXJuIGRhdGFJbmZvO1xufTtcbiJdfQ==
@@ -1,6 +1,5 @@
1
1
  import { ElementKinds, ELEMENT_UNIQUE_ID, HEADING_TYPES } from '../constants';
2
2
  import { idCreator } from '../utils/id-creator';
3
- import { autoFormatRules } from '../constants/auto-format-rules';
4
3
  import { withTheHistory } from './common/history.plugin';
5
4
  import { withDeserializeMd } from './deserializers/deserialize-md.plugin';
6
5
  import { withAutoInsertData } from './common/auto-insert-data.';
@@ -79,7 +78,7 @@ const internalPlugins = [
79
78
  }),
80
79
  withBlockquote,
81
80
  withNodeID({ idKey: ELEMENT_UNIQUE_ID, idCreator }),
82
- withAutoFormat({ rules: autoFormatRules }),
81
+ withAutoFormat(),
83
82
  withTransforms(),
84
83
  withTrailingNode({ type: ElementKinds.paragraph, level: 0 }),
85
84
  withMoveSelection,
@@ -125,4 +124,4 @@ export const withTheEditor = (plugins, editor) => {
125
124
  pluginList.reduce((prevEditor, nextEditor) => nextEditor(prevEditor), e);
126
125
  return e;
127
126
  };
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFj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LEVBQUUsR0FBRyxZQUFZLENBQUMsQ0FBQztBQUN0RCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBMEMsT0FBb0IsRUFBRSxNQUFTLEVBQUUsRUFBRTtJQUN0RyxNQUFNLENBQUMsR0FBRyxNQUF1QixDQUFDO0lBRWxDLENBQUMsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxPQUFnQixFQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFDdkQsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQVUsRUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDO0lBQzlDLENBQUMsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxPQUFnQixFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BGLENBQUMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxLQUFjLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQztJQUMxQyxDQUFDLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO0lBQzNCLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRW5CLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBRyxlQUFlLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUVwRCxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXpFLE9BQU8sQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBFbGVtZW50LCBUZXh0IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciwgVmlld1R5cGUgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCAqIGFzIFR5cGVzIGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IFRoZUVkaXRvciwgVGhlUGx1Z2luLCBUb29sYmFySXRlbSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzLCBFTEVNRU5UX1VOSVFVRV9JRCwgSEVBRElOR19UWVBFUyB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBpZENyZWF0b3IgfSBmcm9tICcuLi91dGlscy9pZC1jcmVhdG9yJztcbmltcG9ydCB7IGF1dG9Gb3JtYXRSdWxlcyB9IGZyb20gJy4uL2NvbnN0YW50cy9hdXRvLWZvcm1hdC1ydWxlcyc7XG5pbXBvcnQgeyB3aXRoVGhlSGlzdG9yeSB9IGZyb20gJy4vY29tbW9uL2hpc3RvcnkucGx1Z2luJztcbmltcG9ydCB7IHdpdGhEZXNlcmlhbGl6ZU1kIH0gZnJvbSAnLi9kZXNlcmlhbGl6ZXJzL2Rlc2VyaWFsaXplLW1kLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoQXV0b0luc2VydERhdGEgfSBmcm9tICcuL2NvbW1vbi9hdXRvLWluc2VydC1kYXRhLic7XG5pbXBvcnQgeyB3aXRoUmVtb3ZlRW1wdHkgfSBmcm9tICcuL2NvbW1vbi9yZW1vdmUtZW1wdHkucGx1Z2luJztcbmltcG9ydCB7IHdpdGhSZXNldFR5cGUgfSBmcm9tICcuL2NvbW1vbi9yZXNldC10eXBlLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoSW1hZ2UgfSBmcm9tICcuL2ltYWdlL2ltYWdlLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoTGlzdCB9IGZyb20gJy4vbGlzdC9saXN0LnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoVG9kb0l0ZW0gfSBmcm9tICcuL3RvZG8taXRlbS90b2RvLWl0ZW0ucGx1Z2luJztcbmltcG9ydCB7IHdpdGhIciB9IGZyb20gJy4vaHIvaHIucGx1Z2luJztcbmltcG9ydCB7IHdpdGhBbGlnbiB9IGZyb20gJy4vYWxpZ24vYWxpZ24ucGx1Z2luJztcbmltcG9ydCB7IHdpdGhIZWFkaW5nIH0gZnJvbSAnLi9oZWFkaW5nL2hlYWRpbmcucGx1Z2luJztcbmltcG9ydCB7IHdpdGhNYXJrIH0gZnJvbSAnLi9tYXJrL21hcmsucGx1Z2luJztcbmltcG9ydCB7IHdpdGhOb2RlSUQgfSBmcm9tICcuL25vZGUtaWQvbm9kZS1pZC5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEF1dG9Gb3JtYXQgfSBmcm9tICcuL2F1dG9mb3JtYXQvYXV0b2Zvcm1hdC5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aFRyYW5zZm9ybXMgfSBmcm9tICcuL2NvbW1vbi90cmFuc2Zvcm1zLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoVHJhaWxpbmdOb2RlIH0gZnJvbSAnLi9ub3JtYWxpemVycy90cmFpbGluZy1ub2RlLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoQmxvY2tDYXJkIH0gZnJvbSAnLi9jb21tb24vYmxvY2stY2FyZC5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aE1vdmVTZWxlY3Rpb24gfSBmcm9tICcuL2NvbW1vbi9tb3ZlLXNlbGVjdGlvbi5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEdldEZyYWdtZW50IH0gZnJvbSAnLi9jb21tb24vZ2V0LWZyYWdtZW50LnBsdWdpbic7XG5pbXBvcnQgeyBUb2RvSXRlbU9wdGlvbnMgfSBmcm9tICcuL3RvZG8taXRlbS9vcHRpb25zJztcbmltcG9ydCB7IE1hcmtPcHRpb25zIH0gZnJvbSAnLi9tYXJrL29wdGlvbnMnO1xuaW1wb3J0IHsgTGlzdE9wdGlvbnMgfSBmcm9tICcuL2xpc3Qvb3B0aW9ucyc7XG5pbXBvcnQgeyBJbWFnZU9wdGlvbnMgfSBmcm9tICcuL2ltYWdlL29wdGlvbnMnO1xuaW1wb3J0IHsgSHJPcHRpb25zIH0gZnJvbSAnLi9oci9vcHRpb25zJztcbmltcG9ydCB7IEhlYWRpbmdPcHRpb25zIH0gZnJvbSAnLi9oZWFkaW5nL29wdGlvbnMnO1xuaW1wb3J0IHsgQmxvY2txdW90ZU9wdGlvbnMgfSBmcm9tICcuL2Jsb2NrcXVvdGUvb3B0aW9ucyc7XG5pbXBvcnQgeyBBbGlnbk9wdGlvbnMgfSBmcm9tICcuL2FsaWduL29wdGlvbnMnO1xuaW1wb3J0IHsgd2l0aEJsb2NrcXVvdGUgfSBmcm9tICcuL2Jsb2NrcXVvdGUvYmxvY2txdW90ZS5wbHVnaW4nO1xuaW1wb3J0IHsgSGlzdG9yeUVkaXRvciB9IGZyb20gJ3NsYXRlLWhpc3RvcnknO1xuaW1wb3J0IHsgQ29sb3JPcHRpb25zIH0gZnJvbSAnLi9jb2xvci9vcHRpb25zJztcbmltcG9ydCB7IHdpdGhSZW1vdmVWb2lkIH0gZnJvbSAnLi9jb21tb24vcmVtb3ZlLXZvaWQucGx1Z2luJztcbmltcG9ydCB7IENvZGVPcHRpb25zIH0gZnJvbSAnLi9jb2RlL29wdGlvbnMnO1xuaW1wb3J0IHsgd2l0aENvZGUgfSBmcm9tICcuL2NvZGUvY29kZS5wbHVnaW4nO1xuaW1wb3J0IHsgTGlua09wdGlvbnMgfSBmcm9tICcuL2xpbmsvb3B0aW9ucyc7XG5pbXBvcnQgeyB3aXRoTGluayB9IGZyb20gJy4vbGluay9saW5rLnBsdWdpbic7XG5pbXBvcnQgeyBUYWJsZU9wdGlvbnMgfSBmcm9tICcuL3RhYmxlL29wdGlvbnMnO1xuaW1wb3J0IHsgd2l0aFRhYmxlIH0gZnJvbSAnLi90YWJsZS90YWJsZS5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEluc2VydFBhcmFncmFwaE5vZGVzIH0gZnJvbSAnLi9ub3JtYWxpemVycy9pbnNlcnQtcGFyYWdyYXBoLW5vZGVzJztcbmltcG9ydCB7IHdpdGhEZXNlcmlhbGl6ZUhNVEwgfSBmcm9tICcuL2Rlc2VyaWFsaXplcnMvZGVzZXJpYWxpemUtaHRtbC5wbHVnaW4nO1xuaW1wb3J0IHsgVmVydGljYWxBbGlnbk9wdGlvbnMgfSBmcm9tICcuL3ZlcnRpY2FsLWFsaWduL29wdGlvbnMnO1xuaW1wb3J0IHsgUGFpbnRGb3JtYXRPcHRpb25zIH0gZnJvbSAnLi9wYWludC1mb3JtYXQvb3B0aW9ucyc7XG5pbXBvcnQgKiBhcyBUaGVUcmFuc2Zvcm1zIGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgd2l0aFF1aWNrSW5zZXJ0IH0gZnJvbSAnLi9xdWljay1pbnNlcnQvcXVpY2staW5zZXJ0LnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoU29mdEJyZWFrIH0gZnJvbSAnLi9zb2Z0LWJyZWFrL3NvZnQtYnJlYWsucGx1Z2luJztcbmltcG9ydCB7IEZvbnRTaXplT3B0aW9ucyB9IGZyb20gJy4vZm9udC1zaXplL29wdGlvbnMnO1xuaW1wb3J0IHsgSW5saW5lQ29kZU9wdGlvbnMgfSBmcm9tICcuL2lubGluZS1jb2RlL29wdGlvbnMnO1xuaW1wb3J0IHsgd2l0aElubGluZUNvZGUgfSBmcm9tICcuL2lubGluZS1jb2RlL2lubGluZS1jb2RlLnBsdWdpbic7XG5pbXBvcnQgeyBJbmRlbnRPcHRpb25zIH0gZnJvbSAnLi9pbmRlbnQvb3B0aW9ucyc7XG5pbXBvcnQgeyB3aXRoSW5kZW50IH0gZnJvbSAnLi9pbmRlbnQvaW5kZW50LnBsdWdpbic7XG5cbmNvbnN0IGludGVybmFsUGx1Z2luczogKChlZGl0b3I6IEVkaXRvcikgPT4gRWRpdG9yKVtdID0gW1xuICAgIHdpdGhUaGVIaXN0b3J5LFxuICAgIHdpdGhBdXRvSW5zZXJ0RGF0YSgpLFxuICAgIHdpdGhSZW1vdmVFbXB0eSxcbiAgICB3aXRoUmVtb3ZlVm9pZCxcbiAgICB3aXRoQmxvY2tDYXJkLCAvLyBzaG91bGQgaW4gdGhlIGZyb250IG9mIGxpc3TjgIFyZXNldHR5cGXjgIF0b2Rv44CBZGVzZXJpYWxpemUtaHRtbFxuICAgIHdpdGhSZXNldFR5cGUsXG4gICAgd2l0aEluZGVudChbRWxlbWVudEtpbmRzLmNoZWNrSXRlbSwgRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdCwgRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdCwgRWxlbWVudEtpbmRzLnBhcmFncmFwaCwgLi4uSEVBRElOR19UWVBFU10pLCAvLyBzaG91bGQgaW4gdGhlIGZyb250IG9mIGxpc3RcbiAgICB3aXRoTGlzdCh7IHZhbGlkTGlDaGlsZHJlblR5cGVzOiBbRWxlbWVudEtpbmRzLmltYWdlXSB9KSxcbiAgICB3aXRoTGluayxcbiAgICB3aXRoVGFibGUsXG4gICAgd2l0aFRvZG9JdGVtLFxuICAgIHdpdGhIcixcbiAgICB3aXRoQWxpZ24sXG4gICAgd2l0aENvZGUsXG4gICAgd2l0aEhlYWRpbmcsXG4gICAgd2l0aE1hcmsoKSxcbiAgICB3aXRoU29mdEJyZWFrKHtcbiAgICAgICAgcnVsZXM6IFtcbiAgICAgICAgICAgIHsgaG90a2V5OiAnc2hpZnQrZW50ZXInIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaG90a2V5OiAnZW50ZXInLFxuICAgICAgICAgICAgICAgIHF1ZXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgIGFsbG93OiBbRWxlbWVudEtpbmRzLmJsb2NrcXVvdGVdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICBdXG4gICAgfSksXG4gICAgd2l0aEJsb2NrcXVvdGUsXG4gICAgd2l0aE5vZGVJRCh7IGlkS2V5OiBFTEVNRU5UX1VOSVFVRV9JRCwgaWRDcmVhdG9yIH0pLFxuICAgIHdpdGhBdXRvRm9ybWF0KHsgcnVsZXM6IGF1dG9Gb3JtYXRSdWxlcyB9KSxcbiAgICB3aXRoVHJhbnNmb3JtcygpLFxuICAgIHdpdGhUcmFpbGluZ05vZGUoeyB0eXBlOiBFbGVtZW50S2luZHMucGFyYWdyYXBoLCBsZXZlbDogMCB9KSxcbiAgICB3aXRoTW92ZVNlbGVjdGlvbixcbiAgICB3aXRoSW5zZXJ0UGFyYWdyYXBoTm9kZXMoKSxcbiAgICB3aXRoR2V0RnJhZ21lbnQoKSxcbiAgICB3aXRoSW1hZ2UsIC8vICBtdXN0IGJlIGJlZm9yZSB3aXRoRGVzZXJpYWxpemVITVRMXG4gICAgd2l0aERlc2VyaWFsaXplSE1UTCxcbiAgICB3aXRoRGVzZXJpYWxpemVNZCgpLFxuICAgIHdpdGhRdWlja0luc2VydCxcbiAgICB3aXRoSW5saW5lQ29kZVxuXTtcblxuY29uc3QgaW50ZXJuYWxUb29sYmFySXRlbXM6IFRvb2xiYXJJdGVtW10gPSBbXG4gICAgLi4uQWxpZ25PcHRpb25zLFxuICAgIC4uLk1hcmtPcHRpb25zLFxuICAgIC4uLkNvbG9yT3B0aW9ucyxcbiAgICAuLi5IZWFkaW5nT3B0aW9ucyxcbiAgICAuLi5Gb250U2l6ZU9wdGlvbnMsXG4gICAgLi4uVG9kb0l0ZW1PcHRpb25zLFxuICAgIC4uLkxpc3RPcHRpb25zLFxuICAgIC4uLkltYWdlT3B0aW9ucyxcbiAgICAuLi5Ick9wdGlvbnMsXG4gICAgLi4uQmxvY2txdW90ZU9wdGlvbnMsXG4gICAgLi4uQ29kZU9wdGlvbnMsXG4gICAgLi4uTGlua09wdGlvbnMsXG4gICAgLi4uVGFibGVPcHRpb25zLFxuICAgIC4uLlZlcnRpY2FsQWxpZ25PcHRpb25zLFxuICAgIC4uLlBhaW50Rm9ybWF0T3B0aW9ucyxcbiAgICAuLi5JbmxpbmVDb2RlT3B0aW9ucyxcbiAgICAuLi5JbmRlbnRPcHRpb25zXG5dO1xuXG5leHBvcnQgY29uc3QgdG9vbGJhckNvbXBvc2UgPSAodG9vbGJhckl0ZW1zOiBUb29sYmFySXRlbVtdID0gW10pID0+IHtcbiAgICByZXR1cm4gWy4uLmludGVybmFsVG9vbGJhckl0ZW1zLCAuLi50b29sYmFySXRlbXNdO1xufTtcblxuZXhwb3J0IGNvbnN0IHdpdGhUaGVFZGl0b3IgPSA8VCBleHRlbmRzIEFuZ3VsYXJFZGl0b3IgJiBIaXN0b3J5RWRpdG9yPihwbHVnaW5zOiBUaGVQbHVnaW5bXSwgZWRpdG9yOiBUKSA9PiB7XG4gICAgY29uc3QgZSA9IGVkaXRvciBhcyBUICYgVGhlRWRpdG9yO1xuXG4gICAgZS5yZW5kZXJFbGVtZW50ID0gKGVsZW1lbnQ6IEVsZW1lbnQpOiBWaWV3VHlwZSA9PiBudWxsO1xuICAgIGUucmVuZGVyTGVhZiA9ICh0ZXh0OiBUZXh0KTogVmlld1R5cGUgPT4gbnVsbDtcbiAgICBlLmluc2VydEVsZW1lbnQgPSAoZWxlbWVudDogRWxlbWVudCkgPT4gVGhlVHJhbnNmb3Jtcy5pbnNlcnRFbGVtZW50TmV4dChlLCBlbGVtZW50KTtcbiAgICBlLmlzQ29udGFpbmVyID0gKHZhbHVlOiBFbGVtZW50KSA9PiBmYWxzZTtcbiAgICBlLmV4dHJhRWxlbWVudE9wdGlvbnMgPSBbXTtcbiAgICBlLmRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBwbHVnaW5MaXN0ID0gWy4uLmludGVybmFsUGx1Z2lucywgLi4ucGx1Z2luc107XG5cbiAgICBwbHVnaW5MaXN0LnJlZHVjZSgocHJldkVkaXRvciwgbmV4dEVkaXRvcikgPT4gbmV4dEVkaXRvcihwcmV2RWRpdG9yKSwgZSk7XG5cbiAgICByZXR1cm4gZTtcbn07XG4iXX0=
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFB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QUEwQyxPQUFvQixFQUFFLE1BQVMsRUFBRSxFQUFFO0lBQ3RHLE1BQU0sQ0FBQyxHQUFHLE1BQXVCLENBQUM7SUFFbEMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxDQUFDLE9BQWdCLEVBQVksRUFBRSxDQUFDLElBQUksQ0FBQztJQUN2RCxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBVSxFQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFDOUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEYsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQzFDLENBQUMsQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFbkIsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLGVBQWUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDO0lBRXBELFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFekUsT0FBTyxDQUFDLENBQUM7QUFDYixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQsIFRleHQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yLCBWaWV3VHlwZSB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0ICogYXMgVHlwZXMgZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgVGhlRWRpdG9yLCBUaGVQbHVnaW4sIFRvb2xiYXJJdGVtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMsIEVMRU1FTlRfVU5JUVVFX0lELCBIRUFESU5HX1RZUEVTIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGlkQ3JlYXRvciB9IGZyb20gJy4uL3V0aWxzL2lkLWNyZWF0b3InO1xuaW1wb3J0IHsgd2l0aFRoZUhpc3RvcnkgfSBmcm9tICcuL2NvbW1vbi9oaXN0b3J5LnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoRGVzZXJpYWxpemVNZCB9IGZyb20gJy4vZGVzZXJpYWxpemVycy9kZXNlcmlhbGl6ZS1tZC5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEF1dG9JbnNlcnREYXRhIH0gZnJvbSAnLi9jb21tb24vYXV0by1pbnNlcnQtZGF0YS4nO1xuaW1wb3J0IHsgd2l0aFJlbW92ZUVtcHR5IH0gZnJvbSAnLi9jb21tb24vcmVtb3ZlLWVtcHR5LnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoUmVzZXRUeXBlIH0gZnJvbSAnLi9jb21tb24vcmVzZXQtdHlwZS5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEltYWdlIH0gZnJvbSAnLi9pbWFnZS9pbWFnZS5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aExpc3QgfSBmcm9tICcuL2xpc3QvbGlzdC5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aFRvZG9JdGVtIH0gZnJvbSAnLi90b2RvLWl0ZW0vdG9kby1pdGVtLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoSHIgfSBmcm9tICcuL2hyL2hyLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoQWxpZ24gfSBmcm9tICcuL2FsaWduL2FsaWduLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoSGVhZGluZyB9IGZyb20gJy4vaGVhZGluZy9oZWFkaW5nLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoTWFyayB9IGZyb20gJy4vbWFyay9tYXJrLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoTm9kZUlEIH0gZnJvbSAnLi9ub2RlLWlkL25vZGUtaWQucGx1Z2luJztcbmltcG9ydCB7IHdpdGhBdXRvRm9ybWF0IH0gZnJvbSAnLi9hdXRvZm9ybWF0L2F1dG9mb3JtYXQucGx1Z2luJztcbmltcG9ydCB7IHdpdGhUcmFuc2Zvcm1zIH0gZnJvbSAnLi9jb21tb24vdHJhbnNmb3Jtcy5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aFRyYWlsaW5nTm9kZSB9IGZyb20gJy4vbm9ybWFsaXplcnMvdHJhaWxpbmctbm9kZS5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEJsb2NrQ2FyZCB9IGZyb20gJy4vY29tbW9uL2Jsb2NrLWNhcmQucGx1Z2luJztcbmltcG9ydCB7IHdpdGhNb3ZlU2VsZWN0aW9uIH0gZnJvbSAnLi9jb21tb24vbW92ZS1zZWxlY3Rpb24ucGx1Z2luJztcbmltcG9ydCB7IHdpdGhHZXRGcmFnbWVudCB9IGZyb20gJy4vY29tbW9uL2dldC1mcmFnbWVudC5wbHVnaW4nO1xuaW1wb3J0IHsgVG9kb0l0ZW1PcHRpb25zIH0gZnJvbSAnLi90b2RvLWl0ZW0vb3B0aW9ucyc7XG5pbXBvcnQgeyBNYXJrT3B0aW9ucyB9IGZyb20gJy4vbWFyay9vcHRpb25zJztcbmltcG9ydCB7IExpc3RPcHRpb25zIH0gZnJvbSAnLi9saXN0L29wdGlvbnMnO1xuaW1wb3J0IHsgSW1hZ2VPcHRpb25zIH0gZnJvbSAnLi9pbWFnZS9vcHRpb25zJztcbmltcG9ydCB7IEhyT3B0aW9ucyB9IGZyb20gJy4vaHIvb3B0aW9ucyc7XG5pbXBvcnQgeyBIZWFkaW5nT3B0aW9ucyB9IGZyb20gJy4vaGVhZGluZy9vcHRpb25zJztcbmltcG9ydCB7IEJsb2NrcXVvdGVPcHRpb25zIH0gZnJvbSAnLi9ibG9ja3F1b3RlL29wdGlvbnMnO1xuaW1wb3J0IHsgQWxpZ25PcHRpb25zIH0gZnJvbSAnLi9hbGlnbi9vcHRpb25zJztcbmltcG9ydCB7IHdpdGhCbG9ja3F1b3RlIH0gZnJvbSAnLi9ibG9ja3F1b3RlL2Jsb2NrcXVvdGUucGx1Z2luJztcbmltcG9ydCB7IEhpc3RvcnlFZGl0b3IgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCB7IENvbG9yT3B0aW9ucyB9IGZyb20gJy4vY29sb3Ivb3B0aW9ucyc7XG5pbXBvcnQgeyB3aXRoUmVtb3ZlVm9pZCB9IGZyb20gJy4vY29tbW9uL3JlbW92ZS12b2lkLnBsdWdpbic7XG5pbXBvcnQgeyBDb2RlT3B0aW9ucyB9IGZyb20gJy4vY29kZS9vcHRpb25zJztcbmltcG9ydCB7IHdpdGhDb2RlIH0gZnJvbSAnLi9jb2RlL2NvZGUucGx1Z2luJztcbmltcG9ydCB7IExpbmtPcHRpb25zIH0gZnJvbSAnLi9saW5rL29wdGlvbnMnO1xuaW1wb3J0IHsgd2l0aExpbmsgfSBmcm9tICcuL2xpbmsvbGluay5wbHVnaW4nO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi90YWJsZS9vcHRpb25zJztcbmltcG9ydCB7IHdpdGhUYWJsZSB9IGZyb20gJy4vdGFibGUvdGFibGUucGx1Z2luJztcbmltcG9ydCB7IHdpdGhJbnNlcnRQYXJhZ3JhcGhOb2RlcyB9IGZyb20gJy4vbm9ybWFsaXplcnMvaW5zZXJ0LXBhcmFncmFwaC1ub2Rlcyc7XG5pbXBvcnQgeyB3aXRoRGVzZXJpYWxpemVITVRMIH0gZnJvbSAnLi9kZXNlcmlhbGl6ZXJzL2Rlc2VyaWFsaXplLWh0bWwucGx1Z2luJztcbmltcG9ydCB7IFZlcnRpY2FsQWxpZ25PcHRpb25zIH0gZnJvbSAnLi92ZXJ0aWNhbC1hbGlnbi9vcHRpb25zJztcbmltcG9ydCB7IFBhaW50Rm9ybWF0T3B0aW9ucyB9IGZyb20gJy4vcGFpbnQtZm9ybWF0L29wdGlvbnMnO1xuaW1wb3J0ICogYXMgVGhlVHJhbnNmb3JtcyBmcm9tICcuLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IHdpdGhRdWlja0luc2VydCB9IGZyb20gJy4vcXVpY2staW5zZXJ0L3F1aWNrLWluc2VydC5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aFNvZnRCcmVhayB9IGZyb20gJy4vc29mdC1icmVhay9zb2Z0LWJyZWFrLnBsdWdpbic7XG5pbXBvcnQgeyBGb250U2l6ZU9wdGlvbnMgfSBmcm9tICcuL2ZvbnQtc2l6ZS9vcHRpb25zJztcbmltcG9ydCB7IElubGluZUNvZGVPcHRpb25zIH0gZnJvbSAnLi9pbmxpbmUtY29kZS9vcHRpb25zJztcbmltcG9ydCB7IHdpdGhJbmxpbmVDb2RlIH0gZnJvbSAnLi9pbmxpbmUtY29kZS9pbmxpbmUtY29kZS5wbHVnaW4nO1xuaW1wb3J0IHsgSW5kZW50T3B0aW9ucyB9IGZyb20gJy4vaW5kZW50L29wdGlvbnMnO1xuaW1wb3J0IHsgd2l0aEluZGVudCB9IGZyb20gJy4vaW5kZW50L2luZGVudC5wbHVnaW4nO1xuXG5jb25zdCBpbnRlcm5hbFBsdWdpbnM6ICgoZWRpdG9yOiBFZGl0b3IpID0+IEVkaXRvcilbXSA9IFtcbiAgICB3aXRoVGhlSGlzdG9yeSxcbiAgICB3aXRoQXV0b0luc2VydERhdGEoKSxcbiAgICB3aXRoUmVtb3ZlRW1wdHksXG4gICAgd2l0aFJlbW92ZVZvaWQsXG4gICAgd2l0aEJsb2NrQ2FyZCwgLy8gc2hvdWxkIGluIHRoZSBmcm9udCBvZiBsaXN044CBcmVzZXR0eXBl44CBdG9kb+OAgWRlc2VyaWFsaXplLWh0bWxcbiAgICB3aXRoUmVzZXRUeXBlLFxuICAgIHdpdGhJbmRlbnQoW0VsZW1lbnRLaW5kcy5jaGVja0l0ZW0sIEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QsIEVsZW1lbnRLaW5kcy5idWxsZXRlZExpc3QsIEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgsIC4uLkhFQURJTkdfVFlQRVNdKSwgLy8gc2hvdWxkIGluIHRoZSBmcm9udCBvZiBsaXN0XG4gICAgd2l0aExpc3QoeyB2YWxpZExpQ2hpbGRyZW5UeXBlczogW0VsZW1lbnRLaW5kcy5pbWFnZV0gfSksXG4gICAgd2l0aExpbmssXG4gICAgd2l0aFRhYmxlLFxuICAgIHdpdGhUb2RvSXRlbSxcbiAgICB3aXRoSHIsXG4gICAgd2l0aEFsaWduLFxuICAgIHdpdGhDb2RlLFxuICAgIHdpdGhIZWFkaW5nLFxuICAgIHdpdGhNYXJrKCksXG4gICAgd2l0aFNvZnRCcmVhayh7XG4gICAgICAgIHJ1bGVzOiBbXG4gICAgICAgICAgICB7IGhvdGtleTogJ3NoaWZ0K2VudGVyJyB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGhvdGtleTogJ2VudGVyJyxcbiAgICAgICAgICAgICAgICBxdWVyeToge1xuICAgICAgICAgICAgICAgICAgICBhbGxvdzogW0VsZW1lbnRLaW5kcy5ibG9ja3F1b3RlXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgIH0pLFxuICAgIHdpdGhCbG9ja3F1b3RlLFxuICAgIHdpdGhOb2RlSUQoeyBpZEtleTogRUxFTUVOVF9VTklRVUVfSUQsIGlkQ3JlYXRvciB9KSxcbiAgICB3aXRoQXV0b0Zvcm1hdCgpLFxuICAgIHdpdGhUcmFuc2Zvcm1zKCksXG4gICAgd2l0aFRyYWlsaW5nTm9kZSh7IHR5cGU6IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgsIGxldmVsOiAwIH0pLFxuICAgIHdpdGhNb3ZlU2VsZWN0aW9uLFxuICAgIHdpdGhJbnNlcnRQYXJhZ3JhcGhOb2RlcygpLFxuICAgIHdpdGhHZXRGcmFnbWVudCgpLFxuICAgIHdpdGhJbWFnZSwgLy8gIG11c3QgYmUgYmVmb3JlIHdpdGhEZXNlcmlhbGl6ZUhNVExcbiAgICB3aXRoRGVzZXJpYWxpemVITVRMLFxuICAgIHdpdGhEZXNlcmlhbGl6ZU1kKCksXG4gICAgd2l0aFF1aWNrSW5zZXJ0LFxuICAgIHdpdGhJbmxpbmVDb2RlXG5dO1xuXG5jb25zdCBpbnRlcm5hbFRvb2xiYXJJdGVtczogVG9vbGJhckl0ZW1bXSA9IFtcbiAgICAuLi5BbGlnbk9wdGlvbnMsXG4gICAgLi4uTWFya09wdGlvbnMsXG4gICAgLi4uQ29sb3JPcHRpb25zLFxuICAgIC4uLkhlYWRpbmdPcHRpb25zLFxuICAgIC4uLkZvbnRTaXplT3B0aW9ucyxcbiAgICAuLi5Ub2RvSXRlbU9wdGlvbnMsXG4gICAgLi4uTGlzdE9wdGlvbnMsXG4gICAgLi4uSW1hZ2VPcHRpb25zLFxuICAgIC4uLkhyT3B0aW9ucyxcbiAgICAuLi5CbG9ja3F1b3RlT3B0aW9ucyxcbiAgICAuLi5Db2RlT3B0aW9ucyxcbiAgICAuLi5MaW5rT3B0aW9ucyxcbiAgICAuLi5UYWJsZU9wdGlvbnMsXG4gICAgLi4uVmVydGljYWxBbGlnbk9wdGlvbnMsXG4gICAgLi4uUGFpbnRGb3JtYXRPcHRpb25zLFxuICAgIC4uLklubGluZUNvZGVPcHRpb25zLFxuICAgIC4uLkluZGVudE9wdGlvbnNcbl07XG5cbmV4cG9ydCBjb25zdCB0b29sYmFyQ29tcG9zZSA9ICh0b29sYmFySXRlbXM6IFRvb2xiYXJJdGVtW10gPSBbXSkgPT4ge1xuICAgIHJldHVybiBbLi4uaW50ZXJuYWxUb29sYmFySXRlbXMsIC4uLnRvb2xiYXJJdGVtc107XG59O1xuXG5leHBvcnQgY29uc3Qgd2l0aFRoZUVkaXRvciA9IDxUIGV4dGVuZHMgQW5ndWxhckVkaXRvciAmIEhpc3RvcnlFZGl0b3I+KHBsdWdpbnM6IFRoZVBsdWdpbltdLCBlZGl0b3I6IFQpID0+IHtcbiAgICBjb25zdCBlID0gZWRpdG9yIGFzIFQgJiBUaGVFZGl0b3I7XG5cbiAgICBlLnJlbmRlckVsZW1lbnQgPSAoZWxlbWVudDogRWxlbWVudCk6IFZpZXdUeXBlID0+IG51bGw7XG4gICAgZS5yZW5kZXJMZWFmID0gKHRleHQ6IFRleHQpOiBWaWV3VHlwZSA9PiBudWxsO1xuICAgIGUuaW5zZXJ0RWxlbWVudCA9IChlbGVtZW50OiBFbGVtZW50KSA9PiBUaGVUcmFuc2Zvcm1zLmluc2VydEVsZW1lbnROZXh0KGUsIGVsZW1lbnQpO1xuICAgIGUuaXNDb250YWluZXIgPSAodmFsdWU6IEVsZW1lbnQpID0+IGZhbHNlO1xuICAgIGUuZXh0cmFFbGVtZW50T3B0aW9ucyA9IFtdO1xuICAgIGUuZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHBsdWdpbkxpc3QgPSBbLi4uaW50ZXJuYWxQbHVnaW5zLCAuLi5wbHVnaW5zXTtcblxuICAgIHBsdWdpbkxpc3QucmVkdWNlKChwcmV2RWRpdG9yLCBuZXh0RWRpdG9yKSA9PiBuZXh0RWRpdG9yKHByZXZFZGl0b3IpLCBlKTtcblxuICAgIHJldHVybiBlO1xufTtcbiJdfQ==