@colijnit/transaction 12.1.176 → 12.1.178

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 (61) hide show
  1. package/bundles/colijnit-transaction.umd.js +65 -18
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.metadata.json +1 -1
  4. package/esm2015/lib/cache/service/transaction-business-object-cache-manager.service.js +1 -1
  5. package/esm2015/lib/cache/service/transaction-select-multiple-cache.service.js +4 -4
  6. package/esm2015/lib/cache/service/transaction-select-multiple-parameterized-cache.service.js +4 -4
  7. package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +1 -1
  8. package/esm2015/lib/component/core/base/transaction-payment-base.component.js +1 -1
  9. package/esm2015/lib/component/relation/relation-address/relation-address.component.js +2 -2
  10. package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.component.js +9 -1
  11. package/esm2015/lib/component/relation/relation-general/relation-general.component.js +2 -2
  12. package/esm2015/lib/component/relation/suggestions-sidebar/suggestions-sidebar.module.js +4 -4
  13. package/esm2015/lib/component/transaction-card/transaction-card/transaction-card.component.js +7 -1
  14. package/esm2015/lib/component/transaction-card/transaction-card-sales-overview/transaction-card-sales-overview.component.js +2 -2
  15. package/esm2015/lib/component/transaction-card/transaction-card-sales-overview/transaction-card-sales-overview.module.js +4 -3
  16. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-link-relation/transaction-cash-register-link-relation.component.js +4 -4
  17. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-order.component.js +1 -1
  18. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-order.module.js +17 -17
  19. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/transaction-cash-register-payment-dialog.component.js +1 -1
  20. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/transaction-cash-register-payment-dialog.module.js +12 -12
  21. package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.component.js +1 -1
  22. package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-relation.component.js +1 -1
  23. package/esm2015/lib/component/transaction-internal/transaction-internal.component.js +1 -1
  24. package/esm2015/lib/component/transaction-line/transaction-line/transaction-line.component.js +7 -1
  25. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date-button.component.js +3 -3
  26. package/esm2015/lib/component/transaction-line-fields/transaction-line-vat-button.component.js +7 -1
  27. package/esm2015/lib/component/transaction-lines-side-panel/transaction-lines-side-panel/transaction-lines-side-panel.component.js +6 -1
  28. package/esm2015/lib/component/transaction-search/service/transaction-search.service.js +1 -1
  29. package/esm2015/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.component.js +7 -2
  30. package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.component.js +7 -2
  31. package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.js +15 -15
  32. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.component.js +7 -2
  33. package/esm2015/lib/res/dictionary/dictionaries.js +3 -3
  34. package/esm2015/lib/service/article.service.js +5 -5
  35. package/esm2015/lib/service/relation-suggestions.service.js +1 -1
  36. package/esm2015/lib/service/relation.service.js +7 -7
  37. package/esm2015/lib/service/transaction-connector-adapter.service.js +2 -2
  38. package/esm2015/lib/service/transaction-connector.service.js +1 -1
  39. package/esm2015/lib/service/transaction-mapping.service.js +1 -1
  40. package/esm2015/lib/service/transaction.service.js +1 -1
  41. package/esm2015/lib/transaction-version.js +3 -3
  42. package/fesm2015/colijnit-transaction.js +63 -16
  43. package/fesm2015/colijnit-transaction.js.map +1 -1
  44. package/lib/cache/service/transaction-select-multiple-cache.service.d.ts +3 -3
  45. package/lib/cache/service/transaction-select-multiple-parameterized-cache.service.d.ts +5 -5
  46. package/lib/component/transaction-card/transaction-card/transaction-card.component.d.ts +3 -2
  47. package/lib/component/transaction-cash-register-order/transaction-cash-register-link-relation/transaction-cash-register-link-relation.component.d.ts +4 -4
  48. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/style/_layout.scss +1 -1
  49. package/lib/component/transaction-line/transaction-line/transaction-line.component.d.ts +3 -2
  50. package/lib/component/transaction-line-fields/transaction-line-vat-button.component.d.ts +4 -1
  51. package/lib/component/transaction-lines-side-panel/transaction-lines-side-panel/transaction-lines-side-panel.component.d.ts +3 -2
  52. package/lib/component/transaction-search/service/transaction-search.service.d.ts +1 -1
  53. package/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.component.d.ts +3 -2
  54. package/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.component.d.ts +3 -2
  55. package/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.component.d.ts +3 -2
  56. package/lib/res/dictionary/dictionaries.d.ts +10 -0
  57. package/lib/service/article.service.d.ts +4 -4
  58. package/lib/service/transaction-connector-adapter.service.d.ts +1 -1
  59. package/lib/service/transaction-connector.service.d.ts +1 -1
  60. package/lib/service/transaction.service.d.ts +2 -2
  61. package/package.json +2 -2
@@ -267,4 +267,4 @@ TransactionMappingService.decorators = [
267
267
  TransactionMappingService.ctorParameters = () => [
268
268
  { type: TransactionService }
269
269
  ];
270
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbWFwcGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9zZXJ2aWNlL3RyYW5zYWN0aW9uLW1hcHBpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFPLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUkxRixPQUFPLEVBQ0gsdUNBQXVDLEVBQzFDLE1BQU0sa0lBQWtJLENBQUM7QUFDMUksT0FBTyxFQUNILG9DQUFvQyxFQUN2QyxNQUFNLDRIQUE0SCxDQUFDO0FBQ3BJLE9BQU8sRUFDSCwyQ0FBMkMsRUFDOUMsTUFBTSxpSkFBaUosQ0FBQztBQUN6SixPQUFPLEVBQ0gsd0NBQXdDLEVBQzNDLE1BQU0sMklBQTJJLENBQUM7QUFDbkosT0FBTyxFQUNILDJDQUEyQyxFQUM5QyxNQUFNLGlKQUFpSixDQUFDO0FBQ3pKLE9BQU8sRUFDSCx3Q0FBd0MsRUFDM0MsTUFBTSwySUFBMkksQ0FBQztBQUVuSixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDdkMsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUNILGdEQUFnRCxFQUNuRCxNQUFNLHlJQUF5SSxDQUFDO0FBRWpKLE9BQU8sRUFDSCw0Q0FBNEMsRUFDL0MsTUFBTSxpSUFBaUksQ0FBQztBQUN6SSxPQUFPLEVBQ0gsdUNBQXVDLEVBQzFDLE1BQU0scUhBQXFILENBQUM7QUFFN0gsT0FBTyxFQUNILHlDQUF5QyxFQUM1QyxNQUFNLGlIQUFpSCxDQUFDO0FBQ3pILE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHVGQUF1RixDQUFDO0FBQ3BJLE9BQU8sRUFDSCxnQ0FBZ0MsRUFDbkMsTUFBTSw2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RCxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksRUFBRTtnQkFDdkIsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDVixPQUFPO2FBQ1I7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7OztZQTdORixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQWJPLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgVHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25LaW5kfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS90cmFuc2FjdGlvbi1raW5kLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRmlsdGVyQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50L2NvcmUvYmFzZS90cmFuc2FjdGlvbi1maWx0ZXItYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VhcmNoR3JpZEJhc2VDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudC9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tc2VhcmNoLWdyaWQtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VhcmNoVGlsZUJhc2VDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudC9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tc2VhcmNoLXRpbGUtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25QdXJjaGFzZU9yZGVyRmlsdGVyQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1maWx0ZXIvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItZmlsdGVyL3RyYW5zYWN0aW9uLXB1cmNoYXNlLW9yZGVyLWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25TYWxlc09yZGVyRmlsdGVyQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1maWx0ZXIvdHJhbnNhY3Rpb24tc2FsZXMtb3JkZXItZmlsdGVyL3RyYW5zYWN0aW9uLXNhbGVzLW9yZGVyLWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25TZWFyY2hQdXJjaGFzZU9yZGVyR3JpZENvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tc2VhcmNoLWdyaWQvdHJhbnNhY3Rpb24tc2VhcmNoLXB1cmNoYXNlLW9yZGVyLWdyaWQvdHJhbnNhY3Rpb24tc2VhcmNoLXB1cmNoYXNlLW9yZGVyLWdyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uU2VhcmNoU2FsZXNPcmRlckdyaWRDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLXNlYXJjaC1ncmlkL3RyYW5zYWN0aW9uLXNlYXJjaC1zYWxlcy1vcmRlci1ncmlkL3RyYW5zYWN0aW9uLXNlYXJjaC1zYWxlcy1vcmRlci1ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblNlYXJjaFB1cmNoYXNlT3JkZXJUaWxlQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1zZWFyY2gtdGlsZS90cmFuc2FjdGlvbi1zZWFyY2gtcHVyY2hhc2Utb3JkZXItdGlsZS90cmFuc2FjdGlvbi1zZWFyY2gtcHVyY2hhc2Utb3JkZXItdGlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25TZWFyY2hTYWxlc09yZGVyVGlsZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tc2VhcmNoLXRpbGUvdHJhbnNhY3Rpb24tc2VhcmNoLXNhbGVzLW9yZGVyLXRpbGUvdHJhbnNhY3Rpb24tc2VhcmNoLXNhbGVzLW9yZGVyLXRpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJhckJ1dHRvbn0gZnJvbSAnLi4vbW9kZWwvdHJhbnNhY3Rpb24tYmFyLWJ1dHRvbic7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSBmcm9tICcuLi9lbnVtL3RyYW5zYWN0aW9uLXR5cGUtY2F0ZWdvcnkuZW51bSc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblF1aWNrQWNjZXNzT3JkZXJDb25maXJtYXRpb25Db21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1vcmRlci1jb25maXJtYXRpb24vdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW9yZGVyLWNvbmZpcm1hdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50L2NvcmUvYmFzZS90cmFuc2FjdGlvbi1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblF1aWNrQWNjZXNzUmVjZWl2ZWRHb29kc0NvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXJlY2VpdmVkLWdvb2RzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1yZWNlaXZlZC1nb29kcy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc092ZXJ2aWV3Q29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3ZlcnZpZXcvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW92ZXJ2aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25HcmlkQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50L2NvcmUvYmFzZS90cmFuc2FjdGlvbi1ncmlkLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uT3JkZXJDb25maXJtYXRpb25HcmlkQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWdyaWQvdHJhbnNhY3Rpb24tb3JkZXItY29uZmlybWF0aW9uLWdyaWQvdHJhbnNhY3Rpb24tb3JkZXItY29uZmlybWF0aW9uLWdyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVzR3JpZENvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWdyaWQvdHJhbnNhY3Rpb24tbGluZXMtZ3JpZC90cmFuc2FjdGlvbi1saW5lcy1ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvbk92ZXJ2aWV3TGluZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLW92ZXJ2aWV3LWxpbmUvdHJhbnNhY3Rpb24tb3ZlcnZpZXctbGluZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25PcmRlckRlbGl2ZXJ5TGluZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLW9yZGVyLWRlbGl2ZXJ5LWxpbmUvdHJhbnNhY3Rpb24tb3JkZXItZGVsaXZlcnktbGluZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc09yZGVyRGVsaXZlcnlDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1vcmRlci1kZWxpdmVyeS90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3JkZXItZGVsaXZlcnkuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uUmVjZWl2ZUdvb2RzTGluZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXJlY2VpdmUtZ29vZHMtbGluZS90cmFuc2FjdGlvbi1yZWNlaXZlLWdvb2RzLWxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uUHVyY2hhc2VMaW5lQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2UtbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblF1aWNrQWNjZXNzT3JkZXJQdXJjaGFzZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW9yZGVyLXB1cmNoYXNlL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1vcmRlci1wdXJjaGFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25TYWxlc1B1cmNoYXNlQnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXIvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci1idXR0b24vdHJhbnNhY3Rpb24tc2FsZXMtcHVyY2hhc2UtYnV0dG9uLWJhci1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uR29vZHNBbGxvY2F0aW9uTGluZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLWdvb2RzLWFsbG9jYXRpb24tbGluZS90cmFuc2FjdGlvbi1nb29kcy1hbGxvY2F0aW9uLWxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NHb29kc0FsbG9jYXRpb25Db21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1nb29kcy1hbGxvY2F0aW9uL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1nb29kcy1hbGxvY2F0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblF1aWNrQWNjZXNzUHVyY2hhc2VPcmRlck92ZXJ2aWV3Q29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtcHVyY2hhc2Utb3JkZXItb3ZlcnZpZXcvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXB1cmNoYXNlLW9yZGVyLW92ZXJ2aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvbkNhcmRTYWxlc092ZXJ2aWV3Q29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWNhcmQvdHJhbnNhY3Rpb24tY2FyZC1zYWxlcy1vdmVydmlldy90cmFuc2FjdGlvbi1jYXJkLXNhbGVzLW92ZXJ2aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvbkNhcmRQdXJjaGFzZU92ZXJ2aWV3Q29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWNhcmQvdHJhbnNhY3Rpb24tY2FyZC1wdXJjaGFzZS1vdmVydmlldy90cmFuc2FjdGlvbi1jYXJkLXB1cmNoYXNlLW92ZXJ2aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblB1cmNoYXNlT3JkZXJMaW5lQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblB1cmNoYXNlT3ZlcnZpZXdMaW5lQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3ZlcnZpZXctbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1vdmVydmlldy1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblB1cmNoYXNlUmVjZWl2ZUdvb2RzQnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXIvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci1idXR0b24vdHJhbnNhY3Rpb24tcHVyY2hhc2UtcmVjZWl2ZS1nb29kcy1idXR0b24tYmFyLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25TYWxlc0FsbG9jYXRpb25CdXR0b25CYXJCdXR0b25Db21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci90cmFuc2FjdGlvbi1idXR0b24tYmFyLWJ1dHRvbi90cmFuc2FjdGlvbi1zYWxlcy1hbGxvY2F0aW9uLWJ1dHRvbi1iYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblB1cmNoYXNlQ29uZmlybWF0aW9uQnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXIvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci1idXR0b24vdHJhbnNhY3Rpb24tcHVyY2hhc2UtY29uZmlybWF0aW9uLWJ1dHRvbi1iYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblNhbGVzRGVsaXZlcnlCdXR0b25CYXJCdXR0b25Db21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci90cmFuc2FjdGlvbi1idXR0b24tYmFyLWJ1dHRvbi90cmFuc2FjdGlvbi1zYWxlcy1kZWxpdmVyeS1idXR0b24tYmFyLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc0ludm9pY2VDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1pbnZvaWNlL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1pbnZvaWNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbnZvaWNlTGluZUNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24taW52b2ljZS1saW5lL3RyYW5zYWN0aW9uLWludm9pY2UtbGluZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25QdXJjaGFzZUludm9pY2VCdXR0b25CYXJCdXR0b25Db21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci90cmFuc2FjdGlvbi1idXR0b24tYmFyLWJ1dHRvbi90cmFuc2FjdGlvbi1wdXJjaGFzZS1pbnZvaWNlLWJ1dHRvbi1iYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblNhbGVzSW52b2ljZUJ1dHRvbkJhckJ1dHRvbkNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1idXR0b24tYmFyL3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXItYnV0dG9uL3RyYW5zYWN0aW9uLXNhbGVzLWludm9pY2UtYnV0dG9uLWJhci1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uQ2FyZFJlY2VpdmVHb29kc0NvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQtcmVjZWl2ZS1nb29kcy90cmFuc2FjdGlvbi1jYXJkLXJlY2VpdmUtZ29vZHMuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkNhcmRJbnZvaWNlQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tY2FyZC90cmFuc2FjdGlvbi1jYXJkLWludm9pY2UvdHJhbnNhY3Rpb24tY2FyZC1pbnZvaWNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvbkNhcmRQdXJjaGFzZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQtcHVyY2hhc2UvdHJhbnNhY3Rpb24tY2FyZC1wdXJjaGFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25DYXJkT3JkZXJEZWxpdmVyeUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQtb3JkZXItZGVsaXZlcnkvdHJhbnNhY3Rpb24tY2FyZC1vcmRlci1kZWxpdmVyeS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25TYWxlc1BpY2tpbmdCdXR0b25CYXJCdXR0b25Db21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci90cmFuc2FjdGlvbi1idXR0b24tYmFyLWJ1dHRvbi90cmFuc2FjdGlvbi1zYWxlcy1waWNraW5nLWJ1dHRvbi1iYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25QaWNrZWRMaW5lQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1waWNrZWQtbGluZS90cmFuc2FjdGlvbi1waWNrZWQtbGluZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25Ub0JlUGlja2VkTGluZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXRvLWJlLXBpY2tlZC1saW5lL3RyYW5zYWN0aW9uLXRvLWJlLXBpY2tlZC1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblF1aWNrQWNjZXNzVG9CZVBpY2tlZENvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXRvLWJlLXBpY2tlZC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtdG8tYmUtcGlja2VkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblF1aWNrQWNjZXNzUGlja2VkQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtcGlja2VkL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1waWNrZWQuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uU2FsZXNPdmVydmlld0J1dHRvbkJhckJ1dHRvbkNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1idXR0b24tYmFyL3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXItYnV0dG9uL3RyYW5zYWN0aW9uLXNhbGVzLW92ZXJ2aWV3LWJ1dHRvbi1iYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvbkNhc2hSZWdpc3Rlck9yZGVyTGluZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXItbGluZS90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLW9yZGVyLWxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uU2FsZXNPcmRlclF1b3RhdGlvbkxpbmVDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1zYWxlcy1vcmRlci1xdW90YXRpb24tbGluZS90cmFuc2FjdGlvbi1zYWxlcy1vcmRlci1xdW90YXRpb24tbGluZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25TYWxlc1F1b3RhdGlvbkZpbHRlckNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tZmlsdGVyL3RyYW5zYWN0aW9uLXNhbGVzLXF1b3RhdGlvbi1maWx0ZXIvdHJhbnNhY3Rpb24tc2FsZXMtcXVvdGF0aW9uLWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1NhbGVzUXVvdGF0aW9uQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtc2FsZXMtcXVvdGF0aW9uL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1zYWxlcy1xdW90YXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uU2VhcmNoU2FsZXNRdW90YXRpb25HcmlkQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1zZWFyY2gtZ3JpZC90cmFuc2FjdGlvbi1zZWFyY2gtZ3JpZC1zYWxlcy1xdW90YXRpb24tZ3JpZC90cmFuc2FjdGlvbi1zZWFyY2gtc2FsZXMtcXVvdGF0aW9uLWdyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uU2VhcmNoU2FsZXNRdW90YXRpb25UaWxlQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1zZWFyY2gtdGlsZS90cmFuc2FjdGlvbi1zZWFyY2gtc2FsZXMtcXVvdGF0aW9uLXRpbGUvdHJhbnNhY3Rpb24tc2VhcmNoLXNhbGVzLXF1b3RhdGlvbi10aWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DZmdOYW1lfSBmcm9tICcuLi9lbnVtL3RyYW5zYWN0aW9uLWNmZy1uYW1lLmVudW0nO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25DYXJkR29vZHNBbGxvY2F0aW9uQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWNhcmQvdHJhbnNhY3Rpb24tY2FyZC1nb29kcy1hbGxvY2F0aW9uL3RyYW5zYWN0aW9uLWNhcmQtZ29vZHMtYWxsb2NhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25DYXJkVG9CZVBpY2tlZENvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQtdG8tYmUtcGlja2VkL3RyYW5zYWN0aW9uLWNhcmQtdG8tYmUtcGlja2VkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DYXJkUGlja2VkQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tY2FyZC90cmFuc2FjdGlvbi1jYXJkLXBpY2tlZC90cmFuc2FjdGlvbi1jYXJkLXBpY2tlZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uU2VhcmNoUG9zT3JkZXJUaWxlQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1zZWFyY2gtdGlsZS90cmFuc2FjdGlvbi1zZWFyY2gtcG9zLW9yZGVyLXRpbGUvdHJhbnNhY3Rpb24tc2VhcmNoLXBvcy1vcmRlci10aWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvblNlYXJjaFBvc0dyaWRDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLXNlYXJjaC1ncmlkL3RyYW5zYWN0aW9uLXNlYXJjaC1wb3MtZ3JpZC90cmFuc2FjdGlvbi1zZWFyY2gtcG9zLWdyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkxpbmVzU2lkZVBhbmVsQ2FzaERlc2tDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZXMtc2lkZS1wYW5lbC90cmFuc2FjdGlvbi1saW5lcy1zaWRlLXBhbmVsLWNhc2gtZGVzay90cmFuc2FjdGlvbi1saW5lcy1zaWRlLXBhbmVsLWNhc2gtZGVzay5jb21wb25lbnQnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbk1hcHBpbmdTZXJ2aWNlIHtcclxuICBwdWJsaWMgcmVhZG9ubHkgY2ZnTmFtZXM6IHR5cGVvZiBUcmFuc2FjdGlvbkNmZ05hbWUgPSBUcmFuc2FjdGlvbkNmZ05hbWU7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2J1dHRvbkJhclRyYW5zYWN0aW9uOiBNYXA8VHJhbnNhY3Rpb25LaW5kLCBUcmFuc2FjdGlvbkJhckJ1dHRvbltdPiA9IG5ldyBNYXA8VHJhbnNhY3Rpb25LaW5kLCBUcmFuc2FjdGlvbkJhckJ1dHRvbltdPihbXHJcbiAgICBbVHJhbnNhY3Rpb25LaW5kLlB1cmNoYXNlT3JkZXIsIFtcclxuICAgICAge3RpdGxlOiAnT1ZFUlZJRVcnLCBpY29uOiBJY29uLkNhcnRTaG9wcGluZ1JlZ3VsYXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3ZlcnZpZXcsIGNmZ05hbWU6IHRoaXMuY2ZnTmFtZXMuUnVicmljT3ZlcnZpZXd9LFxyXG4gICAgICB7dGl0bGU6ICdDT05GSVJNQVRJT04nLCBpY29uOiBJY29uLk1lbW9DaXJjbGVDaGVja1JlZ3VsYXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3JkZXJDb25maXJtYXRpb24sIGNvbXBvbmVudDogVHJhbnNhY3Rpb25QdXJjaGFzZUNvbmZpcm1hdGlvbkJ1dHRvbkJhckJ1dHRvbkNvbXBvbmVudCwgY2ZnTmFtZTogdGhpcy5jZmdOYW1lcy5SdWJyaWNDb25maXJtYXRpb259LFxyXG4gICAgICB7dGl0bGU6ICdUUkFOU1BPUlQnLCBpY29uOiBJY29uLlRydWNrQ29udGFpbmVyU29saWQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyVHJhbnNwb3J0LCBjZmdOYW1lOiB0aGlzLmNmZ05hbWVzLlJ1YnJpY1RyYW5zcG9ydH0sXHJcbiAgICAgIHt0aXRsZTogJ1JFQ0VJVkVEJywgaWNvbjogSWNvbi5DYXJ0RmxhdGJlZEJveGVzU29saWQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyUmVjZWl2ZWRHb29kcywgY29tcG9uZW50OiBUcmFuc2FjdGlvblB1cmNoYXNlUmVjZWl2ZUdvb2RzQnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50LCBjZmdOYW1lOiB0aGlzLmNmZ05hbWVzLlJ1YnJpY1JlY2VpdmVkfSxcclxuICAgICAge3RpdGxlOiAnSU5WT0lDRV9DSEVDSycsIGljb246IEljb24uSW52b2ljZSwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJJbnZvaWNlQ2hlY2ssIGNvbXBvbmVudDogVHJhbnNhY3Rpb25QdXJjaGFzZUludm9pY2VCdXR0b25CYXJCdXR0b25Db21wb25lbnQsIGNmZ05hbWU6IHRoaXMuY2ZnTmFtZXMuUnVicmljSW52b2ljZUNoZWNrfVxyXG4gICAgXV0sXHJcbiAgICBbVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIFtcclxuICAgICAge3RpdGxlOiAnT1ZFUlZJRVcnLCBpY29uOiBJY29uLkNhcnRTaG9wcGluZ1JlZ3VsYXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyT3ZlcnZpZXcsIGNvbXBvbmVudDogVHJhbnNhY3Rpb25TYWxlc092ZXJ2aWV3QnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50LCBjZmdOYW1lOiB0aGlzLmNmZ05hbWVzLlJ1YnJpY092ZXJ2aWV3fSxcclxuICAgICAge3RpdGxlOiAnUFVSQ0hBU0UnLCBpY29uOiBJY29uLlBhbGxldEJveGVzU2hhcnBSZWd1bGFyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclB1cmNoYXNlLCBjb21wb25lbnQ6IFRyYW5zYWN0aW9uU2FsZXNQdXJjaGFzZUJ1dHRvbkJhckJ1dHRvbkNvbXBvbmVudCwgY2ZnTmFtZTogdGhpcy5jZmdOYW1lcy5SdWJyaWNQdXJjaGFzZX0sXHJcbiAgICAgIHt0aXRsZTogJ0FMTE9DQVRJT04nLCBpY29uOiBJY29uLlNoZWx2ZXNSZWd1bGFyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckFsbG9jYXRpb24sIGNvbXBvbmVudDogVHJhbnNhY3Rpb25TYWxlc0FsbG9jYXRpb25CdXR0b25CYXJCdXR0b25Db21wb25lbnQsIGNmZ05hbWU6IHRoaXMuY2ZnTmFtZXMuUnVicmljQWxsb2NhdGV9LFxyXG4gICAgICB7dGl0bGU6ICdMT0dJU1RJQ1MnLCBpY29uOiBJY29uLkJveGVzUGFja2luZ1JlZ3VsYXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyTG9naXN0aWNzLCBjb21wb25lbnQ6IFRyYW5zYWN0aW9uU2FsZXNQaWNraW5nQnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50LCBjdXN0b21DbGljazogdHJ1ZSwgY2ZnTmFtZTogdGhpcy5jZmdOYW1lcy5SdWJyaWNMb2dpc3RpY3MsIGlzVmlzaWJsZUZuOiB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UubG9naXN0aWNzQnV0dG9uVmlzaWJsZX0sXHJcbiAgICAgIHt0aXRsZTogJ1BMQU5OSU5HJywgaWNvbjogSWNvbi5UcnVja01vdmluZ1JlZ3VsYXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyUGxhbm5pbmcsIGNmZ05hbWU6IHRoaXMuY2ZnTmFtZXMuUnVicmljUGxhbm5pbmd9LFxyXG4gICAgICB7dGl0bGU6ICdERUxJVkVSWV9OT1RFJywgaWNvbjogSWNvbi5NZW1vQ2lyY2xlQ2hlY2tSZWd1bGFyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckRlbGl2ZXJ5Tm90ZSwgY29tcG9uZW50OiBUcmFuc2FjdGlvblNhbGVzRGVsaXZlcnlCdXR0b25CYXJCdXR0b25Db21wb25lbnQsIGNmZ05hbWU6IHRoaXMuY2ZnTmFtZXMuUnVicmljRGVsaXZlcnl9LFxyXG4gICAgICB7dGl0bGU6ICdJTlZPSUNFJywgaWNvbjogSWNvbi5JbnZvaWNlLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckludm9pY2UsIGNvbXBvbmVudDogVHJhbnNhY3Rpb25TYWxlc0ludm9pY2VCdXR0b25CYXJCdXR0b25Db21wb25lbnQsIGNmZ05hbWU6IHRoaXMuY2ZnTmFtZXMuUnVicmljSW52b2ljZX1cclxuICAgIF1dLFxyXG4gICAgW1RyYW5zYWN0aW9uS2luZC5TYWxlc1F1b3RhdGlvbiwgW1xyXG4gICAgICB7dGl0bGU6ICdPVkVSVklFVycsIGljb246IEljb24uQ2FydFNob3BwaW5nUmVndWxhciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJRdW90YXRpb259LFxyXG4gICAgXV0sXHJcbiAgXSk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3F1aWNrQWNjZXNzQ29tcG9uZW50OiBNYXA8e3R5cGU6IFRyYW5zYWN0aW9uS2luZCwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSwgVHlwZTxUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQ+PiA9XHJcbiAgICBuZXcgTWFwPHt0eXBlOiBUcmFuc2FjdGlvbktpbmQ7IGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0sIFR5cGU8VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50Pj4oW1xyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlck92ZXJ2aWV3fSwgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1B1cmNoYXNlT3JkZXJPdmVydmlld0NvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlB1cmNoYXNlT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3JkZXJDb25maXJtYXRpb259LCBUcmFuc2FjdGlvblF1aWNrQWNjZXNzT3JkZXJDb25maXJtYXRpb25Db21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlclJlY2VpdmVkR29vZHN9LCBUcmFuc2FjdGlvblF1aWNrQWNjZXNzUmVjZWl2ZWRHb29kc0NvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyT3ZlcnZpZXd9LCBUcmFuc2FjdGlvblF1aWNrQWNjZXNzT3ZlcnZpZXdDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclB1cmNoYXNlfSwgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc09yZGVyUHVyY2hhc2VDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckFsbG9jYXRpb259LCBUcmFuc2FjdGlvblF1aWNrQWNjZXNzR29vZHNBbGxvY2F0aW9uQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJEZWxpdmVyeU5vdGV9LCBUcmFuc2FjdGlvblF1aWNrQWNjZXNzT3JkZXJEZWxpdmVyeUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVySW52b2ljZX0sIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NJbnZvaWNlQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJUb0JlUGlja2VkfSwgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1RvQmVQaWNrZWRDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclBpY2tlZH0sIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NQaWNrZWRDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc1F1b3RhdGlvbiwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJRdW90YXRpb259LCBUcmFuc2FjdGlvblF1aWNrQWNjZXNzU2FsZXNRdW90YXRpb25Db21wb25lbnRdXHJcbiAgICBdKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfdHJhbnNhY3Rpb25HcmlkQ29tcG9uZW50OiBNYXA8e3R5cGU6IFRyYW5zYWN0aW9uS2luZCwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSwgVHlwZTxUcmFuc2FjdGlvbkdyaWRCYXNlQ29tcG9uZW50Pj4gPVxyXG4gICAgbmV3IE1hcDx7dHlwZTogVHJhbnNhY3Rpb25LaW5kOyBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9LCBUeXBlPFRyYW5zYWN0aW9uR3JpZEJhc2VDb21wb25lbnQ+PihbXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlB1cmNoYXNlT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3ZlcnZpZXd9LCBUcmFuc2FjdGlvbkxpbmVzR3JpZENvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlB1cmNoYXNlT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3JkZXJDb25maXJtYXRpb259LCBUcmFuc2FjdGlvbk9yZGVyQ29uZmlybWF0aW9uR3JpZENvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyT3ZlcnZpZXd9LCBUcmFuc2FjdGlvbkxpbmVzR3JpZENvbXBvbmVudF1cclxuICAgIF0pO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF90cmFuc2FjdGlvbkxpbmVDb21wb25lbnQ6IE1hcDx7dHlwZTogVHJhbnNhY3Rpb25LaW5kLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9LCBUeXBlPFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudD4+ID1cclxuICAgIG5ldyBNYXA8e3R5cGU6IFRyYW5zYWN0aW9uS2luZDsgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSwgVHlwZTxUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQ+PihbXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyT3ZlcnZpZXd9LCBUcmFuc2FjdGlvbk92ZXJ2aWV3TGluZUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyUHVyY2hhc2V9LCBUcmFuc2FjdGlvblB1cmNoYXNlTGluZUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyQWxsb2NhdGlvbn0sIFRyYW5zYWN0aW9uR29vZHNBbGxvY2F0aW9uTGluZUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyRGVsaXZlcnlOb3RlfSwgVHJhbnNhY3Rpb25PcmRlckRlbGl2ZXJ5TGluZUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVySW52b2ljZX0sIFRyYW5zYWN0aW9uSW52b2ljZUxpbmVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclBpY2tlZH0sIFRyYW5zYWN0aW9uUGlja2VkTGluZUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyVG9CZVBpY2tlZH0sIFRyYW5zYWN0aW9uVG9CZVBpY2tlZExpbmVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlck92ZXJ2aWV3fSwgVHJhbnNhY3Rpb25QdXJjaGFzZU92ZXJ2aWV3TGluZUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlB1cmNoYXNlT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyUmVjZWl2ZWRHb29kc30sIFRyYW5zYWN0aW9uUmVjZWl2ZUdvb2RzTGluZUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlB1cmNoYXNlT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3JkZXJDb25maXJtYXRpb259LCBUcmFuc2FjdGlvblB1cmNoYXNlT3JkZXJMaW5lQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuQ2FzaERlc2ssIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyQ2FzaFJlZ2lzdGVyfSwgVHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJPcmRlckxpbmVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc1F1b3RhdGlvbiwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJRdW90YXRpb259LCBUcmFuc2FjdGlvblNhbGVzT3JkZXJRdW90YXRpb25MaW5lQ29tcG9uZW50XSxcclxuICAgIF0pO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF90cmFuc2FjdGlvbkNhcmRDb21wb25lbnQ6IE1hcDx7dHlwZTogVHJhbnNhY3Rpb25LaW5kLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9LCBUeXBlPFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudD4+ID1cclxuICAgIG5ldyBNYXA8e3R5cGU6IFRyYW5zYWN0aW9uS2luZDsgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSwgVHlwZTxUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQ+PihbXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyT3ZlcnZpZXd9LCBUcmFuc2FjdGlvbkNhcmRTYWxlc092ZXJ2aWV3Q29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJJbnZvaWNlfSwgVHJhbnNhY3Rpb25DYXJkSW52b2ljZUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyUHVyY2hhc2V9LCBUcmFuc2FjdGlvbkNhcmRQdXJjaGFzZUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyRGVsaXZlcnlOb3RlfSwgVHJhbnNhY3Rpb25DYXJkT3JkZXJEZWxpdmVyeUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyQWxsb2NhdGlvbn0sIFRyYW5zYWN0aW9uQ2FyZEdvb2RzQWxsb2NhdGlvbkNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyVG9CZVBpY2tlZH0sIFRyYW5zYWN0aW9uQ2FyZFRvQmVQaWNrZWRDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclBpY2tlZH0sIFRyYW5zYWN0aW9uQ2FyZFBpY2tlZENvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlB1cmNoYXNlT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3ZlcnZpZXd9LCBUcmFuc2FjdGlvbkNhcmRQdXJjaGFzZU92ZXJ2aWV3Q29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuUHVyY2hhc2VPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJPcmRlckNvbmZpcm1hdGlvbn0sIFRyYW5zYWN0aW9uQ2FyZFB1cmNoYXNlT3ZlcnZpZXdDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlclJlY2VpdmVkR29vZHN9LCBUcmFuc2FjdGlvbkNhcmRSZWNlaXZlR29vZHNDb21wb25lbnRdLFxyXG4gICAgXSk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zYWN0aW9uRmlsdGVyQ29tcG9uZW50OiBNYXA8e3R5cGU6IFRyYW5zYWN0aW9uS2luZH0sIFR5cGU8VHJhbnNhY3Rpb25GaWx0ZXJCYXNlQ29tcG9uZW50Pj4gPVxyXG4gICAgbmV3IE1hcDx7dHlwZTogVHJhbnNhY3Rpb25LaW5kfSwgVHlwZTxUcmFuc2FjdGlvbkZpbHRlckJhc2VDb21wb25lbnQ+PihbXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXJ9LCBUcmFuc2FjdGlvblNhbGVzT3JkZXJGaWx0ZXJDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyfSwgVHJhbnNhY3Rpb25QdXJjaGFzZU9yZGVyRmlsdGVyQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNRdW90YXRpb259LCBUcmFuc2FjdGlvblNhbGVzUXVvdGF0aW9uRmlsdGVyQ29tcG9uZW50XVxyXG4gICAgXSk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zYWN0aW9uU2VhcmNoR3JpZENvbXBvbmVudDogTWFwPHt0eXBlOiBUcmFuc2FjdGlvbktpbmR9LCBUeXBlPFRyYW5zYWN0aW9uU2VhcmNoR3JpZEJhc2VDb21wb25lbnQ+PiA9XHJcbiAgICBuZXcgTWFwPHt0eXBlOiBUcmFuc2FjdGlvbktpbmR9LCBUeXBlPFRyYW5zYWN0aW9uU2VhcmNoR3JpZEJhc2VDb21wb25lbnQ+PihbXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXJ9LCBUcmFuc2FjdGlvblNlYXJjaFNhbGVzT3JkZXJHcmlkQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuUHVyY2hhc2VPcmRlcn0sIFRyYW5zYWN0aW9uU2VhcmNoUHVyY2hhc2VPcmRlckdyaWRDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc1F1b3RhdGlvbn0sIFRyYW5zYWN0aW9uU2VhcmNoU2FsZXNRdW90YXRpb25HcmlkQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuQ2FzaERlc2t9LCBUcmFuc2FjdGlvblNlYXJjaFBvc0dyaWRDb21wb25lbnRdXHJcbiAgICBdKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfdHJhbnNhY3Rpb25TZWFyY2hUaWxlQ29tcG9uZW50OiBNYXA8e3R5cGU6IFRyYW5zYWN0aW9uS2luZH0sIFR5cGU8VHJhbnNhY3Rpb25TZWFyY2hUaWxlQmFzZUNvbXBvbmVudD4+ID1cclxuICAgIG5ldyBNYXA8e3R5cGU6IFRyYW5zYWN0aW9uS2luZH0sIFR5cGU8VHJhbnNhY3Rpb25TZWFyY2hUaWxlQmFzZUNvbXBvbmVudD4+KFtcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlcn0sIFRyYW5zYWN0aW9uU2VhcmNoU2FsZXNPcmRlclRpbGVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyfSwgVHJhbnNhY3Rpb25TZWFyY2hQdXJjaGFzZU9yZGVyVGlsZUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzUXVvdGF0aW9ufSwgVHJhbnNhY3Rpb25TZWFyY2hTYWxlc1F1b3RhdGlvblRpbGVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5DYXNoRGVza30sIFRyYW5zYWN0aW9uU2VhcmNoUG9zT3JkZXJUaWxlQ29tcG9uZW50XVxyXG4gICAgXSk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zYWN0aW9uU2lkZVBhbmVsQ29tcG9uZW50OiBNYXA8VHJhbnNhY3Rpb25LaW5kLCBUeXBlPFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudD4+ID1cclxuICAgIG5ldyBNYXA8VHJhbnNhY3Rpb25LaW5kLCBUeXBlPFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudD4+KFtcclxuICAgICAgW1RyYW5zYWN0aW9uS2luZC5DYXNoRGVzaywgVHJhbnNhY3Rpb25MaW5lc1NpZGVQYW5lbENhc2hEZXNrQ29tcG9uZW50XVxyXG4gICAgXSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3RyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QnV0dG9uQmFyKHR5cGU6IFRyYW5zYWN0aW9uS2luZCk6IFRyYW5zYWN0aW9uQmFyQnV0dG9uW10ge1xyXG4gICAgaWYgKHRoaXMuX2J1dHRvbkJhclRyYW5zYWN0aW9uLmhhcyh0eXBlKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYnV0dG9uQmFyVHJhbnNhY3Rpb24uZ2V0KHR5cGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFNpZGVQYW5lbENvbXBvbmVudCh0eXBlOiBUcmFuc2FjdGlvbktpbmQpOiBUeXBlPFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudD4ge1xyXG4gICAgaWYgKHRoaXMuX3RyYW5zYWN0aW9uU2lkZVBhbmVsQ29tcG9uZW50Lmhhcyh0eXBlKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb25TaWRlUGFuZWxDb21wb25lbnQuZ2V0KHR5cGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFF1aWNrQWNjZXNzQ29tcG9uZW50KHR5cGU6IFRyYW5zYWN0aW9uS2luZCwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5KTogVHlwZTxUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQ+IHtcclxuICAgIGNvbnN0IGtleToge3R5cGU6IFRyYW5zYWN0aW9uS2luZCwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSA9IHtcclxuICAgICAgdHlwZTogdHlwZSxcclxuICAgICAgY2F0ZWdvcnk6IGNhdGVnb3J5XHJcbiAgICB9XHJcbiAgICBsZXQgZW50cnk6IFR5cGU8VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50PjtcclxuICAgIHRoaXMuX3F1aWNrQWNjZXNzQ29tcG9uZW50LmZvckVhY2goKHYsIHQsIG0pID0+IHtcclxuICAgICAgaWYgKHQudHlwZSA9PT0ga2V5LnR5cGUgJiYgdC5jYXRlZ29yeSA9PT0ga2V5LmNhdGVnb3J5KSB7XHJcbiAgICAgICAgZW50cnkgPSB2O1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBlbnRyeTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUcmFuc2FjdGlvbkdyaWRDb21wb25lbnQodHlwZTogVHJhbnNhY3Rpb25LaW5kLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkpOiBUeXBlPFRyYW5zYWN0aW9uR3JpZEJhc2VDb21wb25lbnQ+IHtcclxuICAgIGNvbnN0IGtleToge3R5cGU6IFRyYW5zYWN0aW9uS2luZCwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSA9IHtcclxuICAgICAgdHlwZTogdHlwZSxcclxuICAgICAgY2F0ZWdvcnk6IGNhdGVnb3J5XHJcbiAgICB9XHJcbiAgICBsZXQgZW50cnk6IFR5cGU8VHJhbnNhY3Rpb25HcmlkQmFzZUNvbXBvbmVudD47XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvbkdyaWRDb21wb25lbnQuZm9yRWFjaCgodiwgdCwgbSkgPT4ge1xyXG4gICAgICBpZiAodC50eXBlID09PSBrZXkudHlwZSAmJiB0LmNhdGVnb3J5ID09PSBrZXkuY2F0ZWdvcnkpIHtcclxuICAgICAgICBlbnRyeSA9IHY7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIGVudHJ5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRyYW5zYWN0aW9uTGluZUNvbXBvbmVudCh0eXBlOiBUcmFuc2FjdGlvbktpbmQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeSk6IFR5cGU8VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50PiB7XHJcbiAgICBjb25zdCBrZXk6IHt0eXBlOiBUcmFuc2FjdGlvbktpbmQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gPSB7XHJcbiAgICAgIHR5cGU6IHR5cGUsXHJcbiAgICAgIGNhdGVnb3J5OiBjYXRlZ29yeVxyXG4gICAgfVxyXG4gICAgbGV0IGVudHJ5OiBUeXBlPFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudD47XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvbkxpbmVDb21wb25lbnQuZm9yRWFjaCgodiwgdCkgPT4ge1xyXG4gICAgICBpZiAodC50eXBlID09PSBrZXkudHlwZSAmJiB0LmNhdGVnb3J5ID09PSBrZXkuY2F0ZWdvcnkpIHtcclxuICAgICAgICBlbnRyeSA9IHY7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIGVudHJ5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRyYW5zYWN0aW9uQ2FyZENvbXBvbmVudCh0eXBlOiBUcmFuc2FjdGlvbktpbmQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeSk6IFR5cGU8VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50PiB7XHJcbiAgICBjb25zdCBrZXk6IHt0eXBlOiBUcmFuc2FjdGlvbktpbmQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gPSB7XHJcbiAgICAgIHR5cGU6IHR5cGUsXHJcbiAgICAgIGNhdGVnb3J5OiBjYXRlZ29yeVxyXG4gICAgfVxyXG4gICAgbGV0IGVudHJ5OiBUeXBlPFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudD47XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvbkNhcmRDb21wb25lbnQuZm9yRWFjaCgodiwgdCkgPT4ge1xyXG4gICAgICBpZiAodC50eXBlID09PSBrZXkudHlwZSAmJiB0LmNhdGVnb3J5ID09PSBrZXkuY2F0ZWdvcnkpIHtcclxuICAgICAgICBlbnRyeSA9IHY7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIGVudHJ5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRyYW5zYWN0aW9uRmlsdGVyQ29tcG9uZW50KHR5cGU6IFRyYW5zYWN0aW9uS2luZCk6IFR5cGU8VHJhbnNhY3Rpb25GaWx0ZXJCYXNlQ29tcG9uZW50PiB7XHJcbiAgICBjb25zdCBrZXk6IHt0eXBlOiBUcmFuc2FjdGlvbktpbmR9ID0ge1xyXG4gICAgICB0eXBlOiB0eXBlfVxyXG4gICAgbGV0IGVudHJ5OiBUeXBlPFRyYW5zYWN0aW9uRmlsdGVyQmFzZUNvbXBvbmVudD47XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvbkZpbHRlckNvbXBvbmVudC5mb3JFYWNoKCh2LCB0LCBtKSA9PiB7XHJcbiAgICAgIGlmICh0LnR5cGUgPT09IGtleS50eXBlKSB7XHJcbiAgICAgICAgZW50cnkgPSB2O1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBlbnRyeTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUcmFuc2FjdGlvblNlYXJjaEdyaWRDb21wb25lbnQodHlwZTogVHJhbnNhY3Rpb25LaW5kKTogVHlwZTxUcmFuc2FjdGlvblNlYXJjaEdyaWRCYXNlQ29tcG9uZW50PiB7XHJcbiAgICBjb25zdCBrZXk6IHt0eXBlOiBUcmFuc2FjdGlvbktpbmR9ID0ge1xyXG4gICAgICB0eXBlOiB0eXBlfVxyXG4gICAgbGV0IGVudHJ5OiBUeXBlPFRyYW5zYWN0aW9uU2VhcmNoR3JpZEJhc2VDb21wb25lbnQ+O1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25TZWFyY2hHcmlkQ29tcG9uZW50LmZvckVhY2goKHYsIHQsIG0pID0+IHtcclxuICAgICAgaWYgKHQudHlwZSA9PT0ga2V5LnR5cGUpIHtcclxuICAgICAgICBlbnRyeSA9IHY7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIGVudHJ5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRyYW5zYWN0aW9uU2VhcmNoVGlsZUNvbXBvbmVudCh0eXBlOiBUcmFuc2FjdGlvbktpbmQpOiBUeXBlPFRyYW5zYWN0aW9uU2VhcmNoVGlsZUJhc2VDb21wb25lbnQ+IHtcclxuICAgIGNvbnN0IGtleToge3R5cGU6IFRyYW5zYWN0aW9uS2luZH0gPSB7XHJcbiAgICAgIHR5cGU6IHR5cGV9XHJcbiAgICBsZXQgZW50cnk6IFR5cGU8VHJhbnNhY3Rpb25TZWFyY2hUaWxlQmFzZUNvbXBvbmVudD47XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvblNlYXJjaFRpbGVDb21wb25lbnQuZm9yRWFjaCgodiwgdCwgbSkgPT4ge1xyXG4gICAgICBpZiAodC50eXBlID09PSBrZXkudHlwZSkge1xyXG4gICAgICAgIGVudHJ5ID0gdjtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICByZXR1cm4gZW50cnk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
270
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbWFwcGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9zZXJ2aWNlL3RyYW5zYWN0aW9uLW1hcHBpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFPLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUkxRixPQUFPLEVBQ0wsdUNBQXVDLEVBQ3hDLE1BQU0sa0lBQWtJLENBQUM7QUFDMUksT0FBTyxFQUNMLG9DQUFvQyxFQUNyQyxNQUFNLDRIQUE0SCxDQUFDO0FBQ3BJLE9BQU8sRUFDTCwyQ0FBMkMsRUFDNUMsTUFBTSxpSkFBaUosQ0FBQztBQUN6SixPQUFPLEVBQ0wsd0NBQXdDLEVBQ3pDLE1BQU0sMklBQTJJLENBQUM7QUFDbkosT0FBTyxFQUNMLDJDQUEyQyxFQUM1QyxNQUFNLGlKQUFpSixDQUFDO0FBQ3pKLE9BQU8sRUFDTCx3Q0FBd0MsRUFDekMsTUFBTSwySUFBMkksQ0FBQztBQUVuSixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDdkMsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUNMLGdEQUFnRCxFQUNqRCxNQUFNLHlJQUF5SSxDQUFDO0FBRWpKLE9BQU8sRUFDTCw0Q0FBNEMsRUFDN0MsTUFBTSxpSUFBaUksQ0FBQztBQUN6SSxPQUFPLEVBQ0wsdUNBQXVDLEVBQ3hDLE1BQU0scUhBQXFILENBQUM7QUFFN0gsT0FBTyxFQUNMLHlDQUF5QyxFQUMxQyxNQUFNLGlIQUFpSCxDQUFDO0FBQ3pILE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHVGQUF1RixDQUFDO0FBQ3BJLE9BQU8sRUFDTCxnQ0FBZ0MsRUFDakMsTUFBTSw2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RCxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksRUFBRTtnQkFDdkIsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDVixPQUFPO2FBQ1I7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7OztZQTdORixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQWJPLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgVHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25LaW5kfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS90cmFuc2FjdGlvbi1raW5kLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRmlsdGVyQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50L2NvcmUvYmFzZS90cmFuc2FjdGlvbi1maWx0ZXItYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VhcmNoR3JpZEJhc2VDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudC9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tc2VhcmNoLWdyaWQtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VhcmNoVGlsZUJhc2VDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudC9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tc2VhcmNoLXRpbGUtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uUHVyY2hhc2VPcmRlckZpbHRlckNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tZmlsdGVyL3RyYW5zYWN0aW9uLXB1cmNoYXNlLW9yZGVyLWZpbHRlci90cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvblNhbGVzT3JkZXJGaWx0ZXJDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLWZpbHRlci90cmFuc2FjdGlvbi1zYWxlcy1vcmRlci1maWx0ZXIvdHJhbnNhY3Rpb24tc2FsZXMtb3JkZXItZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25TZWFyY2hQdXJjaGFzZU9yZGVyR3JpZENvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tc2VhcmNoLWdyaWQvdHJhbnNhY3Rpb24tc2VhcmNoLXB1cmNoYXNlLW9yZGVyLWdyaWQvdHJhbnNhY3Rpb24tc2VhcmNoLXB1cmNoYXNlLW9yZGVyLWdyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvblNlYXJjaFNhbGVzT3JkZXJHcmlkQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1zZWFyY2gtZ3JpZC90cmFuc2FjdGlvbi1zZWFyY2gtc2FsZXMtb3JkZXItZ3JpZC90cmFuc2FjdGlvbi1zZWFyY2gtc2FsZXMtb3JkZXItZ3JpZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uU2VhcmNoUHVyY2hhc2VPcmRlclRpbGVDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLXNlYXJjaC10aWxlL3RyYW5zYWN0aW9uLXNlYXJjaC1wdXJjaGFzZS1vcmRlci10aWxlL3RyYW5zYWN0aW9uLXNlYXJjaC1wdXJjaGFzZS1vcmRlci10aWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25TZWFyY2hTYWxlc09yZGVyVGlsZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tc2VhcmNoLXRpbGUvdHJhbnNhY3Rpb24tc2VhcmNoLXNhbGVzLW9yZGVyLXRpbGUvdHJhbnNhY3Rpb24tc2VhcmNoLXNhbGVzLW9yZGVyLXRpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJhckJ1dHRvbn0gZnJvbSAnLi4vbW9kZWwvdHJhbnNhY3Rpb24tYmFyLWJ1dHRvbic7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSBmcm9tICcuLi9lbnVtL3RyYW5zYWN0aW9uLXR5cGUtY2F0ZWdvcnkuZW51bSc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc09yZGVyQ29uZmlybWF0aW9uQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3JkZXItY29uZmlybWF0aW9uL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1vcmRlci1jb25maXJtYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJhc2VDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudC9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NSZWNlaXZlZEdvb2RzQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtcmVjZWl2ZWQtZ29vZHMvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXJlY2VpdmVkLWdvb2RzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc092ZXJ2aWV3Q29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3ZlcnZpZXcvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW92ZXJ2aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25HcmlkQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50L2NvcmUvYmFzZS90cmFuc2FjdGlvbi1ncmlkLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbk9yZGVyQ29uZmlybWF0aW9uR3JpZENvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1ncmlkL3RyYW5zYWN0aW9uLW9yZGVyLWNvbmZpcm1hdGlvbi1ncmlkL3RyYW5zYWN0aW9uLW9yZGVyLWNvbmZpcm1hdGlvbi1ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lc0dyaWRDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1ncmlkL3RyYW5zYWN0aW9uLWxpbmVzLWdyaWQvdHJhbnNhY3Rpb24tbGluZXMtZ3JpZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uT3ZlcnZpZXdMaW5lQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tb3ZlcnZpZXctbGluZS90cmFuc2FjdGlvbi1vdmVydmlldy1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25PcmRlckRlbGl2ZXJ5TGluZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLW9yZGVyLWRlbGl2ZXJ5LWxpbmUvdHJhbnNhY3Rpb24tb3JkZXItZGVsaXZlcnktbGluZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NPcmRlckRlbGl2ZXJ5Q29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3JkZXItZGVsaXZlcnkvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW9yZGVyLWRlbGl2ZXJ5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25SZWNlaXZlR29vZHNMaW5lQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcmVjZWl2ZS1nb29kcy1saW5lL3RyYW5zYWN0aW9uLXJlY2VpdmUtZ29vZHMtbGluZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uUHVyY2hhc2VMaW5lQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2UtbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc09yZGVyUHVyY2hhc2VDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1vcmRlci1wdXJjaGFzZS90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3JkZXItcHVyY2hhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvblNhbGVzUHVyY2hhc2VCdXR0b25CYXJCdXR0b25Db21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci90cmFuc2FjdGlvbi1idXR0b24tYmFyLWJ1dHRvbi90cmFuc2FjdGlvbi1zYWxlcy1wdXJjaGFzZS1idXR0b24tYmFyLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uR29vZHNBbGxvY2F0aW9uTGluZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLWdvb2RzLWFsbG9jYXRpb24tbGluZS90cmFuc2FjdGlvbi1nb29kcy1hbGxvY2F0aW9uLWxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvblF1aWNrQWNjZXNzR29vZHNBbGxvY2F0aW9uQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtZ29vZHMtYWxsb2NhdGlvbi90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtZ29vZHMtYWxsb2NhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NQdXJjaGFzZU9yZGVyT3ZlcnZpZXdDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1wdXJjaGFzZS1vcmRlci1vdmVydmlldy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MtcHVyY2hhc2Utb3JkZXItb3ZlcnZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkNhcmRTYWxlc092ZXJ2aWV3Q29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWNhcmQvdHJhbnNhY3Rpb24tY2FyZC1zYWxlcy1vdmVydmlldy90cmFuc2FjdGlvbi1jYXJkLXNhbGVzLW92ZXJ2aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25DYXJkUHVyY2hhc2VPdmVydmlld0NvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQtcHVyY2hhc2Utb3ZlcnZpZXcvdHJhbnNhY3Rpb24tY2FyZC1wdXJjaGFzZS1vdmVydmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uUHVyY2hhc2VPcmRlckxpbmVDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1saW5lL3RyYW5zYWN0aW9uLXB1cmNoYXNlLW9yZGVyLWxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvblB1cmNoYXNlT3ZlcnZpZXdMaW5lQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3ZlcnZpZXctbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1vdmVydmlldy1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25QdXJjaGFzZVJlY2VpdmVHb29kc0J1dHRvbkJhckJ1dHRvbkNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1idXR0b24tYmFyL3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXItYnV0dG9uL3RyYW5zYWN0aW9uLXB1cmNoYXNlLXJlY2VpdmUtZ29vZHMtYnV0dG9uLWJhci1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvblNhbGVzQWxsb2NhdGlvbkJ1dHRvbkJhckJ1dHRvbkNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1idXR0b24tYmFyL3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXItYnV0dG9uL3RyYW5zYWN0aW9uLXNhbGVzLWFsbG9jYXRpb24tYnV0dG9uLWJhci1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvblB1cmNoYXNlQ29uZmlybWF0aW9uQnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXIvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci1idXR0b24vdHJhbnNhY3Rpb24tcHVyY2hhc2UtY29uZmlybWF0aW9uLWJ1dHRvbi1iYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25TYWxlc0RlbGl2ZXJ5QnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXIvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci1idXR0b24vdHJhbnNhY3Rpb24tc2FsZXMtZGVsaXZlcnktYnV0dG9uLWJhci1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvblF1aWNrQWNjZXNzSW52b2ljZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLWludm9pY2UvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLWludm9pY2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkludm9pY2VMaW5lQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1pbnZvaWNlLWxpbmUvdHJhbnNhY3Rpb24taW52b2ljZS1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25QdXJjaGFzZUludm9pY2VCdXR0b25CYXJCdXR0b25Db21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci90cmFuc2FjdGlvbi1idXR0b24tYmFyLWJ1dHRvbi90cmFuc2FjdGlvbi1wdXJjaGFzZS1pbnZvaWNlLWJ1dHRvbi1iYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25TYWxlc0ludm9pY2VCdXR0b25CYXJCdXR0b25Db21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tYnV0dG9uLWJhci90cmFuc2FjdGlvbi1idXR0b24tYmFyLWJ1dHRvbi90cmFuc2FjdGlvbi1zYWxlcy1pbnZvaWNlLWJ1dHRvbi1iYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25DYXJkUmVjZWl2ZUdvb2RzQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWNhcmQvdHJhbnNhY3Rpb24tY2FyZC1yZWNlaXZlLWdvb2RzL3RyYW5zYWN0aW9uLWNhcmQtcmVjZWl2ZS1nb29kcy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ2FyZEludm9pY2VDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQtaW52b2ljZS90cmFuc2FjdGlvbi1jYXJkLWludm9pY2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkNhcmRQdXJjaGFzZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQtcHVyY2hhc2UvdHJhbnNhY3Rpb24tY2FyZC1wdXJjaGFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uQ2FyZE9yZGVyRGVsaXZlcnlDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tY2FyZC90cmFuc2FjdGlvbi1jYXJkLW9yZGVyLWRlbGl2ZXJ5L3RyYW5zYWN0aW9uLWNhcmQtb3JkZXItZGVsaXZlcnkuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvblNhbGVzUGlja2luZ0J1dHRvbkJhckJ1dHRvbkNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1idXR0b24tYmFyL3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXItYnV0dG9uL3RyYW5zYWN0aW9uLXNhbGVzLXBpY2tpbmctYnV0dG9uLWJhci1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblBpY2tlZExpbmVDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXBpY2tlZC1saW5lL3RyYW5zYWN0aW9uLXBpY2tlZC1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25Ub0JlUGlja2VkTGluZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXRvLWJlLXBpY2tlZC1saW5lL3RyYW5zYWN0aW9uLXRvLWJlLXBpY2tlZC1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1RvQmVQaWNrZWRDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy10by1iZS1waWNrZWQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXRvLWJlLXBpY2tlZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NQaWNrZWRDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1waWNrZWQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXBpY2tlZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uU2FsZXNPdmVydmlld0J1dHRvbkJhckJ1dHRvbkNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1idXR0b24tYmFyL3RyYW5zYWN0aW9uLWJ1dHRvbi1iYXItYnV0dG9uL3RyYW5zYWN0aW9uLXNhbGVzLW92ZXJ2aWV3LWJ1dHRvbi1iYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJPcmRlckxpbmVDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLW9yZGVyLWxpbmUvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25TYWxlc09yZGVyUXVvdGF0aW9uTGluZUNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXNhbGVzLW9yZGVyLXF1b3RhdGlvbi1saW5lL3RyYW5zYWN0aW9uLXNhbGVzLW9yZGVyLXF1b3RhdGlvbi1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25TYWxlc1F1b3RhdGlvbkZpbHRlckNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tZmlsdGVyL3RyYW5zYWN0aW9uLXNhbGVzLXF1b3RhdGlvbi1maWx0ZXIvdHJhbnNhY3Rpb24tc2FsZXMtcXVvdGF0aW9uLWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NTYWxlc1F1b3RhdGlvbkNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNhbGVzLXF1b3RhdGlvbi90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtc2FsZXMtcXVvdGF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25TZWFyY2hTYWxlc1F1b3RhdGlvbkdyaWRDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLXNlYXJjaC1ncmlkL3RyYW5zYWN0aW9uLXNlYXJjaC1ncmlkLXNhbGVzLXF1b3RhdGlvbi1ncmlkL3RyYW5zYWN0aW9uLXNlYXJjaC1zYWxlcy1xdW90YXRpb24tZ3JpZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uU2VhcmNoU2FsZXNRdW90YXRpb25UaWxlQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1zZWFyY2gtdGlsZS90cmFuc2FjdGlvbi1zZWFyY2gtc2FsZXMtcXVvdGF0aW9uLXRpbGUvdHJhbnNhY3Rpb24tc2VhcmNoLXNhbGVzLXF1b3RhdGlvbi10aWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DZmdOYW1lfSBmcm9tICcuLi9lbnVtL3RyYW5zYWN0aW9uLWNmZy1uYW1lLmVudW0nO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uQ2FyZEdvb2RzQWxsb2NhdGlvbkNvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQtZ29vZHMtYWxsb2NhdGlvbi90cmFuc2FjdGlvbi1jYXJkLWdvb2RzLWFsbG9jYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkNhcmRUb0JlUGlja2VkQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWNhcmQvdHJhbnNhY3Rpb24tY2FyZC10by1iZS1waWNrZWQvdHJhbnNhY3Rpb24tY2FyZC10by1iZS1waWNrZWQuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkNhcmRQaWNrZWRDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQtcGlja2VkL3RyYW5zYWN0aW9uLWNhcmQtcGlja2VkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uU2VhcmNoUG9zT3JkZXJUaWxlQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1zZWFyY2gtdGlsZS90cmFuc2FjdGlvbi1zZWFyY2gtcG9zLW9yZGVyLXRpbGUvdHJhbnNhY3Rpb24tc2VhcmNoLXBvcy1vcmRlci10aWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25TZWFyY2hQb3NHcmlkQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1zZWFyY2gtZ3JpZC90cmFuc2FjdGlvbi1zZWFyY2gtcG9zLWdyaWQvdHJhbnNhY3Rpb24tc2VhcmNoLXBvcy1ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25MaW5lc1NpZGVQYW5lbENhc2hEZXNrQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmVzLXNpZGUtcGFuZWwvdHJhbnNhY3Rpb24tbGluZXMtc2lkZS1wYW5lbC1jYXNoLWRlc2svdHJhbnNhY3Rpb24tbGluZXMtc2lkZS1wYW5lbC1jYXNoLWRlc2suY29tcG9uZW50JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25NYXBwaW5nU2VydmljZSB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGNmZ05hbWVzOiB0eXBlb2YgVHJhbnNhY3Rpb25DZmdOYW1lID0gVHJhbnNhY3Rpb25DZmdOYW1lO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9idXR0b25CYXJUcmFuc2FjdGlvbjogTWFwPFRyYW5zYWN0aW9uS2luZCwgVHJhbnNhY3Rpb25CYXJCdXR0b25bXT4gPSBuZXcgTWFwPFRyYW5zYWN0aW9uS2luZCwgVHJhbnNhY3Rpb25CYXJCdXR0b25bXT4oW1xyXG4gICAgW1RyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyLCBbXHJcbiAgICAgIHt0aXRsZTogJ09WRVJWSUVXJywgaWNvbjogSWNvbi5DYXJ0U2hvcHBpbmdSZWd1bGFyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlck92ZXJ2aWV3LCBjZmdOYW1lOiB0aGlzLmNmZ05hbWVzLlJ1YnJpY092ZXJ2aWV3fSxcclxuICAgICAge3RpdGxlOiAnQ09ORklSTUFUSU9OJywgaWNvbjogSWNvbi5NZW1vQ2lyY2xlQ2hlY2tSZWd1bGFyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlck9yZGVyQ29uZmlybWF0aW9uLCBjb21wb25lbnQ6IFRyYW5zYWN0aW9uUHVyY2hhc2VDb25maXJtYXRpb25CdXR0b25CYXJCdXR0b25Db21wb25lbnQsIGNmZ05hbWU6IHRoaXMuY2ZnTmFtZXMuUnVicmljQ29uZmlybWF0aW9ufSxcclxuICAgICAge3RpdGxlOiAnVFJBTlNQT1JUJywgaWNvbjogSWNvbi5UcnVja0NvbnRhaW5lclNvbGlkLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlclRyYW5zcG9ydCwgY2ZnTmFtZTogdGhpcy5jZmdOYW1lcy5SdWJyaWNUcmFuc3BvcnR9LFxyXG4gICAgICB7dGl0bGU6ICdSRUNFSVZFRCcsIGljb246IEljb24uQ2FydEZsYXRiZWRCb3hlc1NvbGlkLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlclJlY2VpdmVkR29vZHMsIGNvbXBvbmVudDogVHJhbnNhY3Rpb25QdXJjaGFzZVJlY2VpdmVHb29kc0J1dHRvbkJhckJ1dHRvbkNvbXBvbmVudCwgY2ZnTmFtZTogdGhpcy5jZmdOYW1lcy5SdWJyaWNSZWNlaXZlZH0sXHJcbiAgICAgIHt0aXRsZTogJ0lOVk9JQ0VfQ0hFQ0snLCBpY29uOiBJY29uLkludm9pY2UsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVySW52b2ljZUNoZWNrLCBjb21wb25lbnQ6IFRyYW5zYWN0aW9uUHVyY2hhc2VJbnZvaWNlQnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50LCBjZmdOYW1lOiB0aGlzLmNmZ05hbWVzLlJ1YnJpY0ludm9pY2VDaGVja31cclxuICAgIF1dLFxyXG4gICAgW1RyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBbXHJcbiAgICAgIHt0aXRsZTogJ09WRVJWSUVXJywgaWNvbjogSWNvbi5DYXJ0U2hvcHBpbmdSZWd1bGFyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlck92ZXJ2aWV3LCBjb21wb25lbnQ6IFRyYW5zYWN0aW9uU2FsZXNPdmVydmlld0J1dHRvbkJhckJ1dHRvbkNvbXBvbmVudCwgY2ZnTmFtZTogdGhpcy5jZmdOYW1lcy5SdWJyaWNPdmVydmlld30sXHJcbiAgICAgIHt0aXRsZTogJ1BVUkNIQVNFJywgaWNvbjogSWNvbi5QYWxsZXRCb3hlc1NoYXJwUmVndWxhciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJQdXJjaGFzZSwgY29tcG9uZW50OiBUcmFuc2FjdGlvblNhbGVzUHVyY2hhc2VCdXR0b25CYXJCdXR0b25Db21wb25lbnQsIGNmZ05hbWU6IHRoaXMuY2ZnTmFtZXMuUnVicmljUHVyY2hhc2V9LFxyXG4gICAgICB7dGl0bGU6ICdBTExPQ0FUSU9OJywgaWNvbjogSWNvbi5TaGVsdmVzUmVndWxhciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJBbGxvY2F0aW9uLCBjb21wb25lbnQ6IFRyYW5zYWN0aW9uU2FsZXNBbGxvY2F0aW9uQnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50LCBjZmdOYW1lOiB0aGlzLmNmZ05hbWVzLlJ1YnJpY0FsbG9jYXRlfSxcclxuICAgICAge3RpdGxlOiAnTE9HSVNUSUNTJywgaWNvbjogSWNvbi5Cb3hlc1BhY2tpbmdSZWd1bGFyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckxvZ2lzdGljcywgY29tcG9uZW50OiBUcmFuc2FjdGlvblNhbGVzUGlja2luZ0J1dHRvbkJhckJ1dHRvbkNvbXBvbmVudCwgY3VzdG9tQ2xpY2s6IHRydWUsIGNmZ05hbWU6IHRoaXMuY2ZnTmFtZXMuUnVicmljTG9naXN0aWNzLCBpc1Zpc2libGVGbjogdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmxvZ2lzdGljc0J1dHRvblZpc2libGV9LFxyXG4gICAgICB7dGl0bGU6ICdQTEFOTklORycsIGljb246IEljb24uVHJ1Y2tNb3ZpbmdSZWd1bGFyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclBsYW5uaW5nLCBjZmdOYW1lOiB0aGlzLmNmZ05hbWVzLlJ1YnJpY1BsYW5uaW5nfSxcclxuICAgICAge3RpdGxlOiAnREVMSVZFUllfTk9URScsIGljb246IEljb24uTWVtb0NpcmNsZUNoZWNrUmVndWxhciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJEZWxpdmVyeU5vdGUsIGNvbXBvbmVudDogVHJhbnNhY3Rpb25TYWxlc0RlbGl2ZXJ5QnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50LCBjZmdOYW1lOiB0aGlzLmNmZ05hbWVzLlJ1YnJpY0RlbGl2ZXJ5fSxcclxuICAgICAge3RpdGxlOiAnSU5WT0lDRScsIGljb246IEljb24uSW52b2ljZSwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJJbnZvaWNlLCBjb21wb25lbnQ6IFRyYW5zYWN0aW9uU2FsZXNJbnZvaWNlQnV0dG9uQmFyQnV0dG9uQ29tcG9uZW50LCBjZmdOYW1lOiB0aGlzLmNmZ05hbWVzLlJ1YnJpY0ludm9pY2V9XHJcbiAgICBdXSxcclxuICAgIFtUcmFuc2FjdGlvbktpbmQuU2FsZXNRdW90YXRpb24sIFtcclxuICAgICAge3RpdGxlOiAnT1ZFUlZJRVcnLCBpY29uOiBJY29uLkNhcnRTaG9wcGluZ1JlZ3VsYXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyUXVvdGF0aW9ufSxcclxuICAgIF1dLFxyXG4gIF0pO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9xdWlja0FjY2Vzc0NvbXBvbmVudDogTWFwPHt0eXBlOiBUcmFuc2FjdGlvbktpbmQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0sIFR5cGU8VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50Pj4gPVxyXG4gICAgbmV3IE1hcDx7dHlwZTogVHJhbnNhY3Rpb25LaW5kOyBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9LCBUeXBlPFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudD4+KFtcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuUHVyY2hhc2VPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJPdmVydmlld30sIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NQdXJjaGFzZU9yZGVyT3ZlcnZpZXdDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlck9yZGVyQ29uZmlybWF0aW9ufSwgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc09yZGVyQ29uZmlybWF0aW9uQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuUHVyY2hhc2VPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJSZWNlaXZlZEdvb2RzfSwgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1JlY2VpdmVkR29vZHNDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlck92ZXJ2aWV3fSwgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc092ZXJ2aWV3Q29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJQdXJjaGFzZX0sIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NPcmRlclB1cmNoYXNlQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJBbGxvY2F0aW9ufSwgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc0dvb2RzQWxsb2NhdGlvbkNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyRGVsaXZlcnlOb3RlfSwgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc09yZGVyRGVsaXZlcnlDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckludm9pY2V9LCBUcmFuc2FjdGlvblF1aWNrQWNjZXNzSW52b2ljZUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyVG9CZVBpY2tlZH0sIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NUb0JlUGlja2VkQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJQaWNrZWR9LCBUcmFuc2FjdGlvblF1aWNrQWNjZXNzUGlja2VkQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNRdW90YXRpb24sIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyUXVvdGF0aW9ufSwgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1NhbGVzUXVvdGF0aW9uQ29tcG9uZW50XVxyXG4gICAgXSk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zYWN0aW9uR3JpZENvbXBvbmVudDogTWFwPHt0eXBlOiBUcmFuc2FjdGlvbktpbmQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0sIFR5cGU8VHJhbnNhY3Rpb25HcmlkQmFzZUNvbXBvbmVudD4+ID1cclxuICAgIG5ldyBNYXA8e3R5cGU6IFRyYW5zYWN0aW9uS2luZDsgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSwgVHlwZTxUcmFuc2FjdGlvbkdyaWRCYXNlQ29tcG9uZW50Pj4oW1xyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlck92ZXJ2aWV3fSwgVHJhbnNhY3Rpb25MaW5lc0dyaWRDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlck9yZGVyQ29uZmlybWF0aW9ufSwgVHJhbnNhY3Rpb25PcmRlckNvbmZpcm1hdGlvbkdyaWRDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlck92ZXJ2aWV3fSwgVHJhbnNhY3Rpb25MaW5lc0dyaWRDb21wb25lbnRdXHJcbiAgICBdKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfdHJhbnNhY3Rpb25MaW5lQ29tcG9uZW50OiBNYXA8e3R5cGU6IFRyYW5zYWN0aW9uS2luZCwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSwgVHlwZTxUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQ+PiA9XHJcbiAgICBuZXcgTWFwPHt0eXBlOiBUcmFuc2FjdGlvbktpbmQ7IGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0sIFR5cGU8VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50Pj4oW1xyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlck92ZXJ2aWV3fSwgVHJhbnNhY3Rpb25PdmVydmlld0xpbmVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclB1cmNoYXNlfSwgVHJhbnNhY3Rpb25QdXJjaGFzZUxpbmVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckFsbG9jYXRpb259LCBUcmFuc2FjdGlvbkdvb2RzQWxsb2NhdGlvbkxpbmVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckRlbGl2ZXJ5Tm90ZX0sIFRyYW5zYWN0aW9uT3JkZXJEZWxpdmVyeUxpbmVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckludm9pY2V9LCBUcmFuc2FjdGlvbkludm9pY2VMaW5lQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJQaWNrZWR9LCBUcmFuc2FjdGlvblBpY2tlZExpbmVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclRvQmVQaWNrZWR9LCBUcmFuc2FjdGlvblRvQmVQaWNrZWRMaW5lQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuUHVyY2hhc2VPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJPdmVydmlld30sIFRyYW5zYWN0aW9uUHVyY2hhc2VPdmVydmlld0xpbmVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlclJlY2VpdmVkR29vZHN9LCBUcmFuc2FjdGlvblJlY2VpdmVHb29kc0xpbmVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlck9yZGVyQ29uZmlybWF0aW9ufSwgVHJhbnNhY3Rpb25QdXJjaGFzZU9yZGVyTGluZUNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLkNhc2hEZXNrLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckNhc2hSZWdpc3Rlcn0sIFRyYW5zYWN0aW9uQ2FzaFJlZ2lzdGVyT3JkZXJMaW5lQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNRdW90YXRpb24sIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVyUXVvdGF0aW9ufSwgVHJhbnNhY3Rpb25TYWxlc09yZGVyUXVvdGF0aW9uTGluZUNvbXBvbmVudF0sXHJcbiAgICBdKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfdHJhbnNhY3Rpb25DYXJkQ29tcG9uZW50OiBNYXA8e3R5cGU6IFRyYW5zYWN0aW9uS2luZCwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSwgVHlwZTxUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQ+PiA9XHJcbiAgICBuZXcgTWFwPHt0eXBlOiBUcmFuc2FjdGlvbktpbmQ7IGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0sIFR5cGU8VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50Pj4oW1xyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlck92ZXJ2aWV3fSwgVHJhbnNhY3Rpb25DYXJkU2FsZXNPdmVydmlld0NvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5TYWxlc09yZGVySW52b2ljZX0sIFRyYW5zYWN0aW9uQ2FyZEludm9pY2VDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclB1cmNoYXNlfSwgVHJhbnNhY3Rpb25DYXJkUHVyY2hhc2VDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckRlbGl2ZXJ5Tm90ZX0sIFRyYW5zYWN0aW9uQ2FyZE9yZGVyRGVsaXZlcnlDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlckFsbG9jYXRpb259LCBUcmFuc2FjdGlvbkNhcmRHb29kc0FsbG9jYXRpb25Db21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclRvQmVQaWNrZWR9LCBUcmFuc2FjdGlvbkNhcmRUb0JlUGlja2VkQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJQaWNrZWR9LCBUcmFuc2FjdGlvbkNhcmRQaWNrZWRDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5QdXJjaGFzZU9yZGVyLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlck92ZXJ2aWV3fSwgVHJhbnNhY3Rpb25DYXJkUHVyY2hhc2VPdmVydmlld0NvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlB1cmNoYXNlT3JkZXIsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3JkZXJDb25maXJtYXRpb259LCBUcmFuc2FjdGlvbkNhcmRQdXJjaGFzZU92ZXJ2aWV3Q29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuUHVyY2hhc2VPcmRlciwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJSZWNlaXZlZEdvb2RzfSwgVHJhbnNhY3Rpb25DYXJkUmVjZWl2ZUdvb2RzQ29tcG9uZW50XSxcclxuICAgIF0pO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF90cmFuc2FjdGlvbkZpbHRlckNvbXBvbmVudDogTWFwPHt0eXBlOiBUcmFuc2FjdGlvbktpbmR9LCBUeXBlPFRyYW5zYWN0aW9uRmlsdGVyQmFzZUNvbXBvbmVudD4+ID1cclxuICAgIG5ldyBNYXA8e3R5cGU6IFRyYW5zYWN0aW9uS2luZH0sIFR5cGU8VHJhbnNhY3Rpb25GaWx0ZXJCYXNlQ29tcG9uZW50Pj4oW1xyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyfSwgVHJhbnNhY3Rpb25TYWxlc09yZGVyRmlsdGVyQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuUHVyY2hhc2VPcmRlcn0sIFRyYW5zYWN0aW9uUHVyY2hhc2VPcmRlckZpbHRlckNvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzUXVvdGF0aW9ufSwgVHJhbnNhY3Rpb25TYWxlc1F1b3RhdGlvbkZpbHRlckNvbXBvbmVudF1cclxuICAgIF0pO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF90cmFuc2FjdGlvblNlYXJjaEdyaWRDb21wb25lbnQ6IE1hcDx7dHlwZTogVHJhbnNhY3Rpb25LaW5kfSwgVHlwZTxUcmFuc2FjdGlvblNlYXJjaEdyaWRCYXNlQ29tcG9uZW50Pj4gPVxyXG4gICAgbmV3IE1hcDx7dHlwZTogVHJhbnNhY3Rpb25LaW5kfSwgVHlwZTxUcmFuc2FjdGlvblNlYXJjaEdyaWRCYXNlQ29tcG9uZW50Pj4oW1xyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyfSwgVHJhbnNhY3Rpb25TZWFyY2hTYWxlc09yZGVyR3JpZENvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlB1cmNoYXNlT3JkZXJ9LCBUcmFuc2FjdGlvblNlYXJjaFB1cmNoYXNlT3JkZXJHcmlkQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuU2FsZXNRdW90YXRpb259LCBUcmFuc2FjdGlvblNlYXJjaFNhbGVzUXVvdGF0aW9uR3JpZENvbXBvbmVudF0sXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLkNhc2hEZXNrfSwgVHJhbnNhY3Rpb25TZWFyY2hQb3NHcmlkQ29tcG9uZW50XVxyXG4gICAgXSk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zYWN0aW9uU2VhcmNoVGlsZUNvbXBvbmVudDogTWFwPHt0eXBlOiBUcmFuc2FjdGlvbktpbmR9LCBUeXBlPFRyYW5zYWN0aW9uU2VhcmNoVGlsZUJhc2VDb21wb25lbnQ+PiA9XHJcbiAgICBuZXcgTWFwPHt0eXBlOiBUcmFuc2FjdGlvbktpbmR9LCBUeXBlPFRyYW5zYWN0aW9uU2VhcmNoVGlsZUJhc2VDb21wb25lbnQ+PihbXHJcbiAgICAgIFt7dHlwZTogVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXJ9LCBUcmFuc2FjdGlvblNlYXJjaFNhbGVzT3JkZXJUaWxlQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuUHVyY2hhc2VPcmRlcn0sIFRyYW5zYWN0aW9uU2VhcmNoUHVyY2hhc2VPcmRlclRpbGVDb21wb25lbnRdLFxyXG4gICAgICBbe3R5cGU6IFRyYW5zYWN0aW9uS2luZC5TYWxlc1F1b3RhdGlvbn0sIFRyYW5zYWN0aW9uU2VhcmNoU2FsZXNRdW90YXRpb25UaWxlQ29tcG9uZW50XSxcclxuICAgICAgW3t0eXBlOiBUcmFuc2FjdGlvbktpbmQuQ2FzaERlc2t9LCBUcmFuc2FjdGlvblNlYXJjaFBvc09yZGVyVGlsZUNvbXBvbmVudF1cclxuICAgIF0pO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF90cmFuc2FjdGlvblNpZGVQYW5lbENvbXBvbmVudDogTWFwPFRyYW5zYWN0aW9uS2luZCwgVHlwZTxUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQ+PiA9XHJcbiAgICBuZXcgTWFwPFRyYW5zYWN0aW9uS2luZCwgVHlwZTxUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQ+PihbXHJcbiAgICAgIFtUcmFuc2FjdGlvbktpbmQuQ2FzaERlc2ssIFRyYW5zYWN0aW9uTGluZXNTaWRlUGFuZWxDYXNoRGVza0NvbXBvbmVudF1cclxuICAgIF0pO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF90cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEJ1dHRvbkJhcih0eXBlOiBUcmFuc2FjdGlvbktpbmQpOiBUcmFuc2FjdGlvbkJhckJ1dHRvbltdIHtcclxuICAgIGlmICh0aGlzLl9idXR0b25CYXJUcmFuc2FjdGlvbi5oYXModHlwZSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2J1dHRvbkJhclRyYW5zYWN0aW9uLmdldCh0eXBlKTtcclxuICAgIH1cclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTaWRlUGFuZWxDb21wb25lbnQodHlwZTogVHJhbnNhY3Rpb25LaW5kKTogVHlwZTxUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQ+IHtcclxuICAgIGlmICh0aGlzLl90cmFuc2FjdGlvblNpZGVQYW5lbENvbXBvbmVudC5oYXModHlwZSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uU2lkZVBhbmVsQ29tcG9uZW50LmdldCh0eXBlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRRdWlja0FjY2Vzc0NvbXBvbmVudCh0eXBlOiBUcmFuc2FjdGlvbktpbmQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeSk6IFR5cGU8VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50PiB7XHJcbiAgICBjb25zdCBrZXk6IHt0eXBlOiBUcmFuc2FjdGlvbktpbmQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gPSB7XHJcbiAgICAgIHR5cGU6IHR5cGUsXHJcbiAgICAgIGNhdGVnb3J5OiBjYXRlZ29yeVxyXG4gICAgfVxyXG4gICAgbGV0IGVudHJ5OiBUeXBlPFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudD47XHJcbiAgICB0aGlzLl9xdWlja0FjY2Vzc0NvbXBvbmVudC5mb3JFYWNoKCh2LCB0LCBtKSA9PiB7XHJcbiAgICAgIGlmICh0LnR5cGUgPT09IGtleS50eXBlICYmIHQuY2F0ZWdvcnkgPT09IGtleS5jYXRlZ29yeSkge1xyXG4gICAgICAgIGVudHJ5ID0gdjtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICByZXR1cm4gZW50cnk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VHJhbnNhY3Rpb25HcmlkQ29tcG9uZW50KHR5cGU6IFRyYW5zYWN0aW9uS2luZCwgY2F0ZWdvcnk6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5KTogVHlwZTxUcmFuc2FjdGlvbkdyaWRCYXNlQ29tcG9uZW50PiB7XHJcbiAgICBjb25zdCBrZXk6IHt0eXBlOiBUcmFuc2FjdGlvbktpbmQsIGNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gPSB7XHJcbiAgICAgIHR5cGU6IHR5cGUsXHJcbiAgICAgIGNhdGVnb3J5OiBjYXRlZ29yeVxyXG4gICAgfVxyXG4gICAgbGV0IGVudHJ5OiBUeXBlPFRyYW5zYWN0aW9uR3JpZEJhc2VDb21wb25lbnQ+O1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25HcmlkQ29tcG9uZW50LmZvckVhY2goKHYsIHQsIG0pID0+IHtcclxuICAgICAgaWYgKHQudHlwZSA9PT0ga2V5LnR5cGUgJiYgdC5jYXRlZ29yeSA9PT0ga2V5LmNhdGVnb3J5KSB7XHJcbiAgICAgICAgZW50cnkgPSB2O1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBlbnRyeTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUcmFuc2FjdGlvbkxpbmVDb21wb25lbnQodHlwZTogVHJhbnNhY3Rpb25LaW5kLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkpOiBUeXBlPFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudD4ge1xyXG4gICAgY29uc3Qga2V5OiB7dHlwZTogVHJhbnNhY3Rpb25LaW5kLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9ID0ge1xyXG4gICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICBjYXRlZ29yeTogY2F0ZWdvcnlcclxuICAgIH1cclxuICAgIGxldCBlbnRyeTogVHlwZTxUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQ+O1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25MaW5lQ29tcG9uZW50LmZvckVhY2goKHYsIHQpID0+IHtcclxuICAgICAgaWYgKHQudHlwZSA9PT0ga2V5LnR5cGUgJiYgdC5jYXRlZ29yeSA9PT0ga2V5LmNhdGVnb3J5KSB7XHJcbiAgICAgICAgZW50cnkgPSB2O1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBlbnRyeTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUcmFuc2FjdGlvbkNhcmRDb21wb25lbnQodHlwZTogVHJhbnNhY3Rpb25LaW5kLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkpOiBUeXBlPFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudD4ge1xyXG4gICAgY29uc3Qga2V5OiB7dHlwZTogVHJhbnNhY3Rpb25LaW5kLCBjYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9ID0ge1xyXG4gICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICBjYXRlZ29yeTogY2F0ZWdvcnlcclxuICAgIH1cclxuICAgIGxldCBlbnRyeTogVHlwZTxUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQ+O1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25DYXJkQ29tcG9uZW50LmZvckVhY2goKHYsIHQpID0+IHtcclxuICAgICAgaWYgKHQudHlwZSA9PT0ga2V5LnR5cGUgJiYgdC5jYXRlZ29yeSA9PT0ga2V5LmNhdGVnb3J5KSB7XHJcbiAgICAgICAgZW50cnkgPSB2O1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBlbnRyeTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUcmFuc2FjdGlvbkZpbHRlckNvbXBvbmVudCh0eXBlOiBUcmFuc2FjdGlvbktpbmQpOiBUeXBlPFRyYW5zYWN0aW9uRmlsdGVyQmFzZUNvbXBvbmVudD4ge1xyXG4gICAgY29uc3Qga2V5OiB7dHlwZTogVHJhbnNhY3Rpb25LaW5kfSA9IHtcclxuICAgICAgdHlwZTogdHlwZX1cclxuICAgIGxldCBlbnRyeTogVHlwZTxUcmFuc2FjdGlvbkZpbHRlckJhc2VDb21wb25lbnQ+O1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25GaWx0ZXJDb21wb25lbnQuZm9yRWFjaCgodiwgdCwgbSkgPT4ge1xyXG4gICAgICBpZiAodC50eXBlID09PSBrZXkudHlwZSkge1xyXG4gICAgICAgIGVudHJ5ID0gdjtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICByZXR1cm4gZW50cnk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VHJhbnNhY3Rpb25TZWFyY2hHcmlkQ29tcG9uZW50KHR5cGU6IFRyYW5zYWN0aW9uS2luZCk6IFR5cGU8VHJhbnNhY3Rpb25TZWFyY2hHcmlkQmFzZUNvbXBvbmVudD4ge1xyXG4gICAgY29uc3Qga2V5OiB7dHlwZTogVHJhbnNhY3Rpb25LaW5kfSA9IHtcclxuICAgICAgdHlwZTogdHlwZX1cclxuICAgIGxldCBlbnRyeTogVHlwZTxUcmFuc2FjdGlvblNlYXJjaEdyaWRCYXNlQ29tcG9uZW50PjtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uU2VhcmNoR3JpZENvbXBvbmVudC5mb3JFYWNoKCh2LCB0LCBtKSA9PiB7XHJcbiAgICAgIGlmICh0LnR5cGUgPT09IGtleS50eXBlKSB7XHJcbiAgICAgICAgZW50cnkgPSB2O1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBlbnRyeTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUcmFuc2FjdGlvblNlYXJjaFRpbGVDb21wb25lbnQodHlwZTogVHJhbnNhY3Rpb25LaW5kKTogVHlwZTxUcmFuc2FjdGlvblNlYXJjaFRpbGVCYXNlQ29tcG9uZW50PiB7XHJcbiAgICBjb25zdCBrZXk6IHt0eXBlOiBUcmFuc2FjdGlvbktpbmR9ID0ge1xyXG4gICAgICB0eXBlOiB0eXBlfVxyXG4gICAgbGV0IGVudHJ5OiBUeXBlPFRyYW5zYWN0aW9uU2VhcmNoVGlsZUJhc2VDb21wb25lbnQ+O1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25TZWFyY2hUaWxlQ29tcG9uZW50LmZvckVhY2goKHYsIHQsIG0pID0+IHtcclxuICAgICAgaWYgKHQudHlwZSA9PT0ga2V5LnR5cGUpIHtcclxuICAgICAgICBlbnRyeSA9IHY7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIGVudHJ5O1xyXG4gIH1cclxufVxyXG4iXX0=