@po-ui/ng-components 18.12.0 → 18.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.mjs +1 -1
  2. package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.mjs +9 -9
  3. package/esm2022/lib/components/po-field/index.mjs +4 -1
  4. package/esm2022/lib/components/po-field/po-datepicker/po-datepicker-base.component.mjs +79 -6
  5. package/esm2022/lib/components/po-field/po-datepicker/po-datepicker.component.mjs +127 -48
  6. package/esm2022/lib/components/po-field/po-datepicker/po-datepicker.module.mjs +25 -4
  7. package/esm2022/lib/components/po-field/po-decimal/po-decimal.component.mjs +46 -5
  8. package/esm2022/lib/components/po-field/po-field-container/po-field-container-bottom/po-field-container-bottom.component.mjs +3 -3
  9. package/esm2022/lib/components/po-field/po-input/po-input-base.component.mjs +60 -3
  10. package/esm2022/lib/components/po-field/po-input/po-mask.mjs +4 -4
  11. package/esm2022/lib/components/po-field/po-input-generic/po-input-generic.mjs +47 -2
  12. package/esm2022/lib/components/po-field/po-lookup/interfaces/po-lookup-literals.interface.mjs +1 -1
  13. package/esm2022/lib/components/po-field/po-lookup/po-lookup-base.component.mjs +42 -5
  14. package/esm2022/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.mjs +6 -19
  15. package/esm2022/lib/components/po-field/po-lookup/po-lookup.component.mjs +99 -45
  16. package/esm2022/lib/components/po-field/po-number/po-number-base.component.mjs +5 -1
  17. package/esm2022/lib/components/po-field/po-number/po-number.component.mjs +3 -2
  18. package/esm2022/lib/components/po-field/po-rich-text/enum/po-rich-text-toolbar-actions.enum.mjs +36 -0
  19. package/esm2022/lib/components/po-field/po-rich-text/po-rich-text-base.component.mjs +34 -3
  20. package/esm2022/lib/components/po-field/po-rich-text/po-rich-text-toolbar/po-rich-text-toolbar.component.mjs +115 -52
  21. package/esm2022/lib/components/po-field/po-rich-text/po-rich-text.component.mjs +52 -16
  22. package/esm2022/lib/components/po-field/shared/interfaces/error-async-properties.interface.mjs +2 -0
  23. package/esm2022/lib/utils/util.mjs +8 -2
  24. package/fesm2022/po-ui-ng-components.mjs +757 -201
  25. package/fesm2022/po-ui-ng-components.mjs.map +1 -1
  26. package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.d.ts +27 -1
  27. package/lib/components/po-field/index.d.ts +3 -0
  28. package/lib/components/po-field/po-datepicker/po-datepicker-base.component.d.ts +52 -5
  29. package/lib/components/po-field/po-datepicker/po-datepicker.component.d.ts +7 -4
  30. package/lib/components/po-field/po-datepicker/po-datepicker.module.d.ts +5 -4
  31. package/lib/components/po-field/po-decimal/po-decimal.component.d.ts +5 -2
  32. package/lib/components/po-field/po-input/po-input-base.component.d.ts +33 -5
  33. package/lib/components/po-field/po-input-generic/po-input-generic.d.ts +5 -2
  34. package/lib/components/po-field/po-lookup/interfaces/po-lookup-literals.interface.d.ts +4 -0
  35. package/lib/components/po-field/po-lookup/po-lookup-base.component.d.ts +12 -2
  36. package/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.d.ts +2 -5
  37. package/lib/components/po-field/po-lookup/po-lookup.component.d.ts +36 -1
  38. package/lib/components/po-field/po-rich-text/enum/po-rich-text-toolbar-actions.enum.d.ts +34 -0
  39. package/lib/components/po-field/po-rich-text/po-rich-text-base.component.d.ts +26 -1
  40. package/lib/components/po-field/po-rich-text/po-rich-text-toolbar/po-rich-text-toolbar.component.d.ts +34 -4
  41. package/lib/components/po-field/po-rich-text/po-rich-text.component.d.ts +10 -2
  42. package/lib/components/po-field/shared/interfaces/error-async-properties.interface.d.ts +31 -0
  43. package/lib/utils/util.d.ts +1 -0
  44. package/package.json +4 -4
  45. package/po-ui-ng-components-18.14.0.tgz +0 -0
  46. package/schematics/ng-add/index.js +1 -1
  47. package/schematics/ng-update/v14/index.js +1 -1
  48. package/schematics/ng-update/v15/index.js +1 -1
  49. package/schematics/ng-update/v16/index.js +1 -1
  50. package/schematics/ng-update/v17/index.js +1 -1
  51. package/schematics/ng-update/v18/index.js +2 -2
  52. package/schematics/ng-update/v2/index.js +1 -1
  53. package/schematics/ng-update/v3/index.js +1 -1
  54. package/schematics/ng-update/v4/index.js +1 -1
  55. package/schematics/ng-update/v5/index.js +1 -1
  56. package/schematics/ng-update/v6/index.js +1 -1
  57. package/po-ui-ng-components-18.12.0.tgz +0 -0
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy1mb3JtLWZpZWxkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1keW5hbWljL3BvLWR5bmFtaWMtZm9ybS9wby1keW5hbWljLWZvcm0tZmllbGQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgUG9DaGVja2JveEdyb3VwT3B0aW9uLFxuICBQb0NvbWJvRmlsdGVyLFxuICBQb0NvbWJvTGl0ZXJhbHMsXG4gIFBvRGF0ZXBpY2tlcklzb0Zvcm1hdCxcbiAgUG9EYXRlcGlja2VyUmFuZ2VMaXRlcmFscyxcbiAgUG9Mb29rdXBGaWx0ZXIsXG4gIFBvTG9va3VwTGl0ZXJhbHMsXG4gIFBvTXVsdGlzZWxlY3RGaWx0ZXJNb2RlLFxuICBQb011bHRpc2VsZWN0TGl0ZXJhbHMsXG4gIFBvU3dpdGNoTGFiZWxQb3NpdGlvbixcbiAgUG9VcGxvYWRMaXRlcmFscyxcbiAgUG9VcGxvYWRGaWxlUmVzdHJpY3Rpb25zXG59IGZyb20gJy4uLy4uL3BvLWZpZWxkJztcbmltcG9ydCB7IFBvTG9va3VwQWR2YW5jZWRGaWx0ZXIgfSBmcm9tICcuLi8uLi9wby1maWVsZC9wby1sb29rdXAvaW50ZXJmYWNlcy9wby1sb29rdXAtYWR2YW5jZWQtZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0xvb2t1cENvbHVtbiB9IGZyb20gJy4uLy4uL3BvLWZpZWxkL3BvLWxvb2t1cC9pbnRlcmZhY2VzL3BvLWxvb2t1cC1jb2x1bW4uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvTXVsdGlzZWxlY3RPcHRpb24gfSBmcm9tICcuLi8uLi9wby1maWVsZC9wby1tdWx0aXNlbGVjdC9wby1tdWx0aXNlbGVjdC1vcHRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vLi4vcG8tZmllbGQvcG8tc2VsZWN0L3BvLXNlbGVjdC1vcHRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcmNlQm9vbGVhbkNvbXBvbmVudEVudW0sIEZvcmNlT3B0aW9uQ29tcG9uZW50RW51bSB9IGZyb20gJy4uL3BvLWR5bmFtaWMtZmllbGQtZm9yY2UtY29tcG9uZW50LmVudW0nO1xuXG5pbXBvcnQgeyBQb0R5bmFtaWNGaWVsZCB9IGZyb20gJy4uL3BvLWR5bmFtaWMtZmllbGQuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBAdXNlZEJ5IFBvRHluYW1pY0Zvcm1Db21wb25lbnQsIFBvQWR2YW5jZWRGaWx0ZXJDb21wb25lbnQsIFBvUGFnZUR5bmFtaWNTZWFyY2hDb21wb25lbnRcbiAqXG4gKiBAZG9jc0V4dGVuZHMgUG9EeW5hbWljRmllbGRcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBJbnRlcmZhY2UgcGFyYSBkZWZpbmnDp8OjbyBkYXMgcHJvcHJpZWRhZGVzIGRvcyBjYW1wb3MgZGUgZW50cmFkYSBxdWUgc2Vyw6NvIGNyaWFkb3MgZGluYW1pY2FtZW50ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb0R5bmFtaWNGb3JtRmllbGQgZXh0ZW5kcyBQb0R5bmFtaWNGaWVsZCB7XG4gIC8qKlxuICAgKiBEZWZpbmUgYXMgY29sdW5hcyBwYXJhIHV0aWxpemHDp8OjbyBkYSBidXNjYSBhdmFuw6dhZGEuIFVzYWRhIHNvbWVudGUgZW0gY29uanVudG8gY29tIGEgcHJvcHJpZWRhZGUgYHNlYXJjaFNlcnZpY2VgLFxuICAgKiBlc3NhIHByb3ByaWVkYWRlIGRldmUgcmVjZWJlciB1bSBhcnJheSBkZSBvYmpldG9zIHF1ZSBpbXBsZW1lbnRhbSBhIGludGVyZmFjZSBbYFBvTG9va3VwQ29sdW1uYF0oL2RvY3VtZW50YXRpb24vcG8tbG9va3VwKS5cbiAgICpcbiAgICogPiBDYXNvIHNlamFtIGluZm9ybWFkYXMgY29sdW5hcywgZGV2ZS1zZSBvYnJpZ2F0b3JpYW1lbnRlIGNvbnRlciBjb2x1bmFzIGRlZmluaWRhcyBjb21vICpsYWJlbCogZSAqdmFsdWUqIHBhcmEgdmFsb3Jlc1xuICAgKiBkZSB0ZWxhIGUgZG8gbW9kZWwgcmVzcGVjdGl2YW1lbnRlLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tcmFkaW8tZ3JvdXBgLCBgcG8tbG9va3VwYCwgYHBvLWNoZWNrYm94LWdyb3VwYC5cbiAgICovXG4gIGNvbHVtbnM/OiBBcnJheTxQb0xvb2t1cENvbHVtbj4gfCBudW1iZXI7XG5cbiAgLyoqIERlZmluZSBhIG9icmlnYXRvcmllZGFkZSBkbyBjYW1wby4gKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgc2UgYSBpbmRpY2HDp8OjbyBkZSBjYW1wbyBvcGNpb25hbCBzZXLDoSBleGliaWRhLlxuICAgKlxuICAgKiA+IEEgaW5kaWNhw6fDo28gbsOjbyBzZXLDoSBleGliaWRhLCBzZTpcbiAgICogLSBPIGNhbXBvIGZvciBgcmVxdWlyZWRgLCBvdTtcbiAgICogLSBOw6NvIHBvc3N1aXIgYGhlbHBgIGUgYGxhYmVsYC5cbiAgICovXG4gIG9wdGlvbmFsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTGlzdGEgZGUgb3DDp8O1ZXMgcXVlIHNlcsOjbyBleGliaWRvcyBlbSB1bSBjb21wb25lbnRlLCBwb2RlbmRvIHNlbGVjaW9uYXIgdW1hIG9ww6fDo28uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1zZWxlY3RgLCBgcG8tcmFkaW8tZ3JvdXBgLCBgcG8tY2hlY2tib3gtZ3JvdXBgLCBgcG8tbXVsdGlzZWxlY3RgLlxuICAgKiAqL1xuICBvcHRpb25zPzpcbiAgICB8IEFycmF5PHN0cmluZz5cbiAgICB8IEFycmF5PFBvU2VsZWN0T3B0aW9uPlxuICAgIHwgQXJyYXk8UG9NdWx0aXNlbGVjdE9wdGlvbj5cbiAgICB8IEFycmF5PFBvQ2hlY2tib3hHcm91cE9wdGlvbj5cbiAgICB8IEFycmF5PGFueT47XG5cbiAgLyoqXG4gICAqIFBlcm1pdGUgcXVlIG8gdXN1w6FyaW8gZmHDp2EgbcO6bHRpcGxhIHNlbGXDp8OjbyBkZW50cm8gZGEgbGlzdGEgZGUgb3DDp8O1ZXMuXG4gICAqL1xuICBvcHRpb25zTXVsdGk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiAgU2VydmnDp28gcXVlIHNlcsOhIHV0aWxpemFkbyBwYXJhIGJ1c2NhciBvcyBpdGVucyBlIHByZWVuY2hlciBhIGxpc3RhIGRlIG9ww6fDtWVzIGRpbmFtaWNhbWVudGUuXG4gICAqICBQb2RlIHNlciBpbmZvcm1hZGEgdW1hIFVSTCBvdSB1bWEgaW5zdGFuY2lhIGRvIHNlcnZpw6dvIGJhc2VhZG8gZW0gUG9Db21ib0ZpbHRlci5cbiAgICogICoqSW1wb3J0YW50ZSoqXG4gICAqICA+IFBhcmEgcXVlIGZ1bmNpb25lIGNvcnJldGFtZW50ZSwgw6kgaW1wb3J0YW50ZSBxdWUgbyBzZXJ2acOnbyBzaWdhIG9cbiAgICogIFtndWlhIGRlIEFQSSBkbyBQTyBVSV0oaHR0cHM6Ly9wby11aS5pby9ndWlkZXMvYXBpKS5cbiAgICovXG4gIG9wdGlvbnNTZXJ2aWNlPzogc3RyaW5nIHwgUG9Db21ib0ZpbHRlcjtcblxuICAvKipcbiAgICogU2VydmnDp28gcXVlIHNlcsOhIHV0aWxpemFkbyBwYXJhIHJlYWxpemFyIGEgYnVzY2EgYXZhbsOnYWRhLiBQb2RlIHNlciB1dGlsaXphZG8gZW0gY29uanVudG8gY29tIGEgcHJvcHJpZWRhZGUgYGNvbHVtbnNgLlxuICAgKiBQb2RlIHNlciBzZXIgaW5mb3JtYWRhIHVtYSBVUkwgb3UgdW1hIGluc3RhbmNpYSBkbyBzZXJ2acOnbyBiYXNlYWRvIGVtIFBvTG9va3VwRmlsdGVyLlxuICAgKiAqKkltcG9ydGFudGU6KipcbiAgICogPiBDYXNvIHV0aWxpemFyIGEgcHJvcHJpZWRhZGUgYG9wdGlvbnNTZXJ2aWNlYCBlc3RhIHByb3ByaWVkYWRlIHNlcsOhIGlnbm9yYWRhLlxuICAgKiA+IFBhcmEgcXVlIGZ1bmNpb25lIGNvcnJldGFtZW50ZSwgw6kgaW1wb3J0YW50ZSBxdWUgbyBzZXJ2acOnbyBzaWdhIG9cbiAgICogW2d1aWEgZGUgQVBJIGRvIFBPIFVJXShodHRwczovL3BvLXVpLmlvL2d1aWRlcy9hcGkpLlxuICAgKi9cbiAgc2VhcmNoU2VydmljZT86IHN0cmluZyB8IFBvTG9va3VwRmlsdGVyO1xuXG4gIC8qKlxuICAgKiBNw6FzY2FyYSBwYXJhIG8gY2FtcG8uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1pbnB1dGAuXG4gICAqID4gdGFtYsOpbSDDqSBhdHJpYnXDrWRvIGFvIHV0aWxpemFyIGEgcHJvcHJpZWRhZGUgYHR5cGU6IHRpbWVgLlxuICAgKi9cbiAgbWFzaz86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lIHF1ZSBvIHZhbG9yIGRvIGNvbXBvbmVudGUgc2Vyw6EgY29uZm9ybWUgZXNwZWNpZmljYWRvIG5hIG1hc2PDoXJhLiBPIHZhbG9yIHBhZHLDo28gw6kgYGZhbHNlYC5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWlucHV0YC5cbiAgICogPiB0YW1iw6ltIMOpIGF0cmlidcOtZG8gYW8gdXRpbGl6YXIgYSBwcm9wcmllZGFkZSBgdHlwZTogdGltZWAuXG4gICAqICovXG4gIG1hc2tGb3JtYXRNb2RlbD86IGJvb2xlYW47XG5cbiAgLyoqIERlZmluZSBvIMOtY29uZSBxdWUgc2Vyw6EgZXhpYmlkbyBubyBpbsOtY2lvIGRvIGNhbXBvLlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgc8OzIHBvZGUgc2VyIHV0aWxpemFkbyBub3MgY2FtcG9zOlxuICAgKiAtIElucHV0O1xuICAgKiAtIE51bWJlcjtcbiAgICogLSBEZWNpbWFsO1xuICAgKiAtIENvbWJvO1xuICAgKiAtIFBhc3N3b3JkO1xuICAgKlxuICAgKiA+IFZlamEgYSBkaXNwb25pYmlsaWRhZGUgZGUgw61jb25lcyBlbSBbYmlibGlvdGVjYSBkZSDDrWNvbmVzXShndWlkZXMvaWNvbnMpLlxuICAgKi9cbiAgaWNvbj86IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gIC8qKiAgUXVhbnRpZGFkZSBtw6F4aW1hIGRlIGNhc2FzIGRlY2ltYWlzLlxuICAgKlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgc8OzIHBvZGUgc2VyIHV0aWxpemFkYSBxdWFuZG8gbyBgdHlwZWAgZm9yICpjdXJyZW5jeSogb3UgKmRlY2ltYWwqLlxuICAgKi9cbiAgZGVjaW1hbHNMZW5ndGg/OiBudW1iZXI7XG5cbiAgLyoqIFF1YW50aWRhZGUgbcOheGltYSBkZSBkw61naXRvcyBhbnRlcyBkbyBzZXBhcmFkb3IgZGVjaW1hbC4gTyB2YWxvciBtw6F4aW1vIHBlcm1pdGlkbyDDqSAxM1xuICAgKlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgc8OzIHBvZGUgc2VyIHV0aWxpemFkYSBxdWFuZG8gbyBgdHlwZWAgZm9yICpjdXJyZW5jeSogb3UgKmRlY2ltYWwqLlxuICAgKi9cbiAgdGhvdXNhbmRNYXhsZW5ndGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFJlZ2V4IHBhcmEgdmFsaWRhw6fDo28gZG8gY2FtcG8uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1pbnB1dGAsIGBwby1wYXNzd29yZGAuXG4gICAqICovXG4gIHBhdHRlcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRhbWFuaG8gbcOtbmltbyBkZSBjYXJhY3RlcmVzLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8taW5wdXRgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgLCBgcG8tdGV4dGFyZWFgLCBgcG8tcGFzc3dvcmRgLlxuICAgKiAqL1xuICBtaW5MZW5ndGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRhbWFuaG8gbcOheGltbyBkZSBjYXJhY3RlcmVzLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8taW5wdXRgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgLCBgcG8tdGV4dGFyZWFgLCBgcG8tcGFzc3dvcmRgLlxuICAgKi9cbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8qKiBEZXNhYmlsaXRhIG8gY2FtcG8gY2FzbyBpbmZvcm1hciBvIHZhbG9yICp0cnVlKi4gKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKiBUZXh0byBkZSBhanVkYS4gKi9cbiAgaGVscD86IHN0cmluZztcblxuICAvKiogVGV4dG8gZXhpYmlkbyBxdWFuZG8gbyB2YWxvciBkbyBjb21wb25lbnRlIGZvciAqdHJ1ZSouICovXG4gIGJvb2xlYW5UcnVlPzogc3RyaW5nO1xuXG4gIC8qKiBUZXh0byBleGliaWRvIHF1YW5kbyBvIHZhbG9yIGRvIGNvbXBvbmVudGUgZm9yICpmYWxzZSouICovXG4gIGJvb2xlYW5GYWxzZT86IHN0cmluZztcblxuICAvKiogSW5kaWNhIHNlIG8gc3RhdHVzIGRvIGBtb2RlbGAgc2Vyw6EgZXNjb25kaWRvIHZpc3VhbG1lbnRlIGFvIGxhZG8gZG8gc3dpdGNoICovXG4gIGhpZGVMYWJlbFN0YXR1cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYSBzZSBvIGBtb2RlbGAgcmVjZWJlcsOhIG8gdmFsb3IgZm9ybWF0YWRvIHBlbGFzIHByb3ByaWVkYWRlcyBgcC1sYWJlbC1vbmAgZSBgcC1sYWJlbC1vZmZgIG91XG4gICAqIGFwZW5hcyBvIHZhbG9yIHB1cm8gKHNlbSBmb3JtYXRhw6fDo28pLlxuICAgKlxuICAgKiBPIHZhbG9yIHBhZHLDo28gw6k6IGBmYWxzZWAuXG4gICAqXG4gICAqID4gRXN0YSBwcm9wcmllZGFkZSBlc3TDoSBkaXNwb25pdmVsICBhcGVuYXMgcGFyYSBvIGBzd2ljdGhgLlxuICAgKi9cbiAgZm9ybWF0TW9kZWw/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBWYWxvciBtw6F4aW1vIGEgc2VyIGluZm9ybWFkbyBubyBjb21wb25lbnRlLCBwb2RlbmRvIHNlciB1dGlsaXphZG8gcXVhbmRvIG8gdGlwbyBkZSBkYWRvIHBvciAqbnVtYmVyKiwgKmRhdGUqIG91ICpkYXRlVGltZSouXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1kYXRlcGlja2VyYCwgYHBvLWRhdGVwaWNrZXItcmFuZ2VgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgXG4gICAqICovXG4gIG1heFZhbHVlPzogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBWYWxvciBtw61uaW1vIGEgc2VyIGluZm9ybWFkbyBubyBjb21wb25lbnRlLCBwb2RlbmRvIHNlciB1dGlsaXphZG8gcXVhbmRvIG8gdGlwbyBkZSBkYWRvIHBvciAqbnVtYmVyKiwgKmRhdGUqIG91ICpkYXRlVGltZSouXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1kYXRlcGlja2VyYCwgYHBvLWRhdGVwaWNrZXItcmFuZ2VgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgXG4gICAqL1xuICBtaW5WYWx1ZT86IHN0cmluZyB8IG51bWJlcjtcblxuICAvKiogUXVhbnRpZGFkZSBkZSBsaW5oYXMgZXhpYmlkYXMgbm8gYHBvLXRleHRhcmVhYC4gKi9cbiAgcm93cz86IG51bWJlcjtcblxuICAvKiogRXNjb25kZSBhIGluZm9ybWHDp8OjbyBlc3RpbG8gKnBhc3N3b3JkKiwgcG9kZSBzZXIgdXRpbGl6YWRvIHF1YW5kbyBvIHRpcG8gZGUgZGFkbyBmb3IgKnN0cmluZyouICovXG4gIHNlY3JldD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEZ1bsOnw6NvIG91IHNlcnZpw6dvIHBhcmEgdmFsaWRhciBhcyAqKm11ZGFuw6dhcyBkbyBjYW1wbyoqLlxuICAgKlxuICAgKiAqIEEgcHJvcHJpZWRhZGUgYWNlaXRhIG9zIHNlZ3VpbnRlcyB0aXBvczpcbiAgICogLSAqKlN0cmluZyoqOiBFbmRwb2ludCB1c2FkbyBwZWxvIGNvbXBvbmVudGUgcGFyYSByZXF1aXNpw6fDo28gdmlhIGBQT1NUYC5cbiAgICogLSAqKkZ1bmN0aW9uKio6IE3DqXRvZG8gcXVlIHNlcsOhIGV4ZWN1dGFkby5cbiAgICpcbiAgICogQW8gc2VyIGV4ZWN1dGFkbywgaXLDoSByZWNlYmVyIGNvbW8gcGFyw6JtZXRybyB1bSBvYmpldG8gY29tIG8gbm9tZSBkYSBwcm9wcmllZGFkZVxuICAgKiBhbHRlcmFkYSBlIG8gbm92byB2YWxvciwgY29uZm9ybWUgYSBpbnRlcmZhY2UgYFBvRHluYW1pY0Zvcm1GaWVsZENoYW5nZWRgOlxuICAgKlxuICAgKiBgYFxuICAgKiB7IHByb3BlcnR5OiAncHJvcGVydHkgbmFtZScsIHZhbHVlOiAnbmV3IHZhbHVlJyB9XG4gICAqIGBgXG4gICAqXG4gICAqIE8gcmV0b3JubyBkZXN0YSBmdW7Dp8OjbyBkZXZlIHNlciBkbyB0aXBvIFtQb0R5bmFtaWNGb3JtRmllbGRWYWxpZGF0aW9uXShkb2N1bWVudGF0aW9uL3BvLWR5bmFtaWMtZm9ybSNwby1keW5hbWljLWZvcm0tZmllbGQtdmFsaWRhdGlvbiksXG4gICAqIG9uZGUgbyB1c3XDoXJpbyBwb2RlcsOhIGRldGVybWluYXIgYXMgbm92YXMgcHJvcHJpZWRhZGVzIGRvIGNhbXBvLlxuICAgKiBQb3IgZXhlbXBsbzpcbiAgICpcbiAgICogYGBgXG4gICAqIG9uQ2hhbmdlRmllbGQoY2hhbmdlVmFsdWUpOiBQb0R5bmFtaWNGb3JtRmllbGRWYWxpZGF0aW9uIHtcbiAgICpcbiAgICogaWYgKGNoYW5nZVZhbHVlLnByb3BlcnR5ID09PSAnYmlydGhkYXknICYmICF0aGlzLnZhbGlkYXRlKCdiaXJ0aGRheScpKSB7XG4gICAqICAgcmV0dXJuIHtcbiAgICogICAgIHZhbHVlOiAnJyxcbiAgICogICAgIGZpZWxkOiB7IHByb3BlcnR5OiAnYmlydGhkYXknLCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgKiAgICAgZm9jdXM6IHRydWVcbiAgICogICB9O1xuICAgKiB9XG4gICAqIGBgYFxuICAgKlxuICAgKiBQYXJhIHJlZmVyZW5jaWFyIGEgc3VhIGZ1bsOnw6NvIHV0aWxpemUgYSBwcm9wcmllZGFkZSBgYmluZGAsIHBvciBleGVtcGxvOlxuICAgKiBgYFxuICAgKiB7IHByb3BlcnR5OiAnc3RhdGUnLCBncmlkQ29sdW1uczogNiwgdmFsaWRhdGU6IHRoaXMubXlGdW5jdGlvbi5iaW5kKHRoaXMpIH1cbiAgICogYGBcbiAgICovXG4gIHZhbGlkYXRlPzogc3RyaW5nIHwgRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIE9iamV0byBxdWUgc2Vyw6EgZW52aWFkbyBjb21vIHBhcsOibWV0cm8gbmFzIHJlcXVpc2nDp8O1ZXMgZGUgYnVzY2EgdXNhZG9zIHBlbG9zIGNvbXBvbmVudGVzIGBwby1sb29rdXBgIGVcbiAgICogYHBvLWNvbWJvYC5cbiAgICpcbiAgICogUG9yIGV4ZW1wbG8sIHBhcmEgbyBwYXLDom1ldHJvIGB7IGFnZTogMjMgfWAgYSBVUkwgZGEgcmVxdWlzacOnw6NvIGZpY2FyaWE6XG4gICAqXG4gICAqIGBgXG4gICAqIHVybCArID9hZ2U9MjMmZmlsdGVyPVBldGVyXG4gICAqIGBgXG4gICAqL1xuICBwYXJhbXM/OiBhbnk7XG5cbiAgLyoqXG4gICAqIE1lbnNhZ2VtIHF1ZSBzZXLDoSBhcHJlc2VudGFkYSBxdWFuZG8gbyBjYW1wbyBmaWNhciBpbnbDoWxpZG8uXG4gICAqXG4gICAqIE8gY2FtcG8gZmljYSBpbnbDoWxpZG8gcXVhbmRvIGFzIHNlZ3VpbnRlcyBwcm9wcmllZGFkZXMgbsOjbyBmb3JlbSByZXNwZWl0YWRhczpcbiAgICogIC0gcGF0dGVybjtcbiAgICogIC0gbWluVmFsdWU7XG4gICAqICAtIG1heFZhbHVlO1xuICAgKlxuICAgKiA+IEVzdGEgbWVuc2FnZW0gbsOjbyDDqSBhcHJlc2VudGFkYSBxdWFuZG8gbyBjYW1wbyBlc3RpdmVyIHZhemlvLCBtZXNtbyBxdWUgZWxlIHNlamEgcmVxdWVyaWRvLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tZGF0ZXBpY2tlcmAsIGBwby1pbnB1dGAsIGBwby1udW1iZXJgLCBgcG8tZGVjaW1hbGAsIGBwby1wYXNzd29yZGAuXG4gICAqL1xuICBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZvcm1hdG8gZGUgZXhpYmnDp8OjbyBubyBjYW1wby5cbiAgICpcbiAgICogQW8gdXRpbGl6YXIgZXN0YSBwcm9wcmllZGFkZSBjb20gbyBgdHlwZWAgKlBvRHluYW1pY0ZpZWxkVHlwZS5EYXRlKiBvdSAqUG9EeW5hbWljRmllbGRUeXBlLkRhdGVUaW1lKixcbiAgICogcG9kZSBzZXIgdXRpbGl6YWRhIHBhcmEgZm9ybWF0YcOnw6NvIGRlIGV4aWJpw6fDo28gZGEgZGF0YTpcbiAgICpcbiAgICogVmFsb3JlcyB2w6FsaWRvczpcbiAgICpcbiAgICogLSBkZC9tbS95eXl5XG4gICAqIC0gbW0vZGQveXl5eVxuICAgKiAtIHl5eXkvbW0vZGRcbiAgICpcbiAgICpcbiAgICogVGFtYsOpbSBwb2RlLXNlIHV0aWxpemFyIGVtIGNvbmp1bnRvIGNvbSBgc2VhcmNoU2VydmljZWAsIGluZm9ybWFuZG8gdW1hIGxpc3RhIGRlIHByb3ByaWVkYWRlcyBxdWUgc2Vyw6EgdXRpbGl6YWRvXG4gICAqIHBhcmEgZm9ybWF0YcOnw6NvIGRhIGV4aWJpw6fDo28gbm8gY2FtcG8sIHBvciBleGVtcGxvOiBbXCJpZFwiLCBcIm5hbWVcIl0uXG4gICAqL1xuICBmb3JtYXQ/OiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBOb21lIGRhIHByb3ByaWVkYWRlIGRvIG9iamV0byByZXRvcm5hZG8gcXVlIHNlcsOhIHV0aWxpemFkbyBjb21vIGRlc2NyacOnw6NvIGRvIGNhbXBvLlxuICAgKlxuICAgKiBPIHZhbG9yIHBhZHLDo28gw6k6IGBsYWJlbGAuXG4gICAqXG4gICAqID4gRXN0YSBwcm9wcmllZGFkZSBwb2RlIHNlciB1dGlsaXphZGEgZW0gY29uanVudG8gY29tOiBgb3B0aW9uc2AsIGBvcHRpb25zU2VydmljZWAgZSBgc2VhcmNoU2VydmljZWAuXG4gICAqL1xuICBmaWVsZExhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOb21lIGRhIHByb3ByaWVkYWRlIGRvIG9iamV0byByZXRvcm5hZG8gcXVlIHNlcsOhIHV0aWxpemFkbyBjb21vIHZhbG9yIGRvIGNhbXBvLlxuICAgKlxuICAgKiBPIHZhbG9yIHBhZHLDo28gw6k6IGB2YWx1ZWAuXG4gICAqXG4gICAqID4gRXN0YSBwcm9wcmllZGFkZSBwb2RlIHNlciB1dGlsaXphZGEgZW0gY29uanVudG8gY29tOiBgb3B0aW9uc2AsIGBvcHRpb25zU2VydmljZWAgZSBgc2VhcmNoU2VydmljZWAuXG4gICAqL1xuICBmaWVsZFZhbHVlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmZvcm1hIGEgb3JkZW0gZGUgZXhpYmnDp8OjbyBkbyBjYW1wby5cbiAgICpcbiAgICogRXhlbXBsbyBkZSB1dGlsaXphw6fDo286XG4gICAqXG4gICAqIGBgXG4gICAqIFtcbiAgICogICB7IHByb3BlcnR5OiAndGVzdCAxJywgb3JkZXI6IDIgfSxcbiAgICogICB7IHByb3BlcnR5OiAndGVzdCAyJywgb3JkZXI6IDEgfSxcbiAgICogICB7IHByb3BlcnR5OiAndGVzdCAzJyB9LFxuICAgKiAgIHsgcHJvcGVydHk6ICd0ZXN0IDQnLCBvcmRlcjogMyB9XG4gICAqIF07XG4gICAqIGBgXG4gICAqXG4gICAqIE5hIGV4aWJpw6fDo28gYSBvcmRlbSBmaWNhcsOhIGRlc3NhIGZvcm1hOlxuICAgKiBgYFxuICAgKiBbXG4gICAqICAgeyBwcm9wZXJ0eTogJ3Rlc3QgMicsIG9yZGVyOiAxIH0sXG4gICAqICAgeyBwcm9wZXJ0eTogJ3Rlc3QgMScsIG9yZGVyOiAyIH0sXG4gICAqICAgeyBwcm9wZXJ0eTogJ3Rlc3QgNCcsIG9yZGVyOiAzIH0sXG4gICAqICAgeyBwcm9wZXJ0eTogJ3Rlc3QgMycgfVxuICAgKiBdO1xuICAgKiBgYFxuICAgKlxuICAgKiBTw7Mgc2Vyw6NvIGFjZWl0b3MgdmFsb3JlcyBjb20gbsO6bWVyb3MgaW50ZWlyb3MgbWFpb3JlcyBkbyBxdWUgemVyby5cbiAgICpcbiAgICogQ2FtcG9zIHNlbSBgb3JkZXJgIG91IGNvbSB2YWxvcmVzIG5lZ2F0aXZvcywgemVyYWRvcyBvdSBpbnbDoWxpZG9zXG4gICAqIHNlcsOjbyBvcyDDumx0aW1vcyBhIHNlcmVtIHJlbmRlcml6YWRvcyBlIHNlZ3VpcsOjbyBvIHBvc2ljaW9uYW1lbnRvIGRlbnRybyBkb1xuICAgKiBhcnJheS5cbiAgICovXG4gIG9yZGVyPzogbnVtYmVyO1xuXG4gIC8qKiBNZW5zYWdlbSBxdWUgc2Vyw6EgZXhpYmlkYSBlbnF1YW50byBvIGNhbXBvIG7Do28gZXN0aXZlciBwcmVlbmNoaWRvLiAqL1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lIGEgbG9jYWxpZGFkZSBhIHNlciB1dGlsaXphZGEgbm8gY29tcG9uZW50ZS5cbiAgICogUG9yIHBhZHLDo28gbyB2YWxvciBzZXLDoSBjb25maWd1cmFkbyBzZWd1bmRvIGEgbyBtw7NkdWxvIFtgSTE4bmBdKGRvY3VtZW50YXRpb24vcG8taTE4bilcbiAgICpcbiAgICogRXhlbXBsbyBkZSB1dGlsaXphw6fDo286XG4gICAqIGBgXG4gICAqIFtcbiAgICogICB7IHByb3BlcnR5OiAnYmlydGhkYXknLCBsb2NhbGU6ICdlbicsIHR5cGU6ICdkYXRlJyB9LFxuICAgKiAgIHsgcHJvcGVydHk6ICd3YWdlJywgbG9jYWxlOiAncnUnLCB0eXBlOiAnY3VycmVuY3knIH1cbiAgICogXTtcbiAgICogYGBcbiAgICpcbiAgICogPiBQYXJhIHZlciBxdWFpcyBsaW5ndWFnZW5zIHN1cG9ydGFkYXMgYWNlc3NlIFtgSTE4bmBdKGRvY3VtZW50YXRpb24vcG8taTE4bilcbiAgICogPiBBIHByb3ByaWVkYWRlIHNlcsOhIHJlcGFzc2FkYSBwYXJhIG9zIGNvbXBvbmVudGVzIHF1ZSBzdXBvcnRhbSBhIG1lc21hLlxuICAgKi9cbiAgbG9jYWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPIGNvbnRyb2xlIHBhc3NhIGEgcGVybWl0aXIgYSBlbnRyYWRhIGRlIHVtIGludGVydmFsbyBhbyBpbnbDqXMgZGUgdW0gw7puaWNvIHZhbG9yLlxuICAgKlxuICAgKiA+IEF0dWFsbWVudGUgZXNzYSBwcm9wcmllZGFkZSBlc3TDoSBkaXNwb27DrXZlbCBhcGVuYXMgcGFyYSBvIHRpcG8gJ2RhdGUnIGUgJ2RhdGVUaW1lJy5cbiAgICovXG4gIHJhbmdlPzogYm9vbGVhbjtcblxuICAvKiogSW5kaWNhIHF1ZSBvIGNhbXBvIHNlcsOhIHNvbWVudGUgbGVpdHVyYS5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWRhdGVwaWNrZXJgLCBgcG8tZGF0ZXBpY2tlci1yYW5nZWAsIGBwby1pbnB1dGAsIGBwby1udW1iZXJgLCBgcG8tZGVjaW1hbGAsIGBwby1zZWxlY3RgLCBgcG8tdGV4dGFyZWFgLCBgcG8tcGFzc3dvcmRgXG4gICAqL1xuICByZWFkb25seT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBlcm1pdGUgYSBzZWxlw6fDo28gZGUgbcO6bHRpcGxvcyBpdGVucy5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsOioqIGBwby1sb29rdXBgLCBgcG8tdXBsb2FkYFxuICAgKi9cbiAgbXVsdGlwbGU/OiBib29sZWFuO1xuXG4gIC8qKiBTZSB2ZXJkYWRlaXJvLCBvIGNhbXBvIHJlY2ViZXLDoSB1bSBib3TDo28gcGFyYSBzZXIgbGltcG8uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1kYXRlcGlja2VyYCwgYHBvLWRhdGVwaWNrZXItcmFuZ2VgLCBgcG8taW5wdXRgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgLCBgcG8tY29tYm9gLCBgcG8tbG9va3VwYCwgYHBvLXBhc3N3b3JkYFxuICAgKi9cbiAgY2xlYW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgYSBwcm9wcmllZGFkZSBuYXRpdmEgYGF1dG9jb21wbGV0ZWAgZG8gY2FtcG8gY29tbyBvZmYuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1kYXRlcGlja2VyYCwgYHBvLWRhdGVwaWNrZXItcmFuZ2VgLCBgcG8taW5wdXRgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgLCBgcG8tbG9va3VwYCwgYHBvLXBhc3N3b3JkYFxuICAgKi9cbiAgbm9BdXRvY29tcGxldGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQb3Npw6fDo28gZGUgZXhpYmnDp8OjbyBkbyByw7N0dWxvIGRvIFBvU3dpdGNoLlxuICAgKiA+IFBvciBwYWRyw6NvIGV4aWJlIMOgIGRpcmVpdGEuXG4gICAqL1xuICBsYWJlbFBvc2l0aW9uPzogUG9Td2l0Y2hMYWJlbFBvc2l0aW9uO1xuXG4gIC8qKlxuICAgKiBQZXJtaXRlIGVzY29uZGVyIGEgZnVuw6fDo28gZGUgZXNwaWFyIGEgc2VuaGEgZGlnaXRhZGEgbm8gYHBvLXBhc3N3b3JkYC5cbiAgICovXG4gIGhpZGVQYXNzd29yZFBlZWs/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQYWRyw6NvIGRlIGZvcm1hdGHDp8OjbyBwYXJhIHNhw61kYSBkbyBtb2RlbCwgaW5kZXBlbmRlbnRlbWVudGUgZG8gZm9ybWF0byBkZSBlbnRyYWRhLlxuICAgKlxuICAgKiA+IFZlamEgb3MgdmFsb3JlcyB2w6FsaWRvcyBubyBgZW51bVBvRGF0ZXBpY2tlcklzb0Zvcm1hdGAuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbDoqKiBwby1kYXRlcGlja2VyXG4gICAqL1xuICBpc29Gb3JtYXQ/OiBQb0RhdGVwaWNrZXJJc29Gb3JtYXQ7XG5cbiAgLyoqXG4gICAqIE9iamV0byBjb20gYXMgbGl0ZXJhaXMgdXNhZGFzIHBhcmEgb3Mgc2VndWludGVzIGNvbXBvbmVudGVzOiBgcG8tbG9va3VwYCwgYHBvLW11bHRpc2VsZWN0YCwgYHBvLWNvbWJvYCBlIGBwby1kYXRlcGlja2VyLXJhbmdlYC5cbiAgICpcbiAgICogPiBPIG9iamV0byBwYWRyw6NvIGRlIGxpdGVyYWlzIHNlcsOhIHRyYWR1emlkbyBkZSBhY29yZG8gY29tIG8gaWRpb21hIGRvIFBvSTE4blNlcnZpY2Ugb3UgZG8gYnJvd3Nlci5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWxvb2t1cGAsIGBwby1tdWx0aXNlbGVjdGAsIGBwby1jb21ib2AsIGBwby1kYXRlcGlja2VyLXJhbmdlYFxuICAgKi9cbiAgbGl0ZXJhbHM/OiBQb0xvb2t1cExpdGVyYWxzIHwgUG9NdWx0aXNlbGVjdExpdGVyYWxzIHwgUG9Db21ib0xpdGVyYWxzIHwgUG9EYXRlcGlja2VyUmFuZ2VMaXRlcmFscyB8IFBvVXBsb2FkTGl0ZXJhbHM7XG5cbiAgLyoqXG4gICAqIFNlIHZlcmRhZGVpcm8gYXRpdmEgYSBmdW5jaW9uYWxpZGFkZSBkZSBzY3JvbGwgaW5maW5pdG8gcGFyYSBvIGNvbWJvIG91IGxvb2t1cCwgYW8gY2hlZ2FyIGFvIGZpbSBkYSB0YWJlbGEgZXhlY3V0YXLDoSBub3ZhIGJ1c2NhIGRvcyBkYWRvcyBjb25mb3JtZSBwYWdpbmHDp8Ojby5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWNvbWJvYCwgYHBvLWxvb2t1cGAuXG4gICAqL1xuICBpbmZpbml0ZVNjcm9sbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERlZmluZSBvIHBlcmNlbnR1YWwgbmVjZXNzw6FyaW8gcGFyYSBkaXNwYXJhciBvIGV2ZW50byBzaG93LW1vcmUsIHF1ZSDDqSByZXNwb25zw6F2ZWwgcG9yIGNhcnJlZ2FyIG1haXMgZGFkb3Mgbm8gY29tYm8uIENhc28gbyB2YWxvciBzZWphIG1haW9yIHF1ZSAxMDAgb3UgbWVub3IgcXVlIDAsIG8gdmFsb3IgcGFkcsOjbyBzZXLDoSAxMDAlLlxuICAgKiAqKkV4ZW1wbG9zKipcbiAgICogYHsgaW5maW5pdGVTY3JvbGxEaXN0YW5jZTogODAgfWA6IFF1YW5kbyBhdGluZ2lyIDgwJSBkbyBzY3JvbGwgZG8gY29tYm8sIG8gc2hvdy1tb3JlIHNlcsOhIGRpc3BhcmFkby5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsOioqIGBwby1jb21ib2AuXG4gICAqL1xuICBpbmZpbml0ZVNjcm9sbERpc3RhbmNlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgcXVlIGEgYWx0dXJhIGRvIGNvbXBvbmVudGUgc2Vyw6EgYXV0byBhanVzdMOhdmVsLCBwb3NzdWluZG8gdW1hIGFsdHVyYSBtaW5pbWEgcG9yw6ltIGEgYWx0dXJhIG3DoXhpbWEgc2Vyw6EgZGUgYWNvcmRvIGNvbSBvIG7Dum1lcm8gZGUgaXRlbnMgc2VsZWNpb25hZG9zIGUgYSBleHRlbnPDo28gZG9zIG1lc21vcywgbWFudGVuZG8tb3Mgc2VtcHJlIHZpc8OtdmVpcy5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLW11bHRpc2VsZWN0YCwgYHBvLWxvb2t1cGAuXG4gICAqL1xuICBhdXRvSGVpZ2h0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW50ZXJ2YWxvIHV0aWxpemFkbyBubyBgcG8tbnVtYmVyYC5cbiAgICovXG4gIHN0ZXA/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERlZmluZSBvIG1vZG8gZGUgcGVzcXVpc2EgdXRpbGl6YWRvIG5vIGZpbHRybyBkYSBsaXN0YSBkZSBzZWxlw6fDo286IGBzdGFydHNXaXRoYCwgYGNvbnRhaW5zYCBvdSBgZW5kc1dpdGhgLlxuICAgKiA+IFF1YW5kbyB1dGlsaXphciBhIHByb3ByaWVkYWRlIHAtZmlsdGVyLXNlcnZpY2UgZXN0YSBwcm9wcmllZGFkZSBzZXLDoSBpZ25vcmFkYS5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLW11bHRpc2VsZWN0YC5cbiAgICovXG4gIGZpbHRlck1vZGU/OiBQb011bHRpc2VsZWN0RmlsdGVyTW9kZTtcblxuICAvKipcbiAgICogVmFsb3IgbcOtbmltbyBkZSBjYXJhY3RlcmVzIHBhcmEgcmVhbGl6YXIgbyBmaWx0cm8gbm8gc2VydmnDp28gZG8gYHBvLWNvbWJvYC5cbiAgICovXG4gIGZpbHRlck1pbmxlbmd0aD86IG51bWJlcjtcblxuICAvKipcbiAgICogRGVzYWJpbGl0YSBvIGZpbHRybyBpbmljaWFsIG5vIHNlcnZpw6dvIGRvIGBwby1jb21ib2AsIHF1ZSDDqSBleGVjdXRhZG8gbm8gcHJpbWVpcm8gY2xpcXVlIG5vIGNhbXBvLlxuICAgKi9cbiAgZGlzYWJsZWRJbml0RmlsdGVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2UgdmVyZGFkZWlybywgZGVzYWJpbGl0YXLDoSBhIGJ1c2NhIGRlIHVtIGl0ZW0gdmlhIFRBQiBubyBgcG8tY29tYm9gLlxuICAgKi9cbiAgZGlzYWJsZWRUYWJGaWx0ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFc3RhIHByb3ByaWVkYWRlIGRlZmluZSBlbSBxdWFudG8gdGVtcG8gKGVtIG1pbGlzc2VndW5kb3MpLCBhZ3VhcmRhIHBhcmEgYWNpb25hciBvIGV2ZW50byBkZSBmaWx0cm8gYXDDs3MgY2FkYSBwcmVzc2lvbmFtZW50byBkZSB0ZWNsYS4gU2Vyw6EgdXRpbGl6YWRhIGFwZW5hcyBxdWFuZG8gaG91dmVyIHNlcnZpw6dvIChgcC1maWx0ZXItc2VydmljZWApLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tY29tYm9gLCBgcG8tbXVsdGlzZWxlY3RgLlxuICAgKi9cbiAgZGVib3VuY2VUaW1lPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJbmRpY2EgcXVlIG8gZXZlbnRvIGBwLWNoYW5nZWAgc8OzIHNlcsOhIGRpc3BhcmFkbyBhbyBjbGljYXIgb3UgcHJlc3Npb25hciBhIHRlY2xhIFwiRW50ZXJcIiBzb2JyZSB1bWEgb3DDp8OjbyBzZWxlY2lvbmFkYSBubyBgcG8tY29tYm9gLlxuICAgKi9cbiAgY2hhbmdlT25FbnRlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYSBxdWUgYSBsaXN0YSBkZWZpbmlkYSBuYSBwcm9wcmllZGFkZSBwLW9wdGlvbnMgc2Vyw6Egb3JkZW5hZGEgcGVsYSBkZXNjcmnDp8Ojby5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWNvbWJvYCwgcG8tbXVsdGlzZWxlY3RcbiAgICovXG4gIHNvcnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciBkbyBjYW1wbyBkZSBwZXNxdWlzYSBkbyBgcG8tbXVsdGlzZWxlY3RgLlxuICAgKlxuICAgKiA+IENhc28gbyBtZXNtbyBuw6NvIHNlamEgaW5mb3JtYWRvLCBvIHZhbG9yIHBhZHLDo28gc2Vyw6EgdHJhZHV6aWRvIGNvbSBiYXNlIG5vIGlkaW9tYSBkbyBuYXZlZ2Fkb3IgKHB0LCBlcyBlIGVuKS5cbiAgICovXG4gIHBsYWNlaG9sZGVyU2VhcmNoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFc2NvbmRlIG8gY2FtcG8gZGUgcGVzcXVpc2EgZXhpc3RlbnRlIGRlbnRybyBkbyBkcm9wZG93biBkbyBgcG8tbXVsdGlzZWxlY3RgLlxuICAgKi9cbiAgaGlkZVNlYXJjaD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYSBzZSBvIGNhbXBvIFwiU2VsZWNpb25hciB0b2Rvc1wiIGRvIGBwby1tdWx0aXNlbGVjdGAgc2Vyw6EgZXNjb25kaWRvLlxuICAgKi9cbiAgaGlkZVNlbGVjdEFsbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExpc3RhIGRlIG9iamV0b3MgZG9zIGNhbXBvcyBxdWUgc2Vyw6NvIGNyaWFkb3MgbmEgYnVzY2EgYXZhbsOnYWRhLlxuICAgKlxuICAgKiA+IENhc28gbsOjbyBzZWphIHBhc3NhZG8gdW0gb2JqZXRvIG91IGVudMOjbyBlbGUgZXN0ZWphIGVtIGJyYW5jbyBvIGxpbmsgZGUgYnVzY2EgYXZhbsOnYWRhIGZpY2Fyw6EgZXNjb25kaWRvLlxuICAgKlxuICAgKiBFeGVtcGxvIGRlIFVSTCBjb20gYnVzY2EgYXZhbsOnYWRhOlxuICAgKlxuICAgKiBgdXJsICsgP3BhZ2U9MSZwYWdlU2l6ZT0yMCZuYW1lPVRvbnklMjBTdGFyayZuaWNrbmFtZT1Ib21lbSUyMGRlJTIwRmVycm9gXG4gICAqXG4gICAqIENhc28gYWxndW0gcGFyw6JtZXRybyBzZWphIHVtYSBsaXN0YSwgYSBjb25jYXRlbmHDp8OjbyDDqSBmZWl0YSB1dGlsaXphbmRvIHbDrXJndWxhLiBFeGVtcGxvOlxuICAgKlxuICAgKiBgdXJsICsgP3BhZ2U9MSZwYWdlU2l6ZT0yMCZuYW1lPVRvbnklMjBTdGFyayxQZXRlciUyMFBhcmtlcixHb2hhbmBcbiAgICovXG4gIGFkdmFuY2VkRmlsdGVycz86IEFycmF5PFBvTG9va3VwQWR2YW5jZWRGaWx0ZXI+O1xuXG4gIC8qKlxuICAgKiBWYWxvcmVzIGFjZWl0b3M6XG4gICAqIC0gRm9yY2VCb29sZWFuQ29tcG9uZW50RW51bS5zd2l0Y2hcbiAgICogLSBGb3JjZUJvb2xlYW5Db21wb25lbnRFbnVtLmNoZWNrYm94XG4gICAqXG4gICAqL1xuICBmb3JjZUJvb2xlYW5Db21wb25lbnRUeXBlPzogRm9yY2VCb29sZWFuQ29tcG9uZW50RW51bTtcblxuICAvKipcbiAgICogcG9kZSBzZXIgdXRpbGl6YWRhIGVtIGNvbmp1bnRvIGNvbSBhIHByb3ByaWVkYWRlIGBvcHRpb25zYCBmb3LDp2FuZG8gbyBjb21wb25lbnRlIGEgcmVuZGVyaXphciB1bSBgcG8tc2VsZWN0YCBvdSBgcG8tcmFkaW8tZ3JvdXBgLlxuICAgKlxuICAgKiBWYWxvcmVzIGFjZWl0b3M6XG4gICAqIC0gRm9yY2VPcHRpb25Db21wb25lbnRFbnVtLnJhZGlvR3JvdXBcbiAgICogLSBGb3JjZU9wdGlvbkNvbXBvbmVudEVudW0uc2VsZWN0XG4gICAqXG4gICAqID5Fc3NhIHByb3ByaWVkYWRlIHNlcsOhIGlnbm9yYWRhIGNhc28gc2VqYSB1dGlsaXphZGEgZW0gY29uanVudG8gY29tIGEgcHJvcHJpZWRhZGUgYG9wdGlvbnNNdWx0aWAgZSBgb3B0aW9uc1NlcnZpY2VgLlxuICAgKi9cbiAgZm9yY2VPcHRpb25zQ29tcG9uZW50VHlwZT86IEZvcmNlT3B0aW9uQ29tcG9uZW50RW51bTtcblxuICAvKipcbiAgICogRXZlbnRvIGRpc3BhcmFkbyBhbyBmZWNoYXIgbyBwb3BvdmVyIGRvIGdlcmVuY2lhZG9yIGRlIGNvbHVuYXMgYXDDs3MgYWx0ZXJhciBhcyBjb2x1bmFzIHZpc8OtdmVpcy5cbiAgICpcbiAgICogTyBjb21wb25lbnRlIGVudmlhIGNvbW8gcGFyw6JtZXRybyB1bSBhcnJheSBkZSBzdHJpbmcgY29tIGFzIGNvbHVuYXMgdmlzw612ZWlzIGF0dWFsaXphZGFzLlxuICAgKiBQb3IgZXhlbXBsbzogW1wiaWRDYXJkXCIsIFwibmFtZVwiLCBcImhpcmVTdGF0dXNcIiwgXCJhZ2VcIl0uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzKio6IGBwby1sb29rdXBgXG4gICAqL1xuICBjaGFuZ2VWaXNpYmxlQ29sdW1ucz86IEZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBFdmVudG8gZGlzcGFyYWRvIGFvIGNsaWNhciBubyBib3TDo28gZGUgcmVzdGF1cmFyIHBhZHLDo28gbm8gZ2VyZW5jaWFkb3IgZGUgY29sdW5hcy5cbiAgICpcbiAgICogTyBjb21wb25lbnRlIGVudmlhIGNvbW8gcGFyw6JtZXRybyB1bSBhcnJheSBkZSBzdHJpbmcgY29tIGFzIGNvbHVuYXMgY29uZmlndXJhZGFzIGluaWNpYWxtZW50ZS5cbiAgICogUG9yIGV4ZW1wbG86IFtcImlkQ2FyZFwiLCBcIm5hbWVcIiwgXCJoaXJlU3RhdHVzXCIsIFwiYWdlXCJdLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpcyoqOiBgcG8tbG9va3VwYFxuICAgKi9cbiAgY29sdW1uUmVzdG9yZU1hbmFnZXI/OiBGdW5jdGlvbjtcblxuICAvKipcbiAgICogVVJMIHF1ZSBkZXZlIHNlciBmZWl0YSBhIHJlcXVpc2nDp8OjbyBjb20gb3MgYXJxdWl2b3Mgc2VsZWNpb25hZG9zLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIHVybD86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lIHNlIG8gZW52aW8gZG8gYXJxdWl2byBzZXLDoSBhdXRvbcOhdGljbyBhbyBzZWxlY2lvbmFyIG8gbWVzbW8uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgYXV0b1VwbG9hZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBlcm1pdGUgYSBzZWxlw6fDo28gZGUgZGlyZXTDs3Jpb3MgY29udGVuZG8gdW0gb3UgbWFpcyBhcnF1aXZvcyBwYXJhIGVudmlvLlxuICAgKlxuICAgKiA+IEEgaGFiaWxpdGHDp8OjbyBkZXN0YSBwcm9wcmllZGFkZSBzZSByZXN0cmluZ2UgYXBlbmFzIMOgIHNlbGXDp8OjbyBkZSBkaXJldMOzcmlvcy5cbiAgICpcbiAgICogPiBEZWZpbmnDp8OjbyBuw6NvIHN1cG9ydGFkYSBwZWxvIGJyb3dzZXIgKipJbnRlcm5ldCBFeHBsb3JlcioqLCB0b2RhdmlhIHNlcsOhIHBvc3PDrXZlbCBhIHNlbGXDp8OjbyBkZSBhcnF1aXZvcyBwYWRyw6NvLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIGRpcmVjdG9yeT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEV4aWJlIGEgw6FyZWEgb25kZSDDqSBwb3Nzw612ZWwgYXJyYXN0YXIgZSBzZWxlY2lvbmFyIG9zIGFycXVpdm9zLiBRdWFuZG8gZXN0aXZlciBkZWZpbmlkYSwgb21pdGUgbyBib3TDo28gcGFyYSBzZWxlw6fDo28gZGUgYXJxdWl2b3NcbiAgICogYXV0b21hdGljYW1lbnRlLlxuICAgKlxuICAgKiA+IFJlY29tZW5kYW1vcyB1dGlsaXphciBhcGVuYXMgdW0gYHBvLXVwbG9hZGAgY29tIGVzdGEgZnVuY2lvbmFsaWRhZGUgcG9yIHRlbGEuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgZHJhZ0Ryb3A/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgZW0gKnBpeGVscyogYSBhbHR1cmEgZGEgw6FyZWEgb25kZSBwb2RlbSBzZXIgYXJyYXN0YWRvcyBvcyBhcnF1aXZvcy4gQSBhbHR1cmEgbcOtbmltYSBhY2VpdGEgw6kgYDE2MHB4YC5cbiAgICpcbiAgICogPiBFc3RhIHByb3ByaWVkYWRlIGZ1bmNpb25hIHNvbWVudGUgc2UgYSBwcm9wcmllZGFkZSBgcC1kcmFnLWRyb3BgIGVzdGl2ZXIgaGFiaWxpdGFkYS5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBkcmFnRHJvcEhlaWdodD86IG51bWJlcjtcblxuICAvKipcbiAgICogT2JqZXRvIHF1ZSBzZWd1ZSBhIGRlZmluacOnw6NvIGRhIGludGVyZmFjZSBgUG9VcGxvYWRGaWxlUmVzdHJpY3Rpb25zYCxcbiAgICogcXVlIHBvc3NpYmlsaXRhIGRlZmluaXIgdGFtYW5obyBtw6F4aW1vL23DrW5pbW8gZSBleHRlbnPDo28gZG9zIGFycXVpdm9zIHBlcm1pdGlkb3MuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgcmVzdHJpY3Rpb25zPzogUG9VcGxvYWRGaWxlUmVzdHJpY3Rpb25zO1xuXG4gIC8qKlxuICAgKiBOb21lIGRvIGNhbXBvIGRlIGZvcm11bMOhcmlvIHF1ZSBzZXLDoSBlbnZpYWRvIHBhcmEgbyBzZXJ2acOnbyBpbmZvcm1hZG8gbmEgcHJvcHJpZWRhZGUgYHVybGAuXG4gICAqXG4gICAqID4gTyB2YWxvciBkZWZhdWx0IMOpIGBmaWxlc2BcbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBmb3JtRmllbGQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9iamV0byBxdWUgY29udMOpbSBvcyBjYWJlw6dhbGhvcyBxdWUgc2Vyw6EgZW52aWFkbyBuYSByZXF1aXNpw6fDo28gZG9zIGFycXVpdm9zLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIGhlYWRlcnM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+IH07XG5cbiAgLyoqXG4gICAqIE9jdWx0YSB2aXN1YWxtZW50ZSBhcyBpbmZvcm1hw6fDtWVzIGRlIHJlc3RyacOnw7VlcyBwYXJhIG8gdXBsb2FkLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIGhpZGVSZXN0cmljdGlvbnNJbmZvPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT21pdGUgbyBib3TDo28gZGUgc2VsZcOnw6NvIGRlIGFycXVpdm9zLlxuICAgKlxuICAgKiA+IENhc28gbyB2YWxvciBkZWZpbmlkbyBzZWphIGB0cnVlYCwgY2FiZXLDoSBhbyBkZXNlbnZvbHZlZG9yIGEgcmVzcG9uc2FiaWxpZGFkZVxuICAgKiBwZWxhIGNoYW1hZGEgZG8gbcOpdG9kbyBgc2VsZWN0RmlsZXMoKWAgcGFyYSBzZWxlw6fDo28gZGUgYXJxdWl2b3MuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgaGlkZVNlbGVjdEJ1dHRvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9taXRlIG8gYm90w6NvIGRlIGVudmlvIGRlIGFycXVpdm9zLlxuICAgKlxuICAgKiA+IENhc28gbyB2YWxvciBkZWZpbmlkbyBzZWphIGB0cnVlYCwgY2FiZXLDoSBhbyBkZXNlbnZvbHZlZG9yIGEgcmVzcG9uc2FiaWxpZGFkZVxuICAgKiBwZWxhIGNoYW1hZGEgZG8gbcOpdG9kbyBgc2VuZEZpbGVzKClgIHBhcmEgZW52aW8gZG8ocykgYXJxdWl2byhzKSBzZWxlY2lvbmFkbyhzKS5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBoaWRlU2VuZEJ1dHRvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERlZmluZSBzZSBhIGluZGljYcOnw6NvIGRlIGNhbXBvIG9icmlnYXTDs3JpbyBzZXLDoSBleGliaWRhLlxuICAgKlxuICAgKiA+IE7Do28gc2Vyw6EgZXhpYmlkYSBhIGluZGljYcOnw6NvIHNlOlxuICAgKiAtIE7Do28gcG9zc3VpciBgcC1oZWxwYCBlL291IGBwLWxhYmVsYC5cbiAgICovXG4gIHNob3dSZXF1aXJlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEV2ZW50byBzZXLDoSBkaXNwYXJhZG8gcXVhbmRvIG9jb3JyZXIgYWxndW0gZXJybyBubyBlbnZpbyBkbyBhcnF1aXZvLlxuICAgKiA+IFBvciBwYXLDom1ldHJvIHNlcsOhIHBhc3NhZG8gbyBvYmpldG8gZG8gcmV0b3JubyBxdWUgw6kgZG8gdGlwbyBgSHR0cEVycm9yUmVzcG9uc2VgLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIG9uRXJyb3I/OiBGdW5jdGlvbjtcblxuICAvKipcbiAgICogRXZlbnRvIHNlcsOhIGRpc3BhcmFkbyBxdWFuZG8gbyBlbnZpbyBkbyBhcnF1aXZvIGZvciByZWFsaXphZG8gY29tIHN1Y2Vzc28uXG4gICAqID4gUG9yIHBhcsOibWV0cm8gc2Vyw6EgcGFzc2FkbyBvIG9iamV0byBkbyByZXRvcm5vIHF1ZSDDqSBkbyB0aXBvIGBIdHRwUmVzcG9uc2VgLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIG9uU3VjY2Vzcz86IEZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBGdW7Dp8OjbyBxdWUgc2Vyw6EgZXhlY3V0YWRhIG5vIG1vbWVudG8gZGUgcmVhbGl6YXIgbyBlbnZpbyBkbyBhcnF1aXZvLFxuICAgKiBvbmRlIHNlcsOhIHBvc3PDrXZlbCBhZGljaW9uYXIgaW5mb3JtYcOnw7VlcyBhbyBwYXLDom1ldHJvIHF1ZSBzZXLDoSBlbnZpYWRvIG5hIHJlcXVpc2nDp8Ojby5cbiAgICogw4kgcGFzc2FkbyBwb3IgcGFyw6JtZXRybyB1bSBvYmpldG8gY29tIG8gYXJxdWl2byBlIGEgcHJvcHJpZWRhZGUgZGF0YSBuZXN0YSBwcm9wcmllZGFkZSBwb2RlIHNlciBpbmZvcm1hZG8gYWxndW0gZGFkbyxcbiAgICogcXVlIHNlcsOhIGVudmlhZG8gZW0gY29uanVudG8gY29tIG8gYXJxdWl2byBuYSByZXF1aXNpw6fDo28sIHBvciBleGVtcGxvOlxuICAgKlxuICAgKiBgYGBcbiAgICogICBldmVudC5kYXRhID0ge2lkOiAnaWQgZG8gdXN1w6FyaW8nfTtcbiAgICogYGBgXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgb25VcGxvYWQ/OiBGdW5jdGlvbjtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy1mb3JtLWZpZWxkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1keW5hbWljL3BvLWR5bmFtaWMtZm9ybS9wby1keW5hbWljLWZvcm0tZmllbGQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRXJyb3JBc3luY1Byb3BlcnRpZXMsXG4gIFBvQ2hlY2tib3hHcm91cE9wdGlvbixcbiAgUG9Db21ib0ZpbHRlcixcbiAgUG9Db21ib0xpdGVyYWxzLFxuICBQb0RhdGVwaWNrZXJJc29Gb3JtYXQsXG4gIFBvRGF0ZXBpY2tlclJhbmdlTGl0ZXJhbHMsXG4gIFBvTG9va3VwRmlsdGVyLFxuICBQb0xvb2t1cExpdGVyYWxzLFxuICBQb011bHRpc2VsZWN0RmlsdGVyTW9kZSxcbiAgUG9NdWx0aXNlbGVjdExpdGVyYWxzLFxuICBQb1N3aXRjaExhYmVsUG9zaXRpb24sXG4gIFBvVXBsb2FkRmlsZVJlc3RyaWN0aW9ucyxcbiAgUG9VcGxvYWRMaXRlcmFsc1xufSBmcm9tICcuLi8uLi9wby1maWVsZCc7XG5pbXBvcnQgeyBQb0xvb2t1cEFkdmFuY2VkRmlsdGVyIH0gZnJvbSAnLi4vLi4vcG8tZmllbGQvcG8tbG9va3VwL2ludGVyZmFjZXMvcG8tbG9va3VwLWFkdmFuY2VkLWZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9Mb29rdXBDb2x1bW4gfSBmcm9tICcuLi8uLi9wby1maWVsZC9wby1sb29rdXAvaW50ZXJmYWNlcy9wby1sb29rdXAtY29sdW1uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb011bHRpc2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vLi4vcG8tZmllbGQvcG8tbXVsdGlzZWxlY3QvcG8tbXVsdGlzZWxlY3Qtb3B0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1NlbGVjdE9wdGlvbiB9IGZyb20gJy4uLy4uL3BvLWZpZWxkL3BvLXNlbGVjdC9wby1zZWxlY3Qtb3B0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGb3JjZUJvb2xlYW5Db21wb25lbnRFbnVtLCBGb3JjZU9wdGlvbkNvbXBvbmVudEVudW0gfSBmcm9tICcuLi9wby1keW5hbWljLWZpZWxkLWZvcmNlLWNvbXBvbmVudC5lbnVtJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUG9EeW5hbWljRmllbGQgfSBmcm9tICcuLi9wby1keW5hbWljLWZpZWxkLmludGVyZmFjZSc7XG5cbi8qKlxuICogQHVzZWRCeSBQb0R5bmFtaWNGb3JtQ29tcG9uZW50LCBQb0FkdmFuY2VkRmlsdGVyQ29tcG9uZW50LCBQb1BhZ2VEeW5hbWljU2VhcmNoQ29tcG9uZW50XG4gKlxuICogQGRvY3NFeHRlbmRzIFBvRHluYW1pY0ZpZWxkXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogSW50ZXJmYWNlIHBhcmEgZGVmaW5pw6fDo28gZGFzIHByb3ByaWVkYWRlcyBkb3MgY2FtcG9zIGRlIGVudHJhZGEgcXVlIHNlcsOjbyBjcmlhZG9zIGRpbmFtaWNhbWVudGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9EeW5hbWljRm9ybUZpZWxkIGV4dGVuZHMgUG9EeW5hbWljRmllbGQge1xuICAvKipcbiAgICogRGVmaW5lIGFzIGNvbHVuYXMgcGFyYSB1dGlsaXphw6fDo28gZGEgYnVzY2EgYXZhbsOnYWRhLiBVc2FkYSBzb21lbnRlIGVtIGNvbmp1bnRvIGNvbSBhIHByb3ByaWVkYWRlIGBzZWFyY2hTZXJ2aWNlYCxcbiAgICogZXNzYSBwcm9wcmllZGFkZSBkZXZlIHJlY2ViZXIgdW0gYXJyYXkgZGUgb2JqZXRvcyBxdWUgaW1wbGVtZW50YW0gYSBpbnRlcmZhY2UgW2BQb0xvb2t1cENvbHVtbmBdKC9kb2N1bWVudGF0aW9uL3BvLWxvb2t1cCkuXG4gICAqXG4gICAqID4gQ2FzbyBzZWphbSBpbmZvcm1hZGFzIGNvbHVuYXMsIGRldmUtc2Ugb2JyaWdhdG9yaWFtZW50ZSBjb250ZXIgY29sdW5hcyBkZWZpbmlkYXMgY29tbyAqbGFiZWwqIGUgKnZhbHVlKiBwYXJhIHZhbG9yZXNcbiAgICogZGUgdGVsYSBlIGRvIG1vZGVsIHJlc3BlY3RpdmFtZW50ZS5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLXJhZGlvLWdyb3VwYCwgYHBvLWxvb2t1cGAsIGBwby1jaGVja2JveC1ncm91cGAuXG4gICAqL1xuICBjb2x1bW5zPzogQXJyYXk8UG9Mb29rdXBDb2x1bW4+IHwgbnVtYmVyO1xuXG4gIC8qKiBEZWZpbmUgYSBvYnJpZ2F0b3JpZWRhZGUgZG8gY2FtcG8uICovXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICpcbiAgICogRXhpYmUgYSBtZW5zYWdlbSBzZXRhZGEgbmEgcHJvcHJpZWRhZGUgYGVycm9yTWVzc2FnZWAgc2UgbyBjYW1wbyBlc3RpdmVyIHZhemlvIGUgZm9yIHJlcXVlcmlkby5cbiAgICpcbiAgICogPiBOZWNlc3PDoXJpbyBxdWUgYSBwcm9wcmllZGFkZSBgcmVxdWlyZWRgIGVzdGVqYSBoYWJpbGl0YWRhLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tZGF0ZXBpY2tlcmAsIGBwby1pbnB1dGAsIGBwby1udW1iZXJgLCBgcG8tZGVjaW1hbGAsIGBwby1wYXNzd29yZGAuXG4gICAqL1xuICByZXF1aXJlZEZpZWxkRXJyb3JNZXNzYWdlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGVmaW5lIHNlIGEgaW5kaWNhw6fDo28gZGUgY2FtcG8gb3BjaW9uYWwgc2Vyw6EgZXhpYmlkYS5cbiAgICpcbiAgICogPiBBIGluZGljYcOnw6NvIG7Do28gc2Vyw6EgZXhpYmlkYSwgc2U6XG4gICAqIC0gTyBjYW1wbyBmb3IgYHJlcXVpcmVkYCwgb3U7XG4gICAqIC0gTsOjbyBwb3NzdWlyIGBoZWxwYCBlIGBsYWJlbGAuXG4gICAqL1xuICBvcHRpb25hbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExpc3RhIGRlIG9ww6fDtWVzIHF1ZSBzZXLDo28gZXhpYmlkb3MgZW0gdW0gY29tcG9uZW50ZSwgcG9kZW5kbyBzZWxlY2lvbmFyIHVtYSBvcMOnw6NvLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tc2VsZWN0YCwgYHBvLXJhZGlvLWdyb3VwYCwgYHBvLWNoZWNrYm94LWdyb3VwYCwgYHBvLW11bHRpc2VsZWN0YC5cbiAgICogKi9cbiAgb3B0aW9ucz86XG4gICAgfCBBcnJheTxzdHJpbmc+XG4gICAgfCBBcnJheTxQb1NlbGVjdE9wdGlvbj5cbiAgICB8IEFycmF5PFBvTXVsdGlzZWxlY3RPcHRpb24+XG4gICAgfCBBcnJheTxQb0NoZWNrYm94R3JvdXBPcHRpb24+XG4gICAgfCBBcnJheTxhbnk+O1xuXG4gIC8qKlxuICAgKiBQZXJtaXRlIHF1ZSBvIHVzdcOhcmlvIGZhw6dhIG3Dumx0aXBsYSBzZWxlw6fDo28gZGVudHJvIGRhIGxpc3RhIGRlIG9ww6fDtWVzLlxuICAgKi9cbiAgb3B0aW9uc011bHRpPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogIFNlcnZpw6dvIHF1ZSBzZXLDoSB1dGlsaXphZG8gcGFyYSBidXNjYXIgb3MgaXRlbnMgZSBwcmVlbmNoZXIgYSBsaXN0YSBkZSBvcMOnw7VlcyBkaW5hbWljYW1lbnRlLlxuICAgKiAgUG9kZSBzZXIgaW5mb3JtYWRhIHVtYSBVUkwgb3UgdW1hIGluc3RhbmNpYSBkbyBzZXJ2acOnbyBiYXNlYWRvIGVtIFBvQ29tYm9GaWx0ZXIuXG4gICAqICAqKkltcG9ydGFudGUqKlxuICAgKiAgPiBQYXJhIHF1ZSBmdW5jaW9uZSBjb3JyZXRhbWVudGUsIMOpIGltcG9ydGFudGUgcXVlIG8gc2VydmnDp28gc2lnYSBvXG4gICAqICBbZ3VpYSBkZSBBUEkgZG8gUE8gVUldKGh0dHBzOi8vcG8tdWkuaW8vZ3VpZGVzL2FwaSkuXG4gICAqL1xuICBvcHRpb25zU2VydmljZT86IHN0cmluZyB8IFBvQ29tYm9GaWx0ZXI7XG5cbiAgLyoqXG4gICAqIFNlcnZpw6dvIHF1ZSBzZXLDoSB1dGlsaXphZG8gcGFyYSByZWFsaXphciBhIGJ1c2NhIGF2YW7Dp2FkYS4gUG9kZSBzZXIgdXRpbGl6YWRvIGVtIGNvbmp1bnRvIGNvbSBhIHByb3ByaWVkYWRlIGBjb2x1bW5zYC5cbiAgICogUG9kZSBzZXIgc2VyIGluZm9ybWFkYSB1bWEgVVJMIG91IHVtYSBpbnN0YW5jaWEgZG8gc2VydmnDp28gYmFzZWFkbyBlbSBQb0xvb2t1cEZpbHRlci5cbiAgICogKipJbXBvcnRhbnRlOioqXG4gICAqID4gQ2FzbyB1dGlsaXphciBhIHByb3ByaWVkYWRlIGBvcHRpb25zU2VydmljZWAgZXN0YSBwcm9wcmllZGFkZSBzZXLDoSBpZ25vcmFkYS5cbiAgICogPiBQYXJhIHF1ZSBmdW5jaW9uZSBjb3JyZXRhbWVudGUsIMOpIGltcG9ydGFudGUgcXVlIG8gc2VydmnDp28gc2lnYSBvXG4gICAqIFtndWlhIGRlIEFQSSBkbyBQTyBVSV0oaHR0cHM6Ly9wby11aS5pby9ndWlkZXMvYXBpKS5cbiAgICovXG4gIHNlYXJjaFNlcnZpY2U/OiBzdHJpbmcgfCBQb0xvb2t1cEZpbHRlcjtcblxuICAvKipcbiAgICogTcOhc2NhcmEgcGFyYSBvIGNhbXBvLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8taW5wdXRgLlxuICAgKiA+IHRhbWLDqW0gw6kgYXRyaWJ1w61kbyBhbyB1dGlsaXphciBhIHByb3ByaWVkYWRlIGB0eXBlOiB0aW1lYC5cbiAgICovXG4gIG1hc2s/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlZmluZSBxdWUgbyB2YWxvciBkbyBjb21wb25lbnRlIHNlcsOhIGNvbmZvcm1lIGVzcGVjaWZpY2FkbyBuYSBtYXNjw6FyYS4gTyB2YWxvciBwYWRyw6NvIMOpIGBmYWxzZWAuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1pbnB1dGAuXG4gICAqID4gdGFtYsOpbSDDqSBhdHJpYnXDrWRvIGFvIHV0aWxpemFyIGEgcHJvcHJpZWRhZGUgYHR5cGU6IHRpbWVgLlxuICAgKiAqL1xuICBtYXNrRm9ybWF0TW9kZWw/OiBib29sZWFuO1xuXG4gIC8qKiBEZWZpbmUgbyDDrWNvbmUgcXVlIHNlcsOhIGV4aWJpZG8gbm8gaW7DrWNpbyBkbyBjYW1wby5cbiAgICogPiBFc3RhIHByb3ByaWVkYWRlIHPDsyBwb2RlIHNlciB1dGlsaXphZG8gbm9zIGNhbXBvczpcbiAgICogLSBJbnB1dDtcbiAgICogLSBOdW1iZXI7XG4gICAqIC0gRGVjaW1hbDtcbiAgICogLSBDb21ibztcbiAgICogLSBQYXNzd29yZDtcbiAgICpcbiAgICogPiBWZWphIGEgZGlzcG9uaWJpbGlkYWRlIGRlIMOtY29uZXMgZW0gW2JpYmxpb3RlY2EgZGUgw61jb25lc10oZ3VpZGVzL2ljb25zKS5cbiAgICovXG4gIGljb24/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICAvKiogIFF1YW50aWRhZGUgbcOheGltYSBkZSBjYXNhcyBkZWNpbWFpcy5cbiAgICpcbiAgICogPiBFc3RhIHByb3ByaWVkYWRlIHPDsyBwb2RlIHNlciB1dGlsaXphZGEgcXVhbmRvIG8gYHR5cGVgIGZvciAqY3VycmVuY3kqIG91ICpkZWNpbWFsKi5cbiAgICovXG4gIGRlY2ltYWxzTGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8qKiBRdWFudGlkYWRlIG3DoXhpbWEgZGUgZMOtZ2l0b3MgYW50ZXMgZG8gc2VwYXJhZG9yIGRlY2ltYWwuIE8gdmFsb3IgbcOheGltbyBwZXJtaXRpZG8gw6kgMTNcbiAgICpcbiAgICogPiBFc3RhIHByb3ByaWVkYWRlIHPDsyBwb2RlIHNlciB1dGlsaXphZGEgcXVhbmRvIG8gYHR5cGVgIGZvciAqY3VycmVuY3kqIG91ICpkZWNpbWFsKi5cbiAgICovXG4gIHRob3VzYW5kTWF4bGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBSZWdleCBwYXJhIHZhbGlkYcOnw6NvIGRvIGNhbXBvLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8taW5wdXRgLCBgcG8tcGFzc3dvcmRgLlxuICAgKiAqL1xuICBwYXR0ZXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUYW1hbmhvIG3DrW5pbW8gZGUgY2FyYWN0ZXJlcy5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWlucHV0YCwgYHBvLW51bWJlcmAsIGBwby1kZWNpbWFsYCwgYHBvLXRleHRhcmVhYCwgYHBvLXBhc3N3b3JkYC5cbiAgICogKi9cbiAgbWluTGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUYW1hbmhvIG3DoXhpbW8gZGUgY2FyYWN0ZXJlcy5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWlucHV0YCwgYHBvLW51bWJlcmAsIGBwby1kZWNpbWFsYCwgYHBvLXRleHRhcmVhYCwgYHBvLXBhc3N3b3JkYC5cbiAgICovXG4gIG1heExlbmd0aD86IG51bWJlcjtcblxuICAvKiogRGVzYWJpbGl0YSBvIGNhbXBvIGNhc28gaW5mb3JtYXIgbyB2YWxvciAqdHJ1ZSouICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcblxuICAvKiogVGV4dG8gZGUgYWp1ZGEuICovXG4gIGhlbHA/OiBzdHJpbmc7XG5cbiAgLyoqIFRleHRvIGV4aWJpZG8gcXVhbmRvIG8gdmFsb3IgZG8gY29tcG9uZW50ZSBmb3IgKnRydWUqLiAqL1xuICBib29sZWFuVHJ1ZT86IHN0cmluZztcblxuICAvKiogVGV4dG8gZXhpYmlkbyBxdWFuZG8gbyB2YWxvciBkbyBjb21wb25lbnRlIGZvciAqZmFsc2UqLiAqL1xuICBib29sZWFuRmFsc2U/OiBzdHJpbmc7XG5cbiAgLyoqIEluZGljYSBzZSBvIHN0YXR1cyBkbyBgbW9kZWxgIHNlcsOhIGVzY29uZGlkbyB2aXN1YWxtZW50ZSBhbyBsYWRvIGRvIHN3aXRjaCAqL1xuICBoaWRlTGFiZWxTdGF0dXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2Egc2UgbyBgbW9kZWxgIHJlY2ViZXLDoSBvIHZhbG9yIGZvcm1hdGFkbyBwZWxhcyBwcm9wcmllZGFkZXMgYHAtbGFiZWwtb25gIGUgYHAtbGFiZWwtb2ZmYCBvdVxuICAgKiBhcGVuYXMgbyB2YWxvciBwdXJvIChzZW0gZm9ybWF0YcOnw6NvKS5cbiAgICpcbiAgICogTyB2YWxvciBwYWRyw6NvIMOpOiBgZmFsc2VgLlxuICAgKlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgZXN0w6EgZGlzcG9uaXZlbCAgYXBlbmFzIHBhcmEgbyBgc3dpY3RoYC5cbiAgICovXG4gIGZvcm1hdE1vZGVsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVmFsb3IgbcOheGltbyBhIHNlciBpbmZvcm1hZG8gbm8gY29tcG9uZW50ZSwgcG9kZW5kbyBzZXIgdXRpbGl6YWRvIHF1YW5kbyBvIHRpcG8gZGUgZGFkbyBwb3IgKm51bWJlciosICpkYXRlKiBvdSAqZGF0ZVRpbWUqLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tZGF0ZXBpY2tlcmAsIGBwby1kYXRlcGlja2VyLXJhbmdlYCwgYHBvLW51bWJlcmAsIGBwby1kZWNpbWFsYFxuICAgKiAqL1xuICBtYXhWYWx1ZT86IHN0cmluZyB8IG51bWJlcjtcblxuICAvKipcbiAgICogVmFsb3IgbcOtbmltbyBhIHNlciBpbmZvcm1hZG8gbm8gY29tcG9uZW50ZSwgcG9kZW5kbyBzZXIgdXRpbGl6YWRvIHF1YW5kbyBvIHRpcG8gZGUgZGFkbyBwb3IgKm51bWJlciosICpkYXRlKiBvdSAqZGF0ZVRpbWUqLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tZGF0ZXBpY2tlcmAsIGBwby1kYXRlcGlja2VyLXJhbmdlYCwgYHBvLW51bWJlcmAsIGBwby1kZWNpbWFsYFxuICAgKi9cbiAgbWluVmFsdWU/OiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgLyoqIFF1YW50aWRhZGUgZGUgbGluaGFzIGV4aWJpZGFzIG5vIGBwby10ZXh0YXJlYWAuICovXG4gIHJvd3M/OiBudW1iZXI7XG5cbiAgLyoqIEVzY29uZGUgYSBpbmZvcm1hw6fDo28gZXN0aWxvICpwYXNzd29yZCosIHBvZGUgc2VyIHV0aWxpemFkbyBxdWFuZG8gbyB0aXBvIGRlIGRhZG8gZm9yICpzdHJpbmcqLiAqL1xuICBzZWNyZXQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBGdW7Dp8OjbyBvdSBzZXJ2acOnbyBwYXJhIHZhbGlkYXIgYXMgKiptdWRhbsOnYXMgZG8gY2FtcG8qKi5cbiAgICpcbiAgICogKiBBIHByb3ByaWVkYWRlIGFjZWl0YSBvcyBzZWd1aW50ZXMgdGlwb3M6XG4gICAqIC0gKipTdHJpbmcqKjogRW5kcG9pbnQgdXNhZG8gcGVsbyBjb21wb25lbnRlIHBhcmEgcmVxdWlzacOnw6NvIHZpYSBgUE9TVGAuXG4gICAqIC0gKipGdW5jdGlvbioqOiBNw6l0b2RvIHF1ZSBzZXLDoSBleGVjdXRhZG8uXG4gICAqXG4gICAqIEFvIHNlciBleGVjdXRhZG8sIGlyw6EgcmVjZWJlciBjb21vIHBhcsOibWV0cm8gdW0gb2JqZXRvIGNvbSBvIG5vbWUgZGEgcHJvcHJpZWRhZGVcbiAgICogYWx0ZXJhZGEgZSBvIG5vdm8gdmFsb3IsIGNvbmZvcm1lIGEgaW50ZXJmYWNlIGBQb0R5bmFtaWNGb3JtRmllbGRDaGFuZ2VkYDpcbiAgICpcbiAgICogYGBcbiAgICogeyBwcm9wZXJ0eTogJ3Byb3BlcnR5IG5hbWUnLCB2YWx1ZTogJ25ldyB2YWx1ZScgfVxuICAgKiBgYFxuICAgKlxuICAgKiBPIHJldG9ybm8gZGVzdGEgZnVuw6fDo28gZGV2ZSBzZXIgZG8gdGlwbyBbUG9EeW5hbWljRm9ybUZpZWxkVmFsaWRhdGlvbl0oZG9jdW1lbnRhdGlvbi9wby1keW5hbWljLWZvcm0jcG8tZHluYW1pYy1mb3JtLWZpZWxkLXZhbGlkYXRpb24pLFxuICAgKiBvbmRlIG8gdXN1w6FyaW8gcG9kZXLDoSBkZXRlcm1pbmFyIGFzIG5vdmFzIHByb3ByaWVkYWRlcyBkbyBjYW1wby5cbiAgICogUG9yIGV4ZW1wbG86XG4gICAqXG4gICAqIGBgYFxuICAgKiBvbkNoYW5nZUZpZWxkKGNoYW5nZVZhbHVlKTogUG9EeW5hbWljRm9ybUZpZWxkVmFsaWRhdGlvbiB7XG4gICAqXG4gICAqIGlmIChjaGFuZ2VWYWx1ZS5wcm9wZXJ0eSA9PT0gJ2JpcnRoZGF5JyAmJiAhdGhpcy52YWxpZGF0ZSgnYmlydGhkYXknKSkge1xuICAgKiAgIHJldHVybiB7XG4gICAqICAgICB2YWx1ZTogJycsXG4gICAqICAgICBmaWVsZDogeyBwcm9wZXJ0eTogJ2JpcnRoZGF5JywgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICogICAgIGZvY3VzOiB0cnVlXG4gICAqICAgfTtcbiAgICogfVxuICAgKiBgYGBcbiAgICpcbiAgICogUGFyYSByZWZlcmVuY2lhciBhIHN1YSBmdW7Dp8OjbyB1dGlsaXplIGEgcHJvcHJpZWRhZGUgYGJpbmRgLCBwb3IgZXhlbXBsbzpcbiAgICogYGBcbiAgICogeyBwcm9wZXJ0eTogJ3N0YXRlJywgZ3JpZENvbHVtbnM6IDYsIHZhbGlkYXRlOiB0aGlzLm15RnVuY3Rpb24uYmluZCh0aGlzKSB9XG4gICAqIGBgXG4gICAqL1xuICB2YWxpZGF0ZT86IHN0cmluZyB8IEZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBPYmpldG8gcXVlIHNlcsOhIGVudmlhZG8gY29tbyBwYXLDom1ldHJvIG5hcyByZXF1aXNpw6fDtWVzIGRlIGJ1c2NhIHVzYWRvcyBwZWxvcyBjb21wb25lbnRlcyBgcG8tbG9va3VwYCBlXG4gICAqIGBwby1jb21ib2AuXG4gICAqXG4gICAqIFBvciBleGVtcGxvLCBwYXJhIG8gcGFyw6JtZXRybyBgeyBhZ2U6IDIzIH1gIGEgVVJMIGRhIHJlcXVpc2nDp8OjbyBmaWNhcmlhOlxuICAgKlxuICAgKiBgYFxuICAgKiB1cmwgKyA/YWdlPTIzJmZpbHRlcj1QZXRlclxuICAgKiBgYFxuICAgKi9cbiAgcGFyYW1zPzogYW55O1xuXG4gIC8qKlxuICAgKiBNZW5zYWdlbSBxdWUgc2Vyw6EgYXByZXNlbnRhZGEgcXVhbmRvIG8gY2FtcG8gZmljYXIgaW52w6FsaWRvLlxuICAgKlxuICAgKiBPIGNhbXBvIGZpY2EgaW52w6FsaWRvIHF1YW5kbyBhcyBzZWd1aW50ZXMgcHJvcHJpZWRhZGVzIG7Do28gZm9yZW0gcmVzcGVpdGFkYXM6XG4gICAqICAtIHBhdHRlcm47XG4gICAqICAtIG1pblZhbHVlO1xuICAgKiAgLSBtYXhWYWx1ZTtcbiAgICpcbiAgICogPiBFc3RhIG1lbnNhZ2VtIG7Do28gw6kgYXByZXNlbnRhZGEgcXVhbmRvIG8gY2FtcG8gZXN0aXZlciB2YXppbywgbWVzbW8gcXVlIGVsZSBzZWphIHJlcXVlcmlkby5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWRhdGVwaWNrZXJgLCBgcG8taW5wdXRgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgLCBgcG8tcGFzc3dvcmRgLlxuICAgKi9cbiAgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGdW7Dp8OjbyBleGVjdXRhZGEgcGFyYSByZWFsaXphciBhIHZhbGlkYcOnw6NvIGFzc8OtbmNyb25hIHBlcnNvbmFsaXphZGEuXG4gICAqIEV4ZWN1dGFkYSBhbyBkaXNwYXJhciBvIG91dHB1dCBgY2hhbmdlYCBvdSBgY2hhbmdlLW1vZGVsYCwgZGVwZW5kZW5kbyBkbyB2YWxvciBkYSBwcm9wcmllZGFkZSBgdHJpZ2dlck1vZGVgLlxuICAgKlxuICAgKlxuICAgKiA+IFJldG9ybmEgYE9ic2VydmFibGUgY29tIG8gdmFsb3IgdHJ1ZWAgcGFyYSBzaW5hbGl6YXIgbyBlcnJvIGBmYWxzZWAgcGFyYSBpbmRpY2FyIHF1ZSBuw6NvIGjDoSBlcnJvLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLWRhdGVwaWNrZXJgXG4gICAqL1xuICBlcnJvckFzeW5jRnVuY3Rpb24/OiAodmFsdWUpID0+IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgLyoqXG4gICAqIFJlYWxpemEgYWxndW1hIHZhbGlkYcOnw6NvIGN1c3RvbWl6YWRhIGFzc8OtbmNyb25hIG5vIGNvbXBvbmVudGUuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1pbnB1dGAsIGBwby1udW1iZXJgLCBgcG8tZGVjaW1hbGAsIGBwby1wYXNzd29yZGAuXG4gICAqL1xuICBlcnJvckFzeW5jUHJvcGVydGllcz86IEVycm9yQXN5bmNQcm9wZXJ0aWVzO1xuXG4gIC8qKlxuICAgKiBGb3JtYXRvIGRlIGV4aWJpw6fDo28gbm8gY2FtcG8uXG4gICAqXG4gICAqIEFvIHV0aWxpemFyIGVzdGEgcHJvcHJpZWRhZGUgY29tIG8gYHR5cGVgICpQb0R5bmFtaWNGaWVsZFR5cGUuRGF0ZSogb3UgKlBvRHluYW1pY0ZpZWxkVHlwZS5EYXRlVGltZSosXG4gICAqIHBvZGUgc2VyIHV0aWxpemFkYSBwYXJhIGZvcm1hdGHDp8OjbyBkZSBleGliacOnw6NvIGRhIGRhdGE6XG4gICAqXG4gICAqIFZhbG9yZXMgdsOhbGlkb3M6XG4gICAqXG4gICAqIC0gZGQvbW0veXl5eVxuICAgKiAtIG1tL2RkL3l5eXlcbiAgICogLSB5eXl5L21tL2RkXG4gICAqXG4gICAqXG4gICAqIFRhbWLDqW0gcG9kZS1zZSB1dGlsaXphciBlbSBjb25qdW50byBjb20gYHNlYXJjaFNlcnZpY2VgLCBpbmZvcm1hbmRvIHVtYSBsaXN0YSBkZSBwcm9wcmllZGFkZXMgcXVlIHNlcsOhIHV0aWxpemFkb1xuICAgKiBwYXJhIGZvcm1hdGHDp8OjbyBkYSBleGliacOnw6NvIG5vIGNhbXBvLCBwb3IgZXhlbXBsbzogW1wiaWRcIiwgXCJuYW1lXCJdLlxuICAgKi9cbiAgZm9ybWF0Pzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPjtcblxuICAvKipcbiAgICogTm9tZSBkYSBwcm9wcmllZGFkZSBkbyBvYmpldG8gcmV0b3JuYWRvIHF1ZSBzZXLDoSB1dGlsaXphZG8gY29tbyBkZXNjcmnDp8OjbyBkbyBjYW1wby5cbiAgICpcbiAgICogTyB2YWxvciBwYWRyw6NvIMOpOiBgbGFiZWxgLlxuICAgKlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgcG9kZSBzZXIgdXRpbGl6YWRhIGVtIGNvbmp1bnRvIGNvbTogYG9wdGlvbnNgLCBgb3B0aW9uc1NlcnZpY2VgIGUgYHNlYXJjaFNlcnZpY2VgLlxuICAgKi9cbiAgZmllbGRMYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogTm9tZSBkYSBwcm9wcmllZGFkZSBkbyBvYmpldG8gcmV0b3JuYWRvIHF1ZSBzZXLDoSB1dGlsaXphZG8gY29tbyB2YWxvciBkbyBjYW1wby5cbiAgICpcbiAgICogTyB2YWxvciBwYWRyw6NvIMOpOiBgdmFsdWVgLlxuICAgKlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgcG9kZSBzZXIgdXRpbGl6YWRhIGVtIGNvbmp1bnRvIGNvbTogYG9wdGlvbnNgLCBgb3B0aW9uc1NlcnZpY2VgIGUgYHNlYXJjaFNlcnZpY2VgLlxuICAgKi9cbiAgZmllbGRWYWx1ZT86IHN0cmluZztcblxuICAvKipcbiAgICogSW5mb3JtYSBhIG9yZGVtIGRlIGV4aWJpw6fDo28gZG8gY2FtcG8uXG4gICAqXG4gICAqIEV4ZW1wbG8gZGUgdXRpbGl6YcOnw6NvOlxuICAgKlxuICAgKiBgYFxuICAgKiBbXG4gICAqICAgeyBwcm9wZXJ0eTogJ3Rlc3QgMScsIG9yZGVyOiAyIH0sXG4gICAqICAgeyBwcm9wZXJ0eTogJ3Rlc3QgMicsIG9yZGVyOiAxIH0sXG4gICAqICAgeyBwcm9wZXJ0eTogJ3Rlc3QgMycgfSxcbiAgICogICB7IHByb3BlcnR5OiAndGVzdCA0Jywgb3JkZXI6IDMgfVxuICAgKiBdO1xuICAgKiBgYFxuICAgKlxuICAgKiBOYSBleGliacOnw6NvIGEgb3JkZW0gZmljYXLDoSBkZXNzYSBmb3JtYTpcbiAgICogYGBcbiAgICogW1xuICAgKiAgIHsgcHJvcGVydHk6ICd0ZXN0IDInLCBvcmRlcjogMSB9LFxuICAgKiAgIHsgcHJvcGVydHk6ICd0ZXN0IDEnLCBvcmRlcjogMiB9LFxuICAgKiAgIHsgcHJvcGVydHk6ICd0ZXN0IDQnLCBvcmRlcjogMyB9LFxuICAgKiAgIHsgcHJvcGVydHk6ICd0ZXN0IDMnIH1cbiAgICogXTtcbiAgICogYGBcbiAgICpcbiAgICogU8OzIHNlcsOjbyBhY2VpdG9zIHZhbG9yZXMgY29tIG7Dum1lcm9zIGludGVpcm9zIG1haW9yZXMgZG8gcXVlIHplcm8uXG4gICAqXG4gICAqIENhbXBvcyBzZW0gYG9yZGVyYCBvdSBjb20gdmFsb3JlcyBuZWdhdGl2b3MsIHplcmFkb3Mgb3UgaW52w6FsaWRvc1xuICAgKiBzZXLDo28gb3Mgw7psdGltb3MgYSBzZXJlbSByZW5kZXJpemFkb3MgZSBzZWd1aXLDo28gbyBwb3NpY2lvbmFtZW50byBkZW50cm8gZG9cbiAgICogYXJyYXkuXG4gICAqL1xuICBvcmRlcj86IG51bWJlcjtcblxuICAvKiogTWVuc2FnZW0gcXVlIHNlcsOhIGV4aWJpZGEgZW5xdWFudG8gbyBjYW1wbyBuw6NvIGVzdGl2ZXIgcHJlZW5jaGlkby4gKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlZmluZSBhIGxvY2FsaWRhZGUgYSBzZXIgdXRpbGl6YWRhIG5vIGNvbXBvbmVudGUuXG4gICAqIFBvciBwYWRyw6NvIG8gdmFsb3Igc2Vyw6EgY29uZmlndXJhZG8gc2VndW5kbyBhIG8gbcOzZHVsbyBbYEkxOG5gXShkb2N1bWVudGF0aW9uL3BvLWkxOG4pXG4gICAqXG4gICAqIEV4ZW1wbG8gZGUgdXRpbGl6YcOnw6NvOlxuICAgKiBgYFxuICAgKiBbXG4gICAqICAgeyBwcm9wZXJ0eTogJ2JpcnRoZGF5JywgbG9jYWxlOiAnZW4nLCB0eXBlOiAnZGF0ZScgfSxcbiAgICogICB7IHByb3BlcnR5OiAnd2FnZScsIGxvY2FsZTogJ3J1JywgdHlwZTogJ2N1cnJlbmN5JyB9XG4gICAqIF07XG4gICAqIGBgXG4gICAqXG4gICAqID4gUGFyYSB2ZXIgcXVhaXMgbGluZ3VhZ2VucyBzdXBvcnRhZGFzIGFjZXNzZSBbYEkxOG5gXShkb2N1bWVudGF0aW9uL3BvLWkxOG4pXG4gICAqID4gQSBwcm9wcmllZGFkZSBzZXLDoSByZXBhc3NhZGEgcGFyYSBvcyBjb21wb25lbnRlcyBxdWUgc3Vwb3J0YW0gYSBtZXNtYS5cbiAgICovXG4gIGxvY2FsZT86IHN0cmluZztcblxuICAvKipcbiAgICogTyBjb250cm9sZSBwYXNzYSBhIHBlcm1pdGlyIGEgZW50cmFkYSBkZSB1bSBpbnRlcnZhbG8gYW8gaW52w6lzIGRlIHVtIMO6bmljbyB2YWxvci5cbiAgICpcbiAgICogPiBBdHVhbG1lbnRlIGVzc2EgcHJvcHJpZWRhZGUgZXN0w6EgZGlzcG9uw612ZWwgYXBlbmFzIHBhcmEgbyB0aXBvICdkYXRlJyBlICdkYXRlVGltZScuXG4gICAqL1xuICByYW5nZT86IGJvb2xlYW47XG5cbiAgLyoqIEluZGljYSBxdWUgbyBjYW1wbyBzZXLDoSBzb21lbnRlIGxlaXR1cmEuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1kYXRlcGlja2VyYCwgYHBvLWRhdGVwaWNrZXItcmFuZ2VgLCBgcG8taW5wdXRgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgLCBgcG8tc2VsZWN0YCwgYHBvLXRleHRhcmVhYCwgYHBvLXBhc3N3b3JkYFxuICAgKi9cbiAgcmVhZG9ubHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQZXJtaXRlIGEgc2VsZcOnw6NvIGRlIG3Dumx0aXBsb3MgaXRlbnMuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbDoqKiBgcG8tbG9va3VwYCwgYHBvLXVwbG9hZGBcbiAgICovXG4gIG11bHRpcGxlPzogYm9vbGVhbjtcblxuICAvKiogU2UgdmVyZGFkZWlybywgbyBjYW1wbyByZWNlYmVyw6EgdW0gYm90w6NvIHBhcmEgc2VyIGxpbXBvLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tZGF0ZXBpY2tlcmAsIGBwby1kYXRlcGlja2VyLXJhbmdlYCwgYHBvLWlucHV0YCwgYHBvLW51bWJlcmAsIGBwby1kZWNpbWFsYCwgYHBvLWNvbWJvYCwgYHBvLWxvb2t1cGAsIGBwby1wYXNzd29yZGBcbiAgICovXG4gIGNsZWFuPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGVmaW5lIGEgcHJvcHJpZWRhZGUgbmF0aXZhIGBhdXRvY29tcGxldGVgIGRvIGNhbXBvIGNvbW8gb2ZmLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tZGF0ZXBpY2tlcmAsIGBwby1kYXRlcGlja2VyLXJhbmdlYCwgYHBvLWlucHV0YCwgYHBvLW51bWJlcmAsIGBwby1kZWNpbWFsYCwgYHBvLWxvb2t1cGAsIGBwby1wYXNzd29yZGBcbiAgICovXG4gIG5vQXV0b2NvbXBsZXRlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUG9zacOnw6NvIGRlIGV4aWJpw6fDo28gZG8gcsOzdHVsbyBkbyBQb1N3aXRjaC5cbiAgICogPiBQb3IgcGFkcsOjbyBleGliZSDDoCBkaXJlaXRhLlxuICAgKi9cbiAgbGFiZWxQb3NpdGlvbj86IFBvU3dpdGNoTGFiZWxQb3NpdGlvbjtcblxuICAvKipcbiAgICogUGVybWl0ZSBlc2NvbmRlciBhIGZ1bsOnw6NvIGRlIGVzcGlhciBhIHNlbmhhIGRpZ2l0YWRhIG5vIGBwby1wYXNzd29yZGAuXG4gICAqL1xuICBoaWRlUGFzc3dvcmRQZWVrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUGFkcsOjbyBkZSBmb3JtYXRhw6fDo28gcGFyYSBzYcOtZGEgZG8gbW9kZWwsIGluZGVwZW5kZW50ZW1lbnRlIGRvIGZvcm1hdG8gZGUgZW50cmFkYS5cbiAgICpcbiAgICogPiBWZWphIG9zIHZhbG9yZXMgdsOhbGlkb3Mgbm8gYGVudW1Qb0RhdGVwaWNrZXJJc29Gb3JtYXRgLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWw6KiogcG8tZGF0ZXBpY2tlclxuICAgKi9cbiAgaXNvRm9ybWF0PzogUG9EYXRlcGlja2VySXNvRm9ybWF0O1xuXG4gIC8qKlxuICAgKiBPYmpldG8gY29tIGFzIGxpdGVyYWlzIHVzYWRhcyBwYXJhIG9zIHNlZ3VpbnRlcyBjb21wb25lbnRlczogYHBvLWxvb2t1cGAsIGBwby1tdWx0aXNlbGVjdGAsIGBwby1jb21ib2AgZSBgcG8tZGF0ZXBpY2tlci1yYW5nZWAuXG4gICAqXG4gICAqID4gTyBvYmpldG8gcGFkcsOjbyBkZSBsaXRlcmFpcyBzZXLDoSB0cmFkdXppZG8gZGUgYWNvcmRvIGNvbSBvIGlkaW9tYSBkbyBQb0kxOG5TZXJ2aWNlIG91IGRvIGJyb3dzZXIuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1sb29rdXBgLCBgcG8tbXVsdGlzZWxlY3RgLCBgcG8tY29tYm9gLCBgcG8tZGF0ZXBpY2tlci1yYW5nZWBcbiAgICovXG4gIGxpdGVyYWxzPzogUG9Mb29rdXBMaXRlcmFscyB8IFBvTXVsdGlzZWxlY3RMaXRlcmFscyB8IFBvQ29tYm9MaXRlcmFscyB8IFBvRGF0ZXBpY2tlclJhbmdlTGl0ZXJhbHMgfCBQb1VwbG9hZExpdGVyYWxzO1xuXG4gIC8qKlxuICAgKiBTZSB2ZXJkYWRlaXJvIGF0aXZhIGEgZnVuY2lvbmFsaWRhZGUgZGUgc2Nyb2xsIGluZmluaXRvIHBhcmEgbyBjb21ibyBvdSBsb29rdXAsIGFvIGNoZWdhciBhbyBmaW0gZGEgdGFiZWxhIGV4ZWN1dGFyw6Egbm92YSBidXNjYSBkb3MgZGFkb3MgY29uZm9ybWUgcGFnaW5hw6fDo28uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1jb21ib2AsIGBwby1sb29rdXBgLlxuICAgKi9cbiAgaW5maW5pdGVTY3JvbGw/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgbyBwZXJjZW50dWFsIG5lY2Vzc8OhcmlvIHBhcmEgZGlzcGFyYXIgbyBldmVudG8gc2hvdy1tb3JlLCBxdWUgw6kgcmVzcG9uc8OhdmVsIHBvciBjYXJyZWdhciBtYWlzIGRhZG9zIG5vIGNvbWJvLiBDYXNvIG8gdmFsb3Igc2VqYSBtYWlvciBxdWUgMTAwIG91IG1lbm9yIHF1ZSAwLCBvIHZhbG9yIHBhZHLDo28gc2Vyw6EgMTAwJS5cbiAgICogKipFeGVtcGxvcyoqXG4gICAqIGB7IGluZmluaXRlU2Nyb2xsRGlzdGFuY2U6IDgwIH1gOiBRdWFuZG8gYXRpbmdpciA4MCUgZG8gc2Nyb2xsIGRvIGNvbWJvLCBvIHNob3ctbW9yZSBzZXLDoSBkaXNwYXJhZG8uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbDoqKiBgcG8tY29tYm9gLlxuICAgKi9cbiAgaW5maW5pdGVTY3JvbGxEaXN0YW5jZT86IG51bWJlcjtcblxuICAvKipcbiAgICogRGVmaW5lIHF1ZSBhIGFsdHVyYSBkbyBjb21wb25lbnRlIHNlcsOhIGF1dG8gYWp1c3TDoXZlbCwgcG9zc3VpbmRvIHVtYSBhbHR1cmEgbWluaW1hIHBvcsOpbSBhIGFsdHVyYSBtw6F4aW1hIHNlcsOhIGRlIGFjb3JkbyBjb20gbyBuw7ptZXJvIGRlIGl0ZW5zIHNlbGVjaW9uYWRvcyBlIGEgZXh0ZW5zw6NvIGRvcyBtZXNtb3MsIG1hbnRlbmRvLW9zIHNlbXByZSB2aXPDrXZlaXMuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1tdWx0aXNlbGVjdGAsIGBwby1sb29rdXBgLlxuICAgKi9cbiAgYXV0b0hlaWdodD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEludGVydmFsbyB1dGlsaXphZG8gbm8gYHBvLW51bWJlcmAuXG4gICAqL1xuICBzdGVwPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgbyBtb2RvIGRlIHBlc3F1aXNhIHV0aWxpemFkbyBubyBmaWx0cm8gZGEgbGlzdGEgZGUgc2VsZcOnw6NvOiBgc3RhcnRzV2l0aGAsIGBjb250YWluc2Agb3UgYGVuZHNXaXRoYC5cbiAgICogPiBRdWFuZG8gdXRpbGl6YXIgYSBwcm9wcmllZGFkZSBwLWZpbHRlci1zZXJ2aWNlIGVzdGEgcHJvcHJpZWRhZGUgc2Vyw6EgaWdub3JhZGEuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1tdWx0aXNlbGVjdGAuXG4gICAqL1xuICBmaWx0ZXJNb2RlPzogUG9NdWx0aXNlbGVjdEZpbHRlck1vZGU7XG5cbiAgLyoqXG4gICAqIFZhbG9yIG3DrW5pbW8gZGUgY2FyYWN0ZXJlcyBwYXJhIHJlYWxpemFyIG8gZmlsdHJvIG5vIHNlcnZpw6dvIGRvIGBwby1jb21ib2AuXG4gICAqL1xuICBmaWx0ZXJNaW5sZW5ndGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERlc2FiaWxpdGEgbyBmaWx0cm8gaW5pY2lhbCBubyBzZXJ2acOnbyBkbyBgcG8tY29tYm9gLCBxdWUgw6kgZXhlY3V0YWRvIG5vIHByaW1laXJvIGNsaXF1ZSBubyBjYW1wby5cbiAgICovXG4gIGRpc2FibGVkSW5pdEZpbHRlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNlIHZlcmRhZGVpcm8sIGRlc2FiaWxpdGFyw6EgYSBidXNjYSBkZSB1bSBpdGVtIHZpYSBUQUIgbm8gYHBvLWNvbWJvYC5cbiAgICovXG4gIGRpc2FibGVkVGFiRmlsdGVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRXN0YSBwcm9wcmllZGFkZSBkZWZpbmUgZW0gcXVhbnRvIHRlbXBvIChlbSBtaWxpc3NlZ3VuZG9zKSwgYWd1YXJkYSBwYXJhIGFjaW9uYXIgbyBldmVudG8gZGUgZmlsdHJvIGFww7NzIGNhZGEgcHJlc3Npb25hbWVudG8gZGUgdGVjbGEuIFNlcsOhIHV0aWxpemFkYSBhcGVuYXMgcXVhbmRvIGhvdXZlciBzZXJ2acOnbyAoYHAtZmlsdGVyLXNlcnZpY2VgKS5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWNvbWJvYCwgYHBvLW11bHRpc2VsZWN0YC5cbiAgICovXG4gIGRlYm91bmNlVGltZT86IG51bWJlcjtcblxuICAvKipcbiAgICogSW5kaWNhIHF1ZSBvIGV2ZW50byBgcC1jaGFuZ2VgIHPDsyBzZXLDoSBkaXNwYXJhZG8gYW8gY2xpY2FyIG91IHByZXNzaW9uYXIgYSB0ZWNsYSBcIkVudGVyXCIgc29icmUgdW1hIG9ww6fDo28gc2VsZWNpb25hZGEgbm8gYHBvLWNvbWJvYC5cbiAgICovXG4gIGNoYW5nZU9uRW50ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2EgcXVlIGEgbGlzdGEgZGVmaW5pZGEgbmEgcHJvcHJpZWRhZGUgcC1vcHRpb25zIHNlcsOhIG9yZGVuYWRhIHBlbGEgZGVzY3Jpw6fDo28uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1jb21ib2AsIHBvLW11bHRpc2VsZWN0XG4gICAqL1xuICBzb3J0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUGxhY2Vob2xkZXIgZG8gY2FtcG8gZGUgcGVzcXVpc2EgZG8gYHBvLW11bHRpc2VsZWN0YC5cbiAgICpcbiAgICogPiBDYXNvIG8gbWVzbW8gbsOjbyBzZWphIGluZm9ybWFkbywgbyB2YWxvciBwYWRyw6NvIHNlcsOhIHRyYWR1emlkbyBjb20gYmFzZSBubyBpZGlvbWEgZG8gbmF2ZWdhZG9yIChwdCwgZXMgZSBlbikuXG4gICAqL1xuICBwbGFjZWhvbGRlclNlYXJjaD86IHN0cmluZztcblxuICAvKipcbiAgICogRXNjb25kZSBvIGNhbXBvIGRlIHBlc3F1aXNhIGV4aXN0ZW50ZSBkZW50cm8gZG8gZHJvcGRvd24gZG8gYHBvLW11bHRpc2VsZWN0YC5cbiAgICovXG4gIGhpZGVTZWFyY2g/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2Egc2UgbyBjYW1wbyBcIlNlbGVjaW9uYXIgdG9kb3NcIiBkbyBgcG8tbXVsdGlzZWxlY3RgIHNlcsOhIGVzY29uZGlkby5cbiAgICovXG4gIGhpZGVTZWxlY3RBbGw/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMaXN0YSBkZSBvYmpldG9zIGRvcyBjYW1wb3MgcXVlIHNlcsOjbyBjcmlhZG9zIG5hIGJ1c2NhIGF2YW7Dp2FkYS5cbiAgICpcbiAgICogPiBDYXNvIG7Do28gc2VqYSBwYXNzYWRvIHVtIG9iamV0byBvdSBlbnTDo28gZWxlIGVzdGVqYSBlbSBicmFuY28gbyBsaW5rIGRlIGJ1c2NhIGF2YW7Dp2FkYSBmaWNhcsOhIGVzY29uZGlkby5cbiAgICpcbiAgICogRXhlbXBsbyBkZSBVUkwgY29tIGJ1c2NhIGF2YW7Dp2FkYTpcbiAgICpcbiAgICogYHVybCArID9wYWdlPTEmcGFnZVNpemU9MjAmbmFtZT1Ub255JTIwU3Rhcmsmbmlja25hbWU9SG9tZW0lMjBkZSUyMEZlcnJvYFxuICAgKlxuICAgKiBDYXNvIGFsZ3VtIHBhcsOibWV0cm8gc2VqYSB1bWEgbGlzdGEsIGEgY29uY2F0ZW5hw6fDo28gw6kgZmVpdGEgdXRpbGl6YW5kbyB2w61yZ3VsYS4gRXhlbXBsbzpcbiAgICpcbiAgICogYHVybCArID9wYWdlPTEmcGFnZVNpemU9MjAmbmFtZT1Ub255JTIwU3RhcmssUGV0ZXIlMjBQYXJrZXIsR29oYW5gXG4gICAqL1xuICBhZHZhbmNlZEZpbHRlcnM/OiBBcnJheTxQb0xvb2t1cEFkdmFuY2VkRmlsdGVyPjtcblxuICAvKipcbiAgICogVmFsb3JlcyBhY2VpdG9zOlxuICAgKiAtIEZvcmNlQm9vbGVhbkNvbXBvbmVudEVudW0uc3dpdGNoXG4gICAqIC0gRm9yY2VCb29sZWFuQ29tcG9uZW50RW51bS5jaGVja2JveFxuICAgKlxuICAgKi9cbiAgZm9yY2VCb29sZWFuQ29tcG9uZW50VHlwZT86IEZvcmNlQm9vbGVhbkNvbXBvbmVudEVudW07XG5cbiAgLyoqXG4gICAqIHBvZGUgc2VyIHV0aWxpemFkYSBlbSBjb25qdW50byBjb20gYSBwcm9wcmllZGFkZSBgb3B0aW9uc2AgZm9yw6dhbmRvIG8gY29tcG9uZW50ZSBhIHJlbmRlcml6YXIgdW0gYHBvLXNlbGVjdGAgb3UgYHBvLXJhZGlvLWdyb3VwYC5cbiAgICpcbiAgICogVmFsb3JlcyBhY2VpdG9zOlxuICAgKiAtIEZvcmNlT3B0aW9uQ29tcG9uZW50RW51bS5yYWRpb0dyb3VwXG4gICAqIC0gRm9yY2VPcHRpb25Db21wb25lbnRFbnVtLnNlbGVjdFxuICAgKlxuICAgKiA+RXNzYSBwcm9wcmllZGFkZSBzZXLDoSBpZ25vcmFkYSBjYXNvIHNlamEgdXRpbGl6YWRhIGVtIGNvbmp1bnRvIGNvbSBhIHByb3ByaWVkYWRlIGBvcHRpb25zTXVsdGlgIGUgYG9wdGlvbnNTZXJ2aWNlYC5cbiAgICovXG4gIGZvcmNlT3B0aW9uc0NvbXBvbmVudFR5cGU/OiBGb3JjZU9wdGlvbkNvbXBvbmVudEVudW07XG5cbiAgLyoqXG4gICAqIEV2ZW50byBkaXNwYXJhZG8gYW8gZmVjaGFyIG8gcG9wb3ZlciBkbyBnZXJlbmNpYWRvciBkZSBjb2x1bmFzIGFww7NzIGFsdGVyYXIgYXMgY29sdW5hcyB2aXPDrXZlaXMuXG4gICAqXG4gICAqIE8gY29tcG9uZW50ZSBlbnZpYSBjb21vIHBhcsOibWV0cm8gdW0gYXJyYXkgZGUgc3RyaW5nIGNvbSBhcyBjb2x1bmFzIHZpc8OtdmVpcyBhdHVhbGl6YWRhcy5cbiAgICogUG9yIGV4ZW1wbG86IFtcImlkQ2FyZFwiLCBcIm5hbWVcIiwgXCJoaXJlU3RhdHVzXCIsIFwiYWdlXCJdLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpcyoqOiBgcG8tbG9va3VwYFxuICAgKi9cbiAgY2hhbmdlVmlzaWJsZUNvbHVtbnM/OiBGdW5jdGlvbjtcblxuICAvKipcbiAgICogRXZlbnRvIGRpc3BhcmFkbyBhbyBjbGljYXIgbm8gYm90w6NvIGRlIHJlc3RhdXJhciBwYWRyw6NvIG5vIGdlcmVuY2lhZG9yIGRlIGNvbHVuYXMuXG4gICAqXG4gICAqIE8gY29tcG9uZW50ZSBlbnZpYSBjb21vIHBhcsOibWV0cm8gdW0gYXJyYXkgZGUgc3RyaW5nIGNvbSBhcyBjb2x1bmFzIGNvbmZpZ3VyYWRhcyBpbmljaWFsbWVudGUuXG4gICAqIFBvciBleGVtcGxvOiBbXCJpZENhcmRcIiwgXCJuYW1lXCIsIFwiaGlyZVN0YXR1c1wiLCBcImFnZVwiXS5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXMqKjogYHBvLWxvb2t1cGBcbiAgICovXG4gIGNvbHVtblJlc3RvcmVNYW5hZ2VyPzogRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIFVSTCBxdWUgZGV2ZSBzZXIgZmVpdGEgYSByZXF1aXNpw6fDo28gY29tIG9zIGFycXVpdm9zIHNlbGVjaW9uYWRvcy5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICB1cmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlZmluZSBzZSBvIGVudmlvIGRvIGFycXVpdm8gc2Vyw6EgYXV0b23DoXRpY28gYW8gc2VsZWNpb25hciBvIG1lc21vLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIGF1dG9VcGxvYWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQZXJtaXRlIGEgc2VsZcOnw6NvIGRlIGRpcmV0w7NyaW9zIGNvbnRlbmRvIHVtIG91IG1haXMgYXJxdWl2b3MgcGFyYSBlbnZpby5cbiAgICpcbiAgICogPiBBIGhhYmlsaXRhw6fDo28gZGVzdGEgcHJvcHJpZWRhZGUgc2UgcmVzdHJpbmdlIGFwZW5hcyDDoCBzZWxlw6fDo28gZGUgZGlyZXTDs3Jpb3MuXG4gICAqXG4gICAqID4gRGVmaW5pw6fDo28gbsOjbyBzdXBvcnRhZGEgcGVsbyBicm93c2VyICoqSW50ZXJuZXQgRXhwbG9yZXIqKiwgdG9kYXZpYSBzZXLDoSBwb3Nzw612ZWwgYSBzZWxlw6fDo28gZGUgYXJxdWl2b3MgcGFkcsOjby5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBkaXJlY3Rvcnk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFeGliZSBhIMOhcmVhIG9uZGUgw6kgcG9zc8OtdmVsIGFycmFzdGFyIGUgc2VsZWNpb25hciBvcyBhcnF1aXZvcy4gUXVhbmRvIGVzdGl2ZXIgZGVmaW5pZGEsIG9taXRlIG8gYm90w6NvIHBhcmEgc2VsZcOnw6NvIGRlIGFycXVpdm9zXG4gICAqIGF1dG9tYXRpY2FtZW50ZS5cbiAgICpcbiAgICogPiBSZWNvbWVuZGFtb3MgdXRpbGl6YXIgYXBlbmFzIHVtIGBwby11cGxvYWRgIGNvbSBlc3RhIGZ1bmNpb25hbGlkYWRlIHBvciB0ZWxhLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIGRyYWdEcm9wPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGVmaW5lIGVtICpwaXhlbHMqIGEgYWx0dXJhIGRhIMOhcmVhIG9uZGUgcG9kZW0gc2VyIGFycmFzdGFkb3Mgb3MgYXJxdWl2b3MuIEEgYWx0dXJhIG3DrW5pbWEgYWNlaXRhIMOpIGAxNjBweGAuXG4gICAqXG4gICAqID4gRXN0YSBwcm9wcmllZGFkZSBmdW5jaW9uYSBzb21lbnRlIHNlIGEgcHJvcHJpZWRhZGUgYHAtZHJhZy1kcm9wYCBlc3RpdmVyIGhhYmlsaXRhZGEuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgZHJhZ0Ryb3BIZWlnaHQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE9iamV0byBxdWUgc2VndWUgYSBkZWZpbmnDp8OjbyBkYSBpbnRlcmZhY2UgYFBvVXBsb2FkRmlsZVJlc3RyaWN0aW9uc2AsXG4gICAqIHF1ZSBwb3NzaWJpbGl0YSBkZWZpbmlyIHRhbWFuaG8gbcOheGltby9tw61uaW1vIGUgZXh0ZW5zw6NvIGRvcyBhcnF1aXZvcyBwZXJtaXRpZG9zLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIHJlc3RyaWN0aW9ucz86IFBvVXBsb2FkRmlsZVJlc3RyaWN0aW9ucztcblxuICAvKipcbiAgICogTm9tZSBkbyBjYW1wbyBkZSBmb3JtdWzDoXJpbyBxdWUgc2Vyw6EgZW52aWFkbyBwYXJhIG8gc2VydmnDp28gaW5mb3JtYWRvIG5hIHByb3ByaWVkYWRlIGB1cmxgLlxuICAgKlxuICAgKiA+IE8gdmFsb3IgZGVmYXVsdCDDqSBgZmlsZXNgXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgZm9ybUZpZWxkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPYmpldG8gcXVlIGNvbnTDqW0gb3MgY2FiZcOnYWxob3MgcXVlIHNlcsOhIGVudmlhZG8gbmEgcmVxdWlzacOnw6NvIGRvcyBhcnF1aXZvcy5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBoZWFkZXJzPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPiB9O1xuXG4gIC8qKlxuICAgKiBPY3VsdGEgdmlzdWFsbWVudGUgYXMgaW5mb3JtYcOnw7VlcyBkZSByZXN0cmnDp8O1ZXMgcGFyYSBvIHVwbG9hZC5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBoaWRlUmVzdHJpY3Rpb25zSW5mbz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9taXRlIG8gYm90w6NvIGRlIHNlbGXDp8OjbyBkZSBhcnF1aXZvcy5cbiAgICpcbiAgICogPiBDYXNvIG8gdmFsb3IgZGVmaW5pZG8gc2VqYSBgdHJ1ZWAsIGNhYmVyw6EgYW8gZGVzZW52b2x2ZWRvciBhIHJlc3BvbnNhYmlsaWRhZGVcbiAgICogcGVsYSBjaGFtYWRhIGRvIG3DqXRvZG8gYHNlbGVjdEZpbGVzKClgIHBhcmEgc2VsZcOnw6NvIGRlIGFycXVpdm9zLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIGhpZGVTZWxlY3RCdXR0b24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBPbWl0ZSBvIGJvdMOjbyBkZSBlbnZpbyBkZSBhcnF1aXZvcy5cbiAgICpcbiAgICogPiBDYXNvIG8gdmFsb3IgZGVmaW5pZG8gc2VqYSBgdHJ1ZWAsIGNhYmVyw6EgYW8gZGVzZW52b2x2ZWRvciBhIHJlc3BvbnNhYmlsaWRhZGVcbiAgICogcGVsYSBjaGFtYWRhIGRvIG3DqXRvZG8gYHNlbmRGaWxlcygpYCBwYXJhIGVudmlvIGRvKHMpIGFycXVpdm8ocykgc2VsZWNpb25hZG8ocykuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgaGlkZVNlbmRCdXR0b24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgc2UgYSBpbmRpY2HDp8OjbyBkZSBjYW1wbyBvYnJpZ2F0w7NyaW8gc2Vyw6EgZXhpYmlkYS5cbiAgICpcbiAgICogPiBOw6NvIHNlcsOhIGV4aWJpZGEgYSBpbmRpY2HDp8OjbyBzZTpcbiAgICogLSBOw6NvIHBvc3N1aXIgYHAtaGVscGAgZS9vdSBgcC1sYWJlbGAuXG4gICAqL1xuICBzaG93UmVxdWlyZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFdmVudG8gc2Vyw6EgZGlzcGFyYWRvIHF1YW5kbyBvY29ycmVyIGFsZ3VtIGVycm8gbm8gZW52aW8gZG8gYXJxdWl2by5cbiAgICogPiBQb3IgcGFyw6JtZXRybyBzZXLDoSBwYXNzYWRvIG8gb2JqZXRvIGRvIHJldG9ybm8gcXVlIMOpIGRvIHRpcG8gYEh0dHBFcnJvclJlc3BvbnNlYC5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBvbkVycm9yPzogRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEV2ZW50byBzZXLDoSBkaXNwYXJhZG8gcXVhbmRvIG8gZW52aW8gZG8gYXJxdWl2byBmb3IgcmVhbGl6YWRvIGNvbSBzdWNlc3NvLlxuICAgKiA+IFBvciBwYXLDom1ldHJvIHNlcsOhIHBhc3NhZG8gbyBvYmpldG8gZG8gcmV0b3JubyBxdWUgw6kgZG8gdGlwbyBgSHR0cFJlc3BvbnNlYC5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBvblN1Y2Nlc3M/OiBGdW5jdGlvbjtcblxuICAvKipcbiAgICogRnVuw6fDo28gcXVlIHNlcsOhIGV4ZWN1dGFkYSBubyBtb21lbnRvIGRlIHJlYWxpemFyIG8gZW52aW8gZG8gYXJxdWl2byxcbiAgICogb25kZSBzZXLDoSBwb3Nzw612ZWwgYWRpY2lvbmFyIGluZm9ybWHDp8O1ZXMgYW8gcGFyw6JtZXRybyBxdWUgc2Vyw6EgZW52aWFkbyBuYSByZXF1aXNpw6fDo28uXG4gICAqIMOJIHBhc3NhZG8gcG9yIHBhcsOibWV0cm8gdW0gb2JqZXRvIGNvbSBvIGFycXVpdm8gZSBhIHByb3ByaWVkYWRlIGRhdGEgbmVzdGEgcHJvcHJpZWRhZGUgcG9kZSBzZXIgaW5mb3JtYWRvIGFsZ3VtIGRhZG8sXG4gICAqIHF1ZSBzZXLDoSBlbnZpYWRvIGVtIGNvbmp1bnRvIGNvbSBvIGFycXVpdm8gbmEgcmVxdWlzacOnw6NvLCBwb3IgZXhlbXBsbzpcbiAgICpcbiAgICogYGBgXG4gICAqICAgZXZlbnQuZGF0YSA9IHtpZDogJ2lkIGRvIHVzdcOhcmlvJ307XG4gICAqIGBgYFxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIG9uVXBsb2FkPzogRnVuY3Rpb247XG59XG4iXX0=