@worktile/theia 2.1.2 → 2.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/bundles/worktile-theia.umd.js +426 -221
  2. package/bundles/worktile-theia.umd.js.map +1 -1
  3. package/components/toolbar/toolbar.component.d.ts +1 -3
  4. package/constants/default.d.ts +1 -1
  5. package/constants/node-types.d.ts +4 -3
  6. package/custom-types.d.ts +4 -1
  7. package/editor.component.d.ts +0 -2
  8. package/editor.module.d.ts +4 -5
  9. package/esm2015/components/inline-toolbar/inline-toolbar.component.js +1 -1
  10. package/esm2015/components/toolbar/toolbar.component.js +9 -8
  11. package/esm2015/components/toolbar-group/toolbar-group.component.js +1 -1
  12. package/esm2015/constants/auto-format-rules.js +8 -3
  13. package/esm2015/constants/default.js +2 -2
  14. package/esm2015/constants/node-types.js +5 -4
  15. package/esm2015/constants/toolbar.js +5 -5
  16. package/esm2015/custom-types.js +1 -1
  17. package/esm2015/editor.component.js +24 -22
  18. package/esm2015/editor.module.js +4 -4
  19. package/esm2015/interfaces/auto-format.js +1 -1
  20. package/esm2015/interfaces/editor.js +1 -1
  21. package/esm2015/interfaces/element.js +1 -1
  22. package/esm2015/plugins/autoformat/autoformat.plugin.js +2 -1
  23. package/esm2015/plugins/autoformat/transforms/auto-format-inline.js +27 -14
  24. package/esm2015/plugins/code/code.component.js +26 -10
  25. package/esm2015/plugins/deserializers/deserialize-md.plugin.js +2 -2
  26. package/esm2015/plugins/font-size/font-size.editor.js +35 -1
  27. package/esm2015/plugins/heading/heading.editor.js +3 -1
  28. package/esm2015/plugins/index.js +7 -3
  29. package/esm2015/plugins/inline-code/inline-code.component.js +27 -0
  30. package/esm2015/plugins/inline-code/inline-code.editor.js +45 -0
  31. package/esm2015/plugins/inline-code/inline-code.plugin.js +46 -0
  32. package/esm2015/plugins/inline-code/options.js +14 -0
  33. package/esm2015/plugins/link/link.component.js +4 -2
  34. package/esm2015/plugins/list/components/list-item.component.js +69 -1
  35. package/esm2015/plugins/list/transforms/insert-list-item.js +11 -7
  36. package/esm2015/plugins/mark/mark.plugin.js +15 -10
  37. package/esm2015/plugins/mark/options.js +1 -9
  38. package/esm2015/plugins/quick-insert/components/quick-insert.component.js +10 -9
  39. package/esm2015/services/context.service.js +9 -1
  40. package/esm2015/shortcuts/mark.js +10 -4
  41. package/esm2015/transforms/handle-continual-insert-break.js +1 -4
  42. package/esm2015/utils/index.js +2 -1
  43. package/fesm2015/worktile-theia.js +395 -204
  44. package/fesm2015/worktile-theia.js.map +1 -1
  45. package/interfaces/auto-format.d.ts +1 -1
  46. package/interfaces/editor.d.ts +3 -3
  47. package/interfaces/element.d.ts +1 -1
  48. package/package.json +1 -1
  49. package/plugins/autoformat/transforms/auto-format-inline.d.ts +3 -1
  50. package/plugins/code/code.component.d.ts +6 -3
  51. package/plugins/code/code.component.scss +17 -0
  52. package/plugins/font-size/font-size.editor.d.ts +2 -0
  53. package/plugins/inline-code/inline-code.component.d.ts +14 -0
  54. package/plugins/inline-code/inline-code.component.scss +13 -0
  55. package/plugins/inline-code/inline-code.editor.d.ts +7 -0
  56. package/plugins/inline-code/inline-code.plugin.d.ts +2 -0
  57. package/plugins/inline-code/options.d.ts +2 -0
  58. package/plugins/list/components/list-item.component.d.ts +7 -0
  59. package/plugins/quick-insert/components/quick-insert.component.d.ts +2 -1
  60. package/queries/get-container-blocks.d.ts +1 -1
  61. package/queries/get-selection-marks.d.ts +1 -1
  62. package/services/context.service.d.ts +5 -1
  63. package/styles/editor.scss +20 -1
  64. package/styles/index.scss +1 -1
  65. package/transforms/set-marks.d.ts +1 -1
  66. package/utils/index.d.ts +1 -0
  67. package/esm2015/plugins/placeholder/placeholder.component.js +0 -83
  68. package/plugins/placeholder/placeholder.component.d.ts +0 -21
  69. package/plugins/placeholder/placeholder.component.scss +0 -10
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvc3JjL2N1c3RvbS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FmZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgRGVzY2VuZGFudCwgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRoZUVkaXRvciwgQmxvY2tFbGVtZW50S2luZHMsIElubGluZUVsZW1lbnRLaW5kcyB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBbGlnbm1lbnQsIEVsZW1lbnRLaW5kcywgVmVydGljYWxBbGlnbm1lbnQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBUaGVUYWJsZUNvbHVtbiB9IGZyb20gJy4vcGx1Z2lucy90YWJsZS90YWJsZS50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlRWxlbWVudDxUID0gQmxvY2tFbGVtZW50S2luZHMgfCBJbmxpbmVFbGVtZW50S2luZHM+IHtcbiAgICB0eXBlOiBUO1xuICAgIGNoaWxkcmVuOiBEZXNjZW5kYW50W107XG4gICAga2V5Pzogc3RyaW5nO1xuICAgIF9pZD86IHN0cmluZztcbiAgICB2b2lkcz86IGJvb2xlYW47XG4gICAgYWxpZ24/OiBBbGlnbm1lbnQ7XG4gICAgdGV4dEluZGVudD86IG51bWJlcjtcbiAgICB2ZXJ0aWNhbEFsaWduPzogVmVydGljYWxBbGlnbm1lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYWdyYXBoRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGg7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmxvY2tRdW90ZUVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMuYmxvY2txdW90ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWxsZXRlZExpc3RFbGVtZW50IGV4dGVuZHMgVGhlRWxlbWVudCB7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdDtcbiAgICBzdGFydD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOdW1iZXJlZExpc3RFbGVtZW50IGV4dGVuZHMgVGhlRWxlbWVudCB7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdDtcbiAgICBzdGFydD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0SXRlbUVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMubGlzdEl0ZW07XG4gICAgc3RhcnQ/OiBudW1iZXI7XG4gICAgY2hpbGRyZW46IEVsZW1lbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaW5rRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5saW5rO1xuICAgIHVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvZG9JdGVtRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5jaGVja0l0ZW07XG4gICAgY2hlY2tlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIZWFkaW5nT25lRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzE7XG59XG5leHBvcnQgaW50ZXJmYWNlIEhlYWRpbmdUd29FbGVtZW50IGV4dGVuZHMgVGhlRWxlbWVudCB7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLmhlYWRpbmdfMjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGluZ1RocmVlRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzM7XG59XG5leHBvcnQgaW50ZXJmYWNlIEhlYWRpbmdGb3VyRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIEhlYWRpbmdGaXZlRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzU7XG59XG5leHBvcnQgaW50ZXJmYWNlIEhlYWRpbmdTaXhFbGVtZW50IGV4dGVuZHMgVGhlRWxlbWVudCB7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLmhlYWRpbmdfNjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbWFnZUVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMuaW1hZ2U7XG4gICAgY2hpbGRyZW46IEVtcHR5VGV4dFtdO1xuICAgIGZpbGU/OiBGaWxlO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgd2lkdGg/OiBudW1iZXI7XG4gICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgIHVybD86IHN0cmluZztcbiAgICB0aHVtYlVybD86IFNhZmVVcmwgfCBzdHJpbmc7XG4gICAgb3JpZ2luVXJsPzogU2FmZVVybCB8IHN0cmluZztcbiAgICBhbGlnbj86IEFsaWdubWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZUVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMudGFibGU7XG4gICAgY2hpbGRyZW46IFRhYmxlUm93RWxlbWVudFtdO1xuICAgIGNvbHVtbnM/OiBUaGVUYWJsZUNvbHVtbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlUm93RWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy50YWJsZVJvdztcbiAgICBjaGlsZHJlbjogVGFibGVDZWxsRWxlbWVudFtdO1xuICAgIGhlYWRlcj86IGJvb2xlYW47XG4gICAgaGVpZ2h0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ2VsbEVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICBrZXk/OiBzdHJpbmc7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLnRhYmxlQ2VsbDtcbiAgICBjb2xzcGFuPzogbnVtYmVyO1xuICAgIHJvd3NwYW4/OiBudW1iZXI7XG4gICAgaGlkZGVuPzogYm9vbGVhbjtcbiAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHJFbGVtZW50IGV4dGVuZHMgVGhlRWxlbWVudCB7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLmhyO1xuICAgIGNoaWxkcmVuOiBFbXB0eVRleHRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2RlRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5jb2RlO1xuICAgIGNoaWxkcmVuOiBFbXB0eVRleHRbXTtcbiAgICBjb250ZW50Pzogc3RyaW5nO1xuICAgIGxhbmd1YWdlPzogc3RyaW5nO1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICBhdXRvV3JhcD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdGFibGVWb2lkRWxlbWVudCB7XG4gICAgdHlwZTogJ2VkaXRhYmxlLXZvaWQnO1xuICAgIGNoaWxkcmVuOiBFbXB0eVRleHRbXTtcbn1cblxuZXhwb3J0IHR5cGUgQ3VzdG9tRWxlbWVudCA9XG4gICAgfCBCbG9ja1F1b3RlRWxlbWVudFxuICAgIHwgTnVtYmVyZWRMaXN0RWxlbWVudFxuICAgIHwgQnVsbGV0ZWRMaXN0RWxlbWVudFxuICAgIHwgVG9kb0l0ZW1FbGVtZW50XG4gICAgfCBIZWFkaW5nT25lRWxlbWVudFxuICAgIHwgSGVhZGluZ1R3b0VsZW1lbnRcbiAgICB8IEhlYWRpbmdUaHJlZUVsZW1lbnRcbiAgICB8IEhlYWRpbmdGb3VyRWxlbWVudFxuICAgIHwgSGVhZGluZ0ZpdmVFbGVtZW50XG4gICAgfCBIZWFkaW5nU2l4RWxlbWVudFxuICAgIHwgSW1hZ2VFbGVtZW50XG4gICAgfCBMaW5rRWxlbWVudFxuICAgIHwgTGlzdEl0ZW1FbGVtZW50XG4gICAgfCBQYXJhZ3JhcGhFbGVtZW50XG4gICAgfCBUYWJsZUVsZW1lbnRcbiAgICB8IFRhYmxlUm93RWxlbWVudFxuICAgIHwgVGFibGVDZWxsRWxlbWVudFxuICAgIHwgSHJFbGVtZW50XG4gICAgfCBDb2RlRWxlbWVudDtcblxuZXhwb3J0IHR5cGUgQ3VzdG9tVGV4dCA9IHtcbiAgICBib2xkPzogYm9vbGVhbjtcbiAgICBpdGFsaWM/OiBib29sZWFuO1xuICAgIGNvZGU/OiBib29sZWFuO1xuICAgIHRleHQ6IHN0cmluZztcbiAgICB1bmRlcmxpbmVkPzogYm9vbGVhbjtcbiAgICBjb2xvcj86IHN0cmluZztcbiAgICBbYGJhY2tncm91bmQtY29sb3JgXT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEVtcHR5VGV4dCA9IHtcbiAgICB0ZXh0OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBDdXN0b21FZGl0b3IgPSBUaGVFZGl0b3I7XG5cbnR5cGUgR2V0PFQsIFAgZXh0ZW5kcyBrZXlvZiBUPiA9IFRbUF07XG5leHBvcnQgdHlwZSBDdXN0b21FbGVtZW50S2luZHMgPSBHZXQ8RWxlbWVudCwgJ3R5cGUnPjtcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvc3JjL2N1c3RvbS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FmZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgRGVzY2VuZGFudCwgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRoZUVkaXRvciwgQmxvY2tFbGVtZW50S2luZHMsIElubGluZUVsZW1lbnRLaW5kcyB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBbGlnbm1lbnQsIEVsZW1lbnRLaW5kcywgVmVydGljYWxBbGlnbm1lbnQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBUaGVUYWJsZUNvbHVtbiB9IGZyb20gJy4vcGx1Z2lucy90YWJsZS90YWJsZS50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlRWxlbWVudDxUID0gQmxvY2tFbGVtZW50S2luZHMgfCBJbmxpbmVFbGVtZW50S2luZHM+IHtcbiAgICB0eXBlOiBUO1xuICAgIGNoaWxkcmVuOiBEZXNjZW5kYW50W107XG4gICAga2V5Pzogc3RyaW5nO1xuICAgIF9pZD86IHN0cmluZztcbiAgICB2b2lkcz86IGJvb2xlYW47XG4gICAgYWxpZ24/OiBBbGlnbm1lbnQ7XG4gICAgdGV4dEluZGVudD86IG51bWJlcjtcbiAgICB2ZXJ0aWNhbEFsaWduPzogVmVydGljYWxBbGlnbm1lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYWdyYXBoRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGg7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmxvY2tRdW90ZUVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMuYmxvY2txdW90ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWxsZXRlZExpc3RFbGVtZW50IGV4dGVuZHMgVGhlRWxlbWVudCB7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdDtcbiAgICBzdGFydD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOdW1iZXJlZExpc3RFbGVtZW50IGV4dGVuZHMgVGhlRWxlbWVudCB7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdDtcbiAgICBzdGFydD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0SXRlbUVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMubGlzdEl0ZW07XG4gICAgc3RhcnQ/OiBudW1iZXI7XG4gICAgY2hpbGRyZW46IEVsZW1lbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaW5rRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5saW5rO1xuICAgIHVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvZG9JdGVtRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5jaGVja0l0ZW07XG4gICAgY2hlY2tlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIZWFkaW5nT25lRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzE7XG59XG5leHBvcnQgaW50ZXJmYWNlIEhlYWRpbmdUd29FbGVtZW50IGV4dGVuZHMgVGhlRWxlbWVudCB7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLmhlYWRpbmdfMjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGluZ1RocmVlRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzM7XG59XG5leHBvcnQgaW50ZXJmYWNlIEhlYWRpbmdGb3VyRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIEhlYWRpbmdGaXZlRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzU7XG59XG5leHBvcnQgaW50ZXJmYWNlIEhlYWRpbmdTaXhFbGVtZW50IGV4dGVuZHMgVGhlRWxlbWVudCB7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLmhlYWRpbmdfNjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbWFnZUVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMuaW1hZ2U7XG4gICAgY2hpbGRyZW46IEVtcHR5VGV4dFtdO1xuICAgIGZpbGU/OiBGaWxlO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgd2lkdGg/OiBudW1iZXI7XG4gICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgIHVybD86IHN0cmluZztcbiAgICB0aHVtYlVybD86IFNhZmVVcmwgfCBzdHJpbmc7XG4gICAgb3JpZ2luVXJsPzogU2FmZVVybCB8IHN0cmluZztcbiAgICBhbGlnbj86IEFsaWdubWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZUVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMudGFibGU7XG4gICAgY2hpbGRyZW46IFRhYmxlUm93RWxlbWVudFtdO1xuICAgIGNvbHVtbnM/OiBUaGVUYWJsZUNvbHVtbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlUm93RWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy50YWJsZVJvdztcbiAgICBjaGlsZHJlbjogVGFibGVDZWxsRWxlbWVudFtdO1xuICAgIGhlYWRlcj86IGJvb2xlYW47XG4gICAgaGVpZ2h0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ2VsbEVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICBrZXk/OiBzdHJpbmc7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLnRhYmxlQ2VsbDtcbiAgICBjb2xzcGFuPzogbnVtYmVyO1xuICAgIHJvd3NwYW4/OiBudW1iZXI7XG4gICAgaGlkZGVuPzogYm9vbGVhbjtcbiAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHJFbGVtZW50IGV4dGVuZHMgVGhlRWxlbWVudCB7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLmhyO1xuICAgIGNoaWxkcmVuOiBFbXB0eVRleHRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2RlRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5jb2RlO1xuICAgIGNoaWxkcmVuOiBFbXB0eVRleHRbXTtcbiAgICBjb250ZW50Pzogc3RyaW5nO1xuICAgIGxhbmd1YWdlPzogc3RyaW5nO1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICBhdXRvV3JhcD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdGFibGVWb2lkRWxlbWVudCB7XG4gICAgdHlwZTogJ2VkaXRhYmxlLXZvaWQnO1xuICAgIGNoaWxkcmVuOiBFbXB0eVRleHRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmxpbmVDb2RlRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5pbmxpbmVDb2RlO1xufVxuXG5leHBvcnQgdHlwZSBDdXN0b21FbGVtZW50ID1cbiAgICB8IEJsb2NrUXVvdGVFbGVtZW50XG4gICAgfCBOdW1iZXJlZExpc3RFbGVtZW50XG4gICAgfCBCdWxsZXRlZExpc3RFbGVtZW50XG4gICAgfCBUb2RvSXRlbUVsZW1lbnRcbiAgICB8IEhlYWRpbmdPbmVFbGVtZW50XG4gICAgfCBIZWFkaW5nVHdvRWxlbWVudFxuICAgIHwgSGVhZGluZ1RocmVlRWxlbWVudFxuICAgIHwgSGVhZGluZ0ZvdXJFbGVtZW50XG4gICAgfCBIZWFkaW5nRml2ZUVsZW1lbnRcbiAgICB8IEhlYWRpbmdTaXhFbGVtZW50XG4gICAgfCBJbWFnZUVsZW1lbnRcbiAgICB8IExpbmtFbGVtZW50XG4gICAgfCBMaXN0SXRlbUVsZW1lbnRcbiAgICB8IFBhcmFncmFwaEVsZW1lbnRcbiAgICB8IFRhYmxlRWxlbWVudFxuICAgIHwgVGFibGVSb3dFbGVtZW50XG4gICAgfCBUYWJsZUNlbGxFbGVtZW50XG4gICAgfCBIckVsZW1lbnRcbiAgICB8IElubGluZUNvZGVFbGVtZW50XG4gICAgfCBDb2RlRWxlbWVudDtcblxuZXhwb3J0IHR5cGUgQ3VzdG9tVGV4dCA9IHtcbiAgICBib2xkPzogYm9vbGVhbjtcbiAgICBpdGFsaWM/OiBib29sZWFuO1xuICAgIGNvZGU/OiBib29sZWFuO1xuICAgIHRleHQ6IHN0cmluZztcbiAgICB1bmRlcmxpbmVkPzogYm9vbGVhbjtcbiAgICBjb2xvcj86IHN0cmluZztcbiAgICBbYGJhY2tncm91bmQtY29sb3JgXT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEVtcHR5VGV4dCA9IHtcbiAgICB0ZXh0OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBDdXN0b21FZGl0b3IgPSBUaGVFZGl0b3I7XG5cbnR5cGUgR2V0PFQsIFAgZXh0ZW5kcyBrZXlvZiBUPiA9IFRbUF07XG5leHBvcnQgdHlwZSBDdXN0b21FbGVtZW50S2luZHMgPSBHZXQ8RWxlbWVudCwgJ3R5cGUnPjtcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Component, Input, ViewChild, forwardRef, Output, EventEmitter } from '@angular/core';
1
+ import { Component, Input, ViewChild, forwardRef, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import { mixinUnsubscribe, MixinBase } from 'ngx-tethys/core';
4
4
  import isHotkey from 'is-hotkey';
@@ -30,10 +30,9 @@ import * as i3 from "./components/toolbar/toolbar.component";
30
30
  import * as i4 from "slate-angular";
31
31
  import * as i5 from "./components/inline-toolbar/inline-toolbar.component";
32
32
  import * as i6 from "./plugins/quick-insert/components/quick-insert.component";
33
- import * as i7 from "./plugins/placeholder/placeholder.component";
34
- import * as i8 from "./components/template/template.component";
35
- import * as i9 from "@angular/common";
36
- import * as i10 from "@angular/forms";
33
+ import * as i7 from "./components/template/template.component";
34
+ import * as i8 from "@angular/common";
35
+ import * as i9 from "@angular/forms";
37
36
  export class TheEditorComponent extends mixinUnsubscribe(MixinBase) {
38
37
  constructor(toolbarService, theContextService, viewContainerRef, elementRef, ngZone) {
39
38
  super();
@@ -63,14 +62,14 @@ export class TheEditorComponent extends mixinUnsubscribe(MixinBase) {
63
62
  return leaf ? leaf : null;
64
63
  };
65
64
  this.renderText = (text) => {
66
- if (text.text.length === 0) {
67
- return;
68
- }
69
65
  for (const key in MarkTypes) {
70
66
  if (text[MarkTypes[key]]) {
71
67
  return TheTextComponent;
72
68
  }
73
69
  }
70
+ if (text.text.length === 0) {
71
+ return;
72
+ }
74
73
  };
75
74
  this.onKeyDown = (event) => {
76
75
  shortcuts(this.editor, event);
@@ -185,12 +184,14 @@ export class TheEditorComponent extends mixinUnsubscribe(MixinBase) {
185
184
  this.editor.disabled = (_a = this.theOptions) === null || _a === void 0 ? void 0 : _a.disabled;
186
185
  this.editor.extraElementOptions = (_b = this.theOptions) === null || _b === void 0 ? void 0 : _b.extraElementOptions;
187
186
  setEditorUUID(this.editor, idCreator());
188
- this.theContextService.initialize({ nativeElement: this.elementRef.nativeElement, viewContainerRef: this.viewContainerRef });
187
+ this.theContextService.initialize({
188
+ theOptions: this.theOptions,
189
+ nativeElement: this.elementRef.nativeElement,
190
+ viewContainerRef: this.viewContainerRef
191
+ });
189
192
  this.toolbarCalculate();
190
193
  setTimeout(() => {
191
- var _a;
192
194
  this.theEditorCreated.emit(this.editor);
193
- (_a = this.placeholderInstance) === null || _a === void 0 ? void 0 : _a.checkStatus();
194
195
  this.applyAutoFocus();
195
196
  });
196
197
  }
@@ -241,13 +242,16 @@ export class TheEditorComponent extends mixinUnsubscribe(MixinBase) {
241
242
  }
242
243
  valueChange(value) {
243
244
  var _a, _b, _c, _d, _e, _f;
244
- (_a = this.theGlobalToolbarInstance) === null || _a === void 0 ? void 0 : _a.statusChange(this.editor);
245
- (_b = this.quickInsertInstance) === null || _b === void 0 ? void 0 : _b.checkStatus();
246
- (_c = this.placeholderInstance) === null || _c === void 0 ? void 0 : _c.checkStatus();
245
+ const isEditable = !((_a = this.theOptions) === null || _a === void 0 ? void 0 : _a.readonly) && !((_b = this.theOptions) === null || _b === void 0 ? void 0 : _b.disabled);
246
+ (_c = this.theGlobalToolbarInstance) === null || _c === void 0 ? void 0 : _c.statusChange(this.editor);
247
+ // quick insert button
248
+ if (isEditable) {
249
+ (_d = this.quickInsertInstance) === null || _d === void 0 ? void 0 : _d.checkStatus();
250
+ }
247
251
  // auto scroll view
248
- const scrollContainer = (_d = this.theOptions) === null || _d === void 0 ? void 0 : _d.scrollContainer;
249
- const maxHeight = (_e = this.theOptions) === null || _e === void 0 ? void 0 : _e.maxHeight;
250
- if (!((_f = this.theOptions) === null || _f === void 0 ? void 0 : _f.readonly) && (scrollContainer || maxHeight)) {
252
+ const scrollContainer = (_e = this.theOptions) === null || _e === void 0 ? void 0 : _e.scrollContainer;
253
+ const maxHeight = (_f = this.theOptions) === null || _f === void 0 ? void 0 : _f.maxHeight;
254
+ if (isEditable && (scrollContainer || maxHeight)) {
251
255
  const container = maxHeight ? DEFAULT_SCROLL_CONTAINER : scrollContainer;
252
256
  this.autoScrollView(this.editor, container);
253
257
  }
@@ -372,12 +376,13 @@ TheEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
372
376
  useExisting: forwardRef(() => TheEditorComponent),
373
377
  multi: true
374
378
  }
375
- ], viewQueries: [{ propertyName: "templateInstance", first: true, predicate: ["templateInstance"], descendants: true, static: true }, { propertyName: "globalToolbarInstance", first: true, predicate: ["globalToolbar"], descendants: true }, { propertyName: "quickInsertInstance", first: true, predicate: ["quickInsert"], descendants: true, static: true }, { propertyName: "placeholderInstance", first: true, predicate: ["placeholder"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<the-toolbar\n *ngIf=\"!theOptions?.readonly && !theGlobalToolbar\"\n [ngClass]=\"{\n 'the-toolbar-disabled': theOptions?.disabled\n }\"\n #globalToolbar\n [editor]=\"editor\"\n [toolbarItems]=\"toolbarEntity.global\"\n [containerClass]=\"globalToolbarClass\"\n [align]=\"theOptions?.toolbar?.align\"\n [fontSize]=\"theOptions?.fontSize\"\n></the-toolbar>\n\n<div\n class=\"the-editable-container\"\n [ngClass]=\"{\n 'the-editor-disabled': theOptions?.disabled,\n 'max-height': maxHeight\n }\"\n [ngStyle]=\"{ 'max-height': maxHeight }\"\n>\n <slate-editable\n class=\"the-editor-typo\"\n [editor]=\"editor\"\n [ngModel]=\"editorValue\"\n (ngModelChange)=\"valueChange($event)\"\n [decorate]=\"decorate\"\n [renderElement]=\"renderElement\"\n [renderText]=\"renderText\"\n [renderLeaf]=\"renderLeaf\"\n [readonly]=\"theOptions?.readonly || theOptions?.disabled\"\n [keydown]=\"onKeyDown\"\n [click]=\"onClick\"\n [paste]=\"onSlaPaste\"\n [beforeInput]=\"onSlaBeforeInput\"\n [blur]=\"onSlaBlur\"\n [focus]=\"onSlaFocus\"\n [copy]=\"onSlaCopy\"\n [cut]=\"onSlaCut\"\n [isStrictDecorate]=\"false\"\n [compositionStart]=\"onSlaCompositionStart\"\n [compositionEnd]=\"onSlaCompositionEnd\"\n [dragStart]=\"onSlaDragStart\"\n [dragOver]=\"onSlaDragOver\"\n [drop]=\"onDrop\"\n (mousedown)=\"mousedown($event)\"\n ></slate-editable>\n <the-inline-toolbar *ngIf=\"!theOptions?.readonly\" [editor]=\"editor\" [toolbarItems]=\"toolbarEntity.inline\"></the-inline-toolbar>\n <div #quickInsert theQuickInsert [editor]=\"editor\" [quickToolbarItems]=\"quickToolbarItems\"></div>\n <div #placeholder thePlaceholder [editor]=\"editor\" [options]=\"theOptions\"></div>\n <the-template #templateInstance></the-template>\n</div>\n", components: [{ type: i3.TheToolbarComponent, selector: "the-toolbar", inputs: ["editor", "toolbarItems", "align", "fontSize", "containerClass", "isMore", "afterTemplate"] }, { type: i4.SlateEditableComponent, selector: "slate-editable", inputs: ["editor", "renderElement", "renderLeaf", "renderText", "decorate", "placeholderDecorate", "isStrictDecorate", "trackBy", "readonly", "placeholder", "beforeInput", "blur", "click", "compositionEnd", "compositionStart", "copy", "cut", "dragOver", "dragStart", "dragEnd", "drop", "focus", "keydown", "paste", "spellCheck", "autoCorrect", "autoCapitalize"] }, { type: i5.TheInlineToolbarComponent, selector: "the-inline-toolbar", inputs: ["editor", "toolbarItems"] }, { type: i6.TheQuickInsertComponent, selector: "[theQuickInsert]", inputs: ["editor", "quickToolbarItems"] }, { type: i7.ThePlaceholderComponent, selector: "div[thePlaceholder]", inputs: ["editor", "options"] }, { type: i8.TheTemplateComponent, selector: "the-template,[theTemplate]" }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
379
+ ], viewQueries: [{ propertyName: "templateInstance", first: true, predicate: ["templateInstance"], descendants: true, static: true }, { propertyName: "globalToolbarInstance", first: true, predicate: ["globalToolbar"], descendants: true }, { propertyName: "quickInsertInstance", first: true, predicate: ["quickInsert"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<the-toolbar\n *ngIf=\"!theOptions?.readonly && !theGlobalToolbar\"\n [ngClass]=\"{\n 'the-toolbar-disabled': theOptions?.disabled\n }\"\n #globalToolbar\n [editor]=\"editor\"\n [toolbarItems]=\"toolbarEntity.global\"\n [containerClass]=\"globalToolbarClass\"\n [align]=\"theOptions?.toolbar?.align\"\n></the-toolbar>\n\n<div\n class=\"the-editable-container\"\n [ngClass]=\"{\n 'the-editor-disabled': theOptions?.disabled,\n 'max-height': maxHeight\n }\"\n [ngStyle]=\"{ 'max-height': maxHeight }\"\n>\n <slate-editable\n class=\"the-editor-typo\"\n [editor]=\"editor\"\n [ngModel]=\"editorValue\"\n (ngModelChange)=\"valueChange($event)\"\n [decorate]=\"decorate\"\n [placeholder]=\"theOptions?.placeholder\"\n [placeholderDecorate]=\"theOptions?.placeholderDecorate ? theOptions?.placeholderDecorate : null\"\n [renderElement]=\"renderElement\"\n [renderText]=\"renderText\"\n [renderLeaf]=\"renderLeaf\"\n [readonly]=\"theOptions?.readonly || theOptions?.disabled\"\n [keydown]=\"onKeyDown\"\n [click]=\"onClick\"\n [paste]=\"onSlaPaste\"\n [beforeInput]=\"onSlaBeforeInput\"\n [blur]=\"onSlaBlur\"\n [focus]=\"onSlaFocus\"\n [copy]=\"onSlaCopy\"\n [cut]=\"onSlaCut\"\n [isStrictDecorate]=\"false\"\n [compositionStart]=\"onSlaCompositionStart\"\n [compositionEnd]=\"onSlaCompositionEnd\"\n [dragStart]=\"onSlaDragStart\"\n [dragOver]=\"onSlaDragOver\"\n [drop]=\"onDrop\"\n (mousedown)=\"mousedown($event)\"\n ></slate-editable>\n <the-inline-toolbar *ngIf=\"!theOptions?.readonly\" [editor]=\"editor\" [toolbarItems]=\"toolbarEntity.inline\"></the-inline-toolbar>\n <div\n #quickInsert\n theQuickInsert\n [editor]=\"editor\"\n [quickToolbarItems]=\"quickToolbarItems\"\n [isVisible]=\"theOptions?.quickInsertVisible\"\n ></div>\n <the-template #templateInstance></the-template>\n</div>\n", components: [{ type: i3.TheToolbarComponent, selector: "the-toolbar", inputs: ["editor", "toolbarItems", "align", "containerClass", "isMore", "afterTemplate"] }, { type: i4.SlateEditableComponent, selector: "slate-editable", inputs: ["editor", "renderElement", "renderLeaf", "renderText", "decorate", "placeholderDecorate", "isStrictDecorate", "trackBy", "readonly", "placeholder", "beforeInput", "blur", "click", "compositionEnd", "compositionStart", "copy", "cut", "dragOver", "dragStart", "dragEnd", "drop", "focus", "keydown", "paste", "spellCheck", "autoCorrect", "autoCapitalize"] }, { type: i5.TheInlineToolbarComponent, selector: "the-inline-toolbar", inputs: ["editor", "toolbarItems"] }, { type: i6.TheQuickInsertComponent, selector: "[theQuickInsert]", inputs: ["editor", "quickToolbarItems", "isVisible"] }, { type: i7.TheTemplateComponent, selector: "the-template,[theTemplate]" }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
376
380
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TheEditorComponent, decorators: [{
377
381
  type: Component,
378
382
  args: [{
379
383
  selector: 'the-editor, theEditor',
380
384
  templateUrl: 'editor.component.html',
385
+ changeDetection: ChangeDetectionStrategy.OnPush,
381
386
  providers: [
382
387
  TheToolbarService,
383
388
  TheContextService,
@@ -418,8 +423,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
418
423
  }], quickInsertInstance: [{
419
424
  type: ViewChild,
420
425
  args: ['quickInsert', { static: true }]
421
- }], placeholderInstance: [{
422
- type: ViewChild,
423
- args: ['placeholder']
424
426
  }] } });
425
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy9lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vcGFja2FnZXMvc3JjL2VkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsU0FBUyxFQUNULEtBQUssRUFFTCxTQUFTLEVBRVQsVUFBVSxFQUNWLE1BQU0sRUFDTixZQUFZLEVBSWYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUNqQyxPQUFPLEVBQUUsTUFBTSxFQUFRLFVBQVUsRUFBRSxZQUFZLEVBQXVCLEtBQUssRUFBRSxJQUFJLEVBQWEsTUFBTSxPQUFPLENBQUM7QUFDNUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFjLFdBQVcsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQXNELFdBQVcsRUFBaUIsTUFBTSxjQUFjLENBQUM7QUFDOUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FB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QUFFLHNCQUFzQjtxQkFDeEQ7aUJBQ0o7cU5BRVksVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksU0FBUztzQkFBbEIsTUFBTTtnQkFFRyxhQUFhO3NCQUF0QixNQUFNO2dCQUVHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFHUCxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSS9DLHFCQUFxQjtzQkFEcEIsU0FBUzt1QkFBQyxlQUFlO2dCQUkxQixtQkFBbUI7c0JBRGxCLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJMUMsbUJBQW1CO3NCQURsQixTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIE9uSW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIE5nWm9uZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgbWl4aW5VbnN1YnNjcmliZSwgTWl4aW5CYXNlIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCBpc0hvdGtleSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHsgRWRpdG9yLCBUZXh0LCBUcmFuc2Zvcm1zLCBjcmVhdGVFZGl0b3IsIEVsZW1lbnQsIERlc2NlbmRhbnQsIFJhbmdlLCBQYXRoLCBOb2RlRW50cnkgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyB3aXRoSGlzdG9yeSB9IGZyb20gJ3NsYXRlLWhpc3RvcnknO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciwgU2xhdGVFcnJvciwgd2l0aEFuZ3VsYXIsIERPTUVsZW1lbnQgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IFRoZVBsdWdpbiwgVGhlT3B0aW9ucywgRG9tRXZlbnREYXRhSW5mbywgVGhlRWRpdG9yLCBUaGVEYXRhTW9kZSwgVG9vbGJhckVudGl0eSB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNYXJrVHlwZXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyB3aXRoVGhlRWRpdG9yLCB0b29sYmFyQ29tcG9zZSB9IGZyb20gJy4vcGx1Z2lucy9pbmRleCc7XG5pbXBvcnQgeyBUaGVUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZW1wbGF0ZS90ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgc2hvcnRjdXRzIH0gZnJvbSAnLi9zaG9ydGN1dHMnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRvb2xiYXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy90b29sYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGhlQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBUaGVUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ0xJUEJPQVJEX0ZPUk1BVF9LRVksIERFRkFVTFRfU0NST0xMX0NPTlRBSU5FUiB9IGZyb20gJy4vY29uc3RhbnRzL2RlZmF1bHQnO1xuaW1wb3J0IHsgVGhlQ29sb3JTZWxlY3RTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jb2xvci1zZWxlY3Quc2VydmljZSc7XG5pbXBvcnQgKiBhcyBUaGVUcmFuc2Zvcm1zIGZyb20gJy4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4vcXVlcmllcyc7XG5pbXBvcnQgeyBhdXRvRm9jdXMgfSBmcm9tICcuL3V0aWxzL2F1dG8tZm9jdXMnO1xuaW1wb3J0IHsgYXV0b1Njcm9sbFZpZXdIYW5kbGUgfSBmcm9tICcuL3V0aWxzL2F1dG8tc2Nyb2xsLXZpZXcnO1xuaW1wb3J0IHsgXyB9IGZyb20gJy4vdXRpbHMvbG9kYXNoJztcbmltcG9ydCB7IGRhdGFEZXNlcmlhbGl6ZSwgZGF0YVNlcmlhbGl6aW5nIH0gZnJvbSAnLi91dGlscy9kYXRhLXRyYW5zZm9ybSc7XG5pbXBvcnQgeyBzZXRFZGl0b3JVVUlEIH0gZnJvbSAnLi91dGlscy9lZGl0b3ItdXVpZCc7XG5pbXBvcnQgeyBpZENyZWF0b3IgfSBmcm9tICcuL3V0aWxzL2lkLWNyZWF0b3InO1xuaW1wb3J0IHsgVGhlUXVpY2tJbnNlcnRDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvcXVpY2staW5zZXJ0L2NvbXBvbmVudHMvcXVpY2staW5zZXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVQbGFjZWhvbGRlckNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9wbGFjZWhvbGRlci9wbGFjZWhvbGRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2V0VG9vbGJhckNsYXNzIH0gZnJvbSAnLi91dGlscy9nZXQtdG9vbGJhci1jbGFzcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGhlLWVkaXRvciwgdGhlRWRpdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2VkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFRoZVRvb2xiYXJTZXJ2aWNlLFxuICAgICAgICBUaGVDb250ZXh0U2VydmljZSxcbiAgICAgICAgVGhlQ29sb3JTZWxlY3RTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRoZUVkaXRvckNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGhlLWVkaXRvcicsXG4gICAgICAgICdbY2xhc3MudGhlLWVkaXRvci1yZWFkb25seV0nOiAndGhlT3B0aW9ucz8ucmVhZG9ubHknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBUaGVFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBtaXhpblVuc3Vic2NyaWJlKE1peGluQmFzZSkgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSB0aGVPcHRpb25zOiBUaGVPcHRpb25zO1xuXG4gICAgQElucHV0KCkgdGhlUGx1Z2luczogVGhlUGx1Z2luW10gPSBbXTtcblxuICAgIEBJbnB1dCgpIHRoZUdsb2JhbFRvb2xiYXI/OiBUaGVUb29sYmFyQ29tcG9uZW50O1xuXG4gICAgQElucHV0KCkgdGhlRGVjb3JhdGU6IChlZGl0b3I6IFRoZUVkaXRvciwgbm9kZUVudHJ5OiBOb2RlRW50cnkpID0+IFJhbmdlW107XG5cbiAgICBASW5wdXQoKSB0aGVPbkVycm9yPzogKGVycm9yOiBTbGF0ZUVycm9yKSA9PiB2b2lkO1xuXG4gICAgQE91dHB1dCgpIHRoZU9uU2F2ZTogRXZlbnRFbWl0dGVyPERlc2NlbmRhbnRbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPERlc2NlbmRhbnRbXT4oKTtcblxuICAgIEBPdXRwdXQoKSB0aGVPbkRPTUV2ZW50OiBFdmVudEVtaXR0ZXI8eyBuYXRpdmVFdmVudDogRXZlbnQ7IGRhdGE/OiBEb21FdmVudERhdGFJbmZvIH0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpIHRoZUVkaXRvckNyZWF0ZWQ6IEV2ZW50RW1pdHRlcjxFZGl0b3I+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQFZpZXdDaGlsZCgndGVtcGxhdGVJbnN0YW5jZScsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgdGVtcGxhdGVJbnN0YW5jZTogVGhlVGVtcGxhdGVDb21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKCdnbG9iYWxUb29sYmFyJylcbiAgICBnbG9iYWxUb29sYmFySW5zdGFuY2U6IFRoZVRvb2xiYXJDb21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKCdxdWlja0luc2VydCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgcXVpY2tJbnNlcnRJbnN0YW5jZTogVGhlUXVpY2tJbnNlcnRDb21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKCdwbGFjZWhvbGRlcicpXG4gICAgcGxhY2Vob2xkZXJJbnN0YW5jZTogVGhlUGxhY2Vob2xkZXJDb21wb25lbnQ7XG5cbiAgICBfcGx1Z2luczogVGhlUGx1Z2luW10gPSBbXTtcblxuICAgIHRvb2xiYXJFbnRpdHk6IFRvb2xiYXJFbnRpdHk7XG5cbiAgICBlZGl0b3I6IFRoZUVkaXRvcjtcblxuICAgIGVkaXRvclZhbHVlOiBEZXNjZW5kYW50W107XG5cbiAgICBnbG9iYWxUb29sYmFyQ2xhc3M6IHN0cmluZ1tdO1xuXG4gICAgZGVjb3JhdGU6IChub2RlRW50cnk6IE5vZGVFbnRyeSkgPT4gUmFuZ2VbXTtcblxuICAgIGdldCB0aGVHbG9iYWxUb29sYmFySW5zdGFuY2UoKTogVGhlVG9vbGJhckNvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoZUdsb2JhbFRvb2xiYXIgPyB0aGlzLnRoZUdsb2JhbFRvb2xiYXIgOiB0aGlzLmdsb2JhbFRvb2xiYXJJbnN0YW5jZTtcbiAgICB9XG5cbiAgICBnZXQgbWF4SGVpZ2h0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy50aGVPcHRpb25zPy5tYXhIZWlnaHQgPyBgJHt0aGlzLnRoZU9wdGlvbnM/Lm1heEhlaWdodH1weGAgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBxdWlja1Rvb2xiYXJJdGVtcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9vbGJhckVudGl0eT8ucXVpY2s7XG4gICAgfVxuXG4gICAgYXV0b1Njcm9sbFZpZXcgPSBfLmRlYm91bmNlKGZ1bmN0aW9uIChlZGl0b3I6IEVkaXRvciwgc2Nyb2xsQ29udGFpbmVyOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIGF1dG9TY3JvbGxWaWV3SGFuZGxlKGVkaXRvciwgc2Nyb2xsQ29udGFpbmVyKTtcbiAgICB9LCA4MCk7XG5cbiAgICBlbGVtZW50VG9IdG1sOiBXZWFrTWFwPEVsZW1lbnQsIHN0cmluZz4gPSBuZXcgV2Vha01hcCgpO1xuXG4gICAgcHJpdmF0ZSBvbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0b29sYmFyU2VydmljZTogVGhlVG9vbGJhclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGhlQ29udGV4dFNlcnZpY2U6IFRoZUNvbnRleHRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5vbkVycm9ySGFuZGxlcigpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGNoYW5nZXMudGhlT3B0aW9ucztcblxuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplT3B0aW9ucygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuY3VycmVudFZhbHVlPy5yZWFkb25seSAhPT0gb3B0aW9ucy5wcmV2aW91c1ZhbHVlPy5yZWFkb25seSkge1xuICAgICAgICAgICAgdGhpcy5hcHBseUF1dG9Gb2N1cygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzWyd0aGVEZWNvcmF0ZSddKSB7XG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlRGVjb3JhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5lZGl0b3I/LnNlbGVjdGlvbiAmJiAob3B0aW9ucz8uY3VycmVudFZhbHVlPy5yZWFkb25seSB8fCBvcHRpb25zPy5jdXJyZW50VmFsdWU/LmRpc2FibGVkKSkge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5kZXNlbGVjdCh0aGlzLmVkaXRvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCkge1xuICAgICAgICB0aGlzLmVkaXRvciA9IHdpdGhUaGVFZGl0b3I8VGhlRWRpdG9yPih0aGlzLnRoZVBsdWdpbnMsIHdpdGhIaXN0b3J5KHdpdGhBbmd1bGFyKGNyZWF0ZUVkaXRvcigpLCBDTElQQk9BUkRfRk9STUFUX0tFWSkpKTtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZURlY29yYXRlKCk7XG4gICAgICAgIHRoaXMuZWRpdG9yLmRpc2FibGVkID0gdGhpcy50aGVPcHRpb25zPy5kaXNhYmxlZDtcbiAgICAgICAgdGhpcy5lZGl0b3IuZXh0cmFFbGVtZW50T3B0aW9ucyA9IHRoaXMudGhlT3B0aW9ucz8uZXh0cmFFbGVtZW50T3B0aW9ucztcbiAgICAgICAgc2V0RWRpdG9yVVVJRCh0aGlzLmVkaXRvciwgaWRDcmVhdG9yKCkpO1xuICAgICAgICB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLmluaXRpYWxpemUoeyBuYXRpdmVFbGVtZW50OiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmIH0pO1xuICAgICAgICB0aGlzLnRvb2xiYXJDYWxjdWxhdGUoKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRoZUVkaXRvckNyZWF0ZWQuZW1pdCh0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICB0aGlzLnBsYWNlaG9sZGVySW5zdGFuY2U/LmNoZWNrU3RhdHVzKCk7XG4gICAgICAgICAgICB0aGlzLmFwcGx5QXV0b0ZvY3VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVPcHRpb25zKCkge1xuICAgICAgICBpZiAoIXRoaXMudGhlT3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy50aGVPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIHJlYWRvbmx5OiBmYWxzZSxcbiAgICAgICAgICAgICAgICBtb2RlOiBUaGVEYXRhTW9kZS5odG1sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy50aGVPcHRpb25zLm1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMudGhlT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLnRoZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgbW9kZTogVGhlRGF0YU1vZGUuaHRtbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFwcGx5QXV0b0ZvY3VzKCkge1xuICAgICAgICBpZiAoIXRoaXMudGhlT3B0aW9ucz8uZGlzYWJsZWQgJiYgIXRoaXMudGhlT3B0aW9ucz8ucmVhZG9ubHkpIHtcbiAgICAgICAgICAgIGF1dG9Gb2N1cyh0aGlzLmVkaXRvciwgdGhpcy50aGVPcHRpb25zPy5hdXRvRm9jdXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9vbGJhckNhbGN1bGF0ZSgpIHtcbiAgICAgICAgY29uc3QgdG9vbGJhciA9IHRoaXM/LnRoZU9wdGlvbnM/LnRvb2xiYXI7XG4gICAgICAgIGNvbnN0IHRvb2xiYXJJdGVtcyA9IHRvb2xiYXJDb21wb3NlKHRvb2xiYXI/LnRvb2xiYXJJdGVtcyk7XG4gICAgICAgIGNvbnN0IHRvb2xiYXJPcHRpb24gPSB0aGlzLnRvb2xiYXJTZXJ2aWNlLmluaXRpYWxpemUodG9vbGJhckl0ZW1zLCB0b29sYmFyPy5nbG9iYWwsIHRvb2xiYXI/LmlubGluZSwgdG9vbGJhcj8ucXVpY2spO1xuICAgICAgICB0aGlzLmdsb2JhbFRvb2xiYXJDbGFzcyA9IFsndGhlLWdsb2JhbC10b29sYmFyJywgZ2V0VG9vbGJhckNsYXNzKHRoaXMuZWRpdG9yKV07XG4gICAgICAgIHRoaXMudG9vbGJhckVudGl0eSA9IHRvb2xiYXJPcHRpb24udG9vbGJhckVudGl0eTtcblxuICAgICAgICBpZiAodGhpcy50aGVHbG9iYWxUb29sYmFyKSB7XG4gICAgICAgICAgICB0aGlzLnRoZUdsb2JhbFRvb2xiYXJJbnN0YW5jZS5lZGl0b3IgPSB0aGlzLmVkaXRvcjtcbiAgICAgICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlLnRvb2xiYXJJdGVtcyA9IHRvb2xiYXJPcHRpb24udG9vbGJhckVudGl0eS5nbG9iYWw7XG4gICAgICAgICAgICB0aGlzLnRoZUdsb2JhbFRvb2xiYXJJbnN0YW5jZS5jb250YWluZXJDbGFzcyA9IHRoaXMuZ2xvYmFsVG9vbGJhckNsYXNzO1xuICAgICAgICAgICAgdGhpcy50aGVHbG9iYWxUb29sYmFySW5zdGFuY2UuYWxpZ24gPSB0b29sYmFyPy5hbGlnbjtcbiAgICAgICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlLnNldFRvb2xiYXJDbGFzcygpO1xuICAgICAgICAgICAgdGhpcy50aGVHbG9iYWxUb29sYmFySW5zdGFuY2UucmVuZGVyVG9vbGJhclZpZXcoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyB8IERlc2NlbmRhbnRbXSkge1xuICAgICAgICBjb25zdCBkYXRhID0gZGF0YURlc2VyaWFsaXplKHRoaXMudGhlT3B0aW9ucz8ubW9kZSwgdmFsdWUpO1xuICAgICAgICAvLyBkYXRhLWRlc2VyaWFsaXplXG4gICAgICAgIHRoaXMuZWRpdG9yVmFsdWUgPSBkYXRhO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcbiAgICB9XG5cbiAgICB2YWx1ZUNoYW5nZSh2YWx1ZTogRGVzY2VuZGFudFtdKSB7XG4gICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlPy5zdGF0dXNDaGFuZ2UodGhpcy5lZGl0b3IpO1xuICAgICAgICB0aGlzLnF1aWNrSW5zZXJ0SW5zdGFuY2U/LmNoZWNrU3RhdHVzKCk7XG4gICAgICAgIHRoaXMucGxhY2Vob2xkZXJJbnN0YW5jZT8uY2hlY2tTdGF0dXMoKTtcbiAgICAgICAgLy8gYXV0byBzY3JvbGwgdmlld1xuICAgICAgICBjb25zdCBzY3JvbGxDb250YWluZXIgPSB0aGlzLnRoZU9wdGlvbnM/LnNjcm9sbENvbnRhaW5lcjtcbiAgICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gdGhpcy50aGVPcHRpb25zPy5tYXhIZWlnaHQ7XG4gICAgICAgIGlmICghdGhpcy50aGVPcHRpb25zPy5yZWFkb25seSAmJiAoc2Nyb2xsQ29udGFpbmVyIHx8IG1heEhlaWdodCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IG1heEhlaWdodCA/IERFRkFVTFRfU0NST0xMX0NPTlRBSU5FUiA6IHNjcm9sbENvbnRhaW5lcjtcbiAgICAgICAgICAgIHRoaXMuYXV0b1Njcm9sbFZpZXcodGhpcy5lZGl0b3IsIGNvbnRhaW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5lZGl0b3JWYWx1ZSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVkaXRvclZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgLy8gc2VyaWFsaXppbmdcbiAgICAgICAgbGV0IG5ld1ZhbHVlID0gdGhpcy5zZXJpYWxpemluZ1ZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKG5ld1ZhbHVlKTtcbiAgICB9XG5cbiAgICBzZXJpYWxpemluZ1ZhbHVlKHZhbHVlOiBEZXNjZW5kYW50W10pOiBzdHJpbmcgfCBEZXNjZW5kYW50W10ge1xuICAgICAgICBpZiAodGhpcy50aGVPcHRpb25zPy5tb2RlID09PSBUaGVEYXRhTW9kZS5odG1sKSB7XG4gICAgICAgICAgICBsZXQgaHRtbFZhbHVlID0gJyc7XG4gICAgICAgICAgICB2YWx1ZS5mb3JFYWNoKChlbGVtZW50OiBFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IGVsZW1lbnRIdG1sID0gdGhpcy5lbGVtZW50VG9IdG1sLmdldChlbGVtZW50KTtcbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudEh0bWwgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBzZXJpYWxpemluZ1xuICAgICAgICAgICAgICAgICAgICBlbGVtZW50SHRtbCA9IGRhdGFTZXJpYWxpemluZyh0aGlzLnRoZU9wdGlvbnM/Lm1vZGUsIFtlbGVtZW50XSkgYXMgc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICBodG1sVmFsdWUgKz0gZWxlbWVudEh0bWw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFRvSHRtbC5zZXQoZWxlbWVudCwgZWxlbWVudEh0bWwpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGh0bWxWYWx1ZSArPSBlbGVtZW50SHRtbDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGh0bWxWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgb25FcnJvckhhbmRsZXIoKSB7XG4gICAgICAgIHRoaXMuZWRpdG9yLm9uRXJyb3IgPSAoZXJyb3JEYXRhOiBTbGF0ZUVycm9yKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy50aGVPbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aGVPbkVycm9yKGVycm9yRGF0YSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGVycm9yRGF0YS5uYXRpdmVFcnJvcikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3JEYXRhLm5hdGl2ZUVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICByZW5kZXJFbGVtZW50ID0gKGVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgY29uc3QgdGVtcGxhdGUgPSB0aGlzLnRlbXBsYXRlSW5zdGFuY2UucmVuZGVyRWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5lZGl0b3IucmVuZGVyRWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudCA/IGNvbXBvbmVudCA6IHRlbXBsYXRlO1xuICAgIH07XG5cbiAgICByZW5kZXJMZWFmID0gKHRleHQ6IFRleHQpID0+IHtcbiAgICAgICAgY29uc3QgbGVhZiA9IHRoaXMuZWRpdG9yLnJlbmRlckxlYWYodGV4dCk7XG4gICAgICAgIHJldHVybiBsZWFmID8gbGVhZiA6IG51bGw7XG4gICAgfTtcblxuICAgIHJlbmRlclRleHQgPSAodGV4dDogVGV4dCkgPT4ge1xuICAgICAgICBpZiAodGV4dC50ZXh0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIE1hcmtUeXBlcykge1xuICAgICAgICAgICAgaWYgKHRleHRbTWFya1R5cGVzW2tleV1dKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFRoZVRleHRDb21wb25lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgZ2VuZXJhdGVEZWNvcmF0ZSgpIHtcbiAgICAgICAgdGhpcy5kZWNvcmF0ZSA9IChub2RlRW50cnk6IE5vZGVFbnRyeSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGVjb3JhdGlvbnMgPSBbXTtcblxuICAgICAgICAgICAgaWYgKHRoaXMudGhlRGVjb3JhdGUpIHtcbiAgICAgICAgICAgICAgICBkZWNvcmF0aW9ucy5wdXNoKC4uLnRoaXMudGhlRGVjb3JhdGUodGhpcy5lZGl0b3IsIG5vZGVFbnRyeSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZGVjb3JhdGlvbnM7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgb25LZXlEb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIHNob3J0Y3V0cyh0aGlzLmVkaXRvciwgZXZlbnQpO1xuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnQsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAga2V5OiBldmVudC5rZXlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChpc0hvdGtleSgnbW9kK3MnLCBldmVudCkpIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50aGVPblNhdmUuZW1pdCh0aGlzLmVkaXRvclZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNIb3RrZXkoJ21vZCthJywgZXZlbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVNlbGVjdEFsbCgpO1xuICAgICAgICB9XG4gICAgICAgIEFuZ3VsYXJFZGl0b3Iub25LZXlkb3duKHRoaXMuZWRpdG9yLCBldmVudCk7XG4gICAgfTtcblxuICAgIG1vdXNlZG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBjb25zdCBlZGl0YWJsZUVsZW1lbnQgPSBBbmd1bGFyRWRpdG9yLnRvRE9NTm9kZSh0aGlzLmVkaXRvciwgdGhpcy5lZGl0b3IpO1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ID09PSBlZGl0YWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlY3RFZGl0YWJsZSA9IGVkaXRhYmxlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGNvbnN0IGNlbnRlclggPSByZWN0RWRpdGFibGUueCArIHJlY3RFZGl0YWJsZS53aWR0aCAvIDI7XG4gICAgICAgICAgICBjb25zdCByZWxhdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGNlbnRlclgsIGV2ZW50LnkpO1xuICAgICAgICAgICAgY29uc3QgcmVsYXRpdmVCbG9ja0NhcmRFbGVtZW50OiBET01FbGVtZW50ID0gcmVsYXRpdmVFbGVtZW50LmNsb3Nlc3QoJy5zbGF0ZS1ibG9jay1jYXJkJyk7XG4gICAgICAgICAgICBpZiAocmVsYXRpdmVCbG9ja0NhcmRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmxvY2tDYXJkRW50cnkgPSBBbmd1bGFyRWRpdG9yLnRvU2xhdGVDYXJkRW50cnkodGhpcy5lZGl0b3IsIHJlbGF0aXZlQmxvY2tDYXJkRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZCk7XG4gICAgICAgICAgICAgICAgaWYgKGJsb2NrQ2FyZEVudHJ5ICYmIGJsb2NrQ2FyZEVudHJ5WzFdKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJvb3ROb2RlUGF0aCA9IGJsb2NrQ2FyZEVudHJ5WzFdLnNsaWNlKDAsIDEpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByb290Tm9kZSA9IFRoZVF1ZXJpZXMuZ2V0Tm9kZSh0aGlzLmVkaXRvciwgcm9vdE5vZGVQYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZWRpdG9yLmlzQmxvY2tDYXJkKHJvb3ROb2RlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEFuZ3VsYXJFZGl0b3IubW92ZUJsb2NrQ2FyZCh0aGlzLmVkaXRvciwgcm9vdE5vZGUsIHsgZGlyZWN0aW9uOiBldmVudC54IDwgY2VudGVyWCA/ICdsZWZ0JyA6ICdyaWdodCcgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVTZWxlY3RBbGwoKSB7XG4gICAgICAgIGxldCBub2RlO1xuICAgICAgICBpZiAoIXRoaXMuZWRpdG9yLnNlbGVjdGlvbikge1xuICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5zZXRFbmRTZWxlY3Rpb24odGhpcy5lZGl0b3IpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IFtzdGFydCwgZW5kXSA9IFJhbmdlLmVkZ2VzKHRoaXMuZWRpdG9yLnNlbGVjdGlvbik7XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvblJhbmdlID0gRWRpdG9yLnJhbmdlKHRoaXMuZWRpdG9yLCBzdGFydCwgZW5kKTtcbiAgICAgICAgY29uc3QgY29udGFpbmVyQmxvY2tzID0gVGhlUXVlcmllcy5nZXRDb250YWluZXJCbG9ja3ModGhpcy5lZGl0b3IpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbnRhaW5lckJsb2Nrcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgW25vZGVdID0gVGhlUXVlcmllcy5nZXROb2Rlc0J5VHlwZSh0aGlzLmVkaXRvciwgY29udGFpbmVyQmxvY2tzW2ldKTtcbiAgICAgICAgICAgIGlmIChub2RlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgWywgcGF0aF0gPSBub2RlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzU3RhcnRQYXJlbnQgPSBQYXRoLmVxdWFscyhwYXRoLCBzdGFydC5wYXRoLnNsaWNlKDAsIHBhdGgubGVuZ3RoKSk7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNFbmRQYXJlbnQgPSBQYXRoLmVxdWFscyhwYXRoLCBlbmQucGF0aC5zbGljZSgwLCBwYXRoLmxlbmd0aCkpO1xuICAgICAgICAgICAgICAgIGlmIChpc1N0YXJ0UGFyZW50ICYmIGlzRW5kUGFyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vZGVSYW5nZSA9IEVkaXRvci5yYW5nZSh0aGlzLmVkaXRvciwgcGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghUmFuZ2UuZXF1YWxzKG5vZGVSYW5nZSwgc2VsZWN0aW9uUmFuZ2UpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdCh0aGlzLmVkaXRvciwgbm9kZVJhbmdlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5vZGUgPSBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KHRoaXMuZWRpdG9yLCBbXSk7XG4gICAgICAgIH1cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG9uQ2xpY2sgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgQW5ndWxhckVkaXRvci5vbkNsaWNrKHRoaXMuZWRpdG9yLCBldmVudCk7XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgb25TbGFQYXN0ZSA9IChldmVudDogQ2xpcGJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuZ2V0VGV4dEFuZEpTT04oZXZlbnQuY2xpcGJvYXJkRGF0YSlcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnRcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIG9uU2xhQmVmb3JlSW5wdXQgPSAoXG4gICAgICAgIGV2ZW50OiBFdmVudCAmIHtcbiAgICAgICAgICAgIGlucHV0VHlwZTogc3RyaW5nO1xuICAgICAgICAgICAgZGF0YTogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgICAgIGRhdGFUcmFuc2ZlcjogRGF0YVRyYW5zZmVyIHwgbnVsbDtcbiAgICAgICAgfVxuICAgICkgPT4ge1xuICAgICAgICBsZXQgZGF0YSA9IHtcbiAgICAgICAgICAgIGlucHV0VHlwZTogZXZlbnQuaW5wdXRUeXBlLFxuICAgICAgICAgICAgdGV4dDogKGV2ZW50LmRhdGEgfHwgZXZlbnQuZGF0YVRyYW5zZmVyKSBhcyBzdHJpbmdcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGV2ZW50LmlucHV0VHlwZSA9PT0gJ2luc2VydEZyb21QYXN0ZScpIHtcbiAgICAgICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgICAgICAgICAuLi50aGlzLmdldFRleHRBbmRKU09OKChldmVudC5kYXRhIHx8IGV2ZW50LmRhdGFUcmFuc2ZlcikgYXMgRGF0YVRyYW5zZmVyKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBvblNsYUJsdXIgPSAoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBvblNsYUZvY3VzID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnRcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIG9uU2xhQ3V0ID0gKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnRcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIG9uU2xhQ29weSA9IChldmVudDogQ2xpcGJvYXJkRXZlbnQpID0+IHt9O1xuXG4gICAgb25TbGFDb21wb3NpdGlvblN0YXJ0ID0gKGV2ZW50OiBDb21wb3NpdGlvbkV2ZW50KSA9PiB7fTtcblxuICAgIG9uU2xhQ29tcG9zaXRpb25FbmQgPSAoZXZlbnQ6IENvbXBvc2l0aW9uRXZlbnQpID0+IHt9O1xuXG4gICAgb25TbGFEcmFnU3RhcnQgPSAoZXZlbnQ6IERyYWdFdmVudCkgPT4ge307XG5cbiAgICBvblNsYURyYWdPdmVyID0gKGV2ZW50OiBEcmFnRXZlbnQpID0+IHt9O1xuXG4gICAgb25Ecm9wID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBnZXRUZXh0QW5kSlNPTihkYXRhOiBEYXRhVHJhbnNmZXIpIHtcbiAgICAgICAgY29uc3QgZnJhZ21lbnQgPSBkYXRhLmdldERhdGEoYGFwcGxpY2F0aW9uLyR7Q0xJUEJPQVJEX0ZPUk1BVF9LRVl9YCk7XG4gICAgICAgIGxldCBqc29uID0gW107XG4gICAgICAgIGlmIChmcmFnbWVudCkge1xuICAgICAgICAgICAganNvbiA9IEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KHdpbmRvdy5hdG9iKGZyYWdtZW50KSkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRleHQgPSBkYXRhLmdldERhdGEoJ3RleHQvcGxhaW4nKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGpzb24sXG4gICAgICAgICAgICB0ZXh0XG4gICAgICAgIH07XG4gICAgfVxufVxuIiwiPHRoZS10b29sYmFyXG4gICAgKm5nSWY9XCIhdGhlT3B0aW9ucz8ucmVhZG9ubHkgJiYgIXRoZUdsb2JhbFRvb2xiYXJcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3RoZS10b29sYmFyLWRpc2FibGVkJzogdGhlT3B0aW9ucz8uZGlzYWJsZWRcbiAgICB9XCJcbiAgICAjZ2xvYmFsVG9vbGJhclxuICAgIFtlZGl0b3JdPVwiZWRpdG9yXCJcbiAgICBbdG9vbGJhckl0ZW1zXT1cInRvb2xiYXJFbnRpdHkuZ2xvYmFsXCJcbiAgICBbY29udGFpbmVyQ2xhc3NdPVwiZ2xvYmFsVG9vbGJhckNsYXNzXCJcbiAgICBbYWxpZ25dPVwidGhlT3B0aW9ucz8udG9vbGJhcj8uYWxpZ25cIlxuICAgIFtmb250U2l6ZV09XCJ0aGVPcHRpb25zPy5mb250U2l6ZVwiXG4+PC90aGUtdG9vbGJhcj5cblxuPGRpdlxuICAgIGNsYXNzPVwidGhlLWVkaXRhYmxlLWNvbnRhaW5lclwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAndGhlLWVkaXRvci1kaXNhYmxlZCc6IHRoZU9wdGlvbnM/LmRpc2FibGVkLFxuICAgICAgICAnbWF4LWhlaWdodCc6IG1heEhlaWdodFxuICAgIH1cIlxuICAgIFtuZ1N0eWxlXT1cInsgJ21heC1oZWlnaHQnOiBtYXhIZWlnaHQgfVwiXG4+XG4gICAgPHNsYXRlLWVkaXRhYmxlXG4gICAgICAgIGNsYXNzPVwidGhlLWVkaXRvci10eXBvXCJcbiAgICAgICAgW2VkaXRvcl09XCJlZGl0b3JcIlxuICAgICAgICBbbmdNb2RlbF09XCJlZGl0b3JWYWx1ZVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbZGVjb3JhdGVdPVwiZGVjb3JhdGVcIlxuICAgICAgICBbcmVuZGVyRWxlbWVudF09XCJyZW5kZXJFbGVtZW50XCJcbiAgICAgICAgW3JlbmRlclRleHRdPVwicmVuZGVyVGV4dFwiXG4gICAgICAgIFtyZW5kZXJMZWFmXT1cInJlbmRlckxlYWZcIlxuICAgICAgICBbcmVhZG9ubHldPVwidGhlT3B0aW9ucz8ucmVhZG9ubHkgfHwgdGhlT3B0aW9ucz8uZGlzYWJsZWRcIlxuICAgICAgICBba2V5ZG93bl09XCJvbktleURvd25cIlxuICAgICAgICBbY2xpY2tdPVwib25DbGlja1wiXG4gICAgICAgIFtwYXN0ZV09XCJvblNsYVBhc3RlXCJcbiAgICAgICAgW2JlZm9yZUlucHV0XT1cIm9uU2xhQmVmb3JlSW5wdXRcIlxuICAgICAgICBbYmx1cl09XCJvblNsYUJsdXJcIlxuICAgICAgICBbZm9jdXNdPVwib25TbGFGb2N1c1wiXG4gICAgICAgIFtjb3B5XT1cIm9uU2xhQ29weVwiXG4gICAgICAgIFtjdXRdPVwib25TbGFDdXRcIlxuICAgICAgICBbaXNTdHJpY3REZWNvcmF0ZV09XCJmYWxzZVwiXG4gICAgICAgIFtjb21wb3NpdGlvblN0YXJ0XT1cIm9uU2xhQ29tcG9zaXRpb25TdGFydFwiXG4gICAgICAgIFtjb21wb3NpdGlvbkVuZF09XCJvblNsYUNvbXBvc2l0aW9uRW5kXCJcbiAgICAgICAgW2RyYWdTdGFydF09XCJvblNsYURyYWdTdGFydFwiXG4gICAgICAgIFtkcmFnT3Zlcl09XCJvblNsYURyYWdPdmVyXCJcbiAgICAgICAgW2Ryb3BdPVwib25Ecm9wXCJcbiAgICAgICAgKG1vdXNlZG93bik9XCJtb3VzZWRvd24oJGV2ZW50KVwiXG4gICAgPjwvc2xhdGUtZWRpdGFibGU+XG4gICAgPHRoZS1pbmxpbmUtdG9vbGJhciAqbmdJZj1cIiF0aGVPcHRpb25zPy5yZWFkb25seVwiIFtlZGl0b3JdPVwiZWRpdG9yXCIgW3Rvb2xiYXJJdGVtc109XCJ0b29sYmFyRW50aXR5LmlubGluZVwiPjwvdGhlLWlubGluZS10b29sYmFyPlxuICAgIDxkaXYgI3F1aWNrSW5zZXJ0IHRoZVF1aWNrSW5zZXJ0IFtlZGl0b3JdPVwiZWRpdG9yXCIgW3F1aWNrVG9vbGJhckl0ZW1zXT1cInF1aWNrVG9vbGJhckl0ZW1zXCI+PC9kaXY+XG4gICAgPGRpdiAjcGxhY2Vob2xkZXIgdGhlUGxhY2Vob2xkZXIgW2VkaXRvcl09XCJlZGl0b3JcIiBbb3B0aW9uc109XCJ0aGVPcHRpb25zXCI+PC9kaXY+XG4gICAgPHRoZS10ZW1wbGF0ZSAjdGVtcGxhdGVJbnN0YW5jZT48L3RoZS10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
427
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy9lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vcGFja2FnZXMvc3JjL2VkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsU0FBUyxFQUNULEtBQUssRUFFTCxTQUFTLEVBRVQsVUFBVSxFQUNWLE1BQU0sRUFDTixZQUFZLEVBSVosdUJBQXVCLEVBQzFCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxFQUFFLE1BQU0sRUFBUSxVQUFVLEVBQUUsWUFBWSxFQUF1QixLQUFLLEVBQUUsSUFBSSxFQUFtQixNQUFNLE9BQU8sQ0FBQztBQUNsSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQWMsV0FBVyxFQUFnQyxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQXNELFdBQVcsRUFBaUIsTUFBTSxjQUFjLENBQUM7QUFDOUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtD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QUUsbUJBQW1CLENBQUM7NEJBQ2pELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO29CQUNELElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsWUFBWTt3QkFDbkIsNkJBQTZCLEVBQUUsc0JBQXNCO3FCQUN4RDtpQkFDSjtxTkFFWSxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFSSxTQUFTO3NCQUFsQixNQUFNO2dCQUVHLGFBQWE7c0JBQXRCLE1BQU07Z0JBRUcsZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUdQLGdCQUFnQjtzQkFEZixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJL0MscUJBQXFCO3NCQURwQixTQUFTO3VCQUFDLGVBQWU7Z0JBSTFCLG1CQUFtQjtzQkFEbEIsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95LFxuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBOZ1pvbmUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG1peGluVW5zdWJzY3JpYmUsIE1peGluQmFzZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgaXNIb3RrZXkgZnJvbSAnaXMtaG90a2V5JztcbmltcG9ydCB7IEVkaXRvciwgVGV4dCwgVHJhbnNmb3JtcywgY3JlYXRlRWRpdG9yLCBFbGVtZW50LCBEZXNjZW5kYW50LCBSYW5nZSwgUGF0aCwgTm9kZUVudHJ5LCBOb2RlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgd2l0aEhpc3RvcnkgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IsIFNsYXRlRXJyb3IsIHdpdGhBbmd1bGFyLCBET01FbGVtZW50LCBTbGF0ZVBsYWNlaG9sZGVyIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBUaGVQbHVnaW4sIFRoZU9wdGlvbnMsIERvbUV2ZW50RGF0YUluZm8sIFRoZUVkaXRvciwgVGhlRGF0YU1vZGUsIFRvb2xiYXJFbnRpdHkgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTWFya1R5cGVzIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgd2l0aFRoZUVkaXRvciwgdG9vbGJhckNvbXBvc2UgfSBmcm9tICcuL3BsdWdpbnMvaW5kZXgnO1xuaW1wb3J0IHsgVGhlVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGVtcGxhdGUvdGVtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IHNob3J0Y3V0cyB9IGZyb20gJy4vc2hvcnRjdXRzJztcbmltcG9ydCB7IFRoZVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUb29sYmFyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdG9vbGJhci5zZXJ2aWNlJztcbmltcG9ydCB7IFRoZUNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVGhlVGV4dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZXh0L3RleHQuY29tcG9uZW50JztcbmltcG9ydCB7IENMSVBCT0FSRF9GT1JNQVRfS0VZLCBERUZBVUxUX1NDUk9MTF9DT05UQUlORVIgfSBmcm9tICcuL2NvbnN0YW50cy9kZWZhdWx0JztcbmltcG9ydCB7IFRoZUNvbG9yU2VsZWN0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvY29sb3Itc2VsZWN0LnNlcnZpY2UnO1xuaW1wb3J0ICogYXMgVGhlVHJhbnNmb3JtcyBmcm9tICcuL3RyYW5zZm9ybXMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuL3F1ZXJpZXMnO1xuaW1wb3J0IHsgYXV0b0ZvY3VzIH0gZnJvbSAnLi91dGlscy9hdXRvLWZvY3VzJztcbmltcG9ydCB7IGF1dG9TY3JvbGxWaWV3SGFuZGxlIH0gZnJvbSAnLi91dGlscy9hdXRvLXNjcm9sbC12aWV3JztcbmltcG9ydCB7IF8gfSBmcm9tICcuL3V0aWxzL2xvZGFzaCc7XG5pbXBvcnQgeyBkYXRhRGVzZXJpYWxpemUsIGRhdGFTZXJpYWxpemluZyB9IGZyb20gJy4vdXRpbHMvZGF0YS10cmFuc2Zvcm0nO1xuaW1wb3J0IHsgc2V0RWRpdG9yVVVJRCB9IGZyb20gJy4vdXRpbHMvZWRpdG9yLXV1aWQnO1xuaW1wb3J0IHsgaWRDcmVhdG9yIH0gZnJvbSAnLi91dGlscy9pZC1jcmVhdG9yJztcbmltcG9ydCB7IFRoZVF1aWNrSW5zZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3F1aWNrLWluc2VydC9jb21wb25lbnRzL3F1aWNrLWluc2VydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2V0VG9vbGJhckNsYXNzIH0gZnJvbSAnLi91dGlscy9nZXQtdG9vbGJhci1jbGFzcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGhlLWVkaXRvciwgdGhlRWRpdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2VkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFRoZVRvb2xiYXJTZXJ2aWNlLFxuICAgICAgICBUaGVDb250ZXh0U2VydmljZSxcbiAgICAgICAgVGhlQ29sb3JTZWxlY3RTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRoZUVkaXRvckNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGhlLWVkaXRvcicsXG4gICAgICAgICdbY2xhc3MudGhlLWVkaXRvci1yZWFkb25seV0nOiAndGhlT3B0aW9ucz8ucmVhZG9ubHknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBUaGVFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBtaXhpblVuc3Vic2NyaWJlKE1peGluQmFzZSkgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSB0aGVPcHRpb25zOiBUaGVPcHRpb25zO1xuXG4gICAgQElucHV0KCkgdGhlUGx1Z2luczogVGhlUGx1Z2luW10gPSBbXTtcblxuICAgIEBJbnB1dCgpIHRoZUdsb2JhbFRvb2xiYXI/OiBUaGVUb29sYmFyQ29tcG9uZW50O1xuXG4gICAgQElucHV0KCkgdGhlRGVjb3JhdGU6IChlZGl0b3I6IFRoZUVkaXRvciwgbm9kZUVudHJ5OiBOb2RlRW50cnkpID0+IFJhbmdlW107XG5cbiAgICBASW5wdXQoKSB0aGVPbkVycm9yPzogKGVycm9yOiBTbGF0ZUVycm9yKSA9PiB2b2lkO1xuXG4gICAgQE91dHB1dCgpIHRoZU9uU2F2ZTogRXZlbnRFbWl0dGVyPERlc2NlbmRhbnRbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPERlc2NlbmRhbnRbXT4oKTtcblxuICAgIEBPdXRwdXQoKSB0aGVPbkRPTUV2ZW50OiBFdmVudEVtaXR0ZXI8eyBuYXRpdmVFdmVudDogRXZlbnQ7IGRhdGE/OiBEb21FdmVudERhdGFJbmZvIH0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpIHRoZUVkaXRvckNyZWF0ZWQ6IEV2ZW50RW1pdHRlcjxFZGl0b3I+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQFZpZXdDaGlsZCgndGVtcGxhdGVJbnN0YW5jZScsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgdGVtcGxhdGVJbnN0YW5jZTogVGhlVGVtcGxhdGVDb21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKCdnbG9iYWxUb29sYmFyJylcbiAgICBnbG9iYWxUb29sYmFySW5zdGFuY2U6IFRoZVRvb2xiYXJDb21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKCdxdWlja0luc2VydCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgcXVpY2tJbnNlcnRJbnN0YW5jZTogVGhlUXVpY2tJbnNlcnRDb21wb25lbnQ7XG5cbiAgICBfcGx1Z2luczogVGhlUGx1Z2luW10gPSBbXTtcblxuICAgIHRvb2xiYXJFbnRpdHk6IFRvb2xiYXJFbnRpdHk7XG5cbiAgICBlZGl0b3I6IFRoZUVkaXRvcjtcblxuICAgIGVkaXRvclZhbHVlOiBEZXNjZW5kYW50W107XG5cbiAgICBnbG9iYWxUb29sYmFyQ2xhc3M6IHN0cmluZ1tdO1xuXG4gICAgZGVjb3JhdGU6IChub2RlRW50cnk6IE5vZGVFbnRyeSkgPT4gUmFuZ2VbXTtcblxuICAgIGdldCB0aGVHbG9iYWxUb29sYmFySW5zdGFuY2UoKTogVGhlVG9vbGJhckNvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoZUdsb2JhbFRvb2xiYXIgPyB0aGlzLnRoZUdsb2JhbFRvb2xiYXIgOiB0aGlzLmdsb2JhbFRvb2xiYXJJbnN0YW5jZTtcbiAgICB9XG5cbiAgICBnZXQgbWF4SGVpZ2h0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy50aGVPcHRpb25zPy5tYXhIZWlnaHQgPyBgJHt0aGlzLnRoZU9wdGlvbnM/Lm1heEhlaWdodH1weGAgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBxdWlja1Rvb2xiYXJJdGVtcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9vbGJhckVudGl0eT8ucXVpY2s7XG4gICAgfVxuXG4gICAgYXV0b1Njcm9sbFZpZXcgPSBfLmRlYm91bmNlKGZ1bmN0aW9uIChlZGl0b3I6IEVkaXRvciwgc2Nyb2xsQ29udGFpbmVyOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIGF1dG9TY3JvbGxWaWV3SGFuZGxlKGVkaXRvciwgc2Nyb2xsQ29udGFpbmVyKTtcbiAgICB9LCA4MCk7XG5cbiAgICBlbGVtZW50VG9IdG1sOiBXZWFrTWFwPEVsZW1lbnQsIHN0cmluZz4gPSBuZXcgV2Vha01hcCgpO1xuXG4gICAgcHJpdmF0ZSBvbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0b29sYmFyU2VydmljZTogVGhlVG9vbGJhclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGhlQ29udGV4dFNlcnZpY2U6IFRoZUNvbnRleHRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5vbkVycm9ySGFuZGxlcigpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGNoYW5nZXMudGhlT3B0aW9ucztcblxuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplT3B0aW9ucygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuY3VycmVudFZhbHVlPy5yZWFkb25seSAhPT0gb3B0aW9ucy5wcmV2aW91c1ZhbHVlPy5yZWFkb25seSkge1xuICAgICAgICAgICAgdGhpcy5hcHBseUF1dG9Gb2N1cygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzWyd0aGVEZWNvcmF0ZSddKSB7XG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlRGVjb3JhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5lZGl0b3I/LnNlbGVjdGlvbiAmJiAob3B0aW9ucz8uY3VycmVudFZhbHVlPy5yZWFkb25seSB8fCBvcHRpb25zPy5jdXJyZW50VmFsdWU/LmRpc2FibGVkKSkge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5kZXNlbGVjdCh0aGlzLmVkaXRvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCkge1xuICAgICAgICB0aGlzLmVkaXRvciA9IHdpdGhUaGVFZGl0b3I8VGhlRWRpdG9yPih0aGlzLnRoZVBsdWdpbnMsIHdpdGhIaXN0b3J5KHdpdGhBbmd1bGFyKGNyZWF0ZUVkaXRvcigpLCBDTElQQk9BUkRfRk9STUFUX0tFWSkpKTtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZURlY29yYXRlKCk7XG4gICAgICAgIHRoaXMuZWRpdG9yLmRpc2FibGVkID0gdGhpcy50aGVPcHRpb25zPy5kaXNhYmxlZDtcbiAgICAgICAgdGhpcy5lZGl0b3IuZXh0cmFFbGVtZW50T3B0aW9ucyA9IHRoaXMudGhlT3B0aW9ucz8uZXh0cmFFbGVtZW50T3B0aW9ucztcbiAgICAgICAgc2V0RWRpdG9yVVVJRCh0aGlzLmVkaXRvciwgaWRDcmVhdG9yKCkpO1xuICAgICAgICB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLmluaXRpYWxpemUoe1xuICAgICAgICAgICAgdGhlT3B0aW9uczogdGhpcy50aGVPcHRpb25zLFxuICAgICAgICAgICAgbmF0aXZlRWxlbWVudDogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWZcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudG9vbGJhckNhbGN1bGF0ZSgpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGhlRWRpdG9yQ3JlYXRlZC5lbWl0KHRoaXMuZWRpdG9yKTtcbiAgICAgICAgICAgIHRoaXMuYXBwbHlBdXRvRm9jdXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZU9wdGlvbnMoKSB7XG4gICAgICAgIGlmICghdGhpcy50aGVPcHRpb25zKSB7XG4gICAgICAgICAgICB0aGlzLnRoZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgcmVhZG9ubHk6IGZhbHNlLFxuICAgICAgICAgICAgICAgIG1vZGU6IFRoZURhdGFNb2RlLmh0bWxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLnRoZU9wdGlvbnMubW9kZSkge1xuICAgICAgICAgICAgdGhpcy50aGVPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIC4uLnRoaXMudGhlT3B0aW9ucyxcbiAgICAgICAgICAgICAgICBtb2RlOiBUaGVEYXRhTW9kZS5odG1sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXBwbHlBdXRvRm9jdXMoKSB7XG4gICAgICAgIGlmICghdGhpcy50aGVPcHRpb25zPy5kaXNhYmxlZCAmJiAhdGhpcy50aGVPcHRpb25zPy5yZWFkb25seSkge1xuICAgICAgICAgICAgYXV0b0ZvY3VzKHRoaXMuZWRpdG9yLCB0aGlzLnRoZU9wdGlvbnM/LmF1dG9Gb2N1cyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b29sYmFyQ2FsY3VsYXRlKCkge1xuICAgICAgICBjb25zdCB0b29sYmFyID0gdGhpcz8udGhlT3B0aW9ucz8udG9vbGJhcjtcbiAgICAgICAgY29uc3QgdG9vbGJhckl0ZW1zID0gdG9vbGJhckNvbXBvc2UodG9vbGJhcj8udG9vbGJhckl0ZW1zKTtcbiAgICAgICAgY29uc3QgdG9vbGJhck9wdGlvbiA9IHRoaXMudG9vbGJhclNlcnZpY2UuaW5pdGlhbGl6ZSh0b29sYmFySXRlbXMsIHRvb2xiYXI/Lmdsb2JhbCwgdG9vbGJhcj8uaW5saW5lLCB0b29sYmFyPy5xdWljayk7XG4gICAgICAgIHRoaXMuZ2xvYmFsVG9vbGJhckNsYXNzID0gWyd0aGUtZ2xvYmFsLXRvb2xiYXInLCBnZXRUb29sYmFyQ2xhc3ModGhpcy5lZGl0b3IpXTtcbiAgICAgICAgdGhpcy50b29sYmFyRW50aXR5ID0gdG9vbGJhck9wdGlvbi50b29sYmFyRW50aXR5O1xuXG4gICAgICAgIGlmICh0aGlzLnRoZUdsb2JhbFRvb2xiYXIpIHtcbiAgICAgICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlLmVkaXRvciA9IHRoaXMuZWRpdG9yO1xuICAgICAgICAgICAgdGhpcy50aGVHbG9iYWxUb29sYmFySW5zdGFuY2UudG9vbGJhckl0ZW1zID0gdG9vbGJhck9wdGlvbi50b29sYmFyRW50aXR5Lmdsb2JhbDtcbiAgICAgICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlLmNvbnRhaW5lckNsYXNzID0gdGhpcy5nbG9iYWxUb29sYmFyQ2xhc3M7XG4gICAgICAgICAgICB0aGlzLnRoZUdsb2JhbFRvb2xiYXJJbnN0YW5jZS5hbGlnbiA9IHRvb2xiYXI/LmFsaWduO1xuICAgICAgICAgICAgdGhpcy50aGVHbG9iYWxUb29sYmFySW5zdGFuY2Uuc2V0VG9vbGJhckNsYXNzKCk7XG4gICAgICAgICAgICB0aGlzLnRoZUdsb2JhbFRvb2xiYXJJbnN0YW5jZS5yZW5kZXJUb29sYmFyVmlldygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgRGVzY2VuZGFudFtdKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBkYXRhRGVzZXJpYWxpemUodGhpcy50aGVPcHRpb25zPy5tb2RlLCB2YWx1ZSk7XG4gICAgICAgIC8vIGRhdGEtZGVzZXJpYWxpemVcbiAgICAgICAgdGhpcy5lZGl0b3JWYWx1ZSA9IGRhdGE7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIHZhbHVlQ2hhbmdlKHZhbHVlOiBEZXNjZW5kYW50W10pIHtcbiAgICAgICAgY29uc3QgaXNFZGl0YWJsZSA9ICF0aGlzLnRoZU9wdGlvbnM/LnJlYWRvbmx5ICYmICF0aGlzLnRoZU9wdGlvbnM/LmRpc2FibGVkO1xuXG4gICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlPy5zdGF0dXNDaGFuZ2UodGhpcy5lZGl0b3IpO1xuXG4gICAgICAgIC8vIHF1aWNrIGluc2VydCBidXR0b25cbiAgICAgICAgaWYgKGlzRWRpdGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMucXVpY2tJbnNlcnRJbnN0YW5jZT8uY2hlY2tTdGF0dXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGF1dG8gc2Nyb2xsIHZpZXdcbiAgICAgICAgY29uc3Qgc2Nyb2xsQ29udGFpbmVyID0gdGhpcy50aGVPcHRpb25zPy5zY3JvbGxDb250YWluZXI7XG4gICAgICAgIGNvbnN0IG1heEhlaWdodCA9IHRoaXMudGhlT3B0aW9ucz8ubWF4SGVpZ2h0O1xuICAgICAgICBpZiAoaXNFZGl0YWJsZSAmJiAoc2Nyb2xsQ29udGFpbmVyIHx8IG1heEhlaWdodCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IG1heEhlaWdodCA/IERFRkFVTFRfU0NST0xMX0NPTlRBSU5FUiA6IHNjcm9sbENvbnRhaW5lcjtcbiAgICAgICAgICAgIHRoaXMuYXV0b1Njcm9sbFZpZXcodGhpcy5lZGl0b3IsIGNvbnRhaW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5lZGl0b3JWYWx1ZSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVkaXRvclZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgLy8gc2VyaWFsaXppbmdcbiAgICAgICAgbGV0IG5ld1ZhbHVlID0gdGhpcy5zZXJpYWxpemluZ1ZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKG5ld1ZhbHVlKTtcbiAgICB9XG5cbiAgICBzZXJpYWxpemluZ1ZhbHVlKHZhbHVlOiBEZXNjZW5kYW50W10pOiBzdHJpbmcgfCBEZXNjZW5kYW50W10ge1xuICAgICAgICBpZiAodGhpcy50aGVPcHRpb25zPy5tb2RlID09PSBUaGVEYXRhTW9kZS5odG1sKSB7XG4gICAgICAgICAgICBsZXQgaHRtbFZhbHVlID0gJyc7XG4gICAgICAgICAgICB2YWx1ZS5mb3JFYWNoKChlbGVtZW50OiBFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IGVsZW1lbnRIdG1sID0gdGhpcy5lbGVtZW50VG9IdG1sLmdldChlbGVtZW50KTtcbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudEh0bWwgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBzZXJpYWxpemluZ1xuICAgICAgICAgICAgICAgICAgICBlbGVtZW50SHRtbCA9IGRhdGFTZXJpYWxpemluZyh0aGlzLnRoZU9wdGlvbnM/Lm1vZGUsIFtlbGVtZW50XSkgYXMgc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICBodG1sVmFsdWUgKz0gZWxlbWVudEh0bWw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFRvSHRtbC5zZXQoZWxlbWVudCwgZWxlbWVudEh0bWwpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGh0bWxWYWx1ZSArPSBlbGVtZW50SHRtbDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGh0bWxWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgb25FcnJvckhhbmRsZXIoKSB7XG4gICAgICAgIHRoaXMuZWRpdG9yLm9uRXJyb3IgPSAoZXJyb3JEYXRhOiBTbGF0ZUVycm9yKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy50aGVPbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aGVPbkVycm9yKGVycm9yRGF0YSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGVycm9yRGF0YS5uYXRpdmVFcnJvcikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3JEYXRhLm5hdGl2ZUVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICByZW5kZXJFbGVtZW50ID0gKGVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgY29uc3QgdGVtcGxhdGUgPSB0aGlzLnRlbXBsYXRlSW5zdGFuY2UucmVuZGVyRWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5lZGl0b3IucmVuZGVyRWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudCA/IGNvbXBvbmVudCA6IHRlbXBsYXRlO1xuICAgIH07XG5cbiAgICByZW5kZXJMZWFmID0gKHRleHQ6IFRleHQpID0+IHtcbiAgICAgICAgY29uc3QgbGVhZiA9IHRoaXMuZWRpdG9yLnJlbmRlckxlYWYodGV4dCk7XG4gICAgICAgIHJldHVybiBsZWFmID8gbGVhZiA6IG51bGw7XG4gICAgfTtcblxuICAgIHJlbmRlclRleHQgPSAodGV4dDogVGV4dCkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBNYXJrVHlwZXMpIHtcbiAgICAgICAgICAgIGlmICh0ZXh0W01hcmtUeXBlc1trZXldXSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBUaGVUZXh0Q29tcG9uZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0ZXh0LnRleHQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgZ2VuZXJhdGVEZWNvcmF0ZSgpIHtcbiAgICAgICAgdGhpcy5kZWNvcmF0ZSA9IChub2RlRW50cnk6IE5vZGVFbnRyeSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGVjb3JhdGlvbnMgPSBbXTtcblxuICAgICAgICAgICAgaWYgKHRoaXMudGhlRGVjb3JhdGUpIHtcbiAgICAgICAgICAgICAgICBkZWNvcmF0aW9ucy5wdXNoKC4uLnRoaXMudGhlRGVjb3JhdGUodGhpcy5lZGl0b3IsIG5vZGVFbnRyeSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZGVjb3JhdGlvbnM7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgb25LZXlEb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIHNob3J0Y3V0cyh0aGlzLmVkaXRvciwgZXZlbnQpO1xuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnQsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAga2V5OiBldmVudC5rZXlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChpc0hvdGtleSgnbW9kK3MnLCBldmVudCkpIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50aGVPblNhdmUuZW1pdCh0aGlzLmVkaXRvclZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNIb3RrZXkoJ21vZCthJywgZXZlbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVNlbGVjdEFsbCgpO1xuICAgICAgICB9XG4gICAgICAgIEFuZ3VsYXJFZGl0b3Iub25LZXlkb3duKHRoaXMuZWRpdG9yLCBldmVudCk7XG4gICAgfTtcblxuICAgIG1vdXNlZG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBjb25zdCBlZGl0YWJsZUVsZW1lbnQgPSBBbmd1bGFyRWRpdG9yLnRvRE9NTm9kZSh0aGlzLmVkaXRvciwgdGhpcy5lZGl0b3IpO1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ID09PSBlZGl0YWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlY3RFZGl0YWJsZSA9IGVkaXRhYmxlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGNvbnN0IGNlbnRlclggPSByZWN0RWRpdGFibGUueCArIHJlY3RFZGl0YWJsZS53aWR0aCAvIDI7XG4gICAgICAgICAgICBjb25zdCByZWxhdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGNlbnRlclgsIGV2ZW50LnkpO1xuICAgICAgICAgICAgY29uc3QgcmVsYXRpdmVCbG9ja0NhcmRFbGVtZW50OiBET01FbGVtZW50ID0gcmVsYXRpdmVFbGVtZW50LmNsb3Nlc3QoJy5zbGF0ZS1ibG9jay1jYXJkJyk7XG4gICAgICAgICAgICBpZiAocmVsYXRpdmVCbG9ja0NhcmRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmxvY2tDYXJkRW50cnkgPSBBbmd1bGFyRWRpdG9yLnRvU2xhdGVDYXJkRW50cnkodGhpcy5lZGl0b3IsIHJlbGF0aXZlQmxvY2tDYXJkRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZCk7XG4gICAgICAgICAgICAgICAgaWYgKGJsb2NrQ2FyZEVudHJ5ICYmIGJsb2NrQ2FyZEVudHJ5WzFdKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJvb3ROb2RlUGF0aCA9IGJsb2NrQ2FyZEVudHJ5WzFdLnNsaWNlKDAsIDEpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByb290Tm9kZSA9IFRoZVF1ZXJpZXMuZ2V0Tm9kZSh0aGlzLmVkaXRvciwgcm9vdE5vZGVQYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZWRpdG9yLmlzQmxvY2tDYXJkKHJvb3ROb2RlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEFuZ3VsYXJFZGl0b3IubW92ZUJsb2NrQ2FyZCh0aGlzLmVkaXRvciwgcm9vdE5vZGUsIHsgZGlyZWN0aW9uOiBldmVudC54IDwgY2VudGVyWCA/ICdsZWZ0JyA6ICdyaWdodCcgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVTZWxlY3RBbGwoKSB7XG4gICAgICAgIGxldCBub2RlO1xuICAgICAgICBpZiAoIXRoaXMuZWRpdG9yLnNlbGVjdGlvbikge1xuICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5zZXRFbmRTZWxlY3Rpb24odGhpcy5lZGl0b3IpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IFtzdGFydCwgZW5kXSA9IFJhbmdlLmVkZ2VzKHRoaXMuZWRpdG9yLnNlbGVjdGlvbik7XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvblJhbmdlID0gRWRpdG9yLnJhbmdlKHRoaXMuZWRpdG9yLCBzdGFydCwgZW5kKTtcbiAgICAgICAgY29uc3QgY29udGFpbmVyQmxvY2tzID0gVGhlUXVlcmllcy5nZXRDb250YWluZXJCbG9ja3ModGhpcy5lZGl0b3IpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbnRhaW5lckJsb2Nrcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgW25vZGVdID0gVGhlUXVlcmllcy5nZXROb2Rlc0J5VHlwZSh0aGlzLmVkaXRvciwgY29udGFpbmVyQmxvY2tzW2ldKTtcbiAgICAgICAgICAgIGlmIChub2RlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgWywgcGF0aF0gPSBub2RlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzU3RhcnRQYXJlbnQgPSBQYXRoLmVxdWFscyhwYXRoLCBzdGFydC5wYXRoLnNsaWNlKDAsIHBhdGgubGVuZ3RoKSk7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNFbmRQYXJlbnQgPSBQYXRoLmVxdWFscyhwYXRoLCBlbmQucGF0aC5zbGljZSgwLCBwYXRoLmxlbmd0aCkpO1xuICAgICAgICAgICAgICAgIGlmIChpc1N0YXJ0UGFyZW50ICYmIGlzRW5kUGFyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vZGVSYW5nZSA9IEVkaXRvci5yYW5nZSh0aGlzLmVkaXRvciwgcGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghUmFuZ2UuZXF1YWxzKG5vZGVSYW5nZSwgc2VsZWN0aW9uUmFuZ2UpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdCh0aGlzLmVkaXRvciwgbm9kZVJhbmdlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5vZGUgPSBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KHRoaXMuZWRpdG9yLCBbXSk7XG4gICAgICAgIH1cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG9uQ2xpY2sgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgQW5ndWxhckVkaXRvci5vbkNsaWNrKHRoaXMuZWRpdG9yLCBldmVudCk7XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgb25TbGFQYXN0ZSA9IChldmVudDogQ2xpcGJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuZ2V0VGV4dEFuZEpTT04oZXZlbnQuY2xpcGJvYXJkRGF0YSlcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnRcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIG9uU2xhQmVmb3JlSW5wdXQgPSAoXG4gICAgICAgIGV2ZW50OiBFdmVudCAmIHtcbiAgICAgICAgICAgIGlucHV0VHlwZTogc3RyaW5nO1xuICAgICAgICAgICAgZGF0YTogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgICAgIGRhdGFUcmFuc2ZlcjogRGF0YVRyYW5zZmVyIHwgbnVsbDtcbiAgICAgICAgfVxuICAgICkgPT4ge1xuICAgICAgICBsZXQgZGF0YSA9IHtcbiAgICAgICAgICAgIGlucHV0VHlwZTogZXZlbnQuaW5wdXRUeXBlLFxuICAgICAgICAgICAgdGV4dDogKGV2ZW50LmRhdGEgfHwgZXZlbnQuZGF0YVRyYW5zZmVyKSBhcyBzdHJpbmdcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGV2ZW50LmlucHV0VHlwZSA9PT0gJ2luc2VydEZyb21QYXN0ZScpIHtcbiAgICAgICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgICAgICAgICAuLi50aGlzLmdldFRleHRBbmRKU09OKChldmVudC5kYXRhIHx8IGV2ZW50LmRhdGFUcmFuc2ZlcikgYXMgRGF0YVRyYW5zZmVyKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBvblNsYUJsdXIgPSAoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBvblNsYUZvY3VzID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnRcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIG9uU2xhQ3V0ID0gKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnRcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIG9uU2xhQ29weSA9IChldmVudDogQ2xpcGJvYXJkRXZlbnQpID0+IHt9O1xuXG4gICAgb25TbGFDb21wb3NpdGlvblN0YXJ0ID0gKGV2ZW50OiBDb21wb3NpdGlvbkV2ZW50KSA9PiB7fTtcblxuICAgIG9uU2xhQ29tcG9zaXRpb25FbmQgPSAoZXZlbnQ6IENvbXBvc2l0aW9uRXZlbnQpID0+IHt9O1xuXG4gICAgb25TbGFEcmFnU3RhcnQgPSAoZXZlbnQ6IERyYWdFdmVudCkgPT4ge307XG5cbiAgICBvblNsYURyYWdPdmVyID0gKGV2ZW50OiBEcmFnRXZlbnQpID0+IHt9O1xuXG4gICAgb25Ecm9wID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBnZXRUZXh0QW5kSlNPTihkYXRhOiBEYXRhVHJhbnNmZXIpIHtcbiAgICAgICAgY29uc3QgZnJhZ21lbnQgPSBkYXRhLmdldERhdGEoYGFwcGxpY2F0aW9uLyR7Q0xJUEJPQVJEX0ZPUk1BVF9LRVl9YCk7XG4gICAgICAgIGxldCBqc29uID0gW107XG4gICAgICAgIGlmIChmcmFnbWVudCkge1xuICAgICAgICAgICAganNvbiA9IEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KHdpbmRvdy5hdG9iKGZyYWdtZW50KSkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRleHQgPSBkYXRhLmdldERhdGEoJ3RleHQvcGxhaW4nKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGpzb24sXG4gICAgICAgICAgICB0ZXh0XG4gICAgICAgIH07XG4gICAgfVxufVxuIiwiPHRoZS10b29sYmFyXG4gICAgKm5nSWY9XCIhdGhlT3B0aW9ucz8ucmVhZG9ubHkgJiYgIXRoZUdsb2JhbFRvb2xiYXJcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3RoZS10b29sYmFyLWRpc2FibGVkJzogdGhlT3B0aW9ucz8uZGlzYWJsZWRcbiAgICB9XCJcbiAgICAjZ2xvYmFsVG9vbGJhclxuICAgIFtlZGl0b3JdPVwiZWRpdG9yXCJcbiAgICBbdG9vbGJhckl0ZW1zXT1cInRvb2xiYXJFbnRpdHkuZ2xvYmFsXCJcbiAgICBbY29udGFpbmVyQ2xhc3NdPVwiZ2xvYmFsVG9vbGJhckNsYXNzXCJcbiAgICBbYWxpZ25dPVwidGhlT3B0aW9ucz8udG9vbGJhcj8uYWxpZ25cIlxuPjwvdGhlLXRvb2xiYXI+XG5cbjxkaXZcbiAgICBjbGFzcz1cInRoZS1lZGl0YWJsZS1jb250YWluZXJcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3RoZS1lZGl0b3ItZGlzYWJsZWQnOiB0aGVPcHRpb25zPy5kaXNhYmxlZCxcbiAgICAgICAgJ21heC1oZWlnaHQnOiBtYXhIZWlnaHRcbiAgICB9XCJcbiAgICBbbmdTdHlsZV09XCJ7ICdtYXgtaGVpZ2h0JzogbWF4SGVpZ2h0IH1cIlxuPlxuICAgIDxzbGF0ZS1lZGl0YWJsZVxuICAgICAgICBjbGFzcz1cInRoZS1lZGl0b3ItdHlwb1wiXG4gICAgICAgIFtlZGl0b3JdPVwiZWRpdG9yXCJcbiAgICAgICAgW25nTW9kZWxdPVwiZWRpdG9yVmFsdWVcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ2YWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW2RlY29yYXRlXT1cImRlY29yYXRlXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInRoZU9wdGlvbnM/LnBsYWNlaG9sZGVyXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyRGVjb3JhdGVdPVwidGhlT3B0aW9ucz8ucGxhY2Vob2xkZXJEZWNvcmF0ZSA/IHRoZU9wdGlvbnM/LnBsYWNlaG9sZGVyRGVjb3JhdGUgOiBudWxsXCJcbiAgICAgICAgW3JlbmRlckVsZW1lbnRdPVwicmVuZGVyRWxlbWVudFwiXG4gICAgICAgIFtyZW5kZXJUZXh0XT1cInJlbmRlclRleHRcIlxuICAgICAgICBbcmVuZGVyTGVhZl09XCJyZW5kZXJMZWFmXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cInRoZU9wdGlvbnM/LnJlYWRvbmx5IHx8IHRoZU9wdGlvbnM/LmRpc2FibGVkXCJcbiAgICAgICAgW2tleWRvd25dPVwib25LZXlEb3duXCJcbiAgICAgICAgW2NsaWNrXT1cIm9uQ2xpY2tcIlxuICAgICAgICBbcGFzdGVdPVwib25TbGFQYXN0ZVwiXG4gICAgICAgIFtiZWZvcmVJbnB1dF09XCJvblNsYUJlZm9yZUlucHV0XCJcbiAgICAgICAgW2JsdXJdPVwib25TbGFCbHVyXCJcbiAgICAgICAgW2ZvY3VzXT1cIm9uU2xhRm9jdXNcIlxuICAgICAgICBbY29weV09XCJvblNsYUNvcHlcIlxuICAgICAgICBbY3V0XT1cIm9uU2xhQ3V0XCJcbiAgICAgICAgW2lzU3RyaWN0RGVjb3JhdGVdPVwiZmFsc2VcIlxuICAgICAgICBbY29tcG9zaXRpb25TdGFydF09XCJvblNsYUNvbXBvc2l0aW9uU3RhcnRcIlxuICAgICAgICBbY29tcG9zaXRpb25FbmRdPVwib25TbGFDb21wb3NpdGlvbkVuZFwiXG4gICAgICAgIFtkcmFnU3RhcnRdPVwib25TbGFEcmFnU3RhcnRcIlxuICAgICAgICBbZHJhZ092ZXJdPVwib25TbGFEcmFnT3ZlclwiXG4gICAgICAgIFtkcm9wXT1cIm9uRHJvcFwiXG4gICAgICAgIChtb3VzZWRvd24pPVwibW91c2Vkb3duKCRldmVudClcIlxuICAgID48L3NsYXRlLWVkaXRhYmxlPlxuICAgIDx0aGUtaW5saW5lLXRvb2xiYXIgKm5nSWY9XCIhdGhlT3B0aW9ucz8ucmVhZG9ubHlcIiBbZWRpdG9yXT1cImVkaXRvclwiIFt0b29sYmFySXRlbXNdPVwidG9vbGJhckVudGl0eS5pbmxpbmVcIj48L3RoZS1pbmxpbmUtdG9vbGJhcj5cbiAgICA8ZGl2XG4gICAgICAgICNxdWlja0luc2VydFxuICAgICAgICB0aGVRdWlja0luc2VydFxuICAgICAgICBbZWRpdG9yXT1cImVkaXRvclwiXG4gICAgICAgIFtxdWlja1Rvb2xiYXJJdGVtc109XCJxdWlja1Rvb2xiYXJJdGVtc1wiXG4gICAgICAgIFtpc1Zpc2libGVdPVwidGhlT3B0aW9ucz8ucXVpY2tJbnNlcnRWaXNpYmxlXCJcbiAgICA+PC9kaXY+XG4gICAgPHRoZS10ZW1wbGF0ZSAjdGVtcGxhdGVJbnN0YW5jZT48L3RoZS10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
@@ -57,9 +57,9 @@ import { THE_CODE_MODE_PROVIDER } from './constants';
57
57
  import { TheInlineToolbarComponent } from './components/inline-toolbar/inline-toolbar.component';
58
58
  import { TheQuickToolbarComponent } from './plugins/quick-insert/components/quick-toolbar/quick-toolbar.component';
59
59
  import { TheQuickInsertComponent } from './plugins/quick-insert/components/quick-insert.component';
60
- import { ThePlaceholderComponent } from './plugins/placeholder/placeholder.component';
61
60
  import { ThyResizableModule } from 'ngx-tethys/resizable';
62
61
  import { ThySwitchModule } from 'ngx-tethys/switch';
62
+ import { TheInlineCodeComponent } from './plugins/inline-code/inline-code.component';
63
63
  import * as i0 from "@angular/core";
64
64
  const TETHYS = [
65
65
  ThyIconModule,
@@ -118,7 +118,7 @@ export const PLUGIN_COMPONENTS = [
118
118
  TheTableComponent,
119
119
  TheTableRowComponent,
120
120
  TheTdComponent,
121
- ThePlaceholderComponent
121
+ TheInlineCodeComponent
122
122
  ];
123
123
  const PIPES = [ElementStylePipe, ElementClassPipe];
124
124
  export class TheEditorModule {
@@ -158,7 +158,7 @@ TheEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
158
158
  TheTableComponent,
159
159
  TheTableRowComponent,
160
160
  TheTdComponent,
161
- ThePlaceholderComponent], imports: [CommonModule, SlateModule, FormsModule, ThyIconModule,
161
+ TheInlineCodeComponent], imports: [CommonModule, SlateModule, FormsModule, ThyIconModule,
162
162
  ThyAvatarModule,
163
163
  ThyNavModule,
164
164
  ThyFormModule,
@@ -198,4 +198,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
198
198
  ]
199
199
  }]
200
200
  }] });
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy9lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsd0JB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QW1CLGFBQ3hGLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLDJCQUEyQixFQUFFLHVCQUF1QixFQUFFLDBCQUEwQjs2R0FVMUgsZUFBZSxhQVJiO1FBQ1A7WUFDSSxPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLFFBQVEsRUFBRSx3QkFBd0I7U0FDckM7UUFDRCxzQkFBc0I7S0FDekIsWUFUUSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEdBQUcsTUFBTSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDOzJGQVcxRixlQUFlO2tCQWIzQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsVUFBVSxFQUFFLEdBQUcsaUJBQWlCLENBQUM7b0JBQ2pGLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEdBQUcsTUFBTSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDO29CQUNuRyxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSwyQkFBMkIsRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsQ0FBQztvQkFDcEksZUFBZSxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztvQkFDdEQsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxvQkFBb0I7NEJBQzdCLFFBQVEsRUFBRSx3QkFBd0I7eUJBQ3JDO3dCQUNELHNCQUFzQjtxQkFDekI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2xhdGVNb2R1bGUgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IFRoZVRleHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVEZWZhdWx0RWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbGVtZW50L2VsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRvb2xiYXJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyLWRyb3Bkb3duL3Rvb2xiYXItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXItaXRlbS90b29sYmFyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE5hdlNwbGl0TGluZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9uYXYtc3BsaXQtbGluZS9uYXYtc3BsaXQtbGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGVtcGxhdGUvdGVtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUhyQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2hyL2hyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVCbG9ja3F1b3RlQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2Jsb2NrcXVvdGUvYmxvY2txdW90ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9kb0l0ZW1Db21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdG9kby1pdGVtL3RvZG8taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvbGlzdC9jb21wb25lbnRzL2xpc3QtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQnVsbGV0ZWRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2xpc3QvY29tcG9uZW50cy9idWxsZXRlZC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVOdW1iZXJlZExpc3RDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvbGlzdC9jb21wb25lbnRzL251bWJlcmVkLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEVsZW1lbnRTdHlsZVBpcGUsIEVsZW1lbnRDbGFzc1BpcGUgfSBmcm9tICcuL3BpcGVzJztcblxuaW1wb3J0IHsgVGh5TmF2TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9uYXYnO1xuaW1wb3J0IHsgVGh5SWNvbk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlQcm9ncmVzc01vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvcHJvZ3Jlc3MnO1xuaW1wb3J0IHsgVGh5Rm9ybU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvZm9ybSc7XG5pbXBvcnQgeyBUaHlUb29sdGlwTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy90b29sdGlwJztcbmltcG9ydCB7IFRoeUF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IFRoeUF2YXRhck1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYXZhdGFyJztcbmltcG9ydCB7IFRoeVNoYXJlZE1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvc2hhcmVkJztcbmltcG9ydCB7IFRoeUxpc3RNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2xpc3QnO1xuaW1wb3J0IHsgVGh5QWN0aW9uTWVudU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYWN0aW9uLW1lbnUnO1xuaW1wb3J0IHsgVGh5SW5wdXRNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2lucHV0JztcbmltcG9ydCB7IFRoeVNlbGVjdE1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvc2VsZWN0JztcbmltcG9ydCB7IFRoeUJ1dHRvbk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYnV0dG9uJztcbmltcG9ydCB7IFRoeU5vdGlmeU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvbm90aWZ5JztcbmltcG9ydCB7IFRoeUFsZXJ0TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9hbGVydCc7XG5pbXBvcnQgeyBUaGVDb2xvclNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb2xvci1zZWxlY3QvY29sb3Itc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVDb2xvclRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2NvbG9yL3Rvb2xiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQ29kZUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9jb2RlL2NvZGUuY29tcG9uZW50JztcbmltcG9ydCB7IENvZGVtaXJyb3JNb2R1bGUgfSBmcm9tICduZy1jb2RlbWlycm9yJztcbmltcG9ydCB7IFRoZUxpbmtDb21wb25lbnQsIFRoZVJlYWRvbmx5TGlua0NvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9saW5rL2xpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUxpbmtFZGl0Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2xpbmsvZWRpdC9saW5rLWVkaXQuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUxpbmtIb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9saW5rL2hvdmVyL2xpbmstaG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRhYmxlVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3Rvb2xiYXIvdGFibGUtdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdGFibGUvY29tcG9uZW50cy90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGFibGVSb3dDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdGFibGUvY29tcG9uZW50cy9yb3cvcm93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUZENvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3RkL3RkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb250ZXh0bWVudS9jb250ZXh0bWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQ29sdW1uU2l6ZU1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb2x1bW4tcmVzaXplL2NvbHVtbi1yZXNpemUubW9kdWxlJztcbmltcG9ydCB7IFRoZUluc2VydE1hcmtDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdGFibGUvY29tcG9uZW50cy9pbnNlcnQtbWFyay9pbnNlcnQtbWFyay5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXItZ3JvdXAvdG9vbGJhci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckdyb3VwVG9rZW4gfSBmcm9tICcuL2NvbnN0YW50cy90b29sYmFyJztcbmltcG9ydCB7IFRoZVRhYmxlU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLXNlbGVjdC90YWJsZS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRhYmxlVG9vbGJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdGFibGUvdG9vbGJhci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVDb252ZXJzaW9uSGludENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb252ZXJzaW9uLWhpbnQvY29udmVyc2lvbi1oaW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVWZXJ0aWNhbFRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3ZlcnRpY2FsLWFsaWduL3Rvb2xiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVEhFX0NPREVfTU9ERV9QUk9WSURFUiB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRoZUlubGluZVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5saW5lLXRvb2xiYXIvaW5saW5lLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVF1aWNrVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9xdWljay1pbnNlcnQvY29tcG9uZW50cy9xdWljay10b29sYmFyL3F1aWNrLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVF1aWNrSW5zZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3F1aWNrLWluc2VydC9jb21wb25lbnRzL3F1aWNrLWluc2VydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlUGxhY2Vob2xkZXJDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoeVJlc2l6YWJsZU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvcmVzaXphYmxlJztcbmltcG9ydCB7IFRoeVN3aXRjaE1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvc3dpdGNoJztcblxuY29uc3QgVEVUSFlTID0gW1xuICAgIFRoeUljb25Nb2R1bGUsXG4gICAgVGh5QXZhdGFyTW9kdWxlLFxuICAgIFRoeU5hdk1vZHVsZSxcbiAgICBUaHlGb3JtTW9kdWxlLFxuICAgIFRoeVNoYXJlZE1vZHVsZSxcbiAgICBUaHlMaXN0TW9kdWxlLFxuICAgIFRoeVRvb2x0aXBNb2R1bGUsXG4gICAgVGh5UHJvZ3Jlc3NNb2R1bGUsXG4gICAgVGh5QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIFRoeUFjdGlvbk1lbnVNb2R1bGUsXG4gICAgVGh5SW5wdXRNb2R1bGUsXG4gICAgVGh5U2VsZWN0TW9kdWxlLFxuICAgIFRoeUJ1dHRvbk1vZHVsZSxcbiAgICBUaHlOb3RpZnlNb2R1bGUsXG4gICAgVGh5QWxlcnRNb2R1bGUsXG4gICAgVGh5UmVzaXphYmxlTW9kdWxlLFxuICAgIFRoeVN3aXRjaE1vZHVsZVxuXTtcblxuZXhwb3J0IGNvbnN0IENPTVBPTkVOVFMgPSBbXG4gICAgVGhlVG9vbGJhckNvbXBvbmVudCxcbiAgICBUaGVUb29sYmFyRHJvcGRvd25Db21wb25lbnQsXG4gICAgVGhlVG9vbGJhckdyb3VwQ29tcG9uZW50LFxuICAgIFRoZVRvb2xiYXJJdGVtQ29tcG9uZW50LFxuICAgIFRoZUlubGluZVRvb2xiYXJDb21wb25lbnQsXG4gICAgTmF2U3BsaXRMaW5lQ29tcG9uZW50LFxuICAgIFRoZVRleHRDb21wb25lbnQsXG4gICAgVGhlRGVmYXVsdEVsZW1lbnRDb21wb25lbnQsXG4gICAgVGhlUXVpY2tJbnNlcnRDb21wb25lbnQsXG4gICAgVGhlUXVpY2tUb29sYmFyQ29tcG9uZW50LFxuICAgIFRoZUNvbG9yU2VsZWN0Q29tcG9uZW50LFxuICAgIFRoZUNvbG9yVG9vbGJhckl0ZW1Db21wb25lbnQsXG4gICAgVGhlQ29udGV4dE1lbnVDb21wb25lbnQsXG4gICAgVGhlSW5zZXJ0TWFya0NvbXBvbmVudCxcbiAgICBUaGVUYWJsZVNlbGVjdENvbXBvbmVudCxcbiAgICBUaGVUYWJsZVRvb2xiYXJJdGVtQ29tcG9uZW50LFxuICAgIFRoZUNvbnZlcnNpb25IaW50Q29tcG9uZW50LFxuICAgIFRoZVZlcnRpY2FsVG9vbGJhckl0ZW1Db21wb25lbnRcbl07XG5cbmV4cG9ydCBjb25zdCBQTFVHSU5fQ09NUE9ORU5UUyA9IFtcbiAgICBUaGVJbWFnZUNvbXBvbmVudCxcbiAgICBUaGVUZW1wbGF0ZUNvbXBvbmVudCxcbiAgICBUaGVIckNvbXBvbmVudCxcbiAgICBUaGVCbG9ja3F1b3RlQ29tcG9uZW50LFxuICAgIFRoZVRvZG9JdGVtQ29tcG9uZW50LFxuICAgIFRoZUxpc3RJdGVtQ29tcG9uZW50LFxuICAgIFRoZUJ1bGxldGVkTGlzdENvbXBvbmVudCxcbiAgICBUaGVOdW1iZXJlZExpc3RDb21wb25lbnQsXG4gICAgVGhlQ29kZUNvbXBvbmVudCxcbiAgICBUaGVMaW5rQ29tcG9uZW50LFxuICAgIFRoZVJlYWRvbmx5TGlua0NvbXBvbmVudCxcbiAgICBUaGVMaW5rRWRpdENvbXBvbmVudCxcbiAgICBUaGVMaW5rSG92ZXJDb21wb25lbnQsXG4gICAgVGhlVGFibGVUb29sYmFyQ29tcG9uZW50LFxuICAgIFRoZVRhYmxlQ29tcG9uZW50LFxuICAgIFRoZVRhYmxlUm93Q29tcG9uZW50LFxuICAgIFRoZVRkQ29tcG9uZW50LFxuICAgIFRoZVBsYWNlaG9sZGVyQ29tcG9uZW50XG5dO1xuXG5jb25zdCBQSVBFUyA9IFtFbGVtZW50U3R5bGVQaXBlLCBFbGVtZW50Q2xhc3NQaXBlXTtcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtUaGVFZGl0b3JDb21wb25lbnQsIC4uLlBJUEVTLCAuLi5DT01QT05FTlRTLCAuLi5QTFVHSU5fQ09NUE9ORU5UU10sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2xhdGVNb2R1bGUsIEZvcm1zTW9kdWxlLCAuLi5URVRIWVMsIENvZGVtaXJyb3JNb2R1bGUsIFRoZUNvbHVtblNpemVNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtUaGVFZGl0b3JDb21wb25lbnQsIFRoZVRvb2xiYXJDb21wb25lbnQsIFRoZVRvb2xiYXJEcm9wZG93bkNvbXBvbmVudCwgVGhlVG9vbGJhckl0ZW1Db21wb25lbnQsIFRoZURlZmF1bHRFbGVtZW50Q29tcG9uZW50XSxcbiAgICBlbnRyeUNvbXBvbmVudHM6IFsuLi5DT01QT05FTlRTLCAuLi5QTFVHSU5fQ09NUE9ORU5UU10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRoZVRvb2xiYXJHcm91cFRva2VuLFxuICAgICAgICAgICAgdXNlVmFsdWU6IFRoZVRvb2xiYXJHcm91cENvbXBvbmVudFxuICAgICAgICB9LFxuICAgICAgICBUSEVfQ09ERV9NT0RFX1BST1ZJREVSXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUaGVFZGl0b3JNb2R1bGUge31cbiJdfQ==
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy9lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsd0JB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QW1CLGFBQ3hGLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLDJCQUEyQixFQUFFLHVCQUF1QixFQUFFLDBCQUEwQjs2R0FVMUgsZUFBZSxhQVJiO1FBQ1A7WUFDSSxPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLFFBQVEsRUFBRSx3QkFBd0I7U0FDckM7UUFDRCxzQkFBc0I7S0FDekIsWUFUUSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEdBQUcsTUFBTSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDOzJGQVcxRixlQUFlO2tCQWIzQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsVUFBVSxFQUFFLEdBQUcsaUJBQWlCLENBQUM7b0JBQ2pGLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEdBQUcsTUFBTSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDO29CQUNuRyxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSwyQkFBMkIsRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsQ0FBQztvQkFDcEksZUFBZSxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztvQkFDdEQsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxvQkFBb0I7NEJBQzdCLFFBQVEsRUFBRSx3QkFBd0I7eUJBQ3JDO3dCQUNELHNCQUFzQjtxQkFDekI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2xhdGVNb2R1bGUgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IFRoZVRleHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVEZWZhdWx0RWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbGVtZW50L2VsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRvb2xiYXJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyLWRyb3Bkb3duL3Rvb2xiYXItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXItaXRlbS90b29sYmFyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE5hdlNwbGl0TGluZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9uYXYtc3BsaXQtbGluZS9uYXYtc3BsaXQtbGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGVtcGxhdGUvdGVtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUhyQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2hyL2hyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVCbG9ja3F1b3RlQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2Jsb2NrcXVvdGUvYmxvY2txdW90ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9kb0l0ZW1Db21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdG9kby1pdGVtL3RvZG8taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvbGlzdC9jb21wb25lbnRzL2xpc3QtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQnVsbGV0ZWRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2xpc3QvY29tcG9uZW50cy9idWxsZXRlZC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVOdW1iZXJlZExpc3RDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvbGlzdC9jb21wb25lbnRzL251bWJlcmVkLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEVsZW1lbnRTdHlsZVBpcGUsIEVsZW1lbnRDbGFzc1BpcGUgfSBmcm9tICcuL3BpcGVzJztcblxuaW1wb3J0IHsgVGh5TmF2TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9uYXYnO1xuaW1wb3J0IHsgVGh5SWNvbk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlQcm9ncmVzc01vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvcHJvZ3Jlc3MnO1xuaW1wb3J0IHsgVGh5Rm9ybU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvZm9ybSc7XG5pbXBvcnQgeyBUaHlUb29sdGlwTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy90b29sdGlwJztcbmltcG9ydCB7IFRoeUF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IFRoeUF2YXRhck1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYXZhdGFyJztcbmltcG9ydCB7IFRoeVNoYXJlZE1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvc2hhcmVkJztcbmltcG9ydCB7IFRoeUxpc3RNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2xpc3QnO1xuaW1wb3J0IHsgVGh5QWN0aW9uTWVudU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYWN0aW9uLW1lbnUnO1xuaW1wb3J0IHsgVGh5SW5wdXRNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2lucHV0JztcbmltcG9ydCB7IFRoeVNlbGVjdE1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvc2VsZWN0JztcbmltcG9ydCB7IFRoeUJ1dHRvbk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYnV0dG9uJztcbmltcG9ydCB7IFRoeU5vdGlmeU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvbm90aWZ5JztcbmltcG9ydCB7IFRoeUFsZXJ0TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9hbGVydCc7XG5pbXBvcnQgeyBUaGVDb2xvclNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb2xvci1zZWxlY3QvY29sb3Itc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVDb2xvclRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2NvbG9yL3Rvb2xiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQ29kZUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9jb2RlL2NvZGUuY29tcG9uZW50JztcbmltcG9ydCB7IENvZGVtaXJyb3JNb2R1bGUgfSBmcm9tICduZy1jb2RlbWlycm9yJztcbmltcG9ydCB7IFRoZUxpbmtDb21wb25lbnQsIFRoZVJlYWRvbmx5TGlua0NvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9saW5rL2xpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUxpbmtFZGl0Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2xpbmsvZWRpdC9saW5rLWVkaXQuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUxpbmtIb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9saW5rL2hvdmVyL2xpbmstaG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRhYmxlVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3Rvb2xiYXIvdGFibGUtdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdGFibGUvY29tcG9uZW50cy90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGFibGVSb3dDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdGFibGUvY29tcG9uZW50cy9yb3cvcm93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUZENvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3RkL3RkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb250ZXh0bWVudS9jb250ZXh0bWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQ29sdW1uU2l6ZU1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb2x1bW4tcmVzaXplL2NvbHVtbi1yZXNpemUubW9kdWxlJztcbmltcG9ydCB7IFRoZUluc2VydE1hcmtDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdGFibGUvY29tcG9uZW50cy9pbnNlcnQtbWFyay9pbnNlcnQtbWFyay5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXItZ3JvdXAvdG9vbGJhci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckdyb3VwVG9rZW4gfSBmcm9tICcuL2NvbnN0YW50cy90b29sYmFyJztcbmltcG9ydCB7IFRoZVRhYmxlU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLXNlbGVjdC90YWJsZS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRhYmxlVG9vbGJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdGFibGUvdG9vbGJhci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVDb252ZXJzaW9uSGludENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb252ZXJzaW9uLWhpbnQvY29udmVyc2lvbi1oaW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVWZXJ0aWNhbFRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3ZlcnRpY2FsLWFsaWduL3Rvb2xiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVEhFX0NPREVfTU9ERV9QUk9WSURFUiB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRoZUlubGluZVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5saW5lLXRvb2xiYXIvaW5saW5lLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVF1aWNrVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9xdWljay1pbnNlcnQvY29tcG9uZW50cy9xdWljay10b29sYmFyL3F1aWNrLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVF1aWNrSW5zZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3F1aWNrLWluc2VydC9jb21wb25lbnRzL3F1aWNrLWluc2VydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5UmVzaXphYmxlTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9yZXNpemFibGUnO1xuaW1wb3J0IHsgVGh5U3dpdGNoTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9zd2l0Y2gnO1xuaW1wb3J0IHsgVGhlSW5saW5lQ29kZUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9pbmxpbmUtY29kZS9pbmxpbmUtY29kZS5jb21wb25lbnQnO1xuXG5jb25zdCBURVRIWVMgPSBbXG4gICAgVGh5SWNvbk1vZHVsZSxcbiAgICBUaHlBdmF0YXJNb2R1bGUsXG4gICAgVGh5TmF2TW9kdWxlLFxuICAgIFRoeUZvcm1Nb2R1bGUsXG4gICAgVGh5U2hhcmVkTW9kdWxlLFxuICAgIFRoeUxpc3RNb2R1bGUsXG4gICAgVGh5VG9vbHRpcE1vZHVsZSxcbiAgICBUaHlQcm9ncmVzc01vZHVsZSxcbiAgICBUaHlBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgVGh5QWN0aW9uTWVudU1vZHVsZSxcbiAgICBUaHlJbnB1dE1vZHVsZSxcbiAgICBUaHlTZWxlY3RNb2R1bGUsXG4gICAgVGh5QnV0dG9uTW9kdWxlLFxuICAgIFRoeU5vdGlmeU1vZHVsZSxcbiAgICBUaHlBbGVydE1vZHVsZSxcbiAgICBUaHlSZXNpemFibGVNb2R1bGUsXG4gICAgVGh5U3dpdGNoTW9kdWxlXG5dO1xuXG5leHBvcnQgY29uc3QgQ09NUE9ORU5UUyA9IFtcbiAgICBUaGVUb29sYmFyQ29tcG9uZW50LFxuICAgIFRoZVRvb2xiYXJEcm9wZG93bkNvbXBvbmVudCxcbiAgICBUaGVUb29sYmFyR3JvdXBDb21wb25lbnQsXG4gICAgVGhlVG9vbGJhckl0ZW1Db21wb25lbnQsXG4gICAgVGhlSW5saW5lVG9vbGJhckNvbXBvbmVudCxcbiAgICBOYXZTcGxpdExpbmVDb21wb25lbnQsXG4gICAgVGhlVGV4dENvbXBvbmVudCxcbiAgICBUaGVEZWZhdWx0RWxlbWVudENvbXBvbmVudCxcbiAgICBUaGVRdWlja0luc2VydENvbXBvbmVudCxcbiAgICBUaGVRdWlja1Rvb2xiYXJDb21wb25lbnQsXG4gICAgVGhlQ29sb3JTZWxlY3RDb21wb25lbnQsXG4gICAgVGhlQ29sb3JUb29sYmFySXRlbUNvbXBvbmVudCxcbiAgICBUaGVDb250ZXh0TWVudUNvbXBvbmVudCxcbiAgICBUaGVJbnNlcnRNYXJrQ29tcG9uZW50LFxuICAgIFRoZVRhYmxlU2VsZWN0Q29tcG9uZW50LFxuICAgIFRoZVRhYmxlVG9vbGJhckl0ZW1Db21wb25lbnQsXG4gICAgVGhlQ29udmVyc2lvbkhpbnRDb21wb25lbnQsXG4gICAgVGhlVmVydGljYWxUb29sYmFySXRlbUNvbXBvbmVudFxuXTtcblxuZXhwb3J0IGNvbnN0IFBMVUdJTl9DT01QT05FTlRTID0gW1xuICAgIFRoZUltYWdlQ29tcG9uZW50LFxuICAgIFRoZVRlbXBsYXRlQ29tcG9uZW50LFxuICAgIFRoZUhyQ29tcG9uZW50LFxuICAgIFRoZUJsb2NrcXVvdGVDb21wb25lbnQsXG4gICAgVGhlVG9kb0l0ZW1Db21wb25lbnQsXG4gICAgVGhlTGlzdEl0ZW1Db21wb25lbnQsXG4gICAgVGhlQnVsbGV0ZWRMaXN0Q29tcG9uZW50LFxuICAgIFRoZU51bWJlcmVkTGlzdENvbXBvbmVudCxcbiAgICBUaGVDb2RlQ29tcG9uZW50LFxuICAgIFRoZUxpbmtDb21wb25lbnQsXG4gICAgVGhlUmVhZG9ubHlMaW5rQ29tcG9uZW50LFxuICAgIFRoZUxpbmtFZGl0Q29tcG9uZW50LFxuICAgIFRoZUxpbmtIb3ZlckNvbXBvbmVudCxcbiAgICBUaGVUYWJsZVRvb2xiYXJDb21wb25lbnQsXG4gICAgVGhlVGFibGVDb21wb25lbnQsXG4gICAgVGhlVGFibGVSb3dDb21wb25lbnQsXG4gICAgVGhlVGRDb21wb25lbnQsXG4gICAgVGhlSW5saW5lQ29kZUNvbXBvbmVudFxuXTtcblxuY29uc3QgUElQRVMgPSBbRWxlbWVudFN0eWxlUGlwZSwgRWxlbWVudENsYXNzUGlwZV07XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbVGhlRWRpdG9yQ29tcG9uZW50LCAuLi5QSVBFUywgLi4uQ09NUE9ORU5UUywgLi4uUExVR0lOX0NPTVBPTkVOVFNdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNsYXRlTW9kdWxlLCBGb3Jtc01vZHVsZSwgLi4uVEVUSFlTLCBDb2RlbWlycm9yTW9kdWxlLCBUaGVDb2x1bW5TaXplTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbVGhlRWRpdG9yQ29tcG9uZW50LCBUaGVUb29sYmFyQ29tcG9uZW50LCBUaGVUb29sYmFyRHJvcGRvd25Db21wb25lbnQsIFRoZVRvb2xiYXJJdGVtQ29tcG9uZW50LCBUaGVEZWZhdWx0RWxlbWVudENvbXBvbmVudF0sXG4gICAgZW50cnlDb21wb25lbnRzOiBbLi4uQ09NUE9ORU5UUywgLi4uUExVR0lOX0NPTVBPTkVOVFNdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUaGVUb29sYmFyR3JvdXBUb2tlbixcbiAgICAgICAgICAgIHVzZVZhbHVlOiBUaGVUb29sYmFyR3JvdXBDb21wb25lbnRcbiAgICAgICAgfSxcbiAgICAgICAgVEhFX0NPREVfTU9ERV9QUk9WSURFUlxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGhlRWRpdG9yTW9kdWxlIHt9XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1mb3JtYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvaW50ZXJmYWNlcy9hdXRvLWZvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9Gb3JtYXRSdWxlIHtcbiAgICAvKipcbiAgICAgKiBUcmlnZ2VyaW5nIGNoYXJhY3RlciB0byBhdXRvZm9ybWF0LiBEZWZhdWx0IGlzIHNwYWNlLlxuICAgICAqL1xuICAgIHRyaWdnZXI/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIEJsb2NrIHR5cGUgdG8gYXV0b2Zvcm1hdC5cbiAgICAgKi9cbiAgICB0eXBlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBPbmUgb3IgbW9yZSBtYXJrdXAgdGhhdCBzaG91bGQgYmUgYmVmb3JlIHRoZSB0cmlnZ2VyaW5nIGNoYXJhY3RlciB0byBhdXRvZm9ybWF0LlxuICAgICAqL1xuICAgIG1hcmt1cD86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gICAgbWF0Y2g/OiAoZWRpdG9yOiBFZGl0b3IsIG1hcmt1cDogc3RyaW5nIHwgc3RyaW5nW10pID0+IGFueTtcblxuICAgIC8qKlxuICAgICAqIExvb2t1cCBmb3IgYSByYW5nZSBiZXR3ZWVuIHR3byBzdHJpbmdzIGJlZm9yZSBhIGxvY2F0aW9uLlxuICAgICAqL1xuICAgIGJldHdlZW4/OiBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIGNhbGxlZCBiZWZvcmUgZm9ybWF0dGluZy5cbiAgICAgKiBHZW5lcmFsbHkgdXNlZCB0byByZXNldCB0aGUgc2VsZWN0ZWQgYmxvY2suXG4gICAgICovXG4gICAgcHJlRm9ybWF0PzogKGVkaXRvcjogRWRpdG9yKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIGZvcm1hdHRpbmcgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZm9ybWF0PzogKGVkaXRvcjogRWRpdG9yLCBtYXJrdXBzPzogc3RyaW5nW10pID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiAtIGJsb2NrIChkZWZhdWx0KSDigJMgc2V0L2luc2VydCBibG9jay4gU2hvdWxkIGJlIHVzZWQgd2l0aCBgbWFya3VwYC5cbiAgICAgKiAtIGlubGluZSDigJMgaW5zZXJ0IG1hcmsgYmV0d2VlbiBtYXJrdXBzLiBTaG91bGQgYmUgdXNlZCB3aXRoIGBiZXR3ZWVuYC5cbiAgICAgKi9cbiAgICBtb2RlPzogJ2Jsb2NrJyB8ICdpbmxpbmUnO1xuXG4gICAgLyoqXG4gICAgICogV2hlbiB1c2luZyBgaW5saW5lYCBtb2RlIOKAkyBpZiBmYWxzZSwgZG8gbm90IGZvcm1hdCB3aGVuIHRoZSBzdHJpbmcgY2FuIGJlIHRyaW1tZWQuXG4gICAgICovXG4gICAgaWdub3JlVHJpbT86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCBpbnNlcnQgdGhlIHRyaWdnZXJpbmcgY2hhcmFjdGVyIGFmdGVyIGF1dG9mb3JtYXR0aW5nLlxuICAgICAqL1xuICAgIGluc2VydFRyaWdnZXI/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogSWYgdHJ1ZSwgYWxsb3cgdG8gYXV0b2Zvcm1hdCBldmVuIGlmIHRoZXJlIGlzIGEgYmxvY2sgb2YgdGhlIHNhbWUgdHlwZSBhYm92ZSB0aGUgc2VsZWN0ZWQgYmxvY2suXG4gICAgICogU2hvdWxkIGJlIHVzZWQgd2l0aCAnYmxvY2snIG1vZGUuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAgICovXG4gICAgYWxsb3dTYW1lVHlwZUFib3ZlPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoZSB0cmlnZ2VyIHNob3VsZCBiZSBhdCBibG9jayBzdGFydCB0byBhbGxvdyBhdXRvZm9ybWF0dGluZy5cbiAgICAgKiBTaG91bGQgYmUgdXNlZCB3aXRoICdibG9jaycgbW9kZS5cbiAgICAgKiBEZWZhdWx0IGlzIHRydWUuXG4gICAgICovXG4gICAgdHJpZ2dlckF0QmxvY2tTdGFydD86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBRdWVyeSB0byBhbGxvdyBhdXRvZm9ybWF0LlxuICAgICAqL1xuICAgIHF1ZXJ5PzogKGVkaXRvcjogRWRpdG9yLCBydWxlOiBPbWl0PEF1dG9Gb3JtYXRSdWxlLCAncXVlcnknPikgPT4gYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaXRoQXV0b0Zvcm1hdE9wdGlvbnMge1xuICAgIC8qKlxuICAgICAqIEEgbGlzdCBvZiB0cmlnZ2VyaW5nIHJ1bGVzLlxuICAgICAqL1xuICAgIHJ1bGVzOiBBdXRvRm9ybWF0UnVsZVtdO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1mb3JtYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvaW50ZXJmYWNlcy9hdXRvLWZvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9Gb3JtYXRSdWxlIHtcbiAgICAvKipcbiAgICAgKiBUcmlnZ2VyaW5nIGNoYXJhY3RlciB0byBhdXRvZm9ybWF0LiBEZWZhdWx0IGlzIHNwYWNlLlxuICAgICAqL1xuICAgIHRyaWdnZXI/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIEJsb2NrIHR5cGUgdG8gYXV0b2Zvcm1hdC5cbiAgICAgKi9cbiAgICB0eXBlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBPbmUgb3IgbW9yZSBtYXJrdXAgdGhhdCBzaG91bGQgYmUgYmVmb3JlIHRoZSB0cmlnZ2VyaW5nIGNoYXJhY3RlciB0byBhdXRvZm9ybWF0LlxuICAgICAqL1xuICAgIG1hcmt1cD86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gICAgbWF0Y2g/OiAoZWRpdG9yOiBFZGl0b3IsIG1hcmt1cDogc3RyaW5nIHwgc3RyaW5nW10pID0+IGFueTtcblxuICAgIC8qKlxuICAgICAqIExvb2t1cCBmb3IgYSByYW5nZSBiZXR3ZWVuIHR3byBzdHJpbmdzIGJlZm9yZSBhIGxvY2F0aW9uLlxuICAgICAqL1xuICAgIGJldHdlZW4/OiBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIGNhbGxlZCBiZWZvcmUgZm9ybWF0dGluZy5cbiAgICAgKiBHZW5lcmFsbHkgdXNlZCB0byByZXNldCB0aGUgc2VsZWN0ZWQgYmxvY2suXG4gICAgICovXG4gICAgcHJlRm9ybWF0PzogKGVkaXRvcjogRWRpdG9yKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIGZvcm1hdHRpbmcgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZm9ybWF0PzogKGVkaXRvcjogRWRpdG9yLCBtYXJrdXA6IHN0cmluZyB8IHN0cmluZ1tdKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogLSBibG9jayAoZGVmYXVsdCkg4oCTIHNldC9pbnNlcnQgYmxvY2suIFNob3VsZCBiZSB1c2VkIHdpdGggYG1hcmt1cGAuXG4gICAgICogLSBpbmxpbmUg4oCTIGluc2VydCBtYXJrIGJldHdlZW4gbWFya3Vwcy4gU2hvdWxkIGJlIHVzZWQgd2l0aCBgYmV0d2VlbmAuXG4gICAgICovXG4gICAgbW9kZT86ICdibG9jaycgfCAnaW5saW5lJztcblxuICAgIC8qKlxuICAgICAqIFdoZW4gdXNpbmcgYGlubGluZWAgbW9kZSDigJMgaWYgZmFsc2UsIGRvIG5vdCBmb3JtYXQgd2hlbiB0aGUgc3RyaW5nIGNhbiBiZSB0cmltbWVkLlxuICAgICAqL1xuICAgIGlnbm9yZVRyaW0/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogSWYgdHJ1ZSwgaW5zZXJ0IHRoZSB0cmlnZ2VyaW5nIGNoYXJhY3RlciBhZnRlciBhdXRvZm9ybWF0dGluZy5cbiAgICAgKi9cbiAgICBpbnNlcnRUcmlnZ2VyPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIGFsbG93IHRvIGF1dG9mb3JtYXQgZXZlbiBpZiB0aGVyZSBpcyBhIGJsb2NrIG9mIHRoZSBzYW1lIHR5cGUgYWJvdmUgdGhlIHNlbGVjdGVkIGJsb2NrLlxuICAgICAqIFNob3VsZCBiZSB1c2VkIHdpdGggJ2Jsb2NrJyBtb2RlLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgICAqL1xuICAgIGFsbG93U2FtZVR5cGVBYm92ZT86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGUgdHJpZ2dlciBzaG91bGQgYmUgYXQgYmxvY2sgc3RhcnQgdG8gYWxsb3cgYXV0b2Zvcm1hdHRpbmcuXG4gICAgICogU2hvdWxkIGJlIHVzZWQgd2l0aCAnYmxvY2snIG1vZGUuXG4gICAgICogRGVmYXVsdCBpcyB0cnVlLlxuICAgICAqL1xuICAgIHRyaWdnZXJBdEJsb2NrU3RhcnQ/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogUXVlcnkgdG8gYWxsb3cgYXV0b2Zvcm1hdC5cbiAgICAgKi9cbiAgICBxdWVyeT86IChlZGl0b3I6IEVkaXRvciwgcnVsZTogT21pdDxBdXRvRm9ybWF0UnVsZSwgJ3F1ZXJ5Jz4pID0+IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2l0aEF1dG9Gb3JtYXRPcHRpb25zIHtcbiAgICAvKipcbiAgICAgKiBBIGxpc3Qgb2YgdHJpZ2dlcmluZyBydWxlcy5cbiAgICAgKi9cbiAgICBydWxlczogQXV0b0Zvcm1hdFJ1bGVbXTtcbn1cbiJdfQ==
@@ -5,4 +5,4 @@ export var TheDataMode;
5
5
  TheDataMode["json"] = "json";
6
6
  TheDataMode["html"] = "html";
7
7
  })(TheDataMode || (TheDataMode = {}));
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2ludGVyZmFjZXMvZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQVksTUFBTSxlQUFlLENBQUM7QUFpQnhELE1BQU0sQ0FBQyxNQUFNLFNBQVMscUJBQ2YsYUFBYSxDQUNuQixDQUFDO0FBTUYsTUFBTSxDQUFOLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNuQiw0QkFBYSxDQUFBO0lBQ2IsNEJBQWEsQ0FBQTtBQUNqQixDQUFDLEVBSFcsV0FBVyxLQUFYLFdBQVcsUUFHdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmNlc3RvciwgUmFuZ2UsIFBhdGgsIFBvaW50LCBOb2RlLCBTcGFuLCBOb2RlRW50cnksIEVkaXRvciwgRWxlbWVudCwgVGV4dCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IsIFZpZXdUeXBlIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBIaXN0b3J5RWRpdG9yIH0gZnJvbSAnc2xhdGUtaGlzdG9yeSc7XG5pbXBvcnQgeyBFbGVtZW50T3B0aW9uc0luZm8gfSBmcm9tICcuL3ZhbGlkLWNoaWxkcmVuLXR5cGVzJztcbmltcG9ydCB7IFByZWRpY2F0ZSB9IGZyb20gJy4uL3V0aWxzL21hdGNoJztcbmltcG9ydCB7IFRvb2xiYXJPcHRpb24gfSBmcm9tICcuL3Rvb2xiYXInO1xuaW1wb3J0IHsgRm9udFNpemVzIH0gZnJvbSAnLi4vY29uc3RhbnRzL25vZGUtdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRoZUVkaXRvciBleHRlbmRzIEFuZ3VsYXJFZGl0b3IsIEhpc3RvcnlFZGl0b3Ige1xuICAgIHJlbmRlckVsZW1lbnQ6IChlbGVtZW50OiBFbGVtZW50KSA9PiBWaWV3VHlwZTtcbiAgICByZW5kZXJMZWFmOiAodGV4dDogVGV4dCkgPT4gVmlld1R5cGU7XG4gICAgaW5zZXJ0RWxlbWVudDogKGVsZW1lbnQ6IEVsZW1lbnQpID0+IHZvaWQ7XG4gICAgaXNDb250YWluZXI6IChlbGVtZW50OiBFbGVtZW50KSA9PiBib29sZWFuO1xuICAgIGV4dHJhRWxlbWVudE9wdGlvbnM6IEVsZW1lbnRPcHRpb25zSW5mb1tdO1xuICAgIGRpc2FibGVkOiBib29sZWFuO1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGNvbnN0IFRoZUVkaXRvciA9IHtcbiAgICAuLi5Bbmd1bGFyRWRpdG9yXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRoZVBsdWdpbiB7XG4gICAgKGVkaXRvcjogRWRpdG9yKTogRWRpdG9yO1xufVxuXG5leHBvcnQgZW51bSBUaGVEYXRhTW9kZSB7XG4gICAganNvbiA9ICdqc29uJyxcbiAgICBodG1sID0gJ2h0bWwnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlT3B0aW9ucyB7XG4gICAgcmVhZG9ubHk/OiBib29sZWFuO1xuICAgIG1vZGU/OiBUaGVEYXRhTW9kZTtcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgYXV0b0ZvY3VzPzogYm9vbGVhbjtcbiAgICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICBpc0VtcHR5U2hvd1BsYWNlaG9sZGVyPzogYm9vbGVhbjtcbiAgICBpc011c3RTaG93UGxhY2Vob2xkZXI/OiBib29sZWFuO1xuICAgIHNjcm9sbENvbnRhaW5lcj86IHN0cmluZztcbiAgICBtYXhIZWlnaHQ/OiBudW1iZXI7XG4gICAgZm9udFNpemU/OiBGb250U2l6ZXM7XG4gICAgdG9vbGJhcj86IFRvb2xiYXJPcHRpb247XG4gICAgZGlzYWJsZVBsdWdpbnM/OiBzdHJpbmdbXTtcbiAgICBleHRyYUVsZW1lbnRPcHRpb25zPzogRWxlbWVudE9wdGlvbnNJbmZvW107XG59XG5cbmV4cG9ydCB0eXBlIE5vZGVNYXRjaDxUID0gTm9kZT4gPSBQcmVkaWNhdGU8VD47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWF0Y2hPcHRpb25zPFQgPSBOb2RlPiB7XG4gICAgbWF0Y2g/OiBOb2RlTWF0Y2g8VD47XG4gICAgYmxvY2s/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVkaXRvckFib3ZlT3B0aW9uczxUID0gQW5jZXN0b3I+IGV4dGVuZHMgTWF0Y2hPcHRpb25zPFQ+IHtcbiAgICBhdD86IFJhbmdlIHwgUGF0aCB8IFBvaW50O1xuICAgIG1vZGU/OiAnaGlnaGVzdCcgfCAnbG93ZXN0JztcbiAgICB2b2lkcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yTm9kZXNPcHRpb25zIHtcbiAgICBhdD86IFJhbmdlIHwgUGF0aCB8IFBvaW50IHwgU3BhbjtcbiAgICBtYXRjaD86IChub2RlOiBOb2RlKSA9PiBib29sZWFuO1xuICAgIG1vZGU/OiAnaGlnaGVzdCcgfCAnbG93ZXN0JyB8ICdhbGwnO1xuICAgIHVuaXZlcnNhbD86IGJvb2xlYW47XG4gICAgcmV2ZXJzZT86IGJvb2xlYW47XG4gICAgdm9pZHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdyYXBPcHRpb25zIHtcbiAgICBhdD86IFBhdGggfCBQb2ludCB8IFJhbmdlO1xuICAgIG1hdGNoPzogKG5vZGU6IE5vZGUpID0+IGJvb2xlYW47XG4gICAgbW9kZT86ICdoaWdoZXN0JyB8ICdsb3dlc3QnIHwgJ2FsbCc7XG4gICAgc3BsaXQ/OiBib29sZWFuO1xuICAgIHZvaWRzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZGl0b3JQYXJlbnRPcHRpb25zIHtcbiAgICBkZXB0aD86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBlZGdlPzogJ3N0YXJ0JyB8ICdlbmQnIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5T3B0aW9ucyB7XG4gICAgLy8gQ29uZGl0aW9uIG9uIHRoZSBub2RlIHRvIGJlIHZhbGlkLlxuICAgIGZpbHRlcj86IChlbnRyeTogTm9kZUVudHJ5PE5vZGU+KSA9PiBib29sZWFuO1xuICAgIC8vIExpc3Qgb2YgdHlwZXMgdGhhdCBhcmUgdmFsaWQuIElmIGVtcHR5IG9yIHVuZGVmaW5lZCAtIGFsbG93IGFsbC5cbiAgICBhbGxvdz86IHN0cmluZ1tdO1xuICAgIC8vIExpc3Qgb2YgdHlwZXMgdGhhdCBhcmUgaW52YWxpZC5cbiAgICBleGNsdWRlPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9tRXZlbnREYXRhSW5mbyB7XG4gICAgaW5wdXRUeXBlPzogc3RyaW5nO1xuICAgIGtleT86IHN0cmluZztcbiAgICB0ZXh0Pzogc3RyaW5nO1xuICAgIGpzb24/OiBOb2RlW107XG59XG4iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2ludGVyZmFjZXMvZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQThCLE1BQU0sZUFBZSxDQUFDO0FBaUIxRSxNQUFNLENBQUMsTUFBTSxTQUFTLHFCQUNmLGFBQWEsQ0FDbkIsQ0FBQztBQU1GLE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDbkIsNEJBQWEsQ0FBQTtJQUNiLDRCQUFhLENBQUE7QUFDakIsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jZXN0b3IsIFJhbmdlLCBQYXRoLCBQb2ludCwgTm9kZSwgU3BhbiwgTm9kZUVudHJ5LCBFZGl0b3IsIEVsZW1lbnQsIFRleHQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yLCBTbGF0ZVBsYWNlaG9sZGVyLCBWaWV3VHlwZSB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgSGlzdG9yeUVkaXRvciB9IGZyb20gJ3NsYXRlLWhpc3RvcnknO1xuaW1wb3J0IHsgRWxlbWVudE9wdGlvbnNJbmZvIH0gZnJvbSAnLi92YWxpZC1jaGlsZHJlbi10eXBlcyc7XG5pbXBvcnQgeyBQcmVkaWNhdGUgfSBmcm9tICcuLi91dGlscy9tYXRjaCc7XG5pbXBvcnQgeyBUb29sYmFyT3B0aW9uIH0gZnJvbSAnLi90b29sYmFyJztcbmltcG9ydCB7IEZvbnRTaXplcyB9IGZyb20gJy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBUaGVFZGl0b3IgZXh0ZW5kcyBBbmd1bGFyRWRpdG9yLCBIaXN0b3J5RWRpdG9yIHtcbiAgICByZW5kZXJFbGVtZW50OiAoZWxlbWVudDogRWxlbWVudCkgPT4gVmlld1R5cGU7XG4gICAgcmVuZGVyTGVhZjogKHRleHQ6IFRleHQpID0+IFZpZXdUeXBlO1xuICAgIGluc2VydEVsZW1lbnQ6IChlbGVtZW50OiBFbGVtZW50KSA9PiB2b2lkO1xuICAgIGlzQ29udGFpbmVyOiAoZWxlbWVudDogRWxlbWVudCkgPT4gYm9vbGVhbjtcbiAgICBleHRyYUVsZW1lbnRPcHRpb25zOiBFbGVtZW50T3B0aW9uc0luZm9bXTtcbiAgICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBjb25zdCBUaGVFZGl0b3IgPSB7XG4gICAgLi4uQW5ndWxhckVkaXRvclxufTtcblxuZXhwb3J0IGludGVyZmFjZSBUaGVQbHVnaW4ge1xuICAgIChlZGl0b3I6IEVkaXRvcik6IEVkaXRvcjtcbn1cblxuZXhwb3J0IGVudW0gVGhlRGF0YU1vZGUge1xuICAgIGpzb24gPSAnanNvbicsXG4gICAgaHRtbCA9ICdodG1sJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoZU9wdGlvbnMge1xuICAgIHJlYWRvbmx5PzogYm9vbGVhbjtcbiAgICBtb2RlPzogVGhlRGF0YU1vZGU7XG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAgIGF1dG9Gb2N1cz86IGJvb2xlYW47XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgcGxhY2Vob2xkZXJEZWNvcmF0ZT86IChlZGl0b3I6IEVkaXRvcikgPT4gU2xhdGVQbGFjZWhvbGRlcltdO1xuICAgIHF1aWNrSW5zZXJ0VmlzaWJsZT86IGJvb2xlYW47XG4gICAgc2Nyb2xsQ29udGFpbmVyPzogc3RyaW5nO1xuICAgIG1heEhlaWdodD86IG51bWJlcjtcbiAgICBmb250U2l6ZT86IEZvbnRTaXplcztcbiAgICB0b29sYmFyPzogVG9vbGJhck9wdGlvbjtcbiAgICBkaXNhYmxlUGx1Z2lucz86IHN0cmluZ1tdO1xuICAgIGV4dHJhRWxlbWVudE9wdGlvbnM/OiBFbGVtZW50T3B0aW9uc0luZm9bXTtcbn1cblxuZXhwb3J0IHR5cGUgTm9kZU1hdGNoPFQgPSBOb2RlPiA9IFByZWRpY2F0ZTxUPjtcblxuZXhwb3J0IGludGVyZmFjZSBNYXRjaE9wdGlvbnM8VCA9IE5vZGU+IHtcbiAgICBtYXRjaD86IE5vZGVNYXRjaDxUPjtcbiAgICBibG9jaz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yQWJvdmVPcHRpb25zPFQgPSBBbmNlc3Rvcj4gZXh0ZW5kcyBNYXRjaE9wdGlvbnM8VD4ge1xuICAgIGF0PzogUmFuZ2UgfCBQYXRoIHwgUG9pbnQ7XG4gICAgbW9kZT86ICdoaWdoZXN0JyB8ICdsb3dlc3QnO1xuICAgIHZvaWRzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZGl0b3JOb2Rlc09wdGlvbnMge1xuICAgIGF0PzogUmFuZ2UgfCBQYXRoIHwgUG9pbnQgfCBTcGFuO1xuICAgIG1hdGNoPzogKG5vZGU6IE5vZGUpID0+IGJvb2xlYW47XG4gICAgbW9kZT86ICdoaWdoZXN0JyB8ICdsb3dlc3QnIHwgJ2FsbCc7XG4gICAgdW5pdmVyc2FsPzogYm9vbGVhbjtcbiAgICByZXZlcnNlPzogYm9vbGVhbjtcbiAgICB2b2lkcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV3JhcE9wdGlvbnMge1xuICAgIGF0PzogUGF0aCB8IFBvaW50IHwgUmFuZ2U7XG4gICAgbWF0Y2g/OiAobm9kZTogTm9kZSkgPT4gYm9vbGVhbjtcbiAgICBtb2RlPzogJ2hpZ2hlc3QnIHwgJ2xvd2VzdCcgfCAnYWxsJztcbiAgICBzcGxpdD86IGJvb2xlYW47XG4gICAgdm9pZHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVkaXRvclBhcmVudE9wdGlvbnMge1xuICAgIGRlcHRoPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGVkZ2U/OiAnc3RhcnQnIHwgJ2VuZCcgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlPcHRpb25zIHtcbiAgICAvLyBDb25kaXRpb24gb24gdGhlIG5vZGUgdG8gYmUgdmFsaWQuXG4gICAgZmlsdGVyPzogKGVudHJ5OiBOb2RlRW50cnk8Tm9kZT4pID0+IGJvb2xlYW47XG4gICAgLy8gTGlzdCBvZiB0eXBlcyB0aGF0IGFyZSB2YWxpZC4gSWYgZW1wdHkgb3IgdW5kZWZpbmVkIC0gYWxsb3cgYWxsLlxuICAgIGFsbG93Pzogc3RyaW5nW107XG4gICAgLy8gTGlzdCBvZiB0eXBlcyB0aGF0IGFyZSBpbnZhbGlkLlxuICAgIGV4Y2x1ZGU/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb21FdmVudERhdGFJbmZvIHtcbiAgICBpbnB1dFR5cGU/OiBzdHJpbmc7XG4gICAga2V5Pzogc3RyaW5nO1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gICAganNvbj86IE5vZGVbXTtcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9pbnRlcmZhY2VzL2VsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFsaWdubWVudCwgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuZXhwb3J0IHR5cGUgSGVhZGluZ0VsZW1lbnRLaW5kcyA9XG4gICAgfCBFbGVtZW50S2luZHMuaGVhZGluZ18xXG4gICAgfCBFbGVtZW50S2luZHMuaGVhZGluZ18yXG4gICAgfCBFbGVtZW50S2luZHMuaGVhZGluZ18zXG4gICAgfCBFbGVtZW50S2luZHMuaGVhZGluZ180XG4gICAgfCBFbGVtZW50S2luZHMuaGVhZGluZ181XG4gICAgfCBFbGVtZW50S2luZHMuaGVhZGluZ182O1xuXG5leHBvcnQgdHlwZSBCbG9ja0VsZW1lbnRLaW5kcyA9XG4gICAgfCBFbGVtZW50S2luZHMuaW1hZ2VcbiAgICB8IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGhcbiAgICB8IEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3RcbiAgICB8IEVsZW1lbnRLaW5kcy5idWxsZXRlZExpc3RcbiAgICB8IEVsZW1lbnRLaW5kcy5saXN0SXRlbVxuICAgIHwgRWxlbWVudEtpbmRzLmNoZWNrSXRlbVxuICAgIHwgRWxlbWVudEtpbmRzLnRhYmxlXG4gICAgfCBFbGVtZW50S2luZHMudGFibGVSb3dcbiAgICB8IEVsZW1lbnRLaW5kcy50YWJsZUNlbGxcbiAgICB8IEVsZW1lbnRLaW5kcy50YWJsZUNvbnRlbnRcbiAgICB8IEVsZW1lbnRLaW5kcy5jb2RlXG4gICAgfCBFbGVtZW50S2luZHMuYmxvY2txdW90ZVxuICAgIHwgRWxlbWVudEtpbmRzLmhyXG4gICAgfCBFbGVtZW50S2luZHMubGlua1xuICAgIHwgSGVhZGluZ0VsZW1lbnRLaW5kcztcblxuZXhwb3J0IHR5cGUgSW5saW5lRWxlbWVudEtpbmRzID0gRWxlbWVudEtpbmRzLmxpbms7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlQmxvY2tFbGVtZW50IHtcbiAgICBhbGlnbj86IEFsaWdubWVudDtcbiAgICB0ZXh0SW5kZW50PzogbnVtYmVyO1xuICAgIHR5cGU6IEJsb2NrRWxlbWVudEtpbmRzO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9pbnRlcmZhY2VzL2VsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFsaWdubWVudCwgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuZXhwb3J0IHR5cGUgSGVhZGluZ0VsZW1lbnRLaW5kcyA9XG4gICAgfCBFbGVtZW50S2luZHMuaGVhZGluZ18xXG4gICAgfCBFbGVtZW50S2luZHMuaGVhZGluZ18yXG4gICAgfCBFbGVtZW50S2luZHMuaGVhZGluZ18zXG4gICAgfCBFbGVtZW50S2luZHMuaGVhZGluZ180XG4gICAgfCBFbGVtZW50S2luZHMuaGVhZGluZ181XG4gICAgfCBFbGVtZW50S2luZHMuaGVhZGluZ182O1xuXG5leHBvcnQgdHlwZSBCbG9ja0VsZW1lbnRLaW5kcyA9XG4gICAgfCBFbGVtZW50S2luZHMuaW1hZ2VcbiAgICB8IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGhcbiAgICB8IEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3RcbiAgICB8IEVsZW1lbnRLaW5kcy5idWxsZXRlZExpc3RcbiAgICB8IEVsZW1lbnRLaW5kcy5saXN0SXRlbVxuICAgIHwgRWxlbWVudEtpbmRzLmNoZWNrSXRlbVxuICAgIHwgRWxlbWVudEtpbmRzLnRhYmxlXG4gICAgfCBFbGVtZW50S2luZHMudGFibGVSb3dcbiAgICB8IEVsZW1lbnRLaW5kcy50YWJsZUNlbGxcbiAgICB8IEVsZW1lbnRLaW5kcy50YWJsZUNvbnRlbnRcbiAgICB8IEVsZW1lbnRLaW5kcy5jb2RlXG4gICAgfCBFbGVtZW50S2luZHMuYmxvY2txdW90ZVxuICAgIHwgRWxlbWVudEtpbmRzLmhyXG4gICAgfCBFbGVtZW50S2luZHMubGlua1xuICAgIHwgRWxlbWVudEtpbmRzLmlubGluZUNvZGVcbiAgICB8IEhlYWRpbmdFbGVtZW50S2luZHM7XG5cbmV4cG9ydCB0eXBlIElubGluZUVsZW1lbnRLaW5kcyA9IEVsZW1lbnRLaW5kcy5saW5rO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRoZUJsb2NrRWxlbWVudCB7XG4gICAgYWxpZ24/OiBBbGlnbm1lbnQ7XG4gICAgdGV4dEluZGVudD86IG51bWJlcjtcbiAgICB0eXBlOiBCbG9ja0VsZW1lbnRLaW5kcztcbn1cbiJdfQ==
@@ -73,6 +73,7 @@ export const withAutoFormat = ({ rules }) => (editor) => {
73
73
  type,
74
74
  between,
75
75
  ignoreTrim,
76
+ format,
76
77
  markup: Array.isArray(markup) ? markup[0] : markup
77
78
  })) {
78
79
  return valid();
@@ -83,4 +84,4 @@ export const withAutoFormat = ({ rules }) => (editor) => {
83
84
  };
84
85
  return editor;
85
86
  };
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2Zvcm1hdC5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9hdXRvZm9ybWF0L2F1dG9mb3JtYXQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFTLE1BQU0sT0FBTyxDQUFDO0FBQ3RDLE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbkUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUN2QixDQUFDLEVBQUUsS0FBSyxFQUF5QixFQUFFLEVBQUUsQ0FDckMsQ0FBbUIsTUFBUyxFQUFFLEVBQUU7SUFDNUIsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUU5QixNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxFQUFFOztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDM0MsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDM0I7UUFFRCxLQUFLLElBQUEsRUFBd0IsSUFBSSxLQUFLLEVBQUU7WUFBbkMsTUFBTSxFQUFFLEtBQUssT0FBVyxFQUFOLElBQUksY0FBaEIsU0FBa0IsQ0FBQSxDQUFBO1lBQ3pCLE1BQU0sRUFDRixPQUFPLEdBQUcsR0FBRyxFQUNiLElBQUksR0FBRyxPQUFPLEVBQ2QsSUFBSSxFQUNKLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxPQUFPLEVBQ1AsVUFBVSxFQUNWLGFBQWEsRUFDYixrQkFBa0IsR0FBRyxLQUFLLEVBQzFCLG1CQUFtQixHQUFHLElBQUksRUFDN0IsR0FBRyxJQUFJLENBQUM7WUFFVCxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO2dCQUFFLFNBQVM7WUFFNUMsTUFBTSxRQUFRLEdBQWEsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRTlDLGdCQUFnQjtZQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQUUsU0FBUztZQUV2QyxNQUFNLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxhQUFhLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXRELElBQUksSUFBSSxLQUFLLE9BQU8sRUFBRTtnQkFDbEIsSUFBSSxPQUFPLEdBQWEsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLFdBQThCLENBQUM7Z0JBRW5DLElBQUksbUJBQW1CLEVBQUU7b0JBQ3JCLFdBQVcsR0FBRyxVQUFVLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFVLENBQUM7b0JBRWpFLDJDQUEyQztvQkFDM0MsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7d0JBQzVDLEVBQUUsRUFBRSxXQUFXO3dCQUNmLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztxQkFDdkMsQ0FBQyxDQUFDO29CQUNILElBQUksV0FBVzt3QkFBRSxTQUFTO29CQUUxQixNQUFNLGtCQUFrQixHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO29CQUNuRSxJQUFJLEtBQUssRUFBRTt3QkFDUCxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO3FCQUMvQztvQkFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQzt3QkFBRSxTQUFTO2lCQUN2RDtxQkFBTTtvQkFDSCxXQUFXLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFNBQWtCLEVBQUU7d0JBQ3ZFLFdBQVcsRUFBRSxNQUFNO3dCQUNuQixXQUFXLEVBQUUsSUFBSTtxQkFDcEIsQ0FBQyxDQUFDO29CQUNILElBQUksQ0FBQyxXQUFXO3dCQUFFLFNBQVM7b0JBRTNCLE1BQU0sY0FBYyxHQUFHLE1BQUEsVUFBVSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsMENBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQzdELElBQUksQ0FBQyxjQUFjO3dCQUFFLFNBQVM7b0JBRTlCLHlFQUF5RTtvQkFDekUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLEVBQUU7d0JBQzdELE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztxQkFDeEI7aUJBQ0o7Z0JBRUQsSUFBSSxDQUFDLGtCQUFrQixFQUFFO29CQUNyQiwyREFBMkQ7b0JBQzNELE1BQU0sb0JBQW9CLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQzlFLElBQUksb0JBQW9CO3dCQUFFLFNBQVM7aUJBQ3RDO2dCQUVELHFCQUFxQjtnQkFDckIsZUFBZSxDQUNYLE1BQU0sRUFDTixJQUFJLEVBQ0osV0FBVyxFQUNYO29CQUNJLFNBQVM7b0JBQ1QsTUFBTTtpQkFDVCxFQUNELE9BQU8sQ0FDVixDQUFDO2dCQUNGLE9BQU8sS0FBSyxFQUFFLENBQUM7YUFDbEI7WUFFRCxJQUFJLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQ25CLElBQ0ksZ0JBQWdCLENBQUMsTUFBTSxFQUFFO29CQUNyQixJQUFJO29CQUNKLE9BQU87b0JBQ1AsVUFBVTtvQkFDVixNQUFNLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO2lCQUNyRCxDQUFDLEVBQ0o7b0JBQ0UsT0FBTyxLQUFLLEVBQUUsQ0FBQztpQkFDbEI7YUFDSjtTQUNKO1FBRUQsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUMsQ0FBQztJQUVGLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgUmFuZ2UgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4uLy4uL3F1ZXJpZXMnO1xuaW1wb3J0IHsgY2FzdEFycmF5IH0gZnJvbSAnLi4vLi4vdXRpbHMvY2FzdC1hcnJheSc7XG5pbXBvcnQgeyBXaXRoQXV0b0Zvcm1hdE9wdGlvbnMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2F1dG8tZm9ybWF0JztcbmltcG9ydCB7IGF1dG9Gb3JtYXRCbG9jayB9IGZyb20gJy4vdHJhbnNmb3Jtcy9hdXRvLWZvcm1hdC1ibG9jayc7XG5pbXBvcnQgeyBhdXRvRm9ybWF0SW5saW5lIH0gZnJvbSAnLi90cmFuc2Zvcm1zL2F1dG8tZm9ybWF0LWlubGluZSc7XG5cbmV4cG9ydCBjb25zdCB3aXRoQXV0b0Zvcm1hdCA9XG4gICAgKHsgcnVsZXMgfTogV2l0aEF1dG9Gb3JtYXRPcHRpb25zKSA9PlxuICAgIDxUIGV4dGVuZHMgRWRpdG9yPihlZGl0b3I6IFQpID0+IHtcbiAgICAgICAgY29uc3QgeyBpbnNlcnRUZXh0IH0gPSBlZGl0b3I7XG5cbiAgICAgICAgZWRpdG9yLmluc2VydFRleHQgPSB0ZXh0ID0+IHtcbiAgICAgICAgICAgIGlmICghVGhlUXVlcmllcy5pc0NvbGxhcHNlZChlZGl0b3Iuc2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBpbnNlcnRUZXh0KHRleHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHsgcXVlcnksIC4uLnJ1bGUgfSBvZiBydWxlcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgICAgICAgICAgdHJpZ2dlciA9ICcgJyxcbiAgICAgICAgICAgICAgICAgICAgbW9kZSA9ICdibG9jaycsXG4gICAgICAgICAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICAgICAgICAgIG1hcmt1cCxcbiAgICAgICAgICAgICAgICAgICAgcHJlRm9ybWF0LFxuICAgICAgICAgICAgICAgICAgICBmb3JtYXQsXG4gICAgICAgICAgICAgICAgICAgIG1hdGNoLFxuICAgICAgICAgICAgICAgICAgICBiZXR3ZWVuLFxuICAgICAgICAgICAgICAgICAgICBpZ25vcmVUcmltLFxuICAgICAgICAgICAgICAgICAgICBpbnNlcnRUcmlnZ2VyLFxuICAgICAgICAgICAgICAgICAgICBhbGxvd1NhbWVUeXBlQWJvdmUgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgdHJpZ2dlckF0QmxvY2tTdGFydCA9IHRydWVcbiAgICAgICAgICAgICAgICB9ID0gcnVsZTtcblxuICAgICAgICAgICAgICAgIGlmIChxdWVyeSAmJiAhcXVlcnkoZWRpdG9yLCBydWxlKSkgY29udGludWU7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB0cmlnZ2Vyczogc3RyaW5nW10gPSBjYXN0QXJyYXkodHJpZ2dlcik7XG5cbiAgICAgICAgICAgICAgICAvLyBDaGVjayB0cmlnZ2VyXG4gICAgICAgICAgICAgICAgaWYgKCF0cmlnZ2Vycy5pbmNsdWRlcyh0ZXh0KSkgY29udGludWU7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB2YWxpZCA9ICgpID0+IGluc2VydFRyaWdnZXIgJiYgaW5zZXJ0VGV4dCh0ZXh0KTtcblxuICAgICAgICAgICAgICAgIGlmIChtb2RlID09PSAnYmxvY2snKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtYXJrdXBzOiBzdHJpbmdbXSA9IGNhc3RBcnJheShtYXJrdXApO1xuICAgICAgICAgICAgICAgICAgICBsZXQgbWFya3VwUmFuZ2U6IFJhbmdlIHwgdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0cmlnZ2VyQXRCbG9ja1N0YXJ0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJrdXBSYW5nZSA9IFRoZVF1ZXJpZXMuZ2V0UmFuZ2VGcm9tQmxvY2tTdGFydChlZGl0b3IpIGFzIFJhbmdlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBEb24ndCBhdXRvZm9ybWF0IGlmIHRoZXJlIGlzIHZvaWQgbm9kZXMuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBoYXNWb2lkTm9kZSA9IFRoZVF1ZXJpZXMuc29tZU5vZGUoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXQ6IG1hcmt1cFJhbmdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoOiBuID0+IEVkaXRvci5pc1ZvaWQoZWRpdG9yLCBuKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGFzVm9pZE5vZGUpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXh0RnJvbUJsb2NrU3RhcnQgPSBUaGVRdWVyaWVzLmdldFRleHQoZWRpdG9yLCBtYXJrdXBSYW5nZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJrdXBzID0gbWF0Y2goZWRpdG9yLCB0ZXh0RnJvbUJsb2NrU3RhcnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtYXJrdXBzLmluY2x1ZGVzKHRleHRGcm9tQmxvY2tTdGFydCkpIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFya3VwUmFuZ2UgPSBUaGVRdWVyaWVzLmdldFJhbmdlQmVmb3JlKGVkaXRvciwgZWRpdG9yLnNlbGVjdGlvbiBhcyBSYW5nZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoU3RyaW5nOiBtYXJrdXAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcEludmFsaWQ6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtYXJrdXBSYW5nZSkgY29udGludWU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrQWJvdmVQYXRoID0gVGhlUXVlcmllcy5nZXRCbG9ja0Fib3ZlKGVkaXRvcik/LlsxXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYmxvY2tBYm92ZVBhdGgpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgbWFya3VwIGlzIG5vdCBhdCB0aGUgc3RhcnQsIGluc2VydCBicmVhayBiZWZvcmUgYXV0b2Zvcm1hdHRpbmcuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIUVkaXRvci5pc1N0YXJ0KGVkaXRvciwgbWFya3VwUmFuZ2UuYW5jaG9yLCBibG9ja0Fib3ZlUGF0aCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3IuaW5zZXJ0QnJlYWsoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICghYWxsb3dTYW1lVHlwZUFib3ZlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBEb24ndCBhdXRvZm9ybWF0IGlmIGFscmVhZHkgaW4gYSBibG9jayBvZiB0aGUgc2FtZSB0eXBlLlxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNCZWxvd1NhbWVCbG9ja1R5cGUgPSBUaGVRdWVyaWVzLnNvbWVOb2RlKGVkaXRvciwgeyBtYXRjaDogeyB0eXBlIH0gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNCZWxvd1NhbWVCbG9ja1R5cGUpIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gU3RhcnQgb2YgdGhlIGJsb2NrXG4gICAgICAgICAgICAgICAgICAgIGF1dG9Gb3JtYXRCbG9jayhcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJrdXBSYW5nZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVGb3JtYXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFya3Vwc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsaWQoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAobW9kZSA9PT0gJ2lubGluZScpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0Zvcm1hdElubGluZShlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJldHdlZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlVHJpbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJrdXA6IEFycmF5LmlzQXJyYXkobWFya3VwKSA/IG1hcmt1cFswXSA6IG1hcmt1cFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsaWQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5zZXJ0VGV4dCh0ZXh0KTtcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gZWRpdG9yO1xuICAgIH07XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2Zvcm1hdC5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9hdXRvZm9ybWF0L2F1dG9mb3JtYXQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFTLE1BQU0sT0FBTyxDQUFDO0FBQ3RDLE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbkUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUN2QixDQUFDLEVBQUUsS0FBSyxFQUF5QixFQUFFLEVBQUUsQ0FDckMsQ0FBbUIsTUFBUyxFQUFFLEVBQUU7SUFDNUIsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUU5QixNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxFQUFFOztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDM0MsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDM0I7UUFFRCxLQUFLLElBQUEsRUFBd0IsSUFBSSxLQUFLLEVBQUU7WUFBbkMsTUFBTSxFQUFFLEtBQUssT0FBVyxFQUFOLElBQUksY0FBaEIsU0FBa0IsQ0FBQSxDQUFBO1lBQ3pCLE1BQU0sRUFDRixPQUFPLEdBQUcsR0FBRyxFQUNiLElBQUksR0FBRyxPQUFPLEVBQ2QsSUFBSSxFQUNKLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxPQUFPLEVBQ1AsVUFBVSxFQUNWLGFBQWEsRUFDYixrQkFBa0IsR0FBRyxLQUFLLEVBQzFC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QyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07aUJBQ3JELENBQUMsRUFDSjtvQkFDRSxPQUFPLEtBQUssRUFBRSxDQUFDO2lCQUNsQjthQUNKO1NBQ0o7UUFFRCxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBSYW5nZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBjYXN0QXJyYXkgfSBmcm9tICcuLi8uLi91dGlscy9jYXN0LWFycmF5JztcbmltcG9ydCB7IFdpdGhBdXRvRm9ybWF0T3B0aW9ucyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYXV0by1mb3JtYXQnO1xuaW1wb3J0IHsgYXV0b0Zvcm1hdEJsb2NrIH0gZnJvbSAnLi90cmFuc2Zvcm1zL2F1dG8tZm9ybWF0LWJsb2NrJztcbmltcG9ydCB7IGF1dG9Gb3JtYXRJbmxpbmUgfSBmcm9tICcuL3RyYW5zZm9ybXMvYXV0by1mb3JtYXQtaW5saW5lJztcblxuZXhwb3J0IGNvbnN0IHdpdGhBdXRvRm9ybWF0ID1cbiAgICAoeyBydWxlcyB9OiBXaXRoQXV0b0Zvcm1hdE9wdGlvbnMpID0+XG4gICAgPFQgZXh0ZW5kcyBFZGl0b3I+KGVkaXRvcjogVCkgPT4ge1xuICAgICAgICBjb25zdCB7IGluc2VydFRleHQgfSA9IGVkaXRvcjtcblxuICAgICAgICBlZGl0b3IuaW5zZXJ0VGV4dCA9IHRleHQgPT4ge1xuICAgICAgICAgICAgaWYgKCFUaGVRdWVyaWVzLmlzQ29sbGFwc2VkKGVkaXRvci5zZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluc2VydFRleHQodGV4dCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgeyBxdWVyeSwgLi4ucnVsZSB9IG9mIHJ1bGVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyID0gJyAnLFxuICAgICAgICAgICAgICAgICAgICBtb2RlID0gJ2Jsb2NrJyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgbWFya3VwLFxuICAgICAgICAgICAgICAgICAgICBwcmVGb3JtYXQsXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdCxcbiAgICAgICAgICAgICAgICAgICAgbWF0Y2gsXG4gICAgICAgICAgICAgICAgICAgIGJldHdlZW4sXG4gICAgICAgICAgICAgICAgICAgIGlnbm9yZVRyaW0sXG4gICAgICAgICAgICAgICAgICAgIGluc2VydFRyaWdnZXIsXG4gICAgICAgICAgICAgICAgICAgIGFsbG93U2FtZVR5cGVBYm92ZSA9IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyQXRCbG9ja1N0YXJ0ID0gdHJ1ZVxuICAgICAgICAgICAgICAgIH0gPSBydWxlO1xuXG4gICAgICAgICAgICAgICAgaWYgKHF1ZXJ5ICYmICFxdWVyeShlZGl0b3IsIHJ1bGUpKSBjb250aW51ZTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHRyaWdnZXJzOiBzdHJpbmdbXSA9IGNhc3RBcnJheSh0cmlnZ2VyKTtcblxuICAgICAgICAgICAgICAgIC8vIENoZWNrIHRyaWdnZXJcbiAgICAgICAgICAgICAgICBpZiAoIXRyaWdnZXJzLmluY2x1ZGVzKHRleHQpKSBjb250aW51ZTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbGlkID0gKCkgPT4gaW5zZXJ0VHJpZ2dlciAmJiBpbnNlcnRUZXh0KHRleHQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKG1vZGUgPT09ICdibG9jaycpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1hcmt1cHM6IHN0cmluZ1tdID0gY2FzdEFycmF5KG1hcmt1cCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtYXJrdXBSYW5nZTogUmFuZ2UgfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRyaWdnZXJBdEJsb2NrU3RhcnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmt1cFJhbmdlID0gVGhlUXVlcmllcy5nZXRSYW5nZUZyb21CbG9ja1N0YXJ0KGVkaXRvcikgYXMgUmFuZ2U7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIERvbid0IGF1dG9mb3JtYXQgaWYgdGhlcmUgaXMgdm9pZCBub2Rlcy5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGhhc1ZvaWROb2RlID0gVGhlUXVlcmllcy5zb21lTm9kZShlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdDogbWFya3VwUmFuZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2g6IG4gPT4gRWRpdG9yLmlzVm9pZChlZGl0b3IsIG4pXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXNWb2lkTm9kZSkgY29udGludWU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRleHRGcm9tQmxvY2tTdGFydCA9IFRoZVF1ZXJpZXMuZ2V0VGV4dChlZGl0b3IsIG1hcmt1cFJhbmdlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmt1cHMgPSBtYXRjaChlZGl0b3IsIHRleHRGcm9tQmxvY2tTdGFydCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW1hcmt1cHMuaW5jbHVkZXModGV4dEZyb21CbG9ja1N0YXJ0KSkgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJrdXBSYW5nZSA9IFRoZVF1ZXJpZXMuZ2V0UmFuZ2VCZWZvcmUoZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uIGFzIFJhbmdlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hTdHJpbmc6IG1hcmt1cCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwSW52YWxpZDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW1hcmt1cFJhbmdlKSBjb250aW51ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYmxvY2tBYm92ZVBhdGggPSBUaGVRdWVyaWVzLmdldEJsb2NrQWJvdmUoZWRpdG9yKT8uWzFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFibG9ja0Fib3ZlUGF0aCkgY29udGludWU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBtYXJrdXAgaXMgbm90IGF0IHRoZSBzdGFydCwgaW5zZXJ0IGJyZWFrIGJlZm9yZSBhdXRvZm9ybWF0dGluZy5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghRWRpdG9yLmlzU3RhcnQoZWRpdG9yLCBtYXJrdXBSYW5nZS5hbmNob3IsIGJsb2NrQWJvdmVQYXRoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRvci5pbnNlcnRCcmVhaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFhbGxvd1NhbWVUeXBlQWJvdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIERvbid0IGF1dG9mb3JtYXQgaWYgYWxyZWFkeSBpbiBhIGJsb2NrIG9mIHRoZSBzYW1lIHR5cGUuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0JlbG93U2FtZUJsb2NrVHlwZSA9IFRoZVF1ZXJpZXMuc29tZU5vZGUoZWRpdG9yLCB7IG1hdGNoOiB7IHR5cGUgfSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0JlbG93U2FtZUJsb2NrVHlwZSkgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBTdGFydCBvZiB0aGUgYmxvY2tcbiAgICAgICAgICAgICAgICAgICAgYXV0b0Zvcm1hdEJsb2NrKFxuICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmt1cFJhbmdlLFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZUZvcm1hdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXRcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJrdXBzXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWxpZCgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChtb2RlID09PSAnaW5saW5lJykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvRm9ybWF0SW5saW5lKGVkaXRvciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmV0d2VlbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZ25vcmVUcmltLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJrdXA6IEFycmF5LmlzQXJyYXkobWFya3VwKSA/IG1hcmt1cFswXSA6IG1hcmt1cFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsaWQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5zZXJ0VGV4dCh0ZXh0KTtcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gZWRpdG9yO1xuICAgIH07XG4iXX0=