@revxui/api-clients-ts 0.10.144 → 0.10.145

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 (136) hide show
  1. package/README.md +2 -2
  2. package/api/api.d.ts +3 -3
  3. package/api/dashboardController.service.d.ts +18 -33
  4. package/api/notificationsController.service.d.ts +66 -0
  5. package/api/pixelController.service.d.ts +9 -9
  6. package/bundles/revxui-api-clients-ts.umd.js +196 -466
  7. package/bundles/revxui-api-clients-ts.umd.js.map +1 -1
  8. package/bundles/revxui-api-clients-ts.umd.min.js +1 -1
  9. package/bundles/revxui-api-clients-ts.umd.min.js.map +1 -1
  10. package/esm2015/api/adminController.service.js +2 -2
  11. package/esm2015/api/advertiserController.service.js +2 -2
  12. package/esm2015/api/api.js +4 -4
  13. package/esm2015/api/appSettingsController.service.js +2 -2
  14. package/esm2015/api/appsFlyerAudienceController.service.js +2 -2
  15. package/esm2015/api/audienceController.service.js +2 -2
  16. package/esm2015/api/auditController.service.js +2 -2
  17. package/esm2015/api/bulkStrategyController.service.js +2 -2
  18. package/esm2015/api/cSSThemeController_.service.js +2 -2
  19. package/esm2015/api/campaignController.service.js +2 -2
  20. package/esm2015/api/catalogController.service.js +2 -2
  21. package/esm2015/api/clickDestinationController.service.js +2 -2
  22. package/esm2015/api/creativeController.service.js +2 -2
  23. package/esm2015/api/creativeTemplateThemesController.service.js +2 -2
  24. package/esm2015/api/creativeTemplateVariablesController.service.js +2 -2
  25. package/esm2015/api/creativeTemplatesController.service.js +2 -2
  26. package/esm2015/api/dashboardController.service.js +5 -46
  27. package/esm2015/api/notificationsController.service.js +160 -0
  28. package/esm2015/api/pixelController.service.js +9 -9
  29. package/esm2015/api/reportingController.service.js +2 -2
  30. package/esm2015/api/sliceXController.service.js +2 -2
  31. package/esm2015/api/strategyController.service.js +2 -2
  32. package/esm2015/api/uILoggerController.service.js +2 -2
  33. package/esm2015/api/userPreferenceController.service.js +2 -2
  34. package/esm2015/api.module.js +3 -3
  35. package/esm2015/model/apiListResponseNotificationResponse.js +1 -0
  36. package/esm2015/model/apiResponseObjectResponseMessage.js +1 -0
  37. package/esm2015/model/creativeCompactDTO.js +1 -1
  38. package/esm2015/model/creativeDTO.js +1 -1
  39. package/esm2015/model/creativeHtmlFile.js +31 -0
  40. package/esm2015/model/creativeHtmlMockupDTO.js +1 -1
  41. package/esm2015/model/creativeMockUpsDTO.js +1 -1
  42. package/esm2015/model/models.js +3 -6
  43. package/esm2015/model/notificationResponse.js +19 -0
  44. package/esm5/api/adminController.service.js +2 -2
  45. package/esm5/api/advertiserController.service.js +2 -2
  46. package/esm5/api/api.js +4 -4
  47. package/esm5/api/appSettingsController.service.js +2 -2
  48. package/esm5/api/appsFlyerAudienceController.service.js +2 -2
  49. package/esm5/api/audienceController.service.js +2 -2
  50. package/esm5/api/auditController.service.js +2 -2
  51. package/esm5/api/bulkStrategyController.service.js +2 -2
  52. package/esm5/api/cSSThemeController_.service.js +2 -2
  53. package/esm5/api/campaignController.service.js +2 -2
  54. package/esm5/api/catalogController.service.js +2 -2
  55. package/esm5/api/clickDestinationController.service.js +2 -2
  56. package/esm5/api/creativeController.service.js +2 -2
  57. package/esm5/api/creativeTemplateThemesController.service.js +2 -2
  58. package/esm5/api/creativeTemplateVariablesController.service.js +2 -2
  59. package/esm5/api/creativeTemplatesController.service.js +2 -2
  60. package/esm5/api/dashboardController.service.js +5 -48
  61. package/esm5/api/notificationsController.service.js +178 -0
  62. package/esm5/api/pixelController.service.js +9 -9
  63. package/esm5/api/reportingController.service.js +2 -2
  64. package/esm5/api/sliceXController.service.js +2 -2
  65. package/esm5/api/strategyController.service.js +2 -2
  66. package/esm5/api/uILoggerController.service.js +2 -2
  67. package/esm5/api/userPreferenceController.service.js +2 -2
  68. package/esm5/api.module.js +3 -3
  69. package/esm5/model/apiListResponseNotificationResponse.js +1 -0
  70. package/esm5/model/apiResponseObjectResponseMessage.js +1 -0
  71. package/esm5/model/creativeCompactDTO.js +1 -1
  72. package/esm5/model/creativeDTO.js +1 -1
  73. package/esm5/model/creativeHtmlFile.js +31 -0
  74. package/esm5/model/creativeHtmlMockupDTO.js +1 -1
  75. package/esm5/model/creativeMockUpsDTO.js +1 -1
  76. package/esm5/model/models.js +3 -6
  77. package/esm5/model/notificationResponse.js +19 -0
  78. package/fesm2015/revxui-api-clients-ts.js +180 -440
  79. package/fesm2015/revxui-api-clients-ts.js.map +1 -1
  80. package/fesm5/revxui-api-clients-ts.js +197 -467
  81. package/fesm5/revxui-api-clients-ts.js.map +1 -1
  82. package/model/{apiListResponseCreativeSetsListDashboardData.d.ts → apiListResponseNotificationResponse.d.ts} +3 -3
  83. package/model/{apiResponseObjectDashboardMetrics.d.ts → apiResponseObjectResponseMessage.d.ts} +3 -3
  84. package/model/creativeCompactDTO.d.ts +0 -1
  85. package/model/creativeDTO.d.ts +0 -4
  86. package/model/{creativeHtmlFileForSet.d.ts → creativeHtmlFile.d.ts} +3 -6
  87. package/model/creativeHtmlMockupDTO.d.ts +2 -2
  88. package/model/creativeMockUpsDTO.d.ts +2 -2
  89. package/model/models.d.ts +4 -15
  90. package/model/{advertiserLayoutVariables.d.ts → notificationResponse.d.ts} +10 -2
  91. package/package.json +1 -1
  92. package/revxui-api-clients-ts.metadata.json +1 -1
  93. package/api/creativeSetsController.service.d.ts +0 -130
  94. package/esm2015/api/creativeSetsController.service.js +0 -330
  95. package/esm2015/model/advertiserDynamicDetails.js +0 -1
  96. package/esm2015/model/advertiserLayoutVariables.js +0 -12
  97. package/esm2015/model/apiListResponseCreativeSetsListDashboardData.js +0 -1
  98. package/esm2015/model/apiResponseObjectAdvertiserDynamicDetails.js +0 -1
  99. package/esm2015/model/apiResponseObjectApiListResponseCreativeSetsListDashboardData.js +0 -1
  100. package/esm2015/model/apiResponseObjectCreativeSetDetails.js +0 -1
  101. package/esm2015/model/apiResponseObjectCreativeSetResponse.js +0 -1
  102. package/esm2015/model/apiResponseObjectDashboardMetrics.js +0 -1
  103. package/esm2015/model/apiResponseObjectListMapintResponseMessage.js +0 -1
  104. package/esm2015/model/creativeFileForSet.js +0 -20
  105. package/esm2015/model/creativeHtmlFileForSet.js +0 -31
  106. package/esm2015/model/creativeSetDetails.js +0 -16
  107. package/esm2015/model/creativeSetRequest.js +0 -16
  108. package/esm2015/model/creativeSetResponse.js +0 -12
  109. package/esm2015/model/creativeSetsListDashboardData.js +0 -16
  110. package/esm5/api/creativeSetsController.service.js +0 -356
  111. package/esm5/model/advertiserDynamicDetails.js +0 -1
  112. package/esm5/model/advertiserLayoutVariables.js +0 -12
  113. package/esm5/model/apiListResponseCreativeSetsListDashboardData.js +0 -1
  114. package/esm5/model/apiResponseObjectAdvertiserDynamicDetails.js +0 -1
  115. package/esm5/model/apiResponseObjectApiListResponseCreativeSetsListDashboardData.js +0 -1
  116. package/esm5/model/apiResponseObjectCreativeSetDetails.js +0 -1
  117. package/esm5/model/apiResponseObjectCreativeSetResponse.js +0 -1
  118. package/esm5/model/apiResponseObjectDashboardMetrics.js +0 -1
  119. package/esm5/model/apiResponseObjectListMapintResponseMessage.js +0 -1
  120. package/esm5/model/creativeFileForSet.js +0 -20
  121. package/esm5/model/creativeHtmlFileForSet.js +0 -31
  122. package/esm5/model/creativeSetDetails.js +0 -16
  123. package/esm5/model/creativeSetRequest.js +0 -16
  124. package/esm5/model/creativeSetResponse.js +0 -12
  125. package/esm5/model/creativeSetsListDashboardData.js +0 -16
  126. package/model/advertiserDynamicDetails.d.ts +0 -18
  127. package/model/apiResponseObjectAdvertiserDynamicDetails.d.ts +0 -17
  128. package/model/apiResponseObjectApiListResponseCreativeSetsListDashboardData.d.ts +0 -17
  129. package/model/apiResponseObjectCreativeSetDetails.d.ts +0 -17
  130. package/model/apiResponseObjectCreativeSetResponse.d.ts +0 -17
  131. package/model/apiResponseObjectListMapintResponseMessage.d.ts +0 -17
  132. package/model/creativeFileForSet.d.ts +0 -51
  133. package/model/creativeSetDetails.d.ts +0 -49
  134. package/model/creativeSetRequest.d.ts +0 -53
  135. package/model/creativeSetResponse.d.ts +0 -14
  136. package/model/creativeSetsListDashboardData.d.ts +0 -69
@@ -1,20 +0,0 @@
1
- export var CreativeFileForSet;
2
- (function (CreativeFileForSet) {
3
- CreativeFileForSet.TypeEnum = {
4
- Image: 'image',
5
- Html: 'html',
6
- ZippedHTML: 'zippedHTML',
7
- Video: 'video',
8
- NativeAd: 'nativeAd',
9
- NativeVideo: 'nativeVideo',
10
- FbxImage: 'fbxImage',
11
- Flash: 'flash',
12
- FbNewsFeed: 'fbNewsFeed',
13
- FbRightColumn: 'fbRightColumn',
14
- FbAppInstall: 'fbAppInstall',
15
- FbAppEngagement: 'fbAppEngagement',
16
- ClickTracker: 'clickTracker',
17
- FbxImageNewsFeed: 'fbxImageNewsFeed'
18
- };
19
- })(CreativeFileForSet || (CreativeFileForSet = {}));
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRpdmVGaWxlRm9yU2V0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJldnh1aS9hcGktY2xpZW50cy10cy8iLCJzb3VyY2VzIjpbIm1vZGVsL2NyZWF0aXZlRmlsZUZvclNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQ0EsTUFBTSxLQUFXLGtCQUFrQixDQWtCbEM7QUFsQkQsV0FBaUIsa0JBQWtCO0lBRWxCLDJCQUFRLEdBQUc7UUFDcEIsS0FBSyxFQUFFLE9BQW1CO1FBQzFCLElBQUksRUFBRSxNQUFrQjtRQUN4QixVQUFVLEVBQUUsWUFBd0I7UUFDcEMsS0FBSyxFQUFFLE9BQW1CO1FBQzFCLFFBQVEsRUFBRSxVQUFzQjtRQUNoQyxXQUFXLEVBQUUsYUFBeUI7UUFDdEMsUUFBUSxFQUFFLFVBQXNCO1FBQ2hDLEtBQUssRUFBRSxPQUFtQjtRQUMxQixVQUFVLEVBQUUsWUFBd0I7UUFDcEMsYUFBYSxFQUFFLGVBQTJCO1FBQzFDLFlBQVksRUFBRSxjQUEwQjtRQUN4QyxlQUFlLEVBQUUsaUJBQTZCO1FBQzlDLFlBQVksRUFBRSxjQUEwQjtRQUN4QyxnQkFBZ0IsRUFBRSxrQkFBOEI7S0FDbkQsQ0FBQztBQUNOLENBQUMsRUFsQmdCLGtCQUFrQixLQUFsQixrQkFBa0IsUUFrQmxDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBcGkgRG9jdW1lbnRhdGlvblxuICogQXBpIERvY3VtZW50YXRpb25cbiAqXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMS4wXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5pbXBvcnQgeyBDcmVhdGl2ZVRoaXJkUGFydHlBZFRhZyB9IGZyb20gJy4vY3JlYXRpdmVUaGlyZFBhcnR5QWRUYWcnO1xuaW1wb3J0IHsgTmF0aXZlQXNzZXRQb2pvIH0gZnJvbSAnLi9uYXRpdmVBc3NldFBvam8nO1xuaW1wb3J0IHsgVmlkZW9Qcm9wZXJ0aWVzIH0gZnJvbSAnLi92aWRlb1Byb3BlcnRpZXMnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRpdmVGaWxlRm9yU2V0IHsgXG4gICAgYWRUYWc/OiBDcmVhdGl2ZVRoaXJkUGFydHlBZFRhZztcbiAgICBjb250ZW50VHlwZT86IHN0cmluZztcbiAgICBkY28/OiBib29sZWFuO1xuICAgIGVycm9yTXNnPzogc3RyaW5nO1xuICAgIGZhbGxiYWNrQ2xpY2tVcmw/OiBzdHJpbmc7XG4gICAgZmlsZVBhdGg/OiBzdHJpbmc7XG4gICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgIG1hY3JvTGlzdD86IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIF9uYXRpdmU/OiBib29sZWFuO1xuICAgIG5hdGl2ZUFzc2V0UG9qbz86IE5hdGl2ZUFzc2V0UG9qbztcbiAgICBub09mU2xvdHM/OiBudW1iZXI7XG4gICAgc2l6ZT86IHN0cmluZztcbiAgICB0eXBlPzogQ3JlYXRpdmVGaWxlRm9yU2V0LlR5cGVFbnVtO1xuICAgIHZpZGVvQXR0cmlidXRlPzogVmlkZW9Qcm9wZXJ0aWVzO1xuICAgIHdpZHRoPzogbnVtYmVyO1xufVxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGl2ZUZpbGVGb3JTZXQge1xuICAgIGV4cG9ydCB0eXBlIFR5cGVFbnVtID0gJ2ltYWdlJyB8ICdodG1sJyB8ICd6aXBwZWRIVE1MJyB8ICd2aWRlbycgfCAnbmF0aXZlQWQnIHwgJ25hdGl2ZVZpZGVvJyB8ICdmYnhJbWFnZScgfCAnZmxhc2gnIHwgJ2ZiTmV3c0ZlZWQnIHwgJ2ZiUmlnaHRDb2x1bW4nIHwgJ2ZiQXBwSW5zdGFsbCcgfCAnZmJBcHBFbmdhZ2VtZW50JyB8ICdjbGlja1RyYWNrZXInIHwgJ2ZieEltYWdlTmV3c0ZlZWQnO1xuICAgIGV4cG9ydCBjb25zdCBUeXBlRW51bSA9IHtcbiAgICAgICAgSW1hZ2U6ICdpbWFnZScgYXMgVHlwZUVudW0sXG4gICAgICAgIEh0bWw6ICdodG1sJyBhcyBUeXBlRW51bSxcbiAgICAgICAgWmlwcGVkSFRNTDogJ3ppcHBlZEhUTUwnIGFzIFR5cGVFbnVtLFxuICAgICAgICBWaWRlbzogJ3ZpZGVvJyBhcyBUeXBlRW51bSxcbiAgICAgICAgTmF0aXZlQWQ6ICduYXRpdmVBZCcgYXMgVHlwZUVudW0sXG4gICAgICAgIE5hdGl2ZVZpZGVvOiAnbmF0aXZlVmlkZW8nIGFzIFR5cGVFbnVtLFxuICAgICAgICBGYnhJbWFnZTogJ2ZieEltYWdlJyBhcyBUeXBlRW51bSxcbiAgICAgICAgRmxhc2g6ICdmbGFzaCcgYXMgVHlwZUVudW0sXG4gICAgICAgIEZiTmV3c0ZlZWQ6ICdmYk5ld3NGZWVkJyBhcyBUeXBlRW51bSxcbiAgICAgICAgRmJSaWdodENvbHVtbjogJ2ZiUmlnaHRDb2x1bW4nIGFzIFR5cGVFbnVtLFxuICAgICAgICBGYkFwcEluc3RhbGw6ICdmYkFwcEluc3RhbGwnIGFzIFR5cGVFbnVtLFxuICAgICAgICBGYkFwcEVuZ2FnZW1lbnQ6ICdmYkFwcEVuZ2FnZW1lbnQnIGFzIFR5cGVFbnVtLFxuICAgICAgICBDbGlja1RyYWNrZXI6ICdjbGlja1RyYWNrZXInIGFzIFR5cGVFbnVtLFxuICAgICAgICBGYnhJbWFnZU5ld3NGZWVkOiAnZmJ4SW1hZ2VOZXdzRmVlZCcgYXMgVHlwZUVudW1cbiAgICB9O1xufVxuIl19
@@ -1,31 +0,0 @@
1
- /**
2
- * Api Documentation
3
- * Api Documentation
4
- *
5
- * OpenAPI spec version: 1.0
6
- *
7
- *
8
- * NOTE: This class is auto generated by the swagger code generator program.
9
- * https://github.com/swagger-api/swagger-codegen.git
10
- * Do not edit the class manually.
11
- */
12
- export var CreativeHtmlFileForSet;
13
- (function (CreativeHtmlFileForSet) {
14
- CreativeHtmlFileForSet.TypeEnum = {
15
- Image: 'image',
16
- Html: 'html',
17
- ZippedHTML: 'zippedHTML',
18
- Video: 'video',
19
- NativeAd: 'nativeAd',
20
- NativeVideo: 'nativeVideo',
21
- FbxImage: 'fbxImage',
22
- Flash: 'flash',
23
- FbNewsFeed: 'fbNewsFeed',
24
- FbRightColumn: 'fbRightColumn',
25
- FbAppInstall: 'fbAppInstall',
26
- FbAppEngagement: 'fbAppEngagement',
27
- ClickTracker: 'clickTracker',
28
- FbxImageNewsFeed: 'fbxImageNewsFeed'
29
- };
30
- })(CreativeHtmlFileForSet || (CreativeHtmlFileForSet = {}));
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRpdmVIdG1sRmlsZUZvclNldC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZXZ4dWkvYXBpLWNsaWVudHMtdHMvIiwic291cmNlcyI6WyJtb2RlbC9jcmVhdGl2ZUh0bWxGaWxlRm9yU2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFvQkgsTUFBTSxLQUFXLHNCQUFzQixDQWtCdEM7QUFsQkQsV0FBaUIsc0JBQXNCO0lBRXRCLCtCQUFRLEdBQUc7UUFDcEIsS0FBSyxFQUFFLE9BQW1CO1FBQzFCLElBQUksRUFBRSxNQUFrQjtRQUN4QixVQUFVLEVBQUUsWUFBd0I7UUFDcEMsS0FBSyxFQUFFLE9BQW1CO1FBQzFCLFFBQVEsRUFBRSxVQUFzQjtRQUNoQyxXQUFXLEVBQUUsYUFBeUI7UUFDdEMsUUFBUSxFQUFFLFVBQXNCO1FBQ2hDLEtBQUssRUFBRSxPQUFtQjtRQUMxQixVQUFVLEVBQUUsWUFBd0I7UUFDcEMsYUFBYSxFQUFFLGVBQTJCO1FBQzFDLFlBQVksRUFBRSxjQUEwQjtRQUN4QyxlQUFlLEVBQUUsaUJBQTZCO1FBQzlDLFlBQVksRUFBRSxjQUEwQjtRQUN4QyxnQkFBZ0IsRUFBRSxrQkFBOEI7S0FDbkQsQ0FBQztBQUNOLENBQUMsRUFsQmdCLHNCQUFzQixLQUF0QixzQkFBc0IsUUFrQnRDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBcGkgRG9jdW1lbnRhdGlvblxuICogQXBpIERvY3VtZW50YXRpb25cbiAqXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMS4wXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGl2ZUh0bWxGaWxlRm9yU2V0IHsgXG4gICAgY29udGVudFR5cGU/OiBzdHJpbmc7XG4gICAgZGNvPzogYm9vbGVhbjtcbiAgICBkeW5hbWljSXRlbUxpc3Q/OiBzdHJpbmc7XG4gICAgZXJyb3JNc2c/OiBzdHJpbmc7XG4gICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgIGh0bWxDb250ZW50Pzogc3RyaW5nO1xuICAgIGxheW91dERpbWVuc2lvbklkPzogbnVtYmVyO1xuICAgIGxheW91dElkPzogbnVtYmVyO1xuICAgIGxheW91dE5hbWU/OiBzdHJpbmc7XG4gICAgbWFjcm9MaXN0Pzogc3RyaW5nO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgX25hdGl2ZT86IGJvb2xlYW47XG4gICAgbm9PZlNsb3RzPzogbnVtYmVyO1xuICAgIHR5cGU/OiBDcmVhdGl2ZUh0bWxGaWxlRm9yU2V0LlR5cGVFbnVtO1xuICAgIHdpZHRoPzogbnVtYmVyO1xufVxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGl2ZUh0bWxGaWxlRm9yU2V0IHtcbiAgICBleHBvcnQgdHlwZSBUeXBlRW51bSA9ICdpbWFnZScgfCAnaHRtbCcgfCAnemlwcGVkSFRNTCcgfCAndmlkZW8nIHwgJ25hdGl2ZUFkJyB8ICduYXRpdmVWaWRlbycgfCAnZmJ4SW1hZ2UnIHwgJ2ZsYXNoJyB8ICdmYk5ld3NGZWVkJyB8ICdmYlJpZ2h0Q29sdW1uJyB8ICdmYkFwcEluc3RhbGwnIHwgJ2ZiQXBwRW5nYWdlbWVudCcgfCAnY2xpY2tUcmFja2VyJyB8ICdmYnhJbWFnZU5ld3NGZWVkJztcbiAgICBleHBvcnQgY29uc3QgVHlwZUVudW0gPSB7XG4gICAgICAgIEltYWdlOiAnaW1hZ2UnIGFzIFR5cGVFbnVtLFxuICAgICAgICBIdG1sOiAnaHRtbCcgYXMgVHlwZUVudW0sXG4gICAgICAgIFppcHBlZEhUTUw6ICd6aXBwZWRIVE1MJyBhcyBUeXBlRW51bSxcbiAgICAgICAgVmlkZW86ICd2aWRlbycgYXMgVHlwZUVudW0sXG4gICAgICAgIE5hdGl2ZUFkOiAnbmF0aXZlQWQnIGFzIFR5cGVFbnVtLFxuICAgICAgICBOYXRpdmVWaWRlbzogJ25hdGl2ZVZpZGVvJyBhcyBUeXBlRW51bSxcbiAgICAgICAgRmJ4SW1hZ2U6ICdmYnhJbWFnZScgYXMgVHlwZUVudW0sXG4gICAgICAgIEZsYXNoOiAnZmxhc2gnIGFzIFR5cGVFbnVtLFxuICAgICAgICBGYk5ld3NGZWVkOiAnZmJOZXdzRmVlZCcgYXMgVHlwZUVudW0sXG4gICAgICAgIEZiUmlnaHRDb2x1bW46ICdmYlJpZ2h0Q29sdW1uJyBhcyBUeXBlRW51bSxcbiAgICAgICAgRmJBcHBJbnN0YWxsOiAnZmJBcHBJbnN0YWxsJyBhcyBUeXBlRW51bSxcbiAgICAgICAgRmJBcHBFbmdhZ2VtZW50OiAnZmJBcHBFbmdhZ2VtZW50JyBhcyBUeXBlRW51bSxcbiAgICAgICAgQ2xpY2tUcmFja2VyOiAnY2xpY2tUcmFja2VyJyBhcyBUeXBlRW51bSxcbiAgICAgICAgRmJ4SW1hZ2VOZXdzRmVlZDogJ2ZieEltYWdlTmV3c0ZlZWQnIGFzIFR5cGVFbnVtXG4gICAgfTtcbn1cbiJdfQ==
@@ -1,16 +0,0 @@
1
- export var CreativeSetDetails;
2
- (function (CreativeSetDetails) {
3
- CreativeSetDetails.TypeEnum = {
4
- IMAGE: 'IMAGE',
5
- VIDEO: 'VIDEO',
6
- THIRDPARTYADTAGS: 'THIRD_PARTY_AD_TAGS',
7
- ZIPPEDHTML: 'ZIPPED_HTML',
8
- NATIVEIMAGE: 'NATIVE_IMAGE',
9
- NATIVEVIDEO: 'NATIVE_VIDEO',
10
- DYNAMICIMAGE: 'DYNAMIC_IMAGE',
11
- DYNAMICMACRO: 'DYNAMIC_MACRO',
12
- DYNAMICHTML: 'DYNAMIC_HTML',
13
- DYNAMICVIDEO: 'DYNAMIC_VIDEO'
14
- };
15
- })(CreativeSetDetails || (CreativeSetDetails = {}));
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRpdmVTZXREZXRhaWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJldnh1aS9hcGktY2xpZW50cy10cy8iLCJzb3VyY2VzIjpbIm1vZGVsL2NyZWF0aXZlU2V0RGV0YWlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQ0EsTUFBTSxLQUFXLGtCQUFrQixDQWNsQztBQWRELFdBQWlCLGtCQUFrQjtJQUVsQiwyQkFBUSxHQUFHO1FBQ3BCLEtBQUssRUFBRSxPQUFtQjtRQUMxQixLQUFLLEVBQUUsT0FBbUI7UUFDMUIsZ0JBQWdCLEVBQUUscUJBQWlDO1FBQ25ELFVBQVUsRUFBRSxhQUF5QjtRQUNyQyxXQUFXLEVBQUUsY0FBMEI7UUFDdkMsV0FBVyxFQUFFLGNBQTBCO1FBQ3ZDLFlBQVksRUFBRSxlQUEyQjtRQUN6QyxZQUFZLEVBQUUsZUFBMkI7UUFDekMsV0FBVyxFQUFFLGNBQTBCO1FBQ3ZDLFlBQVksRUFBRSxlQUEyQjtLQUM1QyxDQUFDO0FBQ04sQ0FBQyxFQWRnQixrQkFBa0IsS0FBbEIsa0JBQWtCLFFBY2xDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBcGkgRG9jdW1lbnRhdGlvblxuICogQXBpIERvY3VtZW50YXRpb25cbiAqXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMS4wXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tICcuL2Jhc2VNb2RlbCc7XG5pbXBvcnQgeyBDcmVhdGl2ZURUTyB9IGZyb20gJy4vY3JlYXRpdmVEVE8nO1xuaW1wb3J0IHsgTWFjcm8gfSBmcm9tICcuL21hY3JvJztcbmltcG9ydCB7IE5hdGl2ZUFzc2V0UG9qbyB9IGZyb20gJy4vbmF0aXZlQXNzZXRQb2pvJztcbmltcG9ydCB7IFNpemUgfSBmcm9tICcuL3NpemUnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRpdmVTZXREZXRhaWxzIHsgXG4gICAgYWN0aXZlPzogYm9vbGVhbjtcbiAgICBhZHZlcnRpc2VyPzogQmFzZU1vZGVsO1xuICAgIGNsaWNrRGVzdGluYXRpb24/OiBCYXNlTW9kZWw7XG4gICAgY2xpY2tWZXJpZmllZD86IGJvb2xlYW47XG4gICAgY3JlYXRlZE9uPzogbnVtYmVyO1xuICAgIGNyZWF0aXZlRGltZW5zaW9ucz86IEFycmF5PFNpemU+O1xuICAgIGNyZWF0aXZlc0xpc3Q/OiBBcnJheTxDcmVhdGl2ZURUTz47XG4gICAgZmFsbGJhY2tDbGlja1VybD86IHN0cmluZztcbiAgICBpZD86IG51bWJlcjtcbiAgICBtYWNyb0xpc3Q/OiBBcnJheTxNYWNybz47XG4gICAgbW9kaWZpZWRPbj86IG51bWJlcjtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIG5hdGl2ZUFzc2V0UG9qbz86IE5hdGl2ZUFzc2V0UG9qbztcbiAgICBzdHJhdGVneUxpc3Q/OiBBcnJheTxCYXNlTW9kZWw+O1xuICAgIHRoZW1lPzogQmFzZU1vZGVsO1xuICAgIHR5cGU/OiBDcmVhdGl2ZVNldERldGFpbHMuVHlwZUVudW07XG59XG5leHBvcnQgbmFtZXNwYWNlIENyZWF0aXZlU2V0RGV0YWlscyB7XG4gICAgZXhwb3J0IHR5cGUgVHlwZUVudW0gPSAnSU1BR0UnIHwgJ1ZJREVPJyB8ICdUSElSRF9QQVJUWV9BRF9UQUdTJyB8ICdaSVBQRURfSFRNTCcgfCAnTkFUSVZFX0lNQUdFJyB8ICdOQVRJVkVfVklERU8nIHwgJ0RZTkFNSUNfSU1BR0UnIHwgJ0RZTkFNSUNfTUFDUk8nIHwgJ0RZTkFNSUNfSFRNTCcgfCAnRFlOQU1JQ19WSURFTyc7XG4gICAgZXhwb3J0IGNvbnN0IFR5cGVFbnVtID0ge1xuICAgICAgICBJTUFHRTogJ0lNQUdFJyBhcyBUeXBlRW51bSxcbiAgICAgICAgVklERU86ICdWSURFTycgYXMgVHlwZUVudW0sXG4gICAgICAgIFRISVJEUEFSVFlBRFRBR1M6ICdUSElSRF9QQVJUWV9BRF9UQUdTJyBhcyBUeXBlRW51bSxcbiAgICAgICAgWklQUEVESFRNTDogJ1pJUFBFRF9IVE1MJyBhcyBUeXBlRW51bSxcbiAgICAgICAgTkFUSVZFSU1BR0U6ICdOQVRJVkVfSU1BR0UnIGFzIFR5cGVFbnVtLFxuICAgICAgICBOQVRJVkVWSURFTzogJ05BVElWRV9WSURFTycgYXMgVHlwZUVudW0sXG4gICAgICAgIERZTkFNSUNJTUFHRTogJ0RZTkFNSUNfSU1BR0UnIGFzIFR5cGVFbnVtLFxuICAgICAgICBEWU5BTUlDTUFDUk86ICdEWU5BTUlDX01BQ1JPJyBhcyBUeXBlRW51bSxcbiAgICAgICAgRFlOQU1JQ0hUTUw6ICdEWU5BTUlDX0hUTUwnIGFzIFR5cGVFbnVtLFxuICAgICAgICBEWU5BTUlDVklERU86ICdEWU5BTUlDX1ZJREVPJyBhcyBUeXBlRW51bVxuICAgIH07XG59XG4iXX0=
@@ -1,16 +0,0 @@
1
- export var CreativeSetRequest;
2
- (function (CreativeSetRequest) {
3
- CreativeSetRequest.CreativeSetTypeEnum = {
4
- IMAGE: 'IMAGE',
5
- VIDEO: 'VIDEO',
6
- THIRDPARTYADTAGS: 'THIRD_PARTY_AD_TAGS',
7
- ZIPPEDHTML: 'ZIPPED_HTML',
8
- NATIVEIMAGE: 'NATIVE_IMAGE',
9
- NATIVEVIDEO: 'NATIVE_VIDEO',
10
- DYNAMICIMAGE: 'DYNAMIC_IMAGE',
11
- DYNAMICMACRO: 'DYNAMIC_MACRO',
12
- DYNAMICHTML: 'DYNAMIC_HTML',
13
- DYNAMICVIDEO: 'DYNAMIC_VIDEO'
14
- };
15
- })(CreativeSetRequest || (CreativeSetRequest = {}));
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRpdmVTZXRSZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJldnh1aS9hcGktY2xpZW50cy10cy8iLCJzb3VyY2VzIjpbIm1vZGVsL2NyZWF0aXZlU2V0UmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3Q0EsTUFBTSxLQUFXLGtCQUFrQixDQWNsQztBQWRELFdBQWlCLGtCQUFrQjtJQUVsQixzQ0FBbUIsR0FBRztRQUMvQixLQUFLLEVBQUUsT0FBOEI7UUFDckMsS0FBSyxFQUFFLE9BQThCO1FBQ3JDLGdCQUFnQixFQUFFLHFCQUE0QztRQUM5RCxVQUFVLEVBQUUsYUFBb0M7UUFDaEQsV0FBVyxFQUFFLGNBQXFDO1FBQ2xELFdBQVcsRUFBRSxjQUFxQztRQUNsRCxZQUFZLEVBQUUsZUFBc0M7UUFDcEQsWUFBWSxFQUFFLGVBQXNDO1FBQ3BELFdBQVcsRUFBRSxjQUFxQztRQUNsRCxZQUFZLEVBQUUsZUFBc0M7S0FDdkQsQ0FBQztBQUNOLENBQUMsRUFkZ0Isa0JBQWtCLEtBQWxCLGtCQUFrQixRQWNsQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQXBpIERvY3VtZW50YXRpb25cbiAqIEFwaSBEb2N1bWVudGF0aW9uXG4gKlxuICogT3BlbkFQSSBzcGVjIHZlcnNpb246IDEuMFxuICogXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSB0aGUgc3dhZ2dlciBjb2RlIGdlbmVyYXRvciBwcm9ncmFtLlxuICogaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItY29kZWdlbi5naXRcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqL1xuaW1wb3J0IHsgQmFzZU1vZGVsIH0gZnJvbSAnLi9iYXNlTW9kZWwnO1xuaW1wb3J0IHsgQ3JlYXRpdmVGaWxlRm9yU2V0IH0gZnJvbSAnLi9jcmVhdGl2ZUZpbGVGb3JTZXQnO1xuaW1wb3J0IHsgQ3JlYXRpdmVUaGlyZFBhcnR5QWRUYWcgfSBmcm9tICcuL2NyZWF0aXZlVGhpcmRQYXJ0eUFkVGFnJztcbmltcG9ydCB7IE5hdGl2ZUFzc2V0UG9qbyB9IGZyb20gJy4vbmF0aXZlQXNzZXRQb2pvJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0aXZlU2V0UmVxdWVzdCB7IFxuICAgIGFkVGFnPzogQ3JlYXRpdmVUaGlyZFBhcnR5QWRUYWc7XG4gICAgYWR2ZXJ0aXNlcj86IEJhc2VNb2RlbDtcbiAgICBhZHZlcnRpc2VyVGhlbWU/OiBCYXNlTW9kZWw7XG4gICAgY2xpY2tEZXN0aW5hdGlvbj86IEJhc2VNb2RlbDtcbiAgICBjcmVhdGVkQnk/OiBudW1iZXI7XG4gICAgY3JlYXRpb25UaW1lPzogbnVtYmVyO1xuICAgIGNyZWF0aXZlRmlsZXNMaXN0PzogQXJyYXk8Q3JlYXRpdmVGaWxlRm9yU2V0PjtcbiAgICBjcmVhdGl2ZVNldFR5cGU/OiBDcmVhdGl2ZVNldFJlcXVlc3QuQ3JlYXRpdmVTZXRUeXBlRW51bTtcbiAgICBjcmVhdGl2ZXNUb0RlTGluaz86IEFycmF5PEJhc2VNb2RlbD47XG4gICAgZGltZW5zaW9ucz86IEFycmF5PHN0cmluZz47XG4gICAgZW5kVGltZT86IG51bWJlcjtcbiAgICBmYWxsYmFja0NsaWNrVXJsPzogc3RyaW5nO1xuICAgIGlkPzogbnVtYmVyO1xuICAgIG1vZGlmaWVkQnk/OiBudW1iZXI7XG4gICAgbW9kaWZpZWRUaW1lPzogbnVtYmVyO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgbmF0aXZlQXNzZXRQb2pvPzogTmF0aXZlQXNzZXRQb2pvO1xuICAgIHByZXZpZXdVcmw/OiBzdHJpbmc7XG4gICAgc3RhcnRUaW1lPzogbnVtYmVyO1xuICAgIHN0cmF0ZWdpZXNUb0xpbms/OiBBcnJheTxCYXNlTW9kZWw+O1xuICAgIHVybFBhdGg/OiBzdHJpbmc7XG59XG5leHBvcnQgbmFtZXNwYWNlIENyZWF0aXZlU2V0UmVxdWVzdCB7XG4gICAgZXhwb3J0IHR5cGUgQ3JlYXRpdmVTZXRUeXBlRW51bSA9ICdJTUFHRScgfCAnVklERU8nIHwgJ1RISVJEX1BBUlRZX0FEX1RBR1MnIHwgJ1pJUFBFRF9IVE1MJyB8ICdOQVRJVkVfSU1BR0UnIHwgJ05BVElWRV9WSURFTycgfCAnRFlOQU1JQ19JTUFHRScgfCAnRFlOQU1JQ19NQUNSTycgfCAnRFlOQU1JQ19IVE1MJyB8ICdEWU5BTUlDX1ZJREVPJztcbiAgICBleHBvcnQgY29uc3QgQ3JlYXRpdmVTZXRUeXBlRW51bSA9IHtcbiAgICAgICAgSU1BR0U6ICdJTUFHRScgYXMgQ3JlYXRpdmVTZXRUeXBlRW51bSxcbiAgICAgICAgVklERU86ICdWSURFTycgYXMgQ3JlYXRpdmVTZXRUeXBlRW51bSxcbiAgICAgICAgVEhJUkRQQVJUWUFEVEFHUzogJ1RISVJEX1BBUlRZX0FEX1RBR1MnIGFzIENyZWF0aXZlU2V0VHlwZUVudW0sXG4gICAgICAgIFpJUFBFREhUTUw6ICdaSVBQRURfSFRNTCcgYXMgQ3JlYXRpdmVTZXRUeXBlRW51bSxcbiAgICAgICAgTkFUSVZFSU1BR0U6ICdOQVRJVkVfSU1BR0UnIGFzIENyZWF0aXZlU2V0VHlwZUVudW0sXG4gICAgICAgIE5BVElWRVZJREVPOiAnTkFUSVZFX1ZJREVPJyBhcyBDcmVhdGl2ZVNldFR5cGVFbnVtLFxuICAgICAgICBEWU5BTUlDSU1BR0U6ICdEWU5BTUlDX0lNQUdFJyBhcyBDcmVhdGl2ZVNldFR5cGVFbnVtLFxuICAgICAgICBEWU5BTUlDTUFDUk86ICdEWU5BTUlDX01BQ1JPJyBhcyBDcmVhdGl2ZVNldFR5cGVFbnVtLFxuICAgICAgICBEWU5BTUlDSFRNTDogJ0RZTkFNSUNfSFRNTCcgYXMgQ3JlYXRpdmVTZXRUeXBlRW51bSxcbiAgICAgICAgRFlOQU1JQ1ZJREVPOiAnRFlOQU1JQ19WSURFTycgYXMgQ3JlYXRpdmVTZXRUeXBlRW51bVxuICAgIH07XG59XG4iXX0=
@@ -1,12 +0,0 @@
1
- /**
2
- * Api Documentation
3
- * Api Documentation
4
- *
5
- * OpenAPI spec version: 1.0
6
- *
7
- *
8
- * NOTE: This class is auto generated by the swagger code generator program.
9
- * https://github.com/swagger-api/swagger-codegen.git
10
- * Do not edit the class manually.
11
- */
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRpdmVTZXRSZXNwb25zZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZXZ4dWkvYXBpLWNsaWVudHMtdHMvIiwic291cmNlcyI6WyJtb2RlbC9jcmVhdGl2ZVNldFJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFwaSBEb2N1bWVudGF0aW9uXG4gKiBBcGkgRG9jdW1lbnRhdGlvblxuICpcbiAqIE9wZW5BUEkgc3BlYyB2ZXJzaW9uOiAxLjBcbiAqIFxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgdGhlIHN3YWdnZXIgY29kZSBnZW5lcmF0b3IgcHJvZ3JhbS5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4uZ2l0XG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cblxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0aXZlU2V0UmVzcG9uc2UgeyBcbiAgICBtZXNzYWdlPzogc3RyaW5nO1xufVxuIl19
@@ -1,16 +0,0 @@
1
- export var CreativeSetsListDashboardData;
2
- (function (CreativeSetsListDashboardData) {
3
- CreativeSetsListDashboardData.CreativeSetTypeEnum = {
4
- IMAGE: 'IMAGE',
5
- VIDEO: 'VIDEO',
6
- THIRDPARTYADTAGS: 'THIRD_PARTY_AD_TAGS',
7
- ZIPPEDHTML: 'ZIPPED_HTML',
8
- NATIVEIMAGE: 'NATIVE_IMAGE',
9
- NATIVEVIDEO: 'NATIVE_VIDEO',
10
- DYNAMICIMAGE: 'DYNAMIC_IMAGE',
11
- DYNAMICMACRO: 'DYNAMIC_MACRO',
12
- DYNAMICHTML: 'DYNAMIC_HTML',
13
- DYNAMICVIDEO: 'DYNAMIC_VIDEO'
14
- };
15
- })(CreativeSetsListDashboardData || (CreativeSetsListDashboardData = {}));
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRpdmVTZXRzTGlzdERhc2hib2FyZERhdGEuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmV2eHVpL2FwaS1jbGllbnRzLXRzLyIsInNvdXJjZXMiOlsibW9kZWwvY3JlYXRpdmVTZXRzTGlzdERhc2hib2FyZERhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0RBLE1BQU0sS0FBVyw2QkFBNkIsQ0FjN0M7QUFkRCxXQUFpQiw2QkFBNkI7SUFFN0IsaURBQW1CLEdBQUc7UUFDL0IsS0FBSyxFQUFFLE9BQThCO1FBQ3JDLEtBQUssRUFBRSxPQUE4QjtRQUNyQyxnQkFBZ0IsRUFBRSxxQkFBNEM7UUFDOUQsVUFBVSxFQUFFLGFBQW9DO1FBQ2hELFdBQVcsRUFBRSxjQUFxQztRQUNsRCxXQUFXLEVBQUUsY0FBcUM7UUFDbEQsWUFBWSxFQUFFLGVBQXNDO1FBQ3BELFlBQVksRUFBRSxlQUFzQztRQUNwRCxXQUFXLEVBQUUsY0FBcUM7UUFDbEQsWUFBWSxFQUFFLGVBQXNDO0tBQ3ZELENBQUM7QUFDTixDQUFDLEVBZGdCLDZCQUE2QixLQUE3Qiw2QkFBNkIsUUFjN0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFwaSBEb2N1bWVudGF0aW9uXG4gKiBBcGkgRG9jdW1lbnRhdGlvblxuICpcbiAqIE9wZW5BUEkgc3BlYyB2ZXJzaW9uOiAxLjBcbiAqIFxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgdGhlIHN3YWdnZXIgY29kZSBnZW5lcmF0b3IgcHJvZ3JhbS5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4uZ2l0XG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cbmltcG9ydCB7IFNpemUgfSBmcm9tICcuL3NpemUnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRpdmVTZXRzTGlzdERhc2hib2FyZERhdGEgeyBcbiAgICBhY3RpdmU/OiBib29sZWFuO1xuICAgIGFkdlJldmVudWU/OiBudW1iZXI7XG4gICAgYmlkc1BsYWNlZD86IG51bWJlcjtcbiAgICBjbGlja0NvbnZlcnNpb25zPzogbnVtYmVyO1xuICAgIGNsaWNrSW5zdGFsbHM/OiBudW1iZXI7XG4gICAgY2xpY2tzPzogbnVtYmVyO1xuICAgIGNvbnZlcnNpb25zPzogbnVtYmVyO1xuICAgIGNvc3Q/OiBudW1iZXI7XG4gICAgY3JlYXRlZE9uPzogbnVtYmVyO1xuICAgIGNyZWF0aXZlU2V0VHlwZT86IENyZWF0aXZlU2V0c0xpc3REYXNoYm9hcmREYXRhLkNyZWF0aXZlU2V0VHlwZUVudW07XG4gICAgY3RjPzogbnVtYmVyO1xuICAgIGN0cj86IG51bWJlcjtcbiAgICBjdXJyZW5jeUlkPzogc3RyaW5nO1xuICAgIGN2cj86IG51bWJlcjtcbiAgICBlY3BhPzogbnVtYmVyO1xuICAgIGVjcGM/OiBudW1iZXI7XG4gICAgZWNwaT86IG51bWJlcjtcbiAgICBlY3BtPzogbnVtYmVyO1xuICAgIGVsaWdpYmxlQmlkcz86IG51bWJlcjtcbiAgICBlbGlnaWJsZVVuaXFVc2Vycz86IG51bWJlcjtcbiAgICBlcnBhPzogbnVtYmVyO1xuICAgIGVycGM/OiBudW1iZXI7XG4gICAgZXJwaT86IG51bWJlcjtcbiAgICBlcnBtPzogbnVtYmVyO1xuICAgIGlkPzogbnVtYmVyO1xuICAgIGltcEluc3RhbGxzPzogbnVtYmVyO1xuICAgIGltcHJlc3Npb25VbmlxVXNlcnM/OiBudW1iZXI7XG4gICAgaW1wcmVzc2lvbnM/OiBudW1iZXI7XG4gICAgaW5zdGFsbHM/OiBudW1iZXI7XG4gICAgaW52YWxpZENsaWNrcz86IG51bWJlcjtcbiAgICBpdGk/OiBudW1iZXI7XG4gICAgbWFyZ2luPzogbnVtYmVyO1xuICAgIG1vZGlmaWVkQnk/OiBudW1iZXI7XG4gICAgbW9kaWZpZWRUaW1lPzogbnVtYmVyO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgcmV2ZW51ZT86IG51bWJlcjtcbiAgICByb2k/OiBudW1iZXI7XG4gICAgc2l6ZXM/OiBBcnJheTxTaXplPjtcbiAgICB1c2VyUmVhY2g/OiBudW1iZXI7XG4gICAgdmlld0NvbnZlcnNpb25zPzogbnVtYmVyO1xufVxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGl2ZVNldHNMaXN0RGFzaGJvYXJkRGF0YSB7XG4gICAgZXhwb3J0IHR5cGUgQ3JlYXRpdmVTZXRUeXBlRW51bSA9ICdJTUFHRScgfCAnVklERU8nIHwgJ1RISVJEX1BBUlRZX0FEX1RBR1MnIHwgJ1pJUFBFRF9IVE1MJyB8ICdOQVRJVkVfSU1BR0UnIHwgJ05BVElWRV9WSURFTycgfCAnRFlOQU1JQ19JTUFHRScgfCAnRFlOQU1JQ19NQUNSTycgfCAnRFlOQU1JQ19IVE1MJyB8ICdEWU5BTUlDX1ZJREVPJztcbiAgICBleHBvcnQgY29uc3QgQ3JlYXRpdmVTZXRUeXBlRW51bSA9IHtcbiAgICAgICAgSU1BR0U6ICdJTUFHRScgYXMgQ3JlYXRpdmVTZXRUeXBlRW51bSxcbiAgICAgICAgVklERU86ICdWSURFTycgYXMgQ3JlYXRpdmVTZXRUeXBlRW51bSxcbiAgICAgICAgVEhJUkRQQVJUWUFEVEFHUzogJ1RISVJEX1BBUlRZX0FEX1RBR1MnIGFzIENyZWF0aXZlU2V0VHlwZUVudW0sXG4gICAgICAgIFpJUFBFREhUTUw6ICdaSVBQRURfSFRNTCcgYXMgQ3JlYXRpdmVTZXRUeXBlRW51bSxcbiAgICAgICAgTkFUSVZFSU1BR0U6ICdOQVRJVkVfSU1BR0UnIGFzIENyZWF0aXZlU2V0VHlwZUVudW0sXG4gICAgICAgIE5BVElWRVZJREVPOiAnTkFUSVZFX1ZJREVPJyBhcyBDcmVhdGl2ZVNldFR5cGVFbnVtLFxuICAgICAgICBEWU5BTUlDSU1BR0U6ICdEWU5BTUlDX0lNQUdFJyBhcyBDcmVhdGl2ZVNldFR5cGVFbnVtLFxuICAgICAgICBEWU5BTUlDTUFDUk86ICdEWU5BTUlDX01BQ1JPJyBhcyBDcmVhdGl2ZVNldFR5cGVFbnVtLFxuICAgICAgICBEWU5BTUlDSFRNTDogJ0RZTkFNSUNfSFRNTCcgYXMgQ3JlYXRpdmVTZXRUeXBlRW51bSxcbiAgICAgICAgRFlOQU1JQ1ZJREVPOiAnRFlOQU1JQ19WSURFTycgYXMgQ3JlYXRpdmVTZXRUeXBlRW51bVxuICAgIH07XG59XG4iXX0=
@@ -1,356 +0,0 @@
1
- /**
2
- * Api Documentation
3
- * Api Documentation
4
- *
5
- * OpenAPI spec version: 1.0
6
- *
7
- *
8
- * NOTE: This class is auto generated by the swagger code generator program.
9
- * https://github.com/swagger-api/swagger-codegen.git
10
- * Do not edit the class manually.
11
- */
12
- /* tslint:disable:no-unused-variable member-ordering */
13
- import { __decorate, __param, __values } from "tslib";
14
- import { Inject, Injectable, Optional } from '@angular/core';
15
- import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent } from '@angular/common/http';
16
- import { CustomHttpUrlEncodingCodec } from '../encoder';
17
- import { BASE_PATH } from '../variables';
18
- import { Configuration } from '../configuration';
19
- var CreativeSetsControllerService = /** @class */ (function () {
20
- function CreativeSetsControllerService(httpClient, basePath, configuration) {
21
- this.httpClient = httpClient;
22
- this.basePath = 'https://apiv2stage2.atomex.net';
23
- this.defaultHeaders = new HttpHeaders();
24
- this.configuration = new Configuration();
25
- if (basePath) {
26
- this.basePath = basePath;
27
- }
28
- if (configuration) {
29
- this.configuration = configuration;
30
- this.basePath = basePath || configuration.basePath || this.basePath;
31
- }
32
- }
33
- /**
34
- * @param consumes string[] mime-types
35
- * @return true: consumes contains 'multipart/form-data', false: otherwise
36
- */
37
- CreativeSetsControllerService.prototype.canConsumeForm = function (consumes) {
38
- var e_1, _a;
39
- var form = 'multipart/form-data';
40
- try {
41
- for (var consumes_1 = __values(consumes), consumes_1_1 = consumes_1.next(); !consumes_1_1.done; consumes_1_1 = consumes_1.next()) {
42
- var consume = consumes_1_1.value;
43
- if (form === consume) {
44
- return true;
45
- }
46
- }
47
- }
48
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
49
- finally {
50
- try {
51
- if (consumes_1_1 && !consumes_1_1.done && (_a = consumes_1.return)) _a.call(consumes_1);
52
- }
53
- finally { if (e_1) throw e_1.error; }
54
- }
55
- return false;
56
- };
57
- CreativeSetsControllerService.prototype.createUsingPOST = function (creativeSetRequest, reqId, token, observe, reportProgress) {
58
- if (observe === void 0) { observe = 'body'; }
59
- if (reportProgress === void 0) { reportProgress = false; }
60
- if (creativeSetRequest === null || creativeSetRequest === undefined) {
61
- throw new Error('Required parameter creativeSetRequest was null or undefined when calling createUsingPOST.');
62
- }
63
- var headers = this.defaultHeaders;
64
- if (reqId !== undefined && reqId !== null) {
65
- headers = headers.set('reqId', String(reqId));
66
- }
67
- if (token !== undefined && token !== null) {
68
- headers = headers.set('token', String(token));
69
- }
70
- // to determine the Accept header
71
- var httpHeaderAccepts = [
72
- 'application/json'
73
- ];
74
- var httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
75
- if (httpHeaderAcceptSelected != undefined) {
76
- headers = headers.set('Accept', httpHeaderAcceptSelected);
77
- }
78
- // to determine the Content-Type header
79
- var consumes = [
80
- 'application/json'
81
- ];
82
- var httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
83
- if (httpContentTypeSelected != undefined) {
84
- headers = headers.set('Content-Type', httpContentTypeSelected);
85
- }
86
- return this.httpClient.post(this.basePath + "/v2/api/creativesets", creativeSetRequest, {
87
- withCredentials: this.configuration.withCredentials,
88
- headers: headers,
89
- observe: observe,
90
- reportProgress: reportProgress
91
- });
92
- };
93
- CreativeSetsControllerService.prototype.getAdvertiserDynamicDetailsUsingGET = function (advertiserId, reqId, token, observe, reportProgress) {
94
- if (observe === void 0) { observe = 'body'; }
95
- if (reportProgress === void 0) { reportProgress = false; }
96
- if (advertiserId === null || advertiserId === undefined) {
97
- throw new Error('Required parameter advertiserId was null or undefined when calling getAdvertiserDynamicDetailsUsingGET.');
98
- }
99
- var queryParameters = new HttpParams({ encoder: new CustomHttpUrlEncodingCodec() });
100
- if (advertiserId !== undefined && advertiserId !== null) {
101
- queryParameters = queryParameters.set('advertiserId', advertiserId);
102
- }
103
- var headers = this.defaultHeaders;
104
- if (reqId !== undefined && reqId !== null) {
105
- headers = headers.set('reqId', String(reqId));
106
- }
107
- if (token !== undefined && token !== null) {
108
- headers = headers.set('token', String(token));
109
- }
110
- // to determine the Accept header
111
- var httpHeaderAccepts = [
112
- 'application/json'
113
- ];
114
- var httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
115
- if (httpHeaderAcceptSelected != undefined) {
116
- headers = headers.set('Accept', httpHeaderAcceptSelected);
117
- }
118
- // to determine the Content-Type header
119
- var consumes = [];
120
- return this.httpClient.get(this.basePath + "/v2/api/creativesets/dynamicdetails", {
121
- params: queryParameters,
122
- withCredentials: this.configuration.withCredentials,
123
- headers: headers,
124
- observe: observe,
125
- reportProgress: reportProgress
126
- });
127
- };
128
- CreativeSetsControllerService.prototype.getByIdUsingGET3 = function (id, reqId, token, observe, reportProgress) {
129
- if (observe === void 0) { observe = 'body'; }
130
- if (reportProgress === void 0) { reportProgress = false; }
131
- if (id === null || id === undefined) {
132
- throw new Error('Required parameter id was null or undefined when calling getByIdUsingGET3.');
133
- }
134
- var headers = this.defaultHeaders;
135
- if (reqId !== undefined && reqId !== null) {
136
- headers = headers.set('reqId', String(reqId));
137
- }
138
- if (token !== undefined && token !== null) {
139
- headers = headers.set('token', String(token));
140
- }
141
- // to determine the Accept header
142
- var httpHeaderAccepts = [
143
- 'application/json'
144
- ];
145
- var httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
146
- if (httpHeaderAcceptSelected != undefined) {
147
- headers = headers.set('Accept', httpHeaderAcceptSelected);
148
- }
149
- // to determine the Content-Type header
150
- var consumes = [];
151
- return this.httpClient.get(this.basePath + "/v2/api/creativesets/" + encodeURIComponent(String(id)), {
152
- withCredentials: this.configuration.withCredentials,
153
- headers: headers,
154
- observe: observe,
155
- reportProgress: reportProgress
156
- });
157
- };
158
- CreativeSetsControllerService.prototype.getCreativeSetsPerformanceUsingPOST = function (dashboardRequest, pageNumber, pageSize, refresh, reqId, sort, token, observe, reportProgress) {
159
- if (observe === void 0) { observe = 'body'; }
160
- if (reportProgress === void 0) { reportProgress = false; }
161
- if (dashboardRequest === null || dashboardRequest === undefined) {
162
- throw new Error('Required parameter dashboardRequest was null or undefined when calling getCreativeSetsPerformanceUsingPOST.');
163
- }
164
- var queryParameters = new HttpParams({ encoder: new CustomHttpUrlEncodingCodec() });
165
- if (pageNumber !== undefined && pageNumber !== null) {
166
- queryParameters = queryParameters.set('pageNumber', pageNumber);
167
- }
168
- if (pageSize !== undefined && pageSize !== null) {
169
- queryParameters = queryParameters.set('pageSize', pageSize);
170
- }
171
- if (refresh !== undefined && refresh !== null) {
172
- queryParameters = queryParameters.set('refresh', refresh);
173
- }
174
- if (sort !== undefined && sort !== null) {
175
- queryParameters = queryParameters.set('sort', sort);
176
- }
177
- var headers = this.defaultHeaders;
178
- if (reqId !== undefined && reqId !== null) {
179
- headers = headers.set('reqId', String(reqId));
180
- }
181
- if (token !== undefined && token !== null) {
182
- headers = headers.set('token', String(token));
183
- }
184
- // to determine the Accept header
185
- var httpHeaderAccepts = [
186
- 'application/json'
187
- ];
188
- var httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
189
- if (httpHeaderAcceptSelected != undefined) {
190
- headers = headers.set('Accept', httpHeaderAcceptSelected);
191
- }
192
- // to determine the Content-Type header
193
- var consumes = [
194
- 'application/json'
195
- ];
196
- var httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
197
- if (httpContentTypeSelected != undefined) {
198
- headers = headers.set('Content-Type', httpContentTypeSelected);
199
- }
200
- return this.httpClient.post(this.basePath + "/v2/api/creativesets/performance/", dashboardRequest, {
201
- params: queryParameters,
202
- withCredentials: this.configuration.withCredentials,
203
- headers: headers,
204
- observe: observe,
205
- reportProgress: reportProgress
206
- });
207
- };
208
- CreativeSetsControllerService.prototype.getCreativesPerformanceUsingPOST = function (dashboardRequest, id, pageNumber, pageSize, refresh, reqId, sort, token, observe, reportProgress) {
209
- if (observe === void 0) { observe = 'body'; }
210
- if (reportProgress === void 0) { reportProgress = false; }
211
- if (dashboardRequest === null || dashboardRequest === undefined) {
212
- throw new Error('Required parameter dashboardRequest was null or undefined when calling getCreativesPerformanceUsingPOST.');
213
- }
214
- if (id === null || id === undefined) {
215
- throw new Error('Required parameter id was null or undefined when calling getCreativesPerformanceUsingPOST.');
216
- }
217
- var queryParameters = new HttpParams({ encoder: new CustomHttpUrlEncodingCodec() });
218
- if (pageNumber !== undefined && pageNumber !== null) {
219
- queryParameters = queryParameters.set('pageNumber', pageNumber);
220
- }
221
- if (pageSize !== undefined && pageSize !== null) {
222
- queryParameters = queryParameters.set('pageSize', pageSize);
223
- }
224
- if (refresh !== undefined && refresh !== null) {
225
- queryParameters = queryParameters.set('refresh', refresh);
226
- }
227
- if (sort !== undefined && sort !== null) {
228
- queryParameters = queryParameters.set('sort', sort);
229
- }
230
- var headers = this.defaultHeaders;
231
- if (reqId !== undefined && reqId !== null) {
232
- headers = headers.set('reqId', String(reqId));
233
- }
234
- if (token !== undefined && token !== null) {
235
- headers = headers.set('token', String(token));
236
- }
237
- // to determine the Accept header
238
- var httpHeaderAccepts = [
239
- 'application/json'
240
- ];
241
- var httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
242
- if (httpHeaderAcceptSelected != undefined) {
243
- headers = headers.set('Accept', httpHeaderAcceptSelected);
244
- }
245
- // to determine the Content-Type header
246
- var consumes = [
247
- 'application/json'
248
- ];
249
- var httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
250
- if (httpContentTypeSelected != undefined) {
251
- headers = headers.set('Content-Type', httpContentTypeSelected);
252
- }
253
- return this.httpClient.post(this.basePath + "/v2/api/creativesets/creatives/performance/" + encodeURIComponent(String(id)), dashboardRequest, {
254
- params: queryParameters,
255
- withCredentials: this.configuration.withCredentials,
256
- headers: headers,
257
- observe: observe,
258
- reportProgress: reportProgress
259
- });
260
- };
261
- CreativeSetsControllerService.prototype.getPerformanceByIdUsingPOST = function (dashboardRequest, id, refresh, reqId, token, observe, reportProgress) {
262
- if (observe === void 0) { observe = 'body'; }
263
- if (reportProgress === void 0) { reportProgress = false; }
264
- if (dashboardRequest === null || dashboardRequest === undefined) {
265
- throw new Error('Required parameter dashboardRequest was null or undefined when calling getPerformanceByIdUsingPOST.');
266
- }
267
- if (id === null || id === undefined) {
268
- throw new Error('Required parameter id was null or undefined when calling getPerformanceByIdUsingPOST.');
269
- }
270
- var queryParameters = new HttpParams({ encoder: new CustomHttpUrlEncodingCodec() });
271
- if (refresh !== undefined && refresh !== null) {
272
- queryParameters = queryParameters.set('refresh', refresh);
273
- }
274
- var headers = this.defaultHeaders;
275
- if (reqId !== undefined && reqId !== null) {
276
- headers = headers.set('reqId', String(reqId));
277
- }
278
- if (token !== undefined && token !== null) {
279
- headers = headers.set('token', String(token));
280
- }
281
- // to determine the Accept header
282
- var httpHeaderAccepts = [
283
- 'application/json'
284
- ];
285
- var httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
286
- if (httpHeaderAcceptSelected != undefined) {
287
- headers = headers.set('Accept', httpHeaderAcceptSelected);
288
- }
289
- // to determine the Content-Type header
290
- var consumes = [
291
- 'application/json'
292
- ];
293
- var httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
294
- if (httpContentTypeSelected != undefined) {
295
- headers = headers.set('Content-Type', httpContentTypeSelected);
296
- }
297
- return this.httpClient.post(this.basePath + "/v2/api/creativesets/performance/" + encodeURIComponent(String(id)), dashboardRequest, {
298
- params: queryParameters,
299
- withCredentials: this.configuration.withCredentials,
300
- headers: headers,
301
- observe: observe,
302
- reportProgress: reportProgress
303
- });
304
- };
305
- CreativeSetsControllerService.prototype.updateUsingPOST = function (creativeSetRequest, id, reqId, token, observe, reportProgress) {
306
- if (observe === void 0) { observe = 'body'; }
307
- if (reportProgress === void 0) { reportProgress = false; }
308
- if (creativeSetRequest === null || creativeSetRequest === undefined) {
309
- throw new Error('Required parameter creativeSetRequest was null or undefined when calling updateUsingPOST.');
310
- }
311
- if (id === null || id === undefined) {
312
- throw new Error('Required parameter id was null or undefined when calling updateUsingPOST.');
313
- }
314
- var headers = this.defaultHeaders;
315
- if (reqId !== undefined && reqId !== null) {
316
- headers = headers.set('reqId', String(reqId));
317
- }
318
- if (token !== undefined && token !== null) {
319
- headers = headers.set('token', String(token));
320
- }
321
- // to determine the Accept header
322
- var httpHeaderAccepts = [
323
- 'application/json'
324
- ];
325
- var httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
326
- if (httpHeaderAcceptSelected != undefined) {
327
- headers = headers.set('Accept', httpHeaderAcceptSelected);
328
- }
329
- // to determine the Content-Type header
330
- var consumes = [
331
- 'application/json'
332
- ];
333
- var httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
334
- if (httpContentTypeSelected != undefined) {
335
- headers = headers.set('Content-Type', httpContentTypeSelected);
336
- }
337
- return this.httpClient.post(this.basePath + "/v2/api/creativesets/" + encodeURIComponent(String(id)), creativeSetRequest, {
338
- withCredentials: this.configuration.withCredentials,
339
- headers: headers,
340
- observe: observe,
341
- reportProgress: reportProgress
342
- });
343
- };
344
- CreativeSetsControllerService.ctorParameters = function () { return [
345
- { type: HttpClient },
346
- { type: String, decorators: [{ type: Optional }, { type: Inject, args: [BASE_PATH,] }] },
347
- { type: Configuration, decorators: [{ type: Optional }] }
348
- ]; };
349
- CreativeSetsControllerService = __decorate([
350
- Injectable(),
351
- __param(1, Optional()), __param(1, Inject(BASE_PATH)), __param(2, Optional())
352
- ], CreativeSetsControllerService);
353
- return CreativeSetsControllerService;
354
- }());
355
- export { CreativeSetsControllerService };
356
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRpdmVTZXRzQ29udHJvbGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJldnh1aS9hcGktY2xpZW50cy10cy8iLCJzb3VyY2VzIjpbImFwaS9jcmVhdGl2ZVNldHNDb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQUNILHVEQUF1RDs7QUFFdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQTJCLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQ25DLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBZ0Msc0JBQXNCLENBQUM7QUFDekYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQTZCLFlBQVksQ0FBQztBQWEvRSxPQUFPLEVBQUUsU0FBUyxFQUFzQixNQUEwQixjQUFjLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUEwQyxrQkFBa0IsQ0FBQztBQUlyRjtJQU1JLHVDQUFzQixVQUFzQixFQUFnQyxRQUFnQixFQUFjLGFBQTRCO1FBQWhILGVBQVUsR0FBVixVQUFVLENBQVk7UUFKbEMsYUFBUSxHQUFHLGdDQUFnQyxDQUFDO1FBQy9DLG1CQUFjLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNuQyxrQkFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFHdkMsSUFBSSxRQUFRLEVBQUU7WUFDVixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztTQUM1QjtRQUNELElBQUksYUFBYSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7WUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksYUFBYSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3ZFO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNLLHNEQUFjLEdBQXRCLFVB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QUM7U0FDN0Q7UUFFRCx1Q0FBdUM7UUFDdkMsSUFBTSxRQUFRLEdBQWE7WUFDdkIsa0JBQWtCO1NBQ3JCLENBQUM7UUFDRixJQUFNLHVCQUF1QixHQUF1QixJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pHLElBQUksdUJBQXVCLElBQUksU0FBUyxFQUFFO1lBQ3RDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBMEMsSUFBSSxDQUFDLFFBQVEsNkJBQXdCLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBRyxFQUN0SSxrQkFBa0IsRUFDbEI7WUFDSSxlQUFlLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlO1lBQ25ELE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLGNBQWMsRUFBRSxjQUFjO1NBQ2pDLENBQ0osQ0FBQztJQUNOLENBQUM7O2dCQXJlaUMsVUFBVTs2Q0FBRyxRQUFRLFlBQUcsTUFBTSxTQUFDLFNBQVM7Z0JBQStDLGFBQWEsdUJBQXZDLFFBQVE7O0lBTjlGLDZCQUE2QjtRQUR6QyxVQUFVLEVBQUU7UUFPc0MsV0FBQSxRQUFRLEVBQUUsQ0FBQSxFQUFDLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBLEVBQW9CLFdBQUEsUUFBUSxFQUFFLENBQUE7T0FOaEcsNkJBQTZCLENBNmV6QztJQUFELG9DQUFDO0NBQUEsQUE3ZUQsSUE2ZUM7U0E3ZVksNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBcGkgRG9jdW1lbnRhdGlvblxuICogQXBpIERvY3VtZW50YXRpb25cbiAqXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMS4wXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG4vKiB0c2xpbnQ6ZGlzYWJsZTpuby11bnVzZWQtdmFyaWFibGUgbWVtYmVyLW9yZGVyaW5nICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSAgICAgICAgICAgICAgICAgICAgICBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zLFxuICAgICAgICAgSHR0cFJlc3BvbnNlLCBIdHRwRXZlbnQgfSAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEN1c3RvbUh0dHBVcmxFbmNvZGluZ0NvZGVjIH0gICAgICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi9lbmNvZGVyJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBcGlSZXNwb25zZU9iamVjdEFkdmVydGlzZXJEeW5hbWljRGV0YWlscyB9IGZyb20gJy4uL21vZGVsL2FwaVJlc3BvbnNlT2JqZWN0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzJztcbmltcG9ydCB7IEFwaVJlc3BvbnNlT2JqZWN0QXBpTGlzdFJlc3BvbnNlQ3JlYXRpdmVTZXRzTGlzdERhc2hib2FyZERhdGEgfSBmcm9tICcuLi9tb2RlbC9hcGlSZXNwb25zZU9iamVjdEFwaUxpc3RSZXNwb25zZUNyZWF0aXZlU2V0c0xpc3REYXNoYm9hcmREYXRhJztcbmltcG9ydCB7IEFwaVJlc3BvbnNlT2JqZWN0Q3JlYXRpdmVTZXREZXRhaWxzIH0gZnJvbSAnLi4vbW9kZWwvYXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVNldERldGFpbHMnO1xuaW1wb3J0IHsgQXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVNldFJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwvYXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVNldFJlc3BvbnNlJztcbmltcG9ydCB7IEFwaVJlc3BvbnNlT2JqZWN0RGFzaGJvYXJkTWV0cmljcyB9IGZyb20gJy4uL21vZGVsL2FwaVJlc3BvbnNlT2JqZWN0RGFzaGJvYXJkTWV0cmljcyc7XG5pbXBvcnQgeyBBcGlSZXNwb25zZU9iamVjdERhc2hib2FyZFJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwvYXBpUmVzcG9uc2VPYmplY3REYXNoYm9hcmRSZXNwb25zZSc7XG5pbXBvcnQgeyBDcmVhdGl2ZVNldFJlcXVlc3QgfSBmcm9tICcuLi9tb2RlbC9jcmVhdGl2ZVNldFJlcXVlc3QnO1xuaW1wb3J0IHsgRGFzaGJvYXJkUmVxdWVzdCB9IGZyb20gJy4uL21vZGVsL2Rhc2hib2FyZFJlcXVlc3QnO1xuXG5pbXBvcnQgeyBCQVNFX1BBVEgsIENPTExFQ1RJT05fRk9STUFUUyB9ICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vdmFyaWFibGVzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi9jb25maWd1cmF0aW9uJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ3JlYXRpdmVTZXRzQ29udHJvbGxlclNlcnZpY2Uge1xuXG4gICAgcHJvdGVjdGVkIGJhc2VQYXRoID0gJ2h0dHBzOi8vYXBpdjJzdGFnZTIuYXRvbWV4Lm5ldCc7XG4gICAgcHVibGljIGRlZmF1bHRIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XG4gICAgcHVibGljIGNvbmZpZ3VyYXRpb24gPSBuZXcgQ29uZmlndXJhdGlvbigpO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsIEBPcHRpb25hbCgpQEluamVjdChCQVNFX1BBVEgpIGJhc2VQYXRoOiBzdHJpbmcsIEBPcHRpb25hbCgpIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgaWYgKGJhc2VQYXRoKSB7XG4gICAgICAgICAgICB0aGlzLmJhc2VQYXRoID0gYmFzZVBhdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb247XG4gICAgICAgICAgICB0aGlzLmJhc2VQYXRoID0gYmFzZVBhdGggfHwgY29uZmlndXJhdGlvbi5iYXNlUGF0aCB8fCB0aGlzLmJhc2VQYXRoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGNvbnN1bWVzIHN0cmluZ1tdIG1pbWUtdHlwZXNcbiAgICAgKiBAcmV0dXJuIHRydWU6IGNvbnN1bWVzIGNvbnRhaW5zICdtdWx0aXBhcnQvZm9ybS1kYXRhJywgZmFsc2U6IG90aGVyd2lzZVxuICAgICAqL1xuICAgIHByaXZhdGUgY2FuQ29uc3VtZUZvcm0oY29uc3VtZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGZvcm0gPSAnbXVsdGlwYXJ0L2Zvcm0tZGF0YSc7XG4gICAgICAgIGZvciAoY29uc3QgY29uc3VtZSBvZiBjb25zdW1lcykge1xuICAgICAgICAgICAgaWYgKGZvcm0gPT09IGNvbnN1bWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiAgQXBpIHRvICBjcmVhdGUgY3JlYXRpdmUgc2V0c1xuICAgICAqIFxuICAgICAqIEBwYXJhbSBjcmVhdGl2ZVNldFJlcXVlc3QgY3JlYXRpdmVTZXRSZXF1ZXN0XG4gICAgICogQHBhcmFtIHJlcUlkIHJlcXVlc3QgaWRcbiAgICAgKiBAcGFyYW0gdG9rZW4gQXV0aCBUb2tlblxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVVc2luZ1BPU1QoY3JlYXRpdmVTZXRSZXF1ZXN0OiBDcmVhdGl2ZVNldFJlcXVlc3QsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0UmVzcG9uc2U+O1xuICAgIHB1YmxpYyBjcmVhdGVVc2luZ1BPU1QoY3JlYXRpdmVTZXRSZXF1ZXN0OiBDcmVhdGl2ZVNldFJlcXVlc3QsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEFwaVJlc3BvbnNlT2JqZWN0Q3JlYXRpdmVTZXRSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBjcmVhdGVVc2luZ1BPU1QoY3JlYXRpdmVTZXRSZXF1ZXN0OiBDcmVhdGl2ZVNldFJlcXVlc3QsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxBcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0UmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgY3JlYXRlVXNpbmdQT1NUKGNyZWF0aXZlU2V0UmVxdWVzdDogQ3JlYXRpdmVTZXRSZXF1ZXN0LCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGlmIChjcmVhdGl2ZVNldFJlcXVlc3QgPT09IG51bGwgfHwgY3JlYXRpdmVTZXRSZXF1ZXN0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGNyZWF0aXZlU2V0UmVxdWVzdCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGNyZWF0ZVVzaW5nUE9TVC4nKTtcbiAgICAgICAgfVxuXG5cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG4gICAgICAgIGlmIChyZXFJZCAhPT0gdW5kZWZpbmVkICYmIHJlcUlkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ3JlcUlkJywgU3RyaW5nKHJlcUlkKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRva2VuICE9PSB1bmRlZmluZWQgJiYgdG9rZW4gIT09IG51bGwpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgndG9rZW4nLCBTdHJpbmcodG9rZW4pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBDb250ZW50VHlwZVNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQ29udGVudFR5cGUoY29uc3VtZXMpO1xuICAgICAgICBpZiAoaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxBcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0UmVzcG9uc2U+KGAke3RoaXMuYmFzZVBhdGh9L3YyL2FwaS9jcmVhdGl2ZXNldHNgLFxuICAgICAgICAgICAgY3JlYXRpdmVTZXRSZXF1ZXN0LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIEFwaSB0byBnZXQgY3JlYXRpdmUgc2V0cyBkaW1lbnNpb24gZGV0YWlsc1xuICAgICAqIFxuICAgICAqIEBwYXJhbSBhZHZlcnRpc2VySWQgYWR2ZXJ0aXNlcklkXG4gICAgICogQHBhcmFtIHJlcUlkIHJlcXVlc3QgaWRcbiAgICAgKiBAcGFyYW0gdG9rZW4gQXV0aCBUb2tlblxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRBZHZlcnRpc2VyRHluYW1pY0RldGFpbHNVc2luZ0dFVChhZHZlcnRpc2VySWQ6IG51bWJlciwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlT2JqZWN0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzPjtcbiAgICBwdWJsaWMgZ2V0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzVXNpbmdHRVQoYWR2ZXJ0aXNlcklkOiBudW1iZXIsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEFwaVJlc3BvbnNlT2JqZWN0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzPj47XG4gICAgcHVibGljIGdldEFkdmVydGlzZXJEeW5hbWljRGV0YWlsc1VzaW5nR0VUKGFkdmVydGlzZXJJZDogbnVtYmVyLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXBpUmVzcG9uc2VPYmplY3RBZHZlcnRpc2VyRHluYW1pY0RldGFpbHM+PjtcbiAgICBwdWJsaWMgZ2V0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzVXNpbmdHRVQoYWR2ZXJ0aXNlcklkOiBudW1iZXIsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKGFkdmVydGlzZXJJZCA9PT0gbnVsbCB8fCBhZHZlcnRpc2VySWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgYWR2ZXJ0aXNlcklkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgZ2V0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzVXNpbmdHRVQuJyk7XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgbGV0IHF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHtlbmNvZGVyOiBuZXcgQ3VzdG9tSHR0cFVybEVuY29kaW5nQ29kZWMoKX0pO1xuICAgICAgICBpZiAoYWR2ZXJ0aXNlcklkICE9PSB1bmRlZmluZWQgJiYgYWR2ZXJ0aXNlcklkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdhZHZlcnRpc2VySWQnLCA8YW55PmFkdmVydGlzZXJJZCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG4gICAgICAgIGlmIChyZXFJZCAhPT0gdW5kZWZpbmVkICYmIHJlcUlkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ3JlcUlkJywgU3RyaW5nKHJlcUlkKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRva2VuICE9PSB1bmRlZmluZWQgJiYgdG9rZW4gIT09IG51bGwpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgndG9rZW4nLCBTdHJpbmcodG9rZW4pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEFwaVJlc3BvbnNlT2JqZWN0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzPihgJHt0aGlzLmJhc2VQYXRofS92Mi9hcGkvY3JlYXRpdmVzZXRzL2R5bmFtaWNkZXRhaWxzYCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBBcGkgdG8gZ2V0IGNyZWF0aXZlIHNldHNcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gaWQgaWRcbiAgICAgKiBAcGFyYW0gcmVxSWQgcmVxdWVzdCBpZFxuICAgICAqIEBwYXJhbSB0b2tlbiBBdXRoIFRva2VuXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGdldEJ5SWRVc2luZ0dFVDMoaWQ6IG51bWJlciwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlT2JqZWN0Q3JlYXRpdmVTZXREZXRhaWxzPjtcbiAgICBwdWJsaWMgZ2V0QnlJZFVzaW5nR0VUMyhpZDogbnVtYmVyLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0RGV0YWlscz4+O1xuICAgIHB1YmxpYyBnZXRCeUlkVXNpbmdHRVQzKGlkOiBudW1iZXIsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxBcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0RGV0YWlscz4+O1xuICAgIHB1YmxpYyBnZXRCeUlkVXNpbmdHRVQzKGlkOiBudW1iZXIsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKGlkID09PSBudWxsIHx8IGlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGlkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgZ2V0QnlJZFVzaW5nR0VUMy4nKTtcbiAgICAgICAgfVxuXG5cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG4gICAgICAgIGlmIChyZXFJZCAhPT0gdW5kZWZpbmVkICYmIHJlcUlkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ3JlcUlkJywgU3RyaW5nKHJlcUlkKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRva2VuICE9PSB1bmRlZmluZWQgJiYgdG9rZW4gIT09IG51bGwpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgndG9rZW4nLCBTdHJpbmcodG9rZW4pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEFwaVJlc3BvbnNlT2JqZWN0Q3JlYXRpdmVTZXREZXRhaWxzPihgJHt0aGlzLmJhc2VQYXRofS92Mi9hcGkvY3JlYXRpdmVzZXRzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhpZCkpfWAsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgQXBpIHRvIGdldCBsaXN0IG9mIGNyZWF0aXZlIHNldHMgd2l0aCBwZXJmb3JtYW5jZSBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gZGFzaGJvYXJkUmVxdWVzdCBkYXNoYm9hcmRSZXF1ZXN0XG4gICAgICogQHBhcmFtIHBhZ2VOdW1iZXIgcGFnZU51bWJlclxuICAgICAqIEBwYXJhbSBwYWdlU2l6ZSBwYWdlU2l6ZVxuICAgICAqIEBwYXJhbSByZWZyZXNoIHJlZnJlc2hcbiAgICAgKiBAcGFyYW0gcmVxSWQgcmVxdWVzdCBpZFxuICAgICAqIEBwYXJhbSBzb3J0IHNvcnRcbiAgICAgKiBAcGFyYW0gdG9rZW4gQXV0aCBUb2tlblxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDcmVhdGl2ZVNldHNQZXJmb3JtYW5jZVVzaW5nUE9TVChkYXNoYm9hcmRSZXF1ZXN0OiBEYXNoYm9hcmRSZXF1ZXN0LCBwYWdlTnVtYmVyPzogbnVtYmVyLCBwYWdlU2l6ZT86IG51bWJlciwgcmVmcmVzaD86IGJvb2xlYW4sIHJlcUlkPzogc3RyaW5nLCBzb3J0Pzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZU9iamVjdEFwaUxpc3RSZXNwb25zZUNyZWF0aXZlU2V0c0xpc3REYXNoYm9hcmREYXRhPjtcbiAgICBwdWJsaWMgZ2V0Q3JlYXRpdmVTZXRzUGVyZm9ybWFuY2VVc2luZ1BPU1QoZGFzaGJvYXJkUmVxdWVzdDogRGFzaGJvYXJkUmVxdWVzdCwgcGFnZU51bWJlcj86IG51bWJlciwgcGFnZVNpemU/OiBudW1iZXIsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgc29ydD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcGlSZXNwb25zZU9iamVjdEFwaUxpc3RSZXNwb25zZUNyZWF0aXZlU2V0c0xpc3REYXNoYm9hcmREYXRhPj47XG4gICAgcHVibGljIGdldENyZWF0aXZlU2V0c1BlcmZvcm1hbmNlVXNpbmdQT1NUKGRhc2hib2FyZFJlcXVlc3Q6IERhc2hib2FyZFJlcXVlc3QsIHBhZ2VOdW1iZXI/OiBudW1iZXIsIHBhZ2VTaXplPzogbnVtYmVyLCByZWZyZXNoPzogYm9vbGVhbiwgcmVxSWQ/OiBzdHJpbmcsIHNvcnQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PEFwaVJlc3BvbnNlT2JqZWN0QXBpTGlzdFJlc3BvbnNlQ3JlYXRpdmVTZXRzTGlzdERhc2hib2FyZERhdGE+PjtcbiAgICBwdWJsaWMgZ2V0Q3JlYXRpdmVTZXRzUGVyZm9ybWFuY2VVc2luZ1BPU1QoZGFzaGJvYXJkUmVxdWVzdDogRGFzaGJvYXJkUmVxdWVzdCwgcGFnZU51bWJlcj86IG51bWJlciwgcGFnZVNpemU/OiBudW1iZXIsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgc29ydD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGlmIChkYXNoYm9hcmRSZXF1ZXN0ID09PSBudWxsIHx8IGRhc2hib2FyZFJlcXVlc3QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgZGFzaGJvYXJkUmVxdWVzdCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGdldENyZWF0aXZlU2V0c1BlcmZvcm1hbmNlVXNpbmdQT1NULicpO1xuICAgICAgICB9XG5cblxuXG5cblxuXG5cbiAgICAgICAgbGV0IHF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHtlbmNvZGVyOiBuZXcgQ3VzdG9tSHR0cFVybEVuY29kaW5nQ29kZWMoKX0pO1xuICAgICAgICBpZiAocGFnZU51bWJlciAhPT0gdW5kZWZpbmVkICYmIHBhZ2VOdW1iZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3BhZ2VOdW1iZXInLCA8YW55PnBhZ2VOdW1iZXIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYWdlU2l6ZSAhPT0gdW5kZWZpbmVkICYmIHBhZ2VTaXplICE9PSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdwYWdlU2l6ZScsIDxhbnk+cGFnZVNpemUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZWZyZXNoICE9PSB1bmRlZmluZWQgJiYgcmVmcmVzaCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgncmVmcmVzaCcsIDxhbnk+cmVmcmVzaCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNvcnQgIT09IHVuZGVmaW5lZCAmJiBzb3J0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdzb3J0JywgPGFueT5zb3J0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcbiAgICAgICAgaWYgKHJlcUlkICE9PSB1bmRlZmluZWQgJiYgcmVxSWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgncmVxSWQnLCBTdHJpbmcocmVxSWQpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodG9rZW4gIT09IHVuZGVmaW5lZCAmJiB0b2tlbiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCd0b2tlbicsIFN0cmluZyh0b2tlbikpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgaWYgKGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJDb250ZW50VHlwZShjb25zdW1lcyk7XG4gICAgICAgIGlmIChodHRwQ29udGVudFR5cGVTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PEFwaVJlc3BvbnNlT2JqZWN0QXBpTGlzdFJlc3BvbnNlQ3JlYXRpdmVTZXRzTGlzdERhc2hib2FyZERhdGE+KGAke3RoaXMuYmFzZVBhdGh9L3YyL2FwaS9jcmVhdGl2ZXNldHMvcGVyZm9ybWFuY2UvYCxcbiAgICAgICAgICAgIGRhc2hib2FyZFJlcXVlc3QsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiBxdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgQXBpIHRvIGdldCBpbmRpdmlkdWFsIGNyZWF0aXZlIHBlcmZvcm1hbmNlXG4gICAgICogXG4gICAgICogQHBhcmFtIGRhc2hib2FyZFJlcXVlc3QgZGFzaGJvYXJkUmVxdWVzdFxuICAgICAqIEBwYXJhbSBpZCBpZFxuICAgICAqIEBwYXJhbSBwYWdlTnVtYmVyIHBhZ2VOdW1iZXJcbiAgICAgKiBAcGFyYW0gcGFnZVNpemUgcGFnZVNpemVcbiAgICAgKiBAcGFyYW0gcmVmcmVzaCByZWZyZXNoXG4gICAgICogQHBhcmFtIHJlcUlkIHJlcXVlc3QgaWRcbiAgICAgKiBAcGFyYW0gc29ydCBzb3J0XG4gICAgICogQHBhcmFtIHRva2VuIEF1dGggVG9rZW5cbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q3JlYXRpdmVzUGVyZm9ybWFuY2VVc2luZ1BPU1QoZGFzaGJvYXJkUmVxdWVzdDogRGFzaGJvYXJkUmVxdWVzdCwgaWQ6IG51bWJlciwgcGFnZU51bWJlcj86IG51bWJlciwgcGFnZVNpemU/OiBudW1iZXIsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgc29ydD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2VPYmplY3REYXNoYm9hcmRSZXNwb25zZT47XG4gICAgcHVibGljIGdldENyZWF0aXZlc1BlcmZvcm1hbmNlVXNpbmdQT1NUKGRhc2hib2FyZFJlcXVlc3Q6IERhc2hib2FyZFJlcXVlc3QsIGlkOiBudW1iZXIsIHBhZ2VOdW1iZXI/OiBudW1iZXIsIHBhZ2VTaXplPzogbnVtYmVyLCByZWZyZXNoPzogYm9vbGVhbiwgcmVxSWQ/OiBzdHJpbmcsIHNvcnQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXBpUmVzcG9uc2VPYmplY3REYXNoYm9hcmRSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBnZXRDcmVhdGl2ZXNQZXJmb3JtYW5jZVVzaW5nUE9TVChkYXNoYm9hcmRSZXF1ZXN0OiBEYXNoYm9hcmRSZXF1ZXN0LCBpZDogbnVtYmVyLCBwYWdlTnVtYmVyPzogbnVtYmVyLCBwYWdlU2l6ZT86IG51bWJlciwgcmVmcmVzaD86IGJvb2xlYW4sIHJlcUlkPzogc3RyaW5nLCBzb3J0Pzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxBcGlSZXNwb25zZU9iamVjdERhc2hib2FyZFJlc3BvbnNlPj47XG4gICAgcHVibGljIGdldENyZWF0aXZlc1BlcmZvcm1hbmNlVXNpbmdQT1NUKGRhc2hib2FyZFJlcXVlc3Q6IERhc2hib2FyZFJlcXVlc3QsIGlkOiBudW1iZXIsIHBhZ2VOdW1iZXI/OiBudW1iZXIsIHBhZ2VTaXplPzogbnVtYmVyLCByZWZyZXNoPzogYm9vbGVhbiwgcmVxSWQ/OiBzdHJpbmcsIHNvcnQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoZGFzaGJvYXJkUmVxdWVzdCA9PT0gbnVsbCB8fCBkYXNoYm9hcmRSZXF1ZXN0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGRhc2hib2FyZFJlcXVlc3Qgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBnZXRDcmVhdGl2ZXNQZXJmb3JtYW5jZVVzaW5nUE9TVC4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpZCA9PT0gbnVsbCB8fCBpZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBpZCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGdldENyZWF0aXZlc1BlcmZvcm1hbmNlVXNpbmdQT1NULicpO1xuICAgICAgICB9XG5cblxuXG5cblxuXG5cbiAgICAgICAgbGV0IHF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHtlbmNvZGVyOiBuZXcgQ3VzdG9tSHR0cFVybEVuY29kaW5nQ29kZWMoKX0pO1xuICAgICAgICBpZiAocGFnZU51bWJlciAhPT0gdW5kZWZpbmVkICYmIHBhZ2VOdW1iZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3BhZ2VOdW1iZXInLCA8YW55PnBhZ2VOdW1iZXIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYWdlU2l6ZSAhPT0gdW5kZWZpbmVkICYmIHBhZ2VTaXplICE9PSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdwYWdlU2l6ZScsIDxhbnk+cGFnZVNpemUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZWZyZXNoICE9PSB1bmRlZmluZWQgJiYgcmVmcmVzaCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgncmVmcmVzaCcsIDxhbnk+cmVmcmVzaCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNvcnQgIT09IHVuZGVmaW5lZCAmJiBzb3J0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdzb3J0JywgPGFueT5zb3J0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcbiAgICAgICAgaWYgKHJlcUlkICE9PSB1bmRlZmluZWQgJiYgcmVxSWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgncmVxSWQnLCBTdHJpbmcocmVxSWQpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodG9rZW4gIT09IHVuZGVmaW5lZCAmJiB0b2tlbiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCd0b2tlbicsIFN0cmluZyh0b2tlbikpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgaWYgKGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJDb250ZW50VHlwZShjb25zdW1lcyk7XG4gICAgICAgIGlmIChodHRwQ29udGVudFR5cGVTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PEFwaVJlc3BvbnNlT2JqZWN0RGFzaGJvYXJkUmVzcG9uc2U+KGAke3RoaXMuYmFzZVBhdGh9L3YyL2FwaS9jcmVhdGl2ZXNldHMvY3JlYXRpdmVzL3BlcmZvcm1hbmNlLyR7ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhpZCkpfWAsXG4gICAgICAgICAgICBkYXNoYm9hcmRSZXF1ZXN0LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBhcmFtczogcXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIEFwaSB0byBnZXQgaW5kaXZpZHVhbCBjcmVhdGl2ZSBzZXQgcGVyZm9ybWFuY2VcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gZGFzaGJvYXJkUmVxdWVzdCBkYXNoYm9hcmRSZXF1ZXN0XG4gICAgICogQHBhcmFtIGlkIGlkXG4gICAgICogQHBhcmFtIHJlZnJlc2ggcmVmcmVzaFxuICAgICAqIEBwYXJhbSByZXFJZCByZXF1ZXN0IGlkXG4gICAgICogQHBhcmFtIHRva2VuIEF1dGggVG9rZW5cbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UGVyZm9ybWFuY2VCeUlkVXNpbmdQT1NUKGRhc2hib2FyZFJlcXVlc3Q6IERhc2hib2FyZFJlcXVlc3QsIGlkOiBudW1iZXIsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2VPYmplY3REYXNoYm9hcmRNZXRyaWNzPjtcbiAgICBwdWJsaWMgZ2V0UGVyZm9ybWFuY2VCeUlkVXNpbmdQT1NUKGRhc2hib2FyZFJlcXVlc3Q6IERhc2hib2FyZFJlcXVlc3QsIGlkOiBudW1iZXIsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcGlSZXNwb25zZU9iamVjdERhc2hib2FyZE1ldHJpY3M+PjtcbiAgICBwdWJsaWMgZ2V0UGVyZm9ybWFuY2VCeUlkVXNpbmdQT1NUKGRhc2hib2FyZFJlcXVlc3Q6IERhc2hib2FyZFJlcXVlc3QsIGlkOiBudW1iZXIsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXBpUmVzcG9uc2VPYmplY3REYXNoYm9hcmRNZXRyaWNzPj47XG4gICAgcHVibGljIGdldFBlcmZvcm1hbmNlQnlJZFVzaW5nUE9TVChkYXNoYm9hcmRSZXF1ZXN0OiBEYXNoYm9hcmRSZXF1ZXN0LCBpZDogbnVtYmVyLCByZWZyZXNoPzogYm9vbGVhbiwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoZGFzaGJvYXJkUmVxdWVzdCA9PT0gbnVsbCB8fCBkYXNoYm9hcmRSZXF1ZXN0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGRhc2hib2FyZFJlcXVlc3Qgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBnZXRQZXJmb3JtYW5jZUJ5SWRVc2luZ1BPU1QuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaWQgPT09IG51bGwgfHwgaWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgaWQgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBnZXRQZXJmb3JtYW5jZUJ5SWRVc2luZ1BPU1QuJyk7XG4gICAgICAgIH1cblxuXG5cblxuICAgICAgICBsZXQgcXVlcnlQYXJhbWV0ZXJzID0gbmV3IEh0dHBQYXJhbXMoe2VuY29kZXI6IG5ldyBDdXN0b21IdHRwVXJsRW5jb2RpbmdDb2RlYygpfSk7XG4gICAgICAgIGlmIChyZWZyZXNoICE9PSB1bmRlZmluZWQgJiYgcmVmcmVzaCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgncmVmcmVzaCcsIDxhbnk+cmVmcmVzaCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG4gICAgICAgIGlmIChyZXFJZCAhPT0gdW5kZWZpbmVkICYmIHJlcUlkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ3JlcUlkJywgU3RyaW5nKHJlcUlkKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRva2VuICE9PSB1bmRlZmluZWQgJiYgdG9rZW4gIT09IG51bGwpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgndG9rZW4nLCBTdHJpbmcodG9rZW4pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBDb250ZW50VHlwZVNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQ29udGVudFR5cGUoY29uc3VtZXMpO1xuICAgICAgICBpZiAoaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxBcGlSZXNwb25zZU9iamVjdERhc2hib2FyZE1ldHJpY3M+KGAke3RoaXMuYmFzZVBhdGh9L3YyL2FwaS9jcmVhdGl2ZXNldHMvcGVyZm9ybWFuY2UvJHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGlkKSl9YCxcbiAgICAgICAgICAgIGRhc2hib2FyZFJlcXVlc3QsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiBxdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgQXBpIHRvIHVwZGF0ZSBjcmVhdGl2ZSBzZXRzXG4gICAgICogXG4gICAgICogQHBhcmFtIGNyZWF0aXZlU2V0UmVxdWVzdCBjcmVhdGl2ZVNldFJlcXVlc3RcbiAgICAgKiBAcGFyYW0gaWQgaWRcbiAgICAgKiBAcGFyYW0gcmVxSWQgcmVxdWVzdCBpZFxuICAgICAqIEBwYXJhbSB0b2tlbiBBdXRoIFRva2VuXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIHVwZGF0ZVVzaW5nUE9TVChjcmVhdGl2ZVNldFJlcXVlc3Q6IENyZWF0aXZlU2V0UmVxdWVzdCwgaWQ6IG51bWJlciwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlT2JqZWN0Q3JlYXRpdmVTZXRSZXNwb25zZT47XG4gICAgcHVibGljIHVwZGF0ZVVzaW5nUE9TVChjcmVhdGl2ZVNldFJlcXVlc3Q6IENyZWF0aXZlU2V0UmVxdWVzdCwgaWQ6IG51bWJlciwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVNldFJlc3BvbnNlPj47XG4gICAgcHVibGljIHVwZGF0ZVVzaW5nUE9TVChjcmVhdGl2ZVNldFJlcXVlc3Q6IENyZWF0aXZlU2V0UmVxdWVzdCwgaWQ6IG51bWJlciwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PEFwaVJlc3BvbnNlT2JqZWN0Q3JlYXRpdmVTZXRSZXNwb25zZT4+O1xuICAgIHB1YmxpYyB1cGRhdGVVc2luZ1BPU1QoY3JlYXRpdmVTZXRSZXF1ZXN0OiBDcmVhdGl2ZVNldFJlcXVlc3QsIGlkOiBudW1iZXIsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKGNyZWF0aXZlU2V0UmVxdWVzdCA9PT0gbnVsbCB8fCBjcmVhdGl2ZVNldFJlcXVlc3QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgY3JlYXRpdmVTZXRSZXF1ZXN0IHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgdXBkYXRlVXNpbmdQT1NULicpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlkID09PSBudWxsIHx8IGlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGlkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgdXBkYXRlVXNpbmdQT1NULicpO1xuICAgICAgICB9XG5cblxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcbiAgICAgICAgaWYgKHJlcUlkICE9PSB1bmRlZmluZWQgJiYgcmVxSWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgncmVxSWQnLCBTdHJpbmcocmVxSWQpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodG9rZW4gIT09IHVuZGVmaW5lZCAmJiB0b2tlbiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCd0b2tlbicsIFN0cmluZyh0b2tlbikpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgaWYgKGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJDb250ZW50VHlwZShjb25zdW1lcyk7XG4gICAgICAgIGlmIChodHRwQ29udGVudFR5cGVTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PEFwaVJlc3BvbnNlT2JqZWN0Q3JlYXRpdmVTZXRSZXNwb25zZT4oYCR7dGhpcy5iYXNlUGF0aH0vdjIvYXBpL2NyZWF0aXZlc2V0cy8ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoaWQpKX1gLFxuICAgICAgICAgICAgY3JlYXRpdmVTZXRSZXF1ZXN0LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG59XG4iXX0=
@@ -1 +0,0 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJldnh1aS9hcGktY2xpZW50cy10cy8iLCJzb3VyY2VzIjpbIm1vZGVsL2FkdmVydGlzZXJEeW5hbWljRGV0YWlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBcGkgRG9jdW1lbnRhdGlvblxuICogQXBpIERvY3VtZW50YXRpb25cbiAqXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMS4wXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5pbXBvcnQgeyBBZHZlcnRpc2VyTGF5b3V0VmFyaWFibGVzIH0gZnJvbSAnLi9hZHZlcnRpc2VyTGF5b3V0VmFyaWFibGVzJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIEFkdmVydGlzZXJEeW5hbWljRGV0YWlscyB7IFxuICAgIGFkdmVydGlzZXJJZD86IG51bWJlcjtcbiAgICBhZHZlcnRpc2VyTGF5b3V0VmFyaWFibGVzPzogQXJyYXk8QWR2ZXJ0aXNlckxheW91dFZhcmlhYmxlcz47XG4gICAgYXZhaWxhYmxlRGltZW5zaW9ucz86IEFycmF5PHN0cmluZz47XG4gICAgdXRpbGlzZWREaW1lbnNpb24/OiBBcnJheTxzdHJpbmc+O1xufVxuIl19
@@ -1,12 +0,0 @@
1
- /**
2
- * Api Documentation
3
- * Api Documentation
4
- *
5
- * OpenAPI spec version: 1.0
6
- *
7
- *
8
- * NOTE: This class is auto generated by the swagger code generator program.
9
- * https://github.com/swagger-api/swagger-codegen.git
10
- * Do not edit the class manually.
11
- */
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlckxheW91dFZhcmlhYmxlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZXZ4dWkvYXBpLWNsaWVudHMtdHMvIiwic291cmNlcyI6WyJtb2RlbC9hZHZlcnRpc2VyTGF5b3V0VmFyaWFibGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFwaSBEb2N1bWVudGF0aW9uXG4gKiBBcGkgRG9jdW1lbnRhdGlvblxuICpcbiAqIE9wZW5BUEkgc3BlYyB2ZXJzaW9uOiAxLjBcbiAqIFxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgdGhlIHN3YWdnZXIgY29kZSBnZW5lcmF0b3IgcHJvZ3JhbS5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4uZ2l0XG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cblxuXG5leHBvcnQgaW50ZXJmYWNlIEFkdmVydGlzZXJMYXlvdXRWYXJpYWJsZXMgeyBcbiAgICBpZD86IG51bWJlcjtcbiAgICBpc0RlZmF1bHQ/OiBib29sZWFuO1xuICAgIG5hbWU/OiBzdHJpbmc7XG59XG4iXX0=