@worktile/theia 2.1.11 → 2.2.0
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.
- package/bundles/worktile-theia.umd.js +538 -310
- package/bundles/worktile-theia.umd.js.map +1 -1
- package/components/element/element.component.d.ts +1 -0
- package/constants/index.d.ts +1 -2
- package/constants/node-types.d.ts +6 -1
- package/custom-types.d.ts +1 -0
- package/editor.module.d.ts +44 -44
- package/esm2015/components/element/element.component.js +11 -4
- package/esm2015/components/text/text.component.js +2 -5
- package/esm2015/constants/index.js +2 -3
- package/esm2015/constants/node-types.js +7 -1
- package/esm2015/custom-types.js +1 -1
- package/esm2015/editor.component.js +1 -1
- package/esm2015/editor.module.js +6 -3
- package/esm2015/interfaces/editor.js +1 -1
- package/esm2015/plugins/common/block-card.plugin.js +2 -2
- package/esm2015/plugins/font-size/font-size.editor.js +2 -2
- package/esm2015/plugins/indent/indent.editor.js +81 -0
- package/esm2015/plugins/indent/indent.plugin.js +24 -3
- package/esm2015/plugins/indent/on-keydown-indent.js +40 -54
- package/esm2015/plugins/indent/options.js +26 -0
- package/esm2015/plugins/indent/toolbar-item.component.js +115 -0
- package/esm2015/plugins/index.js +5 -3
- package/esm2015/plugins/inline-code/inline-code.component.js +2 -2
- package/esm2015/plugins/list/components/bulleted-list.component.js +11 -14
- package/esm2015/plugins/list/components/numbered-list.component.js +12 -15
- package/esm2015/plugins/list/list.editor.js +8 -1
- package/esm2015/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.js +13 -6
- package/esm2015/plugins/todo-item/todo-item.component.js +8 -26
- package/esm2015/plugins/vertical-align/toolbar-item.component.js +3 -3
- package/fesm2015/worktile-theia.js +514 -303
- package/fesm2015/worktile-theia.js.map +1 -1
- package/interfaces/editor.d.ts +1 -1
- package/package.json +1 -1
- package/plugins/indent/indent.editor.d.ts +10 -0
- package/plugins/indent/indent.plugin.d.ts +2 -1
- package/plugins/indent/on-keydown-indent.d.ts +1 -1
- package/plugins/indent/options.d.ts +2 -0
- package/plugins/indent/toolbar-item.component.d.ts +36 -0
- package/plugins/inline-code/inline-code.component.scss +2 -1
- package/plugins/list/components/bulleted-list.component.d.ts +2 -4
- package/plugins/list/components/numbered-list.component.d.ts +2 -4
- package/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.d.ts +1 -0
- package/plugins/todo-item/todo-item.component.d.ts +2 -3
- package/plugins/todo-item/todo-item.component.scss +0 -3
- package/styles/editor.scss +27 -0
- package/styles/typo.scss +0 -5
package/esm2015/editor.module.js
CHANGED
|
@@ -60,6 +60,7 @@ import { TheQuickInsertComponent } from './plugins/quick-insert/components/quick
|
|
|
60
60
|
import { ThyResizableModule } from 'ngx-tethys/resizable';
|
|
61
61
|
import { ThySwitchModule } from 'ngx-tethys/switch';
|
|
62
62
|
import { TheInlineCodeComponent } from './plugins/inline-code/inline-code.component';
|
|
63
|
+
import { TheIndentToolbarComponent } from './plugins/indent/toolbar-item.component';
|
|
63
64
|
import * as i0 from "@angular/core";
|
|
64
65
|
const TETHYS = [
|
|
65
66
|
ThyIconModule,
|
|
@@ -98,7 +99,8 @@ export const COMPONENTS = [
|
|
|
98
99
|
TheTableSelectComponent,
|
|
99
100
|
TheTableToolbarItemComponent,
|
|
100
101
|
TheConversionHintComponent,
|
|
101
|
-
TheVerticalToolbarItemComponent
|
|
102
|
+
TheVerticalToolbarItemComponent,
|
|
103
|
+
TheIndentToolbarComponent
|
|
102
104
|
];
|
|
103
105
|
export const PLUGIN_COMPONENTS = [
|
|
104
106
|
TheImageComponent,
|
|
@@ -141,7 +143,8 @@ TheEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
|
|
|
141
143
|
TheTableSelectComponent,
|
|
142
144
|
TheTableToolbarItemComponent,
|
|
143
145
|
TheConversionHintComponent,
|
|
144
|
-
TheVerticalToolbarItemComponent,
|
|
146
|
+
TheVerticalToolbarItemComponent,
|
|
147
|
+
TheIndentToolbarComponent, TheImageComponent,
|
|
145
148
|
TheTemplateComponent,
|
|
146
149
|
TheHrComponent,
|
|
147
150
|
TheBlockquoteComponent,
|
|
@@ -198,4 +201,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
198
201
|
]
|
|
199
202
|
}]
|
|
200
203
|
}] });
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy9lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsd0JB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QW1CLGFBQ3hGLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLDJCQUEyQixFQUFFLHVCQUF1QixFQUFFLDBCQUEwQjs4R0FVMUgsZUFBZSxhQVJiO1FBQ1A7WUFDSSxPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLFFBQVEsRUFBRSx3QkFBd0I7U0FDckM7UUFDRCxzQkFBc0I7S0FDekIsWUFUUSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEdBQUcsTUFBTSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDOzRGQVcxRixlQUFlO2tCQWIzQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsVUFBVSxFQUFFLEdBQUcsaUJBQWlCLENBQUM7b0JBQ2pGLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEdBQUcsTUFBTSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDO29CQUNuRyxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSwyQkFBMkIsRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsQ0FBQztvQkFDcEksZUFBZSxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztvQkFDdEQsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxvQkFBb0I7NEJBQzdCLFFBQVEsRUFBRSx3QkFBd0I7eUJBQ3JDO3dCQUNELHNCQUFzQjtxQkFDekI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2xhdGVNb2R1bGUgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IFRoZVRleHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVEZWZhdWx0RWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbGVtZW50L2VsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRvb2xiYXJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyLWRyb3Bkb3duL3Rvb2xiYXItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXItaXRlbS90b29sYmFyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE5hdlNwbGl0TGluZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9uYXYtc3BsaXQtbGluZS9uYXYtc3BsaXQtbGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGVtcGxhdGUvdGVtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUhyQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2hyL2hyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVCbG9ja3F1b3RlQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2Jsb2NrcXVvdGUvYmxvY2txdW90ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9kb0l0ZW1Db21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdG9kby1pdGVtL3RvZG8taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvbGlzdC9jb21wb25lbnRzL2xpc3QtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQnVsbGV0ZWRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2xpc3QvY29tcG9uZW50cy9idWxsZXRlZC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVOdW1iZXJlZExpc3RDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvbGlzdC9jb21wb25lbnRzL251bWJlcmVkLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEVsZW1lbnRTdHlsZVBpcGUsIEVsZW1lbnRDbGFzc1BpcGUgfSBmcm9tICcuL3BpcGVzJztcblxuaW1wb3J0IHsgVGh5TmF2TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9uYXYnO1xuaW1wb3J0IHsgVGh5SWNvbk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlQcm9ncmVzc01vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvcHJvZ3Jlc3MnO1xuaW1wb3J0IHsgVGh5Rm9ybU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvZm9ybSc7XG5pbXBvcnQgeyBUaHlUb29sdGlwTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy90b29sdGlwJztcbmltcG9ydCB7IFRoeUF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IFRoeUF2YXRhck1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYXZhdGFyJztcbmltcG9ydCB7IFRoeVNoYXJlZE1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvc2hhcmVkJztcbmltcG9ydCB7IFRoeUxpc3RNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2xpc3QnO1xuaW1wb3J0IHsgVGh5QWN0aW9uTWVudU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYWN0aW9uLW1lbnUnO1xuaW1wb3J0IHsgVGh5SW5wdXRNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2lucHV0JztcbmltcG9ydCB7IFRoeVNlbGVjdE1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvc2VsZWN0JztcbmltcG9ydCB7IFRoeUJ1dHRvbk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYnV0dG9uJztcbmltcG9ydCB7IFRoeU5vdGlmeU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvbm90aWZ5JztcbmltcG9ydCB7IFRoeUFsZXJ0TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9hbGVydCc7XG5pbXBvcnQgeyBUaGVDb2xvclNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb2xvci1zZWxlY3QvY29sb3Itc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVDb2xvclRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2NvbG9yL3Rvb2xiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQ29kZUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9jb2RlL2NvZGUuY29tcG9uZW50JztcbmltcG9ydCB7IENvZGVtaXJyb3JNb2R1bGUgfSBmcm9tICduZy1jb2RlbWlycm9yJztcbmltcG9ydCB7IFRoZUxpbmtDb21wb25lbnQsIFRoZVJlYWRvbmx5TGlua0NvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9saW5rL2xpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUxpbmtFZGl0Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2xpbmsvZWRpdC9saW5rLWVkaXQuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUxpbmtIb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9saW5rL2hvdmVyL2xpbmstaG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRhYmxlVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3Rvb2xiYXIvdGFibGUtdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdGFibGUvY29tcG9uZW50cy90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGFibGVSb3dDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdGFibGUvY29tcG9uZW50cy9yb3cvcm93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUZENvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3RkL3RkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb250ZXh0bWVudS9jb250ZXh0bWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQ29sdW1uU2l6ZU1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb2x1bW4tcmVzaXplL2NvbHVtbi1yZXNpemUubW9kdWxlJztcbmltcG9ydCB7IFRoZUluc2VydE1hcmtDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdGFibGUvY29tcG9uZW50cy9pbnNlcnQtbWFyay9pbnNlcnQtbWFyay5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXItZ3JvdXAvdG9vbGJhci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckdyb3VwVG9rZW4gfSBmcm9tICcuL2NvbnN0YW50cy90b29sYmFyJztcbmltcG9ydCB7IFRoZVRhYmxlU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLXNlbGVjdC90YWJsZS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRhYmxlVG9vbGJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdGFibGUvdG9vbGJhci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVDb252ZXJzaW9uSGludENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb252ZXJzaW9uLWhpbnQvY29udmVyc2lvbi1oaW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVWZXJ0aWNhbFRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3ZlcnRpY2FsLWFsaWduL3Rvb2xiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVEhFX0NPREVfTU9ERV9QUk9WSURFUiB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRoZUlubGluZVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5saW5lLXRvb2xiYXIvaW5saW5lLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVF1aWNrVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9xdWljay1pbnNlcnQvY29tcG9uZW50cy9xdWljay10b29sYmFyL3F1aWNrLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVF1aWNrSW5zZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3F1aWNrLWluc2VydC9jb21wb25lbnRzL3F1aWNrLWluc2VydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5UmVzaXphYmxlTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9yZXNpemFibGUnO1xuaW1wb3J0IHsgVGh5U3dpdGNoTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9zd2l0Y2gnO1xuaW1wb3J0IHsgVGhlSW5saW5lQ29kZUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9pbmxpbmUtY29kZS9pbmxpbmUtY29kZS5jb21wb25lbnQnO1xuXG5jb25zdCBURVRIWVMgPSBbXG4gICAgVGh5SWNvbk1vZHVsZSxcbiAgICBUaHlBdmF0YXJNb2R1bGUsXG4gICAgVGh5TmF2TW9kdWxlLFxuICAgIFRoeUZvcm1Nb2R1bGUsXG4gICAgVGh5U2hhcmVkTW9kdWxlLFxuICAgIFRoeUxpc3RNb2R1bGUsXG4gICAgVGh5VG9vbHRpcE1vZHVsZSxcbiAgICBUaHlQcm9ncmVzc01vZHVsZSxcbiAgICBUaHlBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgVGh5QWN0aW9uTWVudU1vZHVsZSxcbiAgICBUaHlJbnB1dE1vZHVsZSxcbiAgICBUaHlTZWxlY3RNb2R1bGUsXG4gICAgVGh5QnV0dG9uTW9kdWxlLFxuICAgIFRoeU5vdGlmeU1vZHVsZSxcbiAgICBUaHlBbGVydE1vZHVsZSxcbiAgICBUaHlSZXNpemFibGVNb2R1bGUsXG4gICAgVGh5U3dpdGNoTW9kdWxlXG5dO1xuXG5leHBvcnQgY29uc3QgQ09NUE9ORU5UUyA9IFtcbiAgICBUaGVUb29sYmFyQ29tcG9uZW50LFxuICAgIFRoZVRvb2xiYXJEcm9wZG93bkNvbXBvbmVudCxcbiAgICBUaGVUb29sYmFyR3JvdXBDb21wb25lbnQsXG4gICAgVGhlVG9vbGJhckl0ZW1Db21wb25lbnQsXG4gICAgVGhlSW5saW5lVG9vbGJhckNvbXBvbmVudCxcbiAgICBOYXZTcGxpdExpbmVDb21wb25lbnQsXG4gICAgVGhlVGV4dENvbXBvbmVudCxcbiAgICBUaGVEZWZhdWx0RWxlbWVudENvbXBvbmVudCxcbiAgICBUaGVRdWlja0luc2VydENvbXBvbmVudCxcbiAgICBUaGVRdWlja1Rvb2xiYXJDb21wb25lbnQsXG4gICAgVGhlQ29sb3JTZWxlY3RDb21wb25lbnQsXG4gICAgVGhlQ29sb3JUb29sYmFySXRlbUNvbXBvbmVudCxcbiAgICBUaGVDb250ZXh0TWVudUNvbXBvbmVudCxcbiAgICBUaGVJbnNlcnRNYXJrQ29tcG9uZW50LFxuICAgIFRoZVRhYmxlU2VsZWN0Q29tcG9uZW50LFxuICAgIFRoZVRhYmxlVG9vbGJhckl0ZW1Db21wb25lbnQsXG4gICAgVGhlQ29udmVyc2lvbkhpbnRDb21wb25lbnQsXG4gICAgVGhlVmVydGljYWxUb29sYmFySXRlbUNvbXBvbmVudFxuXTtcblxuZXhwb3J0IGNvbnN0IFBMVUdJTl9DT01QT05FTlRTID0gW1xuICAgIFRoZUltYWdlQ29tcG9uZW50LFxuICAgIFRoZVRlbXBsYXRlQ29tcG9uZW50LFxuICAgIFRoZUhyQ29tcG9uZW50LFxuICAgIFRoZUJsb2NrcXVvdGVDb21wb25lbnQsXG4gICAgVGhlVG9kb0l0ZW1Db21wb25lbnQsXG4gICAgVGhlTGlzdEl0ZW1Db21wb25lbnQsXG4gICAgVGhlQnVsbGV0ZWRMaXN0Q29tcG9uZW50LFxuICAgIFRoZU51bWJlcmVkTGlzdENvbXBvbmVudCxcbiAgICBUaGVDb2RlQ29tcG9uZW50LFxuICAgIFRoZUxpbmtDb21wb25lbnQsXG4gICAgVGhlUmVhZG9ubHlMaW5rQ29tcG9uZW50LFxuICAgIFRoZUxpbmtFZGl0Q29tcG9uZW50LFxuICAgIFRoZUxpbmtIb3ZlckNvbXBvbmVudCxcbiAgICBUaGVUYWJsZVRvb2xiYXJDb21wb25lbnQsXG4gICAgVGhlVGFibGVDb21wb25lbnQsXG4gICAgVGhlVGFibGVSb3dDb21wb25lbnQsXG4gICAgVGhlVGRDb21wb25lbnQsXG4gICAgVGhlSW5saW5lQ29kZUNvbXBvbmVudFxuXTtcblxuY29uc3QgUElQRVMgPSBbRWxlbWVudFN0eWxlUGlwZSwgRWxlbWVudENsYXNzUGlwZV07XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbVGhlRWRpdG9yQ29tcG9uZW50LCAuLi5QSVBFUywgLi4uQ09NUE9ORU5UUywgLi4uUExVR0lOX0NPTVBPTkVOVFNdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNsYXRlTW9kdWxlLCBGb3Jtc01vZHVsZSwgLi4uVEVUSFlTLCBDb2RlbWlycm9yTW9kdWxlLCBUaGVDb2x1bW5TaXplTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbVGhlRWRpdG9yQ29tcG9uZW50LCBUaGVUb29sYmFyQ29tcG9uZW50LCBUaGVUb29sYmFyRHJvcGRvd25Db21wb25lbnQsIFRoZVRvb2xiYXJJdGVtQ29tcG9uZW50LCBUaGVEZWZhdWx0RWxlbWVudENvbXBvbmVudF0sXG4gICAgZW50cnlDb21wb25lbnRzOiBbLi4uQ09NUE9ORU5UUywgLi4uUExVR0lOX0NPTVBPTkVOVFNdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUaGVUb29sYmFyR3JvdXBUb2tlbixcbiAgICAgICAgICAgIHVzZVZhbHVlOiBUaGVUb29sYmFyR3JvdXBDb21wb25lbnRcbiAgICAgICAgfSxcbiAgICAgICAgVEhFX0NPREVfTU9ERV9QUk9WSURFUlxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGhlRWRpdG9yTW9kdWxlIHt9XG4iXX0=
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy9lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsd0JB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LGVBQWU7UUFDZixlQUFlO1FBQ2YsY0FBYztRQUNkLGtCQUFrQjtRQUNsQixlQUFlLEVBa0Q4QyxnQkFBZ0IsRUFBRSxtQkFBbUIsYUFDeEYsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsMkJBQTJCLEVBQUUsdUJBQXVCLEVBQUUsMEJBQTBCOzhHQVUxSCxlQUFlLGFBUmI7UUFDUDtZQUNJLE9BQU8sRUFBRSxvQkFBb0I7WUFDN0IsUUFBUSxFQUFFLHdCQUF3QjtTQUNyQztRQUNELHNCQUFzQjtLQUN6QixZQVRRLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUM7NEZBVzFGLGVBQWU7a0JBYjNCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FBRyxVQUFVLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztvQkFDakYsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUM7b0JBQ25HLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLDJCQUEyQixFQUFFLHVCQUF1QixFQUFFLDBCQUEwQixDQUFDO29CQUNwSSxlQUFlLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLGlCQUFpQixDQUFDO29CQUN0RCxTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLG9CQUFvQjs0QkFDN0IsUUFBUSxFQUFFLHdCQUF3Qjt5QkFDckM7d0JBQ0Qsc0JBQXNCO3FCQUN6QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTbGF0ZU1vZHVsZSB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgVGhlVGV4dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZXh0L3RleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZURlZmF1bHRFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VsZW1lbnQvZWxlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2ltYWdlL2ltYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckRyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXItZHJvcGRvd24vdG9vbGJhci1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9vbGJhci1pdGVtL3Rvb2xiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2U3BsaXRMaW5lQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25hdi1zcGxpdC1saW5lL25hdi1zcGxpdC1saW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZW1wbGF0ZS90ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlSHJDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvaHIvaHIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUJsb2NrcXVvdGVDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvYmxvY2txdW90ZS9ibG9ja3F1b3RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUb2RvSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy90b2RvLWl0ZW0vdG9kby1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVMaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9saXN0L2NvbXBvbmVudHMvbGlzdC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVCdWxsZXRlZExpc3RDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvbGlzdC9jb21wb25lbnRzL2J1bGxldGVkLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZU51bWJlcmVkTGlzdENvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9saXN0L2NvbXBvbmVudHMvbnVtYmVyZWQtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWxlbWVudFN0eWxlUGlwZSwgRWxlbWVudENsYXNzUGlwZSB9IGZyb20gJy4vcGlwZXMnO1xuXG5pbXBvcnQgeyBUaHlOYXZNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL25hdic7XG5pbXBvcnQgeyBUaHlJY29uTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IFRoeVByb2dyZXNzTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9wcm9ncmVzcyc7XG5pbXBvcnQgeyBUaHlGb3JtTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9mb3JtJztcbmltcG9ydCB7IFRoeVRvb2x0aXBNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgVGh5QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgVGh5QXZhdGFyTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9hdmF0YXInO1xuaW1wb3J0IHsgVGh5U2hhcmVkTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9zaGFyZWQnO1xuaW1wb3J0IHsgVGh5TGlzdE1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvbGlzdCc7XG5pbXBvcnQgeyBUaHlBY3Rpb25NZW51TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9hY3Rpb24tbWVudSc7XG5pbXBvcnQgeyBUaHlJbnB1dE1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvaW5wdXQnO1xuaW1wb3J0IHsgVGh5U2VsZWN0TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9zZWxlY3QnO1xuaW1wb3J0IHsgVGh5QnV0dG9uTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9idXR0b24nO1xuaW1wb3J0IHsgVGh5Tm90aWZ5TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9ub3RpZnknO1xuaW1wb3J0IHsgVGh5QWxlcnRNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2FsZXJ0JztcbmltcG9ydCB7IFRoZUNvbG9yU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbG9yLXNlbGVjdC9jb2xvci1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUNvbG9yVG9vbGJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvY29sb3IvdG9vbGJhci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVDb2RlQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2NvZGUvY29kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29kZW1pcnJvck1vZHVsZSB9IGZyb20gJ25nLWNvZGVtaXJyb3InO1xuaW1wb3J0IHsgVGhlTGlua0NvbXBvbmVudCwgVGhlUmVhZG9ubHlMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2xpbmsvbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlTGlua0VkaXRDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvbGluay9lZGl0L2xpbmstZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlTGlua0hvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2xpbmsvaG92ZXIvbGluay1ob3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGFibGVUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlL2NvbXBvbmVudHMvdG9vbGJhci90YWJsZS10b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3RhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUYWJsZVJvd0NvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3Jvdy9yb3cuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRkQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlL2NvbXBvbmVudHMvdGQvdGQuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUNvbnRleHRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbnRleHRtZW51L2NvbnRleHRtZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVDb2x1bW5TaXplTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbHVtbi1yZXNpemUvY29sdW1uLXJlc2l6ZS5tb2R1bGUnO1xuaW1wb3J0IHsgVGhlSW5zZXJ0TWFya0NvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL2luc2VydC1tYXJrL2luc2VydC1tYXJrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUb29sYmFyR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9vbGJhci1ncm91cC90b29sYmFyLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUb29sYmFyR3JvdXBUb2tlbiB9IGZyb20gJy4vY29uc3RhbnRzL3Rvb2xiYXInO1xuaW1wb3J0IHsgVGhlVGFibGVTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUtc2VsZWN0L3RhYmxlLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGFibGVUb29sYmFySXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy90YWJsZS90b29sYmFyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUNvbnZlcnNpb25IaW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbnZlcnNpb24taGludC9jb252ZXJzaW9uLWhpbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVZlcnRpY2FsVG9vbGJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdmVydGljYWwtYWxpZ24vdG9vbGJhci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUSEVfQ09ERV9NT0RFX1BST1ZJREVSIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVGhlSW5saW5lVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbmxpbmUtdG9vbGJhci9pbmxpbmUtdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlUXVpY2tUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3F1aWNrLWluc2VydC9jb21wb25lbnRzL3F1aWNrLXRvb2xiYXIvcXVpY2stdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlUXVpY2tJbnNlcnRDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvcXVpY2staW5zZXJ0L2NvbXBvbmVudHMvcXVpY2staW5zZXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlSZXNpemFibGVNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3Jlc2l6YWJsZSc7XG5pbXBvcnQgeyBUaHlTd2l0Y2hNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3N3aXRjaCc7XG5pbXBvcnQgeyBUaGVJbmxpbmVDb2RlQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2lubGluZS1jb2RlL2lubGluZS1jb2RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVJbmRlbnRUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2luZGVudC90b29sYmFyLWl0ZW0uY29tcG9uZW50JztcblxuY29uc3QgVEVUSFlTID0gW1xuICAgIFRoeUljb25Nb2R1bGUsXG4gICAgVGh5QXZhdGFyTW9kdWxlLFxuICAgIFRoeU5hdk1vZHVsZSxcbiAgICBUaHlGb3JtTW9kdWxlLFxuICAgIFRoeVNoYXJlZE1vZHVsZSxcbiAgICBUaHlMaXN0TW9kdWxlLFxuICAgIFRoeVRvb2x0aXBNb2R1bGUsXG4gICAgVGh5UHJvZ3Jlc3NNb2R1bGUsXG4gICAgVGh5QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIFRoeUFjdGlvbk1lbnVNb2R1bGUsXG4gICAgVGh5SW5wdXRNb2R1bGUsXG4gICAgVGh5U2VsZWN0TW9kdWxlLFxuICAgIFRoeUJ1dHRvbk1vZHVsZSxcbiAgICBUaHlOb3RpZnlNb2R1bGUsXG4gICAgVGh5QWxlcnRNb2R1bGUsXG4gICAgVGh5UmVzaXphYmxlTW9kdWxlLFxuICAgIFRoeVN3aXRjaE1vZHVsZVxuXTtcblxuZXhwb3J0IGNvbnN0IENPTVBPTkVOVFMgPSBbXG4gICAgVGhlVG9vbGJhckNvbXBvbmVudCxcbiAgICBUaGVUb29sYmFyRHJvcGRvd25Db21wb25lbnQsXG4gICAgVGhlVG9vbGJhckdyb3VwQ29tcG9uZW50LFxuICAgIFRoZVRvb2xiYXJJdGVtQ29tcG9uZW50LFxuICAgIFRoZUlubGluZVRvb2xiYXJDb21wb25lbnQsXG4gICAgTmF2U3BsaXRMaW5lQ29tcG9uZW50LFxuICAgIFRoZVRleHRDb21wb25lbnQsXG4gICAgVGhlRGVmYXVsdEVsZW1lbnRDb21wb25lbnQsXG4gICAgVGhlUXVpY2tJbnNlcnRDb21wb25lbnQsXG4gICAgVGhlUXVpY2tUb29sYmFyQ29tcG9uZW50LFxuICAgIFRoZUNvbG9yU2VsZWN0Q29tcG9uZW50LFxuICAgIFRoZUNvbG9yVG9vbGJhckl0ZW1Db21wb25lbnQsXG4gICAgVGhlQ29udGV4dE1lbnVDb21wb25lbnQsXG4gICAgVGhlSW5zZXJ0TWFya0NvbXBvbmVudCxcbiAgICBUaGVUYWJsZVNlbGVjdENvbXBvbmVudCxcbiAgICBUaGVUYWJsZVRvb2xiYXJJdGVtQ29tcG9uZW50LFxuICAgIFRoZUNvbnZlcnNpb25IaW50Q29tcG9uZW50LFxuICAgIFRoZVZlcnRpY2FsVG9vbGJhckl0ZW1Db21wb25lbnQsXG4gICAgVGhlSW5kZW50VG9vbGJhckNvbXBvbmVudFxuXTtcblxuZXhwb3J0IGNvbnN0IFBMVUdJTl9DT01QT05FTlRTID0gW1xuICAgIFRoZUltYWdlQ29tcG9uZW50LFxuICAgIFRoZVRlbXBsYXRlQ29tcG9uZW50LFxuICAgIFRoZUhyQ29tcG9uZW50LFxuICAgIFRoZUJsb2NrcXVvdGVDb21wb25lbnQsXG4gICAgVGhlVG9kb0l0ZW1Db21wb25lbnQsXG4gICAgVGhlTGlzdEl0ZW1Db21wb25lbnQsXG4gICAgVGhlQnVsbGV0ZWRMaXN0Q29tcG9uZW50LFxuICAgIFRoZU51bWJlcmVkTGlzdENvbXBvbmVudCxcbiAgICBUaGVDb2RlQ29tcG9uZW50LFxuICAgIFRoZUxpbmtDb21wb25lbnQsXG4gICAgVGhlUmVhZG9ubHlMaW5rQ29tcG9uZW50LFxuICAgIFRoZUxpbmtFZGl0Q29tcG9uZW50LFxuICAgIFRoZUxpbmtIb3ZlckNvbXBvbmVudCxcbiAgICBUaGVUYWJsZVRvb2xiYXJDb21wb25lbnQsXG4gICAgVGhlVGFibGVDb21wb25lbnQsXG4gICAgVGhlVGFibGVSb3dDb21wb25lbnQsXG4gICAgVGhlVGRDb21wb25lbnQsXG4gICAgVGhlSW5saW5lQ29kZUNvbXBvbmVudFxuXTtcblxuY29uc3QgUElQRVMgPSBbRWxlbWVudFN0eWxlUGlwZSwgRWxlbWVudENsYXNzUGlwZV07XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbVGhlRWRpdG9yQ29tcG9uZW50LCAuLi5QSVBFUywgLi4uQ09NUE9ORU5UUywgLi4uUExVR0lOX0NPTVBPTkVOVFNdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNsYXRlTW9kdWxlLCBGb3Jtc01vZHVsZSwgLi4uVEVUSFlTLCBDb2RlbWlycm9yTW9kdWxlLCBUaGVDb2x1bW5TaXplTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbVGhlRWRpdG9yQ29tcG9uZW50LCBUaGVUb29sYmFyQ29tcG9uZW50LCBUaGVUb29sYmFyRHJvcGRvd25Db21wb25lbnQsIFRoZVRvb2xiYXJJdGVtQ29tcG9uZW50LCBUaGVEZWZhdWx0RWxlbWVudENvbXBvbmVudF0sXG4gICAgZW50cnlDb21wb25lbnRzOiBbLi4uQ09NUE9ORU5UUywgLi4uUExVR0lOX0NPTVBPTkVOVFNdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUaGVUb29sYmFyR3JvdXBUb2tlbixcbiAgICAgICAgICAgIHVzZVZhbHVlOiBUaGVUb29sYmFyR3JvdXBDb21wb25lbnRcbiAgICAgICAgfSxcbiAgICAgICAgVEhFX0NPREVfTU9ERV9QUk9WSURFUlxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGhlRWRpdG9yTW9kdWxlIHt9XG4iXX0=
|
|
@@ -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+
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2ludGVyZmFjZXMvZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQThCLE1BQU0sZUFBZSxDQUFDO0FBaUIxRSxNQUFNLENBQUMsTUFBTSxTQUFTLHFCQUNmLGFBQWEsQ0FDbkIsQ0FBQztBQU1GLE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDbkIsNEJBQWEsQ0FBQTtJQUNiLDRCQUFhLENBQUE7QUFDakIsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jZXN0b3IsIFJhbmdlLCBQYXRoLCBQb2ludCwgTm9kZSwgU3BhbiwgTm9kZUVudHJ5LCBFZGl0b3IsIEVsZW1lbnQsIFRleHQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yLCBTbGF0ZVBsYWNlaG9sZGVyLCBWaWV3VHlwZSB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgSGlzdG9yeUVkaXRvciB9IGZyb20gJ3NsYXRlLWhpc3RvcnknO1xuaW1wb3J0IHsgRWxlbWVudE9wdGlvbnNJbmZvIH0gZnJvbSAnLi92YWxpZC1jaGlsZHJlbi10eXBlcyc7XG5pbXBvcnQgeyBQcmVkaWNhdGUgfSBmcm9tICcuLi91dGlscy9tYXRjaCc7XG5pbXBvcnQgeyBUb29sYmFyT3B0aW9uIH0gZnJvbSAnLi90b29sYmFyJztcbmltcG9ydCB7IEZvbnRTaXplcyB9IGZyb20gJy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBUaGVFZGl0b3IgZXh0ZW5kcyBBbmd1bGFyRWRpdG9yLCBIaXN0b3J5RWRpdG9yIHtcbiAgICByZW5kZXJFbGVtZW50OiAoZWxlbWVudDogRWxlbWVudCkgPT4gVmlld1R5cGU7XG4gICAgcmVuZGVyTGVhZjogKHRleHQ6IFRleHQpID0+IFZpZXdUeXBlO1xuICAgIGluc2VydEVsZW1lbnQ6IChlbGVtZW50OiBFbGVtZW50KSA9PiB2b2lkO1xuICAgIGlzQ29udGFpbmVyOiAoZWxlbWVudDogRWxlbWVudCkgPT4gYm9vbGVhbjtcbiAgICBleHRyYUVsZW1lbnRPcHRpb25zOiBFbGVtZW50T3B0aW9uc0luZm9bXTtcbiAgICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBjb25zdCBUaGVFZGl0b3IgPSB7XG4gICAgLi4uQW5ndWxhckVkaXRvclxufTtcblxuZXhwb3J0IGludGVyZmFjZSBUaGVQbHVnaW4ge1xuICAgIChlZGl0b3I6IEVkaXRvcik6IEVkaXRvcjtcbn1cblxuZXhwb3J0IGVudW0gVGhlRGF0YU1vZGUge1xuICAgIGpzb24gPSAnanNvbicsXG4gICAgaHRtbCA9ICdodG1sJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoZU9wdGlvbnMge1xuICAgIG1vZGU/OiBUaGVEYXRhTW9kZTtcbiAgICByZWFkb25seT86IGJvb2xlYW47XG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAgIGF1dG9Gb2N1cz86IGJvb2xlYW47XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgcGxhY2Vob2xkZXJEZWNvcmF0ZT86IChlZGl0b3I6IEVkaXRvcikgPT4gU2xhdGVQbGFjZWhvbGRlcltdO1xuICAgIGlubGluZVRvb2JhclZpc2libGU/OiBib29sZWFuO1xuICAgIHF1aWNrSW5zZXJ0VmlzaWJsZT86IGJvb2xlYW47XG4gICAgc2Nyb2xsQ29udGFpbmVyPzogc3RyaW5nO1xuICAgIG1heEhlaWdodD86IG51bWJlcjtcbiAgICBmb250U2l6ZT86IEZvbnRTaXplcztcbiAgICB0b29sYmFyPzogVG9vbGJhck9wdGlvbjtcbiAgICBkaXNhYmxlUGx1Z2lucz86IHN0cmluZ1tdO1xuICAgIGV4dHJhRWxlbWVudE9wdGlvbnM/OiBFbGVtZW50T3B0aW9uc0luZm9bXTtcbn1cblxuZXhwb3J0IHR5cGUgTm9kZU1hdGNoPFQgPSBOb2RlPiA9IFByZWRpY2F0ZTxUPjtcblxuZXhwb3J0IGludGVyZmFjZSBNYXRjaE9wdGlvbnM8VCA9IE5vZGU+IHtcbiAgICBtYXRjaD86IE5vZGVNYXRjaDxUPjtcbiAgICBibG9jaz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yQWJvdmVPcHRpb25zPFQgPSBBbmNlc3Rvcj4gZXh0ZW5kcyBNYXRjaE9wdGlvbnM8VD4ge1xuICAgIGF0PzogUmFuZ2UgfCBQYXRoIHwgUG9pbnQ7XG4gICAgbW9kZT86ICdoaWdoZXN0JyB8ICdsb3dlc3QnO1xuICAgIHZvaWRzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZGl0b3JOb2Rlc09wdGlvbnMge1xuICAgIGF0PzogUmFuZ2UgfCBQYXRoIHwgUG9pbnQgfCBTcGFuO1xuICAgIG1hdGNoPzogKG5vZGU6IE5vZGUpID0+IGJvb2xlYW47XG4gICAgbW9kZT86ICdoaWdoZXN0JyB8ICdsb3dlc3QnIHwgJ2FsbCc7XG4gICAgdW5pdmVyc2FsPzogYm9vbGVhbjtcbiAgICByZXZlcnNlPzogYm9vbGVhbjtcbiAgICB2b2lkcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV3JhcE9wdGlvbnMge1xuICAgIGF0PzogUGF0aCB8IFBvaW50IHwgUmFuZ2U7XG4gICAgbWF0Y2g/OiAobm9kZTogTm9kZSkgPT4gYm9vbGVhbjtcbiAgICBtb2RlPzogJ2hpZ2hlc3QnIHwgJ2xvd2VzdCcgfCAnYWxsJztcbiAgICBzcGxpdD86IGJvb2xlYW47XG4gICAgdm9pZHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVkaXRvclBhcmVudE9wdGlvbnMge1xuICAgIGRlcHRoPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGVkZ2U/OiAnc3RhcnQnIHwgJ2VuZCcgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlPcHRpb25zIHtcbiAgICAvLyBDb25kaXRpb24gb24gdGhlIG5vZGUgdG8gYmUgdmFsaWQuXG4gICAgZmlsdGVyPzogKGVudHJ5OiBOb2RlRW50cnk8Tm9kZT4pID0+IGJvb2xlYW47XG4gICAgLy8gTGlzdCBvZiB0eXBlcyB0aGF0IGFyZSB2YWxpZC4gSWYgZW1wdHkgb3IgdW5kZWZpbmVkIC0gYWxsb3cgYWxsLlxuICAgIGFsbG93Pzogc3RyaW5nW107XG4gICAgLy8gTGlzdCBvZiB0eXBlcyB0aGF0IGFyZSBpbnZhbGlkLlxuICAgIGV4Y2x1ZGU/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb21FdmVudERhdGFJbmZvIHtcbiAgICBpbnB1dFR5cGU/OiBzdHJpbmc7XG4gICAga2V5Pzogc3RyaW5nO1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gICAganNvbj86IE5vZGVbXTtcbn1cbiJdfQ==
|
|
@@ -156,7 +156,7 @@ export const withBlockCard = (editor) => {
|
|
|
156
156
|
return;
|
|
157
157
|
}
|
|
158
158
|
// → + right-block-card
|
|
159
|
-
if (
|
|
159
|
+
if (isMoveForward && !isCardLeftCursor) {
|
|
160
160
|
nativeEvent.preventDefault();
|
|
161
161
|
const [, path] = AngularEditor.toSlateCardEntry(editor, anchorNode);
|
|
162
162
|
const nextPath = Path.next(path);
|
|
@@ -278,4 +278,4 @@ export const withBlockCard = (editor) => {
|
|
|
278
278
|
};
|
|
279
279
|
return editor;
|
|
280
280
|
};
|
|
281
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stY2FyZC5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9jb21tb24vYmxvY2stY2FyZC5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxLQUFLLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXBFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLE1BQWMsRUFBVSxFQUFFO0lBQ3BELE1BQU0sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUVqRyxNQUFNLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRTtRQUN0QixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0MsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQztRQUMzQyxJQUFJLFlBQVksSUFBSSxZQUFZLENBQUMsV0FBVyxJQUFJLFlBQVksQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUN4RSxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLENB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RSxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEMsSUFBSSxZQUFZLEVBQUU7Z0JBQ2QsZUFBZSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztnQkFDeEMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7YUFDN0M7aUJBQU07Z0JBQ0gsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDM0MsZUFBZSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDbEMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDdkM7U0FDSjtRQUNELFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQixDQUFDLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIE5vZGUsIFJhbmdlLCBQYXRoLCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgSGlzdG9yeUVkaXRvciB9IGZyb20gJ3NsYXRlLWhpc3RvcnknO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciwgaG90a2V5cywgaGFzQmxvY2tDYXJkLCBpc0NhcmRMZWZ0LCBGQUtFX1JJR0hUX0JMT0NLX0NBUkRfT0ZGU0VUIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgKiBhcyBUaGVUcmFuc2Zvcm1zIGZyb20gJy4uLy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi9xdWVyaWVzJztcbmltcG9ydCB7IGNyZWF0ZUVtcHR5UGFyYWdyYXBoIH0gZnJvbSAnLi4vLi4vdXRpbHMvY3JlYXRlLWVtcHR5LXBhcmFncmFwaCc7XG5pbXBvcnQgeyBpbnNlcnRQYXJhZ3JhcGggfSBmcm9tICcuLi8uLi90cmFuc2Zvcm1zL2luc2VydC1wYXJhZ3JhcGgnO1xuXG5leHBvcnQgY29uc3Qgd2l0aEJsb2NrQ2FyZCA9IChlZGl0b3I6IEVkaXRvcik6IEVkaXRvciA9PiB7XG4gICAgY29uc3QgeyBpbnNlcnRCcmVhaywgZGVsZXRlQmFja3dhcmQsIG9uS2V5ZG93biwgZGVsZXRlRm9yd2FyZCwgaW5zZXJ0RGF0YSwgaW5zZXJ0VGV4dCB9ID0gZWRpdG9yO1xuXG4gICAgZWRpdG9yLmluc2VydEJyZWFrID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBkb21TZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIGNvbnN0IGFuY2hvck5vZGUgPSBkb21TZWxlY3Rpb24uYW5jaG9yTm9kZTtcbiAgICAgICAgaWYgKGRvbVNlbGVjdGlvbiAmJiBkb21TZWxlY3Rpb24uaXNDb2xsYXBzZWQgJiYgaGFzQmxvY2tDYXJkKGRvbVNlbGVjdGlvbikpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzTGVmdEN1cnNvciA9IGlzQ2FyZExlZnQoYW5jaG9yTm9kZSk7XG4gICAgICAgICAgICBjb25zdCBjYXJkRW50cnkgPSBBbmd1bGFyRWRpdG9yLnRvU2xhdGVDYXJkRW50cnkoZWRpdG9yLCBhbmNob3JOb2RlKTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnNvclJvb3RQYXRoID0gY2FyZEVudHJ5WzFdO1xuICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5pbnNlcnRQYXJhZ3JhcGgoZWRpdG9yLCBpc0xlZnRDdXJzb3IgPyBjdXJzb3JSb290UGF0aCA6IFBhdGgubmV4dChjdXJzb3JSb290UGF0aCkpO1xuICAgICAgICAgICAgaWYgKCFpc0xlZnRDdXJzb3IpIHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIFBhdGgubmV4dChjdXJzb3JSb290UGF0aCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGluc2VydEJyZWFrKCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5kZWxldGVCYWNrd2FyZCA9IHVuaXQgPT4ge1xuICAgICAgICBjb25zdCBkb21TZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIGNvbnN0IGFuY2hvck5vZGUgPSBkb21TZWxlY3Rpb24uYW5jaG9yTm9kZTtcbiAgICAgICAgaWYgKGRvbVNlbGVjdGlvbiAmJiBkb21TZWxlY3Rpb24uaXNDb2xsYXBzZWQgJiYgaGFzQmxvY2tDYXJkKGRvbVNlbGVjdGlvbikpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzTGVmdEN1cnNvciA9IGlzQ2FyZExlZnQoYW5jaG9yTm9kZSk7XG4gICAgICAgICAgICBjb25zdCBjYXJkRW50cnkgPSBBbmd1bGFyRWRpdG9yLnRvU2xhdGVDYXJkRW50cnkoZWRpdG9yLCBhbmNob3JOb2RlKTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnNvclJvb3RQYXRoID0gY2FyZEVudHJ5WzFdO1xuICAgICAgICAgICAgaWYgKGlzTGVmdEN1cnNvcikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzUGF0aCA9IFBhdGguaGFzUHJldmlvdXMoY3Vyc29yUm9vdFBhdGgpICYmIFBhdGgucHJldmlvdXMoY3Vyc29yUm9vdFBhdGgpO1xuICAgICAgICAgICAgICAgIGlmICghcHJldmlvdXNQYXRoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzUGF0aCAmJiBUaGVRdWVyaWVzLmlzRW1wdHlQYXJhZ3JhcGhCeVBhdGgoZWRpdG9yLCBwcmV2aW91c1BhdGgpKSB7XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMucmVtb3ZlTm9kZXMoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdDogcHJldmlvdXNQYXRoXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEhpc3RvcnlFZGl0b3Iud2l0aG91dE1lcmdpbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgRWRpdG9yLmVuZChlZGl0b3IsIHByZXZpb3VzUGF0aCkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5pbnNlcnRQYXJhZ3JhcGgoZWRpdG9yLCBjdXJzb3JSb290UGF0aCk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBjdXJzb3JSb290UGF0aCk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5yZW1vdmVOb2RlcyhlZGl0b3IsIHsgYXQ6IFBhdGgubmV4dChjdXJzb3JSb290UGF0aCkgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYmxvY2tDYXJkID0gVGhlUXVlcmllcy5nZXRCbG9ja0NhcmRBYm92ZShlZGl0b3IpO1xuICAgICAgICBjb25zdCBiZWZvcmVQb2ludCA9IEVkaXRvci5iZWZvcmUoZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvcik7XG4gICAgICAgIGNvbnN0IGJlZm9yZUJsb2NrQ2FyZCA9IFRoZVF1ZXJpZXMuZ2V0QmxvY2tDYXJkQWJvdmUoZWRpdG9yLCB7IGF0OiBiZWZvcmVQb2ludCB9KTtcbiAgICAgICAgaWYgKCFibG9ja0NhcmQgJiYgYmVmb3JlQmxvY2tDYXJkKSB7XG4gICAgICAgICAgICBpZiAoVGhlUXVlcmllcy5pc0Jsb2NrQWJvdmVFbXB0eShlZGl0b3IpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgW25vZGUsIHBhdGhdID0gRWRpdG9yLnBhcmVudChlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24uYW5jaG9yLnBhdGgpO1xuICAgICAgICAgICAgICAgIEhpc3RvcnlFZGl0b3Iud2l0aG91dE1lcmdpbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJpZ2h0Q3Vyc29yID0geyBwYXRoOiBiZWZvcmVCbG9ja0NhcmRbMV0sIG9mZnNldDogRkFLRV9SSUdIVF9CTE9DS19DQVJEX09GRlNFVCB9O1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIHsgYW5jaG9yOiByaWdodEN1cnNvciwgZm9jdXM6IHJpZ2h0Q3Vyc29yIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuZGVsZXRlKGVkaXRvciwgeyBhdDogcGF0aCB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuZGVsZXRlKGVkaXRvciwgeyBhdDogYmVmb3JlQmxvY2tDYXJkWzFdIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVsZXRlQmFja3dhcmQodW5pdCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5kZWxldGVGb3J3YXJkID0gdW5pdCA9PiB7XG4gICAgICAgIGNvbnN0IGRvbVNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgY29uc3QgYW5jaG9yTm9kZSA9IGRvbVNlbGVjdGlvbi5hbmNob3JOb2RlO1xuICAgICAgICBpZiAoZG9tU2VsZWN0aW9uICYmIGRvbVNlbGVjdGlvbi5pc0NvbGxhcHNlZCAmJiBoYXNCbG9ja0NhcmQoZG9tU2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgY29uc3QgaXNMZWZ0Q3Vyc29yID0gaXNDYXJkTGVmdChhbmNob3JOb2RlKTtcbiAgICAgICAgICAgIGNvbnN0IGNhcmRFbnRyeSA9IEFuZ3VsYXJFZGl0b3IudG9TbGF0ZUNhcmRFbnRyeShlZGl0b3IsIGFuY2hvck5vZGUpO1xuICAgICAgICAgICAgY29uc3QgY3Vyc29yUm9vdFBhdGggPSBjYXJkRW50cnlbMV07XG4gICAgICAgICAgICBpZiAoaXNMZWZ0Q3Vyc29yKSB7XG4gICAgICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5pbnNlcnRQYXJhZ3JhcGgoZWRpdG9yLCBjdXJzb3JSb290UGF0aCk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBjdXJzb3JSb290UGF0aCk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5yZW1vdmVOb2RlcyhlZGl0b3IsIHsgYXQ6IFBhdGgubmV4dChjdXJzb3JSb290UGF0aCkgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXh0UGF0aCA9IFBhdGgubmV4dChjdXJzb3JSb290UGF0aCk7XG4gICAgICAgICAgICAgICAgSGlzdG9yeUVkaXRvci53aXRob3V0TWVyZ2luZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBFZGl0b3Iuc3RhcnQoZWRpdG9yLCBuZXh0UGF0aCkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJsb2NrQ2FyZCA9IFRoZVF1ZXJpZXMuZ2V0QmxvY2tDYXJkQWJvdmUoZWRpdG9yKTtcbiAgICAgICAgY29uc3QgYWZ0ZXJQb2ludCA9IEVkaXRvci5hZnRlcihlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24uYW5jaG9yKTtcbiAgICAgICAgY29uc3QgYWZ0ZXJCbG9ja0NhcmQgPSBUaGVRdWVyaWVzLmdldEJsb2NrQ2FyZEFib3ZlKGVkaXRvciwgeyBhdDogYWZ0ZXJQb2ludCB9KTtcbiAgICAgICAgaWYgKCFibG9ja0NhcmQgJiYgYWZ0ZXJCbG9ja0NhcmQpIHtcbiAgICAgICAgICAgIGlmIChUaGVRdWVyaWVzLmlzQmxvY2tBYm92ZUVtcHR5KGVkaXRvcikpIHtcbiAgICAgICAgICAgICAgICBIaXN0b3J5RWRpdG9yLndpdGhvdXRNZXJnaW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsZWZ0Q3Vyc29yID0geyBwYXRoOiBhZnRlckJsb2NrQ2FyZFsxXSwgb2Zmc2V0OiAtMSB9O1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIHsgYW5jaG9yOiBsZWZ0Q3Vyc29yLCBmb2N1czogbGVmdEN1cnNvciB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmRlbGV0ZShlZGl0b3IsIHsgYXQ6IFBhdGgucHJldmlvdXMoYWZ0ZXJCbG9ja0NhcmRbMV0pIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGRlbGV0ZUZvcndhcmQodW5pdCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5vbktleWRvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgZG9tU2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuICAgICAgICBjb25zdCBhbmNob3JOb2RlID0gZG9tU2VsZWN0aW9uLmFuY2hvck5vZGU7XG4gICAgICAgIGNvbnN0IG5hdGl2ZUV2ZW50ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG5cbiAgICAgICAgY29uc3QgaXNNb3ZlQmFja3dhcmQgPSBob3RrZXlzLmlzTW92ZUJhY2t3YXJkKG5hdGl2ZUV2ZW50KTtcbiAgICAgICAgY29uc3QgaXNNb3ZlRm9yd2FyZCA9IGhvdGtleXMuaXNNb3ZlRm9yd2FyZChuYXRpdmVFdmVudCk7XG4gICAgICAgIGNvbnN0IGlzTW92ZVVwID0gaG90a2V5cy5pc01vdmVVcChuYXRpdmVFdmVudCk7XG4gICAgICAgIGNvbnN0IGlzTW92ZURvd24gPSBob3RrZXlzLmlzTW92ZURvd24obmF0aXZlRXZlbnQpO1xuICAgICAgICBjb25zdCBpc0NvbGxhcHNlZCA9IHNlbGVjdGlvbiAmJiBSYW5nZS5pc0NvbGxhcHNlZChzZWxlY3Rpb24pO1xuICAgICAgICBjb25zdCBhbmNob3JFbnRyeSA9IFRoZVF1ZXJpZXMuYW5jaG9yQmxvY2tFbnRyeShlZGl0b3IpO1xuXG4gICAgICAgIC8vIGJsb2NrIGNhcmQgY3Vyc29yXG4gICAgICAgIGlmIChhbmNob3JOb2RlICYmIGhhc0Jsb2NrQ2FyZChkb21TZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICBjb25zdCBpc0NhcmRMZWZ0Q3Vyc29yID0gaXNDYXJkTGVmdChhbmNob3JOb2RlKTtcbiAgICAgICAgICAgIGlmIChpc01vdmVVcCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IFssIHBhdGhdID0gQW5ndWxhckVkaXRvci50b1NsYXRlQ2FyZEVudHJ5KGVkaXRvciwgYW5jaG9yTm9kZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNQYXRoID0gUGF0aC5oYXNQcmV2aW91cyhwYXRoKSAmJiBQYXRoLnByZXZpb3VzKHBhdGgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzTm9kZSA9IHByZXZpb3VzUGF0aCAmJiBUaGVRdWVyaWVzLmdldE5vZGUoZWRpdG9yLCBwcmV2aW91c1BhdGgpO1xuICAgICAgICAgICAgICAgIGlmIChwcmV2aW91c05vZGUgJiYgZWRpdG9yLmlzQmxvY2tDYXJkKHByZXZpb3VzTm9kZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgQW5ndWxhckVkaXRvci5tb3ZlQmxvY2tDYXJkKGVkaXRvciwgcHJldmlvdXNOb2RlLCB7IGRpcmVjdGlvbjogaXNDYXJkTGVmdEN1cnNvciA/ICdsZWZ0JyA6ICdyaWdodCcgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmVmb3JlID0gRWRpdG9yLmJlZm9yZShlZGl0b3IsIHBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYmVmb3JlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIGJlZm9yZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmF0aXZlRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNNb3ZlRG93bikge1xuICAgICAgICAgICAgICAgIGNvbnN0IFssIHBhdGhdID0gQW5ndWxhckVkaXRvci50b1NsYXRlQ2FyZEVudHJ5KGVkaXRvciwgYW5jaG9yTm9kZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV4dFBhdGggPSBQYXRoLm5leHQocGF0aCk7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV4dE5vZGUgPSBUaGVRdWVyaWVzLmdldE5vZGUoZWRpdG9yLCBuZXh0UGF0aCk7XG4gICAgICAgICAgICAgICAgaWYgKG5leHROb2RlICYmIGVkaXRvci5pc0Jsb2NrQ2FyZChuZXh0Tm9kZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgQW5ndWxhckVkaXRvci5tb3ZlQmxvY2tDYXJkKGVkaXRvciwgbmV4dE5vZGUsIHsgZGlyZWN0aW9uOiBpc0NhcmRMZWZ0Q3Vyc29yID8gJ2xlZnQnIDogJ3JpZ2h0JyB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZnRlciA9IEVkaXRvci5hZnRlcihlZGl0b3IsIHBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYWZ0ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgRWRpdG9yLmFmdGVyKGVkaXRvciwgcGF0aCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG5hdGl2ZUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8g4oaSICsgcmlnaHQtYmxvY2stY2FyZFxuICAgICAgICAgICAgaWYgKChpc01vdmVGb3J3YXJkICYmICFpc0NhcmRMZWZ0Q3Vyc29yKSkge1xuICAgICAgICAgICAgICAgIG5hdGl2ZUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgWywgcGF0aF0gPSBBbmd1bGFyRWRpdG9yLnRvU2xhdGVDYXJkRW50cnkoZWRpdG9yLCBhbmNob3JOb2RlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXh0UGF0aCA9IFBhdGgubmV4dChwYXRoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXh0Tm9kZSA9IFRoZVF1ZXJpZXMuZ2V0Tm9kZShlZGl0b3IsIG5leHRQYXRoKTtcbiAgICAgICAgICAgICAgICBpZiAobmV4dE5vZGUgJiYgZWRpdG9yLmlzQmxvY2tDYXJkKG5leHROb2RlKSkge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICBBbmd1bGFyRWRpdG9yLm1vdmVCbG9ja0NhcmQoZWRpdG9yLCBuZXh0Tm9kZSwgeyBkaXJlY3Rpb246ICdsZWZ0JyB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBhZnRlciA9IEVkaXRvci5hZnRlcihlZGl0b3IsIHBhdGgpO1xuICAgICAgICAgICAgICAgIGlmIChhZnRlcikge1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIEVkaXRvci5hZnRlcihlZGl0b3IsIHBhdGgpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8g4oaQICsgbGVmdC1ibG9jay1jYXJkXG4gICAgICAgICAgICBpZiAoaXNNb3ZlQmFja3dhcmQgJiYgaXNDYXJkTGVmdEN1cnNvcikge1xuICAgICAgICAgICAgICAgIG5hdGl2ZUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgWywgcGF0aF0gPSBBbmd1bGFyRWRpdG9yLnRvU2xhdGVDYXJkRW50cnkoZWRpdG9yLCBhbmNob3JOb2RlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1BhdGggPSBQYXRoLmhhc1ByZXZpb3VzKHBhdGgpICYmIFBhdGgucHJldmlvdXMocGF0aCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNOb2RlID0gcHJldmlvdXNQYXRoICYmIFRoZVF1ZXJpZXMuZ2V0Tm9kZShlZGl0b3IsIHByZXZpb3VzUGF0aCk7XG4gICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzTm9kZSAmJiBlZGl0b3IuaXNCbG9ja0NhcmQocHJldmlvdXNOb2RlKSkge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICBBbmd1bGFyRWRpdG9yLm1vdmVCbG9ja0NhcmQoZWRpdG9yLCBwcmV2aW91c05vZGUsIHsgZGlyZWN0aW9uOiAncmlnaHQnIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZSA9IEVkaXRvci5iZWZvcmUoZWRpdG9yLCBwYXRoKTtcbiAgICAgICAgICAgICAgICBpZiAoYmVmb3JlKSB7XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgYmVmb3JlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gbW92ZSB0byBjYXJkIGNlbnRlclxuICAgICAgICAgICAgaWYgKChpc0NhcmRMZWZ0Q3Vyc29yICYmIGlzTW92ZUZvcndhcmQpIHx8ICghaXNDYXJkTGVmdEN1cnNvciAmJiBpc01vdmVCYWNrd2FyZCkpIHtcbiAgICAgICAgICAgICAgICBuYXRpdmVFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IFssIHBhdGhdID0gQW5ndWxhckVkaXRvci50b1NsYXRlQ2FyZEVudHJ5KGVkaXRvciwgYW5jaG9yTm9kZSk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBpc0NhcmRMZWZ0Q3Vyc29yID8gRWRpdG9yLnN0YXJ0KGVkaXRvciwgcGF0aCkgOiBFZGl0b3IuZW5kKGVkaXRvciwgcGF0aCkpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBibG9jayBjYXJkIGNlbnRlclxuICAgICAgICBpZiAoaXNDb2xsYXBzZWQgJiYgKGlzTW92ZVVwIHx8IGlzTW92ZURvd24pICYmIGFuY2hvckVudHJ5KSB7XG4gICAgICAgICAgICBjb25zdCBbYmxvY2ssIHBhdGhdID0gYW5jaG9yRW50cnk7XG4gICAgICAgICAgICBpZiAoZWRpdG9yLmlzQmxvY2tDYXJkKGJsb2NrKSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBpc01vdmVVcCA/IEVkaXRvci5iZWZvcmUoZWRpdG9yLCBwYXRoKSA6IEVkaXRvci5hZnRlcihlZGl0b3IsIHBhdGgpKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzQ29sbGFwc2VkICYmIChpc01vdmVCYWNrd2FyZCB8fCBpc01vdmVGb3J3YXJkKSAmJiBhbmNob3JFbnRyeSkge1xuICAgICAgICAgICAgY29uc3QgW2Jsb2NrXSA9IGFuY2hvckVudHJ5O1xuICAgICAgICAgICAgaWYgKGVkaXRvci5pc0Jsb2NrQ2FyZChibG9jaykpIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIEFuZ3VsYXJFZGl0b3IubW92ZUJsb2NrQ2FyZChlZGl0b3IsIGJsb2NrLCB7IGRpcmVjdGlvbjogaXNNb3ZlQmFja3dhcmQgPyAnbGVmdCcgOiAncmlnaHQnIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBtb3ZlIHRvIGJsb2NrIGNhcmQgY3Vyc29yXG4gICAgICAgIGlmIChpc0NvbGxhcHNlZCAmJiBpc01vdmVCYWNrd2FyZCAmJiBFZGl0b3IuaXNTdGFydChlZGl0b3IsIHNlbGVjdGlvbi5hbmNob3IsIHNlbGVjdGlvbi5hbmNob3IucGF0aC5zbGljZSgwLCAxKSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRQYXRoID0gc2VsZWN0aW9uLmFuY2hvci5wYXRoLnNsaWNlKDAsIDEpO1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRQYXRoWzBdID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzTm9kZSA9IE5vZGUuZ2V0KGVkaXRvciwgUGF0aC5wcmV2aW91cyhjdXJyZW50UGF0aCkpO1xuICAgICAgICAgICAgICAgIGlmIChwcmV2aW91c05vZGUgJiYgZWRpdG9yLmlzQmxvY2tDYXJkKHByZXZpb3VzTm9kZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgQW5ndWxhckVkaXRvci5tb3ZlQmxvY2tDYXJkKGVkaXRvciwgcHJldmlvdXNOb2RlLCB7IGRpcmVjdGlvbjogJ3JpZ2h0JyB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNDb2xsYXBzZWQgJiYgaXNNb3ZlRm9yd2FyZCAmJiBFZGl0b3IuaXNFbmQoZWRpdG9yLCBzZWxlY3Rpb24uYW5jaG9yLCBzZWxlY3Rpb24uYW5jaG9yLnBhdGguc2xpY2UoMCwgMSkpKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50UGF0aCA9IHNlbGVjdGlvbi5hbmNob3IucGF0aC5zbGljZSgwLCAxKTtcbiAgICAgICAgICAgIGlmIChjdXJyZW50UGF0aFswXSA8IGVkaXRvci5jaGlsZHJlbi5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNOb2RlID0gTm9kZS5nZXQoZWRpdG9yLCBQYXRoLm5leHQoY3VycmVudFBhdGgpKTtcbiAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNOb2RlICYmIGVkaXRvci5pc0Jsb2NrQ2FyZChwcmV2aW91c05vZGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgIEFuZ3VsYXJFZGl0b3IubW92ZUJsb2NrQ2FyZChlZGl0b3IsIHByZXZpb3VzTm9kZSwgeyBkaXJlY3Rpb246ICdsZWZ0JyB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG9uS2V5ZG93bihldmVudCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5pbnNlcnREYXRhID0gKGRhdGE6IERhdGFUcmFuc2ZlcikgPT4ge1xuICAgICAgICBjb25zdCBkb21TZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIGNvbnN0IGFuY2hvck5vZGUgPSBkb21TZWxlY3Rpb24uYW5jaG9yTm9kZTtcbiAgICAgICAgaWYgKGRvbVNlbGVjdGlvbiAmJiBkb21TZWxlY3Rpb24uaXNDb2xsYXBzZWQgJiYgaGFzQmxvY2tDYXJkKGRvbVNlbGVjdGlvbikpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzTGVmdEN1cnNvciA9IGlzQ2FyZExlZnQoYW5jaG9yTm9kZSk7XG4gICAgICAgICAgICBjb25zdCBjYXJkRW50cnkgPSBBbmd1bGFyRWRpdG9yLnRvU2xhdGVDYXJkRW50cnkoZWRpdG9yLCBhbmNob3JOb2RlKTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnNvclJvb3RQYXRoID0gY2FyZEVudHJ5WzFdO1xuICAgICAgICAgICAgaWYgKGlzTGVmdEN1cnNvcikge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCBjcmVhdGVFbXB0eVBhcmFncmFwaCgpLCB7IGF0OiBjdXJzb3JSb290UGF0aCB9KTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIGN1cnNvclJvb3RQYXRoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhlZGl0b3IsIGNyZWF0ZUVtcHR5UGFyYWdyYXBoKCksIHsgYXQ6IFBhdGgubmV4dChjdXJzb3JSb290UGF0aCkgfSk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBQYXRoLm5leHQoY3Vyc29yUm9vdFBhdGgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpbnNlcnREYXRhKGRhdGEpO1xuICAgIH07XG5cbiAgICBlZGl0b3IuaW5zZXJ0VGV4dCA9ICh0ZXh0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgZG9tU2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuICAgICAgICBjb25zdCBhbmNob3JOb2RlID0gZG9tU2VsZWN0aW9uPy5hbmNob3JOb2RlO1xuICAgICAgICBpZiAoQW5ndWxhckVkaXRvci5pc0Jsb2NrQ2FyZExlZnRDdXJzb3IoZWRpdG9yKSB8fCBBbmd1bGFyRWRpdG9yLmlzQmxvY2tDYXJkUmlnaHRDdXJzb3IoZWRpdG9yKSkge1xuICAgICAgICAgICAgY29uc3QgaXNMZWZ0Q3Vyc29yID0gaXNDYXJkTGVmdChhbmNob3JOb2RlKTtcbiAgICAgICAgICAgIGNvbnN0IGNhcmRFbnRyeSA9IEFuZ3VsYXJFZGl0b3IudG9TbGF0ZUNhcmRFbnRyeShlZGl0b3IsIGFuY2hvck5vZGUpO1xuICAgICAgICAgICAgY29uc3QgY3Vyc29yUm9vdFBhdGggPSBjYXJkRW50cnlbMV07XG4gICAgICAgICAgICBpZiAoaXNMZWZ0Q3Vyc29yKSB7XG4gICAgICAgICAgICAgICAgaW5zZXJ0UGFyYWdyYXBoKGVkaXRvciwgY3Vyc29yUm9vdFBhdGgpO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgY3Vyc29yUm9vdFBhdGgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXh0UGF0aCA9IFBhdGgubmV4dChjdXJzb3JSb290UGF0aCk7XG4gICAgICAgICAgICAgICAgaW5zZXJ0UGFyYWdyYXBoKGVkaXRvciwgbmV4dFBhdGgpO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgbmV4dFBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGluc2VydFRleHQodGV4dCk7XG4gICAgfTtcblxuICAgIHJldHVybiBlZGl0b3I7XG59O1xuIl19
|
|
281
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stY2FyZC5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9jb21tb24vYmxvY2stY2FyZC5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxLQUFLLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXBFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLE1BQWMsRUFBVSxFQUFFO0lBQ3BELE1BQU0sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUVqRyxNQUFNLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRTtRQUN0QixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0MsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQztRQUMzQyxJQUFJLFlBQVksSUFBSSxZQUFZLENBQUMsV0FBVyxJQUFJLFlBQVksQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUN4RSxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLENB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YyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQyxJQUFJLFlBQVksRUFBRTtnQkFDZCxlQUFlLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUN4QyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQzthQUM3QztpQkFBTTtnQkFDSCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUMzQyxlQUFlLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUNsQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQzthQUN2QztTQUNKO1FBQ0QsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUMsQ0FBQztJQUVGLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgTm9kZSwgUmFuZ2UsIFBhdGgsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBIaXN0b3J5RWRpdG9yIH0gZnJvbSAnc2xhdGUtaGlzdG9yeSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yLCBob3RrZXlzLCBoYXNCbG9ja0NhcmQsIGlzQ2FyZExlZnQsIEZBS0VfUklHSFRfQkxPQ0tfQ0FSRF9PRkZTRVQgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4uLy4uL3F1ZXJpZXMnO1xuaW1wb3J0IHsgY3JlYXRlRW1wdHlQYXJhZ3JhcGggfSBmcm9tICcuLi8uLi91dGlscy9jcmVhdGUtZW1wdHktcGFyYWdyYXBoJztcbmltcG9ydCB7IGluc2VydFBhcmFncmFwaCB9IGZyb20gJy4uLy4uL3RyYW5zZm9ybXMvaW5zZXJ0LXBhcmFncmFwaCc7XG5cbmV4cG9ydCBjb25zdCB3aXRoQmxvY2tDYXJkID0gKGVkaXRvcjogRWRpdG9yKTogRWRpdG9yID0+IHtcbiAgICBjb25zdCB7IGluc2VydEJyZWFrLCBkZWxldGVCYWNrd2FyZCwgb25LZXlkb3duLCBkZWxldGVGb3J3YXJkLCBpbnNlcnREYXRhLCBpbnNlcnRUZXh0IH0gPSBlZGl0b3I7XG5cbiAgICBlZGl0b3IuaW5zZXJ0QnJlYWsgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRvbVNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgY29uc3QgYW5jaG9yTm9kZSA9IGRvbVNlbGVjdGlvbi5hbmNob3JOb2RlO1xuICAgICAgICBpZiAoZG9tU2VsZWN0aW9uICYmIGRvbVNlbGVjdGlvbi5pc0NvbGxhcHNlZCAmJiBoYXNCbG9ja0NhcmQoZG9tU2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgY29uc3QgaXNMZWZ0Q3Vyc29yID0gaXNDYXJkTGVmdChhbmNob3JOb2RlKTtcbiAgICAgICAgICAgIGNvbnN0IGNhcmRFbnRyeSA9IEFuZ3VsYXJFZGl0b3IudG9TbGF0ZUNhcmRFbnRyeShlZGl0b3IsIGFuY2hvck5vZGUpO1xuICAgICAgICAgICAgY29uc3QgY3Vyc29yUm9vdFBhdGggPSBjYXJkRW50cnlbMV07XG4gICAgICAgICAgICBUaGVUcmFuc2Zvcm1zLmluc2VydFBhcmFncmFwaChlZGl0b3IsIGlzTGVmdEN1cnNvciA/IGN1cnNvclJvb3RQYXRoIDogUGF0aC5uZXh0KGN1cnNvclJvb3RQYXRoKSk7XG4gICAgICAgICAgICBpZiAoIWlzTGVmdEN1cnNvcikge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgUGF0aC5uZXh0KGN1cnNvclJvb3RQYXRoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaW5zZXJ0QnJlYWsoKTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLmRlbGV0ZUJhY2t3YXJkID0gdW5pdCA9PiB7XG4gICAgICAgIGNvbnN0IGRvbVNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgY29uc3QgYW5jaG9yTm9kZSA9IGRvbVNlbGVjdGlvbi5hbmNob3JOb2RlO1xuICAgICAgICBpZiAoZG9tU2VsZWN0aW9uICYmIGRvbVNlbGVjdGlvbi5pc0NvbGxhcHNlZCAmJiBoYXNCbG9ja0NhcmQoZG9tU2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgY29uc3QgaXNMZWZ0Q3Vyc29yID0gaXNDYXJkTGVmdChhbmNob3JOb2RlKTtcbiAgICAgICAgICAgIGNvbnN0IGNhcmRFbnRyeSA9IEFuZ3VsYXJFZGl0b3IudG9TbGF0ZUNhcmRFbnRyeShlZGl0b3IsIGFuY2hvck5vZGUpO1xuICAgICAgICAgICAgY29uc3QgY3Vyc29yUm9vdFBhdGggPSBjYXJkRW50cnlbMV07XG4gICAgICAgICAgICBpZiAoaXNMZWZ0Q3Vyc29yKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNQYXRoID0gUGF0aC5oYXNQcmV2aW91cyhjdXJzb3JSb290UGF0aCkgJiYgUGF0aC5wcmV2aW91cyhjdXJzb3JSb290UGF0aCk7XG4gICAgICAgICAgICAgICAgaWYgKCFwcmV2aW91c1BhdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNQYXRoICYmIFRoZVF1ZXJpZXMuaXNFbXB0eVBhcmFncmFwaEJ5UGF0aChlZGl0b3IsIHByZXZpb3VzUGF0aCkpIHtcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5yZW1vdmVOb2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0OiBwcmV2aW91c1BhdGhcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgSGlzdG9yeUVkaXRvci53aXRob3V0TWVyZ2luZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBFZGl0b3IuZW5kKGVkaXRvciwgcHJldmlvdXNQYXRoKSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBUaGVUcmFuc2Zvcm1zLmluc2VydFBhcmFncmFwaChlZGl0b3IsIGN1cnNvclJvb3RQYXRoKTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIGN1cnNvclJvb3RQYXRoKTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnJlbW92ZU5vZGVzKGVkaXRvciwgeyBhdDogUGF0aC5uZXh0KGN1cnNvclJvb3RQYXRoKSB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBibG9ja0NhcmQgPSBUaGVRdWVyaWVzLmdldEJsb2NrQ2FyZEFib3ZlKGVkaXRvcik7XG4gICAgICAgIGNvbnN0IGJlZm9yZVBvaW50ID0gRWRpdG9yLmJlZm9yZShlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24uYW5jaG9yKTtcbiAgICAgICAgY29uc3QgYmVmb3JlQmxvY2tDYXJkID0gVGhlUXVlcmllcy5nZXRCbG9ja0NhcmRBYm92ZShlZGl0b3IsIHsgYXQ6IGJlZm9yZVBvaW50IH0pO1xuICAgICAgICBpZiAoIWJsb2NrQ2FyZCAmJiBiZWZvcmVCbG9ja0NhcmQpIHtcbiAgICAgICAgICAgIGlmIChUaGVRdWVyaWVzLmlzQmxvY2tBYm92ZUVtcHR5KGVkaXRvcikpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBbbm9kZSwgcGF0aF0gPSBFZGl0b3IucGFyZW50KGVkaXRvciwgZWRpdG9yLnNlbGVjdGlvbi5hbmNob3IucGF0aCk7XG4gICAgICAgICAgICAgICAgSGlzdG9yeUVkaXRvci53aXRob3V0TWVyZ2luZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmlnaHRDdXJzb3IgPSB7IHBhdGg6IGJlZm9yZUJsb2NrQ2FyZFsxXSwgb2Zmc2V0OiBGQUtFX1JJR0hUX0JMT0NLX0NBUkRfT0ZGU0VUIH07XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgeyBhbmNob3I6IHJpZ2h0Q3Vyc29yLCBmb2N1czogcmlnaHRDdXJzb3IgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5kZWxldGUoZWRpdG9yLCB7IGF0OiBwYXRoIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5kZWxldGUoZWRpdG9yLCB7IGF0OiBiZWZvcmVCbG9ja0NhcmRbMV0gfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBkZWxldGVCYWNrd2FyZCh1bml0KTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLmRlbGV0ZUZvcndhcmQgPSB1bml0ID0+IHtcbiAgICAgICAgY29uc3QgZG9tU2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuICAgICAgICBjb25zdCBhbmNob3JOb2RlID0gZG9tU2VsZWN0aW9uLmFuY2hvck5vZGU7XG4gICAgICAgIGlmIChkb21TZWxlY3Rpb24gJiYgZG9tU2VsZWN0aW9uLmlzQ29sbGFwc2VkICYmIGhhc0Jsb2NrQ2FyZChkb21TZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICBjb25zdCBpc0xlZnRDdXJzb3IgPSBpc0NhcmRMZWZ0KGFuY2hvck5vZGUpO1xuICAgICAgICAgICAgY29uc3QgY2FyZEVudHJ5ID0gQW5ndWxhckVkaXRvci50b1NsYXRlQ2FyZEVudHJ5KGVkaXRvciwgYW5jaG9yTm9kZSk7XG4gICAgICAgICAgICBjb25zdCBjdXJzb3JSb290UGF0aCA9IGNhcmRFbnRyeVsxXTtcbiAgICAgICAgICAgIGlmIChpc0xlZnRDdXJzb3IpIHtcbiAgICAgICAgICAgICAgICBUaGVUcmFuc2Zvcm1zLmluc2VydFBhcmFncmFwaChlZGl0b3IsIGN1cnNvclJvb3RQYXRoKTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIGN1cnNvclJvb3RQYXRoKTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnJlbW92ZU5vZGVzKGVkaXRvciwgeyBhdDogUGF0aC5uZXh0KGN1cnNvclJvb3RQYXRoKSB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5leHRQYXRoID0gUGF0aC5uZXh0KGN1cnNvclJvb3RQYXRoKTtcbiAgICAgICAgICAgICAgICBIaXN0b3J5RWRpdG9yLndpdGhvdXRNZXJnaW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIEVkaXRvci5zdGFydChlZGl0b3IsIG5leHRQYXRoKSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYmxvY2tDYXJkID0gVGhlUXVlcmllcy5nZXRCbG9ja0NhcmRBYm92ZShlZGl0b3IpO1xuICAgICAgICBjb25zdCBhZnRlclBvaW50ID0gRWRpdG9yLmFmdGVyKGVkaXRvciwgZWRpdG9yLnNlbGVjdGlvbi5hbmNob3IpO1xuICAgICAgICBjb25zdCBhZnRlckJsb2NrQ2FyZCA9IFRoZVF1ZXJpZXMuZ2V0QmxvY2tDYXJkQWJvdmUoZWRpdG9yLCB7IGF0OiBhZnRlclBvaW50IH0pO1xuICAgICAgICBpZiAoIWJsb2NrQ2FyZCAmJiBhZnRlckJsb2NrQ2FyZCkge1xuICAgICAgICAgICAgaWYgKFRoZVF1ZXJpZXMuaXNCbG9ja0Fib3ZlRW1wdHkoZWRpdG9yKSkge1xuICAgICAgICAgICAgICAgIEhpc3RvcnlFZGl0b3Iud2l0aG91dE1lcmdpbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxlZnRDdXJzb3IgPSB7IHBhdGg6IGFmdGVyQmxvY2tDYXJkWzFdLCBvZmZzZXQ6IC0xIH07XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgeyBhbmNob3I6IGxlZnRDdXJzb3IsIGZvY3VzOiBsZWZ0Q3Vyc29yIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuZGVsZXRlKGVkaXRvciwgeyBhdDogUGF0aC5wcmV2aW91cyhhZnRlckJsb2NrQ2FyZFsxXSkgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVsZXRlRm9yd2FyZCh1bml0KTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLm9uS2V5ZG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBkb21TZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIGNvbnN0IGFuY2hvck5vZGUgPSBkb21TZWxlY3Rpb24uYW5jaG9yTm9kZTtcbiAgICAgICAgY29uc3QgbmF0aXZlRXZlbnQgPSBldmVudDtcbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcblxuICAgICAgICBjb25zdCBpc01vdmVCYWNrd2FyZCA9IGhvdGtleXMuaXNNb3ZlQmFja3dhcmQobmF0aXZlRXZlbnQpO1xuICAgICAgICBjb25zdCBpc01vdmVGb3J3YXJkID0gaG90a2V5cy5pc01vdmVGb3J3YXJkKG5hdGl2ZUV2ZW50KTtcbiAgICAgICAgY29uc3QgaXNNb3ZlVXAgPSBob3RrZXlzLmlzTW92ZVVwKG5hdGl2ZUV2ZW50KTtcbiAgICAgICAgY29uc3QgaXNNb3ZlRG93biA9IGhvdGtleXMuaXNNb3ZlRG93bihuYXRpdmVFdmVudCk7XG4gICAgICAgIGNvbnN0IGlzQ29sbGFwc2VkID0gc2VsZWN0aW9uICYmIFJhbmdlLmlzQ29sbGFwc2VkKHNlbGVjdGlvbik7XG4gICAgICAgIGNvbnN0IGFuY2hvckVudHJ5ID0gVGhlUXVlcmllcy5hbmNob3JCbG9ja0VudHJ5KGVkaXRvcik7XG5cbiAgICAgICAgLy8gYmxvY2sgY2FyZCBjdXJzb3JcbiAgICAgICAgaWYgKGFuY2hvck5vZGUgJiYgaGFzQmxvY2tDYXJkKGRvbVNlbGVjdGlvbikpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzQ2FyZExlZnRDdXJzb3IgPSBpc0NhcmRMZWZ0KGFuY2hvck5vZGUpO1xuICAgICAgICAgICAgaWYgKGlzTW92ZVVwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgWywgcGF0aF0gPSBBbmd1bGFyRWRpdG9yLnRvU2xhdGVDYXJkRW50cnkoZWRpdG9yLCBhbmNob3JOb2RlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1BhdGggPSBQYXRoLmhhc1ByZXZpb3VzKHBhdGgpICYmIFBhdGgucHJldmlvdXMocGF0aCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNOb2RlID0gcHJldmlvdXNQYXRoICYmIFRoZVF1ZXJpZXMuZ2V0Tm9kZShlZGl0b3IsIHByZXZpb3VzUGF0aCk7XG4gICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzTm9kZSAmJiBlZGl0b3IuaXNCbG9ja0NhcmQocHJldmlvdXNOb2RlKSkge1xuICAgICAgICAgICAgICAgICAgICBBbmd1bGFyRWRpdG9yLm1vdmVCbG9ja0NhcmQoZWRpdG9yLCBwcmV2aW91c05vZGUsIHsgZGlyZWN0aW9uOiBpc0NhcmRMZWZ0Q3Vyc29yID8gJ2xlZnQnIDogJ3JpZ2h0JyB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBiZWZvcmUgPSBFZGl0b3IuYmVmb3JlKGVkaXRvciwgcGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChiZWZvcmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgYmVmb3JlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBuYXRpdmVFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc01vdmVEb3duKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgWywgcGF0aF0gPSBBbmd1bGFyRWRpdG9yLnRvU2xhdGVDYXJkRW50cnkoZWRpdG9yLCBhbmNob3JOb2RlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXh0UGF0aCA9IFBhdGgubmV4dChwYXRoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXh0Tm9kZSA9IFRoZVF1ZXJpZXMuZ2V0Tm9kZShlZGl0b3IsIG5leHRQYXRoKTtcbiAgICAgICAgICAgICAgICBpZiAobmV4dE5vZGUgJiYgZWRpdG9yLmlzQmxvY2tDYXJkKG5leHROb2RlKSkge1xuICAgICAgICAgICAgICAgICAgICBBbmd1bGFyRWRpdG9yLm1vdmVCbG9ja0NhcmQoZWRpdG9yLCBuZXh0Tm9kZSwgeyBkaXJlY3Rpb246IGlzQ2FyZExlZnRDdXJzb3IgPyAnbGVmdCcgOiAncmlnaHQnIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFmdGVyID0gRWRpdG9yLmFmdGVyKGVkaXRvciwgcGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhZnRlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBFZGl0b3IuYWZ0ZXIoZWRpdG9yLCBwYXRoKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmF0aXZlRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyDihpIgKyByaWdodC1ibG9jay1jYXJkXG4gICAgICAgICAgICBpZiAoaXNNb3ZlRm9yd2FyZCAmJiAhaXNDYXJkTGVmdEN1cnNvcikge1xuICAgICAgICAgICAgICAgIG5hdGl2ZUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgWywgcGF0aF0gPSBBbmd1bGFyRWRpdG9yLnRvU2xhdGVDYXJkRW50cnkoZWRpdG9yLCBhbmNob3JOb2RlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXh0UGF0aCA9IFBhdGgubmV4dChwYXRoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXh0Tm9kZSA9IFRoZVF1ZXJpZXMuZ2V0Tm9kZShlZGl0b3IsIG5leHRQYXRoKTtcbiAgICAgICAgICAgICAgICBpZiAobmV4dE5vZGUgJiYgZWRpdG9yLmlzQmxvY2tDYXJkKG5leHROb2RlKSkge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICBBbmd1bGFyRWRpdG9yLm1vdmVCbG9ja0NhcmQoZWRpdG9yLCBuZXh0Tm9kZSwgeyBkaXJlY3Rpb246ICdsZWZ0JyB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBhZnRlciA9IEVkaXRvci5hZnRlcihlZGl0b3IsIHBhdGgpO1xuICAgICAgICAgICAgICAgIGlmIChhZnRlcikge1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIEVkaXRvci5hZnRlcihlZGl0b3IsIHBhdGgpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8g4oaQICsgbGVmdC1ibG9jay1jYXJkXG4gICAgICAgICAgICBpZiAoaXNNb3ZlQmFja3dhcmQgJiYgaXNDYXJkTGVmdEN1cnNvcikge1xuICAgICAgICAgICAgICAgIG5hdGl2ZUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgWywgcGF0aF0gPSBBbmd1bGFyRWRpdG9yLnRvU2xhdGVDYXJkRW50cnkoZWRpdG9yLCBhbmNob3JOb2RlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1BhdGggPSBQYXRoLmhhc1ByZXZpb3VzKHBhdGgpICYmIFBhdGgucHJldmlvdXMocGF0aCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNOb2RlID0gcHJldmlvdXNQYXRoICYmIFRoZVF1ZXJpZXMuZ2V0Tm9kZShlZGl0b3IsIHByZXZpb3VzUGF0aCk7XG4gICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzTm9kZSAmJiBlZGl0b3IuaXNCbG9ja0NhcmQocHJldmlvdXNOb2RlKSkge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICBBbmd1bGFyRWRpdG9yLm1vdmVCbG9ja0NhcmQoZWRpdG9yLCBwcmV2aW91c05vZGUsIHsgZGlyZWN0aW9uOiAncmlnaHQnIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZSA9IEVkaXRvci5iZWZvcmUoZWRpdG9yLCBwYXRoKTtcbiAgICAgICAgICAgICAgICBpZiAoYmVmb3JlKSB7XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgYmVmb3JlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gbW92ZSB0byBjYXJkIGNlbnRlclxuICAgICAgICAgICAgaWYgKChpc0NhcmRMZWZ0Q3Vyc29yICYmIGlzTW92ZUZvcndhcmQpIHx8ICghaXNDYXJkTGVmdEN1cnNvciAmJiBpc01vdmVCYWNrd2FyZCkpIHtcbiAgICAgICAgICAgICAgICBuYXRpdmVFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IFssIHBhdGhdID0gQW5ndWxhckVkaXRvci50b1NsYXRlQ2FyZEVudHJ5KGVkaXRvciwgYW5jaG9yTm9kZSk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBpc0NhcmRMZWZ0Q3Vyc29yID8gRWRpdG9yLnN0YXJ0KGVkaXRvciwgcGF0aCkgOiBFZGl0b3IuZW5kKGVkaXRvciwgcGF0aCkpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBibG9jayBjYXJkIGNlbnRlclxuICAgICAgICBpZiAoaXNDb2xsYXBzZWQgJiYgKGlzTW92ZVVwIHx8IGlzTW92ZURvd24pICYmIGFuY2hvckVudHJ5KSB7XG4gICAgICAgICAgICBjb25zdCBbYmxvY2ssIHBhdGhdID0gYW5jaG9yRW50cnk7XG4gICAgICAgICAgICBpZiAoZWRpdG9yLmlzQmxvY2tDYXJkKGJsb2NrKSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBpc01vdmVVcCA/IEVkaXRvci5iZWZvcmUoZWRpdG9yLCBwYXRoKSA6IEVkaXRvci5hZnRlcihlZGl0b3IsIHBhdGgpKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzQ29sbGFwc2VkICYmIChpc01vdmVCYWNrd2FyZCB8fCBpc01vdmVGb3J3YXJkKSAmJiBhbmNob3JFbnRyeSkge1xuICAgICAgICAgICAgY29uc3QgW2Jsb2NrXSA9IGFuY2hvckVudHJ5O1xuICAgICAgICAgICAgaWYgKGVkaXRvci5pc0Jsb2NrQ2FyZChibG9jaykpIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIEFuZ3VsYXJFZGl0b3IubW92ZUJsb2NrQ2FyZChlZGl0b3IsIGJsb2NrLCB7IGRpcmVjdGlvbjogaXNNb3ZlQmFja3dhcmQgPyAnbGVmdCcgOiAncmlnaHQnIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBtb3ZlIHRvIGJsb2NrIGNhcmQgY3Vyc29yXG4gICAgICAgIGlmIChpc0NvbGxhcHNlZCAmJiBpc01vdmVCYWNrd2FyZCAmJiBFZGl0b3IuaXNTdGFydChlZGl0b3IsIHNlbGVjdGlvbi5hbmNob3IsIHNlbGVjdGlvbi5hbmNob3IucGF0aC5zbGljZSgwLCAxKSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRQYXRoID0gc2VsZWN0aW9uLmFuY2hvci5wYXRoLnNsaWNlKDAsIDEpO1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRQYXRoWzBdID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzTm9kZSA9IE5vZGUuZ2V0KGVkaXRvciwgUGF0aC5wcmV2aW91cyhjdXJyZW50UGF0aCkpO1xuICAgICAgICAgICAgICAgIGlmIChwcmV2aW91c05vZGUgJiYgZWRpdG9yLmlzQmxvY2tDYXJkKHByZXZpb3VzTm9kZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgQW5ndWxhckVkaXRvci5tb3ZlQmxvY2tDYXJkKGVkaXRvciwgcHJldmlvdXNOb2RlLCB7IGRpcmVjdGlvbjogJ3JpZ2h0JyB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNDb2xsYXBzZWQgJiYgaXNNb3ZlRm9yd2FyZCAmJiBFZGl0b3IuaXNFbmQoZWRpdG9yLCBzZWxlY3Rpb24uYW5jaG9yLCBzZWxlY3Rpb24uYW5jaG9yLnBhdGguc2xpY2UoMCwgMSkpKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50UGF0aCA9IHNlbGVjdGlvbi5hbmNob3IucGF0aC5zbGljZSgwLCAxKTtcbiAgICAgICAgICAgIGlmIChjdXJyZW50UGF0aFswXSA8IGVkaXRvci5jaGlsZHJlbi5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNOb2RlID0gTm9kZS5nZXQoZWRpdG9yLCBQYXRoLm5leHQoY3VycmVudFBhdGgpKTtcbiAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNOb2RlICYmIGVkaXRvci5pc0Jsb2NrQ2FyZChwcmV2aW91c05vZGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgIEFuZ3VsYXJFZGl0b3IubW92ZUJsb2NrQ2FyZChlZGl0b3IsIHByZXZpb3VzTm9kZSwgeyBkaXJlY3Rpb246ICdsZWZ0JyB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG9uS2V5ZG93bihldmVudCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5pbnNlcnREYXRhID0gKGRhdGE6IERhdGFUcmFuc2ZlcikgPT4ge1xuICAgICAgICBjb25zdCBkb21TZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIGNvbnN0IGFuY2hvck5vZGUgPSBkb21TZWxlY3Rpb24uYW5jaG9yTm9kZTtcbiAgICAgICAgaWYgKGRvbVNlbGVjdGlvbiAmJiBkb21TZWxlY3Rpb24uaXNDb2xsYXBzZWQgJiYgaGFzQmxvY2tDYXJkKGRvbVNlbGVjdGlvbikpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzTGVmdEN1cnNvciA9IGlzQ2FyZExlZnQoYW5jaG9yTm9kZSk7XG4gICAgICAgICAgICBjb25zdCBjYXJkRW50cnkgPSBBbmd1bGFyRWRpdG9yLnRvU2xhdGVDYXJkRW50cnkoZWRpdG9yLCBhbmNob3JOb2RlKTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnNvclJvb3RQYXRoID0gY2FyZEVudHJ5WzFdO1xuICAgICAgICAgICAgaWYgKGlzTGVmdEN1cnNvcikge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCBjcmVhdGVFbXB0eVBhcmFncmFwaCgpLCB7IGF0OiBjdXJzb3JSb290UGF0aCB9KTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIGN1cnNvclJvb3RQYXRoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhlZGl0b3IsIGNyZWF0ZUVtcHR5UGFyYWdyYXBoKCksIHsgYXQ6IFBhdGgubmV4dChjdXJzb3JSb290UGF0aCkgfSk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBQYXRoLm5leHQoY3Vyc29yUm9vdFBhdGgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpbnNlcnREYXRhKGRhdGEpO1xuICAgIH07XG5cbiAgICBlZGl0b3IuaW5zZXJ0VGV4dCA9ICh0ZXh0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgZG9tU2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuICAgICAgICBjb25zdCBhbmNob3JOb2RlID0gZG9tU2VsZWN0aW9uPy5hbmNob3JOb2RlO1xuICAgICAgICBpZiAoQW5ndWxhckVkaXRvci5pc0Jsb2NrQ2FyZExlZnRDdXJzb3IoZWRpdG9yKSB8fCBBbmd1bGFyRWRpdG9yLmlzQmxvY2tDYXJkUmlnaHRDdXJzb3IoZWRpdG9yKSkge1xuICAgICAgICAgICAgY29uc3QgaXNMZWZ0Q3Vyc29yID0gaXNDYXJkTGVmdChhbmNob3JOb2RlKTtcbiAgICAgICAgICAgIGNvbnN0IGNhcmRFbnRyeSA9IEFuZ3VsYXJFZGl0b3IudG9TbGF0ZUNhcmRFbnRyeShlZGl0b3IsIGFuY2hvck5vZGUpO1xuICAgICAgICAgICAgY29uc3QgY3Vyc29yUm9vdFBhdGggPSBjYXJkRW50cnlbMV07XG4gICAgICAgICAgICBpZiAoaXNMZWZ0Q3Vyc29yKSB7XG4gICAgICAgICAgICAgICAgaW5zZXJ0UGFyYWdyYXBoKGVkaXRvciwgY3Vyc29yUm9vdFBhdGgpO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgY3Vyc29yUm9vdFBhdGgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXh0UGF0aCA9IFBhdGgubmV4dChjdXJzb3JSb290UGF0aCk7XG4gICAgICAgICAgICAgICAgaW5zZXJ0UGFyYWdyYXBoKGVkaXRvciwgbmV4dFBhdGgpO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgbmV4dFBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGluc2VydFRleHQodGV4dCk7XG4gICAgfTtcblxuICAgIHJldHVybiBlZGl0b3I7XG59O1xuIl19
|
|
@@ -15,7 +15,7 @@ export const FontSizeEditor = {
|
|
|
15
15
|
return;
|
|
16
16
|
}
|
|
17
17
|
// unset fontSize
|
|
18
|
-
if (isDefaultFontSize
|
|
18
|
+
if (isDefaultFontSize) {
|
|
19
19
|
FontSizeEditor.unsetFontSize(editor, size);
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
@@ -75,4 +75,4 @@ export const FontSizeEditor = {
|
|
|
75
75
|
return false;
|
|
76
76
|
}
|
|
77
77
|
};
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9udC1zaXplLmVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2ZvbnQtc2l6ZS9mb250LXNpemUuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXBELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixXQUFXLENBQUMsTUFBaUIsRUFBRSxJQUFlO1FBQzFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUQsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUQsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELE1BQU0sWUFBWSxHQUFXLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLEtBQUssZUFBZSxDQUFDO1FBRW5ELElBQUksQ0FBQyxZQUFZLElBQUksaUJBQWlCLEVBQUU7WUFDcEMsT0FBTztTQUNWO1FBRUQsaUJBQWlCO1FBQ2pCLElBQUksaUJBQWlCLEVBQUU7WUFDbkIsY0FBYyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFB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RCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZWRpdG9yJztcbmltcG9ydCB7IEVsZW1lbnRLaW5kcywgRm9udFNpemVzLCBNYXJrVHlwZXMsIEhFQURJTkdfVFlQRVMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvbm9kZS10eXBlcyc7XG5pbXBvcnQgeyBUaGVDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4uLy4uL3F1ZXJpZXMnO1xuaW1wb3J0ICogYXMgVGhlVHJhbnNmb3JtcyBmcm9tICcuLi8uLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IFRhYmxlRWRpdG9yIH0gZnJvbSAnLi4vdGFibGUvdGFibGUuZWRpdG9yJztcblxuZXhwb3J0IGNvbnN0IEZvbnRTaXplRWRpdG9yID0ge1xuICAgIHNldEZvbnRTaXplKGVkaXRvcjogVGhlRWRpdG9yLCBzaXplOiBGb250U2l6ZXMpIHtcbiAgICAgICAgY29uc3QgY29udGV4dFNlcnZpY2UgPSBlZGl0b3IuaW5qZWN0b3IuZ2V0KFRoZUNvbnRleHRTZXJ2aWNlKTtcbiAgICAgICAgY29uc3QgZGVmYXVsdEZvbnRTaXplID0gY29udGV4dFNlcnZpY2UuZ2V0RGVmYXVsdEZvbnRTaXplKCk7XG4gICAgICAgIGNvbnN0IG1hcmtzID0gVGhlUXVlcmllcy5nZXRTZWxlY3Rpb25NYXJrcyhlZGl0b3IpO1xuICAgICAgICBjb25zdCBmb250U2l6ZU1hcms6IG51bWJlciA9IG1hcmtzW01hcmtUeXBlcy5mb250U2l6ZV07XG4gICAgICAgIGNvbnN0IGlzRGVmYXVsdEZvbnRTaXplID0gc2l6ZSA9PT0gZGVmYXVsdEZvbnRTaXplO1xuXG4gICAgICAgIGlmICghZm9udFNpemVNYXJrICYmIGlzRGVmYXVsdEZvbnRTaXplKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyB1bnNldCBmb250U2l6ZVxuICAgICAgICBpZiAoaXNEZWZhdWx0Rm9udFNpemUpIHtcbiAgICAgICAgICAgIEZvbnRTaXplRWRpdG9yLnVuc2V0Rm9udFNpemUoZWRpdG9yLCBzaXplKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIEZvbnRTaXplRWRpdG9yLnNldEZvbnRTaXplTWFyayhlZGl0b3IsIHNpemUpO1xuICAgIH0sXG4gICAgc2V0Rm9udFNpemVNYXJrKGVkaXRvcjogRWRpdG9yLCBzaXplOiBGb250U2l6ZXMpIHtcbiAgICAgICAgLy8gc2V0IFRhYmxlIHNlbGVjdGVkQ2VsbHMgZm9udFNpemVcbiAgICAgICAgaWYgKFRhYmxlRWRpdG9yLnRvZ2dsZU1hcmsoZWRpdG9yLCBmYWxzZSwgTWFya1R5cGVzLmZvbnRTaXplLCBOdW1iZXIoc2l6ZSkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gc2V0IHBhcmFncmFwaCB0ZXh0IGZvbnRTaXplXG4gICAgICAgIEVkaXRvci5hZGRNYXJrKGVkaXRvciwgTWFya1R5cGVzLmZvbnRTaXplLCBOdW1iZXIoc2l6ZSkpO1xuICAgIH0sXG4gICAgdW5zZXRGb250U2l6ZShlZGl0b3I6IEVkaXRvciwgc2l6ZTogRm9udFNpemVzKSB7XG4gICAgICAgIGNvbnN0IGlzVGFibGUgPSBUYWJsZUVkaXRvci5pc0FjdGl2ZShlZGl0b3IpO1xuXG4gICAgICAgIC8vIHVuc2V0IFRhYmxlIHNlbGVjdGVkQ2VsbHMgZm9udFNpemVcbiAgICAgICAgaWYgKGlzVGFibGUgJiYgVGFibGVFZGl0b3IudG9nZ2xlTWFyayhlZGl0b3IsIHRydWUsIE1hcmtUeXBlcy5mb250U2l6ZSwgTnVtYmVyKHNpemUpKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIHVuc2V0IHBhcmFncmFwaCB0ZXh0IGZvbnRTaXplXG4gICAgICAgIFRoZVRyYW5zZm9ybXMuc2V0TWFya3MoXG4gICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgW01hcmtUeXBlcy5mb250U2l6ZV06IG51bGxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlZGl0b3Iuc2VsZWN0aW9uXG4gICAgICAgICk7XG4gICAgfSxcbiAgICBpc0ZvbnRTaXplQWN0aXZlKGVkaXRvcjogRWRpdG9yLCBzaXplOiBGb250U2l6ZXMpIHtcbiAgICAgICAgaWYgKGVkaXRvci5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IGFuY2hvckJsb2NrID0gVGhlUXVlcmllcy5hbmNob3JCbG9jayhlZGl0b3IpO1xuICAgICAgICAgICAgc3dpdGNoIChhbmNob3JCbG9jaz8udHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgRWxlbWVudEtpbmRzLmhlYWRpbmdfMTpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNpemUgPT09IEZvbnRTaXplcy5mb250U2l6ZTI4O1xuICAgICAgICAgICAgICAgIGNhc2UgRWxlbWVudEtpbmRzLmhlYWRpbmdfMjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNpemUgPT09IEZvbnRTaXplcy5mb250U2l6ZTI0O1xuICAgICAgICAgICAgICAgIGNhc2UgRWxlbWVudEtpbmRzLmhlYWRpbmdfMzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNpemUgPT09IEZvbnRTaXplcy5mb250U2l6ZTIwO1xuICAgICAgICAgICAgICAgIGNhc2UgRWxlbWVudEtpbmRzLmhlYWRpbmdfNDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNpemUgPT09IEZvbnRTaXplcy5mb250U2l6ZTE4O1xuICAgICAgICAgICAgICAgIGNhc2UgRWxlbWVudEtpbmRzLmhlYWRpbmdfNTpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNpemUgPT09IEZvbnRTaXplcy5mb250U2l6ZTE2O1xuICAgICAgICAgICAgICAgIGNhc2UgRWxlbWVudEtpbmRzLmhlYWRpbmdfNjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNpemUgPT09IEZvbnRTaXplcy5mb250U2l6ZTE0O1xuICAgICAgICAgICAgICAgIGNhc2UgRWxlbWVudEtpbmRzLnBhcmFncmFwaDpcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFya3MgPSBUaGVRdWVyaWVzLmdldFNlbGVjdGlvbk1hcmtzKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvbnRTaXplTWFyayA9IG1hcmtzW01hcmtUeXBlcy5mb250U2l6ZV07XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXIoc2l6ZSkgPT09IGZvbnRTaXplTWFyaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0sXG4gICAgaXNEaXNhYmxlZChlZGl0b3I6IFRoZUVkaXRvcikge1xuICAgICAgICBpZiAoZWRpdG9yLnNlbGVjdGlvbikge1xuICAgICAgICAgICAgY29uc3QgZGlzYWJsZUdyb3VwID0gSEVBRElOR19UWVBFUztcbiAgICAgICAgICAgIGNvbnN0IGFuY2hvckJsb2NrID0gVGhlUXVlcmllcy5hbmNob3JCbG9jayhlZGl0b3IpO1xuICAgICAgICAgICAgcmV0dXJuIGFuY2hvckJsb2NrICYmIGRpc2FibGVHcm91cC5pbmNsdWRlcyhhbmNob3JCbG9jaz8udHlwZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn07XG4iXX0=
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Editor, Transforms, Element } from 'slate';
|
|
2
|
+
import { ElementKinds, HEADING_TYPES } from '../../constants/node-types';
|
|
3
|
+
import * as TheQueries from '../../queries';
|
|
4
|
+
const MaxIndent = 13;
|
|
5
|
+
const includesIndentTypes = [
|
|
6
|
+
ElementKinds.checkItem,
|
|
7
|
+
ElementKinds.numberedList,
|
|
8
|
+
ElementKinds.bulletedList,
|
|
9
|
+
ElementKinds.paragraph,
|
|
10
|
+
...HEADING_TYPES
|
|
11
|
+
];
|
|
12
|
+
export const IndentEditor = {
|
|
13
|
+
setIndent(editor) {
|
|
14
|
+
const nodes = Array.from(Editor.nodes(editor, {
|
|
15
|
+
mode: 'highest',
|
|
16
|
+
match: n => Element.isElement(n) && includesIndentTypes.includes(n.type)
|
|
17
|
+
}));
|
|
18
|
+
const [startBlock] = nodes;
|
|
19
|
+
if (startBlock) {
|
|
20
|
+
let [{ indent }] = startBlock;
|
|
21
|
+
indent = indent ? indent : 0;
|
|
22
|
+
indent += 1;
|
|
23
|
+
if (indent <= MaxIndent) {
|
|
24
|
+
Transforms.setNodes(editor, { indent }, {
|
|
25
|
+
mode: 'highest',
|
|
26
|
+
match: n => Element.isElement(n) && includesIndentTypes.includes(n.type)
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
cancelIndent(editor) {
|
|
32
|
+
const nodes = Array.from(Editor.nodes(editor, {
|
|
33
|
+
mode: 'highest',
|
|
34
|
+
match: n => Element.isElement(n) && includesIndentTypes.includes(n.type)
|
|
35
|
+
}));
|
|
36
|
+
const [startBlock] = nodes;
|
|
37
|
+
if (startBlock) {
|
|
38
|
+
let [{ indent }] = startBlock;
|
|
39
|
+
indent = indent === 1 ? null : (indent -= 1);
|
|
40
|
+
Transforms.setNodes(editor, { indent }, {
|
|
41
|
+
mode: 'highest',
|
|
42
|
+
match: n => Element.isElement(n) && includesIndentTypes.includes(n.type)
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
setTextIndent(editor, kinds, textIndent) {
|
|
47
|
+
Transforms.setNodes(editor, { textIndent }, {
|
|
48
|
+
mode: 'highest',
|
|
49
|
+
match: node => Element.isElement(node) && kinds.includes(node.type)
|
|
50
|
+
});
|
|
51
|
+
},
|
|
52
|
+
cancelTextIntent(editor, event, anchorBlock, kinds) {
|
|
53
|
+
let { textIndent, indent } = anchorBlock;
|
|
54
|
+
if (indent) {
|
|
55
|
+
event.preventDefault();
|
|
56
|
+
IndentEditor.cancelIndent(editor);
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
if (!indent && textIndent > 2) {
|
|
60
|
+
event.preventDefault();
|
|
61
|
+
textIndent -= 2;
|
|
62
|
+
IndentEditor.setTextIndent(editor, kinds, textIndent);
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
if (!indent && textIndent === 2) {
|
|
66
|
+
event.preventDefault();
|
|
67
|
+
IndentEditor.setTextIndent(editor, kinds, null);
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
return false;
|
|
71
|
+
},
|
|
72
|
+
isDisabled(editor) {
|
|
73
|
+
if (editor.selection) {
|
|
74
|
+
const disableGroup = HEADING_TYPES;
|
|
75
|
+
const anchorBlock = TheQueries.anchorBlock(editor);
|
|
76
|
+
return anchorBlock && disableGroup.includes(anchorBlock === null || anchorBlock === void 0 ? void 0 : anchorBlock.type);
|
|
77
|
+
}
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZW50LmVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2luZGVudC9pbmRlbnQuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXpFLE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTVDLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztBQUNyQixNQUFNLG1CQUFtQixHQUF5QjtJQUM5QyxZQUFZLENBQUMsU0FBUztJQUN0QixZQUFZLENBQUMsWUFBWTtJQUN6QixZQUFZLENBQUMsWUFBWTtJQUN6QixZQUFZLENBQUMsU0FBUztJQUN0QixHQUFHLGFBQWE7Q0FDbkIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUN4QixTQUFTLENBQUMsTUFBaUI7UUFDdkIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FDcEIsTUFBTSxDQUFDLEtBQUssQ0FBVSxNQUFNLEVBQUU7WUFDMUIsSUFBSSxFQUFFLFNBQVM7WUFDZixLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQzNFLENBQUMsQ0FDTCxDQUFDO1FBQ0YsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLFVBQVUsRUFBRTtZQUNaLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO1lBQzlCLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FB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SSxDQUFDO1NBQ2Y7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBQ0QsVUFBVSxDQUFDLE1BQWlCO1FBQ3hCLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUNsQixNQUFNLFlBQVksR0FBRyxhQUFhLENBQUM7WUFDbkMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuRCxPQUFPLFdBQVcsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxJQUFJLENBQUMsQ0FBQztTQUNsRTtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBUcmFuc2Zvcm1zLCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9lZGl0b3InO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzLCBIRUFESU5HX1RZUEVTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL25vZGUtdHlwZXMnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5cbmNvbnN0IE1heEluZGVudCA9IDEzO1xuY29uc3QgaW5jbHVkZXNJbmRlbnRUeXBlczogQ3VzdG9tRWxlbWVudEtpbmRzW10gPSBbXG4gICAgRWxlbWVudEtpbmRzLmNoZWNrSXRlbSxcbiAgICBFbGVtZW50S2luZHMubnVtYmVyZWRMaXN0LFxuICAgIEVsZW1lbnRLaW5kcy5idWxsZXRlZExpc3QsXG4gICAgRWxlbWVudEtpbmRzLnBhcmFncmFwaCxcbiAgICAuLi5IRUFESU5HX1RZUEVTXG5dO1xuXG5leHBvcnQgY29uc3QgSW5kZW50RWRpdG9yID0ge1xuICAgIHNldEluZGVudChlZGl0b3I6IFRoZUVkaXRvcikge1xuICAgICAgICBjb25zdCBub2RlcyA9IEFycmF5LmZyb20oXG4gICAgICAgICAgICBFZGl0b3Iubm9kZXM8RWxlbWVudD4oZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgbW9kZTogJ2hpZ2hlc3QnLFxuICAgICAgICAgICAgICAgIG1hdGNoOiBuID0+IEVsZW1lbnQuaXNFbGVtZW50KG4pICYmIGluY2x1ZGVzSW5kZW50VHlwZXMuaW5jbHVkZXMobi50eXBlKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgW3N0YXJ0QmxvY2tdID0gbm9kZXM7XG4gICAgICAgIGlmIChzdGFydEJsb2NrKSB7XG4gICAgICAgICAgICBsZXQgW3sgaW5kZW50IH1dID0gc3RhcnRCbG9jaztcbiAgICAgICAgICAgIGluZGVudCA9IGluZGVudCA/IGluZGVudCA6IDA7XG4gICAgICAgICAgICBpbmRlbnQgKz0gMTtcbiAgICAgICAgICAgIGlmIChpbmRlbnQgPD0gTWF4SW5kZW50KSB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICB7IGluZGVudCB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RlOiAnaGlnaGVzdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRjaDogbiA9PiBFbGVtZW50LmlzRWxlbWVudChuKSAmJiBpbmNsdWRlc0luZGVudFR5cGVzLmluY2x1ZGVzKG4udHlwZSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGNhbmNlbEluZGVudChlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBjb25zdCBub2RlcyA9IEFycmF5LmZyb20oXG4gICAgICAgICAgICBFZGl0b3Iubm9kZXM8RWxlbWVudD4oZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgbW9kZTogJ2hpZ2hlc3QnLFxuICAgICAgICAgICAgICAgIG1hdGNoOiBuID0+IEVsZW1lbnQuaXNFbGVtZW50KG4pICYmIGluY2x1ZGVzSW5kZW50VHlwZXMuaW5jbHVkZXMobi50eXBlKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgW3N0YXJ0QmxvY2tdID0gbm9kZXM7XG4gICAgICAgIGlmIChzdGFydEJsb2NrKSB7XG4gICAgICAgICAgICBsZXQgW3sgaW5kZW50IH1dID0gc3RhcnRCbG9jaztcbiAgICAgICAgICAgIGluZGVudCA9IGluZGVudCA9PT0gMSA/IG51bGwgOiAoaW5kZW50IC09IDEpO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgeyBpbmRlbnQgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG1vZGU6ICdoaWdoZXN0JyxcbiAgICAgICAgICAgICAgICAgICAgbWF0Y2g6IG4gPT4gRWxlbWVudC5pc0VsZW1lbnQobikgJiYgaW5jbHVkZXNJbmRlbnRUeXBlcy5pbmNsdWRlcyhuLnR5cGUpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgc2V0VGV4dEluZGVudChlZGl0b3I6IFRoZUVkaXRvciwga2luZHM6IEN1c3RvbUVsZW1lbnRLaW5kc1tdLCB0ZXh0SW5kZW50OiBudW1iZXIpIHtcbiAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgIHsgdGV4dEluZGVudCB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG1vZGU6ICdoaWdoZXN0JyxcbiAgICAgICAgICAgICAgICBtYXRjaDogbm9kZSA9PiBFbGVtZW50LmlzRWxlbWVudChub2RlKSAmJiBraW5kcy5pbmNsdWRlcyhub2RlLnR5cGUpXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfSxcbiAgICBjYW5jZWxUZXh0SW50ZW50KGVkaXRvcjogVGhlRWRpdG9yLCBldmVudDogS2V5Ym9hcmRFdmVudCwgYW5jaG9yQmxvY2s6IEVsZW1lbnQsIGtpbmRzOiBDdXN0b21FbGVtZW50S2luZHNbXSkge1xuICAgICAgICBsZXQgeyB0ZXh0SW5kZW50LCBpbmRlbnQgfSA9IGFuY2hvckJsb2NrO1xuXG4gICAgICAgIGlmIChpbmRlbnQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBJbmRlbnRFZGl0b3IuY2FuY2VsSW5kZW50KGVkaXRvcik7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWluZGVudCAmJiB0ZXh0SW5kZW50ID4gMikge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRleHRJbmRlbnQgLT0gMjtcbiAgICAgICAgICAgIEluZGVudEVkaXRvci5zZXRUZXh0SW5kZW50KGVkaXRvciwga2luZHMsIHRleHRJbmRlbnQpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpbmRlbnQgJiYgdGV4dEluZGVudCA9PT0gMikge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIEluZGVudEVkaXRvci5zZXRUZXh0SW5kZW50KGVkaXRvciwga2luZHMsIG51bGwpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSxcbiAgICBpc0Rpc2FibGVkKGVkaXRvcjogVGhlRWRpdG9yKSB7XG4gICAgICAgIGlmIChlZGl0b3Iuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBkaXNhYmxlR3JvdXAgPSBIRUFESU5HX1RZUEVTO1xuICAgICAgICAgICAgY29uc3QgYW5jaG9yQmxvY2sgPSBUaGVRdWVyaWVzLmFuY2hvckJsb2NrKGVkaXRvcik7XG4gICAgICAgICAgICByZXR1cm4gYW5jaG9yQmxvY2sgJiYgZGlzYWJsZUdyb3VwLmluY2x1ZGVzKGFuY2hvckJsb2NrPy50eXBlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufTtcbiJdfQ==
|
|
@@ -1,12 +1,33 @@
|
|
|
1
|
-
import
|
|
1
|
+
import isHotkey from 'is-hotkey';
|
|
2
|
+
import { Indents } from '../../constants/node-types';
|
|
3
|
+
import { IndentEditor } from './indent.editor';
|
|
4
|
+
import { onKeydownTextIndent } from './on-keydown-indent';
|
|
2
5
|
export const withIndent = (kinds) => (editor) => {
|
|
3
6
|
const { onKeydown } = editor;
|
|
4
7
|
editor.onKeydown = (event) => {
|
|
5
|
-
const
|
|
8
|
+
const HOTKEYS = {
|
|
9
|
+
'mod+]': Indents.indentRight,
|
|
10
|
+
'mod+[': Indents.indentLeft
|
|
11
|
+
};
|
|
12
|
+
for (const hotkey in HOTKEYS) {
|
|
13
|
+
if (isHotkey(hotkey, event)) {
|
|
14
|
+
event.preventDefault();
|
|
15
|
+
const mark = HOTKEYS[hotkey];
|
|
16
|
+
switch (mark) {
|
|
17
|
+
case Indents.indentRight:
|
|
18
|
+
IndentEditor.setIndent(editor);
|
|
19
|
+
break;
|
|
20
|
+
case Indents.indentLeft:
|
|
21
|
+
IndentEditor.cancelIndent(editor);
|
|
22
|
+
break;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const isContinue = !onKeydownTextIndent(editor, event, kinds);
|
|
6
27
|
if (isContinue) {
|
|
7
28
|
onKeydown(event);
|
|
8
29
|
}
|
|
9
30
|
};
|
|
10
31
|
return editor;
|
|
11
32
|
};
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZW50LnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2luZGVudC9pbmRlbnQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUVqQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FDbkIsQ0FBQyxLQUEyQixFQUFFLEVBQUUsQ0FDaEMsQ0FBc0IsTUFBUyxFQUFLLEVBQUU7SUFDbEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUU3QixNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFO1FBQ3hDLE1BQU0sT0FBTyxHQUFHO1lBQ1osT0FBTyxFQUFFLE9BQU8sQ0FBQyxXQUFXO1lBQzVCLE9BQU8sRUFBRSxPQUFPLENBQUMsVUFBVTtTQUM5QixDQUFDO1FBRUYsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUU7WUFDMUIsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUN6QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDN0IsUUFBUSxJQUFJLEVBQUU7b0JBQ1YsS0FBSyxPQUFPLENBQUMsV0FBVzt3QkFDcEIsWUFBWSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDL0IsTUFBTTtvQkFDVixLQUFLLE9BQU8sQ0FBQyxVQUFVO3dCQUNuQixZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUNsQyxNQUFNO2lCQUNiO2FBQ0o7U0FDSjtRQUVELE1BQU0sVUFBVSxHQUFHLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5RCxJQUFJLFVBQVUsRUFBRTtZQUNaLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwQjtJQUNMLENBQUMsQ0FBQztJQUVGLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpc0hvdGtleSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IEluZGVudHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvbm9kZS10eXBlcyc7XG5pbXBvcnQgeyBUaGVFZGl0b3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VkaXRvcic7XG5pbXBvcnQgeyBJbmRlbnRFZGl0b3IgfSBmcm9tICcuL2luZGVudC5lZGl0b3InO1xuaW1wb3J0IHsgb25LZXlkb3duVGV4dEluZGVudCB9IGZyb20gJy4vb24ta2V5ZG93bi1pbmRlbnQnO1xuXG5leHBvcnQgY29uc3Qgd2l0aEluZGVudCA9XG4gICAgKGtpbmRzOiBDdXN0b21FbGVtZW50S2luZHNbXSkgPT5cbiAgICA8VCBleHRlbmRzIFRoZUVkaXRvcj4oZWRpdG9yOiBUKTogVCA9PiB7XG4gICAgICAgIGNvbnN0IHsgb25LZXlkb3duIH0gPSBlZGl0b3I7XG5cbiAgICAgICAgZWRpdG9yLm9uS2V5ZG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgSE9US0VZUyA9IHtcbiAgICAgICAgICAgICAgICAnbW9kK10nOiBJbmRlbnRzLmluZGVudFJpZ2h0LFxuICAgICAgICAgICAgICAgICdtb2QrWyc6IEluZGVudHMuaW5kZW50TGVmdFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgZm9yIChjb25zdCBob3RrZXkgaW4gSE9US0VZUykge1xuICAgICAgICAgICAgICAgIGlmIChpc0hvdGtleShob3RrZXksIGV2ZW50KSkge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXJrID0gSE9US0VZU1tob3RrZXldO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKG1hcmspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgSW5kZW50cy5pbmRlbnRSaWdodDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmRlbnRFZGl0b3Iuc2V0SW5kZW50KGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEluZGVudHMuaW5kZW50TGVmdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmRlbnRFZGl0b3IuY2FuY2VsSW5kZW50KGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGlzQ29udGludWUgPSAhb25LZXlkb3duVGV4dEluZGVudChlZGl0b3IsIGV2ZW50LCBraW5kcyk7XG4gICAgICAgICAgICBpZiAoaXNDb250aW51ZSkge1xuICAgICAgICAgICAgICAgIG9uS2V5ZG93bihldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGVkaXRvcjtcbiAgICB9O1xuIl19
|