@plumile/backoffice-core 0.1.200 → 0.1.205

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 (43) hide show
  1. package/README.md +3 -1
  2. package/lib/esm/builders.d.ts +11 -5
  3. package/lib/esm/builders.d.ts.map +1 -1
  4. package/lib/esm/builders.js +1 -1
  5. package/lib/esm/config/entity-builders.d.ts +3 -3
  6. package/lib/esm/config/entity-builders.d.ts.map +1 -1
  7. package/lib/esm/config/entity-builders.js +3 -5
  8. package/lib/esm/detailParams.d.ts +8 -2
  9. package/lib/esm/detailParams.d.ts.map +1 -1
  10. package/lib/esm/detailParams.js +3 -3
  11. package/lib/esm/index.d.ts +1 -0
  12. package/lib/esm/index.d.ts.map +1 -1
  13. package/lib/esm/index.js +1 -1
  14. package/lib/esm/resolve.d.ts +2 -1
  15. package/lib/esm/resolve.d.ts.map +1 -1
  16. package/lib/esm/resolve.js +1 -1
  17. package/lib/esm/runtimeErasure.d.ts +2 -0
  18. package/lib/esm/runtimeErasure.d.ts.map +1 -0
  19. package/lib/esm/runtimeErasure.js +2 -0
  20. package/lib/esm/types.d.ts +27 -24
  21. package/lib/esm/types.d.ts.map +1 -1
  22. package/lib/esm/types.js +1 -1
  23. package/lib/tsconfig.esm.tsbuildinfo +1 -1
  24. package/lib/types/builders.d.ts +11 -5
  25. package/lib/types/builders.d.ts.map +1 -1
  26. package/lib/types/config/entity-builders.d.ts +3 -3
  27. package/lib/types/config/entity-builders.d.ts.map +1 -1
  28. package/lib/types/detailParams.d.ts +8 -2
  29. package/lib/types/detailParams.d.ts.map +1 -1
  30. package/lib/types/index.d.ts +1 -0
  31. package/lib/types/index.d.ts.map +1 -1
  32. package/lib/types/resolve.d.ts +2 -1
  33. package/lib/types/resolve.d.ts.map +1 -1
  34. package/lib/types/runtimeErasure.d.ts +2 -0
  35. package/lib/types/runtimeErasure.d.ts.map +1 -0
  36. package/lib/types/types.d.ts +27 -24
  37. package/lib/types/types.d.ts.map +1 -1
  38. package/package.json +3 -3
  39. package/lib/esm/type-tests/operation-bound-config.test-d.d.ts +0 -50
  40. package/lib/esm/type-tests/operation-bound-config.test-d.d.ts.map +0 -1
  41. package/lib/esm/type-tests/operation-bound-config.test-d.js +0 -666
  42. package/lib/types/type-tests/operation-bound-config.test-d.d.ts +0 -50
  43. package/lib/types/type-tests/operation-bound-config.test-d.d.ts.map +0 -1
package/lib/esm/types.js CHANGED
@@ -5,4 +5,4 @@ export class BackofficeToolValidationError extends Error {
5
5
  this.label = label;
6
6
  }
7
7
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBazFFQSxNQUFNLE9BQU8sNkJBQThCLFNBQVEsS0FBSztJQUMvQyxLQUFLLENBQVk7SUFFeEIsWUFBbUIsS0FBZ0I7UUFDakMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IFRGdW5jdGlvbiB9IGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IHR5cGUgeyBQcmVsb2FkZWRRdWVyeSB9IGZyb20gJ3JlYWN0LXJlbGF5JztcbmltcG9ydCB0eXBlIHtcbiAgR3JhcGhRTFRhZ2dlZE5vZGUsXG4gIE9wZXJhdGlvblR5cGUsXG4gIFJlY29yZFNvdXJjZVNlbGVjdG9yUHJveHksXG59IGZyb20gJ3JlbGF5LXJ1bnRpbWUnO1xuaW1wb3J0IHR5cGUgeyBJbmZlckZpbHRlcnMsIFNjaGVtYSB9IGZyb20gJ0BwbHVtaWxlL2ZpbHRlci1xdWVyeS90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IEJhY2tvZmZpY2VGaWx0ZXJTY2hlbWEgfSBmcm9tICcuL2ZpbHRlcnMvc2NoZW1hLmpzJztcbmltcG9ydCB0eXBlIHsgQkFDS09GRklDRV9FTlRJVFlfRkFDRVRfS0lORFMgfSBmcm9tICcuL2NvbnN0YW50cy5qcyc7XG5cbmV4cG9ydCB0eXBlIEkxOG5MYWJlbCA9ICh0OiBURnVuY3Rpb24pID0+IHN0cmluZztcblxudHlwZSBCaXZhcmlhbnRDYWxsYmFjazxGbj4gPSBGbiBleHRlbmRzICguLi5hcmdzOiBpbmZlciBBKSA9PiBpbmZlciBSXG4gID8geyBiaXZhcmlhbmNlSGFjazogKC4uLmFyZ3M6IEEpID0+IFIgfVsnYml2YXJpYW5jZUhhY2snXVxuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQWN0aW9uUmVuZGVyTm9kZSA9IEV4Y2x1ZGU8UmVhY3ROb2RlLCBQcm9taXNlPHVua25vd24+PjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVZhbHVlTGFiZWwgPSBzdHJpbmcgfCBudW1iZXIgfCBudWxsIHwgSTE4bkxhYmVsO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQmFkZ2VUb25lID1cbiAgJ25ldXRyYWwnIHwgJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2Rhbmdlcic7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VOdW1iZXJGb3JtYXQgPSAnbnVtYmVyJyB8ICdjdXJyZW5jeScgfCAncGVyY2VudCc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VGaWVsZFNpemUgPVxuICAneHMnIHwgJ3MnIHwgJ3N0YXR1c0FjdGlvbicgfCAnbScgfCAnbCcgfCAneGwnIHwgJ2ZsdWlkJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUFjdGlvblZhcmlhbnQgPVxuICB8ICdwcmltYXJ5J1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ3RleHQnXG4gIHwgJ3N1Y2Nlc3MnXG4gIHwgJ2RhbmdlcidcbiAgfCAnYnJhbmQnXG4gIHwgJ2JyYW5kR2hvc3QnXG4gIHwgJ3RhYidcbiAgfCAnaWNvbic7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBY3Rpb25TaXplID0gJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUFjdGlvblRvYXN0Vmlld1NwZWM8XG4gIE5vZGUgPSB1bmtub3duLFxuICBSZXNwb25zZSA9IHVua25vd24sXG4+ID0ge1xuICBlbnRpdHlJZDogc3RyaW5nO1xuICBnZXRUYXJnZXRJZDogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKHJlc3BvbnNlOiBSZXNwb25zZSwgbm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbFxuICA+O1xuICBsYWJlbD86IEkxOG5MYWJlbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBY3Rpb25Ub2FzdFNwZWM8Tm9kZSA9IHVua25vd24sIFJlc3BvbnNlID0gdW5rbm93bj4gPSB7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIG1lc3NhZ2U/OiBJMThuTGFiZWw7XG4gIHZpZXc/OiBCYWNrb2ZmaWNlQWN0aW9uVG9hc3RWaWV3U3BlYzxOb2RlLCBSZXNwb25zZT47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uQmFzZTxOb2RlPiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgYXJpYUxhYmVsPzogSTE4bkxhYmVsO1xuICB2YXJpYW50PzogQmFja29mZmljZUFjdGlvblZhcmlhbnQ7XG4gIHNpemU/OiBCYWNrb2ZmaWNlQWN0aW9uU2l6ZTtcbiAgaXNWaXNpYmxlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IGJvb2xlYW4+O1xuICBpc0Rpc2FibGVkPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IGJvb2xlYW4+O1xufTtcblxudHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkQmFzZSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkU3BlYyA9XG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGtpbmQ6ICd0ZXh0JztcbiAgICAgIHBsYWNlaG9sZGVyPzogSTE4bkxhYmVsO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGtpbmQ6ICd0ZXh0YXJlYSc7XG4gICAgICBwbGFjZWhvbGRlcj86IEkxOG5MYWJlbDtcbiAgICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICAgIHJvd3M/OiBudW1iZXI7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUVudGl0eUFjdGlvbkZvcm1GaWVsZEJhc2UgJiB7XG4gICAgICBraW5kOiAnbnVtYmVyJztcbiAgICAgIHBsYWNlaG9sZGVyPzogSTE4bkxhYmVsO1xuICAgICAgZGVmYXVsdFZhbHVlPzogbnVtYmVyO1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAga2luZDogJ2pzb24nO1xuICAgICAgcGxhY2Vob2xkZXI/OiBJMThuTGFiZWw7XG4gICAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gICAgICBqc29uVHlwZT86ICdvYmplY3QnIHwgJ2FycmF5JyB8ICdhbnknO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAga2luZDogJ2VudW0nO1xuICAgICAgb3B0aW9uczogcmVhZG9ubHkgeyB2YWx1ZTogc3RyaW5nOyBsYWJlbDogSTE4bkxhYmVsIH1bXTtcbiAgICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkQmFzZSAmIHtcbiAgICAgIGtpbmQ6ICdib29sZWFuJztcbiAgICAgIGRlZmF1bHRWYWx1ZT86IGJvb2xlYW47XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUVudGl0eUFjdGlvbkZvcm1GaWVsZEJhc2UgJiB7XG4gICAgICBraW5kOiAnZW50aXR5SWQnO1xuICAgICAgZW50aXR5OiBzdHJpbmc7XG4gICAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUVudGl0eUFjdGlvbkZvcm1GaWVsZEJhc2UgJiB7XG4gICAgICBraW5kOiAnbXVsdGlFbnVtJztcbiAgICAgIG9wdGlvbnM6IHJlYWRvbmx5IHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IEkxOG5MYWJlbCB9W107XG4gICAgICBkZWZhdWx0VmFsdWU/OiByZWFkb25seSBzdHJpbmdbXTtcbiAgICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICB9KTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUFjdGlvblJlc3VsdFNwZWM8Tm9kZSwgUmVzcG9uc2UgPSB1bmtub3duPiA9IHtcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgZ2V0VmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChyZXNwb25zZTogUmVzcG9uc2UsIG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGxcbiAgPjtcbiAgcmVuZGVyPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKHJlc3BvbnNlOiBSZXNwb25zZSwgbm9kZTogTm9kZSkgPT4gQmFja29mZmljZUFjdGlvblJlbmRlck5vZGUgfCBudWxsXG4gID47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uVXBkYXRlcjxOb2RlPiA9IEJpdmFyaWFudENhbGxiYWNrPFxuICAoc3RvcmU6IFJlY29yZFNvdXJjZVNlbGVjdG9yUHJveHksIG5vZGU6IE5vZGUpID0+IHZvaWRcbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlNdXRhdGlvbkFjdGlvblNwZWM8XG4gIE5vZGUsXG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuPiA9IEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25CYXNlPE5vZGU+ICYge1xuICBraW5kOiAnbXV0YXRpb24nO1xuICByZWxheU9wZXJhdGlvbkJvdW5kOiB0cnVlO1xuICBtdXRhdGlvbjogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIGdldFZhcmlhYmxlczogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddPjtcbiAgdXBkYXRlcj86IEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25VcGRhdGVyPE5vZGU+O1xuICBtYXBFcnJvclJlYXNvbj86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChyZWFzb246IHN0cmluZywgbm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWxcbiAgPjtcbiAgb25Db21wbGV0ZWQ/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAocmVzcG9uc2U6IFRPcGVyYXRpb25bJ3Jlc3BvbnNlJ10sIG5vZGU6IE5vZGUpID0+IHZvaWRcbiAgPjtcbiAgb25FcnJvcj86IEJpdmFyaWFudENhbGxiYWNrPChlcnJvcjogRXJyb3IsIG5vZGU6IE5vZGUpID0+IHZvaWQ+O1xuICB0b2FzdHM/OiB7XG4gICAgc3VjY2Vzcz86IEJhY2tvZmZpY2VBY3Rpb25Ub2FzdFNwZWM8Tm9kZSwgVE9wZXJhdGlvblsncmVzcG9uc2UnXT47XG4gICAgZXJyb3I/OiBCYWNrb2ZmaWNlQWN0aW9uVG9hc3RTcGVjPE5vZGUsIFRPcGVyYXRpb25bJ3Jlc3BvbnNlJ10+O1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUZvcm1NdXRhdGlvbkFjdGlvblNwZWM8XG4gIE5vZGUsXG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBGb3JtVmFsdWVzIGV4dGVuZHMgb2JqZWN0LFxuICBJbml0aWFsVmFsdWVzIGV4dGVuZHMgb2JqZWN0ID0gUGFydGlhbDxGb3JtVmFsdWVzPixcbj4gPSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uQmFzZTxOb2RlPiAmIHtcbiAga2luZDogJ2Zvcm1NdXRhdGlvbic7XG4gIHJlbGF5T3BlcmF0aW9uQm91bmQ6IHRydWU7XG4gIG11dGF0aW9uOiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgZmllbGRzOiByZWFkb25seSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkU3BlY1tdO1xuICBnZXRWYXJpYWJsZXM6IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlLCB2YWx1ZXM6IEZvcm1WYWx1ZXMpID0+IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddXG4gID47XG4gIHVwZGF0ZXI/OiBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uVXBkYXRlcjxOb2RlPjtcbiAgZ2V0SW5pdGlhbFZhbHVlcz86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBJbml0aWFsVmFsdWVzPjtcbiAgbWFwRXJyb3JSZWFzb24/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAocmVhc29uOiBzdHJpbmcsIG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsXG4gID47XG4gIG9uQ29tcGxldGVkPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKHJlc3BvbnNlOiBUT3BlcmF0aW9uWydyZXNwb25zZSddLCBub2RlOiBOb2RlKSA9PiB2b2lkXG4gID47XG4gIG9uRXJyb3I/OiBCaXZhcmlhbnRDYWxsYmFjazwoZXJyb3I6IEVycm9yLCBub2RlOiBOb2RlKSA9PiB2b2lkPjtcbiAgdG9hc3RzPzoge1xuICAgIHN1Y2Nlc3M/OiBCYWNrb2ZmaWNlQWN0aW9uVG9hc3RTcGVjPE5vZGUsIFRPcGVyYXRpb25bJ3Jlc3BvbnNlJ10+O1xuICAgIGVycm9yPzogQmFja29mZmljZUFjdGlvblRvYXN0U3BlYzxOb2RlLCBUT3BlcmF0aW9uWydyZXNwb25zZSddPjtcbiAgfTtcbiAgcmVzdWx0PzogQmFja29mZmljZUVudGl0eUFjdGlvblJlc3VsdFNwZWM8Tm9kZSwgVE9wZXJhdGlvblsncmVzcG9uc2UnXT47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5Um91dGVBY3Rpb25TcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZUVudGl0eUFjdGlvbkJhc2U8Tm9kZT4gJiB7XG4gICAga2luZDogJ3JvdXRlJztcbiAgICB0bzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZz47XG4gIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25TcGVjPE5vZGU+ID1cbiAgfCBCYWNrb2ZmaWNlRW50aXR5TXV0YXRpb25BY3Rpb25TcGVjPE5vZGUsIGFueT5cbiAgfCBCYWNrb2ZmaWNlRW50aXR5Rm9ybU11dGF0aW9uQWN0aW9uU3BlYzxOb2RlLCBhbnksIGFueSwgYW55PlxuICB8IEJhY2tvZmZpY2VFbnRpdHlSb3V0ZUFjdGlvblNwZWM8Tm9kZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0QWN0aW9uU3BlYyA9IEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25TcGVjPG51bGw+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5S2luZCA9ICdsaXN0LWRldGFpbCcgfCAndG9vbCc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEtpbmQgPSAnbGlzdC1kZXRhaWwnIHwgJ3Rvb2wnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5RmFjZXRLaW5kID1cbiAgKHR5cGVvZiBCQUNLT0ZGSUNFX0VOVElUWV9GQUNFVF9LSU5EUylbbnVtYmVyXTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eU1vZHVsZVN0YXR1cyA9XG4gICdpZGxlJyB8ICdsb2FkaW5nJyB8ICdsb2FkZWQnIHwgJ2Vycm9yJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUxvYWRNb2RlID0gJ2NhY2hlLWZpcnN0JyB8ICdyZWxvYWQnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQ29uZmlnQWNjZXNzS2luZCA9XG4gICdtYW5pZmVzdC1vbmx5JyB8ICdsb2FkZWQtY29uZmlnLXJlcXVpcmVkJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RTdGF0ZTxXaGVyZSwgU29ydCBleHRlbmRzIHN0cmluZz4gPSB7XG4gIHdoZXJlOiBXaGVyZSB8IG51bGw7XG4gIHNvcnQ6IFNvcnQgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3ROYXZpZ2F0aW9uUXVlcnk8U29ydCBleHRlbmRzIHN0cmluZz4gPSB7XG4gIHNvcnQ/OiBTb3J0O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3ROYXZpZ2F0aW9uUGFyYW1zPFxuICBTIGV4dGVuZHMgU2NoZW1hLFxuICBTb3J0IGV4dGVuZHMgc3RyaW5nLFxuPiA9IHtcbiAgZmlsdGVycz86IEluZmVyRmlsdGVyczxTPjtcbiAgcXVlcnk/OiBCYWNrb2ZmaWNlTGlzdE5hdmlnYXRpb25RdWVyeTxTb3J0Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0TmF2aWdhdGlvblN0YXRlSW5wdXQ8XG4gIFdoZXJlLFxuICBTb3J0IGV4dGVuZHMgc3RyaW5nLFxuPiA9IFBhcnRpYWw8QmFja29mZmljZUxpc3RTdGF0ZTxXaGVyZSwgU29ydD4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdE5hdmlnYXRpb25FbmNvZGVkPFxuICBTIGV4dGVuZHMgU2NoZW1hLFxuICBTb3J0IGV4dGVuZHMgc3RyaW5nLFxuPiA9IHtcbiAgZmlsdGVyczogSW5mZXJGaWx0ZXJzPFM+O1xuICBxdWVyeTogQmFja29mZmljZUxpc3ROYXZpZ2F0aW9uUXVlcnk8U29ydD47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdE5hdmlnYXRpb248XG4gIFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFNvcnQgZXh0ZW5kcyBzdHJpbmcsXG4gIFMgZXh0ZW5kcyBTY2hlbWEgPSBTY2hlbWEsXG4+ID0ge1xuICByZWFkb25seSBraW5kOiAnbGlzdC1uYXZpZ2F0aW9uJztcbiAgLyoqIERlc3RpbmF0aW9uIHJvdXRlIHNjaGVtYSBjb25zdW1lZCBieSBAcGx1bWlsZS9yb3V0ZXIuICovXG4gIHF1ZXJ5U2NoZW1hOiBTO1xuICAvKiogU3RhdGUgdXNlZCBmb3IgdmFsdWVzIG9taXR0ZWQgYnkgZW5jb2RlKCkgYW5kIGRlY29kZSgpLiAqL1xuICBkZWZhdWx0czogQmFja29mZmljZUxpc3RTdGF0ZTxXaGVyZSwgU29ydD47XG4gIC8qKiBTb3J0IHZhbHVlcyBhY2NlcHRlZCB3aGVuIGRlY29kaW5nIHVudHJ1c3RlZCByb3V0ZSBpbnB1dC4gKi9cbiAgc29ydElkczogcmVhZG9ubHkgU29ydFtdO1xuICAvKiogQ29udmVydHMgR3JhcGhRTCBsaXN0IHN0YXRlIGludG8gc3RydWN0dXJlZCByb3V0ZXIgZmlsdGVycyBhbmQgcXVlcnkuICovXG4gIC8vIE1ldGhvZCBzeW50YXggaW50ZW50aW9uYWxseSBrZWVwcyBoZXRlcm9nZW5lb3VzIG1hbmlmZXN0IGNvbGxlY3Rpb25zXG4gIC8vIGFzc2lnbmFibGUgd2hpbGUgY29uY3JldGUgbWFuaWZlc3RzIHJldGFpbiB0aGVpciBleGFjdCBzdGF0ZSB0eXBlLlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21ldGhvZC1zaWduYXR1cmUtc3R5bGVcbiAgZW5jb2RlKFxuICAgIHN0YXRlOiBCYWNrb2ZmaWNlTGlzdE5hdmlnYXRpb25TdGF0ZUlucHV0PFdoZXJlLCBTb3J0PixcbiAgKTogQmFja29mZmljZUxpc3ROYXZpZ2F0aW9uRW5jb2RlZDxTLCBTb3J0PjtcbiAgLyoqIENvbnZlcnRzIHN0cnVjdHVyZWQgcm91dGVyIGZpbHRlcnMgYW5kIHF1ZXJ5IGludG8gR3JhcGhRTCBsaXN0IHN0YXRlLiAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21ldGhvZC1zaWduYXR1cmUtc3R5bGVcbiAgZGVjb2RlKFxuICAgIHBhcmFtczogQmFja29mZmljZUxpc3ROYXZpZ2F0aW9uUGFyYW1zPFMsIFNvcnQ+LFxuICApOiBCYWNrb2ZmaWNlTGlzdFN0YXRlPFdoZXJlLCBTb3J0Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0TmF2aWdhdGlvbk9wdGlvbnM8XG4gIFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFNvcnQgZXh0ZW5kcyBzdHJpbmcsXG4gIFMgZXh0ZW5kcyBTY2hlbWEsXG4+ID0ge1xuICBkZWZhdWx0czogQmFja29mZmljZUxpc3RTdGF0ZTxXaGVyZSwgU29ydD47XG4gIGZpbHRlclNjaGVtYTogQmFja29mZmljZUZpbHRlclNjaGVtYTxXaGVyZSwgUz47XG4gIHNvcnRJZHM6IHJlYWRvbmx5IFNvcnRbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0VmFyaWFibGVzPFdoZXJlLCBTb3J0IGV4dGVuZHMgc3RyaW5nPiA9IHtcbiAgd2hlcmU6IFdoZXJlIHwgbnVsbDtcbiAgc29ydDogU29ydCB8IG51bGw7XG4gIGNvdW50OiBudW1iZXI7XG4gIGN1cnNvcjogc3RyaW5nIHwgbnVsbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VPcGVyYXRpb25WYXJpYWJsZXM8VE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGU+ID1cbiAgVE9wZXJhdGlvblsndmFyaWFibGVzJ107XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VPcGVyYXRpb25SZXNwb25zZTxUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZT4gPVxuICBUT3BlcmF0aW9uWydyZXNwb25zZSddO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddIGV4dGVuZHMge1xuICAgIHdoZXJlPzogaW5mZXIgV2hlcmUgfCBudWxsIHwgdW5kZWZpbmVkO1xuICB9XG4gICAgPyBFeHRyYWN0PE5vbk51bGxhYmxlPFdoZXJlPiwgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+XG4gICAgOiBuZXZlcixcbj4gPSBUV2hlcmU7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFNvcnQgPSBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXSBleHRlbmRzIHtcbiAgICBzb3J0PzogaW5mZXIgU29ydCB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIH1cbiAgICA/IEV4dHJhY3Q8Tm9uTnVsbGFibGU8U29ydD4sIHN0cmluZz5cbiAgICA6IG5ldmVyLFxuPiA9IEV4dHJhY3Q8VFNvcnQsIHN0cmluZz47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXJpdmVkT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGU+ID1cbiAgVE9wZXJhdGlvblsndmFyaWFibGVzJ10gZXh0ZW5kcyB7XG4gICAgd2hlcmU/OiBpbmZlciBXaGVyZSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIH1cbiAgICA/IEV4dHJhY3Q8Tm9uTnVsbGFibGU8V2hlcmU+LCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj5cbiAgICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGVyaXZlZE9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGU+ID1cbiAgVE9wZXJhdGlvblsndmFyaWFibGVzJ10gZXh0ZW5kcyB7XG4gICAgc29ydD86IGluZmVyIFNvcnQgfCBudWxsIHwgdW5kZWZpbmVkO1xuICB9XG4gICAgPyBFeHRyYWN0PE5vbk51bGxhYmxlPFNvcnQ+LCBzdHJpbmc+XG4gICAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RRdWVyeUlucHV0PFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4+ID0ge1xuICB3aGVyZTogVFdoZXJlIHwgbnVsbDtcbiAgc29ydDogVFNvcnQgfCBudWxsO1xuICBjb3VudDogbnVtYmVyO1xuICBjdXJzb3I6IHN0cmluZyB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQ291bnRRdWVyeUlucHV0PFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+PiA9XG4gIHtcbiAgICB3aGVyZTogVFdoZXJlIHwgbnVsbDtcbiAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUNvdW50Q29uZmlnPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID0ge1xuICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIGJ1aWxkVmFyaWFibGVzOiAoXG4gICAgaW5wdXQ6IEJhY2tvZmZpY2VDb3VudFF1ZXJ5SW5wdXQ8VFdoZXJlPixcbiAgKSA9PiBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXTtcbiAgZ2V0Q291bnQ6IEJpdmFyaWFudENhbGxiYWNrPChkYXRhOiB1bmtub3duKSA9PiBudW1iZXIgfCBudWxsPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lRW50aXR5Q291bnRDb25maWc8XG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiA9IEJhY2tvZmZpY2VFbnRpdHlDb3VudENvbmZpZzxhbnksIFRXaGVyZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQaWNrZXJTY29wZTxXaGVyZT4gPSBQYXJ0aWFsPHtcbiAgW0tleSBpbiBrZXlvZiBXaGVyZV06IEV4dHJhY3Q8Tm9uTnVsbGFibGU8V2hlcmVbS2V5XT4sIHN0cmluZz47XG59PjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBpY2tlclF1ZXJ5SW5wdXQ8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbj4gPSB7XG4gIHNlYXJjaDogc3RyaW5nO1xuICBzY29wZT86IEJhY2tvZmZpY2VQaWNrZXJTY29wZTxUV2hlcmU+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlbGF0aW9uRmlsdGVyU3BlYzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuPiA9IHtcbiAgdGFyZ2V0OiBzdHJpbmc7XG4gIGZpbHRlcklkPzogc3RyaW5nO1xuICB3aGVyZUtleTogRXh0cmFjdDxrZXlvZiBUV2hlcmUsIHN0cmluZz47XG4gIHBhdGg/OiByZWFkb25seSBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlSb3V0ZXMgPSB7XG4gIGxpc3Q6IHN0cmluZztcbiAgZGV0YWlsOiAoaWQ6IHN0cmluZykgPT4gc3RyaW5nO1xuICBkZXRhaWxQYWdlOiAoaWQ6IHN0cmluZywgcGFnZUlkOiBzdHJpbmcpID0+IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlSb3V0ZU1hbmlmZXN0ID0ge1xuICBsaXN0OiBzdHJpbmc7XG4gIGRldGFpbDogKGlkOiBzdHJpbmcpID0+IHN0cmluZztcbiAgZGV0YWlsUGFnZTogKGlkOiBzdHJpbmcsIHBhZ2VJZDogc3RyaW5nKSA9PiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsUGFnZU1hbmlmZXN0SXRlbSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgcGF0aFNlZ21lbnQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgaXNEZWZhdWx0PzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlTWFuaWZlc3QgPSByZWFkb25seSBbXG4gIEJhY2tvZmZpY2VEZXRhaWxQYWdlTWFuaWZlc3RJdGVtLFxuICAuLi5CYWNrb2ZmaWNlRGV0YWlsUGFnZU1hbmlmZXN0SXRlbVtdLFxuXTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VSb3V0ZVNwZWM8TGF5b3V0VmlldyA9IHVua25vd24+ID0ge1xuICBpZDogc3RyaW5nO1xuICBwYXRoOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGlzVmlzaWJsZT86IEJpdmFyaWFudENhbGxiYWNrPChsYXlvdXRQYWdlOiBMYXlvdXRWaWV3KSA9PiBib29sZWFuPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRDb25maWcgPSB7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIHN1YnRpdGxlPzogSTE4bkxhYmVsO1xuICB3aW5kb3dQcmVzZXRzPzogcmVhZG9ubHkgQmFja29mZmljZURhc2hib2FyZFdpbmRvd1ByZXNldFtdO1xuICBkZWZhdWx0V2luZG93UHJlc2V0SWQ/OiBzdHJpbmc7XG4gIHdpZGdldHM6IHJlYWRvbmx5IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VRdWVyeVNwZWM8VE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGU+ID0ge1xuICByZWFkb25seSBub2RlOiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgcmVhZG9ubHkgX19vcGVyYXRpb24/OiBUT3BlcmF0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUZyYWdtZW50U3BlYzxUS2V5LCBURGF0YT4gPSB7XG4gIHJlYWRvbmx5IG5vZGU6IEdyYXBoUUxUYWdnZWROb2RlO1xuICByZWFkb25seSBfX2tleT86IFRLZXk7XG4gIHJlYWRvbmx5IF9fZGF0YT86IFREYXRhO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBhZ2luYXRpb25GcmFnbWVudFNwZWM8XG4gIFRRdWVyeSBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRLZXksXG4gIFREYXRhLFxuPiA9IEJhY2tvZmZpY2VGcmFnbWVudFNwZWM8VEtleSwgVERhdGE+ICYge1xuICByZWFkb25seSBfX3BhZ2luYXRpb25RdWVyeT86IFRRdWVyeTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRTaXplID0gJ3MnIHwgJ20nIHwgJ2wnIHwgJ3hsJyB8ICdmdWxsJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZFdpZGdldFNwYW4gPSAzIHwgNCB8IDYgfCA4IHwgMTI7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRUYWJsZXRTcGFuID0gMyB8IDY7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRab25lID1cbiAgJ3N1bW1hcnknIHwgJ21haW4nIHwgJ2FzaWRlJyB8ICdzZWNvbmRhcnknIHwgJ2Z1bGwnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0TGF5b3V0ID0ge1xuICB6b25lPzogQmFja29mZmljZURhc2hib2FyZFdpZGdldFpvbmU7XG4gIHNwYW4/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0U3BhbjtcbiAgdGFibGV0U3Bhbj86IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRUYWJsZXRTcGFuO1xuICBvcmRlcj86IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRQcmlvcml0eSA9XG4gICdjcml0aWNhbCcgfCAnaGlnaCcgfCAnbm9ybWFsJyB8ICdsb3cnIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnZGVidWcnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2luZG93UHJlc2V0ID0ge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICBkdXJhdGlvbk1zOiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2luZG93U3RhdGUgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGZyb206IHN0cmluZztcbiAgdG86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRDb250ZXh0ID0ge1xuICB3aW5kb3c6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaW5kb3dTdGF0ZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRCYXNlID0ge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZT86IEkxOG5MYWJlbDtcbiAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gIHNpemU/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0U2l6ZTtcbiAgbGF5b3V0PzogQmFja29mZmljZURhc2hib2FyZFdpZGdldExheW91dDtcbiAgcHJpb3JpdHk/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0UHJpb3JpdHk7XG4gIG1pbkhlaWdodD86ICdzbScgfCAnbWQnIHwgJ2xnJztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRSZXNvbHZlcjxUUmVzdWx0PiA9IChcbiAgZGF0YTogT3BlcmF0aW9uVHlwZVsncmVzcG9uc2UnXSxcbiAgY29udGV4dDogQmFja29mZmljZURhc2hib2FyZENvbnRleHQsXG4pID0+IFRSZXN1bHQ7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRFbnRpdHlDb3VudFJlc3VsdCA9IHtcbiAgY291bnQ6IG51bWJlciB8IG51bGw7XG4gIGhyZWY/OiBzdHJpbmc7XG4gIHRhcmdldD86IEJhY2tvZmZpY2VEYXNoYm9hcmRMaW5rVGFyZ2V0O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZFRhYmxlUHJldmlld1Jlc3VsdCA9IHtcbiAgY29sdW1uczogcmVhZG9ubHkgQmFja29mZmljZUNvbHVtblNwZWNbXTtcbiAgcm93czogcmVhZG9ubHkgdW5rbm93bltdO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZExpc3RUYXJnZXRTdGF0ZTxcbiAgV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBTb3J0IGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nLFxuPiA9IHtcbiAgd2hlcmU/OiBXaGVyZSB8IG51bGw7XG4gIHNvcnQ/OiBTb3J0IHwgbnVsbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRIcmVmVGFyZ2V0ID0ge1xuICBraW5kOiAnaHJlZic7XG4gIGhyZWY6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRFbnRpdHlMaXN0VGFyZ2V0PFxuICBXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmcsXG4+ID0ge1xuICBraW5kOiAnZW50aXR5LWxpc3QnO1xuICBlbnRpdHlJZDogc3RyaW5nO1xuICBzdGF0ZT86IEJhY2tvZmZpY2VEYXNoYm9hcmRMaXN0VGFyZ2V0U3RhdGU8V2hlcmUsIFNvcnQ+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZExpbmtUYXJnZXQ8XG4gIFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgU29ydCBleHRlbmRzIHN0cmluZyA9IHN0cmluZyxcbj4gPVxuICB8IEJhY2tvZmZpY2VEYXNoYm9hcmRIcmVmVGFyZ2V0XG4gIHwgQmFja29mZmljZURhc2hib2FyZEVudGl0eUxpc3RUYXJnZXQ8V2hlcmUsIFNvcnQ+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkU3RhdHVzU3VtbWFyeVJlc3VsdCA9IHJlYWRvbmx5IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bGw7XG4gIHRvbmU/OiBCYWNrb2ZmaWNlQmFkZ2VUb25lO1xuICBocmVmPzogc3RyaW5nO1xuICB0YXJnZXQ/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkTGlua1RhcmdldDtcbn1bXTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZE1ldHJpY0dyb3VwUmVzdWx0ID0gcmVhZG9ubHkge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbDtcbiAgbWV0YT86IEkxOG5MYWJlbDtcbiAgdG9uZT86ICduZXV0cmFsJyB8ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInO1xuICBocmVmPzogc3RyaW5nO1xuICB0YXJnZXQ/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkTGlua1RhcmdldDtcbn1bXTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZE1ldHJpY1RvbmUgPVxuICAnbmV1dHJhbCcgfCAnaW5mbycgfCAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZGFuZ2VyJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZFRyZW5kRGlyZWN0aW9uID0gJ3VwJyB8ICdkb3duJyB8ICdmbGF0JztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZFNwYXJrbGluZVBvaW50ID0ge1xuICB4OiBzdHJpbmc7XG4gIHk6IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRUcmVuZE1ldHJpY1Jlc3VsdCA9IHtcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bGw7XG4gIHVuaXQ/OiBzdHJpbmc7XG4gIGRlbHRhPzoge1xuICAgIHZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG4gICAgZGlyZWN0aW9uOiBCYWNrb2ZmaWNlRGFzaGJvYXJkVHJlbmREaXJlY3Rpb247XG4gICAgdG9uZT86IEJhY2tvZmZpY2VEYXNoYm9hcmRNZXRyaWNUb25lO1xuICAgIGxhYmVsPzogSTE4bkxhYmVsO1xuICB9O1xuICBzcGFya2xpbmU/OiByZWFkb25seSBCYWNrb2ZmaWNlRGFzaGJvYXJkU3BhcmtsaW5lUG9pbnRbXTtcbiAgaHJlZj86IHN0cmluZztcbiAgdGFyZ2V0PzogQmFja29mZmljZURhc2hib2FyZExpbmtUYXJnZXQ7XG4gIHRvbmU/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkTWV0cmljVG9uZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRTbGFHYXVnZVJlc3VsdCA9IHtcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgdmFsdWU6IG51bWJlciB8IG51bGw7XG4gIG1heDogbnVtYmVyO1xuICB0aHJlc2hvbGQ/OiBudW1iZXI7XG4gIHVuaXQ/OiBzdHJpbmc7XG4gIHRvbmU/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkTWV0cmljVG9uZTtcbiAgaHJlZj86IHN0cmluZztcbiAgdGFyZ2V0PzogQmFja29mZmljZURhc2hib2FyZExpbmtUYXJnZXQ7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkQnJlYWtkb3duTGlzdFJlc3VsdCA9IHJlYWRvbmx5IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bGw7XG4gIG1ldGE/OiBJMThuTGFiZWw7XG4gIHRvbmU/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkTWV0cmljVG9uZTtcbiAgaHJlZj86IHN0cmluZztcbiAgdGFyZ2V0PzogQmFja29mZmljZURhc2hib2FyZExpbmtUYXJnZXQ7XG59W107XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRUaW1lbGluZUNoYXJ0UmVzdWx0ID0ge1xuICBzZXJpZXM6IHJlYWRvbmx5IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgY29sb3I6IHN0cmluZztcbiAgICB1bml0Pzogc3RyaW5nO1xuICAgIGRhdGE6IHJlYWRvbmx5IEJhY2tvZmZpY2VEYXNoYm9hcmRTcGFya2xpbmVQb2ludFtdO1xuICB9W107XG4gIGVtcHR5TGFiZWw/OiBJMThuTGFiZWw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkUmlza1F1ZXVlUmVzdWx0ID0gcmVhZG9ubHkge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICBzZXZlcml0eTogQmFja29mZmljZURhc2hib2FyZE1ldHJpY1RvbmU7XG4gIHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbDtcbiAgbWV0YT86IEkxOG5MYWJlbDtcbiAgaHJlZj86IHN0cmluZztcbiAgdGFyZ2V0PzogQmFja29mZmljZURhc2hib2FyZExpbmtUYXJnZXQ7XG59W107XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRFbnRpdHlTcG90bGlnaHRSZXN1bHQgPSB7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIG1ldGE/OiByZWFkb25seSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsO1xuICB9W107XG4gIGhyZWY/OiBzdHJpbmc7XG4gIHRhcmdldD86IEJhY2tvZmZpY2VEYXNoYm9hcmRMaW5rVGFyZ2V0O1xuICB0b25lPzogQmFja29mZmljZURhc2hib2FyZE1ldHJpY1RvbmU7XG59IHwgbnVsbDtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZEhlYWx0aE1hdHJpeFJlc3VsdCA9IHJlYWRvbmx5IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgY2VsbHM6IHJlYWRvbmx5IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bGw7XG4gICAgdG9uZT86IEJhY2tvZmZpY2VEYXNoYm9hcmRNZXRyaWNUb25lO1xuICAgIGhyZWY/OiBzdHJpbmc7XG4gICAgdGFyZ2V0PzogQmFja29mZmljZURhc2hib2FyZExpbmtUYXJnZXQ7XG4gIH1bXTtcbn1bXTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZEJpbGxpbmdVc2FnZUNoYXJ0UmVzdWx0ID0ge1xuICBjdXJyZW5jeTogc3RyaW5nO1xuICB0b3RhbEFtb3VudDogbnVtYmVyO1xuICBmcm9tOiBzdHJpbmcgfCBudWxsO1xuICB0bzogc3RyaW5nIHwgbnVsbDtcbiAgYnVja2V0czogcmVhZG9ubHkge1xuICAgIGRheTogc3RyaW5nO1xuICAgIGNhdGVnb3J5OiBzdHJpbmc7XG4gICAgdmFsdWU6IG51bWJlcjtcbiAgfVtdO1xufSB8IG51bGw7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRRdWVyeVNvdXJjZTxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRSZXN1bHQsXG4+ID0ge1xuICBkYXRhU291cmNlOiAncXVlcnknO1xuICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIHZhcmlhYmxlczpcbiAgICB8IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddXG4gICAgfCAoKGNvbnRleHQ6IEJhY2tvZmZpY2VEYXNoYm9hcmRDb250ZXh0KSA9PiBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXSk7XG4gIHJlc29sdmU6IChcbiAgICBkYXRhOiBUT3BlcmF0aW9uWydyZXNwb25zZSddLFxuICAgIGNvbnRleHQ6IEJhY2tvZmZpY2VEYXNoYm9hcmRDb250ZXh0LFxuICApID0+IFRSZXN1bHQ7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0VmFyaWFibGVzPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSA9IE9wZXJhdGlvblR5cGUsXG4+ID1cbiAgfCBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXVxuICB8ICgoY29udGV4dDogQmFja29mZmljZURhc2hib2FyZENvbnRleHQpID0+IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddKTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZFdpZGdldFN0YXRpY1NvdXJjZSA9IHtcbiAgZGF0YVNvdXJjZTogJ3N0YXRpYyc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0ID1cbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBkYXRhU291cmNlOiAncXVlcnknO1xuICAgICAga2luZDogJ2VudGl0eUNvdW50JztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBlbnRpdHlJZDogc3RyaW5nO1xuICAgICAgcXVlcnk6IEdyYXBoUUxUYWdnZWROb2RlO1xuICAgICAgdmFyaWFibGVzOiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0VmFyaWFibGVzO1xuICAgICAgcmVzb2x2ZTogQmFja29mZmljZURhc2hib2FyZFdpZGdldFJlc29sdmVyPEJhY2tvZmZpY2VEYXNoYm9hcmRFbnRpdHlDb3VudFJlc3VsdD47XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBkYXRhU291cmNlOiAnc3RhdGljJztcbiAgICAgIGtpbmQ6ICdzaG9ydGN1dCc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgZW50aXR5SWQ6IHN0cmluZztcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGRhdGFTb3VyY2U6ICdxdWVyeSc7XG4gICAgICBraW5kOiAndGFibGVQcmV2aWV3JztcbiAgICAgIHRpdGxlOiBJMThuTGFiZWw7XG4gICAgICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gICAgICB2YXJpYWJsZXM6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRWYXJpYWJsZXM7XG4gICAgICByZXNvbHZlOiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0UmVzb2x2ZXI8QmFja29mZmljZURhc2hib2FyZFRhYmxlUHJldmlld1Jlc3VsdD47XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBkYXRhU291cmNlOiAncXVlcnknO1xuICAgICAga2luZDogJ3N0YXR1c1N1bW1hcnknO1xuICAgICAgcXVlcnk6IEdyYXBoUUxUYWdnZWROb2RlO1xuICAgICAgdmFyaWFibGVzOiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0VmFyaWFibGVzO1xuICAgICAgcmVzb2x2ZTogQmFja29mZmljZURhc2hib2FyZFdpZGdldFJlc29sdmVyPEJhY2tvZmZpY2VEYXNoYm9hcmRTdGF0dXNTdW1tYXJ5UmVzdWx0PjtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGRhdGFTb3VyY2U6ICdzdGF0aWMnO1xuICAgICAga2luZDogJ3JlY2VudEl0ZW1zJztcbiAgICAgIG1heEl0ZW1zPzogbnVtYmVyO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRCYXNlICYge1xuICAgICAgZGF0YVNvdXJjZTogJ3N0YXRpYyc7XG4gICAgICBraW5kOiAncXVpY2tBY3Rpb25zJztcbiAgICAgIGFjdGlvbnM6IHJlYWRvbmx5IHtcbiAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgICAgaHJlZj86IHN0cmluZztcbiAgICAgICAgdGFyZ2V0PzogQmFja29mZmljZURhc2hib2FyZExpbmtUYXJnZXQ7XG4gICAgICAgIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICAgICAgICB0b25lPzogJ2RlZmF1bHQnIHwgJ3ByaW1hcnknIHwgJ2Rhbmdlcic7XG4gICAgICB9W107XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBkYXRhU291cmNlOiAncXVlcnknO1xuICAgICAga2luZDogJ21ldHJpY0dyb3VwJztcbiAgICAgIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgICAgIHZhcmlhYmxlczogQmFja29mZmljZURhc2hib2FyZFdpZGdldFZhcmlhYmxlcztcbiAgICAgIHJlc29sdmU6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRSZXNvbHZlcjxCYWNrb2ZmaWNlRGFzaGJvYXJkTWV0cmljR3JvdXBSZXN1bHQ+O1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRCYXNlICYge1xuICAgICAgZGF0YVNvdXJjZTogJ3F1ZXJ5JztcbiAgICAgIGtpbmQ6ICdiaWxsaW5nVXNhZ2VDaGFydCc7XG4gICAgICB0aXRsZTogSTE4bkxhYmVsO1xuICAgICAgcXVlcnk6IEdyYXBoUUxUYWdnZWROb2RlO1xuICAgICAgdmFyaWFibGVzOiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0VmFyaWFibGVzO1xuICAgICAgY2F0ZWdvcmllczogcmVhZG9ubHkge1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgICBjb2xvcjogc3RyaW5nO1xuICAgICAgfVtdO1xuICAgICAgZW1wdHlMYWJlbDogSTE4bkxhYmVsO1xuICAgICAgcmFuZ2VQcmVmaXg6IEkxOG5MYWJlbDtcbiAgICAgIGFyaWFMYWJlbDogSTE4bkxhYmVsO1xuICAgICAgcmVzb2x2ZTogQmFja29mZmljZURhc2hib2FyZFdpZGdldFJlc29sdmVyPEJhY2tvZmZpY2VEYXNoYm9hcmRCaWxsaW5nVXNhZ2VDaGFydFJlc3VsdD47XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBkYXRhU291cmNlOiAncXVlcnknO1xuICAgICAga2luZDogJ3RyZW5kTWV0cmljJztcbiAgICAgIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgICAgIHZhcmlhYmxlczogQmFja29mZmljZURhc2hib2FyZFdpZGdldFZhcmlhYmxlcztcbiAgICAgIHJlc29sdmU6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRSZXNvbHZlcjxCYWNrb2ZmaWNlRGFzaGJvYXJkVHJlbmRNZXRyaWNSZXN1bHQ+O1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRCYXNlICYge1xuICAgICAgZGF0YVNvdXJjZTogJ3F1ZXJ5JztcbiAgICAgIGtpbmQ6ICdzbGFHYXVnZSc7XG4gICAgICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gICAgICB2YXJpYWJsZXM6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRWYXJpYWJsZXM7XG4gICAgICByZXNvbHZlOiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0UmVzb2x2ZXI8QmFja29mZmljZURhc2hib2FyZFNsYUdhdWdlUmVzdWx0PjtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGRhdGFTb3VyY2U6ICdxdWVyeSc7XG4gICAgICBraW5kOiAnYnJlYWtkb3duTGlzdCc7XG4gICAgICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gICAgICB2YXJpYWJsZXM6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRWYXJpYWJsZXM7XG4gICAgICByZXNvbHZlOiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0UmVzb2x2ZXI8QmFja29mZmljZURhc2hib2FyZEJyZWFrZG93bkxpc3RSZXN1bHQ+O1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRCYXNlICYge1xuICAgICAgZGF0YVNvdXJjZTogJ3F1ZXJ5JztcbiAgICAgIGtpbmQ6ICd0aW1lbGluZUNoYXJ0JztcbiAgICAgIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgICAgIHZhcmlhYmxlczogQmFja29mZmljZURhc2hib2FyZFdpZGdldFZhcmlhYmxlcztcbiAgICAgIGNoYXJ0PzogJ2xpbmUnIHwgJ2Jhcic7XG4gICAgICBhcmlhTGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHJlc29sdmU6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRSZXNvbHZlcjxCYWNrb2ZmaWNlRGFzaGJvYXJkVGltZWxpbmVDaGFydFJlc3VsdD47XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBkYXRhU291cmNlOiAncXVlcnknO1xuICAgICAga2luZDogJ3Jpc2tRdWV1ZSc7XG4gICAgICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gICAgICB2YXJpYWJsZXM6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRWYXJpYWJsZXM7XG4gICAgICByZXNvbHZlOiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0UmVzb2x2ZXI8QmFja29mZmljZURhc2hib2FyZFJpc2tRdWV1ZVJlc3VsdD47XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBkYXRhU291cmNlOiAncXVlcnknO1xuICAgICAga2luZDogJ2VudGl0eVNwb3RsaWdodCc7XG4gICAgICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gICAgICB2YXJpYWJsZXM6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRWYXJpYWJsZXM7XG4gICAgICByZXNvbHZlOiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0UmVzb2x2ZXI8QmFja29mZmljZURhc2hib2FyZEVudGl0eVNwb3RsaWdodFJlc3VsdD47XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBkYXRhU291cmNlOiAnc3RhdGljJztcbiAgICAgIGtpbmQ6ICd3aW5kb3dDb250cm9sJztcbiAgICAgIHRpdGxlOiBJMThuTGFiZWw7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBkYXRhU291cmNlOiAncXVlcnknO1xuICAgICAga2luZDogJ2hlYWx0aE1hdHJpeCc7XG4gICAgICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gICAgICB2YXJpYWJsZXM6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRWYXJpYWJsZXM7XG4gICAgICByZXNvbHZlOiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0UmVzb2x2ZXI8QmFja29mZmljZURhc2hib2FyZEhlYWx0aE1hdHJpeFJlc3VsdD47XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBkYXRhU291cmNlOiAnc3RhdGljJztcbiAgICAgIGtpbmQ6ICd0ZXh0QmxvY2snO1xuICAgICAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgICAgIGJvZHk6IEkxOG5MYWJlbDtcbiAgICB9KTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RVcmxDb2RlYzxXaGVyZSwgU29ydCBleHRlbmRzIHN0cmluZz4gPSB7XG4gIHBhcnNlOiAoc2VhcmNoOiBVUkxTZWFyY2hQYXJhbXMpID0+IEJhY2tvZmZpY2VMaXN0U3RhdGU8V2hlcmUsIFNvcnQ+O1xuICBzZXJpYWxpemU6IChzdGF0ZTogQmFja29mZmljZUxpc3RTdGF0ZTxXaGVyZSwgU29ydD4pID0+IFVSTFNlYXJjaFBhcmFtcztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTb3J0U3BlYzxTb3J0IGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPiA9IHtcbiAgaWQ6IFNvcnQ7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUm93RmxhZ1NwZWM8Um93ID0gdW5rbm93bj4gPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IEkxOG5MYWJlbD47XG4gIHJlbmRlcjogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiB1bmtub3duPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0Q29sdW1uUHJpb3JpdHkgPVxuICAncHJpbWFyeScgfCAnaW1wb3J0YW50JyB8ICdzZWNvbmRhcnknIHwgJ2RlYnVnJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RNb2JpbGVSb2xlID1cbiAgJ3RpdGxlJyB8ICdzdWJ0aXRsZScgfCAnbWV0YScgfCAnYmFkZ2UnIHwgJ3N0YXR1cycgfCAnYWN0aW9uJyB8ICdoaWRkZW4nO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdENvbHVtblZpc2liaWxpdHkgPSB7XG4gIHByaW9yaXR5PzogQmFja29mZmljZUxpc3RDb2x1bW5Qcmlvcml0eTtcbiAgYWxpZ24/OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCc7XG4gIG1vYmlsZT86IEJhY2tvZmZpY2VMaXN0TW9iaWxlUm9sZTtcbiAgdGFibGV0PzogJ3Zpc2libGUnIHwgJ2hpZGRlbic7XG4gIGRlc2t0b3A/OiAndmlzaWJsZScgfCAnaGlkZGVuJztcbiAgbWluVmlzaWJsZUF0PzogJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJztcbiAgZGVidWdPbmx5PzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0Q29sdW1uQ29weSA9IHtcbiAgc2hvcnRMYWJlbD86IEkxOG5MYWJlbDtcbiAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gIGVtcHR5TGFiZWw/OiBJMThuTGFiZWw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQ29sdW1uU3BlYzxSb3cgPSB1bmtub3duPiA9IHtcbiAga2V5OiBzdHJpbmc7XG4gIGhlYWRlcjogSTE4bkxhYmVsO1xuICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICB2aXNpYmlsaXR5PzogQmFja29mZmljZUxpc3RDb2x1bW5WaXNpYmlsaXR5O1xuICBjb3B5PzogQmFja29mZmljZUxpc3RDb2x1bW5Db3B5O1xuICBjZWxsOlxuICAgIHwge1xuICAgICAgICBzaXplPzogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgICAgdHlwZTogJ3RleHQnO1xuICAgICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudW1iZXIgfCBudWxsPjtcbiAgICAgICAgY29weVZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgc2l6ZT86IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICAgIHR5cGU6ICdsaW5rJztcbiAgICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nIHwgbnVtYmVyIHwgbnVsbD47XG4gICAgICAgIHRvOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZz47XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIHNpemU/OiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgICB0eXBlOiAnYmFkZ2UnO1xuICAgICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgICAgdG9uZT86XG4gICAgICAgICAgfCBCYWNrb2ZmaWNlQmFkZ2VUb25lXG4gICAgICAgICAgfCBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IEJhY2tvZmZpY2VCYWRnZVRvbmU+O1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBzaXplPzogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgICAgdHlwZTogJ2RhdGVUaW1lJztcbiAgICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nIHwgbnVtYmVyIHwgbnVsbD47XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIHNpemU/OiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgICB0eXBlOiAnZW50aXR5UmVmJztcbiAgICAgICAgZW50aXR5OiBzdHJpbmc7XG4gICAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZz47XG4gICAgICAgIGxhYmVsPzogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgc2l6ZT86IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICAgIHR5cGU6ICd0ZWNobmljYWxJZGVudGlmaWVyJztcbiAgICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nIHwgbnVtYmVyIHwgbnVsbD47XG4gICAgICAgIHZhcmlhbnQ/OiAnaWQnIHwgJ2hhc2gnIHwgJ3Rva2VuJyB8ICdmaW5nZXJwcmludCcgfCAnZXh0ZXJuYWwnO1xuICAgICAgICBjb3B5VmFsdWU/OiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZyB8IG51bGw+O1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBzaXplPzogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgICAgdHlwZTogJ2N1c3RvbSc7XG4gICAgICAgIHJlbmRlcjogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiB1bmtub3duPjtcbiAgICAgICAgdGV4dFZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIH07XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdERlbnNpdHkgPSAnY29tcGFjdCcgfCAnZGVmYXVsdCcgfCAnY29tZm9ydGFibGUnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdERpc3BsYXlNb2RlID0gJ3RhYmxlJyB8ICdjYXJkcycgfCAnYXV0byc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0VmlydHVhbGl6YXRpb25Nb2RlID0gJ2F1dG8nIHwgJ2Fsd2F5cycgfCAnbmV2ZXInO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFZpcnR1YWxpemF0aW9uQ29uZmlnID0ge1xuICBtb2RlPzogQmFja29mZmljZUxpc3RWaXJ0dWFsaXphdGlvbk1vZGU7XG4gIHJvd0hlaWdodFB4PzogbnVtYmVyO1xuICBvdmVyc2Nhbj86IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VJbmZpbml0ZVNjcm9sbENvbmZpZyA9IHtcbiAgZW5hYmxlZD86IHRydWU7XG4gIHJvb3RNYXJnaW4/OiBzdHJpbmc7XG4gIHRocmVzaG9sZD86IG51bWJlcjtcbiAgdGhyZXNob2xkUHg/OiBudW1iZXI7XG4gIGF1dG9Mb2FkPzogYm9vbGVhbjtcbiAgc3RhdHVzPzoge1xuICAgIHNob3dMb2FkZWRDb3VudD86IGJvb2xlYW47XG4gICAgc2hvd1RvdGFsQ291bnQ/OiBib29sZWFuO1xuICAgIHNob3dFbmRTdGF0ZT86IGJvb2xlYW47XG4gICAgc2hvd0luY29uc2lzdGVudFBhZ2VJbmZvPzogYm9vbGVhbjtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0VG9vbGJhclByb2ZpbGUgPSB7XG4gIGRlbnNpdHk/OiBCYWNrb2ZmaWNlTGlzdERlbnNpdHk7XG4gIGRpc3BsYXlNb2RlPzogQmFja29mZmljZUxpc3REaXNwbGF5TW9kZTtcbiAgbWF4UHJvbW90ZWRGaWx0ZXJzPzogbnVtYmVyO1xuICBzaG93UmVmcmVzaD86IGJvb2xlYW47XG4gIHNob3dTb3J0PzogYm9vbGVhbjtcbiAgc2hvd0ZpbHRlckNoaXBzPzogJ2F1dG8nIHwgJ2Fsd2F5cycgfCAnbmV2ZXInO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RVaUNvbmZpZyA9IHtcbiAgZGVuc2l0eT86IEJhY2tvZmZpY2VMaXN0RGVuc2l0eTtcbiAgZGlzcGxheU1vZGU/OiBCYWNrb2ZmaWNlTGlzdERpc3BsYXlNb2RlO1xuICBpbmZpbml0ZVNjcm9sbD86IEJhY2tvZmZpY2VJbmZpbml0ZVNjcm9sbENvbmZpZztcbiAgdmlydHVhbGl6YXRpb24/OiBCYWNrb2ZmaWNlTGlzdFZpcnR1YWxpemF0aW9uQ29uZmlnO1xuICB0b29sYmFyPzogQmFja29mZmljZUxpc3RUb29sYmFyUHJvZmlsZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0UmVzcG9uc2l2ZU1ldGFJdGVtID0ge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgdmFsdWU6IHN0cmluZztcbiAgdG9uZT86IEJhY2tvZmZpY2VCYWRnZVRvbmU7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFJlc3BvbnNpdmVQcm9maWxlPFJvdyA9IHVua25vd24+ID0ge1xuICBtb2RlPzogQmFja29mZmljZUxpc3REaXNwbGF5TW9kZTtcbiAgZGVuc2l0eT86IEJhY2tvZmZpY2VMaXN0RGVuc2l0eTtcbiAgbW9iaWxlQnJlYWtwb2ludD86ICdzbScgfCAnbWQnIHwgJ2xnJztcbiAgcHJpbWFyeUNvbHVtbj86IHN0cmluZztcbiAgZGVmYXVsdFZpc2libGVDb2x1bW5zPzogcmVhZG9ubHkgc3RyaW5nW107XG4gIGRlYnVnQ29sdW1ucz86IHJlYWRvbmx5IHN0cmluZ1tdO1xuICByb3dUaXRsZT86IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nIHwgbnVsbD47XG4gIHJvd1N1YnRpdGxlPzogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgcm93TWV0YT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChyb3c6IFJvdykgPT4gcmVhZG9ubHkgQmFja29mZmljZUxpc3RSZXNwb25zaXZlTWV0YUl0ZW1bXVxuICA+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUZpbHRlclBsYWNlbWVudCA9ICdxdWljaycgfCAnZHJhd2VyJyB8ICdib3RoJztcblxudHlwZSBCYWNrb2ZmaWNlRmlsdGVyQmFzZTxXaGVyZSwgVmFsdWU+ID0ge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICBwbGFjZW1lbnQ/OiBCYWNrb2ZmaWNlRmlsdGVyUGxhY2VtZW50O1xuICB0b0dyYXBoUUw6ICh2YWx1ZTogVmFsdWUpID0+IFBhcnRpYWw8V2hlcmU+O1xuICBmcm9tR3JhcGhRTD86ICh3aGVyZTogV2hlcmUpID0+IFZhbHVlIHwgbnVsbDtcbiAgd2hlcmVLZXk/OiBrZXlvZiBXaGVyZTtcbiAgcGF0aD86IHJlYWRvbmx5IHN0cmluZ1tdO1xuICBwaWNrZXJTY29wZT86XG4gICAgfCBCYWNrb2ZmaWNlUGlja2VyU2NvcGU8V2hlcmU+XG4gICAgfCAoKHdoZXJlOiBXaGVyZSB8IG51bGwpID0+IEJhY2tvZmZpY2VQaWNrZXJTY29wZTxXaGVyZT4pO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUZpbHRlclNwZWM8V2hlcmUsIEVudGl0eUlkIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPiA9XG4gIHwgKEJhY2tvZmZpY2VGaWx0ZXJCYXNlPFdoZXJlLCBzdHJpbmc+ICYge1xuICAgICAga2luZDogJ3RleHQnO1xuICAgICAgcGxhY2Vob2xkZXJMYWJlbD86IEkxOG5MYWJlbDtcbiAgICAgIHBsYWNlaG9sZGVyVGV4dD86IEkxOG5MYWJlbDtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRmlsdGVyQmFzZTxXaGVyZSwgc3RyaW5nPiAmIHtcbiAgICAgIGtpbmQ6ICdkYXRldGltZSc7XG4gICAgICBtb2RlPzogJ2Zyb20nIHwgJ3RvJyB8ICdleGFjdCc7XG4gICAgICBwbGFjZWhvbGRlckxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgcGxhY2Vob2xkZXJUZXh0PzogSTE4bkxhYmVsO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VGaWx0ZXJCYXNlPFdoZXJlLCBudW1iZXI+ICYge1xuICAgICAga2luZDogJ251bWJlcic7XG4gICAgICBwbGFjZWhvbGRlckxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgcGxhY2Vob2xkZXJUZXh0PzogSTE4bkxhYmVsO1xuICAgICAgaW5wdXRNb2RlPzogJ251bWVyaWMnIHwgJ2RlY2ltYWwnO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VGaWx0ZXJCYXNlPFdoZXJlLCBzdHJpbmc+ICYge1xuICAgICAga2luZDogJ2VudW0nO1xuICAgICAgb3B0aW9uczogcmVhZG9ubHkge1xuICAgICAgICB2YWx1ZTogc3RyaW5nO1xuICAgICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgfVtdO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VGaWx0ZXJCYXNlPFdoZXJlLCBib29sZWFuPiAmIHtcbiAgICAgIGtpbmQ6ICdib29sZWFuJztcbiAgICAgIHRydWVMYWJlbD86IEkxOG5MYWJlbDtcbiAgICAgIGZhbHNlTGFiZWw/OiBJMThuTGFiZWw7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUZpbHRlckJhc2U8V2hlcmUsIHN0cmluZz4gJiB7XG4gICAgICBraW5kOiAnZW50aXR5SWQnO1xuICAgICAgZW50aXR5OiBFbnRpdHlJZDtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRmlsdGVyQmFzZTxXaGVyZSwgcmVhZG9ubHkgc3RyaW5nW10+ICYge1xuICAgICAga2luZDogJ2VudGl0eUlkTGlzdCc7XG4gICAgICBlbnRpdHk6IEVudGl0eUlkO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VGaWx0ZXJCYXNlPFdoZXJlLCBzdHJpbmc+ICYge1xuICAgICAga2luZDogJ3N0cmluZ0xpc3QnO1xuICAgICAgcGxhY2Vob2xkZXJMYWJlbD86IEkxOG5MYWJlbDtcbiAgICAgIHBsYWNlaG9sZGVyVGV4dD86IEkxOG5MYWJlbDtcbiAgICB9KTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUNvbm5lY3Rpb25MaXN0Q29uZmlnPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBMaXN0RnJhZ21lbnREYXRhID0gdW5rbm93bixcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4gIFRDb3VudE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUgPSBhbnksXG4gIFRFbnRpdHlJZCBleHRlbmRzIHN0cmluZyA9IHN0cmluZyxcbj4gPSB7XG4gIGtpbmQ6ICdjb25uZWN0aW9uJztcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgcXVlcnk6IEdyYXBoUUxUYWdnZWROb2RlO1xuICBmcmFnbWVudDogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIGJ1aWxkUXVlcnlWYXJpYWJsZXM6IChcbiAgICBpbnB1dDogQmFja29mZmljZUxpc3RRdWVyeUlucHV0PFRPcGVyYXRpb24sIFRXaGVyZSwgVFNvcnQ+LFxuICApID0+IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddO1xuICBnZXRDb25uZWN0aW9uOiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAoZGF0YTogTGlzdEZyYWdtZW50RGF0YSkgPT4gQmFja29mZmljZUNvbm5lY3Rpb248Um93UmVmPlxuICA+O1xuICBjb3VudDogQmFja29mZmljZUVudGl0eUNvdW50Q29uZmlnPFRDb3VudE9wZXJhdGlvbiwgVFdoZXJlPjtcbiAgdG9Sb3c6IEJpdmFyaWFudENhbGxiYWNrPChyb3dSZWY6IFJvd1JlZikgPT4gUm93Vmlldz47XG4gIGdldFJvd0lkOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3dWaWV3KSA9PiBzdHJpbmc+O1xuICBjb2x1bW5zOiByZWFkb25seSBCYWNrb2ZmaWNlQ29sdW1uU3BlYzxSb3dWaWV3PltdO1xuICByb3dGbGFncz86IHJlYWRvbmx5IEJhY2tvZmZpY2VSb3dGbGFnU3BlYzxSb3dWaWV3PltdO1xuICBzb3J0czogcmVhZG9ubHkgQmFja29mZmljZVNvcnRTcGVjPFRTb3J0PltdO1xuICBmaWx0ZXJzOiByZWFkb25seSBCYWNrb2ZmaWNlRmlsdGVyU3BlYzxUV2hlcmUsIFRFbnRpdHlJZD5bXTtcbiAgcmVzcG9uc2l2ZT86IEJhY2tvZmZpY2VMaXN0UmVzcG9uc2l2ZVByb2ZpbGU8Um93Vmlldz47XG4gIHVpPzogQmFja29mZmljZUxpc3RVaUNvbmZpZztcbiAgZGVmYXVsdFN0YXRlPzogQmFja29mZmljZUxpc3RTdGF0ZTxUV2hlcmUsIFRTb3J0Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlMaXN0Q29uZmlnPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBMaXN0RnJhZ21lbnREYXRhID0gdW5rbm93bixcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4gIFRDb3VudE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUgPSBhbnksXG4gIFRFbnRpdHlJZCBleHRlbmRzIHN0cmluZyA9IHN0cmluZyxcbj4gPSBCYWNrb2ZmaWNlQ29ubmVjdGlvbkxpc3RDb25maWc8XG4gIFRPcGVyYXRpb24sXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgTGlzdEZyYWdtZW50RGF0YSxcbiAgVFdoZXJlLFxuICBUU29ydCxcbiAgVENvdW50T3BlcmF0aW9uLFxuICBURW50aXR5SWRcbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VCYWRnZUl0ZW0gPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmcgfCBJMThuTGFiZWw7XG4gIHRpdGxlPzogc3RyaW5nIHwgSTE4bkxhYmVsO1xuICB0b25lPzogQmFja29mZmljZUJhZGdlVG9uZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VJbmxpbmVWYWx1ZVNwZWMgPVxuICB8IHtcbiAgICAgIHR5cGU6ICd0ZXh0JztcbiAgICAgIHZhbHVlOiBCYWNrb2ZmaWNlVmFsdWVMYWJlbDtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2VudGl0eVJlZic7XG4gICAgICBlbnRpdHk6IHN0cmluZztcbiAgICAgIGlkOiBzdHJpbmcgfCBudWxsO1xuICAgICAgbGFiZWw/OiBCYWNrb2ZmaWNlVmFsdWVMYWJlbDtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2xpbmsnO1xuICAgICAgaHJlZjogc3RyaW5nIHwgbnVsbDtcbiAgICAgIGxhYmVsOiBCYWNrb2ZmaWNlVmFsdWVMYWJlbDtcbiAgICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsSGVhZGVyU3VidGl0bGVJdGVtPE5vZGU+ID0ge1xuICBpZDogc3RyaW5nO1xuICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VJbmxpbmVWYWx1ZVNwZWM+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbEhlYWRlck1ldGFTcGVjPE5vZGU+ID1cbiAgfCB7XG4gICAgICB0eXBlPzogJ3RleHQnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnZGF0ZVRpbWUnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgbnVsbD47XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdlbnRpdHlSZWYnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIGVudGl0eTogc3RyaW5nO1xuICAgICAgaWQ6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIHZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGw+O1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnbGluayc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgaHJlZjogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGw+O1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbEhlYWRlclN0YXR1c1NwZWM8Tm9kZT4gPVxuICB8IHtcbiAgICAgIHR5cGU6ICdiYWRnZSc7XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgICAgIHRvbmU/OlxuICAgICAgICB8IEJhY2tvZmZpY2VCYWRnZVRvbmVcbiAgICAgICAgfCBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZUJhZGdlVG9uZT47XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdiYWRnZVJvdyc7XG4gICAgICBpdGVtczogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHJlYWRvbmx5IEJhY2tvZmZpY2VCYWRnZUl0ZW1bXT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBsYWNlbWVudCA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsQ29udGVudEdyb3VwID1cbiAgfCAnc3VtbWFyeSdcbiAgfCAnaWRlbnRpdHknXG4gIHwgJ3Njb3BlJ1xuICB8ICdzdGF0dXMnXG4gIHwgJ3JlbGF0aW9ucydcbiAgfCAnYWN0aXZpdHknXG4gIHwgJ2JpbGxpbmcnXG4gIHwgJ3RlY2huaWNhbCdcbiAgfCAncmF3JztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbEltcG9ydGFuY2UgPVxuICAnaGVybycgfCAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdkZWJ1Zyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxDb2xsYXBzZUJlaGF2aW9yID0ge1xuICBjb2xsYXBzaWJsZT86IGJvb2xlYW47XG4gIGRlZmF1bHRDb2xsYXBzZWQ/OiBib29sZWFuO1xuICBwZXJzaXN0S2V5Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbiA9IHtcbiAgZ3JvdXA/OiBCYWNrb2ZmaWNlRGV0YWlsQ29udGVudEdyb3VwO1xuICBpbXBvcnRhbmNlPzogQmFja29mZmljZURldGFpbEltcG9ydGFuY2U7XG4gIGNvbGxhcHNlPzogQmFja29mZmljZURldGFpbENvbGxhcHNlQmVoYXZpb3I7XG4gIG1vYmlsZT86ICd2aXNpYmxlJyB8ICdjb2xsYXBzZWQnIHwgJ2hpZGRlbic7XG4gIGRlc2t0b3A/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdmdWxsV2lkdGgnO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRvbmUgPVxuICAnbmV1dHJhbCcgfCAnaW5mbycgfCAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZGFuZ2VyJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUFjdGlvblRvbmUgPSAnbmV1dHJhbCcgfCAncHJpbWFyeScgfCAnZGFuZ2VyJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURlbnNpdHkgPSAnY29tcGFjdCcgfCAnY29tZm9ydGFibGUnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxQbGFjZW1lbnQgPSAnbWFpbicgfCAnc2lkZScgfCAnZnVsbFdpZHRoJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVNlbWFudGljRGV0YWlsUHJpb3JpdHkgPVxuICAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdkaWFnbm9zdGljJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlbmRlcmFibGVWYWx1ZSA9XG4gIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU3RhdHVzVmFsdWUgPSB7XG4gIHJlYWRvbmx5IGxhYmVsOiBzdHJpbmcgfCBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHRvbmU6IEJhY2tvZmZpY2VUb25lO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVNlbWFudGljQmxvY2tCYXNlID0ge1xuICByZWFkb25seSBpZD86IHN0cmluZztcbiAgcmVhZG9ubHkgdGl0bGU6IEkxOG5MYWJlbDtcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHBsYWNlbWVudD86IEJhY2tvZmZpY2VTZW1hbnRpY0RldGFpbFBsYWNlbWVudDtcbiAgcmVhZG9ubHkgcHJpb3JpdHk/OiBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxQcmlvcml0eTtcbiAgcmVhZG9ubHkgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VWYWx1ZVNwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSB0b25lPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VUb25lIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgaHJlZj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgY29weVZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAgPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTdW1tYXJ5SXRlbVNwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSB0b25lPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VUb25lIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWxcbiAgPjtcbiAgcmVhZG9ubHkgaHJlZj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTdW1tYXJ5QmxvY2tTcGVjPE5vZGU+ID0gQmFja29mZmljZVNlbWFudGljQmxvY2tCYXNlICYge1xuICByZWFkb25seSBraW5kOiAnc3VtbWFyeSc7XG4gIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBCYWNrb2ZmaWNlU3VtbWFyeUl0ZW1TcGVjPE5vZGU+W107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlSGVyb1N1bW1hcnlCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU3VtbWFyeUJsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU1ldHJpY1NwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSBmb3JtYXR0ZWRWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4gID47XG4gIHJlYWRvbmx5IGhpbnQ/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSB0b25lPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VUb25lIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgY29weVZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAgPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VNZXRyaWNHcm91cEJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgICByZWFkb25seSBraW5kOiAnbWV0cmljcyc7XG4gICAgcmVhZG9ubHkgZGVuc2l0eT86IEJhY2tvZmZpY2VEZW5zaXR5O1xuICAgIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBCYWNrb2ZmaWNlTWV0cmljU3BlYzxOb2RlPltdO1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTWV0cmljQmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZU1ldHJpY0dyb3VwQmxvY2tTcGVjPE5vZGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU3RhdGVTcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VSZW5kZXJhYmxlVmFsdWU+O1xuICByZWFkb25seSBnZXREaXNwbGF5OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAoXG4gICAgICB2YWx1ZTogQmFja29mZmljZVJlbmRlcmFibGVWYWx1ZSxcbiAgICAgIG5vZGU6IE5vZGUsXG4gICAgKSA9PiB7XG4gICAgICByZWFkb25seSBsYWJlbDogc3RyaW5nIHwgSTE4bkxhYmVsO1xuICAgICAgcmVhZG9ubHkgdG9uZTogQmFja29mZmljZVRvbmU7XG4gICAgfVxuICA+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVN0YXRlR3JvdXBCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gICAgcmVhZG9ubHkga2luZDogJ3N0YXRlcyc7XG4gICAgcmVhZG9ubHkgc3RhdGVzOiByZWFkb25seSBCYWNrb2ZmaWNlU3RhdGVTcGVjPE5vZGU+W107XG4gIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTdGF0ZUJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VTdGF0ZUdyb3VwQmxvY2tTcGVjPE5vZGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQ29udGV4dEl0ZW1TcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgaHJlZj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgZW1wdHlMYWJlbD86IEkxOG5MYWJlbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDb250ZXh0U3RhY2tCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gICAgcmVhZG9ubHkga2luZDogJ2NvbnRleHQnO1xuICAgIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBCYWNrb2ZmaWNlQ29udGV4dEl0ZW1TcGVjPE5vZGU+W107XG4gIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDb250ZXh0QmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZUNvbnRleHRTdGFja0Jsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlbGF0aW9uU3VtbWFyeVRpbGVTcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSBjb3VudD86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgaHJlZj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWxcbiAgPjtcbiAgcmVhZG9ubHkgdG9uZT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVG9uZSB8IHVuZGVmaW5lZD47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVsYXRpb25TdW1tYXJ5R3JvdXBCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gICAgcmVhZG9ubHkga2luZDogJ3JlbGF0aW9uU3VtbWFyeSc7XG4gICAgcmVhZG9ubHkgaXRlbXM6IHJlYWRvbmx5IEJhY2tvZmZpY2VSZWxhdGlvblN1bW1hcnlUaWxlU3BlYzxOb2RlPltdO1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVsYXRpb25TdW1tYXJ5QmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZVJlbGF0aW9uU3VtbWFyeUdyb3VwQmxvY2tTcGVjPE5vZGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVGltZWxpbmVFdmVudFNwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHRpbWVzdGFtcD86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlIHwgbnVsbCB8IHVuZGVmaW5lZFxuICA+O1xuICByZWFkb25seSBzdGF0ZT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlU3RhdHVzVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkXG4gID47XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsXG4gID47XG4gIHJlYWRvbmx5IGFjdG9yPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgcGF5bG9hZD86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiB1bmtub3duPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUaW1lbGluZUJsb2NrU3BlYzxOb2RlPiA9IEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgcmVhZG9ubHkga2luZDogJ3RpbWVsaW5lJztcbiAgcmVhZG9ubHkgZXZlbnRzOiByZWFkb25seSBCYWNrb2ZmaWNlVGltZWxpbmVFdmVudFNwZWM8Tm9kZT5bXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBdWRpdEl0ZW1TcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSB0aW1lc3RhbXA/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSB8IG51bGwgfCB1bmRlZmluZWRcbiAgPjtcbiAgcmVhZG9ubHkgYWN0b3I/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSBzb3VyY2U/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUF1ZGl0QmxvY2tTcGVjPE5vZGU+ID0gQmFja29mZmljZVNlbWFudGljQmxvY2tCYXNlICYge1xuICByZWFkb25seSBraW5kOiAnYXVkaXQnO1xuICByZWFkb25seSBpdGVtczogcmVhZG9ubHkgQmFja29mZmljZUF1ZGl0SXRlbVNwZWM8Tm9kZT5bXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZWZlcmVuY2VTcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgaHJlZj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgY29weVZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAgPjtcbiAgcmVhZG9ubHkgcmVmS2luZD86XG4gICAgJ2lkJyB8ICdzbHVnJyB8ICdwYXRoJyB8ICd1cmwnIHwgJ2hhc2gnIHwgJ2V4dGVybmFsJyB8ICd0ZXh0Jztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZWZlcmVuY2VHcm91cEJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgICByZWFkb25seSBraW5kOiAncmVmZXJlbmNlcyc7XG4gICAgcmVhZG9ubHkgcmVmZXJlbmNlczogcmVhZG9ubHkgQmFja29mZmljZVJlZmVyZW5jZVNwZWM8Tm9kZT5bXTtcbiAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBheWxvYWRGb3JtYXQgPSAnanNvbicgfCAnbWFya2Rvd24nIHwgJ3RleHQnIHwgJ2NvZGUnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUGF5bG9hZEJsb2NrU3BlYzxOb2RlPiA9IEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgcmVhZG9ubHkga2luZDogJ3BheWxvYWQnO1xuICByZWFkb25seSBmb3JtYXQ/OiBCYWNrb2ZmaWNlUGF5bG9hZEZvcm1hdDtcbiAgcmVhZG9ubHkgc3VtbWFyeT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gdW5rbm93bj47XG4gIHJlYWRvbmx5IGRlZmF1bHRDb2xsYXBzZWQ/OiBib29sZWFuO1xuICByZWFkb25seSBlbXB0eUxhYmVsPzogSTE4bkxhYmVsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUFjdGlvblJlc3VsdEJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgICByZWFkb25seSBraW5kOiAnYWN0aW9uUmVzdWx0JztcbiAgICByZWFkb25seSBzdGF0dXM/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAgIChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlU3RhdHVzVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkXG4gICAgPjtcbiAgICByZWFkb25seSBtZXNzYWdlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgICByZWFkb25seSByZWZlcmVuY2VzPzogcmVhZG9ubHkgQmFja29mZmljZVJlZmVyZW5jZVNwZWM8Tm9kZT5bXTtcbiAgICByZWFkb25seSBwYXlsb2FkPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHVua25vd24+O1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVGVjaG5pY2FsRmFjdHNCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gICAgcmVhZG9ubHkga2luZDogJ3RlY2huaWNhbEZhY3RzJztcbiAgICByZWFkb25seSBmYWN0czogcmVhZG9ubHkgQmFja29mZmljZVZhbHVlU3BlYzxOb2RlPltdO1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxCbG9ja1NwZWM8Tm9kZT4gPVxuICB8IEJhY2tvZmZpY2VTdW1tYXJ5QmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZU1ldHJpY0dyb3VwQmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZVN0YXRlR3JvdXBCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlQ29udGV4dFN0YWNrQmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZVJlbGF0aW9uU3VtbWFyeUdyb3VwQmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZVRpbWVsaW5lQmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZUF1ZGl0QmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZVJlZmVyZW5jZUdyb3VwQmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZVBheWxvYWRCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlQWN0aW9uUmVzdWx0QmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZVRlY2huaWNhbEZhY3RzQmxvY2tTcGVjPE5vZGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRmxhZ1ZhcmlhbnQgPVxuICB8ICd5ZXNObydcbiAgfCAnY2FwYWJpbGl0eSdcbiAgfCAnZW5hYmxlZCdcbiAgfCAnZmFpbHVyZSdcbiAgfCAnZW5jcnlwdGVkJ1xuICB8ICdsb2NrZWQnXG4gIHwgJ2RlZmF1bHQnXG4gIHwgJ2FnZW50TWFuYWdlZCdcbiAgfCAnZGVwbG95ZWRQcm9kdWN0aW9uJ1xuICB8ICdmb3JjZWQnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsRmllbGRTcGVjPE5vZGU+ID1cbiAgfCB7XG4gICAgICB0eXBlOiAndGV4dCc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICAgICAgY29weVZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGw+O1xuICAgICAgZnVsbFdpZHRoPzogYm9vbGVhbjtcbiAgICAgIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdiYWRnZSc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICAgICAgdG9uZT86XG4gICAgICAgIHwgQmFja29mZmljZUJhZGdlVG9uZVxuICAgICAgICB8IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlQmFkZ2VUb25lPjtcbiAgICAgIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdiYWRnZVJvdyc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIGl0ZW1zOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gcmVhZG9ubHkgQmFja29mZmljZUJhZGdlSXRlbVtdPjtcbiAgICAgIGZ1bGxXaWR0aD86IGJvb2xlYW47XG4gICAgICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnZGF0ZVRpbWUnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHNpemU6IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bWJlciB8IG51bGw+O1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ251bWJlcic7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gbnVtYmVyIHwgbnVsbD47XG4gICAgICBmb3JtYXQ/OiBCYWNrb2ZmaWNlTnVtYmVyRm9ybWF0O1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2ZsYWcnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHNpemU6IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IGJvb2xlYW4gfCBudWxsPjtcbiAgICAgIHZhcmlhbnQ6IEJhY2tvZmZpY2VGbGFnVmFyaWFudDtcbiAgICAgIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdlbnRpdHlSZWYnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHNpemU6IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICBlbnRpdHk6IHN0cmluZztcbiAgICAgIGlkOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbD47XG4gICAgICB2YWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICd0ZWNobmljYWxJZGVudGlmaWVyJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudW1iZXIgfCBudWxsPjtcbiAgICAgIHZhcmlhbnQ/OiAnaWQnIHwgJ2hhc2gnIHwgJ3Rva2VuJyB8ICdmaW5nZXJwcmludCcgfCAnZXh0ZXJuYWwnO1xuICAgICAgY29weVZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGw+O1xuICAgICAgZnVsbFdpZHRoPzogYm9vbGVhbjtcbiAgICAgIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdsaW5rJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgaHJlZjogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGw+O1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudW1iZXIgfCBudWxsPjtcbiAgICAgIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICd0YWdnZWRWYWx1ZSc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIHRhZzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgICAgIChub2RlOiBOb2RlKSA9PiB7XG4gICAgICAgICAgbGFiZWw6IHN0cmluZyB8IEkxOG5MYWJlbDtcbiAgICAgICAgICB0b25lPzogQmFja29mZmljZUJhZGdlVG9uZTtcbiAgICAgICAgfSB8IG51bGxcbiAgICAgID47XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VJbmxpbmVWYWx1ZVNwZWM+O1xuICAgICAgZnVsbFdpZHRoPzogYm9vbGVhbjtcbiAgICAgIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdjdXN0b20nO1xuICAgICAgbGFiZWw/OiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgcmVuZGVyOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gdW5rbm93bj47XG4gICAgICBmdWxsV2lkdGg/OiBib29sZWFuO1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsSGVhZGVyQ29uZmlnPE5vZGU+ID0ge1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICB0aXRsZVZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUsIHQ6IFRGdW5jdGlvbikgPT4gc3RyaW5nIHwgbnVsbD47XG4gIHN1YnRpdGxlPzogSTE4bkxhYmVsO1xuICBzdWJ0aXRsZVZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKG5vZGU6IE5vZGUsIHQ6IFRGdW5jdGlvbikgPT4gc3RyaW5nIHwgbnVsbFxuICA+O1xuICBzdWJ0aXRsZUl0ZW1zPzogcmVhZG9ubHkgQmFja29mZmljZURldGFpbEhlYWRlclN1YnRpdGxlSXRlbTxOb2RlPltdO1xuICBzdWJ0aXRsZVNlcGFyYXRvcj86IHN0cmluZztcbiAgaWQ/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbD47XG4gIGJhZGdlcz86IHJlYWRvbmx5IHtcbiAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICAgIHRvbmU/OlxuICAgICAgfCBCYWNrb2ZmaWNlQmFkZ2VUb25lXG4gICAgICB8IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlQmFkZ2VUb25lPjtcbiAgfVtdO1xuICBzdGF0dXM/OiBCYWNrb2ZmaWNlRGV0YWlsSGVhZGVyU3RhdHVzU3BlYzxOb2RlPjtcbiAgbWV0YT86IHJlYWRvbmx5IEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJNZXRhU3BlYzxOb2RlPltdO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eVJlbGF0aW9uU3BlYzxOb2RlPiA9IHtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcmVhZG9ubHkgdGFyZ2V0OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHdoZXJlS2V5OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbD47XG4gIHJlYWRvbmx5IHBhdGg/OiByZWFkb25seSBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgZmlsdGVySWQ/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsU2VjdGlvbkNvbmZpZzxOb2RlPiA9IHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICBmaWVsZHM6IHJlYWRvbmx5IEJhY2tvZmZpY2VEZXRhaWxGaWVsZFNwZWM8Tm9kZT5bXTtcbiAgcGxhY2VtZW50PzogQmFja29mZmljZURldGFpbFBsYWNlbWVudDtcbiAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VGaWVsZFNldEJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VEZXRhaWxTZWN0aW9uQ29uZmlnPE5vZGU+ICYge1xuICAgIGtpbmQ6ICdmaWVsZFNldCc7XG4gIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxUYWJsZUJsb2NrU3BlYzxOb2RlLCBSb3c+ID0ge1xuICBraW5kOiAndGFibGUnO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICBkZXNjcmlwdGlvbj86IEkxOG5MYWJlbDtcbiAgY29sdW1uczogcmVhZG9ubHkgQmFja29mZmljZUNvbHVtblNwZWM8Um93PltdO1xuICByb3dzOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gcmVhZG9ubHkgUm93W10+O1xuICBwbGFjZW1lbnQ/OiBCYWNrb2ZmaWNlRGV0YWlsUGxhY2VtZW50O1xuICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRhYmxlQmxvY2tTcGVjPFxuICBOb2RlLFxuICBSb3cgPSB1bmtub3duLFxuPiA9IEJhY2tvZmZpY2VEZXRhaWxUYWJsZUJsb2NrU3BlYzxOb2RlLCBSb3c+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQ3VzdG9tQmxvY2tTcGVjPE5vZGU+ID0ge1xuICBraW5kOiAnY3VzdG9tJztcbiAgbGFiZWw/OiBJMThuTGFiZWw7XG4gIHJlbmRlcjogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHVua25vd24+O1xuICBwbGFjZW1lbnQ/OiBCYWNrb2ZmaWNlRGV0YWlsUGxhY2VtZW50O1xuICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbEJsb2NrU3BlYzxOb2RlPiA9XG4gIHwgQmFja29mZmljZVNlbWFudGljRGV0YWlsQmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZURldGFpbFRhYmxlQmxvY2tTcGVjPE5vZGUsIGFueT5cbiAgfCBCYWNrb2ZmaWNlQ3VzdG9tQmxvY2tTcGVjPE5vZGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsQ29udGVudFNwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlRmllbGRTZXRCbG9ja1NwZWM8Tm9kZT4gfCBCYWNrb2ZmaWNlRGV0YWlsQmxvY2tTcGVjPE5vZGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsVmlld0xheW91dFNwZWMgPSB7XG4gIHJlYWRvbmx5IGRlbnNpdHk/OiBCYWNrb2ZmaWNlRGVuc2l0eTtcbiAgcmVhZG9ubHkgY29sdW1ucz86ICdhdXRvJyB8ICdzaW5nbGUnIHwgJ21haW5TaWRlJztcbiAgcmVhZG9ubHkgdGVjaG5pY2FsRGVmYXVsdENvbGxhcHNlZD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHNpZGVDb2x1bW4/OiB7XG4gICAgcmVhZG9ubHkgd2lkdGg/OiAnbmFycm93JyB8ICdtZWRpdW0nIHwgJ3dpZGUnO1xuICAgIHJlYWRvbmx5IHN0aWNreT86IGJvb2xlYW47XG4gIH07XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsUGFnZVZpZXdTcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSB0aXRsZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgc3VidGl0bGU/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSBleWVicm93PzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgc3RhdHVzPzogQmFja29mZmljZURldGFpbEhlYWRlclN0YXR1c1NwZWM8Tm9kZT47XG4gIHJlYWRvbmx5IHJlZmVyZW5jZXM/OiByZWFkb25seSBCYWNrb2ZmaWNlUmVmZXJlbmNlU3BlYzxOb2RlPltdO1xuICByZWFkb25seSBhY3Rpb25zPzogcmVhZG9ubHkgQmFja29mZmljZUVudGl0eUFjdGlvblNwZWM8Tm9kZT5bXTtcbiAgcmVhZG9ubHkgbGF5b3V0PzogQmFja29mZmljZURldGFpbFZpZXdMYXlvdXRTcGVjO1xuICByZWFkb25seSBibG9ja3M6IHJlYWRvbmx5IEJhY2tvZmZpY2VEZXRhaWxDb250ZW50U3BlYzxOb2RlPltdO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VEYXRhQ29udGV4dCA9IHtcbiAgaWQ6IHN0cmluZztcbiAgZGV0YWlsSWQ/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsUGFnZVZhcmlhYmxlc1Jlc3VsdDxEZXRhaWxRdWVyeVZhcmlhYmxlcz4gPSB7XG4gIHZhcmlhYmxlczogRGV0YWlsUXVlcnlWYXJpYWJsZXM7XG4gIGRldGFpbElkPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFZhcmlhYmxlczxEZXRhaWxRdWVyeVZhcmlhYmxlcz4gPVxuICBCYWNrb2ZmaWNlRGV0YWlsUGFnZVZhcmlhYmxlc1Jlc3VsdDxEZXRhaWxRdWVyeVZhcmlhYmxlcz47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VOb2RlUXVlcnlSZXNwb25zZTxOb2RlUmVmPiA9IHtcbiAgcmVhZG9ubHkgbm9kZT86IE5vZGVSZWYgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUFsaWFzZWROb2RlUXVlcnlSZXNwb25zZTxcbiAgQWxpYXMgZXh0ZW5kcyBzdHJpbmcsXG4gIE5vZGVSZWYsXG4+ID0ge1xuICByZWFkb25seSBub2RlPzpcbiAgICB8IChSZWFkb25seTxQYXJ0aWFsPFJlY29yZDxBbGlhcywgTm9kZVJlZiB8IG51bGw+Pj4gJiB7XG4gICAgICAgIHJlYWRvbmx5IF9fdHlwZW5hbWU/OiBzdHJpbmc7XG4gICAgICB9KVxuICAgIHwgbnVsbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBbGlhc2VkUGlja2VyVmFsdWVSZXNwb25zZTxcbiAgQWxpYXMgZXh0ZW5kcyBzdHJpbmcsXG4gIFJvd1JlZixcbj4gPSBCYWNrb2ZmaWNlQWxpYXNlZE5vZGVRdWVyeVJlc3BvbnNlPEFsaWFzLCBSb3dSZWY+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsUGFnZURhdGFTcGVjPFxuICBEZXRhaWxWaWV3LFxuICBEZXRhaWxEYXRhID0gRGV0YWlsVmlldyxcbiAgRGV0YWlsUXVlcnlEYXRhID0gdW5rbm93bixcbiAgRGV0YWlsRnJhZ21lbnRLZXkgPSB1bmtub3duLFxuICBEZXRhaWxRdWVyeVZhcmlhYmxlcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiA9IHtcbiAgcXVlcnk6IEdyYXBoUUxUYWdnZWROb2RlO1xuICBmcmFnbWVudDogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIHJlc29sdmVOb2RlOiAoXG4gICAgZGF0YTogRGV0YWlsUXVlcnlEYXRhLFxuICAgIGNvbnRleHQ6IEJhY2tvZmZpY2VEZXRhaWxQYWdlRGF0YUNvbnRleHQsXG4gICkgPT4gRGV0YWlsRnJhZ21lbnRLZXkgfCBudWxsO1xuICB0b1ZpZXc6IEJpdmFyaWFudENhbGxiYWNrPChkYXRhOiBEZXRhaWxEYXRhKSA9PiBEZXRhaWxWaWV3PjtcbiAgYnVpbGRWYXJpYWJsZXM/OiAoaW5wdXQ6IHtcbiAgICBpZDogc3RyaW5nO1xuICB9KSA9PiBCYWNrb2ZmaWNlRGV0YWlsUGFnZVZhcmlhYmxlc1Jlc3VsdDxEZXRhaWxRdWVyeVZhcmlhYmxlcz47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsU3RhbmRhcmRUYWIgPVxuICAnb3ZlcnZpZXcnIHwgJ3JlbGF0aW9ucycgfCAnYWN0aXZpdHknIHwgJ2JpbGxpbmcnIHwgJ3RlY2huaWNhbCcgfCAncmF3JztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFRpdGxlTWV0YUl0ZW0gPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsPzogSTE4bkxhYmVsO1xuICB2YWx1ZTogc3RyaW5nO1xuICB0b25lPzogQmFja29mZmljZUJhZGdlVG9uZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRQcm9maWxlPERldGFpbFZpZXcgPSB1bmtub3duPiA9IHtcbiAgc3RhbmRhcmRUYWJzPzogcmVhZG9ubHkgQmFja29mZmljZURldGFpbFN0YW5kYXJkVGFiW107XG4gIHN1bW1hcnlGaWVsZHM/OiByZWFkb25seSBzdHJpbmdbXTtcbiAgc2NvcGVGaWVsZHM/OiByZWFkb25seSBzdHJpbmdbXTtcbiAgc3RhdHVzRmllbGRzPzogcmVhZG9ubHkgc3RyaW5nW107XG4gIHRlY2huaWNhbEdyb3Vwc0NvbGxhcHNlZD86IGJvb2xlYW47XG4gIHJhd0dyb3Vwc0hpZGRlbkZyb21PdmVydmlldz86IGJvb2xlYW47XG4gIHNpZGVSYWlsPzoge1xuICAgIGdyb3VwczogcmVhZG9ubHkgQmFja29mZmljZURldGFpbENvbnRlbnRHcm91cFtdO1xuICAgIHN0aWNreT86IGJvb2xlYW47XG4gIH07XG4gIHRpdGxlTWV0YT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBEZXRhaWxWaWV3KSA9PiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsVGl0bGVNZXRhSXRlbVtdXG4gID47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0U3BlYzxcbiAgTGF5b3V0VmlldyxcbiAgTGF5b3V0RGF0YSA9IExheW91dFZpZXcsXG4gIExheW91dFF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIExheW91dEZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgTGF5b3V0UXVlcnlWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSBCYWNrb2ZmaWNlRGV0YWlsUGFnZURhdGFTcGVjPFxuICBMYXlvdXRWaWV3LFxuICBMYXlvdXREYXRhLFxuICBMYXlvdXRRdWVyeURhdGEsXG4gIExheW91dEZyYWdtZW50S2V5LFxuICBMYXlvdXRRdWVyeVZhcmlhYmxlc1xuPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VTcGVjPFxuICBEZXRhaWxWaWV3LFxuICBMYXlvdXRWaWV3ID0gRGV0YWlsVmlldyxcbiAgRGV0YWlsRGF0YSA9IERldGFpbFZpZXcsXG4gIERldGFpbFF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIERldGFpbEZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgRGV0YWlsUXVlcnlWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSBCYWNrb2ZmaWNlRGV0YWlsUGFnZURhdGFTcGVjPFxuICBEZXRhaWxWaWV3LFxuICBEZXRhaWxEYXRhLFxuICBEZXRhaWxRdWVyeURhdGEsXG4gIERldGFpbEZyYWdtZW50S2V5LFxuICBEZXRhaWxRdWVyeVZhcmlhYmxlc1xuPiAmIHtcbiAgaWQ6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICBjb250ZW50OiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsQ29udGVudFNwZWM8RGV0YWlsVmlldz5bXTtcbiAgYWN0aW9ucz86IHJlYWRvbmx5IEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25TcGVjPERldGFpbFZpZXc+W107XG4gIGlzVmlzaWJsZT86IEJpdmFyaWFudENhbGxiYWNrPChsYXlvdXRQYWdlOiBMYXlvdXRWaWV3KSA9PiBib29sZWFuPjtcbiAgcHJvZmlsZT86IEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRQcm9maWxlPERldGFpbFZpZXc+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBpY2tlclZhbHVlQ29uZmlnPFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIFZhbHVlUXVlcnlEYXRhID0gdW5rbm93bixcbj4gPSB7XG4gIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgcmVzb2x2ZVJvdzogKGRhdGE6IFZhbHVlUXVlcnlEYXRhKSA9PiBSb3dSZWYgfCBudWxsO1xuICB0b1JvdzogQml2YXJpYW50Q2FsbGJhY2s8KHJvd1JlZjogUm93UmVmKSA9PiBSb3dWaWV3Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlEZXRhaWxDb25maWc8XG4gIExheW91dERhdGEgPSBhbnksXG4gIExheW91dFZpZXcgPSBhbnksXG4gIE1haW5EYXRhID0gTGF5b3V0RGF0YSxcbiAgTWFpblZpZXcgPSBMYXlvdXRWaWV3LFxuICBTdWJEYXRhID0gTWFpbkRhdGEsXG4gIFN1YlZpZXcgPSBNYWluVmlldyxcbiAgTGF5b3V0UXVlcnlEYXRhID0gdW5rbm93bixcbiAgTWFpblF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIFN1YlF1ZXJ5RGF0YSA9IE1haW5RdWVyeURhdGEsXG4gIExheW91dEZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgTWFpbkZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgU3ViRnJhZ21lbnRLZXkgPSBNYWluRnJhZ21lbnRLZXksXG4gIExheW91dFF1ZXJ5VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIE1haW5RdWVyeVZhcmlhYmxlcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBTdWJRdWVyeVZhcmlhYmxlcyA9IE1haW5RdWVyeVZhcmlhYmxlcyxcbj4gPSB7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIGhlYWRlcjogQmFja29mZmljZURldGFpbEhlYWRlckNvbmZpZzxMYXlvdXRWaWV3PjtcbiAgcmVsYXRpb25zPzogcmVhZG9ubHkgQmFja29mZmljZUVudGl0eVJlbGF0aW9uU3BlYzxMYXlvdXRWaWV3PltdO1xuICBwcm9maWxlPzogQmFja29mZmljZURldGFpbExheW91dFByb2ZpbGU8TGF5b3V0Vmlldz47XG4gIGxheW91dFBhZ2U6IEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRTcGVjPFxuICAgIExheW91dFZpZXcsXG4gICAgTGF5b3V0RGF0YSxcbiAgICBMYXlvdXRRdWVyeURhdGEsXG4gICAgTGF5b3V0RnJhZ21lbnRLZXksXG4gICAgTGF5b3V0UXVlcnlWYXJpYWJsZXNcbiAgPjtcbiAgbWFpblBhZ2U6IEJhY2tvZmZpY2VEZXRhaWxQYWdlU3BlYzxcbiAgICBNYWluVmlldyxcbiAgICBMYXlvdXRWaWV3LFxuICAgIE1haW5EYXRhLFxuICAgIE1haW5RdWVyeURhdGEsXG4gICAgTWFpbkZyYWdtZW50S2V5LFxuICAgIE1haW5RdWVyeVZhcmlhYmxlc1xuICA+O1xuICBzdWJQYWdlcz86IHJlYWRvbmx5IEJhY2tvZmZpY2VEZXRhaWxQYWdlU3BlYzxcbiAgICBTdWJWaWV3LFxuICAgIExheW91dFZpZXcsXG4gICAgU3ViRGF0YSxcbiAgICBTdWJRdWVyeURhdGEsXG4gICAgU3ViRnJhZ21lbnRLZXksXG4gICAgU3ViUXVlcnlWYXJpYWJsZXNcbiAgPltdO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eVBpY2tlckNvbmZpZzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgUGlja2VyRnJhZ21lbnREYXRhID0gdW5rbm93bixcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFZhbHVlUXVlcnlEYXRhID0gQmFja29mZmljZUFsaWFzZWRQaWNrZXJWYWx1ZVJlc3BvbnNlPHN0cmluZywgUm93UmVmPixcbj4gPSB7XG4gIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgZnJhZ21lbnQ6IEdyYXBoUUxUYWdnZWROb2RlO1xuICBidWlsZFF1ZXJ5VmFyaWFibGVzOiAoXG4gICAgaW5wdXQ6IEJhY2tvZmZpY2VQaWNrZXJRdWVyeUlucHV0PFRPcGVyYXRpb24sIFRXaGVyZT4sXG4gICkgPT4gVE9wZXJhdGlvblsndmFyaWFibGVzJ107XG4gIHZhbHVlPzogQmFja29mZmljZVBpY2tlclZhbHVlQ29uZmlnPFJvd1JlZiwgUm93VmlldywgVmFsdWVRdWVyeURhdGE+O1xuICBnZXRDb25uZWN0aW9uOiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAoZGF0YTogUGlja2VyRnJhZ21lbnREYXRhKSA9PiBCYWNrb2ZmaWNlQ29ubmVjdGlvbjxSb3dSZWY+XG4gID47XG4gIHRvUm93OiBCaXZhcmlhbnRDYWxsYmFjazwocm93UmVmOiBSb3dSZWYpID0+IFJvd1ZpZXc+O1xuICBnZXRSb3dJZDogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93VmlldykgPT4gc3RyaW5nPjtcbiAgc2VhcmNoRW5hYmxlZD86IGJvb2xlYW47XG4gIHNlYXJjaFJlcXVpcmVkPzogYm9vbGVhbjtcbiAgc2VhcmNoUGxhY2Vob2xkZXI/OiBJMThuTGFiZWw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVG9vbEVudGl0eUNvbmZpZyA9IHtcbiAga2luZDogJ3Rvb2wnO1xuICBpZDogc3RyaW5nO1xuICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgcm91dGU/OiBzdHJpbmc7XG4gIG9wZXJhdGlvbjogQmFja29mZmljZVRvb2xPcGVyYXRpb247XG4gIGxpc3Q/OiBuZXZlcjtcbiAgZGV0YWlsPzogbmV2ZXI7XG4gIHBpY2tlcj86IG5ldmVyO1xuICByb3V0ZXM/OiBuZXZlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0RmFjZXRDb25maWc8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIExpc3RGcmFnbWVudERhdGEsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICBUU29ydCBleHRlbmRzIHN0cmluZyA9IEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24+LFxuICBUQ291bnRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlID0gYW55LFxuICBURW50aXR5SWQgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmcsXG4+ID0ge1xuICBraW5kOiAnbGlzdCc7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGxpc3Q6IEJhY2tvZmZpY2VFbnRpdHlMaXN0Q29uZmlnPFxuICAgIFRPcGVyYXRpb24sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICBUV2hlcmUsXG4gICAgVFNvcnQsXG4gICAgVENvdW50T3BlcmF0aW9uLFxuICAgIFRFbnRpdHlJZFxuICA+O1xuICBsaXN0QWN0aW9ucz86IHJlYWRvbmx5IEJhY2tvZmZpY2VMaXN0QWN0aW9uU3BlY1tdO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBpY2tlckZhY2V0Q29uZmlnPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBQaWNrZXJGcmFnbWVudERhdGEsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICBWYWx1ZVF1ZXJ5RGF0YSA9IEJhY2tvZmZpY2VBbGlhc2VkUGlja2VyVmFsdWVSZXNwb25zZTxzdHJpbmcsIFJvd1JlZj4sXG4+ID0ge1xuICBraW5kOiAncGlja2VyJztcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcGlja2VyOiBCYWNrb2ZmaWNlRW50aXR5UGlja2VyQ29uZmlnPFxuICAgIFRPcGVyYXRpb24sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgUGlja2VyRnJhZ21lbnREYXRhLFxuICAgIFRXaGVyZSxcbiAgICBWYWx1ZVF1ZXJ5RGF0YVxuICA+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VzU3BlYzxcbiAgTGF5b3V0VmlldyA9IHVua25vd24sXG4gIFBhZ2UgZXh0ZW5kcyBCYWNrb2ZmaWNlRGV0YWlsUGFnZVJvdXRlU3BlYzxMYXlvdXRWaWV3PiA9XG4gICAgQmFja29mZmljZURldGFpbFBhZ2VSb3V0ZVNwZWM8TGF5b3V0Vmlldz4sXG4+ID0ge1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICBoZWFkZXI6IEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJDb25maWc8TGF5b3V0Vmlldz47XG4gIG1haW5QYWdlOiBQYWdlO1xuICBzdWJQYWdlcz86IHJlYWRvbmx5IFBhZ2VbXTtcbiAgZGVmYXVsdFBhZ2VJZDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbExheW91dEZhY2V0Q29uZmlnPFxuICBMYXlvdXREYXRhID0gYW55LFxuICBMYXlvdXRWaWV3ID0gYW55LFxuICBMYXlvdXRRdWVyeURhdGEgPSB1bmtub3duLFxuICBMYXlvdXRGcmFnbWVudEtleSA9IHVua25vd24sXG4gIExheW91dFF1ZXJ5VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID0ge1xuICBraW5kOiAnZGV0YWlsLWxheW91dCc7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGhlYWRlcjogQmFja29mZmljZURldGFpbEhlYWRlckNvbmZpZzxMYXlvdXRWaWV3PjtcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgcmVsYXRpb25zPzogcmVhZG9ubHkgQmFja29mZmljZUVudGl0eVJlbGF0aW9uU3BlYzxMYXlvdXRWaWV3PltdO1xuICBsYXlvdXRQYWdlOiBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0U3BlYzxcbiAgICBMYXlvdXRWaWV3LFxuICAgIExheW91dERhdGEsXG4gICAgTGF5b3V0UXVlcnlEYXRhLFxuICAgIExheW91dEZyYWdtZW50S2V5LFxuICAgIExheW91dFF1ZXJ5VmFyaWFibGVzXG4gID47XG4gIHBhZ2VzOiBCYWNrb2ZmaWNlRGV0YWlsUGFnZXNTcGVjPExheW91dFZpZXc+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VGYWNldENvbmZpZzxcbiAgTGF5b3V0VmlldyA9IHVua25vd24sXG4gIERldGFpbERhdGEgPSBhbnksXG4gIERldGFpbFZpZXcgPSBhbnksXG4gIERldGFpbFF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIERldGFpbEZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgRGV0YWlsUXVlcnlWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSB7XG4gIGtpbmQ6ICdkZXRhaWwtcGFnZSc7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIGhlYWRlcjogQmFja29mZmljZURldGFpbEhlYWRlckNvbmZpZzxMYXlvdXRWaWV3PjtcbiAgcGFnZTogQmFja29mZmljZURldGFpbFBhZ2VTcGVjPFxuICAgIERldGFpbFZpZXcsXG4gICAgTGF5b3V0VmlldyxcbiAgICBEZXRhaWxEYXRhLFxuICAgIERldGFpbFF1ZXJ5RGF0YSxcbiAgICBEZXRhaWxGcmFnbWVudEtleSxcbiAgICBEZXRhaWxRdWVyeVZhcmlhYmxlc1xuICA+O1xuICBwYWdlczogQmFja29mZmljZURldGFpbFBhZ2VzU3BlYzxMYXlvdXRWaWV3Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sRmFjZXRDb25maWcgPSB7XG4gIGtpbmQ6ICd0b29sJztcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgdG9vbDogQmFja29mZmljZVRvb2xFbnRpdHlDb25maWc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5RmFjZXRDb25maWdCYXNlID1cbiAgfCBCYWNrb2ZmaWNlTGlzdEZhY2V0Q29uZmlnQmFzZVxuICB8IEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZ0Jhc2VcbiAgfCBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlXG4gIHwgQmFja29mZmljZURldGFpbFBhZ2VGYWNldENvbmZpZ0Jhc2VcbiAgfCBCYWNrb2ZmaWNlVG9vbEZhY2V0Q29uZmlnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTG9hZGVkTGlzdEZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAnbGlzdCc7XG4gIGlkOiBzdHJpbmc7XG4gIGNvbmZpZzogQmFja29mZmljZUxpc3RGYWNldENvbmZpZ0Jhc2U7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTG9hZGVkUGlja2VyRmFjZXRNb2R1bGUgPSB7XG4gIGtpbmQ6ICdwaWNrZXInO1xuICBpZDogc3RyaW5nO1xuICBjb25maWc6IEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZ0Jhc2U7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTG9hZGVkRGV0YWlsTGF5b3V0RmFjZXRNb2R1bGUgPSB7XG4gIGtpbmQ6ICdkZXRhaWwtbGF5b3V0JztcbiAgaWQ6IHN0cmluZztcbiAgY29uZmlnOiBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxvYWRlZERldGFpbFBhZ2VGYWNldE1vZHVsZSA9IHtcbiAga2luZDogJ2RldGFpbC1wYWdlJztcbiAgaWQ6IHN0cmluZztcbiAgcGFnZUlkOiBzdHJpbmc7XG4gIGNvbmZpZzogQmFja29mZmljZURldGFpbFBhZ2VGYWNldENvbmZpZ0Jhc2U7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTG9hZGVkVG9vbEZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAndG9vbCc7XG4gIGlkOiBzdHJpbmc7XG4gIGNvbmZpZzogQmFja29mZmljZVRvb2xGYWNldENvbmZpZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lT3BlcmF0aW9uID0gT3BlcmF0aW9uVHlwZSAmIHtcbiAgdmFyaWFibGVzOiB7XG4gICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbiAgICB3aGVyZT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICBzb3J0Pzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICBjb3VudD86IG51bWJlcjtcbiAgICBjdXJzb3I/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICB9O1xuICByZXNwb25zZTogdW5rbm93bjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lTGlzdEZhY2V0Q29uZmlnID0gQmFja29mZmljZUxpc3RGYWNldENvbmZpZzxcbiAgYW55LFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICBhbnlcbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lUGlja2VyRmFjZXRDb25maWcgPSBCYWNrb2ZmaWNlUGlja2VyRmFjZXRDb25maWc8XG4gIGFueSxcbiAgYW55LFxuICBhbnksXG4gIGFueSxcbiAgUmVjb3JkPHN0cmluZywgYW55PixcbiAgYW55XG4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTG9hZGVkRW50aXR5RmFjZXRNb2R1bGUgPVxuICB8IEJhY2tvZmZpY2VMb2FkZWRMaXN0RmFjZXRNb2R1bGVcbiAgfCBCYWNrb2ZmaWNlTG9hZGVkUGlja2VyRmFjZXRNb2R1bGVcbiAgfCBCYWNrb2ZmaWNlTG9hZGVkRGV0YWlsTGF5b3V0RmFjZXRNb2R1bGVcbiAgfCBCYWNrb2ZmaWNlTG9hZGVkRGV0YWlsUGFnZUZhY2V0TW9kdWxlXG4gIHwgQmFja29mZmljZUxvYWRlZFRvb2xGYWNldE1vZHVsZTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RGYWNldExvYWRlciA9XG4gICgpID0+IFByb21pc2U8QmFja29mZmljZUxvYWRlZExpc3RGYWNldE1vZHVsZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQaWNrZXJGYWNldExvYWRlciA9XG4gICgpID0+IFByb21pc2U8QmFja29mZmljZUxvYWRlZFBpY2tlckZhY2V0TW9kdWxlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbExheW91dEZhY2V0TG9hZGVyID1cbiAgKCkgPT4gUHJvbWlzZTxCYWNrb2ZmaWNlTG9hZGVkRGV0YWlsTGF5b3V0RmFjZXRNb2R1bGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsUGFnZUZhY2V0TG9hZGVyID0gKFxuICBwYWdlSWQ6IHN0cmluZyxcbikgPT4gUHJvbWlzZTxCYWNrb2ZmaWNlTG9hZGVkRGV0YWlsUGFnZUZhY2V0TW9kdWxlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRvb2xGYWNldExvYWRlciA9XG4gICgpID0+IFByb21pc2U8QmFja29mZmljZUxvYWRlZFRvb2xGYWNldE1vZHVsZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0RGV0YWlsRmFjZXRMb2FkZXJNYXAgPSB7XG4gIGxpc3Q/OiBCYWNrb2ZmaWNlTGlzdEZhY2V0TG9hZGVyO1xuICBwaWNrZXI/OiBCYWNrb2ZmaWNlUGlja2VyRmFjZXRMb2FkZXI7XG4gIGRldGFpbExheW91dDogQmFja29mZmljZURldGFpbExheW91dEZhY2V0TG9hZGVyO1xuICBkZXRhaWxQYWdlOiBCYWNrb2ZmaWNlRGV0YWlsUGFnZUZhY2V0TG9hZGVyO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3REZXRhaWxQaWNrZXJGYWNldExvYWRlck1hcCA9XG4gIEJhY2tvZmZpY2VMaXN0RGV0YWlsRmFjZXRMb2FkZXJNYXAgJiB7XG4gICAgcGlja2VyOiBCYWNrb2ZmaWNlUGlja2VyRmFjZXRMb2FkZXI7XG4gIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sRmFjZXRMb2FkZXJNYXAgPSB7XG4gIHRvb2w6IEJhY2tvZmZpY2VUb29sRmFjZXRMb2FkZXI7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5RmFjZXRMb2FkZXJNYXAgPVxuICBCYWNrb2ZmaWNlTGlzdERldGFpbEZhY2V0TG9hZGVyTWFwIHwgQmFja29mZmljZVRvb2xGYWNldExvYWRlck1hcDtcblxudHlwZSBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RCYXNlID0ge1xuICBpZDogc3RyaW5nO1xuICByb3V0ZVNlZ21lbnQ6IHN0cmluZztcbiAgZ3JvdXBJZD86IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgZGV0YWlsTGFiZWw/OiBJMThuTGFiZWw7XG4gIHJvdXRlczogQmFja29mZmljZUVudGl0eVJvdXRlTWFuaWZlc3Q7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdERldGFpbE1hbmlmZXN0SXRlbTxcbiAgV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBTb3J0IGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nLFxuICBTIGV4dGVuZHMgU2NoZW1hID0gU2NoZW1hLFxuPiA9IEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEJhc2UgJiB7XG4gIGtpbmQ6ICdsaXN0LWRldGFpbCc7XG4gIGRldGFpbFBhZ2VzOiBCYWNrb2ZmaWNlRGV0YWlsUGFnZU1hbmlmZXN0O1xuICBkZWZhdWx0RGV0YWlsUGFnZUlkOiBzdHJpbmc7XG59ICYgKFxuICAgIHwge1xuICAgICAgICBoYXNMaXN0OiB0cnVlO1xuICAgICAgICBsaXN0TmF2aWdhdGlvbjogQmFja29mZmljZUxpc3ROYXZpZ2F0aW9uPFdoZXJlLCBTb3J0LCBTPjtcbiAgICAgICAgZmFjZXRzOiBCYWNrb2ZmaWNlTGlzdERldGFpbEZhY2V0TG9hZGVyTWFwICYge1xuICAgICAgICAgIGxpc3Q6IEJhY2tvZmZpY2VMaXN0RmFjZXRMb2FkZXI7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIGhhc0xpc3Q6IGZhbHNlO1xuICAgICAgICBsaXN0TmF2aWdhdGlvbj86IG5ldmVyO1xuICAgICAgICBmYWNldHM6IE9taXQ8QmFja29mZmljZUxpc3REZXRhaWxGYWNldExvYWRlck1hcCwgJ2xpc3QnPiAmIHtcbiAgICAgICAgICBsaXN0PzogbmV2ZXI7XG4gICAgICAgIH07XG4gICAgICB9XG4gICk7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sTWFuaWZlc3RJdGVtID0gQmFja29mZmljZUVudGl0eU1hbmlmZXN0QmFzZSAmIHtcbiAga2luZDogJ3Rvb2wnO1xuICBoYXNMaXN0OiBmYWxzZTtcbiAgbGlzdE5hdmlnYXRpb24/OiBuZXZlcjtcbiAgZGV0YWlsUGFnZXM/OiBuZXZlcjtcbiAgZGVmYXVsdERldGFpbFBhZ2VJZD86IG5ldmVyO1xuICBmYWNldHM6IEJhY2tvZmZpY2VUb29sRmFjZXRMb2FkZXJNYXA7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtPFxuICBXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmcsXG4gIFMgZXh0ZW5kcyBTY2hlbWEgPSBTY2hlbWEsXG4+ID1cbiAgQmFja29mZmljZUxpc3REZXRhaWxNYW5pZmVzdEl0ZW08V2hlcmUsIFNvcnQsIFM+IHwgQmFja29mZmljZVRvb2xNYW5pZmVzdEl0ZW07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdE1hcCA9IFJlY29yZDxcbiAgc3RyaW5nLFxuICBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtXG4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+ID0gRXh0cmFjdDxcbiAga2V5b2YgVE1hbmlmZXN0LFxuICBzdHJpbmdcbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VNYW5pZmVzdExpc3RFbnRpdHlJZDxUTWFuaWZlc3Q+ID1cbiAgc3RyaW5nIGV4dGVuZHMgQmFja29mZmljZU1hbmlmZXN0RW50aXR5SWQ8VE1hbmlmZXN0PlxuICAgID8gc3RyaW5nXG4gICAgOiB7XG4gICAgICAgIFtcbiAgICAgICAgICBURW50aXR5SWQgaW4gQmFja29mZmljZU1hbmlmZXN0RW50aXR5SWQ8VE1hbmlmZXN0PlxuICAgICAgICBdOiBUTWFuaWZlc3RbVEVudGl0eUlkXSBleHRlbmRzIHtcbiAgICAgICAgICBraW5kOiAnbGlzdC1kZXRhaWwnO1xuICAgICAgICAgIGhhc0xpc3Q6IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgICA/IFRFbnRpdHlJZFxuICAgICAgICAgIDogbmV2ZXI7XG4gICAgICB9W0JhY2tvZmZpY2VNYW5pZmVzdEVudGl0eUlkPFRNYW5pZmVzdD5dO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTWFuaWZlc3RMaXN0U3RhdGVJbnB1dDxcbiAgVE1hbmlmZXN0LFxuICBURW50aXR5SWQgZXh0ZW5kcyBCYWNrb2ZmaWNlTWFuaWZlc3RMaXN0RW50aXR5SWQ8VE1hbmlmZXN0Pixcbj4gPVxuICBzdHJpbmcgZXh0ZW5kcyBCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XG4gICAgPyBCYWNrb2ZmaWNlTGlzdE5hdmlnYXRpb25TdGF0ZUlucHV0PFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBzdHJpbmc+XG4gICAgOiBURW50aXR5SWQgZXh0ZW5kcyBCYWNrb2ZmaWNlTWFuaWZlc3RMaXN0RW50aXR5SWQ8VE1hbmlmZXN0PlxuICAgICAgPyBUTWFuaWZlc3RbVEVudGl0eUlkXSBleHRlbmRzIHtcbiAgICAgICAgICBsaXN0TmF2aWdhdGlvbjoge1xuICAgICAgICAgICAgZGVmYXVsdHM6IEJhY2tvZmZpY2VMaXN0U3RhdGU8XG4gICAgICAgICAgICAgIGluZmVyIFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgICAgICAgIGluZmVyIFNvcnQgZXh0ZW5kcyBzdHJpbmdcbiAgICAgICAgICAgID47XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICA/IEJhY2tvZmZpY2VMaXN0TmF2aWdhdGlvblN0YXRlSW5wdXQ8V2hlcmUsIFNvcnQ+XG4gICAgICAgIDogbmV2ZXJcbiAgICAgIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VNYW5pZmVzdERldGFpbEVudGl0eUlkPFRNYW5pZmVzdD4gPVxuICBzdHJpbmcgZXh0ZW5kcyBCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XG4gICAgPyBzdHJpbmdcbiAgICA6IHtcbiAgICAgICAgW1xuICAgICAgICAgIFRFbnRpdHlJZCBpbiBCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XG4gICAgICAgIF06IFRNYW5pZmVzdFtURW50aXR5SWRdIGV4dGVuZHMge1xuICAgICAgICAgIGtpbmQ6ICdsaXN0LWRldGFpbCc7XG4gICAgICAgIH1cbiAgICAgICAgICA/IFRFbnRpdHlJZFxuICAgICAgICAgIDogbmV2ZXI7XG4gICAgICB9W0JhY2tvZmZpY2VNYW5pZmVzdEVudGl0eUlkPFRNYW5pZmVzdD5dO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTWFuaWZlc3RUb29sSWQ8VE1hbmlmZXN0PiA9XG4gIHN0cmluZyBleHRlbmRzIEJhY2tvZmZpY2VNYW5pZmVzdEVudGl0eUlkPFRNYW5pZmVzdD5cbiAgICA/IHN0cmluZ1xuICAgIDoge1xuICAgICAgICBbXG4gICAgICAgICAgVEVudGl0eUlkIGluIEJhY2tvZmZpY2VNYW5pZmVzdEVudGl0eUlkPFRNYW5pZmVzdD5cbiAgICAgICAgXTogVE1hbmlmZXN0W1RFbnRpdHlJZF0gZXh0ZW5kcyB7XG4gICAgICAgICAga2luZDogJ3Rvb2wnO1xuICAgICAgICB9XG4gICAgICAgICAgPyBURW50aXR5SWRcbiAgICAgICAgICA6IG5ldmVyO1xuICAgICAgfVtCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU1hbmlmZXN0RGV0YWlsUGFnZUlkPFxuICBUTWFuaWZlc3QsXG4gIFRFbnRpdHlJZCBleHRlbmRzIEJhY2tvZmZpY2VNYW5pZmVzdERldGFpbEVudGl0eUlkPFRNYW5pZmVzdD4sXG4+ID0gVE1hbmlmZXN0W1RFbnRpdHlJZF0gZXh0ZW5kcyB7XG4gIGRldGFpbFBhZ2VzOiByZWFkb25seSAoaW5mZXIgVFBhZ2UpW107XG59XG4gID8gVFBhZ2UgZXh0ZW5kcyB7IGlkOiBpbmZlciBUUGFnZUlkIH1cbiAgICA/IEV4dHJhY3Q8VFBhZ2VJZCwgc3RyaW5nPlxuICAgIDogc3RyaW5nXG4gIDogc3RyaW5nO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWRMaXN0RmFjZXRDb25maWc8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIExpc3RGcmFnbWVudERhdGEsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICBUU29ydCBleHRlbmRzIHN0cmluZyA9IEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24+LFxuICBUQ291bnRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlID0gYW55LFxuPiA9IEJhY2tvZmZpY2VMaXN0RmFjZXRDb25maWc8XG4gIFRPcGVyYXRpb24sXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgTGlzdEZyYWdtZW50RGF0YSxcbiAgVFdoZXJlLFxuICBUU29ydCxcbiAgVENvdW50T3BlcmF0aW9uXG4+ICYge1xuICByb3V0ZXM6IEJhY2tvZmZpY2VFbnRpdHlSb3V0ZXM7XG4gIGxpc3ROYXZpZ2F0aW9uOiBCYWNrb2ZmaWNlTGlzdE5hdmlnYXRpb248VFdoZXJlLCBUU29ydD47XG4gIGxpc3RVcmxDb2RlYzogQmFja29mZmljZUxpc3RVcmxDb2RlYzxUV2hlcmUsIFRTb3J0PjtcbiAgbGlzdERlZmF1bHRzOiBCYWNrb2ZmaWNlTGlzdFN0YXRlPFRXaGVyZSwgVFNvcnQ+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkUGlja2VyRmFjZXRDb25maWc8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIFBpY2tlckZyYWdtZW50RGF0YSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4+ID0gQmFja29mZmljZVBpY2tlckZhY2V0Q29uZmlnPFxuICBUT3BlcmF0aW9uLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIFBpY2tlckZyYWdtZW50RGF0YSxcbiAgVFdoZXJlXG4+ICYge1xuICByb3V0ZXM6IEJhY2tvZmZpY2VFbnRpdHlSb3V0ZXM7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxMYXlvdXRGYWNldENvbmZpZzxcbiAgTGF5b3V0UmVmID0gYW55LFxuICBMYXlvdXRWaWV3ID0gYW55LFxuICBMYXlvdXRRdWVyeURhdGEgPSB1bmtub3duLFxuICBMYXlvdXRGcmFnbWVudFJlZiA9IHVua25vd24sXG4gIExheW91dFF1ZXJ5VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID0gQmFja29mZmljZURldGFpbExheW91dEZhY2V0Q29uZmlnPFxuICBMYXlvdXRSZWYsXG4gIExheW91dFZpZXcsXG4gIExheW91dFF1ZXJ5RGF0YSxcbiAgTGF5b3V0RnJhZ21lbnRSZWYsXG4gIExheW91dFF1ZXJ5VmFyaWFibGVzXG4+ICYge1xuICByb3V0ZXM6IEJhY2tvZmZpY2VFbnRpdHlSb3V0ZXM7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxQYWdlRmFjZXRDb25maWc8XG4gIExheW91dFZpZXcgPSB1bmtub3duLFxuICBEZXRhaWxSZWYgPSBhbnksXG4gIERldGFpbFZpZXcgPSBhbnksXG4gIERldGFpbFF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIERldGFpbEZyYWdtZW50UmVmID0gdW5rbm93bixcbiAgRGV0YWlsUXVlcnlWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSBCYWNrb2ZmaWNlRGV0YWlsUGFnZUZhY2V0Q29uZmlnPFxuICBMYXlvdXRWaWV3LFxuICBEZXRhaWxSZWYsXG4gIERldGFpbFZpZXcsXG4gIERldGFpbFF1ZXJ5RGF0YSxcbiAgRGV0YWlsRnJhZ21lbnRSZWYsXG4gIERldGFpbFF1ZXJ5VmFyaWFibGVzXG4+ICYge1xuICByb3V0ZXM6IEJhY2tvZmZpY2VFbnRpdHlSb3V0ZXM7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWRUb29sRmFjZXRDb25maWcgPSBCYWNrb2ZmaWNlVG9vbEZhY2V0Q29uZmlnICYge1xuICByb3V0ZTogc3RyaW5nO1xuICByb3V0ZXM6IEJhY2tvZmZpY2VFbnRpdHlSb3V0ZXM7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWRFbnRpdHlGYWNldENvbmZpZ0Jhc2UgPVxuICB8IEJhY2tvZmZpY2VSZXNvbHZlZExpc3RGYWNldENvbmZpZ0Jhc2VcbiAgfCBCYWNrb2ZmaWNlUmVzb2x2ZWRQaWNrZXJGYWNldENvbmZpZ0Jhc2VcbiAgfCBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxMYXlvdXRGYWNldENvbmZpZ0Jhc2VcbiAgfCBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxQYWdlRmFjZXRDb25maWdCYXNlXG4gIHwgQmFja29mZmljZVJlc29sdmVkVG9vbEZhY2V0Q29uZmlnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWRMaXN0RmFjZXRNb2R1bGUgPSB7XG4gIGtpbmQ6ICdsaXN0JztcbiAgaWQ6IHN0cmluZztcbiAgbWFuaWZlc3Q6IEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW07XG4gIGNvbmZpZzogQmFja29mZmljZVJlc29sdmVkTGlzdEZhY2V0Q29uZmlnQmFzZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZFBpY2tlckZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAncGlja2VyJztcbiAgaWQ6IHN0cmluZztcbiAgbWFuaWZlc3Q6IEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW07XG4gIGNvbmZpZzogQmFja29mZmljZVJlc29sdmVkUGlja2VyRmFjZXRDb25maWdCYXNlO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkRGV0YWlsTGF5b3V0RmFjZXRNb2R1bGUgPSB7XG4gIGtpbmQ6ICdkZXRhaWwtbGF5b3V0JztcbiAgaWQ6IHN0cmluZztcbiAgbWFuaWZlc3Q6IEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW07XG4gIGNvbmZpZzogQmFja29mZmljZVJlc29sdmVkRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkRGV0YWlsUGFnZUZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAnZGV0YWlsLXBhZ2UnO1xuICBpZDogc3RyaW5nO1xuICBwYWdlSWQ6IHN0cmluZztcbiAgbWFuaWZlc3Q6IEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW07XG4gIGNvbmZpZzogQmFja29mZmljZVJlc29sdmVkRGV0YWlsUGFnZUZhY2V0Q29uZmlnQmFzZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZFRvb2xGYWNldE1vZHVsZSA9IHtcbiAga2luZDogJ3Rvb2wnO1xuICBpZDogc3RyaW5nO1xuICBtYW5pZmVzdDogQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbTtcbiAgY29uZmlnOiBCYWNrb2ZmaWNlUmVzb2x2ZWRUb29sRmFjZXRDb25maWc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWRFbnRpdHlGYWNldE1vZHVsZSA9XG4gIHwgQmFja29mZmljZVJlc29sdmVkTGlzdEZhY2V0TW9kdWxlXG4gIHwgQmFja29mZmljZVJlc29sdmVkUGlja2VyRmFjZXRNb2R1bGVcbiAgfCBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxMYXlvdXRGYWNldE1vZHVsZVxuICB8IEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbFBhZ2VGYWNldE1vZHVsZVxuICB8IEJhY2tvZmZpY2VSZXNvbHZlZFRvb2xGYWNldE1vZHVsZTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RGYWNldENvbmZpZ0Jhc2UgPSBCYWNrb2ZmaWNlUnVudGltZUxpc3RGYWNldENvbmZpZztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBpY2tlckZhY2V0Q29uZmlnQmFzZSA9XG4gIEJhY2tvZmZpY2VSdW50aW1lUGlja2VyRmFjZXRDb25maWc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRGYWNldENvbmZpZ0Jhc2UgPVxuICBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRDb25maWc8YW55LCBhbnksIGFueSwgYW55LCBhbnk+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsUGFnZUZhY2V0Q29uZmlnQmFzZSA9XG4gIEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRDb25maWc8YW55LCBhbnksIGFueSwgYW55LCBhbnksIGFueT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZExpc3RGYWNldENvbmZpZ0Jhc2UgPVxuICBCYWNrb2ZmaWNlUmVzb2x2ZWRMaXN0RmFjZXRDb25maWc8XG4gICAgYW55LFxuICAgIGFueSxcbiAgICBhbnksXG4gICAgYW55LFxuICAgIFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgYW55XG4gID47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZFBpY2tlckZhY2V0Q29uZmlnQmFzZSA9XG4gIEJhY2tvZmZpY2VSZXNvbHZlZFBpY2tlckZhY2V0Q29uZmlnPGFueSwgYW55LCBhbnksIGFueSwgUmVjb3JkPHN0cmluZywgYW55Pj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbExheW91dEZhY2V0Q29uZmlnQmFzZSA9XG4gIEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbExheW91dEZhY2V0Q29uZmlnPGFueSwgYW55LCBhbnksIGFueSwgYW55PjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkRGV0YWlsUGFnZUZhY2V0Q29uZmlnQmFzZSA9XG4gIEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbFBhZ2VGYWNldENvbmZpZzxhbnksIGFueSwgYW55LCBhbnksIGFueSwgYW55PjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJ1bnRpbWVSZXNvbHZlZExpc3RGYWNldENvbmZpZyA9XG4gIEJhY2tvZmZpY2VSZXNvbHZlZExpc3RGYWNldENvbmZpZ0Jhc2U7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lUmVzb2x2ZWRQaWNrZXJGYWNldENvbmZpZyA9XG4gIEJhY2tvZmZpY2VSZXNvbHZlZFBpY2tlckZhY2V0Q29uZmlnQmFzZTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJ1bnRpbWVDb25uZWN0aW9uTGlzdENvbmZpZyA9XG4gIEJhY2tvZmZpY2VDb25uZWN0aW9uTGlzdENvbmZpZzxhbnksIGFueSwgYW55LCBhbnksIFJlY29yZDxzdHJpbmcsIGFueT4sIGFueT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lRW50aXR5TGlzdENvbmZpZyA9IEJhY2tvZmZpY2VFbnRpdHlMaXN0Q29uZmlnPFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBhbnksXG4gIFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIGFueVxuPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJ1bnRpbWVFbnRpdHlQaWNrZXJDb25maWcgPSBCYWNrb2ZmaWNlRW50aXR5UGlja2VyQ29uZmlnPFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBhbnksXG4gIFJlY29yZDxzdHJpbmcsIGFueT5cbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlGYWNldE1vZHVsZUNhY2hlRW50cnkgPSB7XG4gIHN0YXR1czogQmFja29mZmljZUVudGl0eU1vZHVsZVN0YXR1cztcbiAgcHJvbWlzZT86IFByb21pc2U8QmFja29mZmljZVJlc29sdmVkRW50aXR5RmFjZXRNb2R1bGU+O1xuICBtb2R1bGU/OiBCYWNrb2ZmaWNlUmVzb2x2ZWRFbnRpdHlGYWNldE1vZHVsZTtcbiAgZXJyb3I/OiBFcnJvcjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sVmFyaWFibGVzQ29udGV4dCA9IHtcbiAgc2NvcGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBydW46IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY2xhc3MgQmFja29mZmljZVRvb2xWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHB1YmxpYyBsYWJlbDogSTE4bkxhYmVsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihsYWJlbDogSTE4bkxhYmVsKSB7XG4gICAgc3VwZXIoJ0JhY2tvZmZpY2UgdG9vbCB2YWxpZGF0aW9uIGVycm9yJyk7XG4gICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sT3BlcmF0aW9uID0ge1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICBzdWJ0aXRsZT86IEkxOG5MYWJlbDtcbiAgaW5wdXRUeXBlU0RMPzogc3RyaW5nO1xuICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIGlucHV0cz86IHJlYWRvbmx5IEJhY2tvZmZpY2VUb29sSW5wdXRTcGVjW107XG4gIG91dHB1dHM/OiByZWFkb25seSBCYWNrb2ZmaWNlVG9vbE91dHB1dFNwZWNbXTtcbiAgcmVuZGVyPzogKGRhdGE6IHVua25vd24pID0+IHVua25vd247XG4gIHNob3dQcm9qZWN0UGlja2VyPzogYm9vbGVhbjtcbiAgYnVpbGRWYXJpYWJsZXM/OiAoXG4gICAgaW5wdXQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgIGNvbnRleHQ6IEJhY2tvZmZpY2VUb29sVmFyaWFibGVzQ29udGV4dCxcbiAgKSA9PiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sSW5wdXRTcGVjID1cbiAgfCB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAga2luZDogJ3RleHQnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHBsYWNlaG9sZGVyPzogSTE4bkxhYmVsO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAga2luZDogJ2pzb24nO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHBsYWNlaG9sZGVyPzogSTE4bkxhYmVsO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAga2luZDogJ2VudW0nO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIG9wdGlvbnM6IHJlYWRvbmx5IHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IEkxOG5MYWJlbCB9W107XG4gICAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBraW5kOiAnYm9vbGVhbic7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgZGVmYXVsdFZhbHVlPzogYm9vbGVhbjtcbiAgICB9XG4gIHwge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGtpbmQ6ICdlbnRpdHlJZCc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgZW50aXR5OiBzdHJpbmc7XG4gICAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRvb2xPdXRwdXRTcGVjID1cbiAgfCB7XG4gICAgICBraW5kOiAndGFibGUnO1xuICAgICAgbGFiZWw/OiBJMThuTGFiZWw7XG4gICAgICBkZXNjcmlwdGlvbj86IEkxOG5MYWJlbDtcbiAgICAgIGNvbHVtbnM6IHJlYWRvbmx5IEJhY2tvZmZpY2VDb2x1bW5TcGVjW107XG4gICAgICByb3dzOiAoZGF0YTogdW5rbm93bikgPT4gcmVhZG9ubHkgdW5rbm93bltdO1xuICAgIH1cbiAgfCB7XG4gICAgICBraW5kOiAnY29kZSc7XG4gICAgICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgICAgIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICAgICAgdmFsdWU6IChkYXRhOiB1bmtub3duKSA9PiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIGtpbmQ6ICdqc29uJztcbiAgICAgIGxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gICAgICB2YWx1ZTogKGRhdGE6IHVua25vd24pID0+IHVua25vd247XG4gICAgfVxuICB8IHtcbiAgICAgIGtpbmQ6ICdrZXlWYWx1ZSc7XG4gICAgICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgICAgIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICAgICAgaXRlbXM6IHJlYWRvbmx5IHtcbiAgICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgICAgdmFsdWU6IChkYXRhOiB1bmtub3duKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbDtcbiAgICAgIH1bXTtcbiAgICB9XG4gIHwge1xuICAgICAga2luZDogJ3BheWxvYWQnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICAgICAgdmFsdWU6IChkYXRhOiB1bmtub3duKSA9PiB1bmtub3duO1xuICAgICAgZm9ybWF0PzogJ21hcmtkb3duJyB8ICdqc29uJyB8ICd0ZXh0JztcbiAgICB9XG4gIHwge1xuICAgICAga2luZDogJ2N1c3RvbSc7XG4gICAgICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgICAgIHJlbmRlcjogKGRhdGE6IHVua25vd24pID0+IHVua25vd247XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUNvbm5lY3Rpb248Um93PiA9IHtcbiAgZWRnZXM6IHJlYWRvbmx5IHsgbm9kZTogUm93IH1bXTtcbiAgdG90YWxDb3VudD86IG51bWJlciB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdERlZmF1bHRzPFdoZXJlLCBTb3J0IGV4dGVuZHMgc3RyaW5nPiA9IHtcbiAgd2hlcmU6IFdoZXJlIHwgbnVsbDtcbiAgc29ydDogU29ydCB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUHJlcGFyZWRMaXN0U2hlbGxSb3V0ZSA9IHtcbiAgZW50aXR5SWQ6IHN0cmluZztcbiAgZW50aXR5TWFuaWZlc3Q6IEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW07XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUHJlcGFyZWRMaXN0TGF5b3V0Um91dGUgPVxuICBCYWNrb2ZmaWNlUHJlcGFyZWRMaXN0U2hlbGxSb3V0ZSAmIHtcbiAgICBlbnRpdHlDb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZExpc3RGYWNldENvbmZpZ0Jhc2U7XG4gIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQcmVwYXJlZExpc3REYXRhUm91dGUgPVxuICBCYWNrb2ZmaWNlUHJlcGFyZWRMaXN0TGF5b3V0Um91dGUgJiB7XG4gICAgcXVlcnk6IFByZWxvYWRlZFF1ZXJ5PE9wZXJhdGlvblR5cGU+O1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUHJlcGFyZWREZXRhaWxGcmFtZVJvdXRlID0ge1xuICBlbnRpdHlJZDogc3RyaW5nO1xuICBlbnRpdHlNYW5pZmVzdDogQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbTtcbiAgaWQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQcmVwYXJlZERldGFpbFNoZWxsUm91dGUgPVxuICBCYWNrb2ZmaWNlUHJlcGFyZWREZXRhaWxGcmFtZVJvdXRlICYge1xuICAgIHBhZ2VJZDogc3RyaW5nIHwgbnVsbDtcbiAgICBwYWdlUGF0aDogc3RyaW5nIHwgbnVsbDtcbiAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVByZXBhcmVkRGV0YWlsTGF5b3V0RGF0YVJvdXRlID0ge1xuICBlbnRpdHlJZDogc3RyaW5nO1xuICBlbnRpdHlNYW5pZmVzdDogQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbTtcbiAgZW50aXR5Q29uZmlnOiBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxMYXlvdXRGYWNldENvbmZpZ0Jhc2U7XG4gIGlkOiBzdHJpbmc7XG4gIGxheW91dFF1ZXJ5OiBQcmVsb2FkZWRRdWVyeTxPcGVyYXRpb25UeXBlPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQcmVwYXJlZERldGFpbFBhZ2VDb25maWdSb3V0ZSA9IHtcbiAgZW50aXR5SWQ6IHN0cmluZztcbiAgZW50aXR5TWFuaWZlc3Q6IEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW07XG4gIGVudGl0eUNvbmZpZzogQmFja29mZmljZVJlc29sdmVkRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlO1xuICBpZDogc3RyaW5nO1xuICBwYWdlSWQ6IHN0cmluZztcbiAgcGFnZVBhdGg6IHN0cmluZztcbiAgcGFnZUNvbmZpZzogQmFja29mZmljZVJlc29sdmVkRGV0YWlsUGFnZUZhY2V0Q29uZmlnQmFzZTtcbiAgZGV0YWlsSWQ/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUHJlcGFyZWREZXRhaWxQYWdlRGF0YVJvdXRlID0gT21pdDxcbiAgQmFja29mZmljZVByZXBhcmVkRGV0YWlsUGFnZUNvbmZpZ1JvdXRlLFxuICAnZW50aXR5Q29uZmlnJ1xuPiAmIHtcbiAgcGFnZVF1ZXJ5OiBQcmVsb2FkZWRRdWVyeTxPcGVyYXRpb25UeXBlPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQcmVwYXJlZERldGFpbFVua25vd25QYWdlUm91dGUgPSB7XG4gIGVudGl0eUlkOiBzdHJpbmc7XG4gIGVudGl0eU1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBlbnRpdHlDb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbExheW91dEZhY2V0Q29uZmlnQmFzZTtcbiAgaWQ6IHN0cmluZztcbiAgcGFnZVBhdGg6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQcmVwYXJlZFRvb2xSb3V0ZSA9IHtcbiAgZW50aXR5SWQ6IHN0cmluZztcbiAgZW50aXR5TWFuaWZlc3Q6IEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW07XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUHJlcGFyZWRUb29sQ29uZmlnUm91dGUgPSBCYWNrb2ZmaWNlUHJlcGFyZWRUb29sUm91dGUgJiB7XG4gIGVudGl0eUNvbmZpZzogQmFja29mZmljZVJlc29sdmVkVG9vbEZhY2V0Q29uZmlnO1xufTtcbiJdfQ==
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcTRFQSxNQUFNLE9BQU8sNkJBQThCLFNBQVEsS0FBSztJQUMvQyxLQUFLLENBQVk7SUFFeEIsWUFBbUIsS0FBZ0I7UUFDakMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IFRGdW5jdGlvbiB9IGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IHR5cGUgeyBQcmVsb2FkZWRRdWVyeSB9IGZyb20gJ3JlYWN0LXJlbGF5JztcbmltcG9ydCB0eXBlIHtcbiAgR3JhcGhRTFRhZ2dlZE5vZGUsXG4gIE9wZXJhdGlvblR5cGUsXG4gIFJlY29yZFNvdXJjZVNlbGVjdG9yUHJveHksXG59IGZyb20gJ3JlbGF5LXJ1bnRpbWUnO1xuaW1wb3J0IHR5cGUgeyBJbmZlckZpbHRlcnMsIFNjaGVtYSB9IGZyb20gJ0BwbHVtaWxlL2ZpbHRlci1xdWVyeS90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IEJhY2tvZmZpY2VGaWx0ZXJTY2hlbWEgfSBmcm9tICcuL2ZpbHRlcnMvc2NoZW1hLmpzJztcbmltcG9ydCB0eXBlIHsgQkFDS09GRklDRV9FTlRJVFlfRkFDRVRfS0lORFMgfSBmcm9tICcuL2NvbnN0YW50cy5qcyc7XG5pbXBvcnQgdHlwZSB7IEJhY2tvZmZpY2VFcmFzZWRWYWx1ZSB9IGZyb20gJy4vcnVudGltZUVyYXN1cmUuanMnO1xuXG5leHBvcnQgdHlwZSBJMThuTGFiZWwgPSAodDogVEZ1bmN0aW9uKSA9PiBzdHJpbmc7XG5cbnR5cGUgQml2YXJpYW50Q2FsbGJhY2s8Rm4+ID0gRm4gZXh0ZW5kcyAoLi4uYXJnczogaW5mZXIgQSkgPT4gaW5mZXIgUlxuICA/IHsgYml2YXJpYW5jZUhhY2s6ICguLi5hcmdzOiBBKSA9PiBSIH1bJ2JpdmFyaWFuY2VIYWNrJ11cbiAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUFjdGlvblJlbmRlck5vZGUgPSBFeGNsdWRlPFJlYWN0Tm9kZSwgUHJvbWlzZTx1bmtub3duPj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VWYWx1ZUxhYmVsID0gc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB8IEkxOG5MYWJlbDtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUJhZGdlVG9uZSA9XG4gICduZXV0cmFsJyB8ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTnVtYmVyRm9ybWF0ID0gJ251bWJlcicgfCAnY3VycmVuY3knIHwgJ3BlcmNlbnQnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRmllbGRTaXplID1cbiAgJ3hzJyB8ICdzJyB8ICdzdGF0dXNBY3Rpb24nIHwgJ20nIHwgJ2wnIHwgJ3hsJyB8ICdmbHVpZCc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBY3Rpb25WYXJpYW50ID1cbiAgfCAncHJpbWFyeSdcbiAgfCAnc2Vjb25kYXJ5J1xuICB8ICd0ZXh0J1xuICB8ICdzdWNjZXNzJ1xuICB8ICdkYW5nZXInXG4gIHwgJ2JyYW5kJ1xuICB8ICdicmFuZEdob3N0J1xuICB8ICd0YWInXG4gIHwgJ2ljb24nO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQWN0aW9uU2l6ZSA9ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBY3Rpb25Ub2FzdFZpZXdTcGVjPFxuICBOb2RlID0gdW5rbm93bixcbiAgUmVzcG9uc2UgPSB1bmtub3duLFxuPiA9IHtcbiAgZW50aXR5SWQ6IHN0cmluZztcbiAgZ2V0VGFyZ2V0SWQ6IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChyZXNwb25zZTogUmVzcG9uc2UsIG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGxcbiAgPjtcbiAgbGFiZWw/OiBJMThuTGFiZWw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQWN0aW9uVG9hc3RTcGVjPE5vZGUgPSB1bmtub3duLCBSZXNwb25zZSA9IHVua25vd24+ID0ge1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICBtZXNzYWdlPzogSTE4bkxhYmVsO1xuICB2aWV3PzogQmFja29mZmljZUFjdGlvblRvYXN0Vmlld1NwZWM8Tm9kZSwgUmVzcG9uc2U+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUFjdGlvbkJhc2U8Tm9kZT4gPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGFyaWFMYWJlbD86IEkxOG5MYWJlbDtcbiAgdmFyaWFudD86IEJhY2tvZmZpY2VBY3Rpb25WYXJpYW50O1xuICBzaXplPzogQmFja29mZmljZUFjdGlvblNpemU7XG4gIGlzVmlzaWJsZT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBib29sZWFuPjtcbiAgaXNEaXNhYmxlZD86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBib29sZWFuPjtcbn07XG5cbnR5cGUgQmFja29mZmljZUVudGl0eUFjdGlvbkZvcm1GaWVsZEJhc2UgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUFjdGlvbkZvcm1GaWVsZFNwZWMgPVxuICB8IChCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkQmFzZSAmIHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBraW5kOiAndGV4dCc7XG4gICAgICBwbGFjZWhvbGRlcj86IEkxOG5MYWJlbDtcbiAgICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkQmFzZSAmIHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBraW5kOiAndGV4dGFyZWEnO1xuICAgICAgcGxhY2Vob2xkZXI/OiBJMThuTGFiZWw7XG4gICAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gICAgICByb3dzPzogbnVtYmVyO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAga2luZDogJ251bWJlcic7XG4gICAgICBwbGFjZWhvbGRlcj86IEkxOG5MYWJlbDtcbiAgICAgIGRlZmF1bHRWYWx1ZT86IG51bWJlcjtcbiAgICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkQmFzZSAmIHtcbiAgICAgIGtpbmQ6ICdqc29uJztcbiAgICAgIHBsYWNlaG9sZGVyPzogSTE4bkxhYmVsO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgICAganNvblR5cGU/OiAnb2JqZWN0JyB8ICdhcnJheScgfCAnYW55JztcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkQmFzZSAmIHtcbiAgICAgIGtpbmQ6ICdlbnVtJztcbiAgICAgIG9wdGlvbnM6IHJlYWRvbmx5IHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IEkxOG5MYWJlbCB9W107XG4gICAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUVudGl0eUFjdGlvbkZvcm1GaWVsZEJhc2UgJiB7XG4gICAgICBraW5kOiAnYm9vbGVhbic7XG4gICAgICBkZWZhdWx0VmFsdWU/OiBib29sZWFuO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAga2luZDogJ2VudGl0eUlkJztcbiAgICAgIGVudGl0eTogc3RyaW5nO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAga2luZDogJ211bHRpRW51bSc7XG4gICAgICBvcHRpb25zOiByZWFkb25seSB7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBJMThuTGFiZWwgfVtdO1xuICAgICAgZGVmYXVsdFZhbHVlPzogcmVhZG9ubHkgc3RyaW5nW107XG4gICAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gICAgfSk7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25SZXN1bHRTcGVjPE5vZGUsIFJlc3BvbnNlID0gdW5rbm93bj4gPSB7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGdldFZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAocmVzcG9uc2U6IFJlc3BvbnNlLCBub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsXG4gID47XG4gIHJlbmRlcj86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChyZXNwb25zZTogUmVzcG9uc2UsIG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VBY3Rpb25SZW5kZXJOb2RlIHwgbnVsbFxuICA+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUFjdGlvblVwZGF0ZXI8Tm9kZT4gPSBCaXZhcmlhbnRDYWxsYmFjazxcbiAgKHN0b3JlOiBSZWNvcmRTb3VyY2VTZWxlY3RvclByb3h5LCBub2RlOiBOb2RlKSA9PiB2b2lkXG4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5TXV0YXRpb25BY3Rpb25TcGVjPFxuICBOb2RlLFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbj4gPSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uQmFzZTxOb2RlPiAmIHtcbiAga2luZDogJ211dGF0aW9uJztcbiAgcmVsYXlPcGVyYXRpb25Cb3VuZDogdHJ1ZTtcbiAgbXV0YXRpb246IEdyYXBoUUxUYWdnZWROb2RlO1xuICBnZXRWYXJpYWJsZXM6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXT47XG4gIHVwZGF0ZXI/OiBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uVXBkYXRlcjxOb2RlPjtcbiAgbWFwRXJyb3JSZWFzb24/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAocmVhc29uOiBzdHJpbmcsIG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsXG4gID47XG4gIG9uQ29tcGxldGVkPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKHJlc3BvbnNlOiBUT3BlcmF0aW9uWydyZXNwb25zZSddLCBub2RlOiBOb2RlKSA9PiB2b2lkXG4gID47XG4gIG9uRXJyb3I/OiBCaXZhcmlhbnRDYWxsYmFjazwoZXJyb3I6IEVycm9yLCBub2RlOiBOb2RlKSA9PiB2b2lkPjtcbiAgdG9hc3RzPzoge1xuICAgIHN1Y2Nlc3M/OiBCYWNrb2ZmaWNlQWN0aW9uVG9hc3RTcGVjPE5vZGUsIFRPcGVyYXRpb25bJ3Jlc3BvbnNlJ10+O1xuICAgIGVycm9yPzogQmFja29mZmljZUFjdGlvblRvYXN0U3BlYzxOb2RlLCBUT3BlcmF0aW9uWydyZXNwb25zZSddPjtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlGb3JtTXV0YXRpb25BY3Rpb25TcGVjPFxuICBOb2RlLFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgRm9ybVZhbHVlcyBleHRlbmRzIG9iamVjdCxcbiAgSW5pdGlhbFZhbHVlcyBleHRlbmRzIG9iamVjdCA9IFBhcnRpYWw8Rm9ybVZhbHVlcz4sXG4+ID0gQmFja29mZmljZUVudGl0eUFjdGlvbkJhc2U8Tm9kZT4gJiB7XG4gIGtpbmQ6ICdmb3JtTXV0YXRpb24nO1xuICByZWxheU9wZXJhdGlvbkJvdW5kOiB0cnVlO1xuICBtdXRhdGlvbjogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIGZpZWxkczogcmVhZG9ubHkgQmFja29mZmljZUVudGl0eUFjdGlvbkZvcm1GaWVsZFNwZWNbXTtcbiAgZ2V0VmFyaWFibGVzOiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSwgdmFsdWVzOiBGb3JtVmFsdWVzKSA9PiBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXVxuICA+O1xuICB1cGRhdGVyPzogQmFja29mZmljZUVudGl0eUFjdGlvblVwZGF0ZXI8Tm9kZT47XG4gIGdldEluaXRpYWxWYWx1ZXM/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gSW5pdGlhbFZhbHVlcz47XG4gIG1hcEVycm9yUmVhc29uPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKHJlYXNvbjogc3RyaW5nLCBub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbFxuICA+O1xuICBvbkNvbXBsZXRlZD86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChyZXNwb25zZTogVE9wZXJhdGlvblsncmVzcG9uc2UnXSwgbm9kZTogTm9kZSkgPT4gdm9pZFxuICA+O1xuICBvbkVycm9yPzogQml2YXJpYW50Q2FsbGJhY2s8KGVycm9yOiBFcnJvciwgbm9kZTogTm9kZSkgPT4gdm9pZD47XG4gIHRvYXN0cz86IHtcbiAgICBzdWNjZXNzPzogQmFja29mZmljZUFjdGlvblRvYXN0U3BlYzxOb2RlLCBUT3BlcmF0aW9uWydyZXNwb25zZSddPjtcbiAgICBlcnJvcj86IEJhY2tvZmZpY2VBY3Rpb25Ub2FzdFNwZWM8Tm9kZSwgVE9wZXJhdGlvblsncmVzcG9uc2UnXT47XG4gIH07XG4gIHJlc3VsdD86IEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25SZXN1bHRTcGVjPE5vZGUsIFRPcGVyYXRpb25bJ3Jlc3BvbnNlJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eVJvdXRlQWN0aW9uU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25CYXNlPE5vZGU+ICYge1xuICAgIGtpbmQ6ICdyb3V0ZSc7XG4gICAgdG86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmc+O1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZUVudGl0eU11dGF0aW9uQWN0aW9uU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VFbnRpdHlNdXRhdGlvbkFjdGlvblNwZWM8Tm9kZSwgQmFja29mZmljZUVyYXNlZFZhbHVlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJ1bnRpbWVFbnRpdHlGb3JtTXV0YXRpb25BY3Rpb25TcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZUVudGl0eUZvcm1NdXRhdGlvbkFjdGlvblNwZWM8XG4gICAgTm9kZSxcbiAgICBCYWNrb2ZmaWNlRXJhc2VkVmFsdWUsXG4gICAgQmFja29mZmljZUVyYXNlZFZhbHVlLFxuICAgIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZVxuICA+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uU3BlYzxOb2RlPiA9XG4gIHwgQmFja29mZmljZVJ1bnRpbWVFbnRpdHlNdXRhdGlvbkFjdGlvblNwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlUnVudGltZUVudGl0eUZvcm1NdXRhdGlvbkFjdGlvblNwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlRW50aXR5Um91dGVBY3Rpb25TcGVjPE5vZGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdEFjdGlvblNwZWMgPSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uU3BlYzxudWxsPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUtpbmQgPSAnbGlzdC1kZXRhaWwnIHwgJ3Rvb2wnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RLaW5kID0gJ2xpc3QtZGV0YWlsJyB8ICd0b29sJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUZhY2V0S2luZCA9XG4gICh0eXBlb2YgQkFDS09GRklDRV9FTlRJVFlfRkFDRVRfS0lORFMpW251bWJlcl07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlNb2R1bGVTdGF0dXMgPVxuICAnaWRsZScgfCAnbG9hZGluZycgfCAnbG9hZGVkJyB8ICdlcnJvcic7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlMb2FkTW9kZSA9ICdjYWNoZS1maXJzdCcgfCAncmVsb2FkJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUNvbmZpZ0FjY2Vzc0tpbmQgPVxuICAnbWFuaWZlc3Qtb25seScgfCAnbG9hZGVkLWNvbmZpZy1yZXF1aXJlZCc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0U3RhdGU8V2hlcmUsIFNvcnQgZXh0ZW5kcyBzdHJpbmc+ID0ge1xuICB3aGVyZTogV2hlcmUgfCBudWxsO1xuICBzb3J0OiBTb3J0IHwgbnVsbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0TmF2aWdhdGlvblF1ZXJ5PFNvcnQgZXh0ZW5kcyBzdHJpbmc+ID0ge1xuICBzb3J0PzogU29ydDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0TmF2aWdhdGlvblBhcmFtczxcbiAgUyBleHRlbmRzIFNjaGVtYSxcbiAgU29ydCBleHRlbmRzIHN0cmluZyxcbj4gPSB7XG4gIGZpbHRlcnM/OiBJbmZlckZpbHRlcnM8Uz47XG4gIHF1ZXJ5PzogQmFja29mZmljZUxpc3ROYXZpZ2F0aW9uUXVlcnk8U29ydD47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdE5hdmlnYXRpb25TdGF0ZUlucHV0PFxuICBXaGVyZSxcbiAgU29ydCBleHRlbmRzIHN0cmluZyxcbj4gPSBQYXJ0aWFsPEJhY2tvZmZpY2VMaXN0U3RhdGU8V2hlcmUsIFNvcnQ+PjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3ROYXZpZ2F0aW9uRW5jb2RlZDxcbiAgUyBleHRlbmRzIFNjaGVtYSxcbiAgU29ydCBleHRlbmRzIHN0cmluZyxcbj4gPSB7XG4gIGZpbHRlcnM6IEluZmVyRmlsdGVyczxTPjtcbiAgcXVlcnk6IEJhY2tvZmZpY2VMaXN0TmF2aWdhdGlvblF1ZXJ5PFNvcnQ+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3ROYXZpZ2F0aW9uPFxuICBXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBTb3J0IGV4dGVuZHMgc3RyaW5nLFxuICBTIGV4dGVuZHMgU2NoZW1hID0gU2NoZW1hLFxuPiA9IHtcbiAgcmVhZG9ubHkga2luZDogJ2xpc3QtbmF2aWdhdGlvbic7XG4gIC8qKiBEZXN0aW5hdGlvbiByb3V0ZSBzY2hlbWEgY29uc3VtZWQgYnkgQHBsdW1pbGUvcm91dGVyLiAqL1xuICBxdWVyeVNjaGVtYTogUztcbiAgLyoqIFN0YXRlIHVzZWQgZm9yIHZhbHVlcyBvbWl0dGVkIGJ5IGVuY29kZSgpIGFuZCBkZWNvZGUoKS4gKi9cbiAgZGVmYXVsdHM6IEJhY2tvZmZpY2VMaXN0U3RhdGU8V2hlcmUsIFNvcnQ+O1xuICAvKiogU29ydCB2YWx1ZXMgYWNjZXB0ZWQgd2hlbiBkZWNvZGluZyB1bnRydXN0ZWQgcm91dGUgaW5wdXQuICovXG4gIHNvcnRJZHM6IHJlYWRvbmx5IFNvcnRbXTtcbiAgLyoqIENvbnZlcnRzIEdyYXBoUUwgbGlzdCBzdGF0ZSBpbnRvIHN0cnVjdHVyZWQgcm91dGVyIGZpbHRlcnMgYW5kIHF1ZXJ5LiAqL1xuICAvLyBNZXRob2Qgc3ludGF4IGludGVudGlvbmFsbHkga2VlcHMgaGV0ZXJvZ2VuZW91cyBtYW5pZmVzdCBjb2xsZWN0aW9uc1xuICAvLyBhc3NpZ25hYmxlIHdoaWxlIGNvbmNyZXRlIG1hbmlmZXN0cyByZXRhaW4gdGhlaXIgZXhhY3Qgc3RhdGUgdHlwZS5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZXRob2Qtc2lnbmF0dXJlLXN0eWxlXG4gIGVuY29kZShcbiAgICBzdGF0ZTogQmFja29mZmljZUxpc3ROYXZpZ2F0aW9uU3RhdGVJbnB1dDxXaGVyZSwgU29ydD4sXG4gICk6IEJhY2tvZmZpY2VMaXN0TmF2aWdhdGlvbkVuY29kZWQ8UywgU29ydD47XG4gIC8qKiBDb252ZXJ0cyBzdHJ1Y3R1cmVkIHJvdXRlciBmaWx0ZXJzIGFuZCBxdWVyeSBpbnRvIEdyYXBoUUwgbGlzdCBzdGF0ZS4gKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZXRob2Qtc2lnbmF0dXJlLXN0eWxlXG4gIGRlY29kZShcbiAgICBwYXJhbXM6IEJhY2tvZmZpY2VMaXN0TmF2aWdhdGlvblBhcmFtczxTLCBTb3J0PixcbiAgKTogQmFja29mZmljZUxpc3RTdGF0ZTxXaGVyZSwgU29ydD47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdE5hdmlnYXRpb25PcHRpb25zPFxuICBXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBTb3J0IGV4dGVuZHMgc3RyaW5nLFxuICBTIGV4dGVuZHMgU2NoZW1hLFxuPiA9IHtcbiAgZGVmYXVsdHM6IEJhY2tvZmZpY2VMaXN0U3RhdGU8V2hlcmUsIFNvcnQ+O1xuICBmaWx0ZXJTY2hlbWE6IEJhY2tvZmZpY2VGaWx0ZXJTY2hlbWE8V2hlcmUsIFM+O1xuICBzb3J0SWRzOiByZWFkb25seSBTb3J0W107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFZhcmlhYmxlczxXaGVyZSwgU29ydCBleHRlbmRzIHN0cmluZz4gPSB7XG4gIHdoZXJlOiBXaGVyZSB8IG51bGw7XG4gIHNvcnQ6IFNvcnQgfCBudWxsO1xuICBjb3VudDogbnVtYmVyO1xuICBjdXJzb3I6IHN0cmluZyB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlT3BlcmF0aW9uVmFyaWFibGVzPFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlPiA9XG4gIFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlT3BlcmF0aW9uUmVzcG9uc2U8VE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGU+ID1cbiAgVE9wZXJhdGlvblsncmVzcG9uc2UnXTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXSBleHRlbmRzIHtcbiAgICB3aGVyZT86IGluZmVyIFdoZXJlIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgfVxuICAgID8gRXh0cmFjdDxOb25OdWxsYWJsZTxXaGVyZT4sIFJlY29yZDxzdHJpbmcsIHVua25vd24+PlxuICAgIDogbmV2ZXIsXG4+ID0gVFdoZXJlO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRTb3J0ID0gVE9wZXJhdGlvblsndmFyaWFibGVzJ10gZXh0ZW5kcyB7XG4gICAgc29ydD86IGluZmVyIFNvcnQgfCBudWxsIHwgdW5kZWZpbmVkO1xuICB9XG4gICAgPyBFeHRyYWN0PE5vbk51bGxhYmxlPFNvcnQ+LCBzdHJpbmc+XG4gICAgOiBuZXZlcixcbj4gPSBFeHRyYWN0PFRTb3J0LCBzdHJpbmc+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGVyaXZlZE9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlPiA9XG4gIFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddIGV4dGVuZHMge1xuICAgIHdoZXJlPzogaW5mZXIgV2hlcmUgfCBudWxsIHwgdW5kZWZpbmVkO1xuICB9XG4gICAgPyBFeHRyYWN0PE5vbk51bGxhYmxlPFdoZXJlPiwgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+XG4gICAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURlcml2ZWRPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlPiA9XG4gIFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddIGV4dGVuZHMge1xuICAgIHNvcnQ/OiBpbmZlciBTb3J0IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgfVxuICAgID8gRXh0cmFjdDxOb25OdWxsYWJsZTxTb3J0Piwgc3RyaW5nPlxuICAgIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0UXVlcnlJbnB1dDxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICBUU29ydCBleHRlbmRzIHN0cmluZyA9IEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24+LFxuPiA9IHtcbiAgd2hlcmU6IFRXaGVyZSB8IG51bGw7XG4gIHNvcnQ6IFRTb3J0IHwgbnVsbDtcbiAgY291bnQ6IG51bWJlcjtcbiAgY3Vyc29yOiBzdHJpbmcgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUNvdW50UXVlcnlJbnB1dDxUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4gPVxuICB7XG4gICAgd2hlcmU6IFRXaGVyZSB8IG51bGw7XG4gIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlDb3VudENvbmZpZzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiA9IHtcbiAgcXVlcnk6IEdyYXBoUUxUYWdnZWROb2RlO1xuICBidWlsZFZhcmlhYmxlczogKFxuICAgIGlucHV0OiBCYWNrb2ZmaWNlQ291bnRRdWVyeUlucHV0PFRXaGVyZT4sXG4gICkgPT4gVE9wZXJhdGlvblsndmFyaWFibGVzJ107XG4gIGdldENvdW50OiBCaXZhcmlhbnRDYWxsYmFjazwoZGF0YTogdW5rbm93bikgPT4gbnVtYmVyIHwgbnVsbD47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZUVudGl0eUNvdW50Q29uZmlnPFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSBCYWNrb2ZmaWNlRW50aXR5Q291bnRDb25maWc8QmFja29mZmljZVJ1bnRpbWVPcGVyYXRpb24sIFRXaGVyZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQaWNrZXJTY29wZTxXaGVyZT4gPSBQYXJ0aWFsPHtcbiAgW0tleSBpbiBrZXlvZiBXaGVyZV06IEV4dHJhY3Q8Tm9uTnVsbGFibGU8V2hlcmVbS2V5XT4sIHN0cmluZz47XG59PjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBpY2tlclF1ZXJ5SW5wdXQ8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbj4gPSB7XG4gIHNlYXJjaDogc3RyaW5nO1xuICBzY29wZT86IEJhY2tvZmZpY2VQaWNrZXJTY29wZTxUV2hlcmU+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlbGF0aW9uRmlsdGVyU3BlYzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuPiA9IHtcbiAgdGFyZ2V0OiBzdHJpbmc7XG4gIGZpbHRlcklkPzogc3RyaW5nO1xuICB3aGVyZUtleTogRXh0cmFjdDxrZXlvZiBUV2hlcmUsIHN0cmluZz47XG4gIHBhdGg/OiByZWFkb25seSBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlSb3V0ZXMgPSB7XG4gIGxpc3Q6IHN0cmluZztcbiAgZGV0YWlsOiAoaWQ6IHN0cmluZykgPT4gc3RyaW5nO1xuICBkZXRhaWxQYWdlOiAoaWQ6IHN0cmluZywgcGFnZUlkOiBzdHJpbmcpID0+IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlSb3V0ZU1hbmlmZXN0ID0ge1xuICBsaXN0OiBzdHJpbmc7XG4gIGRldGFpbDogKGlkOiBzdHJpbmcpID0+IHN0cmluZztcbiAgZGV0YWlsUGFnZTogKGlkOiBzdHJpbmcsIHBhZ2VJZDogc3RyaW5nKSA9PiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsUGFnZU1hbmlmZXN0SXRlbSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgcGF0aFNlZ21lbnQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgaXNEZWZhdWx0PzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlTWFuaWZlc3QgPSByZWFkb25seSBbXG4gIEJhY2tvZmZpY2VEZXRhaWxQYWdlTWFuaWZlc3RJdGVtLFxuICAuLi5CYWNrb2ZmaWNlRGV0YWlsUGFnZU1hbmlmZXN0SXRlbVtdLFxuXTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VSb3V0ZVNwZWM8TGF5b3V0VmlldyA9IHVua25vd24+ID0ge1xuICBpZDogc3RyaW5nO1xuICBwYXRoOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGlzVmlzaWJsZT86IEJpdmFyaWFudENhbGxiYWNrPChsYXlvdXRQYWdlOiBMYXlvdXRWaWV3KSA9PiBib29sZWFuPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRDb25maWcgPSB7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIHN1YnRpdGxlPzogSTE4bkxhYmVsO1xuICB3aW5kb3dQcmVzZXRzPzogcmVhZG9ubHkgQmFja29mZmljZURhc2hib2FyZFdpbmRvd1ByZXNldFtdO1xuICBkZWZhdWx0V2luZG93UHJlc2V0SWQ/OiBzdHJpbmc7XG4gIHdpZGdldHM6IHJlYWRvbmx5IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VRdWVyeVNwZWM8VE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGU+ID0ge1xuICByZWFkb25seSBub2RlOiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgcmVhZG9ubHkgX19vcGVyYXRpb24/OiBUT3BlcmF0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUZyYWdtZW50U3BlYzxUS2V5LCBURGF0YT4gPSB7XG4gIHJlYWRvbmx5IG5vZGU6IEdyYXBoUUxUYWdnZWROb2RlO1xuICByZWFkb25seSBfX2tleT86IFRLZXk7XG4gIHJlYWRvbmx5IF9fZGF0YT86IFREYXRhO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBhZ2luYXRpb25GcmFnbWVudFNwZWM8XG4gIFRRdWVyeSBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRLZXksXG4gIFREYXRhLFxuPiA9IEJhY2tvZmZpY2VGcmFnbWVudFNwZWM8VEtleSwgVERhdGE+ICYge1xuICByZWFkb25seSBfX3BhZ2luYXRpb25RdWVyeT86IFRRdWVyeTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRTaXplID0gJ3MnIHwgJ20nIHwgJ2wnIHwgJ3hsJyB8ICdmdWxsJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZFdpZGdldFNwYW4gPSAzIHwgNCB8IDYgfCA4IHwgMTI7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRUYWJsZXRTcGFuID0gMyB8IDY7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRab25lID1cbiAgJ3N1bW1hcnknIHwgJ21haW4nIHwgJ2FzaWRlJyB8ICdzZWNvbmRhcnknIHwgJ2Z1bGwnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0TGF5b3V0ID0ge1xuICB6b25lPzogQmFja29mZmljZURhc2hib2FyZFdpZGdldFpvbmU7XG4gIHNwYW4/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0U3BhbjtcbiAgdGFibGV0U3Bhbj86IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRUYWJsZXRTcGFuO1xuICBvcmRlcj86IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRQcmlvcml0eSA9XG4gICdjcml0aWNhbCcgfCAnaGlnaCcgfCAnbm9ybWFsJyB8ICdsb3cnIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnZGVidWcnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2luZG93UHJlc2V0ID0ge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICBkdXJhdGlvbk1zOiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2luZG93U3RhdGUgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGZyb206IHN0cmluZztcbiAgdG86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRDb250ZXh0ID0ge1xuICB3aW5kb3c6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaW5kb3dTdGF0ZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRCYXNlID0ge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZT86IEkxOG5MYWJlbDtcbiAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gIHNpemU/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0U2l6ZTtcbiAgbGF5b3V0PzogQmFja29mZmljZURhc2hib2FyZFdpZGdldExheW91dDtcbiAgcHJpb3JpdHk/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0UHJpb3JpdHk7XG4gIG1pbkhlaWdodD86ICdzbScgfCAnbWQnIHwgJ2xnJztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRSZXNvbHZlcjxUUmVzdWx0PiA9IChcbiAgZGF0YTogQmFja29mZmljZUVyYXNlZFZhbHVlLFxuICBjb250ZXh0OiBCYWNrb2ZmaWNlRGFzaGJvYXJkQ29udGV4dCxcbikgPT4gVFJlc3VsdDtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZEVudGl0eUNvdW50UmVzdWx0ID0ge1xuICBjb3VudDogbnVtYmVyIHwgbnVsbDtcbiAgaHJlZj86IHN0cmluZztcbiAgdGFyZ2V0PzogQmFja29mZmljZURhc2hib2FyZExpbmtUYXJnZXQ7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkVGFibGVQcmV2aWV3UmVzdWx0ID0ge1xuICBjb2x1bW5zOiByZWFkb25seSBCYWNrb2ZmaWNlQ29sdW1uU3BlY1tdO1xuICByb3dzOiByZWFkb25seSB1bmtub3duW107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkTGlzdFRhcmdldFN0YXRlPFxuICBXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmcsXG4+ID0ge1xuICB3aGVyZT86IFdoZXJlIHwgbnVsbDtcbiAgc29ydD86IFNvcnQgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZEhyZWZUYXJnZXQgPSB7XG4gIGtpbmQ6ICdocmVmJztcbiAgaHJlZjogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZEVudGl0eUxpc3RUYXJnZXQ8XG4gIFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgU29ydCBleHRlbmRzIHN0cmluZyA9IHN0cmluZyxcbj4gPSB7XG4gIGtpbmQ6ICdlbnRpdHktbGlzdCc7XG4gIGVudGl0eUlkOiBzdHJpbmc7XG4gIHN0YXRlPzogQmFja29mZmljZURhc2hib2FyZExpc3RUYXJnZXRTdGF0ZTxXaGVyZSwgU29ydD47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkTGlua1RhcmdldDxcbiAgV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBTb3J0IGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nLFxuPiA9XG4gIHwgQmFja29mZmljZURhc2hib2FyZEhyZWZUYXJnZXRcbiAgfCBCYWNrb2ZmaWNlRGFzaGJvYXJkRW50aXR5TGlzdFRhcmdldDxXaGVyZSwgU29ydD47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRTdGF0dXNTdW1tYXJ5UmVzdWx0ID0gcmVhZG9ubHkge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbDtcbiAgdG9uZT86IEJhY2tvZmZpY2VCYWRnZVRvbmU7XG4gIGhyZWY/OiBzdHJpbmc7XG4gIHRhcmdldD86IEJhY2tvZmZpY2VEYXNoYm9hcmRMaW5rVGFyZ2V0O1xufVtdO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkTWV0cmljR3JvdXBSZXN1bHQgPSByZWFkb25seSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsO1xuICBtZXRhPzogSTE4bkxhYmVsO1xuICB0b25lPzogJ25ldXRyYWwnIHwgJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2Rhbmdlcic7XG4gIGhyZWY/OiBzdHJpbmc7XG4gIHRhcmdldD86IEJhY2tvZmZpY2VEYXNoYm9hcmRMaW5rVGFyZ2V0O1xufVtdO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkTWV0cmljVG9uZSA9XG4gICduZXV0cmFsJyB8ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkVHJlbmREaXJlY3Rpb24gPSAndXAnIHwgJ2Rvd24nIHwgJ2ZsYXQnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkU3BhcmtsaW5lUG9pbnQgPSB7XG4gIHg6IHN0cmluZztcbiAgeTogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZFRyZW5kTWV0cmljUmVzdWx0ID0ge1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbDtcbiAgdW5pdD86IHN0cmluZztcbiAgZGVsdGE/OiB7XG4gICAgdmFsdWU6IHN0cmluZyB8IG51bWJlcjtcbiAgICBkaXJlY3Rpb246IEJhY2tvZmZpY2VEYXNoYm9hcmRUcmVuZERpcmVjdGlvbjtcbiAgICB0b25lPzogQmFja29mZmljZURhc2hib2FyZE1ldHJpY1RvbmU7XG4gICAgbGFiZWw/OiBJMThuTGFiZWw7XG4gIH07XG4gIHNwYXJrbGluZT86IHJlYWRvbmx5IEJhY2tvZmZpY2VEYXNoYm9hcmRTcGFya2xpbmVQb2ludFtdO1xuICBocmVmPzogc3RyaW5nO1xuICB0YXJnZXQ/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkTGlua1RhcmdldDtcbiAgdG9uZT86IEJhY2tvZmZpY2VEYXNoYm9hcmRNZXRyaWNUb25lO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZFNsYUdhdWdlUmVzdWx0ID0ge1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICB2YWx1ZTogbnVtYmVyIHwgbnVsbDtcbiAgbWF4OiBudW1iZXI7XG4gIHRocmVzaG9sZD86IG51bWJlcjtcbiAgdW5pdD86IHN0cmluZztcbiAgdG9uZT86IEJhY2tvZmZpY2VEYXNoYm9hcmRNZXRyaWNUb25lO1xuICBocmVmPzogc3RyaW5nO1xuICB0YXJnZXQ/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkTGlua1RhcmdldDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRCcmVha2Rvd25MaXN0UmVzdWx0ID0gcmVhZG9ubHkge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbDtcbiAgbWV0YT86IEkxOG5MYWJlbDtcbiAgdG9uZT86IEJhY2tvZmZpY2VEYXNoYm9hcmRNZXRyaWNUb25lO1xuICBocmVmPzogc3RyaW5nO1xuICB0YXJnZXQ/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkTGlua1RhcmdldDtcbn1bXTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZFRpbWVsaW5lQ2hhcnRSZXN1bHQgPSB7XG4gIHNlcmllczogcmVhZG9ubHkge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICBjb2xvcjogc3RyaW5nO1xuICAgIHVuaXQ/OiBzdHJpbmc7XG4gICAgZGF0YTogcmVhZG9ubHkgQmFja29mZmljZURhc2hib2FyZFNwYXJrbGluZVBvaW50W107XG4gIH1bXTtcbiAgZW1wdHlMYWJlbD86IEkxOG5MYWJlbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRSaXNrUXVldWVSZXN1bHQgPSByZWFkb25seSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIHNldmVyaXR5OiBCYWNrb2ZmaWNlRGFzaGJvYXJkTWV0cmljVG9uZTtcbiAgdmFsdWU/OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsO1xuICBtZXRhPzogSTE4bkxhYmVsO1xuICBocmVmPzogc3RyaW5nO1xuICB0YXJnZXQ/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkTGlua1RhcmdldDtcbn1bXTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZEVudGl0eVNwb3RsaWdodFJlc3VsdCA9IHtcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgbWV0YT86IHJlYWRvbmx5IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bGw7XG4gIH1bXTtcbiAgaHJlZj86IHN0cmluZztcbiAgdGFyZ2V0PzogQmFja29mZmljZURhc2hib2FyZExpbmtUYXJnZXQ7XG4gIHRvbmU/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkTWV0cmljVG9uZTtcbn0gfCBudWxsO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkSGVhbHRoTWF0cml4UmVzdWx0ID0gcmVhZG9ubHkge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICBjZWxsczogcmVhZG9ubHkge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbDtcbiAgICB0b25lPzogQmFja29mZmljZURhc2hib2FyZE1ldHJpY1RvbmU7XG4gICAgaHJlZj86IHN0cmluZztcbiAgICB0YXJnZXQ/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkTGlua1RhcmdldDtcbiAgfVtdO1xufVtdO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkQmlsbGluZ1VzYWdlQ2hhcnRSZXN1bHQgPSB7XG4gIGN1cnJlbmN5OiBzdHJpbmc7XG4gIHRvdGFsQW1vdW50OiBudW1iZXI7XG4gIGZyb206IHN0cmluZyB8IG51bGw7XG4gIHRvOiBzdHJpbmcgfCBudWxsO1xuICBidWNrZXRzOiByZWFkb25seSB7XG4gICAgZGF5OiBzdHJpbmc7XG4gICAgY2F0ZWdvcnk6IHN0cmluZztcbiAgICB2YWx1ZTogbnVtYmVyO1xuICB9W107XG59IHwgbnVsbDtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZFdpZGdldFF1ZXJ5U291cmNlPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgVFJlc3VsdCxcbj4gPSB7XG4gIGRhdGFTb3VyY2U6ICdxdWVyeSc7XG4gIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgdmFyaWFibGVzOlxuICAgIHwgVE9wZXJhdGlvblsndmFyaWFibGVzJ11cbiAgICB8ICgoY29udGV4dDogQmFja29mZmljZURhc2hib2FyZENvbnRleHQpID0+IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddKTtcbiAgcmVzb2x2ZTogKFxuICAgIGRhdGE6IFRPcGVyYXRpb25bJ3Jlc3BvbnNlJ10sXG4gICAgY29udGV4dDogQmFja29mZmljZURhc2hib2FyZENvbnRleHQsXG4gICkgPT4gVFJlc3VsdDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRWYXJpYWJsZXM8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlID0gT3BlcmF0aW9uVHlwZSxcbj4gPVxuICB8IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddXG4gIHwgKChjb250ZXh0OiBCYWNrb2ZmaWNlRGFzaGJvYXJkQ29udGV4dCkgPT4gVE9wZXJhdGlvblsndmFyaWFibGVzJ10pO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0U3RhdGljU291cmNlID0ge1xuICBkYXRhU291cmNlOiAnc3RhdGljJztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXQgPVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGRhdGFTb3VyY2U6ICdxdWVyeSc7XG4gICAgICBraW5kOiAnZW50aXR5Q291bnQnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIGVudGl0eUlkOiBzdHJpbmc7XG4gICAgICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gICAgICB2YXJpYWJsZXM6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRWYXJpYWJsZXM7XG4gICAgICByZXNvbHZlOiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0UmVzb2x2ZXI8QmFja29mZmljZURhc2hib2FyZEVudGl0eUNvdW50UmVzdWx0PjtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGRhdGFTb3VyY2U6ICdzdGF0aWMnO1xuICAgICAga2luZDogJ3Nob3J0Y3V0JztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBlbnRpdHlJZDogc3RyaW5nO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRCYXNlICYge1xuICAgICAgZGF0YVNvdXJjZTogJ3F1ZXJ5JztcbiAgICAgIGtpbmQ6ICd0YWJsZVByZXZpZXcnO1xuICAgICAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgICAgIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgICAgIHZhcmlhYmxlczogQmFja29mZmljZURhc2hib2FyZFdpZGdldFZhcmlhYmxlcztcbiAgICAgIHJlc29sdmU6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRSZXNvbHZlcjxCYWNrb2ZmaWNlRGFzaGJvYXJkVGFibGVQcmV2aWV3UmVzdWx0PjtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGRhdGFTb3VyY2U6ICdxdWVyeSc7XG4gICAgICBraW5kOiAnc3RhdHVzU3VtbWFyeSc7XG4gICAgICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gICAgICB2YXJpYWJsZXM6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRWYXJpYWJsZXM7XG4gICAgICByZXNvbHZlOiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0UmVzb2x2ZXI8QmFja29mZmljZURhc2hib2FyZFN0YXR1c1N1bW1hcnlSZXN1bHQ+O1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRCYXNlICYge1xuICAgICAgZGF0YVNvdXJjZTogJ3N0YXRpYyc7XG4gICAgICBraW5kOiAncmVjZW50SXRlbXMnO1xuICAgICAgbWF4SXRlbXM/OiBudW1iZXI7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBkYXRhU291cmNlOiAnc3RhdGljJztcbiAgICAgIGtpbmQ6ICdxdWlja0FjdGlvbnMnO1xuICAgICAgYWN0aW9uczogcmVhZG9ubHkge1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgICBocmVmPzogc3RyaW5nO1xuICAgICAgICB0YXJnZXQ/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkTGlua1RhcmdldDtcbiAgICAgICAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gICAgICAgIHRvbmU/OiAnZGVmYXVsdCcgfCAncHJpbWFyeScgfCAnZGFuZ2VyJztcbiAgICAgIH1bXTtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGRhdGFTb3VyY2U6ICdxdWVyeSc7XG4gICAgICBraW5kOiAnbWV0cmljR3JvdXAnO1xuICAgICAgcXVlcnk6IEdyYXBoUUxUYWdnZWROb2RlO1xuICAgICAgdmFyaWFibGVzOiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0VmFyaWFibGVzO1xuICAgICAgcmVzb2x2ZTogQmFja29mZmljZURhc2hib2FyZFdpZGdldFJlc29sdmVyPEJhY2tvZmZpY2VEYXNoYm9hcmRNZXRyaWNHcm91cFJlc3VsdD47XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBkYXRhU291cmNlOiAncXVlcnknO1xuICAgICAga2luZDogJ2JpbGxpbmdVc2FnZUNoYXJ0JztcbiAgICAgIHRpdGxlOiBJMThuTGFiZWw7XG4gICAgICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gICAgICB2YXJpYWJsZXM6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRWYXJpYWJsZXM7XG4gICAgICBjYXRlZ29yaWVzOiByZWFkb25seSB7XG4gICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICAgIGNvbG9yOiBzdHJpbmc7XG4gICAgICB9W107XG4gICAgICBlbXB0eUxhYmVsOiBJMThuTGFiZWw7XG4gICAgICByYW5nZVByZWZpeDogSTE4bkxhYmVsO1xuICAgICAgYXJpYUxhYmVsOiBJMThuTGFiZWw7XG4gICAgICByZXNvbHZlOiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0UmVzb2x2ZXI8QmFja29mZmljZURhc2hib2FyZEJpbGxpbmdVc2FnZUNoYXJ0UmVzdWx0PjtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGRhdGFTb3VyY2U6ICdxdWVyeSc7XG4gICAgICBraW5kOiAndHJlbmRNZXRyaWMnO1xuICAgICAgcXVlcnk6IEdyYXBoUUxUYWdnZWROb2RlO1xuICAgICAgdmFyaWFibGVzOiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0VmFyaWFibGVzO1xuICAgICAgcmVzb2x2ZTogQmFja29mZmljZURhc2hib2FyZFdpZGdldFJlc29sdmVyPEJhY2tvZmZpY2VEYXNoYm9hcmRUcmVuZE1ldHJpY1Jlc3VsdD47XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBkYXRhU291cmNlOiAncXVlcnknO1xuICAgICAga2luZDogJ3NsYUdhdWdlJztcbiAgICAgIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgICAgIHZhcmlhYmxlczogQmFja29mZmljZURhc2hib2FyZFdpZGdldFZhcmlhYmxlcztcbiAgICAgIHJlc29sdmU6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRSZXNvbHZlcjxCYWNrb2ZmaWNlRGFzaGJvYXJkU2xhR2F1Z2VSZXN1bHQ+O1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRCYXNlICYge1xuICAgICAgZGF0YVNvdXJjZTogJ3F1ZXJ5JztcbiAgICAgIGtpbmQ6ICdicmVha2Rvd25MaXN0JztcbiAgICAgIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgICAgIHZhcmlhYmxlczogQmFja29mZmljZURhc2hib2FyZFdpZGdldFZhcmlhYmxlcztcbiAgICAgIHJlc29sdmU6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRSZXNvbHZlcjxCYWNrb2ZmaWNlRGFzaGJvYXJkQnJlYWtkb3duTGlzdFJlc3VsdD47XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBkYXRhU291cmNlOiAncXVlcnknO1xuICAgICAga2luZDogJ3RpbWVsaW5lQ2hhcnQnO1xuICAgICAgcXVlcnk6IEdyYXBoUUxUYWdnZWROb2RlO1xuICAgICAgdmFyaWFibGVzOiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0VmFyaWFibGVzO1xuICAgICAgY2hhcnQ/OiAnbGluZScgfCAnYmFyJztcbiAgICAgIGFyaWFMYWJlbDogSTE4bkxhYmVsO1xuICAgICAgcmVzb2x2ZTogQmFja29mZmljZURhc2hib2FyZFdpZGdldFJlc29sdmVyPEJhY2tvZmZpY2VEYXNoYm9hcmRUaW1lbGluZUNoYXJ0UmVzdWx0PjtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGRhdGFTb3VyY2U6ICdxdWVyeSc7XG4gICAgICBraW5kOiAncmlza1F1ZXVlJztcbiAgICAgIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgICAgIHZhcmlhYmxlczogQmFja29mZmljZURhc2hib2FyZFdpZGdldFZhcmlhYmxlcztcbiAgICAgIHJlc29sdmU6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRSZXNvbHZlcjxCYWNrb2ZmaWNlRGFzaGJvYXJkUmlza1F1ZXVlUmVzdWx0PjtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGRhdGFTb3VyY2U6ICdxdWVyeSc7XG4gICAgICBraW5kOiAnZW50aXR5U3BvdGxpZ2h0JztcbiAgICAgIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgICAgIHZhcmlhYmxlczogQmFja29mZmljZURhc2hib2FyZFdpZGdldFZhcmlhYmxlcztcbiAgICAgIHJlc29sdmU6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRSZXNvbHZlcjxCYWNrb2ZmaWNlRGFzaGJvYXJkRW50aXR5U3BvdGxpZ2h0UmVzdWx0PjtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGRhdGFTb3VyY2U6ICdzdGF0aWMnO1xuICAgICAga2luZDogJ3dpbmRvd0NvbnRyb2wnO1xuICAgICAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGRhdGFTb3VyY2U6ICdxdWVyeSc7XG4gICAgICBraW5kOiAnaGVhbHRoTWF0cml4JztcbiAgICAgIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgICAgIHZhcmlhYmxlczogQmFja29mZmljZURhc2hib2FyZFdpZGdldFZhcmlhYmxlcztcbiAgICAgIHJlc29sdmU6IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRSZXNvbHZlcjxCYWNrb2ZmaWNlRGFzaGJvYXJkSGVhbHRoTWF0cml4UmVzdWx0PjtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGRhdGFTb3VyY2U6ICdzdGF0aWMnO1xuICAgICAga2luZDogJ3RleHRCbG9jayc7XG4gICAgICB0aXRsZTogSTE4bkxhYmVsO1xuICAgICAgYm9keTogSTE4bkxhYmVsO1xuICAgIH0pO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFVybENvZGVjPFdoZXJlLCBTb3J0IGV4dGVuZHMgc3RyaW5nPiA9IHtcbiAgcGFyc2U6IChzZWFyY2g6IFVSTFNlYXJjaFBhcmFtcykgPT4gQmFja29mZmljZUxpc3RTdGF0ZTxXaGVyZSwgU29ydD47XG4gIHNlcmlhbGl6ZTogKHN0YXRlOiBCYWNrb2ZmaWNlTGlzdFN0YXRlPFdoZXJlLCBTb3J0PikgPT4gVVJMU2VhcmNoUGFyYW1zO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVNvcnRTcGVjPFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+ID0ge1xuICBpZDogU29ydDtcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSb3dGbGFnU3BlYzxSb3cgPSB1bmtub3duPiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gSTE4bkxhYmVsPjtcbiAgcmVuZGVyOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHVua25vd24+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RDb2x1bW5Qcmlvcml0eSA9XG4gICdwcmltYXJ5JyB8ICdpbXBvcnRhbnQnIHwgJ3NlY29uZGFyeScgfCAnZGVidWcnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdE1vYmlsZVJvbGUgPVxuICAndGl0bGUnIHwgJ3N1YnRpdGxlJyB8ICdtZXRhJyB8ICdiYWRnZScgfCAnc3RhdHVzJyB8ICdhY3Rpb24nIHwgJ2hpZGRlbic7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0Q29sdW1uVmlzaWJpbGl0eSA9IHtcbiAgcHJpb3JpdHk/OiBCYWNrb2ZmaWNlTGlzdENvbHVtblByaW9yaXR5O1xuICBhbGlnbj86ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JztcbiAgbW9iaWxlPzogQmFja29mZmljZUxpc3RNb2JpbGVSb2xlO1xuICB0YWJsZXQ/OiAndmlzaWJsZScgfCAnaGlkZGVuJztcbiAgZGVza3RvcD86ICd2aXNpYmxlJyB8ICdoaWRkZW4nO1xuICBtaW5WaXNpYmxlQXQ/OiAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnO1xuICBkZWJ1Z09ubHk/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RDb2x1bW5Db3B5ID0ge1xuICBzaG9ydExhYmVsPzogSTE4bkxhYmVsO1xuICBkZXNjcmlwdGlvbj86IEkxOG5MYWJlbDtcbiAgZW1wdHlMYWJlbD86IEkxOG5MYWJlbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDb2x1bW5TcGVjPFJvdyA9IHVua25vd24+ID0ge1xuICBrZXk6IHN0cmluZztcbiAgaGVhZGVyOiBJMThuTGFiZWw7XG4gIHNpemU6IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gIHZpc2liaWxpdHk/OiBCYWNrb2ZmaWNlTGlzdENvbHVtblZpc2liaWxpdHk7XG4gIGNvcHk/OiBCYWNrb2ZmaWNlTGlzdENvbHVtbkNvcHk7XG4gIGNlbGw6XG4gICAgfCB7XG4gICAgICAgIHNpemU/OiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgICB0eXBlOiAndGV4dCc7XG4gICAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZyB8IG51bWJlciB8IG51bGw+O1xuICAgICAgICBjb3B5VmFsdWU/OiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZyB8IG51bGw+O1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBzaXplPzogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgICAgdHlwZTogJ2xpbmsnO1xuICAgICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudW1iZXIgfCBudWxsPjtcbiAgICAgICAgdG86IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nPjtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgc2l6ZT86IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICAgIHR5cGU6ICdiYWRnZSc7XG4gICAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZyB8IG51bGw+O1xuICAgICAgICB0b25lPzpcbiAgICAgICAgICB8IEJhY2tvZmZpY2VCYWRnZVRvbmVcbiAgICAgICAgICB8IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gQmFja29mZmljZUJhZGdlVG9uZT47XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIHNpemU/OiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgICB0eXBlOiAnZGF0ZVRpbWUnO1xuICAgICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudW1iZXIgfCBudWxsPjtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgc2l6ZT86IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICAgIHR5cGU6ICdlbnRpdHlSZWYnO1xuICAgICAgICBlbnRpdHk6IHN0cmluZztcbiAgICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nPjtcbiAgICAgICAgbGFiZWw/OiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZyB8IG51bGw+O1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBzaXplPzogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgICAgdHlwZTogJ3RlY2huaWNhbElkZW50aWZpZXInO1xuICAgICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudW1iZXIgfCBudWxsPjtcbiAgICAgICAgdmFyaWFudD86ICdpZCcgfCAnaGFzaCcgfCAndG9rZW4nIHwgJ2ZpbmdlcnByaW50JyB8ICdleHRlcm5hbCc7XG4gICAgICAgIGNvcHlWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nIHwgbnVsbD47XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIHNpemU/OiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgICB0eXBlOiAnY3VzdG9tJztcbiAgICAgICAgcmVuZGVyOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHVua25vd24+O1xuICAgICAgICB0ZXh0VmFsdWU/OiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZyB8IG51bGw+O1xuICAgICAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0RGVuc2l0eSA9ICdjb21wYWN0JyB8ICdkZWZhdWx0JyB8ICdjb21mb3J0YWJsZSc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0RGlzcGxheU1vZGUgPSAndGFibGUnIHwgJ2NhcmRzJyB8ICdhdXRvJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RWaXJ0dWFsaXphdGlvbk1vZGUgPSAnYXV0bycgfCAnYWx3YXlzJyB8ICduZXZlcic7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0VmlydHVhbGl6YXRpb25Db25maWcgPSB7XG4gIG1vZGU/OiBCYWNrb2ZmaWNlTGlzdFZpcnR1YWxpemF0aW9uTW9kZTtcbiAgcm93SGVpZ2h0UHg/OiBudW1iZXI7XG4gIG92ZXJzY2FuPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUluZmluaXRlU2Nyb2xsQ29uZmlnID0ge1xuICBlbmFibGVkPzogdHJ1ZTtcbiAgcm9vdE1hcmdpbj86IHN0cmluZztcbiAgdGhyZXNob2xkPzogbnVtYmVyO1xuICB0aHJlc2hvbGRQeD86IG51bWJlcjtcbiAgYXV0b0xvYWQ/OiBib29sZWFuO1xuICBzdGF0dXM/OiB7XG4gICAgc2hvd0xvYWRlZENvdW50PzogYm9vbGVhbjtcbiAgICBzaG93VG90YWxDb3VudD86IGJvb2xlYW47XG4gICAgc2hvd0VuZFN0YXRlPzogYm9vbGVhbjtcbiAgICBzaG93SW5jb25zaXN0ZW50UGFnZUluZm8/OiBib29sZWFuO1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RUb29sYmFyUHJvZmlsZSA9IHtcbiAgZGVuc2l0eT86IEJhY2tvZmZpY2VMaXN0RGVuc2l0eTtcbiAgZGlzcGxheU1vZGU/OiBCYWNrb2ZmaWNlTGlzdERpc3BsYXlNb2RlO1xuICBtYXhQcm9tb3RlZEZpbHRlcnM/OiBudW1iZXI7XG4gIHNob3dSZWZyZXNoPzogYm9vbGVhbjtcbiAgc2hvd1NvcnQ/OiBib29sZWFuO1xuICBzaG93RmlsdGVyQ2hpcHM/OiAnYXV0bycgfCAnYWx3YXlzJyB8ICduZXZlcic7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFVpQ29uZmlnID0ge1xuICBkZW5zaXR5PzogQmFja29mZmljZUxpc3REZW5zaXR5O1xuICBkaXNwbGF5TW9kZT86IEJhY2tvZmZpY2VMaXN0RGlzcGxheU1vZGU7XG4gIGluZmluaXRlU2Nyb2xsPzogQmFja29mZmljZUluZmluaXRlU2Nyb2xsQ29uZmlnO1xuICB2aXJ0dWFsaXphdGlvbj86IEJhY2tvZmZpY2VMaXN0VmlydHVhbGl6YXRpb25Db25maWc7XG4gIHRvb2xiYXI/OiBCYWNrb2ZmaWNlTGlzdFRvb2xiYXJQcm9maWxlO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RSZXNwb25zaXZlTWV0YUl0ZW0gPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsPzogSTE4bkxhYmVsO1xuICB2YWx1ZTogc3RyaW5nO1xuICB0b25lPzogQmFja29mZmljZUJhZGdlVG9uZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0UmVzcG9uc2l2ZVByb2ZpbGU8Um93ID0gdW5rbm93bj4gPSB7XG4gIG1vZGU/OiBCYWNrb2ZmaWNlTGlzdERpc3BsYXlNb2RlO1xuICBkZW5zaXR5PzogQmFja29mZmljZUxpc3REZW5zaXR5O1xuICBtb2JpbGVCcmVha3BvaW50PzogJ3NtJyB8ICdtZCcgfCAnbGcnO1xuICBwcmltYXJ5Q29sdW1uPzogc3RyaW5nO1xuICBkZWZhdWx0VmlzaWJsZUNvbHVtbnM/OiByZWFkb25seSBzdHJpbmdbXTtcbiAgZGVidWdDb2x1bW5zPzogcmVhZG9ubHkgc3RyaW5nW107XG4gIHJvd1RpdGxlPzogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgcm93U3VidGl0bGU/OiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZyB8IG51bGw+O1xuICByb3dNZXRhPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKHJvdzogUm93KSA9PiByZWFkb25seSBCYWNrb2ZmaWNlTGlzdFJlc3BvbnNpdmVNZXRhSXRlbVtdXG4gID47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRmlsdGVyUGxhY2VtZW50ID0gJ3F1aWNrJyB8ICdkcmF3ZXInIHwgJ2JvdGgnO1xuXG50eXBlIEJhY2tvZmZpY2VGaWx0ZXJCYXNlPFdoZXJlLCBWYWx1ZT4gPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIHBsYWNlbWVudD86IEJhY2tvZmZpY2VGaWx0ZXJQbGFjZW1lbnQ7XG4gIHRvR3JhcGhRTDogKHZhbHVlOiBWYWx1ZSkgPT4gUGFydGlhbDxXaGVyZT47XG4gIGZyb21HcmFwaFFMPzogKHdoZXJlOiBXaGVyZSkgPT4gVmFsdWUgfCBudWxsO1xuICB3aGVyZUtleT86IGtleW9mIFdoZXJlO1xuICBwYXRoPzogcmVhZG9ubHkgc3RyaW5nW107XG4gIHBpY2tlclNjb3BlPzpcbiAgICB8IEJhY2tvZmZpY2VQaWNrZXJTY29wZTxXaGVyZT5cbiAgICB8ICgod2hlcmU6IFdoZXJlIHwgbnVsbCkgPT4gQmFja29mZmljZVBpY2tlclNjb3BlPFdoZXJlPik7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRmlsdGVyU3BlYzxXaGVyZSwgRW50aXR5SWQgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+ID1cbiAgfCAoQmFja29mZmljZUZpbHRlckJhc2U8V2hlcmUsIHN0cmluZz4gJiB7XG4gICAgICBraW5kOiAndGV4dCc7XG4gICAgICBwbGFjZWhvbGRlckxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgcGxhY2Vob2xkZXJUZXh0PzogSTE4bkxhYmVsO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VGaWx0ZXJCYXNlPFdoZXJlLCBzdHJpbmc+ICYge1xuICAgICAga2luZDogJ2RhdGV0aW1lJztcbiAgICAgIG1vZGU/OiAnZnJvbScgfCAndG8nIHwgJ2V4YWN0JztcbiAgICAgIHBsYWNlaG9sZGVyTGFiZWw/OiBJMThuTGFiZWw7XG4gICAgICBwbGFjZWhvbGRlclRleHQ/OiBJMThuTGFiZWw7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUZpbHRlckJhc2U8V2hlcmUsIG51bWJlcj4gJiB7XG4gICAgICBraW5kOiAnbnVtYmVyJztcbiAgICAgIHBsYWNlaG9sZGVyTGFiZWw/OiBJMThuTGFiZWw7XG4gICAgICBwbGFjZWhvbGRlclRleHQ/OiBJMThuTGFiZWw7XG4gICAgICBpbnB1dE1vZGU/OiAnbnVtZXJpYycgfCAnZGVjaW1hbCc7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUZpbHRlckJhc2U8V2hlcmUsIHN0cmluZz4gJiB7XG4gICAgICBraW5kOiAnZW51bSc7XG4gICAgICBvcHRpb25zOiByZWFkb25seSB7XG4gICAgICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICB9W107XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUZpbHRlckJhc2U8V2hlcmUsIGJvb2xlYW4+ICYge1xuICAgICAga2luZDogJ2Jvb2xlYW4nO1xuICAgICAgdHJ1ZUxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgZmFsc2VMYWJlbD86IEkxOG5MYWJlbDtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRmlsdGVyQmFzZTxXaGVyZSwgc3RyaW5nPiAmIHtcbiAgICAgIGtpbmQ6ICdlbnRpdHlJZCc7XG4gICAgICBlbnRpdHk6IEVudGl0eUlkO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VGaWx0ZXJCYXNlPFdoZXJlLCByZWFkb25seSBzdHJpbmdbXT4gJiB7XG4gICAgICBraW5kOiAnZW50aXR5SWRMaXN0JztcbiAgICAgIGVudGl0eTogRW50aXR5SWQ7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUZpbHRlckJhc2U8V2hlcmUsIHN0cmluZz4gJiB7XG4gICAgICBraW5kOiAnc3RyaW5nTGlzdCc7XG4gICAgICBwbGFjZWhvbGRlckxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgcGxhY2Vob2xkZXJUZXh0PzogSTE4bkxhYmVsO1xuICAgIH0pO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQ29ubmVjdGlvbkxpc3RDb25maWc8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIExpc3RGcmFnbWVudERhdGEgPSB1bmtub3duLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbiAgVFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPixcbiAgVENvdW50T3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSA9IE9wZXJhdGlvblR5cGUsXG4gIFRFbnRpdHlJZCBleHRlbmRzIHN0cmluZyA9IHN0cmluZyxcbj4gPSB7XG4gIGtpbmQ6ICdjb25uZWN0aW9uJztcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgcXVlcnk6IEdyYXBoUUxUYWdnZWROb2RlO1xuICBmcmFnbWVudDogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIGJ1aWxkUXVlcnlWYXJpYWJsZXM6IChcbiAgICBpbnB1dDogQmFja29mZmljZUxpc3RRdWVyeUlucHV0PFRPcGVyYXRpb24sIFRXaGVyZSwgVFNvcnQ+LFxuICApID0+IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddO1xuICBnZXRDb25uZWN0aW9uOiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAoZGF0YTogTGlzdEZyYWdtZW50RGF0YSkgPT4gQmFja29mZmljZUNvbm5lY3Rpb248Um93UmVmPlxuICA+O1xuICBjb3VudDogQmFja29mZmljZUVudGl0eUNvdW50Q29uZmlnPFRDb3VudE9wZXJhdGlvbiwgVFdoZXJlPjtcbiAgdG9Sb3c6IEJpdmFyaWFudENhbGxiYWNrPChyb3dSZWY6IFJvd1JlZikgPT4gUm93Vmlldz47XG4gIGdldFJvd0lkOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3dWaWV3KSA9PiBzdHJpbmc+O1xuICBjb2x1bW5zOiByZWFkb25seSBCYWNrb2ZmaWNlQ29sdW1uU3BlYzxSb3dWaWV3PltdO1xuICByb3dGbGFncz86IHJlYWRvbmx5IEJhY2tvZmZpY2VSb3dGbGFnU3BlYzxSb3dWaWV3PltdO1xuICBzb3J0czogcmVhZG9ubHkgQmFja29mZmljZVNvcnRTcGVjPFRTb3J0PltdO1xuICBmaWx0ZXJzOiByZWFkb25seSBCYWNrb2ZmaWNlRmlsdGVyU3BlYzxUV2hlcmUsIFRFbnRpdHlJZD5bXTtcbiAgcmVzcG9uc2l2ZT86IEJhY2tvZmZpY2VMaXN0UmVzcG9uc2l2ZVByb2ZpbGU8Um93Vmlldz47XG4gIHVpPzogQmFja29mZmljZUxpc3RVaUNvbmZpZztcbiAgZGVmYXVsdFN0YXRlPzogQmFja29mZmljZUxpc3RTdGF0ZTxUV2hlcmUsIFRTb3J0Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlMaXN0Q29uZmlnPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBMaXN0RnJhZ21lbnREYXRhID0gdW5rbm93bixcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4gIFRDb3VudE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUgPSBPcGVyYXRpb25UeXBlLFxuICBURW50aXR5SWQgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmcsXG4+ID0gQmFja29mZmljZUNvbm5lY3Rpb25MaXN0Q29uZmlnPFxuICBUT3BlcmF0aW9uLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIExpc3RGcmFnbWVudERhdGEsXG4gIFRXaGVyZSxcbiAgVFNvcnQsXG4gIFRDb3VudE9wZXJhdGlvbixcbiAgVEVudGl0eUlkXG4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQmFkZ2VJdGVtID0ge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nIHwgSTE4bkxhYmVsO1xuICB0aXRsZT86IHN0cmluZyB8IEkxOG5MYWJlbDtcbiAgdG9uZT86IEJhY2tvZmZpY2VCYWRnZVRvbmU7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlSW5saW5lVmFsdWVTcGVjID1cbiAgfCB7XG4gICAgICB0eXBlOiAndGV4dCc7XG4gICAgICB2YWx1ZTogQmFja29mZmljZVZhbHVlTGFiZWw7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdlbnRpdHlSZWYnO1xuICAgICAgZW50aXR5OiBzdHJpbmc7XG4gICAgICBpZDogc3RyaW5nIHwgbnVsbDtcbiAgICAgIGxhYmVsPzogQmFja29mZmljZVZhbHVlTGFiZWw7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdsaW5rJztcbiAgICAgIGhyZWY6IHN0cmluZyB8IG51bGw7XG4gICAgICBsYWJlbDogQmFja29mZmljZVZhbHVlTGFiZWw7XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbEhlYWRlclN1YnRpdGxlSXRlbTxOb2RlPiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlSW5saW5lVmFsdWVTcGVjPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJNZXRhU3BlYzxOb2RlPiA9XG4gIHwge1xuICAgICAgdHlwZT86ICd0ZXh0JztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2RhdGVUaW1lJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bWJlciB8IG51bGw+O1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnZW50aXR5UmVmJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBlbnRpdHk6IHN0cmluZztcbiAgICAgIGlkOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbD47XG4gICAgICB2YWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2xpbmsnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIGhyZWY6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJTdGF0dXNTcGVjPE5vZGU+ID1cbiAgfCB7XG4gICAgICB0eXBlOiAnYmFkZ2UnO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gICAgICB0b25lPzpcbiAgICAgICAgfCBCYWNrb2ZmaWNlQmFkZ2VUb25lXG4gICAgICAgIHwgQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VCYWRnZVRvbmU+O1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnYmFkZ2VSb3cnO1xuICAgICAgaXRlbXM6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiByZWFkb25seSBCYWNrb2ZmaWNlQmFkZ2VJdGVtW10+O1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQbGFjZW1lbnQgPSAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbENvbnRlbnRHcm91cCA9XG4gIHwgJ3N1bW1hcnknXG4gIHwgJ2lkZW50aXR5J1xuICB8ICdzY29wZSdcbiAgfCAnc3RhdHVzJ1xuICB8ICdyZWxhdGlvbnMnXG4gIHwgJ2FjdGl2aXR5J1xuICB8ICdiaWxsaW5nJ1xuICB8ICd0ZWNobmljYWwnXG4gIHwgJ3Jhdyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxJbXBvcnRhbmNlID1cbiAgJ2hlcm8nIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnZGVidWcnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsQ29sbGFwc2VCZWhhdmlvciA9IHtcbiAgY29sbGFwc2libGU/OiBib29sZWFuO1xuICBkZWZhdWx0Q29sbGFwc2VkPzogYm9vbGVhbjtcbiAgcGVyc2lzdEtleT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb24gPSB7XG4gIGdyb3VwPzogQmFja29mZmljZURldGFpbENvbnRlbnRHcm91cDtcbiAgaW1wb3J0YW5jZT86IEJhY2tvZmZpY2VEZXRhaWxJbXBvcnRhbmNlO1xuICBjb2xsYXBzZT86IEJhY2tvZmZpY2VEZXRhaWxDb2xsYXBzZUJlaGF2aW9yO1xuICBtb2JpbGU/OiAndmlzaWJsZScgfCAnY29sbGFwc2VkJyB8ICdoaWRkZW4nO1xuICBkZXNrdG9wPzogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnZnVsbFdpZHRoJztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb25lID1cbiAgJ25ldXRyYWwnIHwgJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2Rhbmdlcic7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBY3Rpb25Ub25lID0gJ25ldXRyYWwnIHwgJ3ByaW1hcnknIHwgJ2Rhbmdlcic7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZW5zaXR5ID0gJ2NvbXBhY3QnIHwgJ2NvbWZvcnRhYmxlJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVNlbWFudGljRGV0YWlsUGxhY2VtZW50ID0gJ21haW4nIHwgJ3NpZGUnIHwgJ2Z1bGxXaWR0aCc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTZW1hbnRpY0RldGFpbFByaW9yaXR5ID1cbiAgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnZGlhZ25vc3RpYyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZW5kZXJhYmxlVmFsdWUgPVxuICBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVN0YXR1c1ZhbHVlID0ge1xuICByZWFkb25seSBsYWJlbDogc3RyaW5nIHwgSTE4bkxhYmVsO1xuICByZWFkb25seSB0b25lOiBCYWNrb2ZmaWNlVG9uZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSA9IHtcbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRpdGxlOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICByZWFkb25seSBwbGFjZW1lbnQ/OiBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxQbGFjZW1lbnQ7XG4gIHJlYWRvbmx5IHByaW9yaXR5PzogQmFja29mZmljZVNlbWFudGljRGV0YWlsUHJpb3JpdHk7XG4gIHJlYWRvbmx5IHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVmFsdWVTcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgdG9uZT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVG9uZSB8IHVuZGVmaW5lZD47XG4gIHJlYWRvbmx5IGhyZWY/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD47XG4gIHJlYWRvbmx5IGNvcHlWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4gID47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU3VtbWFyeUl0ZW1TcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgdG9uZT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVG9uZSB8IHVuZGVmaW5lZD47XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsXG4gID47XG4gIHJlYWRvbmx5IGhyZWY/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU3VtbWFyeUJsb2NrU3BlYzxOb2RlPiA9IEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgcmVhZG9ubHkga2luZDogJ3N1bW1hcnknO1xuICByZWFkb25seSBpdGVtczogcmVhZG9ubHkgQmFja29mZmljZVN1bW1hcnlJdGVtU3BlYzxOb2RlPltdO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUhlcm9TdW1tYXJ5QmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZVN1bW1hcnlCbG9ja1NwZWM8Tm9kZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VNZXRyaWNTcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgZm9ybWF0dGVkVmFsdWU/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxuICA+O1xuICByZWFkb25seSBoaW50PzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgdG9uZT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVG9uZSB8IHVuZGVmaW5lZD47XG4gIHJlYWRvbmx5IGNvcHlWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4gID47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTWV0cmljR3JvdXBCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gICAgcmVhZG9ubHkga2luZDogJ21ldHJpY3MnO1xuICAgIHJlYWRvbmx5IGRlbnNpdHk/OiBCYWNrb2ZmaWNlRGVuc2l0eTtcbiAgICByZWFkb25seSBpdGVtczogcmVhZG9ubHkgQmFja29mZmljZU1ldHJpY1NwZWM8Tm9kZT5bXTtcbiAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU1ldHJpY0Jsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VNZXRyaWNHcm91cEJsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVN0YXRlU3BlYzxOb2RlPiA9IHtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcmVhZG9ubHkgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlUmVuZGVyYWJsZVZhbHVlPjtcbiAgcmVhZG9ubHkgZ2V0RGlzcGxheTogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKFxuICAgICAgdmFsdWU6IEJhY2tvZmZpY2VSZW5kZXJhYmxlVmFsdWUsXG4gICAgICBub2RlOiBOb2RlLFxuICAgICkgPT4ge1xuICAgICAgcmVhZG9ubHkgbGFiZWw6IHN0cmluZyB8IEkxOG5MYWJlbDtcbiAgICAgIHJlYWRvbmx5IHRvbmU6IEJhY2tvZmZpY2VUb25lO1xuICAgIH1cbiAgPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTdGF0ZUdyb3VwQmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZVNlbWFudGljQmxvY2tCYXNlICYge1xuICAgIHJlYWRvbmx5IGtpbmQ6ICdzdGF0ZXMnO1xuICAgIHJlYWRvbmx5IHN0YXRlczogcmVhZG9ubHkgQmFja29mZmljZVN0YXRlU3BlYzxOb2RlPltdO1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU3RhdGVCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU3RhdGVHcm91cEJsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUNvbnRleHRJdGVtU3BlYzxOb2RlPiA9IHtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcmVhZG9ubHkgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IGhyZWY/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD47XG4gIHJlYWRvbmx5IGVtcHR5TGFiZWw/OiBJMThuTGFiZWw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQ29udGV4dFN0YWNrQmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZVNlbWFudGljQmxvY2tCYXNlICYge1xuICAgIHJlYWRvbmx5IGtpbmQ6ICdjb250ZXh0JztcbiAgICByZWFkb25seSBpdGVtczogcmVhZG9ubHkgQmFja29mZmljZUNvbnRleHRJdGVtU3BlYzxOb2RlPltdO1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQ29udGV4dEJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VDb250ZXh0U3RhY2tCbG9ja1NwZWM8Tm9kZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZWxhdGlvblN1bW1hcnlUaWxlU3BlYzxOb2RlPiA9IHtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcmVhZG9ubHkgY291bnQ/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZD47XG4gIHJlYWRvbmx5IGhyZWY/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD47XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsXG4gID47XG4gIHJlYWRvbmx5IHRvbmU/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVRvbmUgfCB1bmRlZmluZWQ+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlbGF0aW9uU3VtbWFyeUdyb3VwQmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZVNlbWFudGljQmxvY2tCYXNlICYge1xuICAgIHJlYWRvbmx5IGtpbmQ6ICdyZWxhdGlvblN1bW1hcnknO1xuICAgIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBCYWNrb2ZmaWNlUmVsYXRpb25TdW1tYXJ5VGlsZVNwZWM8Tm9kZT5bXTtcbiAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlbGF0aW9uU3VtbWFyeUJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VSZWxhdGlvblN1bW1hcnlHcm91cEJsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRpbWVsaW5lRXZlbnRTcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSB0aW1lc3RhbXA/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSB8IG51bGwgfCB1bmRlZmluZWRcbiAgPjtcbiAgcmVhZG9ubHkgc3RhdGU/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVN0YXR1c1ZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZFxuICA+O1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbFxuICA+O1xuICByZWFkb25seSBhY3Rvcj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IHBheWxvYWQ/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gdW5rbm93bj47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVGltZWxpbmVCbG9ja1NwZWM8Tm9kZT4gPSBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gIHJlYWRvbmx5IGtpbmQ6ICd0aW1lbGluZSc7XG4gIHJlYWRvbmx5IGV2ZW50czogcmVhZG9ubHkgQmFja29mZmljZVRpbWVsaW5lRXZlbnRTcGVjPE5vZGU+W107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQXVkaXRJdGVtU3BlYzxOb2RlPiA9IHtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcmVhZG9ubHkgdGltZXN0YW1wPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bWJlciB8IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkXG4gID47XG4gIHJlYWRvbmx5IGFjdG9yPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgc291cmNlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBdWRpdEJsb2NrU3BlYzxOb2RlPiA9IEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgcmVhZG9ubHkga2luZDogJ2F1ZGl0JztcbiAgcmVhZG9ubHkgaXRlbXM6IHJlYWRvbmx5IEJhY2tvZmZpY2VBdWRpdEl0ZW1TcGVjPE5vZGU+W107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVmZXJlbmNlU3BlYzxOb2RlPiA9IHtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcmVhZG9ubHkgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IGhyZWY/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD47XG4gIHJlYWRvbmx5IGNvcHlWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4gID47XG4gIHJlYWRvbmx5IHJlZktpbmQ/OlxuICAgICdpZCcgfCAnc2x1ZycgfCAncGF0aCcgfCAndXJsJyB8ICdoYXNoJyB8ICdleHRlcm5hbCcgfCAndGV4dCc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVmZXJlbmNlR3JvdXBCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gICAgcmVhZG9ubHkga2luZDogJ3JlZmVyZW5jZXMnO1xuICAgIHJlYWRvbmx5IHJlZmVyZW5jZXM6IHJlYWRvbmx5IEJhY2tvZmZpY2VSZWZlcmVuY2VTcGVjPE5vZGU+W107XG4gIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQYXlsb2FkRm9ybWF0ID0gJ2pzb24nIHwgJ21hcmtkb3duJyB8ICd0ZXh0JyB8ICdjb2RlJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBheWxvYWRCbG9ja1NwZWM8Tm9kZT4gPSBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gIHJlYWRvbmx5IGtpbmQ6ICdwYXlsb2FkJztcbiAgcmVhZG9ubHkgZm9ybWF0PzogQmFja29mZmljZVBheWxvYWRGb3JtYXQ7XG4gIHJlYWRvbmx5IHN1bW1hcnk/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHVua25vd24+O1xuICByZWFkb25seSBkZWZhdWx0Q29sbGFwc2VkPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZW1wdHlMYWJlbD86IEkxOG5MYWJlbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBY3Rpb25SZXN1bHRCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gICAgcmVhZG9ubHkga2luZDogJ2FjdGlvblJlc3VsdCc7XG4gICAgcmVhZG9ubHkgc3RhdHVzPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgICAobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVN0YXR1c1ZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZFxuICAgID47XG4gICAgcmVhZG9ubHkgbWVzc2FnZT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gICAgcmVhZG9ubHkgcmVmZXJlbmNlcz86IHJlYWRvbmx5IEJhY2tvZmZpY2VSZWZlcmVuY2VTcGVjPE5vZGU+W107XG4gICAgcmVhZG9ubHkgcGF5bG9hZD86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiB1bmtub3duPjtcbiAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRlY2huaWNhbEZhY3RzQmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZVNlbWFudGljQmxvY2tCYXNlICYge1xuICAgIHJlYWRvbmx5IGtpbmQ6ICd0ZWNobmljYWxGYWN0cyc7XG4gICAgcmVhZG9ubHkgZmFjdHM6IHJlYWRvbmx5IEJhY2tvZmZpY2VWYWx1ZVNwZWM8Tm9kZT5bXTtcbiAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVNlbWFudGljRGV0YWlsQmxvY2tTcGVjPE5vZGU+ID1cbiAgfCBCYWNrb2ZmaWNlU3VtbWFyeUJsb2NrU3BlYzxOb2RlPlxuICB8IEJhY2tvZmZpY2VNZXRyaWNHcm91cEJsb2NrU3BlYzxOb2RlPlxuICB8IEJhY2tvZmZpY2VTdGF0ZUdyb3VwQmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZUNvbnRleHRTdGFja0Jsb2NrU3BlYzxOb2RlPlxuICB8IEJhY2tvZmZpY2VSZWxhdGlvblN1bW1hcnlHcm91cEJsb2NrU3BlYzxOb2RlPlxuICB8IEJhY2tvZmZpY2VUaW1lbGluZUJsb2NrU3BlYzxOb2RlPlxuICB8IEJhY2tvZmZpY2VBdWRpdEJsb2NrU3BlYzxOb2RlPlxuICB8IEJhY2tvZmZpY2VSZWZlcmVuY2VHcm91cEJsb2NrU3BlYzxOb2RlPlxuICB8IEJhY2tvZmZpY2VQYXlsb2FkQmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZUFjdGlvblJlc3VsdEJsb2NrU3BlYzxOb2RlPlxuICB8IEJhY2tvZmZpY2VUZWNobmljYWxGYWN0c0Jsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUZsYWdWYXJpYW50ID1cbiAgfCAneWVzTm8nXG4gIHwgJ2NhcGFiaWxpdHknXG4gIHwgJ2VuYWJsZWQnXG4gIHwgJ2ZhaWx1cmUnXG4gIHwgJ2VuY3J5cHRlZCdcbiAgfCAnbG9ja2VkJ1xuICB8ICdkZWZhdWx0J1xuICB8ICdhZ2VudE1hbmFnZWQnXG4gIHwgJ2RlcGxveWVkUHJvZHVjdGlvbidcbiAgfCAnZm9yY2VkJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbEZpZWxkU3BlYzxOb2RlPiA9XG4gIHwge1xuICAgICAgdHlwZTogJ3RleHQnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHNpemU6IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgICAgIGNvcHlWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIGZ1bGxXaWR0aD86IGJvb2xlYW47XG4gICAgICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnYmFkZ2UnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHNpemU6IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgICAgIHRvbmU/OlxuICAgICAgICB8IEJhY2tvZmZpY2VCYWRnZVRvbmVcbiAgICAgICAgfCBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZUJhZGdlVG9uZT47XG4gICAgICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnYmFkZ2VSb3cnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHNpemU6IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICBpdGVtczogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHJlYWRvbmx5IEJhY2tvZmZpY2VCYWRnZUl0ZW1bXT47XG4gICAgICBmdWxsV2lkdGg/OiBib29sZWFuO1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2RhdGVUaW1lJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudW1iZXIgfCBudWxsPjtcbiAgICAgIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdudW1iZXInO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHNpemU6IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IG51bWJlciB8IG51bGw+O1xuICAgICAgZm9ybWF0PzogQmFja29mZmljZU51bWJlckZvcm1hdDtcbiAgICAgIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdmbGFnJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBib29sZWFuIHwgbnVsbD47XG4gICAgICB2YXJpYW50OiBCYWNrb2ZmaWNlRmxhZ1ZhcmlhbnQ7XG4gICAgICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnZW50aXR5UmVmJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgZW50aXR5OiBzdHJpbmc7XG4gICAgICBpZDogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGw+O1xuICAgICAgdmFsdWU/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbD47XG4gICAgICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAndGVjaG5pY2FsSWRlbnRpZmllcic7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgbnVsbD47XG4gICAgICB2YXJpYW50PzogJ2lkJyB8ICdoYXNoJyB8ICd0b2tlbicgfCAnZmluZ2VycHJpbnQnIHwgJ2V4dGVybmFsJztcbiAgICAgIGNvcHlWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIGZ1bGxXaWR0aD86IGJvb2xlYW47XG4gICAgICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnbGluayc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIGhyZWY6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgbnVsbD47XG4gICAgICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAndGFnZ2VkVmFsdWUnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHNpemU6IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICB0YWc6IEJpdmFyaWFudENhbGxiYWNrPFxuICAgICAgICAobm9kZTogTm9kZSkgPT4ge1xuICAgICAgICAgIGxhYmVsOiBzdHJpbmcgfCBJMThuTGFiZWw7XG4gICAgICAgICAgdG9uZT86IEJhY2tvZmZpY2VCYWRnZVRvbmU7XG4gICAgICAgIH0gfCBudWxsXG4gICAgICA+O1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlSW5saW5lVmFsdWVTcGVjPjtcbiAgICAgIGZ1bGxXaWR0aD86IGJvb2xlYW47XG4gICAgICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnY3VzdG9tJztcbiAgICAgIGxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIHJlbmRlcjogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHVua25vd24+O1xuICAgICAgZnVsbFdpZHRoPzogYm9vbGVhbjtcbiAgICAgIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbEhlYWRlckNvbmZpZzxOb2RlPiA9IHtcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgdGl0bGVWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlLCB0OiBURnVuY3Rpb24pID0+IHN0cmluZyB8IG51bGw+O1xuICBzdWJ0aXRsZT86IEkxOG5MYWJlbDtcbiAgc3VidGl0bGVWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlLCB0OiBURnVuY3Rpb24pID0+IHN0cmluZyB8IG51bGxcbiAgPjtcbiAgc3VidGl0bGVJdGVtcz86IHJlYWRvbmx5IEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJTdWJ0aXRsZUl0ZW08Tm9kZT5bXTtcbiAgc3VidGl0bGVTZXBhcmF0b3I/OiBzdHJpbmc7XG4gIGlkPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGw+O1xuICBiYWRnZXM/OiByZWFkb25seSB7XG4gICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgICB0b25lPzpcbiAgICAgIHwgQmFja29mZmljZUJhZGdlVG9uZVxuICAgICAgfCBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZUJhZGdlVG9uZT47XG4gIH1bXTtcbiAgc3RhdHVzPzogQmFja29mZmljZURldGFpbEhlYWRlclN0YXR1c1NwZWM8Tm9kZT47XG4gIG1ldGE/OiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsSGVhZGVyTWV0YVNwZWM8Tm9kZT5bXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlSZWxhdGlvblNwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHRhcmdldDogc3RyaW5nO1xuICByZWFkb25seSB3aGVyZUtleTogc3RyaW5nO1xuICByZWFkb25seSB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGw+O1xuICByZWFkb25seSBwYXRoPzogcmVhZG9ubHkgc3RyaW5nW107XG4gIHJlYWRvbmx5IGZpbHRlcklkPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFNlY3Rpb25Db25maWc8Tm9kZT4gPSB7XG4gIGlkPzogc3RyaW5nO1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICBkZXNjcmlwdGlvbj86IEkxOG5MYWJlbDtcbiAgZmllbGRzOiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsRmllbGRTcGVjPE5vZGU+W107XG4gIHBsYWNlbWVudD86IEJhY2tvZmZpY2VEZXRhaWxQbGFjZW1lbnQ7XG4gIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRmllbGRTZXRCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlRGV0YWlsU2VjdGlvbkNvbmZpZzxOb2RlPiAmIHtcbiAgICBraW5kOiAnZmllbGRTZXQnO1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsVGFibGVCbG9ja1NwZWM8Tm9kZSwgUm93PiA9IHtcbiAga2luZDogJ3RhYmxlJztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gIGNvbHVtbnM6IHJlYWRvbmx5IEJhY2tvZmZpY2VDb2x1bW5TcGVjPFJvdz5bXTtcbiAgcm93czogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHJlYWRvbmx5IFJvd1tdPjtcbiAgcGxhY2VtZW50PzogQmFja29mZmljZURldGFpbFBsYWNlbWVudDtcbiAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUYWJsZUJsb2NrU3BlYzxcbiAgTm9kZSxcbiAgUm93ID0gdW5rbm93bixcbj4gPSBCYWNrb2ZmaWNlRGV0YWlsVGFibGVCbG9ja1NwZWM8Tm9kZSwgUm93PjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUN1c3RvbUJsb2NrU3BlYzxOb2RlPiA9IHtcbiAga2luZDogJ2N1c3RvbSc7XG4gIGxhYmVsPzogSTE4bkxhYmVsO1xuICByZW5kZXI6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiB1bmtub3duPjtcbiAgcGxhY2VtZW50PzogQmFja29mZmljZURldGFpbFBsYWNlbWVudDtcbiAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxCbG9ja1NwZWM8Tm9kZT4gPVxuICB8IEJhY2tvZmZpY2VTZW1hbnRpY0RldGFpbEJsb2NrU3BlYzxOb2RlPlxuICB8IEJhY2tvZmZpY2VEZXRhaWxUYWJsZUJsb2NrU3BlYzxOb2RlLCBCYWNrb2ZmaWNlRXJhc2VkVmFsdWU+XG4gIHwgQmFja29mZmljZUN1c3RvbUJsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbENvbnRlbnRTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZUZpZWxkU2V0QmxvY2tTcGVjPE5vZGU+IHwgQmFja29mZmljZURldGFpbEJsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFZpZXdMYXlvdXRTcGVjID0ge1xuICByZWFkb25seSBkZW5zaXR5PzogQmFja29mZmljZURlbnNpdHk7XG4gIHJlYWRvbmx5IGNvbHVtbnM/OiAnYXV0bycgfCAnc2luZ2xlJyB8ICdtYWluU2lkZSc7XG4gIHJlYWRvbmx5IHRlY2huaWNhbERlZmF1bHRDb2xsYXBzZWQ/OiBib29sZWFuO1xuICByZWFkb25seSBzaWRlQ29sdW1uPzoge1xuICAgIHJlYWRvbmx5IHdpZHRoPzogJ25hcnJvdycgfCAnbWVkaXVtJyB8ICd3aWRlJztcbiAgICByZWFkb25seSBzdGlja3k/OiBib29sZWFuO1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VWaWV3U3BlYzxOb2RlPiA9IHtcbiAgcmVhZG9ubHkgdGl0bGU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IHN1YnRpdGxlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgZXllYnJvdz86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IHN0YXR1cz86IEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJTdGF0dXNTcGVjPE5vZGU+O1xuICByZWFkb25seSByZWZlcmVuY2VzPzogcmVhZG9ubHkgQmFja29mZmljZVJlZmVyZW5jZVNwZWM8Tm9kZT5bXTtcbiAgcmVhZG9ubHkgYWN0aW9ucz86IHJlYWRvbmx5IEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25TcGVjPE5vZGU+W107XG4gIHJlYWRvbmx5IGxheW91dD86IEJhY2tvZmZpY2VEZXRhaWxWaWV3TGF5b3V0U3BlYztcbiAgcmVhZG9ubHkgYmxvY2tzOiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsQ29udGVudFNwZWM8Tm9kZT5bXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlRGF0YUNvbnRleHQgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGRldGFpbElkPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VWYXJpYWJsZXNSZXN1bHQ8RGV0YWlsUXVlcnlWYXJpYWJsZXM+ID0ge1xuICB2YXJpYWJsZXM6IERldGFpbFF1ZXJ5VmFyaWFibGVzO1xuICBkZXRhaWxJZD86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxWYXJpYWJsZXM8RGV0YWlsUXVlcnlWYXJpYWJsZXM+ID1cbiAgQmFja29mZmljZURldGFpbFBhZ2VWYXJpYWJsZXNSZXN1bHQ8RGV0YWlsUXVlcnlWYXJpYWJsZXM+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTm9kZVF1ZXJ5UmVzcG9uc2U8Tm9kZVJlZj4gPSB7XG4gIHJlYWRvbmx5IG5vZGU/OiBOb2RlUmVmIHwgbnVsbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBbGlhc2VkTm9kZVF1ZXJ5UmVzcG9uc2U8XG4gIEFsaWFzIGV4dGVuZHMgc3RyaW5nLFxuICBOb2RlUmVmLFxuPiA9IHtcbiAgcmVhZG9ubHkgbm9kZT86XG4gICAgfCAoUmVhZG9ubHk8UGFydGlhbDxSZWNvcmQ8QWxpYXMsIE5vZGVSZWYgfCBudWxsPj4+ICYge1xuICAgICAgICByZWFkb25seSBfX3R5cGVuYW1lPzogc3RyaW5nO1xuICAgICAgfSlcbiAgICB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQWxpYXNlZFBpY2tlclZhbHVlUmVzcG9uc2U8XG4gIEFsaWFzIGV4dGVuZHMgc3RyaW5nLFxuICBSb3dSZWYsXG4+ID0gQmFja29mZmljZUFsaWFzZWROb2RlUXVlcnlSZXNwb25zZTxBbGlhcywgUm93UmVmPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VEYXRhU3BlYzxcbiAgRGV0YWlsVmlldyxcbiAgRGV0YWlsRGF0YSA9IERldGFpbFZpZXcsXG4gIERldGFpbFF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIERldGFpbEZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgRGV0YWlsUXVlcnlWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSB7XG4gIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgZnJhZ21lbnQ6IEdyYXBoUUxUYWdnZWROb2RlO1xuICByZXNvbHZlTm9kZTogKFxuICAgIGRhdGE6IERldGFpbFF1ZXJ5RGF0YSxcbiAgICBjb250ZXh0OiBCYWNrb2ZmaWNlRGV0YWlsUGFnZURhdGFDb250ZXh0LFxuICApID0+IERldGFpbEZyYWdtZW50S2V5IHwgbnVsbDtcbiAgdG9WaWV3OiBCaXZhcmlhbnRDYWxsYmFjazwoZGF0YTogRGV0YWlsRGF0YSkgPT4gRGV0YWlsVmlldz47XG4gIGJ1aWxkVmFyaWFibGVzPzogKGlucHV0OiB7XG4gICAgaWQ6IHN0cmluZztcbiAgfSkgPT4gQmFja29mZmljZURldGFpbFBhZ2VWYXJpYWJsZXNSZXN1bHQ8RGV0YWlsUXVlcnlWYXJpYWJsZXM+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFN0YW5kYXJkVGFiID1cbiAgJ292ZXJ2aWV3JyB8ICdyZWxhdGlvbnMnIHwgJ2FjdGl2aXR5JyB8ICdiaWxsaW5nJyB8ICd0ZWNobmljYWwnIHwgJ3Jhdyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxUaXRsZU1ldGFJdGVtID0ge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgdmFsdWU6IHN0cmluZztcbiAgdG9uZT86IEJhY2tvZmZpY2VCYWRnZVRvbmU7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0UHJvZmlsZTxEZXRhaWxWaWV3ID0gdW5rbm93bj4gPSB7XG4gIHN0YW5kYXJkVGFicz86IHJlYWRvbmx5IEJhY2tvZmZpY2VEZXRhaWxTdGFuZGFyZFRhYltdO1xuICBzdW1tYXJ5RmllbGRzPzogcmVhZG9ubHkgc3RyaW5nW107XG4gIHNjb3BlRmllbGRzPzogcmVhZG9ubHkgc3RyaW5nW107XG4gIHN0YXR1c0ZpZWxkcz86IHJlYWRvbmx5IHN0cmluZ1tdO1xuICB0ZWNobmljYWxHcm91cHNDb2xsYXBzZWQ/OiBib29sZWFuO1xuICByYXdHcm91cHNIaWRkZW5Gcm9tT3ZlcnZpZXc/OiBib29sZWFuO1xuICBzaWRlUmFpbD86IHtcbiAgICBncm91cHM6IHJlYWRvbmx5IEJhY2tvZmZpY2VEZXRhaWxDb250ZW50R3JvdXBbXTtcbiAgICBzdGlja3k/OiBib29sZWFuO1xuICB9O1xuICB0aXRsZU1ldGE/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogRGV0YWlsVmlldykgPT4gcmVhZG9ubHkgQmFja29mZmljZURldGFpbFRpdGxlTWV0YUl0ZW1bXVxuICA+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbExheW91dFNwZWM8XG4gIExheW91dFZpZXcsXG4gIExheW91dERhdGEgPSBMYXlvdXRWaWV3LFxuICBMYXlvdXRRdWVyeURhdGEgPSB1bmtub3duLFxuICBMYXlvdXRGcmFnbWVudEtleSA9IHVua25vd24sXG4gIExheW91dFF1ZXJ5VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID0gQmFja29mZmljZURldGFpbFBhZ2VEYXRhU3BlYzxcbiAgTGF5b3V0VmlldyxcbiAgTGF5b3V0RGF0YSxcbiAgTGF5b3V0UXVlcnlEYXRhLFxuICBMYXlvdXRGcmFnbWVudEtleSxcbiAgTGF5b3V0UXVlcnlWYXJpYWJsZXNcbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlU3BlYzxcbiAgRGV0YWlsVmlldyxcbiAgTGF5b3V0VmlldyA9IERldGFpbFZpZXcsXG4gIERldGFpbERhdGEgPSBEZXRhaWxWaWV3LFxuICBEZXRhaWxRdWVyeURhdGEgPSB1bmtub3duLFxuICBEZXRhaWxGcmFnbWVudEtleSA9IHVua25vd24sXG4gIERldGFpbFF1ZXJ5VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID0gQmFja29mZmljZURldGFpbFBhZ2VEYXRhU3BlYzxcbiAgRGV0YWlsVmlldyxcbiAgRGV0YWlsRGF0YSxcbiAgRGV0YWlsUXVlcnlEYXRhLFxuICBEZXRhaWxGcmFnbWVudEtleSxcbiAgRGV0YWlsUXVlcnlWYXJpYWJsZXNcbj4gJiB7XG4gIGlkOiBzdHJpbmc7XG4gIHBhdGg6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgY29udGVudDogcmVhZG9ubHkgQmFja29mZmljZURldGFpbENvbnRlbnRTcGVjPERldGFpbFZpZXc+W107XG4gIGFjdGlvbnM/OiByZWFkb25seSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uU3BlYzxEZXRhaWxWaWV3PltdO1xuICBpc1Zpc2libGU/OiBCaXZhcmlhbnRDYWxsYmFjazwobGF5b3V0UGFnZTogTGF5b3V0VmlldykgPT4gYm9vbGVhbj47XG4gIHByb2ZpbGU/OiBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0UHJvZmlsZTxEZXRhaWxWaWV3Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQaWNrZXJWYWx1ZUNvbmZpZzxcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBWYWx1ZVF1ZXJ5RGF0YSA9IHVua25vd24sXG4+ID0ge1xuICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIHJlc29sdmVSb3c6IChkYXRhOiBWYWx1ZVF1ZXJ5RGF0YSkgPT4gUm93UmVmIHwgbnVsbDtcbiAgdG9Sb3c6IEJpdmFyaWFudENhbGxiYWNrPChyb3dSZWY6IFJvd1JlZikgPT4gUm93Vmlldz47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5RGV0YWlsQ29uZmlnPFxuICBMYXlvdXREYXRhID0gdW5rbm93bixcbiAgTGF5b3V0VmlldyA9IHVua25vd24sXG4gIE1haW5EYXRhID0gTGF5b3V0RGF0YSxcbiAgTWFpblZpZXcgPSBMYXlvdXRWaWV3LFxuICBTdWJEYXRhID0gTWFpbkRhdGEsXG4gIFN1YlZpZXcgPSBNYWluVmlldyxcbiAgTGF5b3V0UXVlcnlEYXRhID0gdW5rbm93bixcbiAgTWFpblF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIFN1YlF1ZXJ5RGF0YSA9IE1haW5RdWVyeURhdGEsXG4gIExheW91dEZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgTWFpbkZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgU3ViRnJhZ21lbnRLZXkgPSBNYWluRnJhZ21lbnRLZXksXG4gIExheW91dFF1ZXJ5VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIE1haW5RdWVyeVZhcmlhYmxlcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBTdWJRdWVyeVZhcmlhYmxlcyA9IE1haW5RdWVyeVZhcmlhYmxlcyxcbj4gPSB7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIGhlYWRlcjogQmFja29mZmljZURldGFpbEhlYWRlckNvbmZpZzxMYXlvdXRWaWV3PjtcbiAgcmVsYXRpb25zPzogcmVhZG9ubHkgQmFja29mZmljZUVudGl0eVJlbGF0aW9uU3BlYzxMYXlvdXRWaWV3PltdO1xuICBwcm9maWxlPzogQmFja29mZmljZURldGFpbExheW91dFByb2ZpbGU8TGF5b3V0Vmlldz47XG4gIGxheW91dFBhZ2U6IEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRTcGVjPFxuICAgIExheW91dFZpZXcsXG4gICAgTGF5b3V0RGF0YSxcbiAgICBMYXlvdXRRdWVyeURhdGEsXG4gICAgTGF5b3V0RnJhZ21lbnRLZXksXG4gICAgTGF5b3V0UXVlcnlWYXJpYWJsZXNcbiAgPjtcbiAgbWFpblBhZ2U6IEJhY2tvZmZpY2VEZXRhaWxQYWdlU3BlYzxcbiAgICBNYWluVmlldyxcbiAgICBMYXlvdXRWaWV3LFxuICAgIE1haW5EYXRhLFxuICAgIE1haW5RdWVyeURhdGEsXG4gICAgTWFpbkZyYWdtZW50S2V5LFxuICAgIE1haW5RdWVyeVZhcmlhYmxlc1xuICA+O1xuICBzdWJQYWdlcz86IHJlYWRvbmx5IEJhY2tvZmZpY2VEZXRhaWxQYWdlU3BlYzxcbiAgICBTdWJWaWV3LFxuICAgIExheW91dFZpZXcsXG4gICAgU3ViRGF0YSxcbiAgICBTdWJRdWVyeURhdGEsXG4gICAgU3ViRnJhZ21lbnRLZXksXG4gICAgU3ViUXVlcnlWYXJpYWJsZXNcbiAgPltdO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eVBpY2tlckNvbmZpZzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgUGlja2VyRnJhZ21lbnREYXRhID0gdW5rbm93bixcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFZhbHVlUXVlcnlEYXRhID0gQmFja29mZmljZUFsaWFzZWRQaWNrZXJWYWx1ZVJlc3BvbnNlPHN0cmluZywgUm93UmVmPixcbj4gPSB7XG4gIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgZnJhZ21lbnQ6IEdyYXBoUUxUYWdnZWROb2RlO1xuICBidWlsZFF1ZXJ5VmFyaWFibGVzOiAoXG4gICAgaW5wdXQ6IEJhY2tvZmZpY2VQaWNrZXJRdWVyeUlucHV0PFRPcGVyYXRpb24sIFRXaGVyZT4sXG4gICkgPT4gVE9wZXJhdGlvblsndmFyaWFibGVzJ107XG4gIHZhbHVlPzogQmFja29mZmljZVBpY2tlclZhbHVlQ29uZmlnPFJvd1JlZiwgUm93VmlldywgVmFsdWVRdWVyeURhdGE+O1xuICBnZXRDb25uZWN0aW9uOiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAoZGF0YTogUGlja2VyRnJhZ21lbnREYXRhKSA9PiBCYWNrb2ZmaWNlQ29ubmVjdGlvbjxSb3dSZWY+XG4gID47XG4gIHRvUm93OiBCaXZhcmlhbnRDYWxsYmFjazwocm93UmVmOiBSb3dSZWYpID0+IFJvd1ZpZXc+O1xuICBnZXRSb3dJZDogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93VmlldykgPT4gc3RyaW5nPjtcbiAgc2VhcmNoRW5hYmxlZD86IGJvb2xlYW47XG4gIHNlYXJjaFJlcXVpcmVkPzogYm9vbGVhbjtcbiAgc2VhcmNoUGxhY2Vob2xkZXI/OiBJMThuTGFiZWw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVG9vbEVudGl0eUNvbmZpZyA9IHtcbiAga2luZDogJ3Rvb2wnO1xuICBpZDogc3RyaW5nO1xuICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgcm91dGU/OiBzdHJpbmc7XG4gIG9wZXJhdGlvbjogQmFja29mZmljZVRvb2xPcGVyYXRpb247XG4gIGxpc3Q/OiBuZXZlcjtcbiAgZGV0YWlsPzogbmV2ZXI7XG4gIHBpY2tlcj86IG5ldmVyO1xuICByb3V0ZXM/OiBuZXZlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0RmFjZXRDb25maWc8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIExpc3RGcmFnbWVudERhdGEsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICBUU29ydCBleHRlbmRzIHN0cmluZyA9IEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24+LFxuICBUQ291bnRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlID0gT3BlcmF0aW9uVHlwZSxcbiAgVEVudGl0eUlkIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nLFxuPiA9IHtcbiAga2luZDogJ2xpc3QnO1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICBsaXN0OiBCYWNrb2ZmaWNlRW50aXR5TGlzdENvbmZpZzxcbiAgICBUT3BlcmF0aW9uLFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIExpc3RGcmFnbWVudERhdGEsXG4gICAgVFdoZXJlLFxuICAgIFRTb3J0LFxuICAgIFRDb3VudE9wZXJhdGlvbixcbiAgICBURW50aXR5SWRcbiAgPjtcbiAgbGlzdEFjdGlvbnM/OiByZWFkb25seSBCYWNrb2ZmaWNlTGlzdEFjdGlvblNwZWNbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgUGlja2VyRnJhZ21lbnREYXRhLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbiAgVmFsdWVRdWVyeURhdGEgPSBCYWNrb2ZmaWNlQWxpYXNlZFBpY2tlclZhbHVlUmVzcG9uc2U8c3RyaW5nLCBSb3dSZWY+LFxuPiA9IHtcbiAga2luZDogJ3BpY2tlcic7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIHBpY2tlcjogQmFja29mZmljZUVudGl0eVBpY2tlckNvbmZpZzxcbiAgICBUT3BlcmF0aW9uLFxuICAgIFJvd1JlZixcbiAgICBSb3dWaWV3LFxuICAgIFBpY2tlckZyYWdtZW50RGF0YSxcbiAgICBUV2hlcmUsXG4gICAgVmFsdWVRdWVyeURhdGFcbiAgPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlc1NwZWM8XG4gIExheW91dFZpZXcgPSB1bmtub3duLFxuICBQYWdlIGV4dGVuZHMgQmFja29mZmljZURldGFpbFBhZ2VSb3V0ZVNwZWM8TGF5b3V0Vmlldz4gPVxuICAgIEJhY2tvZmZpY2VEZXRhaWxQYWdlUm91dGVTcGVjPExheW91dFZpZXc+LFxuPiA9IHtcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgaGVhZGVyOiBCYWNrb2ZmaWNlRGV0YWlsSGVhZGVyQ29uZmlnPExheW91dFZpZXc+O1xuICBtYWluUGFnZTogUGFnZTtcbiAgc3ViUGFnZXM/OiByZWFkb25seSBQYWdlW107XG4gIGRlZmF1bHRQYWdlSWQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRGYWNldENvbmZpZzxcbiAgTGF5b3V0RGF0YSA9IHVua25vd24sXG4gIExheW91dFZpZXcgPSB1bmtub3duLFxuICBMYXlvdXRRdWVyeURhdGEgPSB1bmtub3duLFxuICBMYXlvdXRGcmFnbWVudEtleSA9IHVua25vd24sXG4gIExheW91dFF1ZXJ5VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID0ge1xuICBraW5kOiAnZGV0YWlsLWxheW91dCc7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGhlYWRlcjogQmFja29mZmljZURldGFpbEhlYWRlckNvbmZpZzxMYXlvdXRWaWV3PjtcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgcmVsYXRpb25zPzogcmVhZG9ubHkgQmFja29mZmljZUVudGl0eVJlbGF0aW9uU3BlYzxMYXlvdXRWaWV3PltdO1xuICBsYXlvdXRQYWdlOiBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0U3BlYzxcbiAgICBMYXlvdXRWaWV3LFxuICAgIExheW91dERhdGEsXG4gICAgTGF5b3V0UXVlcnlEYXRhLFxuICAgIExheW91dEZyYWdtZW50S2V5LFxuICAgIExheW91dFF1ZXJ5VmFyaWFibGVzXG4gID47XG4gIHBhZ2VzOiBCYWNrb2ZmaWNlRGV0YWlsUGFnZXNTcGVjPExheW91dFZpZXc+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VGYWNldENvbmZpZzxcbiAgTGF5b3V0VmlldyA9IHVua25vd24sXG4gIERldGFpbERhdGEgPSB1bmtub3duLFxuICBEZXRhaWxWaWV3ID0gdW5rbm93bixcbiAgRGV0YWlsUXVlcnlEYXRhID0gdW5rbm93bixcbiAgRGV0YWlsRnJhZ21lbnRLZXkgPSB1bmtub3duLFxuICBEZXRhaWxRdWVyeVZhcmlhYmxlcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiA9IHtcbiAga2luZDogJ2RldGFpbC1wYWdlJztcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgaGVhZGVyOiBCYWNrb2ZmaWNlRGV0YWlsSGVhZGVyQ29uZmlnPExheW91dFZpZXc+O1xuICBwYWdlOiBCYWNrb2ZmaWNlRGV0YWlsUGFnZVNwZWM8XG4gICAgRGV0YWlsVmlldyxcbiAgICBMYXlvdXRWaWV3LFxuICAgIERldGFpbERhdGEsXG4gICAgRGV0YWlsUXVlcnlEYXRhLFxuICAgIERldGFpbEZyYWdtZW50S2V5LFxuICAgIERldGFpbFF1ZXJ5VmFyaWFibGVzXG4gID47XG4gIHBhZ2VzOiBCYWNrb2ZmaWNlRGV0YWlsUGFnZXNTcGVjPExheW91dFZpZXc+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRvb2xGYWNldENvbmZpZyA9IHtcbiAga2luZDogJ3Rvb2wnO1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICB0b29sOiBCYWNrb2ZmaWNlVG9vbEVudGl0eUNvbmZpZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlGYWNldENvbmZpZ0Jhc2UgPVxuICB8IEJhY2tvZmZpY2VMaXN0RmFjZXRDb25maWdCYXNlXG4gIHwgQmFja29mZmljZVBpY2tlckZhY2V0Q29uZmlnQmFzZVxuICB8IEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRGYWNldENvbmZpZ0Jhc2VcbiAgfCBCYWNrb2ZmaWNlRGV0YWlsUGFnZUZhY2V0Q29uZmlnQmFzZVxuICB8IEJhY2tvZmZpY2VUb29sRmFjZXRDb25maWc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMb2FkZWRMaXN0RmFjZXRNb2R1bGUgPSB7XG4gIGtpbmQ6ICdsaXN0JztcbiAgaWQ6IHN0cmluZztcbiAgY29uZmlnOiBCYWNrb2ZmaWNlTGlzdEZhY2V0Q29uZmlnQmFzZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMb2FkZWRQaWNrZXJGYWNldE1vZHVsZSA9IHtcbiAga2luZDogJ3BpY2tlcic7XG4gIGlkOiBzdHJpbmc7XG4gIGNvbmZpZzogQmFja29mZmljZVBpY2tlckZhY2V0Q29uZmlnQmFzZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMb2FkZWREZXRhaWxMYXlvdXRGYWNldE1vZHVsZSA9IHtcbiAga2luZDogJ2RldGFpbC1sYXlvdXQnO1xuICBpZDogc3RyaW5nO1xuICBjb25maWc6IEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRGYWNldENvbmZpZ0Jhc2U7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTG9hZGVkRGV0YWlsUGFnZUZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAnZGV0YWlsLXBhZ2UnO1xuICBpZDogc3RyaW5nO1xuICBwYWdlSWQ6IHN0cmluZztcbiAgY29uZmlnOiBCYWNrb2ZmaWNlRGV0YWlsUGFnZUZhY2V0Q29uZmlnQmFzZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMb2FkZWRUb29sRmFjZXRNb2R1bGUgPSB7XG4gIGtpbmQ6ICd0b29sJztcbiAgaWQ6IHN0cmluZztcbiAgY29uZmlnOiBCYWNrb2ZmaWNlVG9vbEZhY2V0Q29uZmlnO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJ1bnRpbWVPcGVyYXRpb24gPSBPcGVyYXRpb25UeXBlICYge1xuICB2YXJpYWJsZXM6IHtcbiAgICBba2V5OiBzdHJpbmddOiB1bmtub3duO1xuICAgIHdoZXJlPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIHNvcnQ/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIGNvdW50PzogbnVtYmVyO1xuICAgIGN1cnNvcj86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIH07XG4gIHJlc3BvbnNlOiB1bmtub3duO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJ1bnRpbWVMaXN0RmFjZXRDb25maWcgPSBCYWNrb2ZmaWNlTGlzdEZhY2V0Q29uZmlnPFxuICBCYWNrb2ZmaWNlRXJhc2VkVmFsdWUsXG4gIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZSxcbiAgQmFja29mZmljZUVyYXNlZFZhbHVlLFxuICBCYWNrb2ZmaWNlRXJhc2VkVmFsdWUsXG4gIFJlY29yZDxzdHJpbmcsIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZT4sXG4gIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZVxuPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJ1bnRpbWVQaWNrZXJGYWNldENvbmZpZyA9IEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZzxcbiAgQmFja29mZmljZUVyYXNlZFZhbHVlLFxuICBCYWNrb2ZmaWNlRXJhc2VkVmFsdWUsXG4gIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZSxcbiAgQmFja29mZmljZUVyYXNlZFZhbHVlLFxuICBSZWNvcmQ8c3RyaW5nLCBCYWNrb2ZmaWNlRXJhc2VkVmFsdWU+LFxuICBCYWNrb2ZmaWNlRXJhc2VkVmFsdWVcbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMb2FkZWRFbnRpdHlGYWNldE1vZHVsZSA9XG4gIHwgQmFja29mZmljZUxvYWRlZExpc3RGYWNldE1vZHVsZVxuICB8IEJhY2tvZmZpY2VMb2FkZWRQaWNrZXJGYWNldE1vZHVsZVxuICB8IEJhY2tvZmZpY2VMb2FkZWREZXRhaWxMYXlvdXRGYWNldE1vZHVsZVxuICB8IEJhY2tvZmZpY2VMb2FkZWREZXRhaWxQYWdlRmFjZXRNb2R1bGVcbiAgfCBCYWNrb2ZmaWNlTG9hZGVkVG9vbEZhY2V0TW9kdWxlO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdEZhY2V0TG9hZGVyID1cbiAgKCkgPT4gUHJvbWlzZTxCYWNrb2ZmaWNlTG9hZGVkTGlzdEZhY2V0TW9kdWxlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBpY2tlckZhY2V0TG9hZGVyID1cbiAgKCkgPT4gUHJvbWlzZTxCYWNrb2ZmaWNlTG9hZGVkUGlja2VyRmFjZXRNb2R1bGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRMb2FkZXIgPVxuICAoKSA9PiBQcm9taXNlPEJhY2tvZmZpY2VMb2FkZWREZXRhaWxMYXlvdXRGYWNldE1vZHVsZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRMb2FkZXIgPSAoXG4gIHBhZ2VJZDogc3RyaW5nLFxuKSA9PiBQcm9taXNlPEJhY2tvZmZpY2VMb2FkZWREZXRhaWxQYWdlRmFjZXRNb2R1bGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVG9vbEZhY2V0TG9hZGVyID1cbiAgKCkgPT4gUHJvbWlzZTxCYWNrb2ZmaWNlTG9hZGVkVG9vbEZhY2V0TW9kdWxlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3REZXRhaWxGYWNldExvYWRlck1hcCA9IHtcbiAgbGlzdD86IEJhY2tvZmZpY2VMaXN0RmFjZXRMb2FkZXI7XG4gIHBpY2tlcj86IEJhY2tvZmZpY2VQaWNrZXJGYWNldExvYWRlcjtcbiAgZGV0YWlsTGF5b3V0OiBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRMb2FkZXI7XG4gIGRldGFpbFBhZ2U6IEJhY2tvZmZpY2VEZXRhaWxQYWdlRmFjZXRMb2FkZXI7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdERldGFpbFBpY2tlckZhY2V0TG9hZGVyTWFwID1cbiAgQmFja29mZmljZUxpc3REZXRhaWxGYWNldExvYWRlck1hcCAmIHtcbiAgICBwaWNrZXI6IEJhY2tvZmZpY2VQaWNrZXJGYWNldExvYWRlcjtcbiAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRvb2xGYWNldExvYWRlck1hcCA9IHtcbiAgdG9vbDogQmFja29mZmljZVRvb2xGYWNldExvYWRlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlGYWNldExvYWRlck1hcCA9XG4gIEJhY2tvZmZpY2VMaXN0RGV0YWlsRmFjZXRMb2FkZXJNYXAgfCBCYWNrb2ZmaWNlVG9vbEZhY2V0TG9hZGVyTWFwO1xuXG50eXBlIEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEJhc2UgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIHJvdXRlU2VnbWVudDogc3RyaW5nO1xuICBncm91cElkPzogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICBkZXRhaWxMYWJlbD86IEkxOG5MYWJlbDtcbiAgcm91dGVzOiBCYWNrb2ZmaWNlRW50aXR5Um91dGVNYW5pZmVzdDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0RGV0YWlsTWFuaWZlc3RJdGVtPFxuICBXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmcsXG4gIFMgZXh0ZW5kcyBTY2hlbWEgPSBTY2hlbWEsXG4+ID0gQmFja29mZmljZUVudGl0eU1hbmlmZXN0QmFzZSAmIHtcbiAga2luZDogJ2xpc3QtZGV0YWlsJztcbiAgZGV0YWlsUGFnZXM6IEJhY2tvZmZpY2VEZXRhaWxQYWdlTWFuaWZlc3Q7XG4gIGRlZmF1bHREZXRhaWxQYWdlSWQ6IHN0cmluZztcbn0gJiAoXG4gICAgfCB7XG4gICAgICAgIGhhc0xpc3Q6IHRydWU7XG4gICAgICAgIGxpc3ROYXZpZ2F0aW9uOiBCYWNrb2ZmaWNlTGlzdE5hdmlnYXRpb248V2hlcmUsIFNvcnQsIFM+O1xuICAgICAgICBmYWNldHM6IEJhY2tvZmZpY2VMaXN0RGV0YWlsRmFjZXRMb2FkZXJNYXAgJiB7XG4gICAgICAgICAgbGlzdDogQmFja29mZmljZUxpc3RGYWNldExvYWRlcjtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgaGFzTGlzdDogZmFsc2U7XG4gICAgICAgIGxpc3ROYXZpZ2F0aW9uPzogbmV2ZXI7XG4gICAgICAgIGZhY2V0czogT21pdDxCYWNrb2ZmaWNlTGlzdERldGFpbEZhY2V0TG9hZGVyTWFwLCAnbGlzdCc+ICYge1xuICAgICAgICAgIGxpc3Q/OiBuZXZlcjtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgKTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRvb2xNYW5pZmVzdEl0ZW0gPSBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RCYXNlICYge1xuICBraW5kOiAndG9vbCc7XG4gIGhhc0xpc3Q6IGZhbHNlO1xuICBsaXN0TmF2aWdhdGlvbj86IG5ldmVyO1xuICBkZXRhaWxQYWdlcz86IG5ldmVyO1xuICBkZWZhdWx0RGV0YWlsUGFnZUlkPzogbmV2ZXI7XG4gIGZhY2V0czogQmFja29mZmljZVRvb2xGYWNldExvYWRlck1hcDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW08XG4gIFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgU29ydCBleHRlbmRzIHN0cmluZyA9IHN0cmluZyxcbiAgUyBleHRlbmRzIFNjaGVtYSA9IFNjaGVtYSxcbj4gPVxuICBCYWNrb2ZmaWNlTGlzdERldGFpbE1hbmlmZXN0SXRlbTxXaGVyZSwgU29ydCwgUz4gfCBCYWNrb2ZmaWNlVG9vbE1hbmlmZXN0SXRlbTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eU1hbmlmZXN0TWFwID0gUmVjb3JkPFxuICBzdHJpbmcsXG4gIEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW1cbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VNYW5pZmVzdEVudGl0eUlkPFRNYW5pZmVzdD4gPSBFeHRyYWN0PFxuICBrZXlvZiBUTWFuaWZlc3QsXG4gIHN0cmluZ1xuPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU1hbmlmZXN0TGlzdEVudGl0eUlkPFRNYW5pZmVzdD4gPVxuICBzdHJpbmcgZXh0ZW5kcyBCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XG4gICAgPyBzdHJpbmdcbiAgICA6IHtcbiAgICAgICAgW1xuICAgICAgICAgIFRFbnRpdHlJZCBpbiBCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XG4gICAgICAgIF06IFRNYW5pZmVzdFtURW50aXR5SWRdIGV4dGVuZHMge1xuICAgICAgICAgIGtpbmQ6ICdsaXN0LWRldGFpbCc7XG4gICAgICAgICAgaGFzTGlzdDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICAgID8gVEVudGl0eUlkXG4gICAgICAgICAgOiBuZXZlcjtcbiAgICAgIH1bQmFja29mZmljZU1hbmlmZXN0RW50aXR5SWQ8VE1hbmlmZXN0Pl07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VNYW5pZmVzdExpc3RTdGF0ZUlucHV0PFxuICBUTWFuaWZlc3QsXG4gIFRFbnRpdHlJZCBleHRlbmRzIEJhY2tvZmZpY2VNYW5pZmVzdExpc3RFbnRpdHlJZDxUTWFuaWZlc3Q+LFxuPiA9XG4gIHN0cmluZyBleHRlbmRzIEJhY2tvZmZpY2VNYW5pZmVzdEVudGl0eUlkPFRNYW5pZmVzdD5cbiAgICA/IEJhY2tvZmZpY2VMaXN0TmF2aWdhdGlvblN0YXRlSW5wdXQ8UmVjb3JkPHN0cmluZywgdW5rbm93bj4sIHN0cmluZz5cbiAgICA6IFRFbnRpdHlJZCBleHRlbmRzIEJhY2tvZmZpY2VNYW5pZmVzdExpc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XG4gICAgICA/IFRNYW5pZmVzdFtURW50aXR5SWRdIGV4dGVuZHMge1xuICAgICAgICAgIGxpc3ROYXZpZ2F0aW9uOiB7XG4gICAgICAgICAgICBkZWZhdWx0czogQmFja29mZmljZUxpc3RTdGF0ZTxcbiAgICAgICAgICAgICAgaW5mZXIgV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgICAgICAgaW5mZXIgU29ydCBleHRlbmRzIHN0cmluZ1xuICAgICAgICAgICAgPjtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgID8gQmFja29mZmljZUxpc3ROYXZpZ2F0aW9uU3RhdGVJbnB1dDxXaGVyZSwgU29ydD5cbiAgICAgICAgOiBuZXZlclxuICAgICAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU1hbmlmZXN0RGV0YWlsRW50aXR5SWQ8VE1hbmlmZXN0PiA9XG4gIHN0cmluZyBleHRlbmRzIEJhY2tvZmZpY2VNYW5pZmVzdEVudGl0eUlkPFRNYW5pZmVzdD5cbiAgICA/IHN0cmluZ1xuICAgIDoge1xuICAgICAgICBbXG4gICAgICAgICAgVEVudGl0eUlkIGluIEJhY2tvZmZpY2VNYW5pZmVzdEVudGl0eUlkPFRNYW5pZmVzdD5cbiAgICAgICAgXTogVE1hbmlmZXN0W1RFbnRpdHlJZF0gZXh0ZW5kcyB7XG4gICAgICAgICAga2luZDogJ2xpc3QtZGV0YWlsJztcbiAgICAgICAgfVxuICAgICAgICAgID8gVEVudGl0eUlkXG4gICAgICAgICAgOiBuZXZlcjtcbiAgICAgIH1bQmFja29mZmljZU1hbmlmZXN0RW50aXR5SWQ8VE1hbmlmZXN0Pl07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VNYW5pZmVzdFRvb2xJZDxUTWFuaWZlc3Q+ID1cbiAgc3RyaW5nIGV4dGVuZHMgQmFja29mZmljZU1hbmlmZXN0RW50aXR5SWQ8VE1hbmlmZXN0PlxuICAgID8gc3RyaW5nXG4gICAgOiB7XG4gICAgICAgIFtcbiAgICAgICAgICBURW50aXR5SWQgaW4gQmFja29mZmljZU1hbmlmZXN0RW50aXR5SWQ8VE1hbmlmZXN0PlxuICAgICAgICBdOiBUTWFuaWZlc3RbVEVudGl0eUlkXSBleHRlbmRzIHtcbiAgICAgICAgICBraW5kOiAndG9vbCc7XG4gICAgICAgIH1cbiAgICAgICAgICA/IFRFbnRpdHlJZFxuICAgICAgICAgIDogbmV2ZXI7XG4gICAgICB9W0JhY2tvZmZpY2VNYW5pZmVzdEVudGl0eUlkPFRNYW5pZmVzdD5dO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTWFuaWZlc3REZXRhaWxQYWdlSWQ8XG4gIFRNYW5pZmVzdCxcbiAgVEVudGl0eUlkIGV4dGVuZHMgQmFja29mZmljZU1hbmlmZXN0RGV0YWlsRW50aXR5SWQ8VE1hbmlmZXN0Pixcbj4gPSBUTWFuaWZlc3RbVEVudGl0eUlkXSBleHRlbmRzIHtcbiAgZGV0YWlsUGFnZXM6IHJlYWRvbmx5IChpbmZlciBUUGFnZSlbXTtcbn1cbiAgPyBUUGFnZSBleHRlbmRzIHsgaWQ6IGluZmVyIFRQYWdlSWQgfVxuICAgID8gRXh0cmFjdDxUUGFnZUlkLCBzdHJpbmc+XG4gICAgOiBzdHJpbmdcbiAgOiBzdHJpbmc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZExpc3RGYWNldENvbmZpZzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgTGlzdEZyYWdtZW50RGF0YSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4gIFRDb3VudE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUgPSBPcGVyYXRpb25UeXBlLFxuPiA9IEJhY2tvZmZpY2VMaXN0RmFjZXRDb25maWc8XG4gIFRPcGVyYXRpb24sXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgTGlzdEZyYWdtZW50RGF0YSxcbiAgVFdoZXJlLFxuICBUU29ydCxcbiAgVENvdW50T3BlcmF0aW9uXG4+ICYge1xuICByb3V0ZXM6IEJhY2tvZmZpY2VFbnRpdHlSb3V0ZXM7XG4gIGxpc3ROYXZpZ2F0aW9uOiBCYWNrb2ZmaWNlTGlzdE5hdmlnYXRpb248VFdoZXJlLCBUU29ydD47XG4gIGxpc3RVcmxDb2RlYzogQmFja29mZmljZUxpc3RVcmxDb2RlYzxUV2hlcmUsIFRTb3J0PjtcbiAgbGlzdERlZmF1bHRzOiBCYWNrb2ZmaWNlTGlzdFN0YXRlPFRXaGVyZSwgVFNvcnQ+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkUGlja2VyRmFjZXRDb25maWc8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIFBpY2tlckZyYWdtZW50RGF0YSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4+ID0gQmFja29mZmljZVBpY2tlckZhY2V0Q29uZmlnPFxuICBUT3BlcmF0aW9uLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIFBpY2tlckZyYWdtZW50RGF0YSxcbiAgVFdoZXJlXG4+ICYge1xuICByb3V0ZXM6IEJhY2tvZmZpY2VFbnRpdHlSb3V0ZXM7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxMYXlvdXRGYWNldENvbmZpZzxcbiAgTGF5b3V0UmVmID0gdW5rbm93bixcbiAgTGF5b3V0VmlldyA9IHVua25vd24sXG4gIExheW91dFF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIExheW91dEZyYWdtZW50UmVmID0gdW5rbm93bixcbiAgTGF5b3V0UXVlcnlWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRDb25maWc8XG4gIExheW91dFJlZixcbiAgTGF5b3V0VmlldyxcbiAgTGF5b3V0UXVlcnlEYXRhLFxuICBMYXlvdXRGcmFnbWVudFJlZixcbiAgTGF5b3V0UXVlcnlWYXJpYWJsZXNcbj4gJiB7XG4gIHJvdXRlczogQmFja29mZmljZUVudGl0eVJvdXRlcztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbFBhZ2VGYWNldENvbmZpZzxcbiAgTGF5b3V0VmlldyA9IHVua25vd24sXG4gIERldGFpbFJlZiA9IHVua25vd24sXG4gIERldGFpbFZpZXcgPSB1bmtub3duLFxuICBEZXRhaWxRdWVyeURhdGEgPSB1bmtub3duLFxuICBEZXRhaWxGcmFnbWVudFJlZiA9IHVua25vd24sXG4gIERldGFpbFF1ZXJ5VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID0gQmFja29mZmljZURldGFpbFBhZ2VGYWNldENvbmZpZzxcbiAgTGF5b3V0VmlldyxcbiAgRGV0YWlsUmVmLFxuICBEZXRhaWxWaWV3LFxuICBEZXRhaWxRdWVyeURhdGEsXG4gIERldGFpbEZyYWdtZW50UmVmLFxuICBEZXRhaWxRdWVyeVZhcmlhYmxlc1xuPiAmIHtcbiAgcm91dGVzOiBCYWNrb2ZmaWNlRW50aXR5Um91dGVzO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkVG9vbEZhY2V0Q29uZmlnID0gQmFja29mZmljZVRvb2xGYWNldENvbmZpZyAmIHtcbiAgcm91dGU6IHN0cmluZztcbiAgcm91dGVzOiBCYWNrb2ZmaWNlRW50aXR5Um91dGVzO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkRW50aXR5RmFjZXRDb25maWdCYXNlID1cbiAgfCBCYWNrb2ZmaWNlUmVzb2x2ZWRMaXN0RmFjZXRDb25maWdCYXNlXG4gIHwgQmFja29mZmljZVJlc29sdmVkUGlja2VyRmFjZXRDb25maWdCYXNlXG4gIHwgQmFja29mZmljZVJlc29sdmVkRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlXG4gIHwgQmFja29mZmljZVJlc29sdmVkRGV0YWlsUGFnZUZhY2V0Q29uZmlnQmFzZVxuICB8IEJhY2tvZmZpY2VSZXNvbHZlZFRvb2xGYWNldENvbmZpZztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkTGlzdEZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAnbGlzdCc7XG4gIGlkOiBzdHJpbmc7XG4gIG1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBjb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZExpc3RGYWNldENvbmZpZ0Jhc2U7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWRQaWNrZXJGYWNldE1vZHVsZSA9IHtcbiAga2luZDogJ3BpY2tlcic7XG4gIGlkOiBzdHJpbmc7XG4gIG1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBjb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZFBpY2tlckZhY2V0Q29uZmlnQmFzZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbExheW91dEZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAnZGV0YWlsLWxheW91dCc7XG4gIGlkOiBzdHJpbmc7XG4gIG1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBjb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbExheW91dEZhY2V0Q29uZmlnQmFzZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbFBhZ2VGYWNldE1vZHVsZSA9IHtcbiAga2luZDogJ2RldGFpbC1wYWdlJztcbiAgaWQ6IHN0cmluZztcbiAgcGFnZUlkOiBzdHJpbmc7XG4gIG1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBjb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbFBhZ2VGYWNldENvbmZpZ0Jhc2U7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWRUb29sRmFjZXRNb2R1bGUgPSB7XG4gIGtpbmQ6ICd0b29sJztcbiAgaWQ6IHN0cmluZztcbiAgbWFuaWZlc3Q6IEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW07XG4gIGNvbmZpZzogQmFja29mZmljZVJlc29sdmVkVG9vbEZhY2V0Q29uZmlnO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkRW50aXR5RmFjZXRNb2R1bGUgPVxuICB8IEJhY2tvZmZpY2VSZXNvbHZlZExpc3RGYWNldE1vZHVsZVxuICB8IEJhY2tvZmZpY2VSZXNvbHZlZFBpY2tlckZhY2V0TW9kdWxlXG4gIHwgQmFja29mZmljZVJlc29sdmVkRGV0YWlsTGF5b3V0RmFjZXRNb2R1bGVcbiAgfCBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxQYWdlRmFjZXRNb2R1bGVcbiAgfCBCYWNrb2ZmaWNlUmVzb2x2ZWRUb29sRmFjZXRNb2R1bGU7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0RmFjZXRDb25maWdCYXNlID0gQmFja29mZmljZVJ1bnRpbWVMaXN0RmFjZXRDb25maWc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZ0Jhc2UgPVxuICBCYWNrb2ZmaWNlUnVudGltZVBpY2tlckZhY2V0Q29uZmlnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlID1cbiAgQmFja29mZmljZURldGFpbExheW91dEZhY2V0Q29uZmlnPFxuICAgIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZSxcbiAgICBCYWNrb2ZmaWNlRXJhc2VkVmFsdWUsXG4gICAgQmFja29mZmljZUVyYXNlZFZhbHVlLFxuICAgIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZSxcbiAgICBCYWNrb2ZmaWNlRXJhc2VkVmFsdWVcbiAgPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VGYWNldENvbmZpZ0Jhc2UgPVxuICBCYWNrb2ZmaWNlRGV0YWlsUGFnZUZhY2V0Q29uZmlnPFxuICAgIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZSxcbiAgICBCYWNrb2ZmaWNlRXJhc2VkVmFsdWUsXG4gICAgQmFja29mZmljZUVyYXNlZFZhbHVlLFxuICAgIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZSxcbiAgICBCYWNrb2ZmaWNlRXJhc2VkVmFsdWUsXG4gICAgQmFja29mZmljZUVyYXNlZFZhbHVlXG4gID47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZExpc3RGYWNldENvbmZpZ0Jhc2UgPVxuICBCYWNrb2ZmaWNlUmVzb2x2ZWRMaXN0RmFjZXRDb25maWc8XG4gICAgQmFja29mZmljZUVyYXNlZFZhbHVlLFxuICAgIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZSxcbiAgICBCYWNrb2ZmaWNlRXJhc2VkVmFsdWUsXG4gICAgQmFja29mZmljZUVyYXNlZFZhbHVlLFxuICAgIFJlY29yZDxzdHJpbmcsIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZT4sXG4gICAgQmFja29mZmljZUVyYXNlZFZhbHVlXG4gID47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZFBpY2tlckZhY2V0Q29uZmlnQmFzZSA9XG4gIEJhY2tvZmZpY2VSZXNvbHZlZFBpY2tlckZhY2V0Q29uZmlnPFxuICAgIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZSxcbiAgICBCYWNrb2ZmaWNlRXJhc2VkVmFsdWUsXG4gICAgQmFja29mZmljZUVyYXNlZFZhbHVlLFxuICAgIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZSxcbiAgICBSZWNvcmQ8c3RyaW5nLCBCYWNrb2ZmaWNlRXJhc2VkVmFsdWU+XG4gID47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbExheW91dEZhY2V0Q29uZmlnQmFzZSA9XG4gIEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbExheW91dEZhY2V0Q29uZmlnPFxuICAgIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZSxcbiAgICBCYWNrb2ZmaWNlRXJhc2VkVmFsdWUsXG4gICAgQmFja29mZmljZUVyYXNlZFZhbHVlLFxuICAgIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZSxcbiAgICBCYWNrb2ZmaWNlRXJhc2VkVmFsdWVcbiAgPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkRGV0YWlsUGFnZUZhY2V0Q29uZmlnQmFzZSA9XG4gIEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbFBhZ2VGYWNldENvbmZpZzxcbiAgICBCYWNrb2ZmaWNlRXJhc2VkVmFsdWUsXG4gICAgQmFja29mZmljZUVyYXNlZFZhbHVlLFxuICAgIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZSxcbiAgICBCYWNrb2ZmaWNlRXJhc2VkVmFsdWUsXG4gICAgQmFja29mZmljZUVyYXNlZFZhbHVlLFxuICAgIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZVxuICA+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZVJlc29sdmVkTGlzdEZhY2V0Q29uZmlnID1cbiAgQmFja29mZmljZVJlc29sdmVkTGlzdEZhY2V0Q29uZmlnQmFzZTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJ1bnRpbWVSZXNvbHZlZFBpY2tlckZhY2V0Q29uZmlnID1cbiAgQmFja29mZmljZVJlc29sdmVkUGlja2VyRmFjZXRDb25maWdCYXNlO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZUNvbm5lY3Rpb25MaXN0Q29uZmlnID1cbiAgQmFja29mZmljZUNvbm5lY3Rpb25MaXN0Q29uZmlnPFxuICAgIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZSxcbiAgICBCYWNrb2ZmaWNlRXJhc2VkVmFsdWUsXG4gICAgQmFja29mZmljZUVyYXNlZFZhbHVlLFxuICAgIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZSxcbiAgICBSZWNvcmQ8c3RyaW5nLCBCYWNrb2ZmaWNlRXJhc2VkVmFsdWU+LFxuICAgIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZVxuICA+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZUVudGl0eUxpc3RDb25maWcgPSBCYWNrb2ZmaWNlRW50aXR5TGlzdENvbmZpZzxcbiAgQmFja29mZmljZUVyYXNlZFZhbHVlLFxuICBCYWNrb2ZmaWNlRXJhc2VkVmFsdWUsXG4gIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZSxcbiAgQmFja29mZmljZUVyYXNlZFZhbHVlLFxuICBSZWNvcmQ8c3RyaW5nLCBCYWNrb2ZmaWNlRXJhc2VkVmFsdWU+LFxuICBCYWNrb2ZmaWNlRXJhc2VkVmFsdWVcbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lRW50aXR5UGlja2VyQ29uZmlnID0gQmFja29mZmljZUVudGl0eVBpY2tlckNvbmZpZzxcbiAgQmFja29mZmljZUVyYXNlZFZhbHVlLFxuICBCYWNrb2ZmaWNlRXJhc2VkVmFsdWUsXG4gIEJhY2tvZmZpY2VFcmFzZWRWYWx1ZSxcbiAgQmFja29mZmljZUVyYXNlZFZhbHVlLFxuICBSZWNvcmQ8c3RyaW5nLCBCYWNrb2ZmaWNlRXJhc2VkVmFsdWU+XG4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5RmFjZXRNb2R1bGVDYWNoZUVudHJ5ID0ge1xuICBzdGF0dXM6IEJhY2tvZmZpY2VFbnRpdHlNb2R1bGVTdGF0dXM7XG4gIHByb21pc2U/OiBQcm9taXNlPEJhY2tvZmZpY2VSZXNvbHZlZEVudGl0eUZhY2V0TW9kdWxlPjtcbiAgbW9kdWxlPzogQmFja29mZmljZVJlc29sdmVkRW50aXR5RmFjZXRNb2R1bGU7XG4gIGVycm9yPzogRXJyb3I7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVG9vbFZhcmlhYmxlc0NvbnRleHQgPSB7XG4gIHNjb3BlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgcnVuOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNsYXNzIEJhY2tvZmZpY2VUb29sVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBwdWJsaWMgbGFiZWw6IEkxOG5MYWJlbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IobGFiZWw6IEkxOG5MYWJlbCkge1xuICAgIHN1cGVyKCdCYWNrb2ZmaWNlIHRvb2wgdmFsaWRhdGlvbiBlcnJvcicpO1xuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVG9vbE9wZXJhdGlvbiA9IHtcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgc3VidGl0bGU/OiBJMThuTGFiZWw7XG4gIGlucHV0VHlwZVNETD86IHN0cmluZztcbiAgcXVlcnk6IEdyYXBoUUxUYWdnZWROb2RlO1xuICBpbnB1dHM/OiByZWFkb25seSBCYWNrb2ZmaWNlVG9vbElucHV0U3BlY1tdO1xuICBvdXRwdXRzPzogcmVhZG9ubHkgQmFja29mZmljZVRvb2xPdXRwdXRTcGVjW107XG4gIHJlbmRlcj86IChkYXRhOiB1bmtub3duKSA9PiB1bmtub3duO1xuICBzaG93UHJvamVjdFBpY2tlcj86IGJvb2xlYW47XG4gIGJ1aWxkVmFyaWFibGVzPzogKFxuICAgIGlucHV0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICBjb250ZXh0OiBCYWNrb2ZmaWNlVG9vbFZhcmlhYmxlc0NvbnRleHQsXG4gICkgPT4gUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVG9vbElucHV0U3BlYyA9XG4gIHwge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGtpbmQ6ICd0ZXh0JztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBwbGFjZWhvbGRlcj86IEkxOG5MYWJlbDtcbiAgICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGtpbmQ6ICdqc29uJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBwbGFjZWhvbGRlcj86IEkxOG5MYWJlbDtcbiAgICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGtpbmQ6ICdlbnVtJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBvcHRpb25zOiByZWFkb25seSB7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBJMThuTGFiZWwgfVtdO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAga2luZDogJ2Jvb2xlYW4nO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIGRlZmF1bHRWYWx1ZT86IGJvb2xlYW47XG4gICAgfVxuICB8IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBraW5kOiAnZW50aXR5SWQnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIGVudGl0eTogc3RyaW5nO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sT3V0cHV0U3BlYyA9XG4gIHwge1xuICAgICAga2luZDogJ3RhYmxlJztcbiAgICAgIGxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gICAgICBjb2x1bW5zOiByZWFkb25seSBCYWNrb2ZmaWNlQ29sdW1uU3BlY1tdO1xuICAgICAgcm93czogKGRhdGE6IHVua25vd24pID0+IHJlYWRvbmx5IHVua25vd25bXTtcbiAgICB9XG4gIHwge1xuICAgICAga2luZDogJ2NvZGUnO1xuICAgICAgbGFiZWw/OiBJMThuTGFiZWw7XG4gICAgICBkZXNjcmlwdGlvbj86IEkxOG5MYWJlbDtcbiAgICAgIHZhbHVlOiAoZGF0YTogdW5rbm93bikgPT4gc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICBraW5kOiAnanNvbic7XG4gICAgICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgICAgIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICAgICAgdmFsdWU6IChkYXRhOiB1bmtub3duKSA9PiB1bmtub3duO1xuICAgIH1cbiAgfCB7XG4gICAgICBraW5kOiAna2V5VmFsdWUnO1xuICAgICAgbGFiZWw/OiBJMThuTGFiZWw7XG4gICAgICBkZXNjcmlwdGlvbj86IEkxOG5MYWJlbDtcbiAgICAgIGl0ZW1zOiByZWFkb25seSB7XG4gICAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICAgIHZhbHVlOiAoZGF0YTogdW5rbm93bikgPT4gQmFja29mZmljZVZhbHVlTGFiZWw7XG4gICAgICB9W107XG4gICAgfVxuICB8IHtcbiAgICAgIGtpbmQ6ICdwYXlsb2FkJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBkZXNjcmlwdGlvbj86IEkxOG5MYWJlbDtcbiAgICAgIHZhbHVlOiAoZGF0YTogdW5rbm93bikgPT4gdW5rbm93bjtcbiAgICAgIGZvcm1hdD86ICdtYXJrZG93bicgfCAnanNvbicgfCAndGV4dCc7XG4gICAgfVxuICB8IHtcbiAgICAgIGtpbmQ6ICdjdXN0b20nO1xuICAgICAgbGFiZWw/OiBJMThuTGFiZWw7XG4gICAgICByZW5kZXI6IChkYXRhOiB1bmtub3duKSA9PiB1bmtub3duO1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDb25uZWN0aW9uPFJvdz4gPSB7XG4gIGVkZ2VzOiByZWFkb25seSB7IG5vZGU6IFJvdyB9W107XG4gIHRvdGFsQ291bnQ/OiBudW1iZXIgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3REZWZhdWx0czxXaGVyZSwgU29ydCBleHRlbmRzIHN0cmluZz4gPSB7XG4gIHdoZXJlOiBXaGVyZSB8IG51bGw7XG4gIHNvcnQ6IFNvcnQgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVByZXBhcmVkTGlzdFNoZWxsUm91dGUgPSB7XG4gIGVudGl0eUlkOiBzdHJpbmc7XG4gIGVudGl0eU1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVByZXBhcmVkTGlzdExheW91dFJvdXRlID1cbiAgQmFja29mZmljZVByZXBhcmVkTGlzdFNoZWxsUm91dGUgJiB7XG4gICAgZW50aXR5Q29uZmlnOiBCYWNrb2ZmaWNlUmVzb2x2ZWRMaXN0RmFjZXRDb25maWdCYXNlO1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUHJlcGFyZWRMaXN0RGF0YVJvdXRlID1cbiAgQmFja29mZmljZVByZXBhcmVkTGlzdExheW91dFJvdXRlICYge1xuICAgIHF1ZXJ5OiBQcmVsb2FkZWRRdWVyeTxPcGVyYXRpb25UeXBlPjtcbiAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVByZXBhcmVkRGV0YWlsRnJhbWVSb3V0ZSA9IHtcbiAgZW50aXR5SWQ6IHN0cmluZztcbiAgZW50aXR5TWFuaWZlc3Q6IEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW07XG4gIGlkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUHJlcGFyZWREZXRhaWxTaGVsbFJvdXRlID1cbiAgQmFja29mZmljZVByZXBhcmVkRGV0YWlsRnJhbWVSb3V0ZSAmIHtcbiAgICBwYWdlSWQ6IHN0cmluZyB8IG51bGw7XG4gICAgcGFnZVBhdGg6IHN0cmluZyB8IG51bGw7XG4gIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQcmVwYXJlZERldGFpbExheW91dERhdGFSb3V0ZSA9IHtcbiAgZW50aXR5SWQ6IHN0cmluZztcbiAgZW50aXR5TWFuaWZlc3Q6IEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW07XG4gIGVudGl0eUNvbmZpZzogQmFja29mZmljZVJlc29sdmVkRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlO1xuICBpZDogc3RyaW5nO1xuICBsYXlvdXRRdWVyeTogUHJlbG9hZGVkUXVlcnk8T3BlcmF0aW9uVHlwZT47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUHJlcGFyZWREZXRhaWxQYWdlQ29uZmlnUm91dGUgPSB7XG4gIGVudGl0eUlkOiBzdHJpbmc7XG4gIGVudGl0eU1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBlbnRpdHlDb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbExheW91dEZhY2V0Q29uZmlnQmFzZTtcbiAgaWQ6IHN0cmluZztcbiAgcGFnZUlkOiBzdHJpbmc7XG4gIHBhZ2VQYXRoOiBzdHJpbmc7XG4gIHBhZ2VDb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbFBhZ2VGYWNldENvbmZpZ0Jhc2U7XG4gIGRldGFpbElkPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVByZXBhcmVkRGV0YWlsUGFnZURhdGFSb3V0ZSA9IE9taXQ8XG4gIEJhY2tvZmZpY2VQcmVwYXJlZERldGFpbFBhZ2VDb25maWdSb3V0ZSxcbiAgJ2VudGl0eUNvbmZpZydcbj4gJiB7XG4gIHBhZ2VRdWVyeTogUHJlbG9hZGVkUXVlcnk8T3BlcmF0aW9uVHlwZT47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUHJlcGFyZWREZXRhaWxVbmtub3duUGFnZVJvdXRlID0ge1xuICBlbnRpdHlJZDogc3RyaW5nO1xuICBlbnRpdHlNYW5pZmVzdDogQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbTtcbiAgZW50aXR5Q29uZmlnOiBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxMYXlvdXRGYWNldENvbmZpZ0Jhc2U7XG4gIGlkOiBzdHJpbmc7XG4gIHBhZ2VQYXRoOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUHJlcGFyZWRUb29sUm91dGUgPSB7XG4gIGVudGl0eUlkOiBzdHJpbmc7XG4gIGVudGl0eU1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVByZXBhcmVkVG9vbENvbmZpZ1JvdXRlID0gQmFja29mZmljZVByZXBhcmVkVG9vbFJvdXRlICYge1xuICBlbnRpdHlDb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZFRvb2xGYWNldENvbmZpZztcbn07XG4iXX0=