@effect-aws/client-opensearch 1.3.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/Errors/package.json +6 -0
  2. package/OpenSearchClientInstance/package.json +6 -0
  3. package/OpenSearchService/package.json +6 -0
  4. package/OpenSearchServiceConfig/package.json +6 -0
  5. package/{lib → dist/cjs}/Errors.d.ts +6 -11
  6. package/dist/cjs/Errors.d.ts.map +1 -0
  7. package/dist/cjs/Errors.js +21 -0
  8. package/dist/cjs/Errors.js.map +1 -0
  9. package/dist/cjs/OpenSearchClientInstance.d.ts +24 -0
  10. package/dist/cjs/OpenSearchClientInstance.d.ts.map +1 -0
  11. package/dist/cjs/OpenSearchClientInstance.js +50 -0
  12. package/dist/cjs/OpenSearchClientInstance.js.map +1 -0
  13. package/{lib → dist/cjs}/OpenSearchService.d.ts +16 -38
  14. package/dist/cjs/OpenSearchService.d.ts.map +1 -0
  15. package/dist/cjs/OpenSearchService.js +132 -0
  16. package/dist/cjs/OpenSearchService.js.map +1 -0
  17. package/dist/cjs/OpenSearchServiceConfig.d.ts +25 -0
  18. package/dist/cjs/OpenSearchServiceConfig.d.ts.map +1 -0
  19. package/dist/cjs/OpenSearchServiceConfig.js +35 -0
  20. package/dist/cjs/OpenSearchServiceConfig.js.map +1 -0
  21. package/dist/cjs/index.d.ts +39 -0
  22. package/dist/cjs/index.d.ts.map +1 -0
  23. package/dist/cjs/index.js +56 -0
  24. package/dist/cjs/index.js.map +1 -0
  25. package/dist/dts/Errors.d.ts +20 -0
  26. package/dist/dts/Errors.d.ts.map +1 -0
  27. package/dist/dts/OpenSearchClientInstance.d.ts +24 -0
  28. package/dist/dts/OpenSearchClientInstance.d.ts.map +1 -0
  29. package/dist/dts/OpenSearchService.d.ts +423 -0
  30. package/dist/dts/OpenSearchService.d.ts.map +1 -0
  31. package/dist/dts/OpenSearchServiceConfig.d.ts +25 -0
  32. package/dist/dts/OpenSearchServiceConfig.d.ts.map +1 -0
  33. package/dist/dts/index.d.ts +39 -0
  34. package/dist/dts/index.d.ts.map +1 -0
  35. package/dist/esm/Errors.js +18 -0
  36. package/dist/esm/Errors.js.map +1 -0
  37. package/dist/esm/OpenSearchClientInstance.js +23 -0
  38. package/dist/esm/OpenSearchClientInstance.js.map +1 -0
  39. package/dist/esm/OpenSearchService.js +105 -0
  40. package/dist/esm/OpenSearchService.js.map +1 -0
  41. package/dist/esm/OpenSearchServiceConfig.js +31 -0
  42. package/dist/esm/OpenSearchServiceConfig.js.map +1 -0
  43. package/dist/esm/index.js +27 -0
  44. package/dist/esm/index.js.map +1 -0
  45. package/dist/esm/package.json +4 -0
  46. package/package.json +60 -43
  47. package/src/Errors.ts +50 -0
  48. package/src/OpenSearchClientInstance.ts +33 -0
  49. package/src/OpenSearchService.ts +1368 -0
  50. package/src/OpenSearchServiceConfig.ts +52 -0
  51. package/src/index.ts +44 -0
  52. package/CHANGELOG.md +0 -31
  53. package/docgen.json +0 -8
  54. package/lib/Errors.js +0 -21
  55. package/lib/OpenSearchClientInstance.d.ts +0 -31
  56. package/lib/OpenSearchClientInstance.js +0 -57
  57. package/lib/OpenSearchClientInstanceConfig.d.ts +0 -23
  58. package/lib/OpenSearchClientInstanceConfig.js +0 -44
  59. package/lib/OpenSearchService.js +0 -164
  60. package/lib/esm/Errors.js +0 -18
  61. package/lib/esm/OpenSearchClientInstance.js +0 -30
  62. package/lib/esm/OpenSearchClientInstanceConfig.js +0 -40
  63. package/lib/esm/OpenSearchService.js +0 -160
  64. package/lib/esm/index.js +0 -5
  65. package/lib/index.d.ts +0 -4
  66. package/lib/index.js +0 -21
  67. package/project.json +0 -77
  68. package/vitest.config.ts +0 -3
@@ -1,164 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.DefaultOpenSearchServiceLayer = exports.OpenSearchServiceLayer = exports.BaseOpenSearchServiceLayer = exports.OpenSearch = exports.OpenSearchService = exports.makeOpenSearchService = void 0;
5
- /**
6
- * @since 1.0.0
7
- */
8
- const client_opensearch_1 = require("@aws-sdk/client-opensearch");
9
- const effect_1 = require("effect");
10
- const Errors_1 = require("./Errors");
11
- const OpenSearchClientInstance_1 = require("./OpenSearchClientInstance");
12
- const OpenSearchClientInstanceConfig_1 = require("./OpenSearchClientInstanceConfig");
13
- const commands = {
14
- AcceptInboundConnectionCommand: client_opensearch_1.AcceptInboundConnectionCommand,
15
- AddDataSourceCommand: client_opensearch_1.AddDataSourceCommand,
16
- AddDirectQueryDataSourceCommand: client_opensearch_1.AddDirectQueryDataSourceCommand,
17
- AddTagsCommand: client_opensearch_1.AddTagsCommand,
18
- AssociatePackageCommand: client_opensearch_1.AssociatePackageCommand,
19
- AssociatePackagesCommand: client_opensearch_1.AssociatePackagesCommand,
20
- AuthorizeVpcEndpointAccessCommand: client_opensearch_1.AuthorizeVpcEndpointAccessCommand,
21
- CancelDomainConfigChangeCommand: client_opensearch_1.CancelDomainConfigChangeCommand,
22
- CancelServiceSoftwareUpdateCommand: client_opensearch_1.CancelServiceSoftwareUpdateCommand,
23
- CreateApplicationCommand: client_opensearch_1.CreateApplicationCommand,
24
- CreateDomainCommand: client_opensearch_1.CreateDomainCommand,
25
- CreateOutboundConnectionCommand: client_opensearch_1.CreateOutboundConnectionCommand,
26
- CreatePackageCommand: client_opensearch_1.CreatePackageCommand,
27
- CreateVpcEndpointCommand: client_opensearch_1.CreateVpcEndpointCommand,
28
- DeleteApplicationCommand: client_opensearch_1.DeleteApplicationCommand,
29
- DeleteDataSourceCommand: client_opensearch_1.DeleteDataSourceCommand,
30
- DeleteDirectQueryDataSourceCommand: client_opensearch_1.DeleteDirectQueryDataSourceCommand,
31
- DeleteDomainCommand: client_opensearch_1.DeleteDomainCommand,
32
- DeleteInboundConnectionCommand: client_opensearch_1.DeleteInboundConnectionCommand,
33
- DeleteOutboundConnectionCommand: client_opensearch_1.DeleteOutboundConnectionCommand,
34
- DeletePackageCommand: client_opensearch_1.DeletePackageCommand,
35
- DeleteVpcEndpointCommand: client_opensearch_1.DeleteVpcEndpointCommand,
36
- DescribeDomainCommand: client_opensearch_1.DescribeDomainCommand,
37
- DescribeDomainAutoTunesCommand: client_opensearch_1.DescribeDomainAutoTunesCommand,
38
- DescribeDomainChangeProgressCommand: client_opensearch_1.DescribeDomainChangeProgressCommand,
39
- DescribeDomainConfigCommand: client_opensearch_1.DescribeDomainConfigCommand,
40
- DescribeDomainHealthCommand: client_opensearch_1.DescribeDomainHealthCommand,
41
- DescribeDomainNodesCommand: client_opensearch_1.DescribeDomainNodesCommand,
42
- DescribeDomainsCommand: client_opensearch_1.DescribeDomainsCommand,
43
- DescribeDryRunProgressCommand: client_opensearch_1.DescribeDryRunProgressCommand,
44
- DescribeInboundConnectionsCommand: client_opensearch_1.DescribeInboundConnectionsCommand,
45
- DescribeInstanceTypeLimitsCommand: client_opensearch_1.DescribeInstanceTypeLimitsCommand,
46
- DescribeOutboundConnectionsCommand: client_opensearch_1.DescribeOutboundConnectionsCommand,
47
- DescribePackagesCommand: client_opensearch_1.DescribePackagesCommand,
48
- DescribeReservedInstanceOfferingsCommand: client_opensearch_1.DescribeReservedInstanceOfferingsCommand,
49
- DescribeReservedInstancesCommand: client_opensearch_1.DescribeReservedInstancesCommand,
50
- DescribeVpcEndpointsCommand: client_opensearch_1.DescribeVpcEndpointsCommand,
51
- DissociatePackageCommand: client_opensearch_1.DissociatePackageCommand,
52
- DissociatePackagesCommand: client_opensearch_1.DissociatePackagesCommand,
53
- GetApplicationCommand: client_opensearch_1.GetApplicationCommand,
54
- GetCompatibleVersionsCommand: client_opensearch_1.GetCompatibleVersionsCommand,
55
- GetDataSourceCommand: client_opensearch_1.GetDataSourceCommand,
56
- GetDirectQueryDataSourceCommand: client_opensearch_1.GetDirectQueryDataSourceCommand,
57
- GetDomainMaintenanceStatusCommand: client_opensearch_1.GetDomainMaintenanceStatusCommand,
58
- GetPackageVersionHistoryCommand: client_opensearch_1.GetPackageVersionHistoryCommand,
59
- GetUpgradeHistoryCommand: client_opensearch_1.GetUpgradeHistoryCommand,
60
- GetUpgradeStatusCommand: client_opensearch_1.GetUpgradeStatusCommand,
61
- ListApplicationsCommand: client_opensearch_1.ListApplicationsCommand,
62
- ListDataSourcesCommand: client_opensearch_1.ListDataSourcesCommand,
63
- ListDirectQueryDataSourcesCommand: client_opensearch_1.ListDirectQueryDataSourcesCommand,
64
- ListDomainMaintenancesCommand: client_opensearch_1.ListDomainMaintenancesCommand,
65
- ListDomainNamesCommand: client_opensearch_1.ListDomainNamesCommand,
66
- ListDomainsForPackageCommand: client_opensearch_1.ListDomainsForPackageCommand,
67
- ListInstanceTypeDetailsCommand: client_opensearch_1.ListInstanceTypeDetailsCommand,
68
- ListPackagesForDomainCommand: client_opensearch_1.ListPackagesForDomainCommand,
69
- ListScheduledActionsCommand: client_opensearch_1.ListScheduledActionsCommand,
70
- ListTagsCommand: client_opensearch_1.ListTagsCommand,
71
- ListVersionsCommand: client_opensearch_1.ListVersionsCommand,
72
- ListVpcEndpointAccessCommand: client_opensearch_1.ListVpcEndpointAccessCommand,
73
- ListVpcEndpointsCommand: client_opensearch_1.ListVpcEndpointsCommand,
74
- ListVpcEndpointsForDomainCommand: client_opensearch_1.ListVpcEndpointsForDomainCommand,
75
- PurchaseReservedInstanceOfferingCommand: client_opensearch_1.PurchaseReservedInstanceOfferingCommand,
76
- RejectInboundConnectionCommand: client_opensearch_1.RejectInboundConnectionCommand,
77
- RemoveTagsCommand: client_opensearch_1.RemoveTagsCommand,
78
- RevokeVpcEndpointAccessCommand: client_opensearch_1.RevokeVpcEndpointAccessCommand,
79
- StartDomainMaintenanceCommand: client_opensearch_1.StartDomainMaintenanceCommand,
80
- StartServiceSoftwareUpdateCommand: client_opensearch_1.StartServiceSoftwareUpdateCommand,
81
- UpdateApplicationCommand: client_opensearch_1.UpdateApplicationCommand,
82
- UpdateDataSourceCommand: client_opensearch_1.UpdateDataSourceCommand,
83
- UpdateDirectQueryDataSourceCommand: client_opensearch_1.UpdateDirectQueryDataSourceCommand,
84
- UpdateDomainConfigCommand: client_opensearch_1.UpdateDomainConfigCommand,
85
- UpdatePackageCommand: client_opensearch_1.UpdatePackageCommand,
86
- UpdatePackageScopeCommand: client_opensearch_1.UpdatePackageScopeCommand,
87
- UpdateScheduledActionCommand: client_opensearch_1.UpdateScheduledActionCommand,
88
- UpdateVpcEndpointCommand: client_opensearch_1.UpdateVpcEndpointCommand,
89
- UpgradeDomainCommand: client_opensearch_1.UpgradeDomainCommand,
90
- };
91
- /**
92
- * @since 1.0.0
93
- * @category constructors
94
- */
95
- exports.makeOpenSearchService = effect_1.Effect.gen(function* (_) {
96
- const client = yield* _(OpenSearchClientInstance_1.OpenSearchClientInstance);
97
- return effect_1.Record.toEntries(commands).reduce((acc, [command]) => {
98
- const CommandCtor = commands[command];
99
- const methodImpl = (args, options) => effect_1.Effect.tryPromise({
100
- try: (abortSignal) => client.send(new CommandCtor(args), {
101
- ...(options !== null && options !== void 0 ? options : {}),
102
- abortSignal,
103
- }),
104
- catch: (e) => {
105
- if (e instanceof client_opensearch_1.OpenSearchServiceException &&
106
- Errors_1.AllServiceErrors.includes(e.name)) {
107
- const ServiceException = effect_1.Data.tagged(e.name);
108
- return ServiceException({
109
- ...e,
110
- message: e.message,
111
- stack: e.stack,
112
- });
113
- }
114
- if (e instanceof Error) {
115
- return (0, Errors_1.SdkError)({
116
- ...e,
117
- name: "SdkError",
118
- message: e.message,
119
- stack: e.stack,
120
- });
121
- }
122
- throw e;
123
- },
124
- });
125
- const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
126
- return { ...acc, [methodName]: methodImpl };
127
- }, {});
128
- });
129
- /**
130
- * @since 1.0.0
131
- * @category models
132
- */
133
- class OpenSearchService extends effect_1.Effect.Tag("@effect-aws/client-opensearch/OpenSearchService")() {
134
- }
135
- exports.OpenSearchService = OpenSearchService;
136
- _a = OpenSearchService;
137
- OpenSearchService.defaultLayer = effect_1.Layer.effect(_a, exports.makeOpenSearchService).pipe(effect_1.Layer.provide(OpenSearchClientInstance_1.OpenSearchClientInstanceLayer), effect_1.Layer.provide(OpenSearchClientInstanceConfig_1.DefaultOpenSearchClientConfigLayer));
138
- OpenSearchService.layer = (config) => effect_1.Layer.effect(_a, exports.makeOpenSearchService).pipe(effect_1.Layer.provide(OpenSearchClientInstance_1.OpenSearchClientInstanceLayer), effect_1.Layer.provide(effect_1.Layer.effect(OpenSearchClientInstanceConfig_1.OpenSearchClientInstanceConfig, OpenSearchClientInstanceConfig_1.makeDefaultOpenSearchClientInstanceConfig.pipe(effect_1.Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
139
- OpenSearchService.baseLayer = (evaluate) => effect_1.Layer.effect(_a, exports.makeOpenSearchService).pipe(effect_1.Layer.provide(effect_1.Layer.effect(OpenSearchClientInstance_1.OpenSearchClientInstance, effect_1.Effect.map(OpenSearchClientInstanceConfig_1.makeDefaultOpenSearchClientInstanceConfig, evaluate))));
140
- /**
141
- * @since 1.0.0
142
- * @category models
143
- * @alias OpenSearchService
144
- */
145
- exports.OpenSearch = OpenSearchService;
146
- /**
147
- * @since 1.0.0
148
- * @category layers
149
- * @deprecated use OpenSearch.baseLayer instead
150
- */
151
- exports.BaseOpenSearchServiceLayer = effect_1.Layer.effect(OpenSearchService, exports.makeOpenSearchService);
152
- /**
153
- * @since 1.0.0
154
- * @category layers
155
- * @deprecated use OpenSearch.layer instead
156
- */
157
- exports.OpenSearchServiceLayer = exports.BaseOpenSearchServiceLayer.pipe(effect_1.Layer.provide(OpenSearchClientInstance_1.OpenSearchClientInstanceLayer));
158
- /**
159
- * @since 1.0.0
160
- * @category layers
161
- * @deprecated use OpenSearch.defaultLayer instead
162
- */
163
- exports.DefaultOpenSearchServiceLayer = OpenSearchService.defaultLayer;
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblNlYXJjaFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvT3BlblNlYXJjaFNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztHQUVHO0FBQ0gsa0VBd09vQztBQUNwQyxtQ0FBcUQ7QUFDckQscUNBaUJrQjtBQUNsQix5RUFHb0M7QUFDcEMscUZBSTBDO0FBYTFDLE1BQU0sUUFBUSxHQUFHO0lBQ2YsOEJBQThCLEVBQTlCLGtEQUE4QjtJQUM5QixvQkFBb0IsRUFBcEIsd0NBQW9CO0lBQ3BCLCtCQUErQixFQUEvQixtREFBK0I7SUFDL0IsY0FBYyxFQUFkLGtDQUFjO0lBQ2QsdUJBQXVCLEVBQXZCLDJDQUF1QjtJQUN2Qix3QkFBd0IsRUFBeEIsNENBQXdCO0lBQ3hCLGlDQUFpQyxFQUFqQyxxREFBaUM7SUFDakMsK0JBQStCLEVBQS9CLG1EQUErQjtJQUMvQixrQ0FBa0MsRUFBbEMsc0RBQWtDO0lBQ2xDLHdCQUF3QixFQUF4Qiw0Q0FBd0I7SUFDeEIsbUJBQW1CLEVBQW5CLHVDQUFtQjtJQUNuQiwrQkFBK0IsRUFBL0IsbURBQStCO0lBQy9CLG9CQUFvQixFQUFwQix3Q0FBb0I7SUFDcEIsd0JBQXdCLEVBQXhCLDRDQUF3QjtJQUN4Qix3QkFBd0IsRUFBeEIsNENBQXdCO0lBQ3hCLHVCQUF1QixFQUF2QiwyQ0FBdUI7SUFDdkIsa0NBQWtDLEVBQWxDLHNEQUFrQztJQUNsQyxtQkFBbUIsRUFBbkIsdUNBQW1CO0lBQ25CLDhCQUE4QixFQUE5QixrREFBOEI7SUFDOUIsK0JBQStCLEVBQS9CLG1EQUErQjtJQUMvQixvQkFBb0IsRUFBcEIsd0NBQW9CO0lBQ3BCLHdCQUF3QixFQUF4Qiw0Q0FBd0I7SUFDeEIscUJBQXFCLEVBQXJCLHlDQUFxQjtJQUNyQiw4QkFBOEIsRUFBOUIsa0RBQThCO0lBQzlCLG1DQUFtQyxFQUFuQyx1REFBbUM7SUFDbkMsMkJBQTJCLEVBQTNCLCtDQUEyQjtJQUMz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Q0FBQztBQUVGOzs7O0dBSUc7QUFDVSxRQUFBLHNCQUFzQixHQUFHLGtDQUEwQixDQUFDLElBQUksQ0FDbkUsY0FBSyxDQUFDLE9BQU8sQ0FBQyx3REFBNkIsQ0FBQyxDQUM3QyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNVLFFBQUEsNkJBQTZCLEdBQUcsaUJBQWlCLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgT3BlblNlYXJjaFNlcnZpY2VFeGNlcHRpb24sXG4gIHR5cGUgT3BlblNlYXJjaENsaWVudCxcbiAgdHlwZSBPcGVuU2VhcmNoQ2xpZW50Q29uZmlnLFxuICBBY2NlcHRJbmJvdW5kQ29ubmVjdGlvbkNvbW1hbmQsXG4gIHR5cGUgQWNjZXB0SW5ib3VuZENvbm5lY3Rpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQWNjZXB0SW5ib3VuZENvbm5lY3Rpb25Db21tYW5kT3V0cHV0LFxuICBBZGREYXRhU291cmNlQ29tbWFuZCxcbiAgdHlwZSBBZGREYXRhU291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIEFkZERhdGFTb3VyY2VDb21tYW5kT3V0cHV0LFxuICBBZGREaXJlY3RRdWVyeURhdGFTb3VyY2VDb21tYW5kLFxuICB0eXBlIEFkZERpcmVjdFF1ZXJ5RGF0YVNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZGREaXJlY3RRdWVyeURhdGFTb3VyY2VDb21tYW5kT3V0cHV0LFxuICBBZGRUYWdzQ29tbWFuZCxcbiAgdHlwZSBBZGRUYWdzQ29tbWFuZElucHV0LFxuICB0eXBlIEFkZFRhZ3NDb21tYW5kT3V0cHV0LFxuICBBc3NvY2lhdGVQYWNrYWdlQ29tbWFuZCxcbiAgdHlwZSBBc3NvY2lhdGVQYWNrYWdlQ29tbWFuZElucHV0LFxuICB0eXBlIEFzc29jaWF0ZVBhY2thZ2VDb21tYW5kT3V0cHV0LFxuICBBc3NvY2lhdGVQYWNrYWdlc0NvbW1hbmQsXG4gIHR5cGUgQXNzb2NpYXRlUGFja2FnZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgQXNzb2NpYXRlUGFja2FnZXNDb21tYW5kT3V0cHV0LFxuICBBdXRob3JpemVWcGNFbmRwb2ludEFjY2Vzc0NvbW1hbmQsXG4gIHR5cGUgQXV0aG9yaXplVnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgQXV0aG9yaXplVnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kT3V0cHV0LFxuICBDYW5jZWxEb21haW5Db25maWdDaGFuZ2VDb21tYW5kLFxuICB0eXBlIENhbmNlbERvbWFpbkNvbmZpZ0NoYW5nZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDYW5jZWxEb21haW5Db25maWdDaGFuZ2VDb21tYW5kT3V0cHV0LFxuICBDYW5jZWxTZXJ2aWNlU29mdHdhcmVVcGRhdGVDb21tYW5kLFxuICB0eXBlIENhbmNlbFNlcnZpY2VTb2Z0d2FyZVVwZGF0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDYW5jZWxTZXJ2aWNlU29mdHdhcmVVcGRhdGVDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBDcmVhdGVEb21haW5Db21tYW5kLFxuICB0eXBlIENyZWF0ZURvbWFpbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEb21haW5Db21tYW5kT3V0cHV0LFxuICBDcmVhdGVPdXRib3VuZENvbm5lY3Rpb25Db21tYW5kLFxuICB0eXBlIENyZWF0ZU91dGJvdW5kQ29ubmVjdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVPdXRib3VuZENvbm5lY3Rpb25Db21tYW5kT3V0cHV0LFxuICBDcmVhdGVQYWNrYWdlQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVQYWNrYWdlQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVBhY2thZ2VDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVWcGNFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlVnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlVnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICBEZWxldGVBcHBsaWNhdGlvbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQXBwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQXBwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVEYXRhU291cmNlQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVEYXRhU291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURhdGFTb3VyY2VDb21tYW5kT3V0cHV0LFxuICBEZWxldGVEaXJlY3RRdWVyeURhdGFTb3VyY2VDb21tYW5kLFxuICB0eXBlIERlbGV0ZURpcmVjdFF1ZXJ5RGF0YVNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEaXJlY3RRdWVyeURhdGFTb3VyY2VDb21tYW5kT3V0cHV0LFxuICBEZWxldGVEb21haW5Db21tYW5kLFxuICB0eXBlIERlbGV0ZURvbWFpbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEb21haW5Db21tYW5kT3V0cHV0LFxuICBEZWxldGVJbmJvdW5kQ29ubmVjdGlvbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlSW5ib3VuZENvbm5lY3Rpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlSW5ib3VuZENvbm5lY3Rpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVPdXRib3VuZENvbm5lY3Rpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZU91dGJvdW5kQ29ubmVjdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVPdXRib3VuZENvbm5lY3Rpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVQYWNrYWdlQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVQYWNrYWdlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVBhY2thZ2VDb21tYW5kT3V0cHV0LFxuICBEZWxldGVWcGNFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZURvbWFpbkNvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5Db21tYW5kT3V0cHV0LFxuICBEZXNjcmliZURvbWFpbkF1dG9UdW5lc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5BdXRvVHVuZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5BdXRvVHVuZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZURvbWFpbkNoYW5nZVByb2dyZXNzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURvbWFpbkNoYW5nZVByb2dyZXNzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRG9tYWluQ2hhbmdlUHJvZ3Jlc3NDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZURvbWFpbkNvbmZpZ0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5Db25maWdDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5Db25maWdDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZURvbWFpbkhlYWx0aENvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5IZWFsdGhDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5IZWFsdGhDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZURvbWFpbk5vZGVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURvbWFpbk5vZGVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRG9tYWluTm9kZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZURvbWFpbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRG9tYWluc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURvbWFpbnNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZURyeVJ1blByb2dyZXNzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURyeVJ1blByb2dyZXNzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRHJ5UnVuUHJvZ3Jlc3NDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUluYm91bmRDb25uZWN0aW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVJbmJvdW5kQ29ubmVjdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVJbmJvdW5kQ29ubmVjdGlvbnNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUluc3RhbmNlVHlwZUxpbWl0c0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVJbnN0YW5jZVR5cGVMaW1pdHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVJbnN0YW5jZVR5cGVMaW1pdHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZU91dGJvdW5kQ29ubmVjdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlT3V0Ym91bmRDb25uZWN0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZU91dGJvdW5kQ29ubmVjdGlvbnNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVBhY2thZ2VzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVBhY2thZ2VzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlUGFja2FnZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VPZmZlcmluZ3NDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlUmVzZXJ2ZWRJbnN0YW5jZU9mZmVyaW5nc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VPZmZlcmluZ3NDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlUmVzZXJ2ZWRJbnN0YW5jZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVZwY0VuZHBvaW50c0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVWcGNFbmRwb2ludHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVWcGNFbmRwb2ludHNDb21tYW5kT3V0cHV0LFxuICBEaXNzb2NpYXRlUGFja2FnZUNvbW1hbmQsXG4gIHR5cGUgRGlzc29jaWF0ZVBhY2thZ2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGlzc29jaWF0ZVBhY2thZ2VDb21tYW5kT3V0cHV0LFxuICBEaXNzb2NpYXRlUGFja2FnZXNDb21tYW5kLFxuICB0eXBlIERpc3NvY2lhdGVQYWNrYWdlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEaXNzb2NpYXRlUGFja2FnZXNDb21tYW5kT3V0cHV0LFxuICBHZXRBcHBsaWNhdGlvbkNvbW1hbmQsXG4gIHR5cGUgR2V0QXBwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QXBwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRDb21wYXRpYmxlVmVyc2lvbnNDb21tYW5kLFxuICB0eXBlIEdldENvbXBhdGlibGVWZXJzaW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRDb21wYXRpYmxlVmVyc2lvbnNDb21tYW5kT3V0cHV0LFxuICBHZXREYXRhU291cmNlQ29tbWFuZCxcbiAgdHlwZSBHZXREYXRhU291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIEdldERhdGFTb3VyY2VDb21tYW5kT3V0cHV0LFxuICBHZXREaXJlY3RRdWVyeURhdGFTb3VyY2VDb21tYW5kLFxuICB0eXBlIEdldERpcmVjdFF1ZXJ5RGF0YVNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXREaXJlY3RRdWVyeURhdGFTb3VyY2VDb21tYW5kT3V0cHV0LFxuICBHZXREb21haW5NYWludGVuYW5jZVN0YXR1c0NvbW1hbmQsXG4gIHR5cGUgR2V0RG9tYWluTWFpbnRlbmFuY2VTdGF0dXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0RG9tYWluTWFpbnRlbmFuY2VTdGF0dXNDb21tYW5kT3V0cHV0LFxuICBHZXRQYWNrYWdlVmVyc2lvbkhpc3RvcnlDb21tYW5kLFxuICB0eXBlIEdldFBhY2thZ2VWZXJzaW9uSGlzdG9yeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRQYWNrYWdlVmVyc2lvbkhpc3RvcnlDb21tYW5kT3V0cHV0LFxuICBHZXRVcGdyYWRlSGlzdG9yeUNvbW1hbmQsXG4gIHR5cGUgR2V0VXBncmFkZUhpc3RvcnlDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0VXBncmFkZUhpc3RvcnlDb21tYW5kT3V0cHV0LFxuICBHZXRVcGdyYWRlU3RhdHVzQ29tbWFuZCxcbiAgdHlwZSBHZXRVcGdyYWRlU3RhdHVzQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFVwZ3JhZGVTdGF0dXNDb21tYW5kT3V0cHV0LFxuICBMaXN0QXBwbGljYXRpb25zQ29tbWFuZCxcbiAgdHlwZSBMaXN0QXBwbGljYXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RBcHBsaWNhdGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0RGF0YVNvdXJjZXNDb21tYW5kLFxuICB0eXBlIExpc3REYXRhU291cmNlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0RGF0YVNvdXJjZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0RGlyZWN0UXVlcnlEYXRhU291cmNlc0NvbW1hbmQsXG4gIHR5cGUgTGlzdERpcmVjdFF1ZXJ5RGF0YVNvdXJjZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdERpcmVjdFF1ZXJ5RGF0YVNvdXJjZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0RG9tYWluTWFpbnRlbmFuY2VzQ29tbWFuZCxcbiAgdHlwZSBMaXN0RG9tYWluTWFpbnRlbmFuY2VzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3REb21haW5NYWludGVuYW5jZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0RG9tYWluTmFtZXNDb21tYW5kLFxuICB0eXBlIExpc3REb21haW5OYW1lc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0RG9tYWluTmFtZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0RG9tYWluc0ZvclBhY2thZ2VDb21tYW5kLFxuICB0eXBlIExpc3REb21haW5zRm9yUGFja2FnZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0RG9tYWluc0ZvclBhY2thZ2VDb21tYW5kT3V0cHV0LFxuICBMaXN0SW5zdGFuY2VUeXBlRGV0YWlsc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEluc3RhbmNlVHlwZURldGFpbHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEluc3RhbmNlVHlwZURldGFpbHNDb21tYW5kT3V0cHV0LFxuICBMaXN0UGFja2FnZXNGb3JEb21haW5Db21tYW5kLFxuICB0eXBlIExpc3RQYWNrYWdlc0ZvckRvbWFpbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0UGFja2FnZXNGb3JEb21haW5Db21tYW5kT3V0cHV0LFxuICBMaXN0U2NoZWR1bGVkQWN0aW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNjaGVkdWxlZEFjdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNjaGVkdWxlZEFjdGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0VGFnc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFRhZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFRhZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0VmVyc2lvbnNDb21tYW5kLFxuICB0eXBlIExpc3RWZXJzaW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VmVyc2lvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0VnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kLFxuICB0eXBlIExpc3RWcGNFbmRwb2ludEFjY2Vzc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kT3V0cHV0LFxuICBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZCxcbiAgdHlwZSBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RWcGNFbmRwb2ludHNDb21tYW5kT3V0cHV0LFxuICBMaXN0VnBjRW5kcG9pbnRzRm9yRG9tYWluQ29tbWFuZCxcbiAgdHlwZSBMaXN0VnBjRW5kcG9pbnRzRm9yRG9tYWluQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RWcGNFbmRwb2ludHNGb3JEb21haW5Db21tYW5kT3V0cHV0LFxuICBQdXJjaGFzZVJlc2VydmVkSW5zdGFuY2VPZmZlcmluZ0NvbW1hbmQsXG4gIHR5cGUgUHVyY2hhc2VSZXNlcnZlZEluc3RhbmNlT2ZmZXJpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHVyY2hhc2VSZXNlcnZlZEluc3RhbmNlT2ZmZXJpbmdDb21tYW5kT3V0cHV0LFxuICBSZWplY3RJbmJvdW5kQ29ubmVjdGlvbkNvbW1hbmQsXG4gIHR5cGUgUmVqZWN0SW5ib3VuZENvbm5lY3Rpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUmVqZWN0SW5ib3VuZENvbm5lY3Rpb25Db21tYW5kT3V0cHV0LFxuICBSZW1vdmVUYWdzQ29tbWFuZCxcbiAgdHlwZSBSZW1vdmVUYWdzQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZVRhZ3NDb21tYW5kT3V0cHV0LFxuICBSZXZva2VWcGNFbmRwb2ludEFjY2Vzc0NvbW1hbmQsXG4gIHR5cGUgUmV2b2tlVnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmV2b2tlVnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kT3V0cHV0LFxuICBTdGFydERvbWFpbk1haW50ZW5hbmNlQ29tbWFuZCxcbiAgdHlwZSBTdGFydERvbWFpbk1haW50ZW5hbmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0RG9tYWluTWFpbnRlbmFuY2VDb21tYW5kT3V0cHV0LFxuICBTdGFydFNlcnZpY2VTb2Z0d2FyZVVwZGF0ZUNvbW1hbmQsXG4gIHR5cGUgU3RhcnRTZXJ2aWNlU29mdHdhcmVVcGRhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3RhcnRTZXJ2aWNlU29mdHdhcmVVcGRhdGVDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVBcHBsaWNhdGlvbkNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlQXBwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlQXBwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBVcGRhdGVEYXRhU291cmNlQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVEYXRhU291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZURhdGFTb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVEaXJlY3RRdWVyeURhdGFTb3VyY2VDb21tYW5kLFxuICB0eXBlIFVwZGF0ZURpcmVjdFF1ZXJ5RGF0YVNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVEaXJlY3RRdWVyeURhdGFTb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVEb21haW5Db25maWdDb21tYW5kLFxuICB0eXBlIFVwZGF0ZURvbWFpbkNvbmZpZ0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVEb21haW5Db25maWdDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVQYWNrYWdlQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVQYWNrYWdlQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVBhY2thZ2VDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVQYWNrYWdlU2NvcGVDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVBhY2thZ2VTY29wZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVQYWNrYWdlU2NvcGVDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTY2hlZHVsZWRBY3Rpb25Db21tYW5kLFxuICB0eXBlIFVwZGF0ZVNjaGVkdWxlZEFjdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTY2hlZHVsZWRBY3Rpb25Db21tYW5kT3V0cHV0LFxuICBVcGRhdGVWcGNFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgVXBkYXRlVnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlVnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICBVcGdyYWRlRG9tYWluQ29tbWFuZCxcbiAgdHlwZSBVcGdyYWRlRG9tYWluQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZ3JhZGVEb21haW5Db21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LW9wZW5zZWFyY2hcIjtcbmltcG9ydCB7IERhdGEsIEVmZmVjdCwgTGF5ZXIsIFJlY29yZCB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7XG4gIEFsbFNlcnZpY2VFcnJvcnMsXG4gIEFjY2Vzc0RlbmllZEVycm9yLFxuICBCYXNlRXJyb3IsXG4gIENvbmZsaWN0RXJyb3IsXG4gIERlcGVuZGVuY3lGYWlsdXJlRXJyb3IsXG4gIERpc2FibGVkT3BlcmF0aW9uRXJyb3IsXG4gIEludGVybmFsRXJyb3IsXG4gIEludmFsaWRQYWdpbmF0aW9uVG9rZW5FcnJvcixcbiAgSW52YWxpZFR5cGVFcnJvcixcbiAgTGltaXRFeGNlZWRlZEVycm9yLFxuICBSZXNvdXJjZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEVycm9yLFxuICBTbG90Tm90QXZhaWxhYmxlRXJyb3IsXG4gIFZhbGlkYXRpb25FcnJvcixcbiAgU2RrRXJyb3IsXG4gIFRhZ2dlZEV4Y2VwdGlvbixcbn0gZnJvbSBcIi4vRXJyb3JzXCI7XG5pbXBvcnQge1xuICBPcGVuU2VhcmNoQ2xpZW50SW5zdGFuY2UsXG4gIE9wZW5TZWFyY2hDbGllbnRJbnN0YW5jZUxheWVyLFxufSBmcm9tIFwiLi9PcGVuU2VhcmNoQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRPcGVuU2VhcmNoQ2xpZW50Q29uZmlnTGF5ZXIsXG4gIG1ha2VEZWZhdWx0T3BlblNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnLFxuICBPcGVuU2VhcmNoQ2xpZW50SW5zdGFuY2VDb25maWcsXG59IGZyb20gXCIuL09wZW5TZWFyY2hDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBIYW5kbGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBjb25uZWN0aW9uIHBoYXNlIG9mIGEgcmVxdWVzdFxuICAgKiBtYXkgdGFrZSBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gYXR0ZW1wdCBpcyBhYmFuZG9uZWQuXG4gICAqL1xuICByZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbn1cblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIEFjY2VwdEluYm91bmRDb25uZWN0aW9uQ29tbWFuZCxcbiAgQWRkRGF0YVNvdXJjZUNvbW1hbmQsXG4gIEFkZERpcmVjdFF1ZXJ5RGF0YVNvdXJjZUNvbW1hbmQsXG4gIEFkZFRhZ3NDb21tYW5kLFxuICBBc3NvY2lhdGVQYWNrYWdlQ29tbWFuZCxcbiAgQXNzb2NpYXRlUGFja2FnZXNDb21tYW5kLFxuICBBdXRob3JpemVWcGNFbmRwb2ludEFjY2Vzc0NvbW1hbmQsXG4gIENhbmNlbERvbWFpbkNvbmZpZ0NoYW5nZUNvbW1hbmQsXG4gIENhbmNlbFNlcnZpY2VTb2Z0d2FyZVVwZGF0ZUNvbW1hbmQsXG4gIENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgQ3JlYXRlRG9tYWluQ29tbWFuZCxcbiAgQ3JlYXRlT3V0Ym91bmRDb25uZWN0aW9uQ29tbWFuZCxcbiAgQ3JlYXRlUGFja2FnZUNvbW1hbmQsXG4gIENyZWF0ZVZwY0VuZHBvaW50Q29tbWFuZCxcbiAgRGVsZXRlQXBwbGljYXRpb25Db21tYW5kLFxuICBEZWxldGVEYXRhU291cmNlQ29tbWFuZCxcbiAgRGVsZXRlRGlyZWN0UXVlcnlEYXRhU291cmNlQ29tbWFuZCxcbiAgRGVsZXRlRG9tYWluQ29tbWFuZCxcbiAgRGVsZXRlSW5ib3VuZENvbm5lY3Rpb25Db21tYW5kLFxuICBEZWxldGVPdXRib3VuZENvbm5lY3Rpb25Db21tYW5kLFxuICBEZWxldGVQYWNrYWdlQ29tbWFuZCxcbiAgRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kLFxuICBEZXNjcmliZURvbWFpbkNvbW1hbmQsXG4gIERlc2NyaWJlRG9tYWluQXV0b1R1bmVzQ29tbWFuZCxcbiAgRGVzY3JpYmVEb21haW5DaGFuZ2VQcm9ncmVzc0NvbW1hbmQsXG4gIERlc2NyaWJlRG9tYWluQ29uZmlnQ29tbWFuZCxcbiAgRGVzY3JpYmVEb21haW5IZWFsdGhDb21tYW5kLFxuICBEZXNjcmliZURvbWFpbk5vZGVzQ29tbWFuZCxcbiAgRGVzY3JpYmVEb21haW5zQ29tbWFuZCxcbiAgRGVzY3JpYmVEcnlSdW5Qcm9ncmVzc0NvbW1hbmQsXG4gIERlc2NyaWJlSW5ib3VuZENvbm5lY3Rpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVJbnN0YW5jZVR5cGVMaW1pdHNDb21tYW5kLFxuICBEZXNjcmliZU91dGJvdW5kQ29ubmVjdGlvbnNDb21tYW5kLFxuICBEZXNjcmliZVBhY2thZ2VzQ29tbWFuZCxcbiAgRGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlT2ZmZXJpbmdzQ29tbWFuZCxcbiAgRGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlc0NvbW1hbmQsXG4gIERlc2NyaWJlVnBjRW5kcG9pbnRzQ29tbWFuZCxcbiAgRGlzc29jaWF0ZVBhY2thZ2VDb21tYW5kLFxuICBEaXNzb2NpYXRlUGFja2FnZXNDb21tYW5kLFxuICBHZXRBcHBsaWNhdGlvbkNvbW1hbmQsXG4gIEdldENvbXBhdGlibGVWZXJzaW9uc0NvbW1hbmQsXG4gIEdldERhdGFTb3VyY2VDb21tYW5kLFxuICBHZXREaXJlY3RRdWVyeURhdGFTb3VyY2VDb21tYW5kLFxuICBHZXREb21haW5NYWludGVuYW5jZVN0YXR1c0NvbW1hbmQsXG4gIEdldFBhY2thZ2VWZXJzaW9uSGlzdG9yeUNvbW1hbmQsXG4gIEdldFVwZ3JhZGVIaXN0b3J5Q29tbWFuZCxcbiAgR2V0VXBncmFkZVN0YXR1c0NvbW1hbmQsXG4gIExpc3RBcHBsaWNhdGlvbnNDb21tYW5kLFxuICBMaXN0RGF0YVNvdXJjZXNDb21tYW5kLFxuICBMaXN0RGlyZWN0UXVlcnlEYXRhU291cmNlc0NvbW1hbmQsXG4gIExpc3REb21haW5NYWludGVuYW5jZXNDb21tYW5kLFxuICBMaXN0RG9tYWluTmFtZXNDb21tYW5kLFxuICBMaXN0RG9tYWluc0ZvclBhY2thZ2VDb21tYW5kLFxuICBMaXN0SW5zdGFuY2VUeXBlRGV0YWlsc0NvbW1hbmQsXG4gIExpc3RQYWNrYWdlc0ZvckRvbWFpbkNvbW1hbmQsXG4gIExpc3RTY2hlZHVsZWRBY3Rpb25zQ29tbWFuZCxcbiAgTGlzdFRhZ3NDb21tYW5kLFxuICBMaXN0VmVyc2lvbnNDb21tYW5kLFxuICBMaXN0VnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kLFxuICBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZCxcbiAgTGlzdFZwY0VuZHBvaW50c0ZvckRvbWFpbkNvbW1hbmQsXG4gIFB1cmNoYXNlUmVzZXJ2ZWRJbnN0YW5jZU9mZmVyaW5nQ29tbWFuZCxcbiAgUmVqZWN0SW5ib3VuZENvbm5lY3Rpb25Db21tYW5kLFxuICBSZW1vdmVUYWdzQ29tbWFuZCxcbiAgUmV2b2tlVnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kLFxuICBTdGFydERvbWFpbk1haW50ZW5hbmNlQ29tbWFuZCxcbiAgU3RhcnRTZXJ2aWNlU29mdHdhcmVVcGRhdGVDb21tYW5kLFxuICBVcGRhdGVBcHBsaWNhdGlvbkNvbW1hbmQsXG4gIFVwZGF0ZURhdGFTb3VyY2VDb21tYW5kLFxuICBVcGRhdGVEaXJlY3RRdWVyeURhdGFTb3VyY2VDb21tYW5kLFxuICBVcGRhdGVEb21haW5Db25maWdDb21tYW5kLFxuICBVcGRhdGVQYWNrYWdlQ29tbWFuZCxcbiAgVXBkYXRlUGFja2FnZVNjb3BlQ29tbWFuZCxcbiAgVXBkYXRlU2NoZWR1bGVkQWN0aW9uQ29tbWFuZCxcbiAgVXBkYXRlVnBjRW5kcG9pbnRDb21tYW5kLFxuICBVcGdyYWRlRG9tYWluQ29tbWFuZCxcbn07XG5cbmludGVyZmFjZSBPcGVuU2VhcmNoU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBY2NlcHRJbmJvdW5kQ29ubmVjdGlvbkNvbW1hbmR9XG4gICAqL1xuICBhY2NlcHRJbmJvdW5kQ29ubmVjdGlvbihcbiAgICBhcmdzOiBBY2NlcHRJbmJvdW5kQ29ubmVjdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFjY2VwdEluYm91bmRDb25uZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGREYXRhU291cmNlQ29tbWFuZH1cbiAgICovXG4gIGFkZERhdGFTb3VyY2UoXG4gICAgYXJnczogQWRkRGF0YVNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZERhdGFTb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGVwZW5kZW5jeUZhaWx1cmVFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGREaXJlY3RRdWVyeURhdGFTb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgYWRkRGlyZWN0UXVlcnlEYXRhU291cmNlKFxuICAgIGFyZ3M6IEFkZERpcmVjdFF1ZXJ5RGF0YVNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZERpcmVjdFF1ZXJ5RGF0YVNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkZFRhZ3NDb21tYW5kfVxuICAgKi9cbiAgYWRkVGFncyhcbiAgICBhcmdzOiBBZGRUYWdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRkVGFnc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgTGltaXRFeGNlZWRlZEVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFzc29jaWF0ZVBhY2thZ2VDb21tYW5kfVxuICAgKi9cbiAgYXNzb2NpYXRlUGFja2FnZShcbiAgICBhcmdzOiBBc3NvY2lhdGVQYWNrYWdlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQXNzb2NpYXRlUGFja2FnZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQXNzb2NpYXRlUGFja2FnZXNDb21tYW5kfVxuICAgKi9cbiAgYXNzb2NpYXRlUGFja2FnZXMoXG4gICAgYXJnczogQXNzb2NpYXRlUGFja2FnZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBc3NvY2lhdGVQYWNrYWdlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBdXRob3JpemVWcGNFbmRwb2ludEFjY2Vzc0NvbW1hbmR9XG4gICAqL1xuICBhdXRob3JpemVWcGNFbmRwb2ludEFjY2VzcyhcbiAgICBhcmdzOiBBdXRob3JpemVWcGNFbmRwb2ludEFjY2Vzc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEF1dGhvcml6ZVZwY0VuZHBvaW50QWNjZXNzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ2FuY2VsRG9tYWluQ29uZmlnQ2hhbmdlQ29tbWFuZH1cbiAgICovXG4gIGNhbmNlbERvbWFpbkNvbmZpZ0NoYW5nZShcbiAgICBhcmdzOiBDYW5jZWxEb21haW5Db25maWdDaGFuZ2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDYW5jZWxEb21haW5Db25maWdDaGFuZ2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ2FuY2VsU2VydmljZVNvZnR3YXJlVXBkYXRlQ29tbWFuZH1cbiAgICovXG4gIGNhbmNlbFNlcnZpY2VTb2Z0d2FyZVVwZGF0ZShcbiAgICBhcmdzOiBDYW5jZWxTZXJ2aWNlU29mdHdhcmVVcGRhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDYW5jZWxTZXJ2aWNlU29mdHdhcmVVcGRhdGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQXBwbGljYXRpb24oXG4gICAgYXJnczogQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZURvbWFpbkNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEb21haW4oXG4gICAgYXJnczogQ3JlYXRlRG9tYWluQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVPdXRib3VuZENvbm5lY3Rpb25Db21tYW5kfVxuICAgKi9cbiAgY3JlYXRlT3V0Ym91bmRDb25uZWN0aW9uKFxuICAgIGFyZ3M6IENyZWF0ZU91dGJvdW5kQ29ubmVjdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZU91dGJvdW5kQ29ubmVjdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZUFscmVhZHlFeGlzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVQYWNrYWdlQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVBhY2thZ2UoXG4gICAgYXJnczogQ3JlYXRlUGFja2FnZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVBhY2thZ2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVWcGNFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVWcGNFbmRwb2ludChcbiAgICBhcmdzOiBDcmVhdGVWcGNFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVZwY0VuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUFwcGxpY2F0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUFwcGxpY2F0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZUFwcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQXBwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURhdGFTb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlRGF0YVNvdXJjZShcbiAgICBhcmdzOiBEZWxldGVEYXRhU291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlRGF0YVNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEZXBlbmRlbmN5RmFpbHVyZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEaXJlY3RRdWVyeURhdGFTb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlRGlyZWN0UXVlcnlEYXRhU291cmNlKFxuICAgIGFyZ3M6IERlbGV0ZURpcmVjdFF1ZXJ5RGF0YVNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURpcmVjdFF1ZXJ5RGF0YVNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEb21haW5Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlRG9tYWluKFxuICAgIGFyZ3M6IERlbGV0ZURvbWFpbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURvbWFpbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVJbmJvdW5kQ29ubmVjdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVJbmJvdW5kQ29ubmVjdGlvbihcbiAgICBhcmdzOiBEZWxldGVJbmJvdW5kQ29ubmVjdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUluYm91bmRDb25uZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlT3V0Ym91bmRDb25uZWN0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZU91dGJvdW5kQ29ubmVjdGlvbihcbiAgICBhcmdzOiBEZWxldGVPdXRib3VuZENvbm5lY3Rpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVPdXRib3VuZENvbm5lY3Rpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVQYWNrYWdlQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVBhY2thZ2UoXG4gICAgYXJnczogRGVsZXRlUGFja2FnZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVBhY2thZ2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVZwY0VuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVZwY0VuZHBvaW50KFxuICAgIGFyZ3M6IERlbGV0ZVZwY0VuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRG9tYWluQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRG9tYWluKFxuICAgIGFyZ3M6IERlc2NyaWJlRG9tYWluQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEb21haW5Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEb21haW5BdXRvVHVuZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEb21haW5BdXRvVHVuZXMoXG4gICAgYXJnczogRGVzY3JpYmVEb21haW5BdXRvVHVuZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURvbWFpbkF1dG9UdW5lc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURvbWFpbkNoYW5nZVByb2dyZXNzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRG9tYWluQ2hhbmdlUHJvZ3Jlc3MoXG4gICAgYXJnczogRGVzY3JpYmVEb21haW5DaGFuZ2VQcm9ncmVzc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRG9tYWluQ2hhbmdlUHJvZ3Jlc3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEb21haW5Db25maWdDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEb21haW5Db25maWcoXG4gICAgYXJnczogRGVzY3JpYmVEb21haW5Db25maWdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURvbWFpbkNvbmZpZ0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURvbWFpbkhlYWx0aENvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURvbWFpbkhlYWx0aChcbiAgICBhcmdzOiBEZXNjcmliZURvbWFpbkhlYWx0aENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRG9tYWluSGVhbHRoQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRG9tYWluTm9kZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEb21haW5Ob2RlcyhcbiAgICBhcmdzOiBEZXNjcmliZURvbWFpbk5vZGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEb21haW5Ob2Rlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEZXBlbmRlbmN5RmFpbHVyZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURvbWFpbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEb21haW5zKFxuICAgIGFyZ3M6IERlc2NyaWJlRG9tYWluc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRG9tYWluc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRHJ5UnVuUHJvZ3Jlc3NDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEcnlSdW5Qcm9ncmVzcyhcbiAgICBhcmdzOiBEZXNjcmliZURyeVJ1blByb2dyZXNzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEcnlSdW5Qcm9ncmVzc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUluYm91bmRDb25uZWN0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUluYm91bmRDb25uZWN0aW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZUluYm91bmRDb25uZWN0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlSW5ib3VuZENvbm5lY3Rpb25zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3IgfCBJbnZhbGlkUGFnaW5hdGlvblRva2VuRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVJbnN0YW5jZVR5cGVMaW1pdHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVJbnN0YW5jZVR5cGVMaW1pdHMoXG4gICAgYXJnczogRGVzY3JpYmVJbnN0YW5jZVR5cGVMaW1pdHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUluc3RhbmNlVHlwZUxpbWl0c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlT3V0Ym91bmRDb25uZWN0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZU91dGJvdW5kQ29ubmVjdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVPdXRib3VuZENvbm5lY3Rpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVPdXRib3VuZENvbm5lY3Rpb25zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3IgfCBJbnZhbGlkUGFnaW5hdGlvblRva2VuRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVQYWNrYWdlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVBhY2thZ2VzKFxuICAgIGFyZ3M6IERlc2NyaWJlUGFja2FnZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVBhY2thZ2VzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VPZmZlcmluZ3NDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlT2ZmZXJpbmdzKFxuICAgIGFyZ3M6IERlc2NyaWJlUmVzZXJ2ZWRJbnN0YW5jZU9mZmVyaW5nc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlUmVzZXJ2ZWRJbnN0YW5jZU9mZmVyaW5nc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzKFxuICAgIGFyZ3M6IERlc2NyaWJlUmVzZXJ2ZWRJbnN0YW5jZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVZwY0VuZHBvaW50c0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVZwY0VuZHBvaW50cyhcbiAgICBhcmdzOiBEZXNjcmliZVZwY0VuZHBvaW50c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlVnBjRW5kcG9pbnRzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEaXNzb2NpYXRlUGFja2FnZUNvbW1hbmR9XG4gICAqL1xuICBkaXNzb2NpYXRlUGFja2FnZShcbiAgICBhcmdzOiBEaXNzb2NpYXRlUGFja2FnZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERpc3NvY2lhdGVQYWNrYWdlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEaXNzb2NpYXRlUGFja2FnZXNDb21tYW5kfVxuICAgKi9cbiAgZGlzc29jaWF0ZVBhY2thZ2VzKFxuICAgIGFyZ3M6IERpc3NvY2lhdGVQYWNrYWdlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERpc3NvY2lhdGVQYWNrYWdlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRBcHBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBnZXRBcHBsaWNhdGlvbihcbiAgICBhcmdzOiBHZXRBcHBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEFwcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRDb21wYXRpYmxlVmVyc2lvbnNDb21tYW5kfVxuICAgKi9cbiAgZ2V0Q29tcGF0aWJsZVZlcnNpb25zKFxuICAgIGFyZ3M6IEdldENvbXBhdGlibGVWZXJzaW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldENvbXBhdGlibGVWZXJzaW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXREYXRhU291cmNlQ29tbWFuZH1cbiAgICovXG4gIGdldERhdGFTb3VyY2UoXG4gICAgYXJnczogR2V0RGF0YVNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldERhdGFTb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGVwZW5kZW5jeUZhaWx1cmVFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0RGlyZWN0UXVlcnlEYXRhU291cmNlQ29tbWFuZH1cbiAgICovXG4gIGdldERpcmVjdFF1ZXJ5RGF0YVNvdXJjZShcbiAgICBhcmdzOiBHZXREaXJlY3RRdWVyeURhdGFTb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXREaXJlY3RRdWVyeURhdGFTb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0RG9tYWluTWFpbnRlbmFuY2VTdGF0dXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0RG9tYWluTWFpbnRlbmFuY2VTdGF0dXMoXG4gICAgYXJnczogR2V0RG9tYWluTWFpbnRlbmFuY2VTdGF0dXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXREb21haW5NYWludGVuYW5jZVN0YXR1c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRQYWNrYWdlVmVyc2lvbkhpc3RvcnlDb21tYW5kfVxuICAgKi9cbiAgZ2V0UGFja2FnZVZlcnNpb25IaXN0b3J5KFxuICAgIGFyZ3M6IEdldFBhY2thZ2VWZXJzaW9uSGlzdG9yeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFBhY2thZ2VWZXJzaW9uSGlzdG9yeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0VXBncmFkZUhpc3RvcnlDb21tYW5kfVxuICAgKi9cbiAgZ2V0VXBncmFkZUhpc3RvcnkoXG4gICAgYXJnczogR2V0VXBncmFkZUhpc3RvcnlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRVcGdyYWRlSGlzdG9yeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRVcGdyYWRlU3RhdHVzQ29tbWFuZH1cbiAgICovXG4gIGdldFVwZ3JhZGVTdGF0dXMoXG4gICAgYXJnczogR2V0VXBncmFkZVN0YXR1c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFVwZ3JhZGVTdGF0dXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEFwcGxpY2F0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0QXBwbGljYXRpb25zKFxuICAgIGFyZ3M6IExpc3RBcHBsaWNhdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0QXBwbGljYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0RGF0YVNvdXJjZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdERhdGFTb3VyY2VzKFxuICAgIGFyZ3M6IExpc3REYXRhU291cmNlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3REYXRhU291cmNlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEZXBlbmRlbmN5RmFpbHVyZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0RGlyZWN0UXVlcnlEYXRhU291cmNlc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0RGlyZWN0UXVlcnlEYXRhU291cmNlcyhcbiAgICBhcmdzOiBMaXN0RGlyZWN0UXVlcnlEYXRhU291cmNlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3REaXJlY3RRdWVyeURhdGFTb3VyY2VzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3REb21haW5NYWludGVuYW5jZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdERvbWFpbk1haW50ZW5hbmNlcyhcbiAgICBhcmdzOiBMaXN0RG9tYWluTWFpbnRlbmFuY2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdERvbWFpbk1haW50ZW5hbmNlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0RG9tYWluTmFtZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdERvbWFpbk5hbWVzKFxuICAgIGFyZ3M6IExpc3REb21haW5OYW1lc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3REb21haW5OYW1lc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdERvbWFpbnNGb3JQYWNrYWdlQ29tbWFuZH1cbiAgICovXG4gIGxpc3REb21haW5zRm9yUGFja2FnZShcbiAgICBhcmdzOiBMaXN0RG9tYWluc0ZvclBhY2thZ2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0RG9tYWluc0ZvclBhY2thZ2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RJbnN0YW5jZVR5cGVEZXRhaWxzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RJbnN0YW5jZVR5cGVEZXRhaWxzKFxuICAgIGFyZ3M6IExpc3RJbnN0YW5jZVR5cGVEZXRhaWxzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEluc3RhbmNlVHlwZURldGFpbHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFBhY2thZ2VzRm9yRG9tYWluQ29tbWFuZH1cbiAgICovXG4gIGxpc3RQYWNrYWdlc0ZvckRvbWFpbihcbiAgICBhcmdzOiBMaXN0UGFja2FnZXNGb3JEb21haW5Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0UGFja2FnZXNGb3JEb21haW5Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTY2hlZHVsZWRBY3Rpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTY2hlZHVsZWRBY3Rpb25zKFxuICAgIGFyZ3M6IExpc3RTY2hlZHVsZWRBY3Rpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFNjaGVkdWxlZEFjdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhZ2luYXRpb25Ub2tlbkVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VGFnc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0VGFncyhcbiAgICBhcmdzOiBMaXN0VGFnc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RUYWdzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RWZXJzaW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0VmVyc2lvbnMoXG4gICAgYXJnczogTGlzdFZlcnNpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFZlcnNpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RWcGNFbmRwb2ludEFjY2Vzc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0VnBjRW5kcG9pbnRBY2Nlc3MoXG4gICAgYXJnczogTGlzdFZwY0VuZHBvaW50QWNjZXNzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFZwY0VuZHBvaW50QWNjZXNzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RWcGNFbmRwb2ludHMoXG4gICAgYXJnczogTGlzdFZwY0VuZHBvaW50c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RWcGNFbmRwb2ludHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvciB8IEludGVybmFsRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFZwY0VuZHBvaW50c0ZvckRvbWFpbkNvbW1hbmR9XG4gICAqL1xuICBsaXN0VnBjRW5kcG9pbnRzRm9yRG9tYWluKFxuICAgIGFyZ3M6IExpc3RWcGNFbmRwb2ludHNGb3JEb21haW5Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0VnBjRW5kcG9pbnRzRm9yRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXJjaGFzZVJlc2VydmVkSW5zdGFuY2VPZmZlcmluZ0NvbW1hbmR9XG4gICAqL1xuICBwdXJjaGFzZVJlc2VydmVkSW5zdGFuY2VPZmZlcmluZyhcbiAgICBhcmdzOiBQdXJjaGFzZVJlc2VydmVkSW5zdGFuY2VPZmZlcmluZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1cmNoYXNlUmVzZXJ2ZWRJbnN0YW5jZU9mZmVyaW5nQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlQWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZWplY3RJbmJvdW5kQ29ubmVjdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWplY3RJbmJvdW5kQ29ubmVjdGlvbihcbiAgICBhcmdzOiBSZWplY3RJbmJvdW5kQ29ubmVjdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlamVjdEluYm91bmRDb25uZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVtb3ZlVGFnc0NvbW1hbmR9XG4gICAqL1xuICByZW1vdmVUYWdzKFxuICAgIGFyZ3M6IFJlbW92ZVRhZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZW1vdmVUYWdzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmV2b2tlVnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kfVxuICAgKi9cbiAgcmV2b2tlVnBjRW5kcG9pbnRBY2Nlc3MoXG4gICAgYXJnczogUmV2b2tlVnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXZva2VWcGNFbmRwb2ludEFjY2Vzc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdGFydERvbWFpbk1haW50ZW5hbmNlQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0RG9tYWluTWFpbnRlbmFuY2UoXG4gICAgYXJnczogU3RhcnREb21haW5NYWludGVuYW5jZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0YXJ0RG9tYWluTWFpbnRlbmFuY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RhcnRTZXJ2aWNlU29mdHdhcmVVcGRhdGVDb21tYW5kfVxuICAgKi9cbiAgc3RhcnRTZXJ2aWNlU29mdHdhcmVVcGRhdGUoXG4gICAgYXJnczogU3RhcnRTZXJ2aWNlU29mdHdhcmVVcGRhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdGFydFNlcnZpY2VTb2Z0d2FyZVVwZGF0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVBcHBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVBcHBsaWNhdGlvbihcbiAgICBhcmdzOiBVcGRhdGVBcHBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZUFwcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVEYXRhU291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZURhdGFTb3VyY2UoXG4gICAgYXJnczogVXBkYXRlRGF0YVNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZURhdGFTb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGVwZW5kZW5jeUZhaWx1cmVFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlRGlyZWN0UXVlcnlEYXRhU291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZURpcmVjdFF1ZXJ5RGF0YVNvdXJjZShcbiAgICBhcmdzOiBVcGRhdGVEaXJlY3RRdWVyeURhdGFTb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVEaXJlY3RRdWVyeURhdGFTb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlRG9tYWluQ29uZmlnQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZURvbWFpbkNvbmZpZyhcbiAgICBhcmdzOiBVcGRhdGVEb21haW5Db25maWdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVEb21haW5Db25maWdDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVQYWNrYWdlQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVBhY2thZ2UoXG4gICAgYXJnczogVXBkYXRlUGFja2FnZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVBhY2thZ2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlUGFja2FnZVNjb3BlQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVBhY2thZ2VTY29wZShcbiAgICBhcmdzOiBVcGRhdGVQYWNrYWdlU2NvcGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVQYWNrYWdlU2NvcGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2NoZWR1bGVkQWN0aW9uQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVNjaGVkdWxlZEFjdGlvbihcbiAgICBhcmdzOiBVcGRhdGVTY2hlZHVsZWRBY3Rpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTY2hlZHVsZWRBY3Rpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNsb3ROb3RBdmFpbGFibGVFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVZwY0VuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVZwY0VuZHBvaW50KFxuICAgIGFyZ3M6IFVwZGF0ZVZwY0VuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlVnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBncmFkZURvbWFpbkNvbW1hbmR9XG4gICAqL1xuICB1cGdyYWRlRG9tYWluKFxuICAgIGFyZ3M6IFVwZ3JhZGVEb21haW5Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGdyYWRlRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlQWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZU9wZW5TZWFyY2hTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oT3BlblNlYXJjaENsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zKSA9PlxuICAgICAgRWZmZWN0LnRyeVByb21pc2Uoe1xuICAgICAgICB0cnk6IChhYm9ydFNpZ25hbCkgPT5cbiAgICAgICAgICBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIHtcbiAgICAgICAgICAgIC4uLihvcHRpb25zID8/IHt9KSxcbiAgICAgICAgICAgIGFib3J0U2lnbmFsLFxuICAgICAgICAgIH0pLFxuICAgICAgICBjYXRjaDogKGUpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBlIGluc3RhbmNlb2YgT3BlblNlYXJjaFNlcnZpY2VFeGNlcHRpb24gJiZcbiAgICAgICAgICAgIEFsbFNlcnZpY2VFcnJvcnMuaW5jbHVkZXMoZS5uYW1lKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248T3BlblNlYXJjaFNlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIE9wZW5TZWFyY2hTZXJ2aWNlJDtcbn0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICovXG5leHBvcnQgY2xhc3MgT3BlblNlYXJjaFNlcnZpY2UgZXh0ZW5kcyBFZmZlY3QuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1vcGVuc2VhcmNoL09wZW5TZWFyY2hTZXJ2aWNlXCIsXG4pPE9wZW5TZWFyY2hTZXJ2aWNlLCBPcGVuU2VhcmNoU2VydmljZSQ+KCkge1xuICBzdGF0aWMgcmVhZG9ubHkgZGVmYXVsdExheWVyID0gTGF5ZXIuZWZmZWN0KHRoaXMsIG1ha2VPcGVuU2VhcmNoU2VydmljZSkucGlwZShcbiAgICBMYXllci5wcm92aWRlKE9wZW5TZWFyY2hDbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgICBMYXllci5wcm92aWRlKERlZmF1bHRPcGVuU2VhcmNoQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuICBzdGF0aWMgcmVhZG9ubHkgbGF5ZXIgPSAoY29uZmlnOiBPcGVuU2VhcmNoQ2xpZW50Q29uZmlnKSA9PlxuICAgIExheWVyLmVmZmVjdCh0aGlzLCBtYWtlT3BlblNlYXJjaFNlcnZpY2UpLnBpcGUoXG4gICAgICBMYXllci5wcm92aWRlKE9wZW5TZWFyY2hDbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBPcGVuU2VhcmNoQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gICAgICAgICAgbWFrZURlZmF1bHRPcGVuU2VhcmNoQ2xpZW50SW5zdGFuY2VDb25maWcucGlwZShcbiAgICAgICAgICAgIEVmZmVjdC5tYXAoKGRlZmF1bHRDb25maWcpID0+ICh7IC4uLmRlZmF1bHRDb25maWcsIC4uLmNvbmZpZyB9KSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbiAgc3RhdGljIHJlYWRvbmx5IGJhc2VMYXllciA9IChcbiAgICBldmFsdWF0ZTogKGRlZmF1bHRDb25maWc6IE9wZW5TZWFyY2hDbGllbnRDb25maWcpID0+IE9wZW5TZWFyY2hDbGllbnQsXG4gICkgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZU9wZW5TZWFyY2hTZXJ2aWNlKS5waXBlKFxuICAgICAgTGF5ZXIucHJvdmlkZShcbiAgICAgICAgTGF5ZXIuZWZmZWN0KFxuICAgICAgICAgIE9wZW5TZWFyY2hDbGllbnRJbnN0YW5jZSxcbiAgICAgICAgICBFZmZlY3QubWFwKG1ha2VEZWZhdWx0T3BlblNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnLCBldmFsdWF0ZSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKiBAYWxpYXMgT3BlblNlYXJjaFNlcnZpY2VcbiAqL1xuZXhwb3J0IGNvbnN0IE9wZW5TZWFyY2ggPSBPcGVuU2VhcmNoU2VydmljZTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBPcGVuU2VhcmNoLmJhc2VMYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlT3BlblNlYXJjaFNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgT3BlblNlYXJjaFNlcnZpY2UsXG4gIG1ha2VPcGVuU2VhcmNoU2VydmljZSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgT3BlblNlYXJjaC5sYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBPcGVuU2VhcmNoU2VydmljZUxheWVyID0gQmFzZU9wZW5TZWFyY2hTZXJ2aWNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShPcGVuU2VhcmNoQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIE9wZW5TZWFyY2guZGVmYXVsdExheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRPcGVuU2VhcmNoU2VydmljZUxheWVyID0gT3BlblNlYXJjaFNlcnZpY2UuZGVmYXVsdExheWVyO1xuIl19
package/lib/esm/Errors.js DELETED
@@ -1,18 +0,0 @@
1
- import { Data } from "effect";
2
- export const AllServiceErrors = [
3
- "AccessDeniedException",
4
- "BaseException",
5
- "ConflictException",
6
- "DependencyFailureException",
7
- "DisabledOperationException",
8
- "InternalException",
9
- "InvalidPaginationTokenException",
10
- "InvalidTypeException",
11
- "LimitExceededException",
12
- "ResourceAlreadyExistsException",
13
- "ResourceNotFoundException",
14
- "SlotNotAvailableException",
15
- "ValidationException",
16
- ];
17
- export const SdkError = Data.tagged("SdkError");
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTlCLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLHVCQUF1QjtJQUN2QixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLDRCQUE0QjtJQUM1Qiw0QkFBNEI7SUFDNUIsbUJBQW1CO0lBQ25CLGlDQUFpQztJQUNqQyxzQkFBc0I7SUFDdEIsd0JBQXdCO0lBQ3hCLGdDQUFnQztJQUNoQywyQkFBMkI7SUFDM0IsMkJBQTJCO0lBQzNCLHFCQUFxQjtDQUN0QixDQUFDO0FBeUJGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFXLFVBQVUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBY2Nlc3NEZW5pZWRFeGNlcHRpb24sXG4gIEJhc2VFeGNlcHRpb24sXG4gIENvbmZsaWN0RXhjZXB0aW9uLFxuICBEZXBlbmRlbmN5RmFpbHVyZUV4Y2VwdGlvbixcbiAgRGlzYWJsZWRPcGVyYXRpb25FeGNlcHRpb24sXG4gIEludGVybmFsRXhjZXB0aW9uLFxuICBJbnZhbGlkUGFnaW5hdGlvblRva2VuRXhjZXB0aW9uLFxuICBJbnZhbGlkVHlwZUV4Y2VwdGlvbixcbiAgTGltaXRFeGNlZWRlZEV4Y2VwdGlvbixcbiAgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXhjZXB0aW9uLFxuICBSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uLFxuICBTbG90Tm90QXZhaWxhYmxlRXhjZXB0aW9uLFxuICBWYWxpZGF0aW9uRXhjZXB0aW9uLFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LW9wZW5zZWFyY2hcIjtcbmltcG9ydCB7IERhdGEgfSBmcm9tIFwiZWZmZWN0XCI7XG5cbmV4cG9ydCBjb25zdCBBbGxTZXJ2aWNlRXJyb3JzID0gW1xuICBcIkFjY2Vzc0RlbmllZEV4Y2VwdGlvblwiLFxuICBcIkJhc2VFeGNlcHRpb25cIixcbiAgXCJDb25mbGljdEV4Y2VwdGlvblwiLFxuICBcIkRlcGVuZGVuY3lGYWlsdXJlRXhjZXB0aW9uXCIsXG4gIFwiRGlzYWJsZWRPcGVyYXRpb25FeGNlcHRpb25cIixcbiAgXCJJbnRlcm5hbEV4Y2VwdGlvblwiLFxuICBcIkludmFsaWRQYWdpbmF0aW9uVG9rZW5FeGNlcHRpb25cIixcbiAgXCJJbnZhbGlkVHlwZUV4Y2VwdGlvblwiLFxuICBcIkxpbWl0RXhjZWVkZWRFeGNlcHRpb25cIixcbiAgXCJSZXNvdXJjZUFscmVhZHlFeGlzdHNFeGNlcHRpb25cIixcbiAgXCJSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uXCIsXG4gIFwiU2xvdE5vdEF2YWlsYWJsZUV4Y2VwdGlvblwiLFxuICBcIlZhbGlkYXRpb25FeGNlcHRpb25cIixcbl07XG5cbmV4cG9ydCB0eXBlIFRhZ2dlZEV4Y2VwdGlvbjxUIGV4dGVuZHMgeyBuYW1lOiBzdHJpbmcgfT4gPSBUICYge1xuICByZWFkb25seSBfdGFnOiBUW1wibmFtZVwiXTtcbn07XG5cbmV4cG9ydCB0eXBlIEFjY2Vzc0RlbmllZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEFjY2Vzc0RlbmllZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBCYXNlRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248QmFzZUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBDb25mbGljdEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPENvbmZsaWN0RXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIERlcGVuZGVuY3lGYWlsdXJlRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248RGVwZW5kZW5jeUZhaWx1cmVFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgRGlzYWJsZWRPcGVyYXRpb25FcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxEaXNhYmxlZE9wZXJhdGlvbkV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnRlcm5hbEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEludGVybmFsRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRQYWdpbmF0aW9uVG9rZW5FcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkUGFnaW5hdGlvblRva2VuRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRUeXBlRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZFR5cGVFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgTGltaXRFeGNlZWRlZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPExpbWl0RXhjZWVkZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248UmVzb3VyY2VBbHJlYWR5RXhpc3RzRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFJlc291cmNlTm90Rm91bmRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFNsb3ROb3RBdmFpbGFibGVFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxTbG90Tm90QXZhaWxhYmxlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25FcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxWYWxpZGF0aW9uRXhjZXB0aW9uPjtcblxuZXhwb3J0IHR5cGUgU2RrRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248RXJyb3IgJiB7IG5hbWU6IFwiU2RrRXJyb3JcIiB9PjtcbmV4cG9ydCBjb25zdCBTZGtFcnJvciA9IERhdGEudGFnZ2VkPFNka0Vycm9yPihcIlNka0Vycm9yXCIpO1xuIl19
@@ -1,30 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import { OpenSearchClient } from "@aws-sdk/client-opensearch";
5
- import * as Context from "effect/Context";
6
- import * as Effect from "effect/Effect";
7
- import * as Layer from "effect/Layer";
8
- import { DefaultOpenSearchClientConfigLayer, OpenSearchClientInstanceConfig, } from "./OpenSearchClientInstanceConfig";
9
- /**
10
- * @since 1.0.0
11
- * @category tags
12
- */
13
- export class OpenSearchClientInstance extends Context.Tag("@effect-aws/client-opensearch/OpenSearchClientInstance")() {
14
- }
15
- /**
16
- * @since 1.0.0
17
- * @category constructors
18
- */
19
- export const makeOpenSearchClientInstance = Effect.flatMap(OpenSearchClientInstanceConfig, (config) => Effect.acquireRelease(Effect.sync(() => new OpenSearchClient(config)), (client) => Effect.sync(() => client.destroy())));
20
- /**
21
- * @since 1.0.0
22
- * @category layers
23
- */
24
- export const OpenSearchClientInstanceLayer = Layer.scoped(OpenSearchClientInstance, makeOpenSearchClientInstance);
25
- /**
26
- * @since 1.0.0
27
- * @category layers
28
- */
29
- export const DefaultOpenSearchClientInstanceLayer = OpenSearchClientInstanceLayer.pipe(Layer.provide(DefaultOpenSearchClientConfigLayer));
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblNlYXJjaENsaWVudEluc3RhbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL09wZW5TZWFyY2hDbGllbnRJbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sS0FBSyxPQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxLQUFLLEtBQUssTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUNMLGtDQUFrQyxFQUNsQyw4QkFBOEIsR0FDL0IsTUFBTSxrQ0FBa0MsQ0FBQztBQUUxQzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsT0FBTyxDQUFDLEdBQUcsQ0FDdkQsd0RBQXdELENBQ3pELEVBQThDO0NBQUc7QUFFbEQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FDeEQsOEJBQThCLEVBQzlCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDVCxNQUFNLENBQUMsY0FBYyxDQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDL0MsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQ2hELENBQ0osQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ3ZELHdCQUF3QixFQUN4Qiw0QkFBNEIsQ0FDN0IsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUMvQyw2QkFBNkIsQ0FBQyxJQUFJLENBQ2hDLEtBQUssQ0FBQyxPQUFPLENBQUMsa0NBQWtDLENBQUMsQ0FDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7IE9wZW5TZWFyY2hDbGllbnQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LW9wZW5zZWFyY2hcIjtcbmltcG9ydCAqIGFzIENvbnRleHQgZnJvbSBcImVmZmVjdC9Db250ZXh0XCI7XG5pbXBvcnQgKiBhcyBFZmZlY3QgZnJvbSBcImVmZmVjdC9FZmZlY3RcIjtcbmltcG9ydCAqIGFzIExheWVyIGZyb20gXCJlZmZlY3QvTGF5ZXJcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRPcGVuU2VhcmNoQ2xpZW50Q29uZmlnTGF5ZXIsXG4gIE9wZW5TZWFyY2hDbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vT3BlblNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY2xhc3MgT3BlblNlYXJjaENsaWVudEluc3RhbmNlIGV4dGVuZHMgQ29udGV4dC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LW9wZW5zZWFyY2gvT3BlblNlYXJjaENsaWVudEluc3RhbmNlXCIsXG4pPE9wZW5TZWFyY2hDbGllbnRJbnN0YW5jZSwgT3BlblNlYXJjaENsaWVudD4oKSB7fVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZU9wZW5TZWFyY2hDbGllbnRJbnN0YW5jZSA9IEVmZmVjdC5mbGF0TWFwKFxuICBPcGVuU2VhcmNoQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gIChjb25maWcpID0+XG4gICAgRWZmZWN0LmFjcXVpcmVSZWxlYXNlKFxuICAgICAgRWZmZWN0LnN5bmMoKCkgPT4gbmV3IE9wZW5TZWFyY2hDbGllbnQoY29uZmlnKSksXG4gICAgICAoY2xpZW50KSA9PiBFZmZlY3Quc3luYygoKSA9PiBjbGllbnQuZGVzdHJveSgpKSxcbiAgICApLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IE9wZW5TZWFyY2hDbGllbnRJbnN0YW5jZUxheWVyID0gTGF5ZXIuc2NvcGVkKFxuICBPcGVuU2VhcmNoQ2xpZW50SW5zdGFuY2UsXG4gIG1ha2VPcGVuU2VhcmNoQ2xpZW50SW5zdGFuY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdE9wZW5TZWFyY2hDbGllbnRJbnN0YW5jZUxheWVyID1cbiAgT3BlblNlYXJjaENsaWVudEluc3RhbmNlTGF5ZXIucGlwZShcbiAgICBMYXllci5wcm92aWRlKERlZmF1bHRPcGVuU2VhcmNoQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuIl19
@@ -1,40 +0,0 @@
1
- import { Context, Effect, Layer, Runtime } from "effect";
2
- /**
3
- * @since 1.0.0
4
- * @category tags
5
- */
6
- export class OpenSearchClientInstanceConfig extends Context.Tag("@effect-aws/client-opensearch/OpenSearchClientInstanceConfig")() {
7
- }
8
- /**
9
- * @since 1.0.0
10
- * @category constructors
11
- */
12
- export const makeDefaultOpenSearchClientInstanceConfig = Effect.gen(function* (_) {
13
- const runtime = yield* _(Effect.runtime());
14
- const runSync = Runtime.runSync(runtime);
15
- return {
16
- logger: {
17
- info(m) {
18
- Effect.logInfo(m).pipe(runSync);
19
- },
20
- warn(m) {
21
- Effect.logWarning(m).pipe(runSync);
22
- },
23
- error(m) {
24
- Effect.logError(m).pipe(runSync);
25
- },
26
- debug(m) {
27
- Effect.logDebug(m).pipe(runSync);
28
- },
29
- trace(m) {
30
- Effect.logTrace(m).pipe(runSync);
31
- },
32
- },
33
- };
34
- });
35
- /**
36
- * @since 1.0.0
37
- * @category layers
38
- */
39
- export const DefaultOpenSearchClientConfigLayer = Layer.effect(OpenSearchClientInstanceConfig, makeDefaultOpenSearchClientInstanceConfig);
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL09wZW5TZWFyY2hDbGllbnRJbnN0YW5jZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRXpEOzs7R0FHRztBQUNILE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxPQUFPLENBQUMsR0FBRyxDQUM3RCw4REFBOEQsQ0FDL0QsRUFBMEQ7Q0FBRztBQUU5RDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx5Q0FBeUMsR0FDcEQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQ3JCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFTLENBQUMsQ0FBQztJQUNsRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXpDLE9BQU87UUFDTCxNQUFNLEVBQUU7WUFDTixJQUFJLENBQUMsQ0FBQztnQkFDSixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLENBQUM7Z0JBQ0osTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckMsQ0FBQztZQUNELEtBQUssQ0FBQyxDQUFDO2dCQUNMLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDRCxLQUFLLENBQUMsQ0FBQztnQkFDTCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsS0FBSyxDQUFDLENBQUM7Z0JBQ0wsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUw7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDNUQsOEJBQThCLEVBQzlCLHlDQUF5QyxDQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHR5cGUgeyBPcGVuU2VhcmNoQ2xpZW50Q29uZmlnIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1vcGVuc2VhcmNoXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBFZmZlY3QsIExheWVyLCBSdW50aW1lIH0gZnJvbSBcImVmZmVjdFwiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IHRhZ3NcbiAqL1xuZXhwb3J0IGNsYXNzIE9wZW5TZWFyY2hDbGllbnRJbnN0YW5jZUNvbmZpZyBleHRlbmRzIENvbnRleHQuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1vcGVuc2VhcmNoL09wZW5TZWFyY2hDbGllbnRJbnN0YW5jZUNvbmZpZ1wiLFxuKTxPcGVuU2VhcmNoQ2xpZW50SW5zdGFuY2VDb25maWcsIE9wZW5TZWFyY2hDbGllbnRDb25maWc+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VEZWZhdWx0T3BlblNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnOiBFZmZlY3QuRWZmZWN0PE9wZW5TZWFyY2hDbGllbnRDb25maWc+ID1cbiAgRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgICBjb25zdCBydW50aW1lID0geWllbGQqIF8oRWZmZWN0LnJ1bnRpbWU8bmV2ZXI+KCkpO1xuICAgIGNvbnN0IHJ1blN5bmMgPSBSdW50aW1lLnJ1blN5bmMocnVudGltZSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbG9nZ2VyOiB7XG4gICAgICAgIGluZm8obSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dJbmZvKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIHdhcm4obSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dXYXJuaW5nKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nRXJyb3IobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgZGVidWcobSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dEZWJ1ZyhtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICB0cmFjZShtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ1RyYWNlKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdE9wZW5TZWFyY2hDbGllbnRDb25maWdMYXllciA9IExheWVyLmVmZmVjdChcbiAgT3BlblNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnLFxuICBtYWtlRGVmYXVsdE9wZW5TZWFyY2hDbGllbnRJbnN0YW5jZUNvbmZpZyxcbik7XG4iXX0=