@effect-aws/client-organizations 1.1.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/OrganizationsClientInstance/package.json +6 -0
  3. package/OrganizationsService/package.json +6 -0
  4. package/OrganizationsServiceConfig/package.json +6 -0
  5. package/{lib → dist/cjs}/Errors.d.ts +7 -12
  6. package/dist/cjs/Errors.d.ts.map +1 -0
  7. package/dist/cjs/Errors.js +55 -0
  8. package/dist/cjs/Errors.js.map +1 -0
  9. package/dist/cjs/OrganizationsClientInstance.d.ts +24 -0
  10. package/dist/cjs/OrganizationsClientInstance.d.ts.map +1 -0
  11. package/dist/cjs/OrganizationsClientInstance.js +50 -0
  12. package/dist/cjs/OrganizationsClientInstance.js.map +1 -0
  13. package/{lib → dist/cjs}/OrganizationsService.d.ts +16 -38
  14. package/dist/cjs/OrganizationsService.d.ts.map +1 -0
  15. package/dist/cjs/OrganizationsService.js +111 -0
  16. package/dist/cjs/OrganizationsService.js.map +1 -0
  17. package/dist/cjs/OrganizationsServiceConfig.d.ts +25 -0
  18. package/dist/cjs/OrganizationsServiceConfig.d.ts.map +1 -0
  19. package/dist/cjs/OrganizationsServiceConfig.js +35 -0
  20. package/dist/cjs/OrganizationsServiceConfig.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 +54 -0
  26. package/dist/dts/Errors.d.ts.map +1 -0
  27. package/dist/dts/OrganizationsClientInstance.d.ts +24 -0
  28. package/dist/dts/OrganizationsClientInstance.d.ts.map +1 -0
  29. package/dist/dts/OrganizationsService.d.ts +318 -0
  30. package/dist/dts/OrganizationsService.d.ts.map +1 -0
  31. package/dist/dts/OrganizationsServiceConfig.d.ts +25 -0
  32. package/dist/dts/OrganizationsServiceConfig.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 +52 -0
  36. package/dist/esm/Errors.js.map +1 -0
  37. package/dist/esm/OrganizationsClientInstance.js +23 -0
  38. package/dist/esm/OrganizationsClientInstance.js.map +1 -0
  39. package/dist/esm/OrganizationsService.js +84 -0
  40. package/dist/esm/OrganizationsService.js.map +1 -0
  41. package/dist/esm/OrganizationsServiceConfig.js +31 -0
  42. package/dist/esm/OrganizationsServiceConfig.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 +154 -0
  48. package/src/OrganizationsClientInstance.ts +33 -0
  49. package/src/OrganizationsService.ts +1382 -0
  50. package/src/OrganizationsServiceConfig.ts +52 -0
  51. package/src/index.ts +44 -0
  52. package/CHANGELOG.md +0 -17
  53. package/docgen.json +0 -8
  54. package/lib/Errors.js +0 -55
  55. package/lib/OrganizationsClientInstance.d.ts +0 -31
  56. package/lib/OrganizationsClientInstance.js +0 -57
  57. package/lib/OrganizationsClientInstanceConfig.d.ts +0 -23
  58. package/lib/OrganizationsClientInstanceConfig.js +0 -44
  59. package/lib/OrganizationsService.js +0 -143
  60. package/lib/esm/Errors.js +0 -52
  61. package/lib/esm/OrganizationsClientInstance.js +0 -30
  62. package/lib/esm/OrganizationsClientInstanceConfig.js +0 -40
  63. package/lib/esm/OrganizationsService.js +0 -139
  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,139 +0,0 @@
1
- var _a;
2
- /**
3
- * @since 1.0.0
4
- */
5
- import { OrganizationsServiceException, AcceptHandshakeCommand, AttachPolicyCommand, CancelHandshakeCommand, CloseAccountCommand, CreateAccountCommand, CreateGovCloudAccountCommand, CreateOrganizationCommand, CreateOrganizationalUnitCommand, CreatePolicyCommand, DeclineHandshakeCommand, DeleteOrganizationCommand, DeleteOrganizationalUnitCommand, DeletePolicyCommand, DeleteResourcePolicyCommand, DeregisterDelegatedAdministratorCommand, DescribeAccountCommand, DescribeCreateAccountStatusCommand, DescribeEffectivePolicyCommand, DescribeHandshakeCommand, DescribeOrganizationCommand, DescribeOrganizationalUnitCommand, DescribePolicyCommand, DescribeResourcePolicyCommand, DetachPolicyCommand, DisableAWSServiceAccessCommand, DisablePolicyTypeCommand, EnableAWSServiceAccessCommand, EnableAllFeaturesCommand, EnablePolicyTypeCommand, InviteAccountToOrganizationCommand, LeaveOrganizationCommand, ListAWSServiceAccessForOrganizationCommand, ListAccountsCommand, ListAccountsForParentCommand, ListChildrenCommand, ListCreateAccountStatusCommand, ListDelegatedAdministratorsCommand, ListDelegatedServicesForAccountCommand, ListHandshakesForAccountCommand, ListHandshakesForOrganizationCommand, ListOrganizationalUnitsForParentCommand, ListParentsCommand, ListPoliciesCommand, ListPoliciesForTargetCommand, ListRootsCommand, ListTagsForResourceCommand, ListTargetsForPolicyCommand, MoveAccountCommand, PutResourcePolicyCommand, RegisterDelegatedAdministratorCommand, RemoveAccountFromOrganizationCommand, TagResourceCommand, UntagResourceCommand, UpdateOrganizationalUnitCommand, UpdatePolicyCommand, } from "@aws-sdk/client-organizations";
6
- import { Data, Effect, Layer, Record } from "effect";
7
- import { AllServiceErrors, SdkError, } from "./Errors";
8
- import { OrganizationsClientInstance, OrganizationsClientInstanceLayer, } from "./OrganizationsClientInstance";
9
- import { DefaultOrganizationsClientConfigLayer, makeDefaultOrganizationsClientInstanceConfig, OrganizationsClientInstanceConfig, } from "./OrganizationsClientInstanceConfig";
10
- const commands = {
11
- AcceptHandshakeCommand,
12
- AttachPolicyCommand,
13
- CancelHandshakeCommand,
14
- CloseAccountCommand,
15
- CreateAccountCommand,
16
- CreateGovCloudAccountCommand,
17
- CreateOrganizationCommand,
18
- CreateOrganizationalUnitCommand,
19
- CreatePolicyCommand,
20
- DeclineHandshakeCommand,
21
- DeleteOrganizationCommand,
22
- DeleteOrganizationalUnitCommand,
23
- DeletePolicyCommand,
24
- DeleteResourcePolicyCommand,
25
- DeregisterDelegatedAdministratorCommand,
26
- DescribeAccountCommand,
27
- DescribeCreateAccountStatusCommand,
28
- DescribeEffectivePolicyCommand,
29
- DescribeHandshakeCommand,
30
- DescribeOrganizationCommand,
31
- DescribeOrganizationalUnitCommand,
32
- DescribePolicyCommand,
33
- DescribeResourcePolicyCommand,
34
- DetachPolicyCommand,
35
- DisableAWSServiceAccessCommand,
36
- DisablePolicyTypeCommand,
37
- EnableAWSServiceAccessCommand,
38
- EnableAllFeaturesCommand,
39
- EnablePolicyTypeCommand,
40
- InviteAccountToOrganizationCommand,
41
- LeaveOrganizationCommand,
42
- ListAWSServiceAccessForOrganizationCommand,
43
- ListAccountsCommand,
44
- ListAccountsForParentCommand,
45
- ListChildrenCommand,
46
- ListCreateAccountStatusCommand,
47
- ListDelegatedAdministratorsCommand,
48
- ListDelegatedServicesForAccountCommand,
49
- ListHandshakesForAccountCommand,
50
- ListHandshakesForOrganizationCommand,
51
- ListOrganizationalUnitsForParentCommand,
52
- ListParentsCommand,
53
- ListPoliciesCommand,
54
- ListPoliciesForTargetCommand,
55
- ListRootsCommand,
56
- ListTagsForResourceCommand,
57
- ListTargetsForPolicyCommand,
58
- MoveAccountCommand,
59
- PutResourcePolicyCommand,
60
- RegisterDelegatedAdministratorCommand,
61
- RemoveAccountFromOrganizationCommand,
62
- TagResourceCommand,
63
- UntagResourceCommand,
64
- UpdateOrganizationalUnitCommand,
65
- UpdatePolicyCommand,
66
- };
67
- /**
68
- * @since 1.0.0
69
- * @category constructors
70
- */
71
- export const makeOrganizationsService = Effect.gen(function* (_) {
72
- const client = yield* _(OrganizationsClientInstance);
73
- return Record.toEntries(commands).reduce((acc, [command]) => {
74
- const CommandCtor = commands[command];
75
- const methodImpl = (args, options) => Effect.tryPromise({
76
- try: (abortSignal) => client.send(new CommandCtor(args), {
77
- ...(options !== null && options !== void 0 ? options : {}),
78
- abortSignal,
79
- }),
80
- catch: (e) => {
81
- if (e instanceof OrganizationsServiceException &&
82
- AllServiceErrors.includes(e.name)) {
83
- const ServiceException = Data.tagged(e.name);
84
- return ServiceException({
85
- ...e,
86
- message: e.message,
87
- stack: e.stack,
88
- });
89
- }
90
- if (e instanceof Error) {
91
- return SdkError({
92
- ...e,
93
- name: "SdkError",
94
- message: e.message,
95
- stack: e.stack,
96
- });
97
- }
98
- throw e;
99
- },
100
- });
101
- const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
102
- return { ...acc, [methodName]: methodImpl };
103
- }, {});
104
- });
105
- /**
106
- * @since 1.0.0
107
- * @category models
108
- */
109
- export class OrganizationsService extends Effect.Tag("@effect-aws/client-organizations/OrganizationsService")() {
110
- }
111
- _a = OrganizationsService;
112
- OrganizationsService.defaultLayer = Layer.effect(_a, makeOrganizationsService).pipe(Layer.provide(OrganizationsClientInstanceLayer), Layer.provide(DefaultOrganizationsClientConfigLayer));
113
- OrganizationsService.layer = (config) => Layer.effect(_a, makeOrganizationsService).pipe(Layer.provide(OrganizationsClientInstanceLayer), Layer.provide(Layer.effect(OrganizationsClientInstanceConfig, makeDefaultOrganizationsClientInstanceConfig.pipe(Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
114
- OrganizationsService.baseLayer = (evaluate) => Layer.effect(_a, makeOrganizationsService).pipe(Layer.provide(Layer.effect(OrganizationsClientInstance, Effect.map(makeDefaultOrganizationsClientInstanceConfig, evaluate))));
115
- /**
116
- * @since 1.0.0
117
- * @category models
118
- * @alias OrganizationsService
119
- */
120
- export const Organizations = OrganizationsService;
121
- /**
122
- * @since 1.0.0
123
- * @category layers
124
- * @deprecated use Organizations.baseLayer instead
125
- */
126
- export const BaseOrganizationsServiceLayer = Layer.effect(OrganizationsService, makeOrganizationsService);
127
- /**
128
- * @since 1.0.0
129
- * @category layers
130
- * @deprecated use Organizations.layer instead
131
- */
132
- export const OrganizationsServiceLayer = BaseOrganizationsServiceLayer.pipe(Layer.provide(OrganizationsClientInstanceLayer));
133
- /**
134
- * @since 1.0.0
135
- * @category layers
136
- * @deprecated use Organizations.defaultLayer instead
137
- */
138
- export const DefaultOrganizationsServiceLayer = OrganizationsService.defaultLayer;
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JnYW5pemF0aW9uc1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvT3JnYW5pemF0aW9uc1NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUNMLDZCQUE2QixFQUc3QixzQkFBc0IsRUFHdEIsbUJBQW1CLEVBR25CLHNCQUFzQixFQUd0QixtQkFBbUIsRUFHbkIsb0JBQW9CLEVBR3BCLDRCQUE0QixFQUc1Qix5QkFBeUIsRUFHekIsK0JBQStCLEVBRy9CLG1CQUFtQixFQUduQix1QkFBdUIsRUFHdkIseUJBQXlCLEVBR3pCLCtCQUErQixFQUcvQixtQkFBbUIsRUFHbkIsMkJBQTJCLEVBRzNCLHVDQUF1QyxFQUd2QyxzQkFBc0IsRUFHdEIsa0NBQWtDLEVBR2xDLDhCQUE4QixFQUc5Qix3QkFBd0IsRUFHeEIsMkJBQTJCLEVBRzNCLGlDQUFpQyxFQUdqQyxxQkFBcUIsRUFHckIsNkJBQTZCLEVBRzdCLG1CQUFtQixFQUduQiw4QkFBOEIsRUFHOUIsd0JBQXdCLEVBR3hCLDZCQUE2QixFQUc3Qix3QkFBd0IsRUFHeEIsdUJBQXVCLEVBR3ZCLGtDQUFrQyxFQUdsQyx3QkFBd0IsRUFHeEIsMENBQTBDLEVBRzFDLG1CQUFtQixFQUduQiw0QkFBNEIsRUFHNUIsbUJBQW1CLEVBR25CLDhCQUE4QixFQUc5QixrQ0FBa0MsRUFHbEMsc0NBQXNDLEVBR3RDLCtCQUErQixFQUcvQixvQ0FBb0MsRUFHcEMsdUNBQXVDLEVBR3ZDLGtCQUFrQixFQUdsQixtQkFBbUIsRUFHbkIsNEJBQTRCLEVBRzVCLGdCQUFnQixFQUdoQiwwQkFBMEIsRUFHMUIsMkJBQTJCLEVBRzNCLGtCQUFrQixFQUdsQix3QkFBd0IsRUFHeEIscUNBQXFDLEVBR3JDLG9DQUFvQyxFQUdwQyxrQkFBa0IsRUFHbEIsb0JBQW9CLEVBR3BCLCtCQUErQixFQUcvQixtQkFBbUIsR0FHcEIsTUFBTSwrQkFBK0Is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LENBQy9DLEtBQUssQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsRUFDL0MsS0FBSyxDQUFDLE9BQU8sQ0FDWCxLQUFLLENBQUMsTUFBTSxDQUNWLGlDQUFpQyxFQUNqQyw0Q0FBNEMsQ0FBQyxJQUFJLENBQy9DLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLGFBQWEsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FDakUsQ0FDRixDQUNGLENBQ0YsQUFYa0IsQ0FXakI7QUFDWSw4QkFBUyxHQUFHLENBQzFCLFFBQTJFLEVBQzNFLEVBQUUsQ0FDRixLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUksRUFBRSx3QkFBd0IsQ0FBQyxDQUFDLElBQUksQ0FDL0MsS0FBSyxDQUFDLE9BQU8sQ0FDWCxLQUFLLENBQUMsTUFBTSxDQUNWLDJCQUEyQixFQUMzQixNQUFNLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxFQUFFLFFBQVEsQ0FBQyxDQUNuRSxDQUNGLENBQ0YsQUFWc0IsQ0FVckI7QUFHTjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLG9CQUFvQixDQUFDO0FBRWxEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUN2RCxvQkFBb0IsRUFDcEIsd0JBQXdCLENBQ3pCLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsNkJBQTZCLENBQUMsSUFBSSxDQUN6RSxLQUFLLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxDQUFDLENBQ2hELENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQzNDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIE9yZ2FuaXphdGlvbnNTZXJ2aWNlRXhjZXB0aW9uLFxuICB0eXBlIE9yZ2FuaXphdGlvbnNDbGllbnQsXG4gIHR5cGUgT3JnYW5pemF0aW9uc0NsaWVudENvbmZpZyxcbiAgQWNjZXB0SGFuZHNoYWtlQ29tbWFuZCxcbiAgdHlwZSBBY2NlcHRIYW5kc2hha2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWNjZXB0SGFuZHNoYWtlQ29tbWFuZE91dHB1dCxcbiAgQXR0YWNoUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBBdHRhY2hQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgQXR0YWNoUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgQ2FuY2VsSGFuZHNoYWtlQ29tbWFuZCxcbiAgdHlwZSBDYW5jZWxIYW5kc2hha2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ2FuY2VsSGFuZHNoYWtlQ29tbWFuZE91dHB1dCxcbiAgQ2xvc2VBY2NvdW50Q29tbWFuZCxcbiAgdHlwZSBDbG9zZUFjY291bnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ2xvc2VBY2NvdW50Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlQWNjb3VudENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQWNjb3VudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVBY2NvdW50Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlR292Q2xvdWRBY2NvdW50Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVHb3ZDbG91ZEFjY291bnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlR292Q2xvdWRBY2NvdW50Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlT3JnYW5pemF0aW9uQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVPcmdhbml6YXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlT3JnYW5pemF0aW9uQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlT3JnYW5pemF0aW9uYWxVbml0Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVPcmdhbml6YXRpb25hbFVuaXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlT3JnYW5pemF0aW9uYWxVbml0Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVjbGluZUhhbmRzaGFrZUNvbW1hbmQsXG4gIHR5cGUgRGVjbGluZUhhbmRzaGFrZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWNsaW5lSGFuZHNoYWtlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlT3JnYW5pemF0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVPcmdhbml6YXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlT3JnYW5pemF0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlT3JnYW5pemF0aW9uYWxVbml0Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVPcmdhbml6YXRpb25hbFVuaXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlT3JnYW5pemF0aW9uYWxVbml0Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVyZWdpc3RlckRlbGVnYXRlZEFkbWluaXN0cmF0b3JDb21tYW5kLFxuICB0eXBlIERlcmVnaXN0ZXJEZWxlZ2F0ZWRBZG1pbmlzdHJhdG9yQ29tbWFuZElucHV0LFxuICB0eXBlIERlcmVnaXN0ZXJEZWxlZ2F0ZWRBZG1pbmlzdHJhdG9yQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVBY2NvdW50Q29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUFjY291bnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVBY2NvdW50Q29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVDcmVhdGVBY2NvdW50U3RhdHVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUNyZWF0ZUFjY291bnRTdGF0dXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVDcmVhdGVBY2NvdW50U3RhdHVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFZmZlY3RpdmVQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRWZmZWN0aXZlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRWZmZWN0aXZlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVIYW5kc2hha2VDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlSGFuZHNoYWtlQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlSGFuZHNoYWtlQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVPcmdhbml6YXRpb25Db21tYW5kLFxuICB0eXBlIERlc2NyaWJlT3JnYW5pemF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlT3JnYW5pemF0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVPcmdhbml6YXRpb25hbFVuaXRDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlT3JnYW5pemF0aW9uYWxVbml0Q29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlT3JnYW5pemF0aW9uYWxVbml0Q29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGV0YWNoUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZXRhY2hQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGV0YWNoUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGlzYWJsZUFXU1NlcnZpY2VBY2Nlc3NDb21tYW5kLFxuICB0eXBlIERpc2FibGVBV1NTZXJ2aWNlQWNjZXNzQ29tbWFuZElucHV0LFxuICB0eXBlIERpc2FibGVBV1NTZXJ2aWNlQWNjZXNzQ29tbWFuZE91dHB1dCxcbiAgRGlzYWJsZVBvbGljeVR5cGVDb21tYW5kLFxuICB0eXBlIERpc2FibGVQb2xpY3lUeXBlQ29tbWFuZElucHV0LFxuICB0eXBlIERpc2FibGVQb2xpY3lUeXBlQ29tbWFuZE91dHB1dCxcbiAgRW5hYmxlQVdTU2VydmljZUFjY2Vzc0NvbW1hbmQsXG4gIHR5cGUgRW5hYmxlQVdTU2VydmljZUFjY2Vzc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBFbmFibGVBV1NTZXJ2aWNlQWNjZXNzQ29tbWFuZE91dHB1dCxcbiAgRW5hYmxlQWxsRmVhdHVyZXNDb21tYW5kLFxuICB0eXBlIEVuYWJsZUFsbEZlYXR1cmVzQ29tbWFuZElucHV0LFxuICB0eXBlIEVuYWJsZUFsbEZlYXR1cmVzQ29tbWFuZE91dHB1dCxcbiAgRW5hYmxlUG9saWN5VHlwZUNvbW1hbmQsXG4gIHR5cGUgRW5hYmxlUG9saWN5VHlwZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBFbmFibGVQb2xpY3lUeXBlQ29tbWFuZE91dHB1dCxcbiAgSW52aXRlQWNjb3VudFRvT3JnYW5pemF0aW9uQ29tbWFuZCxcbiAgdHlwZSBJbnZpdGVBY2NvdW50VG9Pcmdhbml6YXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgSW52aXRlQWNjb3VudFRvT3JnYW5pemF0aW9uQ29tbWFuZE91dHB1dCxcbiAgTGVhdmVPcmdhbml6YXRpb25Db21tYW5kLFxuICB0eXBlIExlYXZlT3JnYW5pemF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIExlYXZlT3JnYW5pemF0aW9uQ29tbWFuZE91dHB1dCxcbiAgTGlzdEFXU1NlcnZpY2VBY2Nlc3NGb3JPcmdhbml6YXRpb25Db21tYW5kLFxuICB0eXBlIExpc3RBV1NTZXJ2aWNlQWNjZXNzRm9yT3JnYW5pemF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RBV1NTZXJ2aWNlQWNjZXNzRm9yT3JnYW5pemF0aW9uQ29tbWFuZE91dHB1dCxcbiAgTGlzdEFjY291bnRzQ29tbWFuZCxcbiAgdHlwZSBMaXN0QWNjb3VudHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEFjY291bnRzQ29tbWFuZE91dHB1dCxcbiAgTGlzdEFjY291bnRzRm9yUGFyZW50Q29tbWFuZCxcbiAgdHlwZSBMaXN0QWNjb3VudHNGb3JQYXJlbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEFjY291bnRzRm9yUGFyZW50Q29tbWFuZE91dHB1dCxcbiAgTGlzdENoaWxkcmVuQ29tbWFuZCxcbiAgdHlwZSBMaXN0Q2hpbGRyZW5Db21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdENoaWxkcmVuQ29tbWFuZE91dHB1dCxcbiAgTGlzdENyZWF0ZUFjY291bnRTdGF0dXNDb21tYW5kLFxuICB0eXBlIExpc3RDcmVhdGVBY2NvdW50U3RhdHVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RDcmVhdGVBY2NvdW50U3RhdHVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdERlbGVnYXRlZEFkbWluaXN0cmF0b3JzQ29tbWFuZCxcbiAgdHlwZSBMaXN0RGVsZWdhdGVkQWRtaW5pc3RyYXRvcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdERlbGVnYXRlZEFkbWluaXN0cmF0b3JzQ29tbWFuZE91dHB1dCxcbiAgTGlzdERlbGVnYXRlZFNlcnZpY2VzRm9yQWNjb3VudENvbW1hbmQsXG4gIHR5cGUgTGlzdERlbGVnYXRlZFNlcnZpY2VzRm9yQWNjb3VudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0RGVsZWdhdGVkU2VydmljZXNGb3JBY2NvdW50Q29tbWFuZE91dHB1dCxcbiAgTGlzdEhhbmRzaGFrZXNGb3JBY2NvdW50Q29tbWFuZCxcbiAgdHlwZSBMaXN0SGFuZHNoYWtlc0ZvckFjY291bnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEhhbmRzaGFrZXNGb3JBY2NvdW50Q29tbWFuZE91dHB1dCxcbiAgTGlzdEhhbmRzaGFrZXNGb3JPcmdhbml6YXRpb25Db21tYW5kLFxuICB0eXBlIExpc3RIYW5kc2hha2VzRm9yT3JnYW5pemF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RIYW5kc2hha2VzRm9yT3JnYW5pemF0aW9uQ29tbWFuZE91dHB1dCxcbiAgTGlzdE9yZ2FuaXphdGlvbmFsVW5pdHNGb3JQYXJlbnRDb21tYW5kLFxuICB0eXBlIExpc3RPcmdhbml6YXRpb25hbFVuaXRzRm9yUGFyZW50Q29tbWFuZElucHV0LFxuICB0eXBlIExpc3RPcmdhbml6YXRpb25hbFVuaXRzRm9yUGFyZW50Q29tbWFuZE91dHB1dCxcbiAgTGlzdFBhcmVudHNDb21tYW5kLFxuICB0eXBlIExpc3RQYXJlbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RQYXJlbnRzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFBvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0UG9saWNpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFBvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFBvbGljaWVzRm9yVGFyZ2V0Q29tbWFuZCxcbiAgdHlwZSBMaXN0UG9saWNpZXNGb3JUYXJnZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFBvbGljaWVzRm9yVGFyZ2V0Q29tbWFuZE91dHB1dCxcbiAgTGlzdFJvb3RzQ29tbWFuZCxcbiAgdHlwZSBMaXN0Um9vdHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFJvb3RzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgTGlzdFRhcmdldHNGb3JQb2xpY3lDb21tYW5kLFxuICB0eXBlIExpc3RUYXJnZXRzRm9yUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIExpc3RUYXJnZXRzRm9yUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgTW92ZUFjY291bnRDb21tYW5kLFxuICB0eXBlIE1vdmVBY2NvdW50Q29tbWFuZElucHV0LFxuICB0eXBlIE1vdmVBY2NvdW50Q29tbWFuZE91dHB1dCxcbiAgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICB0eXBlIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgUmVnaXN0ZXJEZWxlZ2F0ZWRBZG1pbmlzdHJhdG9yQ29tbWFuZCxcbiAgdHlwZSBSZWdpc3RlckRlbGVnYXRlZEFkbWluaXN0cmF0b3JDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVnaXN0ZXJEZWxlZ2F0ZWRBZG1pbmlzdHJhdG9yQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlQWNjb3VudEZyb21Pcmdhbml6YXRpb25Db21tYW5kLFxuICB0eXBlIFJlbW92ZUFjY291bnRGcm9tT3JnYW5pemF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZUFjY291bnRGcm9tT3JnYW5pemF0aW9uQ29tbWFuZE91dHB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlT3JnYW5pemF0aW9uYWxVbml0Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVPcmdhbml6YXRpb25hbFVuaXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlT3JnYW5pemF0aW9uYWxVbml0Q29tbWFuZE91dHB1dCxcbiAgVXBkYXRlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlUG9saWN5Q29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1vcmdhbml6YXRpb25zXCI7XG5pbXBvcnQgeyBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBBbGxTZXJ2aWNlRXJyb3JzLFxuICBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvcixcbiAgQWNjZXNzRGVuaWVkRXJyb3IsXG4gIEFjY2Vzc0RlbmllZEZvckRlcGVuZGVuY3lFcnJvcixcbiAgQWNjb3VudEFscmVhZHlDbG9zZWRFcnJvcixcbiAgQWNjb3VudEFscmVhZHlSZWdpc3RlcmVkRXJyb3IsXG4gIEFjY291bnROb3RGb3VuZEVycm9yLFxuICBBY2NvdW50Tm90UmVnaXN0ZXJlZEVycm9yLFxuICBBY2NvdW50T3duZXJOb3RWZXJpZmllZEVycm9yLFxuICBBbHJlYWR5SW5Pcmdhbml6YXRpb25FcnJvcixcbiAgQ2hpbGROb3RGb3VuZEVycm9yLFxuICBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3IsXG4gIENvbmZsaWN0RXJyb3IsXG4gIENvbnN0cmFpbnRWaW9sYXRpb25FcnJvcixcbiAgQ3JlYXRlQWNjb3VudFN0YXR1c05vdEZvdW5kRXJyb3IsXG4gIERlc3RpbmF0aW9uUGFyZW50Tm90Rm91bmRFcnJvcixcbiAgRHVwbGljYXRlQWNjb3VudEVycm9yLFxuICBEdXBsaWNhdGVIYW5kc2hha2VFcnJvcixcbiAgRHVwbGljYXRlT3JnYW5pemF0aW9uYWxVbml0RXJyb3IsXG4gIER1cGxpY2F0ZVBvbGljeUF0dGFjaG1lbnRFcnJvcixcbiAgRHVwbGljYXRlUG9saWN5RXJyb3IsXG4gIEVmZmVjdGl2ZVBvbGljeU5vdEZvdW5kRXJyb3IsXG4gIEZpbmFsaXppbmdPcmdhbml6YXRpb25FcnJvcixcbiAgSGFuZHNoYWtlQWxyZWFkeUluU3RhdGVFcnJvcixcbiAgSGFuZHNoYWtlQ29uc3RyYWludFZpb2xhdGlvbkVycm9yLFxuICBIYW5kc2hha2VOb3RGb3VuZEVycm9yLFxuICBJbnZhbGlkSGFuZHNoYWtlVHJhbnNpdGlvbkVycm9yLFxuICBJbnZhbGlkSW5wdXRFcnJvcixcbiAgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvcixcbiAgTWFzdGVyQ2Fubm90TGVhdmVPcmdhbml6YXRpb25FcnJvcixcbiAgT3JnYW5pemF0aW9uTm90RW1wdHlFcnJvcixcbiAgT3JnYW5pemF0aW9uYWxVbml0Tm90RW1wdHlFcnJvcixcbiAgT3JnYW5pemF0aW9uYWxVbml0Tm90Rm91bmRFcnJvcixcbiAgUGFyZW50Tm90Rm91bmRFcnJvcixcbiAgUG9saWN5Q2hhbmdlc0luUHJvZ3Jlc3NFcnJvcixcbiAgUG9saWN5SW5Vc2VFcnJvcixcbiAgUG9saWN5Tm90QXR0YWNoZWRFcnJvcixcbiAgUG9saWN5Tm90Rm91bmRFcnJvcixcbiAgUG9saWN5VHlwZUFscmVhZHlFbmFibGVkRXJyb3IsXG4gIFBvbGljeVR5cGVOb3RBdmFpbGFibGVGb3JPcmdhbml6YXRpb25FcnJvcixcbiAgUG9saWN5VHlwZU5vdEVuYWJsZWRFcnJvcixcbiAgUmVzb3VyY2VQb2xpY3lOb3RGb3VuZEVycm9yLFxuICBSb290Tm90Rm91bmRFcnJvcixcbiAgU2VydmljZUVycm9yLFxuICBTb3VyY2VQYXJlbnROb3RGb3VuZEVycm9yLFxuICBUYXJnZXROb3RGb3VuZEVycm9yLFxuICBUb29NYW55UmVxdWVzdHNFcnJvcixcbiAgVW5zdXBwb3J0ZWRBUElFbmRwb2ludEVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcbmltcG9ydCB7XG4gIE9yZ2FuaXphdGlvbnNDbGllbnRJbnN0YW5jZSxcbiAgT3JnYW5pemF0aW9uc0NsaWVudEluc3RhbmNlTGF5ZXIsXG59IGZyb20gXCIuL09yZ2FuaXphdGlvbnNDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdE9yZ2FuaXphdGlvbnNDbGllbnRDb25maWdMYXllcixcbiAgbWFrZURlZmF1bHRPcmdhbml6YXRpb25zQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gIE9yZ2FuaXphdGlvbnNDbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vT3JnYW5pemF0aW9uc0NsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEhhbmRsZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGNvbm5lY3Rpb24gcGhhc2Ugb2YgYSByZXF1ZXN0XG4gICAqIG1heSB0YWtlIGJlZm9yZSB0aGUgY29ubmVjdGlvbiBhdHRlbXB0IGlzIGFiYW5kb25lZC5cbiAgICovXG4gIHJlcXVlc3RUaW1lb3V0PzogbnVtYmVyO1xufVxuXG5jb25zdCBjb21tYW5kcyA9IHtcbiAgQWNjZXB0SGFuZHNoYWtlQ29tbWFuZCxcbiAgQXR0YWNoUG9saWN5Q29tbWFuZCxcbiAgQ2FuY2VsSGFuZHNoYWtlQ29tbWFuZCxcbiAgQ2xvc2VBY2NvdW50Q29tbWFuZCxcbiAgQ3JlYXRlQWNjb3VudENvbW1hbmQsXG4gIENyZWF0ZUdvdkNsb3VkQWNjb3VudENvbW1hbmQsXG4gIENyZWF0ZU9yZ2FuaXphdGlvbkNvbW1hbmQsXG4gIENyZWF0ZU9yZ2FuaXphdGlvbmFsVW5pdENvbW1hbmQsXG4gIENyZWF0ZVBvbGljeUNvbW1hbmQsXG4gIERlY2xpbmVIYW5kc2hha2VDb21tYW5kLFxuICBEZWxldGVPcmdhbml6YXRpb25Db21tYW5kLFxuICBEZWxldGVPcmdhbml6YXRpb25hbFVuaXRDb21tYW5kLFxuICBEZWxldGVQb2xpY3lDb21tYW5kLFxuICBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIERlcmVnaXN0ZXJEZWxlZ2F0ZWRBZG1pbmlzdHJhdG9yQ29tbWFuZCxcbiAgRGVzY3JpYmVBY2NvdW50Q29tbWFuZCxcbiAgRGVzY3JpYmVDcmVhdGVBY2NvdW50U3RhdHVzQ29tbWFuZCxcbiAgRGVzY3JpYmVFZmZlY3RpdmVQb2xpY3lDb21tYW5kLFxuICBEZXNjcmliZUhhbmRzaGFrZUNvbW1hbmQsXG4gIERlc2NyaWJlT3JnYW5pemF0aW9uQ29tbWFuZCxcbiAgRGVzY3JpYmVPcmdhbml6YXRpb25hbFVuaXRDb21tYW5kLFxuICBEZXNjcmliZVBvbGljeUNvbW1hbmQsXG4gIERlc2NyaWJlUmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICBEZXRhY2hQb2xpY3lDb21tYW5kLFxuICBEaXNhYmxlQVdTU2VydmljZUFjY2Vzc0NvbW1hbmQsXG4gIERpc2FibGVQb2xpY3lUeXBlQ29tbWFuZCxcbiAgRW5hYmxlQVdTU2VydmljZUFjY2Vzc0NvbW1hbmQsXG4gIEVuYWJsZUFsbEZlYXR1cmVzQ29tbWFuZCxcbiAgRW5hYmxlUG9saWN5VHlwZUNvbW1hbmQsXG4gIEludml0ZUFjY291bnRUb09yZ2FuaXphdGlvbkNvbW1hbmQsXG4gIExlYXZlT3JnYW5pemF0aW9uQ29tbWFuZCxcbiAgTGlzdEFXU1NlcnZpY2VBY2Nlc3NGb3JPcmdhbml6YXRpb25Db21tYW5kLFxuICBMaXN0QWNjb3VudHNDb21tYW5kLFxuICBMaXN0QWNjb3VudHNGb3JQYXJlbnRDb21tYW5kLFxuICBMaXN0Q2hpbGRyZW5Db21tYW5kLFxuICBMaXN0Q3JlYXRlQWNjb3VudFN0YXR1c0NvbW1hbmQsXG4gIExpc3REZWxlZ2F0ZWRBZG1pbmlzdHJhdG9yc0NvbW1hbmQsXG4gIExpc3REZWxlZ2F0ZWRTZXJ2aWNlc0ZvckFjY291bnRDb21tYW5kLFxuICBMaXN0SGFuZHNoYWtlc0ZvckFjY291bnRDb21tYW5kLFxuICBMaXN0SGFuZHNoYWtlc0Zvck9yZ2FuaXphdGlvbkNvbW1hbmQsXG4gIExpc3RPcmdhbml6YXRpb25hbFVuaXRzRm9yUGFyZW50Q29tbWFuZCxcbiAgTGlzdFBhcmVudHNDb21tYW5kLFxuICBMaXN0UG9saWNpZXNDb21tYW5kLFxuICBMaXN0UG9saWNpZXNGb3JUYXJnZXRDb21tYW5kLFxuICBMaXN0Um9vdHNDb21tYW5kLFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgTGlzdFRhcmdldHNGb3JQb2xpY3lDb21tYW5kLFxuICBNb3ZlQWNjb3VudENvbW1hbmQsXG4gIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZCxcbiAgUmVnaXN0ZXJEZWxlZ2F0ZWRBZG1pbmlzdHJhdG9yQ29tbWFuZCxcbiAgUmVtb3ZlQWNjb3VudEZyb21Pcmdhbml6YXRpb25Db21tYW5kLFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICBVcGRhdGVPcmdhbml6YXRpb25hbFVuaXRDb21tYW5kLFxuICBVcGRhdGVQb2xpY3lDb21tYW5kLFxufTtcblxuaW50ZXJmYWNlIE9yZ2FuaXphdGlvbnNTZXJ2aWNlJCB7XG4gIHJlYWRvbmx5IF86IHVuaXF1ZSBzeW1ib2w7XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFjY2VwdEhhbmRzaGFrZUNvbW1hbmR9XG4gICAqL1xuICBhY2NlcHRIYW5kc2hha2UoXG4gICAgYXJnczogQWNjZXB0SGFuZHNoYWtlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWNjZXB0SGFuZHNoYWtlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRm9yRGVwZW5kZW5jeUVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBIYW5kc2hha2VBbHJlYWR5SW5TdGF0ZUVycm9yXG4gICAgfCBIYW5kc2hha2VDb25zdHJhaW50VmlvbGF0aW9uRXJyb3JcbiAgICB8IEhhbmRzaGFrZU5vdEZvdW5kRXJyb3JcbiAgICB8IEludmFsaWRIYW5kc2hha2VUcmFuc2l0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEF0dGFjaFBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBhdHRhY2hQb2xpY3koXG4gICAgYXJnczogQXR0YWNoUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQXR0YWNoUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQVdTT3JnYW5pemF0aW9uc05vdEluVXNlRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgQ29uc3RyYWludFZpb2xhdGlvbkVycm9yXG4gICAgfCBEdXBsaWNhdGVQb2xpY3lBdHRhY2htZW50RXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBQb2xpY3lDaGFuZ2VzSW5Qcm9ncmVzc0Vycm9yXG4gICAgfCBQb2xpY3lOb3RGb3VuZEVycm9yXG4gICAgfCBQb2xpY3lUeXBlTm90RW5hYmxlZEVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRhcmdldE5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbnN1cHBvcnRlZEFQSUVuZHBvaW50RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ2FuY2VsSGFuZHNoYWtlQ29tbWFuZH1cbiAgICovXG4gIGNhbmNlbEhhbmRzaGFrZShcbiAgICBhcmdzOiBDYW5jZWxIYW5kc2hha2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDYW5jZWxIYW5kc2hha2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEhhbmRzaGFrZUFscmVhZHlJblN0YXRlRXJyb3JcbiAgICB8IEhhbmRzaGFrZU5vdEZvdW5kRXJyb3JcbiAgICB8IEludmFsaWRIYW5kc2hha2VUcmFuc2l0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENsb3NlQWNjb3VudENvbW1hbmR9XG4gICAqL1xuICBjbG9zZUFjY291bnQoXG4gICAgYXJnczogQ2xvc2VBY2NvdW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ2xvc2VBY2NvdW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQWNjb3VudEFscmVhZHlDbG9zZWRFcnJvclxuICAgIHwgQWNjb3VudE5vdEZvdW5kRXJyb3JcbiAgICB8IEFXU09yZ2FuaXphdGlvbnNOb3RJblVzZUVycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IENvbnN0cmFpbnRWaW9sYXRpb25FcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IFNlcnZpY2VFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkQVBJRW5kcG9pbnRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVBY2NvdW50Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUFjY291bnQoXG4gICAgYXJnczogQ3JlYXRlQWNjb3VudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUFjY291bnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBDb25zdHJhaW50VmlvbGF0aW9uRXJyb3JcbiAgICB8IEZpbmFsaXppbmdPcmdhbml6YXRpb25FcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IFNlcnZpY2VFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkQVBJRW5kcG9pbnRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVHb3ZDbG91ZEFjY291bnRDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlR292Q2xvdWRBY2NvdW50KFxuICAgIGFyZ3M6IENyZWF0ZUdvdkNsb3VkQWNjb3VudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUdvdkNsb3VkQWNjb3VudENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEFXU09yZ2FuaXphdGlvbnNOb3RJblVzZUVycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IENvbnN0cmFpbnRWaW9sYXRpb25FcnJvclxuICAgIHwgRmluYWxpemluZ09yZ2FuaXphdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgU2VydmljZUVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRBUElFbmRwb2ludEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZU9yZ2FuaXphdGlvbkNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVPcmdhbml6YXRpb24oXG4gICAgYXJnczogQ3JlYXRlT3JnYW5pemF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlT3JnYW5pemF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRm9yRGVwZW5kZW5jeUVycm9yXG4gICAgfCBBbHJlYWR5SW5Pcmdhbml6YXRpb25FcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBDb25zdHJhaW50VmlvbGF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZU9yZ2FuaXphdGlvbmFsVW5pdENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVPcmdhbml6YXRpb25hbFVuaXQoXG4gICAgYXJnczogQ3JlYXRlT3JnYW5pemF0aW9uYWxVbml0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlT3JnYW5pemF0aW9uYWxVbml0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQVdTT3JnYW5pemF0aW9uc05vdEluVXNlRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgQ29uc3RyYWludFZpb2xhdGlvbkVycm9yXG4gICAgfCBEdXBsaWNhdGVPcmdhbml6YXRpb25hbFVuaXRFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IFBhcmVudE5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVBvbGljeShcbiAgICBhcmdzOiBDcmVhdGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBDb25zdHJhaW50VmlvbGF0aW9uRXJyb3JcbiAgICB8IER1cGxpY2F0ZVBvbGljeUVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgUG9saWN5VHlwZU5vdEF2YWlsYWJsZUZvck9yZ2FuaXphdGlvbkVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbnN1cHBvcnRlZEFQSUVuZHBvaW50RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVjbGluZUhhbmRzaGFrZUNvbW1hbmR9XG4gICAqL1xuICBkZWNsaW5lSGFuZHNoYWtlKFxuICAgIGFyZ3M6IERlY2xpbmVIYW5kc2hha2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWNsaW5lSGFuZHNoYWtlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBIYW5kc2hha2VBbHJlYWR5SW5TdGF0ZUVycm9yXG4gICAgfCBIYW5kc2hha2VOb3RGb3VuZEVycm9yXG4gICAgfCBJbnZhbGlkSGFuZHNoYWtlVHJhbnNpdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgU2VydmljZUVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVPcmdhbml6YXRpb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlT3JnYW5pemF0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZU9yZ2FuaXphdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZU9yZ2FuaXphdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEFXU09yZ2FuaXphdGlvbnNOb3RJblVzZUVycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBPcmdhbml6YXRpb25Ob3RFbXB0eUVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZU9yZ2FuaXphdGlvbmFsVW5pdENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVPcmdhbml6YXRpb25hbFVuaXQoXG4gICAgYXJnczogRGVsZXRlT3JnYW5pemF0aW9uYWxVbml0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlT3JnYW5pemF0aW9uYWxVbml0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQVdTT3JnYW5pemF0aW9uc05vdEluVXNlRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IE9yZ2FuaXphdGlvbmFsVW5pdE5vdEVtcHR5RXJyb3JcbiAgICB8IE9yZ2FuaXphdGlvbmFsVW5pdE5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVBvbGljeShcbiAgICBhcmdzOiBEZWxldGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgUG9saWN5SW5Vc2VFcnJvclxuICAgIHwgUG9saWN5Tm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZUVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRBUElFbmRwb2ludEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVJlc291cmNlUG9saWN5KFxuICAgIGFyZ3M6IERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBDb25zdHJhaW50VmlvbGF0aW9uRXJyb3JcbiAgICB8IFJlc291cmNlUG9saWN5Tm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZUVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRBUElFbmRwb2ludEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlcmVnaXN0ZXJEZWxlZ2F0ZWRBZG1pbmlzdHJhdG9yQ29tbWFuZH1cbiAgICovXG4gIGRlcmVnaXN0ZXJEZWxlZ2F0ZWRBZG1pbmlzdHJhdG9yKFxuICAgIGFyZ3M6IERlcmVnaXN0ZXJEZWxlZ2F0ZWRBZG1pbmlzdHJhdG9yQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVyZWdpc3RlckRlbGVnYXRlZEFkbWluaXN0cmF0b3JDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBBY2NvdW50Tm90Rm91bmRFcnJvclxuICAgIHwgQWNjb3VudE5vdFJlZ2lzdGVyZWRFcnJvclxuICAgIHwgQVdTT3JnYW5pemF0aW9uc05vdEluVXNlRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgQ29uc3RyYWludFZpb2xhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgU2VydmljZUVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRBUElFbmRwb2ludEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQWNjb3VudENvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUFjY291bnQoXG4gICAgYXJnczogRGVzY3JpYmVBY2NvdW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVBY2NvdW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQWNjb3VudE5vdEZvdW5kRXJyb3JcbiAgICB8IEFXU09yZ2FuaXphdGlvbnNOb3RJblVzZUVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgU2VydmljZUVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUNyZWF0ZUFjY291bnRTdGF0dXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVDcmVhdGVBY2NvdW50U3RhdHVzKFxuICAgIGFyZ3M6IERlc2NyaWJlQ3JlYXRlQWNjb3VudFN0YXR1c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQ3JlYXRlQWNjb3VudFN0YXR1c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEFXU09yZ2FuaXphdGlvbnNOb3RJblVzZUVycm9yXG4gICAgfCBDcmVhdGVBY2NvdW50U3RhdHVzTm90Rm91bmRFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IFNlcnZpY2VFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkQVBJRW5kcG9pbnRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUVmZmVjdGl2ZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUVmZmVjdGl2ZVBvbGljeShcbiAgICBhcmdzOiBEZXNjcmliZUVmZmVjdGl2ZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRWZmZWN0aXZlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQVdTT3JnYW5pemF0aW9uc05vdEluVXNlRXJyb3JcbiAgICB8IENvbnN0cmFpbnRWaW9sYXRpb25FcnJvclxuICAgIHwgRWZmZWN0aXZlUG9saWN5Tm90Rm91bmRFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IFNlcnZpY2VFcnJvclxuICAgIHwgVGFyZ2V0Tm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkQVBJRW5kcG9pbnRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUhhbmRzaGFrZUNvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUhhbmRzaGFrZShcbiAgICBhcmdzOiBEZXNjcmliZUhhbmRzaGFrZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlSGFuZHNoYWtlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBIYW5kc2hha2VOb3RGb3VuZEVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgU2VydmljZUVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZU9yZ2FuaXphdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZU9yZ2FuaXphdGlvbihcbiAgICBhcmdzOiBEZXNjcmliZU9yZ2FuaXphdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlT3JnYW5pemF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQVdTT3JnYW5pemF0aW9uc05vdEluVXNlRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgU2VydmljZUVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZU9yZ2FuaXphdGlvbmFsVW5pdENvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZU9yZ2FuaXphdGlvbmFsVW5pdChcbiAgICBhcmdzOiBEZXNjcmliZU9yZ2FuaXphdGlvbmFsVW5pdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlT3JnYW5pemF0aW9uYWxVbml0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQVdTT3JnYW5pemF0aW9uc05vdEluVXNlRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBPcmdhbml6YXRpb25hbFVuaXROb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlUG9saWN5KFxuICAgIGFyZ3M6IERlc2NyaWJlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IFBvbGljeU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkQVBJRW5kcG9pbnRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVJlc291cmNlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlUmVzb3VyY2VQb2xpY3koXG4gICAgYXJnczogRGVzY3JpYmVSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgQ29uc3RyYWludFZpb2xhdGlvbkVycm9yXG4gICAgfCBSZXNvdXJjZVBvbGljeU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkQVBJRW5kcG9pbnRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXRhY2hQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGV0YWNoUG9saWN5KFxuICAgIGFyZ3M6IERldGFjaFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERldGFjaFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEFXU09yZ2FuaXphdGlvbnNOb3RJblVzZUVycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IENvbnN0cmFpbnRWaW9sYXRpb25FcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IFBvbGljeUNoYW5nZXNJblByb2dyZXNzRXJyb3JcbiAgICB8IFBvbGljeU5vdEF0dGFjaGVkRXJyb3JcbiAgICB8IFBvbGljeU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VFcnJvclxuICAgIHwgVGFyZ2V0Tm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkQVBJRW5kcG9pbnRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEaXNhYmxlQVdTU2VydmljZUFjY2Vzc0NvbW1hbmR9XG4gICAqL1xuICBkaXNhYmxlQVdTU2VydmljZUFjY2VzcyhcbiAgICBhcmdzOiBEaXNhYmxlQVdTU2VydmljZUFjY2Vzc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERpc2FibGVBV1NTZXJ2aWNlQWNjZXNzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQVdTT3JnYW5pemF0aW9uc05vdEluVXNlRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgQ29uc3RyYWludFZpb2xhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgU2VydmljZUVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRBUElFbmRwb2ludEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERpc2FibGVQb2xpY3lUeXBlQ29tbWFuZH1cbiAgICovXG4gIGRpc2FibGVQb2xpY3lUeXBlKFxuICAgIGFyZ3M6IERpc2FibGVQb2xpY3lUeXBlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGlzYWJsZVBvbGljeVR5cGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBDb25zdHJhaW50VmlvbGF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBQb2xpY3lDaGFuZ2VzSW5Qcm9ncmVzc0Vycm9yXG4gICAgfCBQb2xpY3lUeXBlTm90RW5hYmxlZEVycm9yXG4gICAgfCBSb290Tm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZUVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRBUElFbmRwb2ludEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEVuYWJsZUFXU1NlcnZpY2VBY2Nlc3NDb21tYW5kfVxuICAgKi9cbiAgZW5hYmxlQVdTU2VydmljZUFjY2VzcyhcbiAgICBhcmdzOiBFbmFibGVBV1NTZXJ2aWNlQWNjZXNzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRW5hYmxlQVdTU2VydmljZUFjY2Vzc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEFXU09yZ2FuaXphdGlvbnNOb3RJblVzZUVycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IENvbnN0cmFpbnRWaW9sYXRpb25FcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IFNlcnZpY2VFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkQVBJRW5kcG9pbnRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBFbmFibGVBbGxGZWF0dXJlc0NvbW1hbmR9XG4gICAqL1xuICBlbmFibGVBbGxGZWF0dXJlcyhcbiAgICBhcmdzOiBFbmFibGVBbGxGZWF0dXJlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEVuYWJsZUFsbEZlYXR1cmVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQVdTT3JnYW5pemF0aW9uc05vdEluVXNlRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgQ29uc3RyYWludFZpb2xhdGlvbkVycm9yXG4gICAgfCBIYW5kc2hha2VDb25zdHJhaW50VmlvbGF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEVuYWJsZVBvbGljeVR5cGVDb21tYW5kfVxuICAgKi9cbiAgZW5hYmxlUG9saWN5VHlwZShcbiAgICBhcmdzOiBFbmFibGVQb2xpY3lUeXBlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRW5hYmxlUG9saWN5VHlwZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEFXU09yZ2FuaXphdGlvbnNOb3RJblVzZUVycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IENvbnN0cmFpbnRWaW9sYXRpb25FcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IFBvbGljeUNoYW5nZXNJblByb2dyZXNzRXJyb3JcbiAgICB8IFBvbGljeVR5cGVBbHJlYWR5RW5hYmxlZEVycm9yXG4gICAgfCBQb2xpY3lUeXBlTm90QXZhaWxhYmxlRm9yT3JnYW5pemF0aW9uRXJyb3JcbiAgICB8IFJvb3ROb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbnN1cHBvcnRlZEFQSUVuZHBvaW50RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgSW52aXRlQWNjb3VudFRvT3JnYW5pemF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGludml0ZUFjY291bnRUb09yZ2FuaXphdGlvbihcbiAgICBhcmdzOiBJbnZpdGVBY2NvdW50VG9Pcmdhbml6YXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBJbnZpdGVBY2NvdW50VG9Pcmdhbml6YXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBBY2NvdW50T3duZXJOb3RWZXJpZmllZEVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBDb25zdHJhaW50VmlvbGF0aW9uRXJyb3JcbiAgICB8IER1cGxpY2F0ZUhhbmRzaGFrZUVycm9yXG4gICAgfCBGaW5hbGl6aW5nT3JnYW5pemF0aW9uRXJyb3JcbiAgICB8IEhhbmRzaGFrZUNvbnN0cmFpbnRWaW9sYXRpb25FcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IFNlcnZpY2VFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGVhdmVPcmdhbml6YXRpb25Db21tYW5kfVxuICAgKi9cbiAgbGVhdmVPcmdhbml6YXRpb24oXG4gICAgYXJnczogTGVhdmVPcmdhbml6YXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMZWF2ZU9yZ2FuaXphdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEFjY291bnROb3RGb3VuZEVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBDb25zdHJhaW50VmlvbGF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBNYXN0ZXJDYW5ub3RMZWF2ZU9yZ2FuaXphdGlvbkVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RBV1NTZXJ2aWNlQWNjZXNzRm9yT3JnYW5pemF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBV1NTZXJ2aWNlQWNjZXNzRm9yT3JnYW5pemF0aW9uKFxuICAgIGFyZ3M6IExpc3RBV1NTZXJ2aWNlQWNjZXNzRm9yT3JnYW5pemF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEFXU1NlcnZpY2VBY2Nlc3NGb3JPcmdhbml6YXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgQ29uc3RyYWludFZpb2xhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgU2VydmljZUVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRBUElFbmRwb2ludEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RBY2NvdW50c0NvbW1hbmR9XG4gICAqL1xuICBsaXN0QWNjb3VudHMoXG4gICAgYXJnczogTGlzdEFjY291bnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEFjY291bnRzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQVdTT3JnYW5pemF0aW9uc05vdEluVXNlRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RBY2NvdW50c0ZvclBhcmVudENvbW1hbmR9XG4gICAqL1xuICBsaXN0QWNjb3VudHNGb3JQYXJlbnQoXG4gICAgYXJnczogTGlzdEFjY291bnRzRm9yUGFyZW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEFjY291bnRzRm9yUGFyZW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQVdTT3JnYW5pemF0aW9uc05vdEluVXNlRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBQYXJlbnROb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RDaGlsZHJlbkNvbW1hbmR9XG4gICAqL1xuICBsaXN0Q2hpbGRyZW4oXG4gICAgYXJnczogTGlzdENoaWxkcmVuQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdENoaWxkcmVuQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQVdTT3JnYW5pemF0aW9uc05vdEluVXNlRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBQYXJlbnROb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RDcmVhdGVBY2NvdW50U3RhdHVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RDcmVhdGVBY2NvdW50U3RhdHVzKFxuICAgIGFyZ3M6IExpc3RDcmVhdGVBY2NvdW50U3RhdHVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdENyZWF0ZUFjY291bnRTdGF0dXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IFNlcnZpY2VFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkQVBJRW5kcG9pbnRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0RGVsZWdhdGVkQWRtaW5pc3RyYXRvcnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdERlbGVnYXRlZEFkbWluaXN0cmF0b3JzKFxuICAgIGFyZ3M6IExpc3REZWxlZ2F0ZWRBZG1pbmlzdHJhdG9yc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3REZWxlZ2F0ZWRBZG1pbmlzdHJhdG9yc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEFXU09yZ2FuaXphdGlvbnNOb3RJblVzZUVycm9yXG4gICAgfCBDb25zdHJhaW50VmlvbGF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbnN1cHBvcnRlZEFQSUVuZHBvaW50RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdERlbGVnYXRlZFNlcnZpY2VzRm9yQWNjb3VudENvbW1hbmR9XG4gICAqL1xuICBsaXN0RGVsZWdhdGVkU2VydmljZXNGb3JBY2NvdW50KFxuICAgIGFyZ3M6IExpc3REZWxlZ2F0ZWRTZXJ2aWNlc0ZvckFjY291bnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0RGVsZWdhdGVkU2VydmljZXNGb3JBY2NvdW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQWNjb3VudE5vdEZvdW5kRXJyb3JcbiAgICB8IEFjY291bnROb3RSZWdpc3RlcmVkRXJyb3JcbiAgICB8IEFXU09yZ2FuaXphdGlvbnNOb3RJblVzZUVycm9yXG4gICAgfCBDb25zdHJhaW50VmlvbGF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbnN1cHBvcnRlZEFQSUVuZHBvaW50RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEhhbmRzaGFrZXNGb3JBY2NvdW50Q29tbWFuZH1cbiAgICovXG4gIGxpc3RIYW5kc2hha2VzRm9yQWNjb3VudChcbiAgICBhcmdzOiBMaXN0SGFuZHNoYWtlc0ZvckFjY291bnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0SGFuZHNoYWtlc0ZvckFjY291bnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RIYW5kc2hha2VzRm9yT3JnYW5pemF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGxpc3RIYW5kc2hha2VzRm9yT3JnYW5pemF0aW9uKFxuICAgIGFyZ3M6IExpc3RIYW5kc2hha2VzRm9yT3JnYW5pemF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEhhbmRzaGFrZXNGb3JPcmdhbml6YXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgU2VydmljZUVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0T3JnYW5pemF0aW9uYWxVbml0c0ZvclBhcmVudENvbW1hbmR9XG4gICAqL1xuICBsaXN0T3JnYW5pemF0aW9uYWxVbml0c0ZvclBhcmVudChcbiAgICBhcmdzOiBMaXN0T3JnYW5pemF0aW9uYWxVbml0c0ZvclBhcmVudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RPcmdhbml6YXRpb25hbFVuaXRzRm9yUGFyZW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQVdTT3JnYW5pemF0aW9uc05vdEluVXNlRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBQYXJlbnROb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RQYXJlbnRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RQYXJlbnRzKFxuICAgIGFyZ3M6IExpc3RQYXJlbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFBhcmVudHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgQ2hpbGROb3RGb3VuZEVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgU2VydmljZUVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0UG9saWNpZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFBvbGljaWVzKFxuICAgIGFyZ3M6IExpc3RQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEFXU09yZ2FuaXphdGlvbnNOb3RJblVzZUVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgU2VydmljZUVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRBUElFbmRwb2ludEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RQb2xpY2llc0ZvclRhcmdldENvbW1hbmR9XG4gICAqL1xuICBsaXN0UG9saWNpZXNGb3JUYXJnZXQoXG4gICAgYXJnczogTGlzdFBvbGljaWVzRm9yVGFyZ2V0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFBvbGljaWVzRm9yVGFyZ2V0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQVdTT3JnYW5pemF0aW9uc05vdEluVXNlRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRhcmdldE5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbnN1cHBvcnRlZEFQSUVuZHBvaW50RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFJvb3RzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RSb290cyhcbiAgICBhcmdzOiBMaXN0Um9vdHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0Um9vdHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IFNlcnZpY2VFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICBsaXN0VGFnc0ZvclJlc291cmNlKFxuICAgIGFyZ3M6IExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQVdTT3JnYW5pemF0aW9uc05vdEluVXNlRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRhcmdldE5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUYXJnZXRzRm9yUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGxpc3RUYXJnZXRzRm9yUG9saWN5KFxuICAgIGFyZ3M6IExpc3RUYXJnZXRzRm9yUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFRhcmdldHNGb3JQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IFBvbGljeU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkQVBJRW5kcG9pbnRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb3ZlQWNjb3VudENvbW1hbmR9XG4gICAqL1xuICBtb3ZlQWNjb3VudChcbiAgICBhcmdzOiBNb3ZlQWNjb3VudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vdmVBY2NvdW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQWNjb3VudE5vdEZvdW5kRXJyb3JcbiAgICB8IEFXU09yZ2FuaXphdGlvbnNOb3RJblVzZUVycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IERlc3RpbmF0aW9uUGFyZW50Tm90Rm91bmRFcnJvclxuICAgIHwgRHVwbGljYXRlQWNjb3VudEVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgU2VydmljZUVycm9yXG4gICAgfCBTb3VyY2VQYXJlbnROb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBwdXRSZXNvdXJjZVBvbGljeShcbiAgICBhcmdzOiBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQVdTT3JnYW5pemF0aW9uc05vdEluVXNlRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgQ29uc3RyYWludFZpb2xhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgU2VydmljZUVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRBUElFbmRwb2ludEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlZ2lzdGVyRGVsZWdhdGVkQWRtaW5pc3RyYXRvckNvbW1hbmR9XG4gICAqL1xuICByZWdpc3RlckRlbGVnYXRlZEFkbWluaXN0cmF0b3IoXG4gICAgYXJnczogUmVnaXN0ZXJEZWxlZ2F0ZWRBZG1pbmlzdHJhdG9yQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVnaXN0ZXJEZWxlZ2F0ZWRBZG1pbmlzdHJhdG9yQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQWNjb3VudEFscmVhZHlSZWdpc3RlcmVkRXJyb3JcbiAgICB8IEFjY291bnROb3RGb3VuZEVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBDb25zdHJhaW50VmlvbGF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbnN1cHBvcnRlZEFQSUVuZHBvaW50RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVtb3ZlQWNjb3VudEZyb21Pcmdhbml6YXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlQWNjb3VudEZyb21Pcmdhbml6YXRpb24oXG4gICAgYXJnczogUmVtb3ZlQWNjb3VudEZyb21Pcmdhbml6YXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZW1vdmVBY2NvdW50RnJvbU9yZ2FuaXphdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEFjY291bnROb3RGb3VuZEVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBDb25zdHJhaW50VmlvbGF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBNYXN0ZXJDYW5ub3RMZWF2ZU9yZ2FuaXphdGlvbkVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBDb25zdHJhaW50VmlvbGF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBTZXJ2aWNlRXJyb3JcbiAgICB8IFRhcmdldE5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVudGFnUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgdW50YWdSZXNvdXJjZShcbiAgICBhcmdzOiBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEFXU09yZ2FuaXphdGlvbnNOb3RJblVzZUVycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IENvbnN0cmFpbnRWaW9sYXRpb25FcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IFNlcnZpY2VFcnJvclxuICAgIHwgVGFyZ2V0Tm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlT3JnYW5pemF0aW9uYWxVbml0Q29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZU9yZ2FuaXphdGlvbmFsVW5pdChcbiAgICBhcmdzOiBVcGRhdGVPcmdhbml6YXRpb25hbFVuaXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVPcmdhbml6YXRpb25hbFVuaXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBEdXBsaWNhdGVPcmdhbml6YXRpb25hbFVuaXRFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IE9yZ2FuaXphdGlvbmFsVW5pdE5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVBvbGljeShcbiAgICBhcmdzOiBVcGRhdGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBBV1NPcmdhbml6YXRpb25zTm90SW5Vc2VFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBDb25zdHJhaW50VmlvbGF0aW9uRXJyb3JcbiAgICB8IER1cGxpY2F0ZVBvbGljeUVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgUG9saWN5Q2hhbmdlc0luUHJvZ3Jlc3NFcnJvclxuICAgIHwgUG9saWN5Tm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZUVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRBUElFbmRwb2ludEVycm9yXG4gID47XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlT3JnYW5pemF0aW9uc1NlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhPcmdhbml6YXRpb25zQ2xpZW50SW5zdGFuY2UpO1xuXG4gIHJldHVybiBSZWNvcmQudG9FbnRyaWVzKGNvbW1hbmRzKS5yZWR1Y2UoKGFjYywgW2NvbW1hbmRdKSA9PiB7XG4gICAgY29uc3QgQ29tbWFuZEN0b3IgPSBjb21tYW5kc1tjb21tYW5kXSBhcyBhbnk7XG4gICAgY29uc3QgbWV0aG9kSW1wbCA9IChhcmdzOiBhbnksIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKGFib3J0U2lnbmFsKSA9PlxuICAgICAgICAgIGNsaWVudC5zZW5kKG5ldyBDb21tYW5kQ3RvcihhcmdzKSwge1xuICAgICAgICAgICAgLi4uKG9wdGlvbnMgPz8ge30pLFxuICAgICAgICAgICAgYWJvcnRTaWduYWwsXG4gICAgICAgICAgfSksXG4gICAgICAgIGNhdGNoOiAoZSkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGUgaW5zdGFuY2VvZiBPcmdhbml6YXRpb25zU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxPcmdhbml6YXRpb25zU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgT3JnYW5pemF0aW9uc1NlcnZpY2UkO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKi9cbmV4cG9ydCBjbGFzcyBPcmdhbml6YXRpb25zU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LW9yZ2FuaXphdGlvbnMvT3JnYW5pemF0aW9uc1NlcnZpY2VcIixcbik8T3JnYW5pemF0aW9uc1NlcnZpY2UsIE9yZ2FuaXphdGlvbnNTZXJ2aWNlJD4oKSB7XG4gIHN0YXRpYyByZWFkb25seSBkZWZhdWx0TGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gICAgdGhpcyxcbiAgICBtYWtlT3JnYW5pemF0aW9uc1NlcnZpY2UsXG4gICkucGlwZShcbiAgICBMYXllci5wcm92aWRlKE9yZ2FuaXphdGlvbnNDbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgICBMYXllci5wcm92aWRlKERlZmF1bHRPcmdhbml6YXRpb25zQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuICBzdGF0aWMgcmVhZG9ubHkgbGF5ZXIgPSAoY29uZmlnOiBPcmdhbml6YXRpb25zQ2xpZW50Q29uZmlnKSA9PlxuICAgIExheWVyLmVmZmVjdCh0aGlzLCBtYWtlT3JnYW5pemF0aW9uc1NlcnZpY2UpLnBpcGUoXG4gICAgICBMYXllci5wcm92aWRlKE9yZ2FuaXphdGlvbnNDbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBPcmdhbml6YXRpb25zQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gICAgICAgICAgbWFrZURlZmF1bHRPcmdhbml6YXRpb25zQ2xpZW50SW5zdGFuY2VDb25maWcucGlwZShcbiAgICAgICAgICAgIEVmZmVjdC5tYXAoKGRlZmF1bHRDb25maWcpID0+ICh7IC4uLmRlZmF1bHRDb25maWcsIC4uLmNvbmZpZyB9KSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbiAgc3RhdGljIHJlYWRvbmx5IGJhc2VMYXllciA9IChcbiAgICBldmFsdWF0ZTogKGRlZmF1bHRDb25maWc6IE9yZ2FuaXphdGlvbnNDbGllbnRDb25maWcpID0+IE9yZ2FuaXphdGlvbnNDbGllbnQsXG4gICkgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZU9yZ2FuaXphdGlvbnNTZXJ2aWNlKS5waXBlKFxuICAgICAgTGF5ZXIucHJvdmlkZShcbiAgICAgICAgTGF5ZXIuZWZmZWN0KFxuICAgICAgICAgIE9yZ2FuaXphdGlvbnNDbGllbnRJbnN0YW5jZSxcbiAgICAgICAgICBFZmZlY3QubWFwKG1ha2VEZWZhdWx0T3JnYW5pemF0aW9uc0NsaWVudEluc3RhbmNlQ29uZmlnLCBldmFsdWF0ZSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKiBAYWxpYXMgT3JnYW5pemF0aW9uc1NlcnZpY2VcbiAqL1xuZXhwb3J0IGNvbnN0IE9yZ2FuaXphdGlvbnMgPSBPcmdhbml6YXRpb25zU2VydmljZTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBPcmdhbml6YXRpb25zLmJhc2VMYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlT3JnYW5pemF0aW9uc1NlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgT3JnYW5pemF0aW9uc1NlcnZpY2UsXG4gIG1ha2VPcmdhbml6YXRpb25zU2VydmljZSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgT3JnYW5pemF0aW9ucy5sYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBPcmdhbml6YXRpb25zU2VydmljZUxheWVyID0gQmFzZU9yZ2FuaXphdGlvbnNTZXJ2aWNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShPcmdhbml6YXRpb25zQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIE9yZ2FuaXphdGlvbnMuZGVmYXVsdExheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRPcmdhbml6YXRpb25zU2VydmljZUxheWVyID1cbiAgT3JnYW5pemF0aW9uc1NlcnZpY2UuZGVmYXVsdExheWVyO1xuIl19
package/lib/esm/index.js DELETED
@@ -1,5 +0,0 @@
1
- export * from "./Errors";
2
- export * from "./OrganizationsClientInstance";
3
- export * from "./OrganizationsClientInstanceConfig";
4
- export * from "./OrganizationsService";
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9FcnJvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL09yZ2FuaXphdGlvbnNDbGllbnRJbnN0YW5jZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vT3JnYW5pemF0aW9uc0NsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Pcmdhbml6YXRpb25zU2VydmljZVwiO1xuIl19
package/lib/index.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export * from "./Errors";
2
- export * from "./OrganizationsClientInstance";
3
- export * from "./OrganizationsClientInstanceConfig";
4
- export * from "./OrganizationsService";
package/lib/index.js DELETED
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./Errors"), exports);
18
- __exportStar(require("./OrganizationsClientInstance"), exports);
19
- __exportStar(require("./OrganizationsClientInstanceConfig"), exports);
20
- __exportStar(require("./OrganizationsService"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF5QjtBQUN6QixnRUFBOEM7QUFDOUMsc0VBQW9EO0FBQ3BELHlEQUF1QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vT3JnYW5pemF0aW9uc0NsaWVudEluc3RhbmNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Pcmdhbml6YXRpb25zQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL09yZ2FuaXphdGlvbnNTZXJ2aWNlXCI7XG4iXX0=
package/project.json DELETED
@@ -1,77 +0,0 @@
1
- {
2
- "name": "@effect-aws/client-organizations",
3
- "root": "packages/client-organizations",
4
- "targets": {
5
- "default": {
6
- "executor": "nx:run-commands",
7
- "options": {
8
- "command": "pnpm exec projen default",
9
- "cwd": "packages/client-organizations"
10
- }
11
- },
12
- "pre-compile": {
13
- "executor": "nx:run-commands",
14
- "options": {
15
- "command": "pnpm exec projen pre-compile",
16
- "cwd": "packages/client-organizations"
17
- }
18
- },
19
- "compile": {
20
- "executor": "nx:run-commands",
21
- "options": {
22
- "command": "pnpm exec projen compile",
23
- "cwd": "packages/client-organizations"
24
- }
25
- },
26
- "post-compile": {
27
- "executor": "nx:run-commands",
28
- "options": {
29
- "command": "pnpm exec projen post-compile",
30
- "cwd": "packages/client-organizations"
31
- }
32
- },
33
- "test": {
34
- "executor": "nx:run-commands",
35
- "options": {
36
- "command": "pnpm exec projen test",
37
- "cwd": "packages/client-organizations"
38
- }
39
- },
40
- "package": {
41
- "executor": "nx:run-commands",
42
- "options": {
43
- "command": "pnpm exec projen package",
44
- "cwd": "packages/client-organizations"
45
- }
46
- },
47
- "build": {
48
- "executor": "nx:run-commands",
49
- "options": {
50
- "command": "pnpm exec projen build",
51
- "cwd": "packages/client-organizations"
52
- }
53
- },
54
- "watch": {
55
- "executor": "nx:run-commands",
56
- "options": {
57
- "command": "pnpm exec projen watch",
58
- "cwd": "packages/client-organizations"
59
- }
60
- },
61
- "eslint": {
62
- "executor": "nx:run-commands",
63
- "options": {
64
- "command": "pnpm exec projen eslint",
65
- "cwd": "packages/client-organizations"
66
- }
67
- },
68
- "test:watch": {
69
- "executor": "nx:run-commands",
70
- "options": {
71
- "command": "pnpm exec projen test:watch",
72
- "cwd": "packages/client-organizations"
73
- }
74
- }
75
- },
76
- "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
77
- }
package/vitest.config.ts DELETED
@@ -1,3 +0,0 @@
1
- import configShared from "../../vitest.shared";
2
-
3
- export default configShared;