@effect-aws/client-ses 1.0.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.
@@ -0,0 +1,155 @@
1
+ var _a;
2
+ /**
3
+ * @since 1.0.0
4
+ */
5
+ import { SESServiceException, CloneReceiptRuleSetCommand, CreateConfigurationSetCommand, CreateConfigurationSetEventDestinationCommand, CreateConfigurationSetTrackingOptionsCommand, CreateCustomVerificationEmailTemplateCommand, CreateReceiptFilterCommand, CreateReceiptRuleCommand, CreateReceiptRuleSetCommand, CreateTemplateCommand, DeleteConfigurationSetCommand, DeleteConfigurationSetEventDestinationCommand, DeleteConfigurationSetTrackingOptionsCommand, DeleteCustomVerificationEmailTemplateCommand, DeleteIdentityCommand, DeleteIdentityPolicyCommand, DeleteReceiptFilterCommand, DeleteReceiptRuleCommand, DeleteReceiptRuleSetCommand, DeleteTemplateCommand, DeleteVerifiedEmailAddressCommand, DescribeActiveReceiptRuleSetCommand, DescribeConfigurationSetCommand, DescribeReceiptRuleCommand, DescribeReceiptRuleSetCommand, GetAccountSendingEnabledCommand, GetCustomVerificationEmailTemplateCommand, GetIdentityDkimAttributesCommand, GetIdentityMailFromDomainAttributesCommand, GetIdentityNotificationAttributesCommand, GetIdentityPoliciesCommand, GetIdentityVerificationAttributesCommand, GetSendQuotaCommand, GetSendStatisticsCommand, GetTemplateCommand, ListConfigurationSetsCommand, ListCustomVerificationEmailTemplatesCommand, ListIdentitiesCommand, ListIdentityPoliciesCommand, ListReceiptFiltersCommand, ListReceiptRuleSetsCommand, ListTemplatesCommand, ListVerifiedEmailAddressesCommand, PutConfigurationSetDeliveryOptionsCommand, PutIdentityPolicyCommand, ReorderReceiptRuleSetCommand, SendBounceCommand, SendBulkTemplatedEmailCommand, SendCustomVerificationEmailCommand, SendEmailCommand, SendRawEmailCommand, SendTemplatedEmailCommand, SetActiveReceiptRuleSetCommand, SetIdentityDkimEnabledCommand, SetIdentityFeedbackForwardingEnabledCommand, SetIdentityHeadersInNotificationsEnabledCommand, SetIdentityMailFromDomainCommand, SetIdentityNotificationTopicCommand, SetReceiptRulePositionCommand, TestRenderTemplateCommand, UpdateAccountSendingEnabledCommand, UpdateConfigurationSetEventDestinationCommand, UpdateConfigurationSetReputationMetricsEnabledCommand, UpdateConfigurationSetSendingEnabledCommand, UpdateConfigurationSetTrackingOptionsCommand, UpdateCustomVerificationEmailTemplateCommand, UpdateReceiptRuleCommand, UpdateTemplateCommand, VerifyDomainDkimCommand, VerifyDomainIdentityCommand, VerifyEmailAddressCommand, VerifyEmailIdentityCommand, } from "@aws-sdk/client-ses";
6
+ import { Data, Effect, Layer, Record } from "effect";
7
+ import { AllServiceErrors, SdkError, } from "./Errors";
8
+ import { SESClientInstance, SESClientInstanceLayer } from "./SESClientInstance";
9
+ import { DefaultSESClientConfigLayer, makeDefaultSESClientInstanceConfig, SESClientInstanceConfig, } from "./SESClientInstanceConfig";
10
+ const commands = {
11
+ CloneReceiptRuleSetCommand,
12
+ CreateConfigurationSetCommand,
13
+ CreateConfigurationSetEventDestinationCommand,
14
+ CreateConfigurationSetTrackingOptionsCommand,
15
+ CreateCustomVerificationEmailTemplateCommand,
16
+ CreateReceiptFilterCommand,
17
+ CreateReceiptRuleCommand,
18
+ CreateReceiptRuleSetCommand,
19
+ CreateTemplateCommand,
20
+ DeleteConfigurationSetCommand,
21
+ DeleteConfigurationSetEventDestinationCommand,
22
+ DeleteConfigurationSetTrackingOptionsCommand,
23
+ DeleteCustomVerificationEmailTemplateCommand,
24
+ DeleteIdentityCommand,
25
+ DeleteIdentityPolicyCommand,
26
+ DeleteReceiptFilterCommand,
27
+ DeleteReceiptRuleCommand,
28
+ DeleteReceiptRuleSetCommand,
29
+ DeleteTemplateCommand,
30
+ DeleteVerifiedEmailAddressCommand,
31
+ DescribeActiveReceiptRuleSetCommand,
32
+ DescribeConfigurationSetCommand,
33
+ DescribeReceiptRuleCommand,
34
+ DescribeReceiptRuleSetCommand,
35
+ GetAccountSendingEnabledCommand,
36
+ GetCustomVerificationEmailTemplateCommand,
37
+ GetIdentityDkimAttributesCommand,
38
+ GetIdentityMailFromDomainAttributesCommand,
39
+ GetIdentityNotificationAttributesCommand,
40
+ GetIdentityPoliciesCommand,
41
+ GetIdentityVerificationAttributesCommand,
42
+ GetSendQuotaCommand,
43
+ GetSendStatisticsCommand,
44
+ GetTemplateCommand,
45
+ ListConfigurationSetsCommand,
46
+ ListCustomVerificationEmailTemplatesCommand,
47
+ ListIdentitiesCommand,
48
+ ListIdentityPoliciesCommand,
49
+ ListReceiptFiltersCommand,
50
+ ListReceiptRuleSetsCommand,
51
+ ListTemplatesCommand,
52
+ ListVerifiedEmailAddressesCommand,
53
+ PutConfigurationSetDeliveryOptionsCommand,
54
+ PutIdentityPolicyCommand,
55
+ ReorderReceiptRuleSetCommand,
56
+ SendBounceCommand,
57
+ SendBulkTemplatedEmailCommand,
58
+ SendCustomVerificationEmailCommand,
59
+ SendEmailCommand,
60
+ SendRawEmailCommand,
61
+ SendTemplatedEmailCommand,
62
+ SetActiveReceiptRuleSetCommand,
63
+ SetIdentityDkimEnabledCommand,
64
+ SetIdentityFeedbackForwardingEnabledCommand,
65
+ SetIdentityHeadersInNotificationsEnabledCommand,
66
+ SetIdentityMailFromDomainCommand,
67
+ SetIdentityNotificationTopicCommand,
68
+ SetReceiptRulePositionCommand,
69
+ TestRenderTemplateCommand,
70
+ UpdateAccountSendingEnabledCommand,
71
+ UpdateConfigurationSetEventDestinationCommand,
72
+ UpdateConfigurationSetReputationMetricsEnabledCommand,
73
+ UpdateConfigurationSetSendingEnabledCommand,
74
+ UpdateConfigurationSetTrackingOptionsCommand,
75
+ UpdateCustomVerificationEmailTemplateCommand,
76
+ UpdateReceiptRuleCommand,
77
+ UpdateTemplateCommand,
78
+ VerifyDomainDkimCommand,
79
+ VerifyDomainIdentityCommand,
80
+ VerifyEmailAddressCommand,
81
+ VerifyEmailIdentityCommand,
82
+ };
83
+ /**
84
+ * @since 1.0.0
85
+ * @category constructors
86
+ */
87
+ export const makeSESService = Effect.gen(function* (_) {
88
+ const client = yield* _(SESClientInstance);
89
+ return Record.toEntries(commands).reduce((acc, [command]) => {
90
+ const CommandCtor = commands[command];
91
+ const methodImpl = (args, options) => Effect.tryPromise({
92
+ try: (abortSignal) => client.send(new CommandCtor(args), {
93
+ ...(options !== null && options !== void 0 ? options : {}),
94
+ abortSignal,
95
+ }),
96
+ catch: (e) => {
97
+ if (e instanceof SESServiceException &&
98
+ AllServiceErrors.includes(e.name)) {
99
+ const ServiceException = Data.tagged(e.name);
100
+ return ServiceException({
101
+ ...e,
102
+ message: e.message,
103
+ stack: e.stack,
104
+ });
105
+ }
106
+ if (e instanceof Error) {
107
+ return SdkError({
108
+ ...e,
109
+ name: "SdkError",
110
+ message: e.message,
111
+ stack: e.stack,
112
+ });
113
+ }
114
+ throw e;
115
+ },
116
+ });
117
+ const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
118
+ return { ...acc, [methodName]: methodImpl };
119
+ }, {});
120
+ });
121
+ /**
122
+ * @since 1.0.0
123
+ * @category models
124
+ */
125
+ export class SESService extends Effect.Tag("@effect-aws/client-ses/SESService")() {
126
+ }
127
+ _a = SESService;
128
+ SESService.defaultLayer = Layer.effect(_a, makeSESService).pipe(Layer.provide(SESClientInstanceLayer), Layer.provide(DefaultSESClientConfigLayer));
129
+ SESService.layer = (config) => Layer.effect(_a, makeSESService).pipe(Layer.provide(SESClientInstanceLayer), Layer.provide(Layer.effect(SESClientInstanceConfig, makeDefaultSESClientInstanceConfig.pipe(Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
130
+ SESService.baseLayer = (evaluate) => Layer.effect(_a, makeSESService).pipe(Layer.provide(Layer.effect(SESClientInstance, Effect.map(makeDefaultSESClientInstanceConfig, evaluate))));
131
+ /**
132
+ * @since 1.0.0
133
+ * @category models
134
+ * @alias SESService
135
+ */
136
+ export const SES = SESService;
137
+ /**
138
+ * @since 1.0.0
139
+ * @category layers
140
+ * @deprecated use SES.baseLayer instead
141
+ */
142
+ export const BaseSESServiceLayer = Layer.effect(SESService, makeSESService);
143
+ /**
144
+ * @since 1.0.0
145
+ * @category layers
146
+ * @deprecated use SES.layer instead
147
+ */
148
+ export const SESServiceLayer = BaseSESServiceLayer.pipe(Layer.provide(SESClientInstanceLayer));
149
+ /**
150
+ * @since 1.0.0
151
+ * @category layers
152
+ * @deprecated use SES.defaultLayer instead
153
+ */
154
+ export const DefaultSESServiceLayer = SESService.defaultLayer;
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0VTU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TRVNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCxtQkFBbUIsRUFHbkIsMEJBQTBCLEVBRzFCLDZCQUE2QixFQUc3Qiw2Q0FBNkMsRUFHN0MsNENBQTRDLEVBRzVDLDRDQUE0QyxFQUc1QywwQkFBMEIsRUFHMUIsd0JBQXdCLEVBR3hCLDJCQUEyQixFQUczQixxQkFBcUIsRUFHckIsNkJBQTZCLEVBRzdCLDZDQUE2QyxFQUc3Qyw0Q0FBNEMsRUFHNUMsNENBQTRDLEVBRzVDLHFCQUFxQixFQUdyQiwyQkFBMkIsRUFHM0IsMEJBQTBCLEVBRzFCLHdCQUF3QixFQUd4QiwyQkFBMkIsRUFHM0IscUJBQXFCLEVBR3JCLGlDQUFpQyxFQUdqQyxtQ0FBbUMsRUFHbkMsK0JBQStCLEVBRy9CLDBCQUEwQixFQUcxQiw2QkFBNkIsRUFHN0IsK0JBQStCLEVBRy9CLHlDQUF5QyxFQUd6QyxnQ0FBZ0MsRUFHaEMsMENBQTBDLEVBRzFDLHdDQUF3QyxFQUd4QywwQkFBMEIsRUFHMUIsd0NBQXdDLEVBR3hDLG1CQUFtQixFQUduQix3QkFBd0IsRUFHeEIsa0JBQWtCLEVBR2xCLDRCQUE0QixFQUc1QiwyQ0FBMkMsRUFHM0MscUJBQXFCLEVBR3JCLDJCQUEyQixFQUczQix5QkFBeUIsRUFHekIsMEJBQTBCLEVBRzFCLG9CQUFvQixFQUdwQixpQ0FBaUMsRUFHakMseUNBQXlDLEVBR3pDLHdCQUF3QixFQUd4Qiw0QkFBNEIsRUFHNUIsaUJBQWlCLEVBR2pCLDZCQUE2QixFQUc3QixrQ0FBa0MsRUFHbEMsZ0JBQWdCLEVBR2hCLG1CQUFtQixFQUduQix5QkFBeUIsRUFHekIsOEJBQThCLEVBRzlCLDZCQUE2QixFQUc3QiwyQ0FBMkMsRUFHM0MsK0NBQStDLEVBRy9DLGdDQUFnQyxFQUdoQyxtQ0FBbUMsRUFHbkMsNkJBQTZC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VSxDQUFDO0FBRTlCOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztBQUU1RTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FDckQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUN0QyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQge1xuICBTRVNTZXJ2aWNlRXhjZXB0aW9uLFxuICB0eXBlIFNFU0NsaWVudCxcbiAgdHlwZSBTRVNDbGllbnRDb25maWcsXG4gIENsb25lUmVjZWlwdFJ1bGVTZXRDb21tYW5kLFxuICB0eXBlIENsb25lUmVjZWlwdFJ1bGVTZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ2xvbmVSZWNlaXB0UnVsZVNldENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUNvbmZpZ3VyYXRpb25TZXRDb21tYW5kLFxuICB0eXBlIENyZWF0ZUNvbmZpZ3VyYXRpb25TZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQ29uZmlndXJhdGlvblNldENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbkNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUNvbmZpZ3VyYXRpb25TZXRUcmFja2luZ09wdGlvbnNDb21tYW5kLFxuICB0eXBlIENyZWF0ZUNvbmZpZ3VyYXRpb25TZXRUcmFja2luZ09wdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQ29uZmlndXJhdGlvblNldFRyYWNraW5nT3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsVGVtcGxhdGVDb21tYW5kLFxuICB0eXBlIENyZWF0ZUN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsVGVtcGxhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQ3VzdG9tVmVyaWZpY2F0aW9uRW1haWxUZW1wbGF0ZUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVJlY2VpcHRGaWx0ZXJDb21tYW5kLFxuICB0eXBlIENyZWF0ZVJlY2VpcHRGaWx0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlUmVjZWlwdEZpbHRlckNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVJlY2VpcHRSdWxlQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVSZWNlaXB0UnVsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVSZWNlaXB0UnVsZUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVJlY2VpcHRSdWxlU2V0Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVSZWNlaXB0UnVsZVNldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVSZWNlaXB0UnVsZVNldENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVRlbXBsYXRlQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVUZW1wbGF0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVUZW1wbGF0ZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUNvbmZpZ3VyYXRpb25TZXRDb21tYW5kLFxuICB0eXBlIERlbGV0ZUNvbmZpZ3VyYXRpb25TZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQ29uZmlndXJhdGlvblNldENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUNvbmZpZ3VyYXRpb25TZXRUcmFja2luZ09wdGlvbnNDb21tYW5kLFxuICB0eXBlIERlbGV0ZUNvbmZpZ3VyYXRpb25TZXRUcmFja2luZ09wdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQ29uZmlndXJhdGlvblNldFRyYWNraW5nT3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsVGVtcGxhdGVDb21tYW5kLFxuICB0eXBlIERlbGV0ZUN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsVGVtcGxhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQ3VzdG9tVmVyaWZpY2F0aW9uRW1haWxUZW1wbGF0ZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUlkZW50aXR5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVJZGVudGl0eUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVJZGVudGl0eUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUlkZW50aXR5UG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVJZGVudGl0eVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVJZGVudGl0eVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVJlY2VpcHRGaWx0ZXJDb21tYW5kLFxuICB0eXBlIERlbGV0ZVJlY2VpcHRGaWx0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlUmVjZWlwdEZpbHRlckNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVJlY2VpcHRSdWxlQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVSZWNlaXB0UnVsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVSZWNlaXB0UnVsZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVJlY2VpcHRSdWxlU2V0Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVSZWNlaXB0UnVsZVNldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVSZWNlaXB0UnVsZVNldENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVRlbXBsYXRlQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVUZW1wbGF0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVUZW1wbGF0ZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVZlcmlmaWVkRW1haWxBZGRyZXNzQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVWZXJpZmllZEVtYWlsQWRkcmVzc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVWZXJpZmllZEVtYWlsQWRkcmVzc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQWN0aXZlUmVjZWlwdFJ1bGVTZXRDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQWN0aXZlUmVjZWlwdFJ1bGVTZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVBY3RpdmVSZWNlaXB0UnVsZVNldENvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQ29uZmlndXJhdGlvblNldENvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVDb25maWd1cmF0aW9uU2V0Q29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQ29uZmlndXJhdGlvblNldENvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlUmVjZWlwdFJ1bGVDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlUmVjZWlwdFJ1bGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVSZWNlaXB0UnVsZUNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlUmVjZWlwdFJ1bGVTZXRDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlUmVjZWlwdFJ1bGVTZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVSZWNlaXB0UnVsZVNldENvbW1hbmRPdXRwdXQsXG4gIEdldEFjY291bnRTZW5kaW5nRW5hYmxlZENvbW1hbmQsXG4gIHR5cGUgR2V0QWNjb3VudFNlbmRpbmdFbmFibGVkQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEFjY291bnRTZW5kaW5nRW5hYmxlZENvbW1hbmRPdXRwdXQsXG4gIEdldEN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsVGVtcGxhdGVDb21tYW5kLFxuICB0eXBlIEdldEN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsVGVtcGxhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0Q3VzdG9tVmVyaWZpY2F0aW9uRW1haWxUZW1wbGF0ZUNvbW1hbmRPdXRwdXQsXG4gIEdldElkZW50aXR5RGtpbUF0dHJpYnV0ZXNDb21tYW5kLFxuICB0eXBlIEdldElkZW50aXR5RGtpbUF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0SWRlbnRpdHlEa2ltQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIEdldElkZW50aXR5TWFpbEZyb21Eb21haW5BdHRyaWJ1dGVzQ29tbWFuZCxcbiAgdHlwZSBHZXRJZGVudGl0eU1haWxGcm9tRG9tYWluQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRJZGVudGl0eU1haWxGcm9tRG9tYWluQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIEdldElkZW50aXR5Tm90aWZpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmQsXG4gIHR5cGUgR2V0SWRlbnRpdHlOb3RpZmljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICB0eXBlIEdldElkZW50aXR5Tm90aWZpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIEdldElkZW50aXR5UG9saWNpZXNDb21tYW5kLFxuICB0eXBlIEdldElkZW50aXR5UG9saWNpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0SWRlbnRpdHlQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gIEdldElkZW50aXR5VmVyaWZpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmQsXG4gIHR5cGUgR2V0SWRlbnRpdHlWZXJpZmljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICB0eXBlIEdldElkZW50aXR5VmVyaWZpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIEdldFNlbmRRdW90YUNvbW1hbmQsXG4gIHR5cGUgR2V0U2VuZFF1b3RhQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFNlbmRRdW90YUNvbW1hbmRPdXRwdXQsXG4gIEdldFNlbmRTdGF0aXN0aWNzQ29tbWFuZCxcbiAgdHlwZSBHZXRTZW5kU3RhdGlzdGljc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRTZW5kU3RhdGlzdGljc0NvbW1hbmRPdXRwdXQsXG4gIEdldFRlbXBsYXRlQ29tbWFuZCxcbiAgdHlwZSBHZXRUZW1wbGF0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRUZW1wbGF0ZUNvbW1hbmRPdXRwdXQsXG4gIExpc3RDb25maWd1cmF0aW9uU2V0c0NvbW1hbmQsXG4gIHR5cGUgTGlzdENvbmZpZ3VyYXRpb25TZXRzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RDb25maWd1cmF0aW9uU2V0c0NvbW1hbmRPdXRwdXQsXG4gIExpc3RDdXN0b21WZXJpZmljYXRpb25FbWFpbFRlbXBsYXRlc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsVGVtcGxhdGVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RDdXN0b21WZXJpZmljYXRpb25FbWFpbFRlbXBsYXRlc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RJZGVudGl0aWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0SWRlbnRpdGllc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0SWRlbnRpdGllc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RJZGVudGl0eVBvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0SWRlbnRpdHlQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0SWRlbnRpdHlQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RSZWNlaXB0RmlsdGVyc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFJlY2VpcHRGaWx0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RSZWNlaXB0RmlsdGVyc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RSZWNlaXB0UnVsZVNldHNDb21tYW5kLFxuICB0eXBlIExpc3RSZWNlaXB0UnVsZVNldHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFJlY2VpcHRSdWxlU2V0c0NvbW1hbmRPdXRwdXQsXG4gIExpc3RUZW1wbGF0ZXNDb21tYW5kLFxuICB0eXBlIExpc3RUZW1wbGF0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFRlbXBsYXRlc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RWZXJpZmllZEVtYWlsQWRkcmVzc2VzQ29tbWFuZCxcbiAgdHlwZSBMaXN0VmVyaWZpZWRFbWFpbEFkZHJlc3Nlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VmVyaWZpZWRFbWFpbEFkZHJlc3Nlc0NvbW1hbmRPdXRwdXQsXG4gIFB1dENvbmZpZ3VyYXRpb25TZXREZWxpdmVyeU9wdGlvbnNDb21tYW5kLFxuICB0eXBlIFB1dENvbmZpZ3VyYXRpb25TZXREZWxpdmVyeU9wdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0Q29uZmlndXJhdGlvblNldERlbGl2ZXJ5T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIFB1dElkZW50aXR5UG9saWN5Q29tbWFuZCxcbiAgdHlwZSBQdXRJZGVudGl0eVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRJZGVudGl0eVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIFJlb3JkZXJSZWNlaXB0UnVsZVNldENvbW1hbmQsXG4gIHR5cGUgUmVvcmRlclJlY2VpcHRSdWxlU2V0Q29tbWFuZElucHV0LFxuICB0eXBlIFJlb3JkZXJSZWNlaXB0UnVsZVNldENvbW1hbmRPdXRwdXQsXG4gIFNlbmRCb3VuY2VDb21tYW5kLFxuICB0eXBlIFNlbmRCb3VuY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2VuZEJvdW5jZUNvbW1hbmRPdXRwdXQsXG4gIFNlbmRCdWxrVGVtcGxhdGVkRW1haWxDb21tYW5kLFxuICB0eXBlIFNlbmRCdWxrVGVtcGxhdGVkRW1haWxDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2VuZEJ1bGtUZW1wbGF0ZWRFbWFpbENvbW1hbmRPdXRwdXQsXG4gIFNlbmRDdXN0b21WZXJpZmljYXRpb25FbWFpbENvbW1hbmQsXG4gIHR5cGUgU2VuZEN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsQ29tbWFuZElucHV0LFxuICB0eXBlIFNlbmRDdXN0b21WZXJpZmljYXRpb25FbWFpbENvbW1hbmRPdXRwdXQsXG4gIFNlbmRFbWFpbENvbW1hbmQsXG4gIHR5cGUgU2VuZEVtYWlsQ29tbWFuZElucHV0LFxuICB0eXBlIFNlbmRFbWFpbENvbW1hbmRPdXRwdXQsXG4gIFNlbmRSYXdFbWFpbENvbW1hbmQsXG4gIHR5cGUgU2VuZFJhd0VtYWlsQ29tbWFuZElucHV0LFxuICB0eXBlIFNlbmRSYXdFbWFpbENvbW1hbmRPdXRwdXQsXG4gIFNlbmRUZW1wbGF0ZWRFbWFpbENvbW1hbmQsXG4gIHR5cGUgU2VuZFRlbXBsYXRlZEVtYWlsQ29tbWFuZElucHV0LFxuICB0eXBlIFNlbmRUZW1wbGF0ZWRFbWFpbENvbW1hbmRPdXRwdXQsXG4gIFNldEFjdGl2ZVJlY2VpcHRSdWxlU2V0Q29tbWFuZCxcbiAgdHlwZSBTZXRBY3RpdmVSZWNlaXB0UnVsZVNldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBTZXRBY3RpdmVSZWNlaXB0UnVsZVNldENvbW1hbmRPdXRwdXQsXG4gIFNldElkZW50aXR5RGtpbUVuYWJsZWRDb21tYW5kLFxuICB0eXBlIFNldElkZW50aXR5RGtpbUVuYWJsZWRDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2V0SWRlbnRpdHlEa2ltRW5hYmxlZENvbW1hbmRPdXRwdXQsXG4gIFNldElkZW50aXR5RmVlZGJhY2tGb3J3YXJkaW5nRW5hYmxlZENvbW1hbmQsXG4gIHR5cGUgU2V0SWRlbnRpdHlGZWVkYmFja0ZvcndhcmRpbmdFbmFibGVkQ29tbWFuZElucHV0LFxuICB0eXBlIFNldElkZW50aXR5RmVlZGJhY2tGb3J3YXJkaW5nRW5hYmxlZENvbW1hbmRPdXRwdXQsXG4gIFNldElkZW50aXR5SGVhZGVyc0luTm90aWZpY2F0aW9uc0VuYWJsZWRDb21tYW5kLFxuICB0eXBlIFNldElkZW50aXR5SGVhZGVyc0luTm90aWZpY2F0aW9uc0VuYWJsZWRDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2V0SWRlbnRpdHlIZWFkZXJzSW5Ob3RpZmljYXRpb25zRW5hYmxlZENvbW1hbmRPdXRwdXQsXG4gIFNldElkZW50aXR5TWFpbEZyb21Eb21haW5Db21tYW5kLFxuICB0eXBlIFNldElkZW50aXR5TWFpbEZyb21Eb21haW5Db21tYW5kSW5wdXQsXG4gIHR5cGUgU2V0SWRlbnRpdHlNYWlsRnJvbURvbWFpbkNvbW1hbmRPdXRwdXQsXG4gIFNldElkZW50aXR5Tm90aWZpY2F0aW9uVG9waWNDb21tYW5kLFxuICB0eXBlIFNldElkZW50aXR5Tm90aWZpY2F0aW9uVG9waWNDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2V0SWRlbnRpdHlOb3RpZmljYXRpb25Ub3BpY0NvbW1hbmRPdXRwdXQsXG4gIFNldFJlY2VpcHRSdWxlUG9zaXRpb25Db21tYW5kLFxuICB0eXBlIFNldFJlY2VpcHRSdWxlUG9zaXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgU2V0UmVjZWlwdFJ1bGVQb3NpdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFRlc3RSZW5kZXJUZW1wbGF0ZUNvbW1hbmQsXG4gIHR5cGUgVGVzdFJlbmRlclRlbXBsYXRlQ29tbWFuZElucHV0LFxuICB0eXBlIFRlc3RSZW5kZXJUZW1wbGF0ZUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZUFjY291bnRTZW5kaW5nRW5hYmxlZENvbW1hbmQsXG4gIHR5cGUgVXBkYXRlQWNjb3VudFNlbmRpbmdFbmFibGVkQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZUFjY291bnRTZW5kaW5nRW5hYmxlZENvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRSZXB1dGF0aW9uTWV0cmljc0VuYWJsZWRDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRSZXB1dGF0aW9uTWV0cmljc0VuYWJsZWRDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlQ29uZmlndXJhdGlvblNldFJlcHV0YXRpb25NZXRyaWNzRW5hYmxlZENvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRTZW5kaW5nRW5hYmxlZENvbW1hbmQsXG4gIHR5cGUgVXBkYXRlQ29uZmlndXJhdGlvblNldFNlbmRpbmdFbmFibGVkQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRTZW5kaW5nRW5hYmxlZENvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRUcmFja2luZ09wdGlvbnNDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRUcmFja2luZ09wdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlQ29uZmlndXJhdGlvblNldFRyYWNraW5nT3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZUN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsVGVtcGxhdGVDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsVGVtcGxhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlQ3VzdG9tVmVyaWZpY2F0aW9uRW1haWxUZW1wbGF0ZUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVJlY2VpcHRSdWxlQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVSZWNlaXB0UnVsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVSZWNlaXB0UnVsZUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVRlbXBsYXRlQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVUZW1wbGF0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVUZW1wbGF0ZUNvbW1hbmRPdXRwdXQsXG4gIFZlcmlmeURvbWFpbkRraW1Db21tYW5kLFxuICB0eXBlIFZlcmlmeURvbWFpbkRraW1Db21tYW5kSW5wdXQsXG4gIHR5cGUgVmVyaWZ5RG9tYWluRGtpbUNvbW1hbmRPdXRwdXQsXG4gIFZlcmlmeURvbWFpbklkZW50aXR5Q29tbWFuZCxcbiAgdHlwZSBWZXJpZnlEb21haW5JZGVudGl0eUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBWZXJpZnlEb21haW5JZGVudGl0eUNvbW1hbmRPdXRwdXQsXG4gIFZlcmlmeUVtYWlsQWRkcmVzc0NvbW1hbmQsXG4gIHR5cGUgVmVyaWZ5RW1haWxBZGRyZXNzQ29tbWFuZElucHV0LFxuICB0eXBlIFZlcmlmeUVtYWlsQWRkcmVzc0NvbW1hbmRPdXRwdXQsXG4gIFZlcmlmeUVtYWlsSWRlbnRpdHlDb21tYW5kLFxuICB0eXBlIFZlcmlmeUVtYWlsSWRlbnRpdHlDb21tYW5kSW5wdXQsXG4gIHR5cGUgVmVyaWZ5RW1haWxJZGVudGl0eUNvbW1hbmRPdXRwdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc2VzXCI7XG5pbXBvcnQgeyBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBBbGxTZXJ2aWNlRXJyb3JzLFxuICBBY2NvdW50U2VuZGluZ1BhdXNlZEVycm9yLFxuICBBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIENhbm5vdERlbGV0ZUVycm9yLFxuICBDb25maWd1cmF0aW9uU2V0QWxyZWFkeUV4aXN0c0Vycm9yLFxuICBDb25maWd1cmF0aW9uU2V0RG9lc05vdEV4aXN0RXJyb3IsXG4gIENvbmZpZ3VyYXRpb25TZXRTZW5kaW5nUGF1c2VkRXJyb3IsXG4gIEN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsSW52YWxpZENvbnRlbnRFcnJvcixcbiAgQ3VzdG9tVmVyaWZpY2F0aW9uRW1haWxUZW1wbGF0ZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgQ3VzdG9tVmVyaWZpY2F0aW9uRW1haWxUZW1wbGF0ZURvZXNOb3RFeGlzdEVycm9yLFxuICBFdmVudERlc3RpbmF0aW9uQWxyZWFkeUV4aXN0c0Vycm9yLFxuICBFdmVudERlc3RpbmF0aW9uRG9lc05vdEV4aXN0RXJyb3IsXG4gIEZyb21FbWFpbEFkZHJlc3NOb3RWZXJpZmllZEVycm9yLFxuICBJbnZhbGlkQ2xvdWRXYXRjaERlc3RpbmF0aW9uRXJyb3IsXG4gIEludmFsaWRDb25maWd1cmF0aW9uU2V0RXJyb3IsXG4gIEludmFsaWREZWxpdmVyeU9wdGlvbnNFcnJvcixcbiAgSW52YWxpZEZpcmVob3NlRGVzdGluYXRpb25FcnJvcixcbiAgSW52YWxpZExhbWJkYUZ1bmN0aW9uRXJyb3IsXG4gIEludmFsaWRQb2xpY3lFcnJvcixcbiAgSW52YWxpZFJlbmRlcmluZ1BhcmFtZXRlckVycm9yLFxuICBJbnZhbGlkUzNDb25maWd1cmF0aW9uRXJyb3IsXG4gIEludmFsaWRTTlNEZXN0aW5hdGlvbkVycm9yLFxuICBJbnZhbGlkU25zVG9waWNFcnJvcixcbiAgSW52YWxpZFRlbXBsYXRlRXJyb3IsXG4gIEludmFsaWRUcmFja2luZ09wdGlvbnNFcnJvcixcbiAgTGltaXRFeGNlZWRlZEVycm9yLFxuICBNYWlsRnJvbURvbWFpbk5vdFZlcmlmaWVkRXJyb3IsXG4gIE1lc3NhZ2VSZWplY3RlZEVycm9yLFxuICBNaXNzaW5nUmVuZGVyaW5nQXR0cmlidXRlRXJyb3IsXG4gIFByb2R1Y3Rpb25BY2Nlc3NOb3RHcmFudGVkRXJyb3IsXG4gIFJ1bGVEb2VzTm90RXhpc3RFcnJvcixcbiAgUnVsZVNldERvZXNOb3RFeGlzdEVycm9yLFxuICBUZW1wbGF0ZURvZXNOb3RFeGlzdEVycm9yLFxuICBUcmFja2luZ09wdGlvbnNBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIFRyYWNraW5nT3B0aW9uc0RvZXNOb3RFeGlzdEVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcbmltcG9ydCB7IFNFU0NsaWVudEluc3RhbmNlLCBTRVNDbGllbnRJbnN0YW5jZUxheWVyIH0gZnJvbSBcIi4vU0VTQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRTRVNDbGllbnRDb25maWdMYXllcixcbiAgbWFrZURlZmF1bHRTRVNDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgU0VTQ2xpZW50SW5zdGFuY2VDb25maWcsXG59IGZyb20gXCIuL1NFU0NsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEhhbmRsZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGNvbm5lY3Rpb24gcGhhc2Ugb2YgYSByZXF1ZXN0XG4gICAqIG1heSB0YWtlIGJlZm9yZSB0aGUgY29ubmVjdGlvbiBhdHRlbXB0IGlzIGFiYW5kb25lZC5cbiAgICovXG4gIHJlcXVlc3RUaW1lb3V0PzogbnVtYmVyO1xufVxuXG5jb25zdCBjb21tYW5kcyA9IHtcbiAgQ2xvbmVSZWNlaXB0UnVsZVNldENvbW1hbmQsXG4gIENyZWF0ZUNvbmZpZ3VyYXRpb25TZXRDb21tYW5kLFxuICBDcmVhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbkNvbW1hbmQsXG4gIENyZWF0ZUNvbmZpZ3VyYXRpb25TZXRUcmFja2luZ09wdGlvbnNDb21tYW5kLFxuICBDcmVhdGVDdXN0b21WZXJpZmljYXRpb25FbWFpbFRlbXBsYXRlQ29tbWFuZCxcbiAgQ3JlYXRlUmVjZWlwdEZpbHRlckNvbW1hbmQsXG4gIENyZWF0ZVJlY2VpcHRSdWxlQ29tbWFuZCxcbiAgQ3JlYXRlUmVjZWlwdFJ1bGVTZXRDb21tYW5kLFxuICBDcmVhdGVUZW1wbGF0ZUNvbW1hbmQsXG4gIERlbGV0ZUNvbmZpZ3VyYXRpb25TZXRDb21tYW5kLFxuICBEZWxldGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUNvbmZpZ3VyYXRpb25TZXRUcmFja2luZ09wdGlvbnNDb21tYW5kLFxuICBEZWxldGVDdXN0b21WZXJpZmljYXRpb25FbWFpbFRlbXBsYXRlQ29tbWFuZCxcbiAgRGVsZXRlSWRlbnRpdHlDb21tYW5kLFxuICBEZWxldGVJZGVudGl0eVBvbGljeUNvbW1hbmQsXG4gIERlbGV0ZVJlY2VpcHRGaWx0ZXJDb21tYW5kLFxuICBEZWxldGVSZWNlaXB0UnVsZUNvbW1hbmQsXG4gIERlbGV0ZVJlY2VpcHRSdWxlU2V0Q29tbWFuZCxcbiAgRGVsZXRlVGVtcGxhdGVDb21tYW5kLFxuICBEZWxldGVWZXJpZmllZEVtYWlsQWRkcmVzc0NvbW1hbmQsXG4gIERlc2NyaWJlQWN0aXZlUmVjZWlwdFJ1bGVTZXRDb21tYW5kLFxuICBEZXNjcmliZUNvbmZpZ3VyYXRpb25TZXRDb21tYW5kLFxuICBEZXNjcmliZVJlY2VpcHRSdWxlQ29tbWFuZCxcbiAgRGVzY3JpYmVSZWNlaXB0UnVsZVNldENvbW1hbmQsXG4gIEdldEFjY291bnRTZW5kaW5nRW5hYmxlZENvbW1hbmQsXG4gIEdldEN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsVGVtcGxhdGVDb21tYW5kLFxuICBHZXRJZGVudGl0eURraW1BdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0SWRlbnRpdHlNYWlsRnJvbURvbWFpbkF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRJZGVudGl0eU5vdGlmaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRJZGVudGl0eVBvbGljaWVzQ29tbWFuZCxcbiAgR2V0SWRlbnRpdHlWZXJpZmljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0U2VuZFF1b3RhQ29tbWFuZCxcbiAgR2V0U2VuZFN0YXRpc3RpY3NDb21tYW5kLFxuICBHZXRUZW1wbGF0ZUNvbW1hbmQsXG4gIExpc3RDb25maWd1cmF0aW9uU2V0c0NvbW1hbmQsXG4gIExpc3RDdXN0b21WZXJpZmljYXRpb25FbWFpbFRlbXBsYXRlc0NvbW1hbmQsXG4gIExpc3RJZGVudGl0aWVzQ29tbWFuZCxcbiAgTGlzdElkZW50aXR5UG9saWNpZXNDb21tYW5kLFxuICBMaXN0UmVjZWlwdEZpbHRlcnNDb21tYW5kLFxuICBMaXN0UmVjZWlwdFJ1bGVTZXRzQ29tbWFuZCxcbiAgTGlzdFRlbXBsYXRlc0NvbW1hbmQsXG4gIExpc3RWZXJpZmllZEVtYWlsQWRkcmVzc2VzQ29tbWFuZCxcbiAgUHV0Q29uZmlndXJhdGlvblNldERlbGl2ZXJ5T3B0aW9uc0NvbW1hbmQsXG4gIFB1dElkZW50aXR5UG9saWN5Q29tbWFuZCxcbiAgUmVvcmRlclJlY2VpcHRSdWxlU2V0Q29tbWFuZCxcbiAgU2VuZEJvdW5jZUNvbW1hbmQsXG4gIFNlbmRCdWxrVGVtcGxhdGVkRW1haWxDb21tYW5kLFxuICBTZW5kQ3VzdG9tVmVyaWZpY2F0aW9uRW1haWxDb21tYW5kLFxuICBTZW5kRW1haWxDb21tYW5kLFxuICBTZW5kUmF3RW1haWxDb21tYW5kLFxuICBTZW5kVGVtcGxhdGVkRW1haWxDb21tYW5kLFxuICBTZXRBY3RpdmVSZWNlaXB0UnVsZVNldENvbW1hbmQsXG4gIFNldElkZW50aXR5RGtpbUVuYWJsZWRDb21tYW5kLFxuICBTZXRJZGVudGl0eUZlZWRiYWNrRm9yd2FyZGluZ0VuYWJsZWRDb21tYW5kLFxuICBTZXRJZGVudGl0eUhlYWRlcnNJbk5vdGlmaWNhdGlvbnNFbmFibGVkQ29tbWFuZCxcbiAgU2V0SWRlbnRpdHlNYWlsRnJvbURvbWFpbkNvbW1hbmQsXG4gIFNldElkZW50aXR5Tm90aWZpY2F0aW9uVG9waWNDb21tYW5kLFxuICBTZXRSZWNlaXB0UnVsZVBvc2l0aW9uQ29tbWFuZCxcbiAgVGVzdFJlbmRlclRlbXBsYXRlQ29tbWFuZCxcbiAgVXBkYXRlQWNjb3VudFNlbmRpbmdFbmFibGVkQ29tbWFuZCxcbiAgVXBkYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25Db21tYW5kLFxuICBVcGRhdGVDb25maWd1cmF0aW9uU2V0UmVwdXRhdGlvbk1ldHJpY3NFbmFibGVkQ29tbWFuZCxcbiAgVXBkYXRlQ29uZmlndXJhdGlvblNldFNlbmRpbmdFbmFibGVkQ29tbWFuZCxcbiAgVXBkYXRlQ29uZmlndXJhdGlvblNldFRyYWNraW5nT3B0aW9uc0NvbW1hbmQsXG4gIFVwZGF0ZUN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsVGVtcGxhdGVDb21tYW5kLFxuICBVcGRhdGVSZWNlaXB0UnVsZUNvbW1hbmQsXG4gIFVwZGF0ZVRlbXBsYXRlQ29tbWFuZCxcbiAgVmVyaWZ5RG9tYWluRGtpbUNvbW1hbmQsXG4gIFZlcmlmeURvbWFpbklkZW50aXR5Q29tbWFuZCxcbiAgVmVyaWZ5RW1haWxBZGRyZXNzQ29tbWFuZCxcbiAgVmVyaWZ5RW1haWxJZGVudGl0eUNvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgU0VTU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDbG9uZVJlY2VpcHRSdWxlU2V0Q29tbWFuZH1cbiAgICovXG4gIGNsb25lUmVjZWlwdFJ1bGVTZXQoXG4gICAgYXJnczogQ2xvbmVSZWNlaXB0UnVsZVNldENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENsb25lUmVjZWlwdFJ1bGVTZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSdWxlU2V0RG9lc05vdEV4aXN0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQ29uZmlndXJhdGlvblNldENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVDb25maWd1cmF0aW9uU2V0KFxuICAgIGFyZ3M6IENyZWF0ZUNvbmZpZ3VyYXRpb25TZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVDb25maWd1cmF0aW9uU2V0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25maWd1cmF0aW9uU2V0QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBJbnZhbGlkQ29uZmlndXJhdGlvblNldEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25Db21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb24oXG4gICAgYXJnczogQ3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmlndXJhdGlvblNldERvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBFdmVudERlc3RpbmF0aW9uQWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBJbnZhbGlkQ2xvdWRXYXRjaERlc3RpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRGaXJlaG9zZURlc3RpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRTTlNEZXN0aW5hdGlvbkVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQ29uZmlndXJhdGlvblNldFRyYWNraW5nT3B0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVDb25maWd1cmF0aW9uU2V0VHJhY2tpbmdPcHRpb25zKFxuICAgIGFyZ3M6IENyZWF0ZUNvbmZpZ3VyYXRpb25TZXRUcmFja2luZ09wdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVDb25maWd1cmF0aW9uU2V0VHJhY2tpbmdPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25maWd1cmF0aW9uU2V0RG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IEludmFsaWRUcmFja2luZ09wdGlvbnNFcnJvclxuICAgIHwgVHJhY2tpbmdPcHRpb25zQWxyZWFkeUV4aXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsVGVtcGxhdGVDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQ3VzdG9tVmVyaWZpY2F0aW9uRW1haWxUZW1wbGF0ZShcbiAgICBhcmdzOiBDcmVhdGVDdXN0b21WZXJpZmljYXRpb25FbWFpbFRlbXBsYXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQ3VzdG9tVmVyaWZpY2F0aW9uRW1haWxUZW1wbGF0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ3VzdG9tVmVyaWZpY2F0aW9uRW1haWxJbnZhbGlkQ29udGVudEVycm9yXG4gICAgfCBDdXN0b21WZXJpZmljYXRpb25FbWFpbFRlbXBsYXRlQWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBGcm9tRW1haWxBZGRyZXNzTm90VmVyaWZpZWRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVJlY2VpcHRGaWx0ZXJDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlUmVjZWlwdEZpbHRlcihcbiAgICBhcmdzOiBDcmVhdGVSZWNlaXB0RmlsdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlUmVjZWlwdEZpbHRlckNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBBbHJlYWR5RXhpc3RzRXJyb3IgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlUmVjZWlwdFJ1bGVDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlUmVjZWlwdFJ1bGUoXG4gICAgYXJnczogQ3JlYXRlUmVjZWlwdFJ1bGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVSZWNlaXB0UnVsZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBJbnZhbGlkTGFtYmRhRnVuY3Rpb25FcnJvclxuICAgIHwgSW52YWxpZFMzQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkU25zVG9waWNFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSdWxlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJ1bGVTZXREb2VzTm90RXhpc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVSZWNlaXB0UnVsZVNldENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVSZWNlaXB0UnVsZVNldChcbiAgICBhcmdzOiBDcmVhdGVSZWNlaXB0UnVsZVNldENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVJlY2VpcHRSdWxlU2V0Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEFscmVhZHlFeGlzdHNFcnJvciB8IExpbWl0RXhjZWVkZWRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVUZW1wbGF0ZUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVUZW1wbGF0ZShcbiAgICBhcmdzOiBDcmVhdGVUZW1wbGF0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVRlbXBsYXRlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEFscmVhZHlFeGlzdHNFcnJvciB8IEludmFsaWRUZW1wbGF0ZUVycm9yIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUNvbmZpZ3VyYXRpb25TZXRDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQ29uZmlndXJhdGlvblNldChcbiAgICBhcmdzOiBEZWxldGVDb25maWd1cmF0aW9uU2V0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQ29uZmlndXJhdGlvblNldENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBDb25maWd1cmF0aW9uU2V0RG9lc05vdEV4aXN0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb24oXG4gICAgYXJnczogRGVsZXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmlndXJhdGlvblNldERvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBFdmVudERlc3RpbmF0aW9uRG9lc05vdEV4aXN0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQ29uZmlndXJhdGlvblNldFRyYWNraW5nT3B0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBkZWxldGVDb25maWd1cmF0aW9uU2V0VHJhY2tpbmdPcHRpb25zKFxuICAgIGFyZ3M6IERlbGV0ZUNvbmZpZ3VyYXRpb25TZXRUcmFja2luZ09wdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVDb25maWd1cmF0aW9uU2V0VHJhY2tpbmdPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25maWd1cmF0aW9uU2V0RG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFRyYWNraW5nT3B0aW9uc0RvZXNOb3RFeGlzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsVGVtcGxhdGVDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQ3VzdG9tVmVyaWZpY2F0aW9uRW1haWxUZW1wbGF0ZShcbiAgICBhcmdzOiBEZWxldGVDdXN0b21WZXJpZmljYXRpb25FbWFpbFRlbXBsYXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQ3VzdG9tVmVyaWZpY2F0aW9uRW1haWxUZW1wbGF0ZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlSWRlbnRpdHlDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlSWRlbnRpdHkoXG4gICAgYXJnczogRGVsZXRlSWRlbnRpdHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZWxldGVJZGVudGl0eUNvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlSWRlbnRpdHlQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlSWRlbnRpdHlQb2xpY3koXG4gICAgYXJnczogRGVsZXRlSWRlbnRpdHlQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZWxldGVJZGVudGl0eVBvbGljeUNvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUmVjZWlwdEZpbHRlckNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVSZWNlaXB0RmlsdGVyKFxuICAgIGFyZ3M6IERlbGV0ZVJlY2VpcHRGaWx0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZWxldGVSZWNlaXB0RmlsdGVyQ29tbWFuZE91dHB1dCwgU2RrRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVSZWNlaXB0UnVsZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVSZWNlaXB0UnVsZShcbiAgICBhcmdzOiBEZWxldGVSZWNlaXB0UnVsZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVJlY2VpcHRSdWxlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFJ1bGVTZXREb2VzTm90RXhpc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVSZWNlaXB0UnVsZVNldENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVSZWNlaXB0UnVsZVNldChcbiAgICBhcmdzOiBEZWxldGVSZWNlaXB0UnVsZVNldENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVJlY2VpcHRSdWxlU2V0Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IENhbm5vdERlbGV0ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVRlbXBsYXRlQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVRlbXBsYXRlKFxuICAgIGFyZ3M6IERlbGV0ZVRlbXBsYXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVsZXRlVGVtcGxhdGVDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVZlcmlmaWVkRW1haWxBZGRyZXNzQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVZlcmlmaWVkRW1haWxBZGRyZXNzKFxuICAgIGFyZ3M6IERlbGV0ZVZlcmlmaWVkRW1haWxBZGRyZXNzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVsZXRlVmVyaWZpZWRFbWFpbEFkZHJlc3NDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQWN0aXZlUmVjZWlwdFJ1bGVTZXRDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVBY3RpdmVSZWNlaXB0UnVsZVNldChcbiAgICBhcmdzOiBEZXNjcmliZUFjdGl2ZVJlY2VpcHRSdWxlU2V0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVzY3JpYmVBY3RpdmVSZWNlaXB0UnVsZVNldENvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVDb25maWd1cmF0aW9uU2V0Q29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlQ29uZmlndXJhdGlvblNldChcbiAgICBhcmdzOiBEZXNjcmliZUNvbmZpZ3VyYXRpb25TZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUNvbmZpZ3VyYXRpb25TZXRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQ29uZmlndXJhdGlvblNldERvZXNOb3RFeGlzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUmVjZWlwdFJ1bGVDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVSZWNlaXB0UnVsZShcbiAgICBhcmdzOiBEZXNjcmliZVJlY2VpcHRSdWxlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVSZWNlaXB0UnVsZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBSdWxlRG9lc05vdEV4aXN0RXJyb3IgfCBSdWxlU2V0RG9lc05vdEV4aXN0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVSZWNlaXB0UnVsZVNldENvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVJlY2VpcHRSdWxlU2V0KFxuICAgIGFyZ3M6IERlc2NyaWJlUmVjZWlwdFJ1bGVTZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVJlY2VpcHRSdWxlU2V0Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFJ1bGVTZXREb2VzTm90RXhpc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRBY2NvdW50U2VuZGluZ0VuYWJsZWRDb21tYW5kfVxuICAgKi9cbiAgZ2V0QWNjb3VudFNlbmRpbmdFbmFibGVkKFxuICAgIGFyZ3M6IEdldEFjY291bnRTZW5kaW5nRW5hYmxlZENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEdldEFjY291bnRTZW5kaW5nRW5hYmxlZENvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0Q3VzdG9tVmVyaWZpY2F0aW9uRW1haWxUZW1wbGF0ZUNvbW1hbmR9XG4gICAqL1xuICBnZXRDdXN0b21WZXJpZmljYXRpb25FbWFpbFRlbXBsYXRlKFxuICAgIGFyZ3M6IEdldEN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsVGVtcGxhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRDdXN0b21WZXJpZmljYXRpb25FbWFpbFRlbXBsYXRlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsVGVtcGxhdGVEb2VzTm90RXhpc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRJZGVudGl0eURraW1BdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIGdldElkZW50aXR5RGtpbUF0dHJpYnV0ZXMoXG4gICAgYXJnczogR2V0SWRlbnRpdHlEa2ltQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEdldElkZW50aXR5RGtpbUF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldElkZW50aXR5TWFpbEZyb21Eb21haW5BdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIGdldElkZW50aXR5TWFpbEZyb21Eb21haW5BdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IEdldElkZW50aXR5TWFpbEZyb21Eb21haW5BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8R2V0SWRlbnRpdHlNYWlsRnJvbURvbWFpbkF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldElkZW50aXR5Tm90aWZpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBnZXRJZGVudGl0eU5vdGlmaWNhdGlvbkF0dHJpYnV0ZXMoXG4gICAgYXJnczogR2V0SWRlbnRpdHlOb3RpZmljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8R2V0SWRlbnRpdHlOb3RpZmljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRJZGVudGl0eVBvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGdldElkZW50aXR5UG9saWNpZXMoXG4gICAgYXJnczogR2V0SWRlbnRpdHlQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEdldElkZW50aXR5UG9saWNpZXNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldElkZW50aXR5VmVyaWZpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBnZXRJZGVudGl0eVZlcmlmaWNhdGlvbkF0dHJpYnV0ZXMoXG4gICAgYXJnczogR2V0SWRlbnRpdHlWZXJpZmljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8R2V0SWRlbnRpdHlWZXJpZmljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTZW5kUXVvdGFDb21tYW5kfVxuICAgKi9cbiAgZ2V0U2VuZFF1b3RhKFxuICAgIGFyZ3M6IEdldFNlbmRRdW90YUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEdldFNlbmRRdW90YUNvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0U2VuZFN0YXRpc3RpY3NDb21tYW5kfVxuICAgKi9cbiAgZ2V0U2VuZFN0YXRpc3RpY3MoXG4gICAgYXJnczogR2V0U2VuZFN0YXRpc3RpY3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxHZXRTZW5kU3RhdGlzdGljc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0VGVtcGxhdGVDb21tYW5kfVxuICAgKi9cbiAgZ2V0VGVtcGxhdGUoXG4gICAgYXJnczogR2V0VGVtcGxhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRUZW1wbGF0ZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBUZW1wbGF0ZURvZXNOb3RFeGlzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RDb25maWd1cmF0aW9uU2V0c0NvbW1hbmR9XG4gICAqL1xuICBsaXN0Q29uZmlndXJhdGlvblNldHMoXG4gICAgYXJnczogTGlzdENvbmZpZ3VyYXRpb25TZXRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8TGlzdENvbmZpZ3VyYXRpb25TZXRzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0Q3VzdG9tVmVyaWZpY2F0aW9uRW1haWxUZW1wbGF0ZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsVGVtcGxhdGVzKFxuICAgIGFyZ3M6IExpc3RDdXN0b21WZXJpZmljYXRpb25FbWFpbFRlbXBsYXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PExpc3RDdXN0b21WZXJpZmljYXRpb25FbWFpbFRlbXBsYXRlc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdElkZW50aXRpZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdElkZW50aXRpZXMoXG4gICAgYXJnczogTGlzdElkZW50aXRpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0SWRlbnRpdGllc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdElkZW50aXR5UG9saWNpZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdElkZW50aXR5UG9saWNpZXMoXG4gICAgYXJnczogTGlzdElkZW50aXR5UG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0SWRlbnRpdHlQb2xpY2llc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFJlY2VpcHRGaWx0ZXJzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RSZWNlaXB0RmlsdGVycyhcbiAgICBhcmdzOiBMaXN0UmVjZWlwdEZpbHRlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0UmVjZWlwdEZpbHRlcnNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RSZWNlaXB0UnVsZVNldHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFJlY2VpcHRSdWxlU2V0cyhcbiAgICBhcmdzOiBMaXN0UmVjZWlwdFJ1bGVTZXRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8TGlzdFJlY2VpcHRSdWxlU2V0c0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFRlbXBsYXRlc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0VGVtcGxhdGVzKFxuICAgIGFyZ3M6IExpc3RUZW1wbGF0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0VGVtcGxhdGVzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VmVyaWZpZWRFbWFpbEFkZHJlc3Nlc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0VmVyaWZpZWRFbWFpbEFkZHJlc3NlcyhcbiAgICBhcmdzOiBMaXN0VmVyaWZpZWRFbWFpbEFkZHJlc3Nlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PExpc3RWZXJpZmllZEVtYWlsQWRkcmVzc2VzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRDb25maWd1cmF0aW9uU2V0RGVsaXZlcnlPcHRpb25zQ29tbWFuZH1cbiAgICovXG4gIHB1dENvbmZpZ3VyYXRpb25TZXREZWxpdmVyeU9wdGlvbnMoXG4gICAgYXJnczogUHV0Q29uZmlndXJhdGlvblNldERlbGl2ZXJ5T3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dENvbmZpZ3VyYXRpb25TZXREZWxpdmVyeU9wdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQ29uZmlndXJhdGlvblNldERvZXNOb3RFeGlzdEVycm9yIHwgSW52YWxpZERlbGl2ZXJ5T3B0aW9uc0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dElkZW50aXR5UG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHB1dElkZW50aXR5UG9saWN5KFxuICAgIGFyZ3M6IFB1dElkZW50aXR5UG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0SWRlbnRpdHlQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFBvbGljeUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlb3JkZXJSZWNlaXB0UnVsZVNldENvbW1hbmR9XG4gICAqL1xuICByZW9yZGVyUmVjZWlwdFJ1bGVTZXQoXG4gICAgYXJnczogUmVvcmRlclJlY2VpcHRSdWxlU2V0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVvcmRlclJlY2VpcHRSdWxlU2V0Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFJ1bGVEb2VzTm90RXhpc3RFcnJvciB8IFJ1bGVTZXREb2VzTm90RXhpc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZW5kQm91bmNlQ29tbWFuZH1cbiAgICovXG4gIHNlbmRCb3VuY2UoXG4gICAgYXJnczogU2VuZEJvdW5jZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFNlbmRCb3VuY2VDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IE1lc3NhZ2VSZWplY3RlZEVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2VuZEJ1bGtUZW1wbGF0ZWRFbWFpbENvbW1hbmR9XG4gICAqL1xuICBzZW5kQnVsa1RlbXBsYXRlZEVtYWlsKFxuICAgIGFyZ3M6IFNlbmRCdWxrVGVtcGxhdGVkRW1haWxDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZW5kQnVsa1RlbXBsYXRlZEVtYWlsQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2NvdW50U2VuZGluZ1BhdXNlZEVycm9yXG4gICAgfCBDb25maWd1cmF0aW9uU2V0RG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IENvbmZpZ3VyYXRpb25TZXRTZW5kaW5nUGF1c2VkRXJyb3JcbiAgICB8IE1haWxGcm9tRG9tYWluTm90VmVyaWZpZWRFcnJvclxuICAgIHwgTWVzc2FnZVJlamVjdGVkRXJyb3JcbiAgICB8IFRlbXBsYXRlRG9lc05vdEV4aXN0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2VuZEN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsQ29tbWFuZH1cbiAgICovXG4gIHNlbmRDdXN0b21WZXJpZmljYXRpb25FbWFpbChcbiAgICBhcmdzOiBTZW5kQ3VzdG9tVmVyaWZpY2F0aW9uRW1haWxDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZW5kQ3VzdG9tVmVyaWZpY2F0aW9uRW1haWxDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZpZ3VyYXRpb25TZXREb2VzTm90RXhpc3RFcnJvclxuICAgIHwgQ3VzdG9tVmVyaWZpY2F0aW9uRW1haWxUZW1wbGF0ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBGcm9tRW1haWxBZGRyZXNzTm90VmVyaWZpZWRFcnJvclxuICAgIHwgTWVzc2FnZVJlamVjdGVkRXJyb3JcbiAgICB8IFByb2R1Y3Rpb25BY2Nlc3NOb3RHcmFudGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2VuZEVtYWlsQ29tbWFuZH1cbiAgICovXG4gIHNlbmRFbWFpbChcbiAgICBhcmdzOiBTZW5kRW1haWxDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZW5kRW1haWxDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY291bnRTZW5kaW5nUGF1c2VkRXJyb3JcbiAgICB8IENvbmZpZ3VyYXRpb25TZXREb2VzTm90RXhpc3RFcnJvclxuICAgIHwgQ29uZmlndXJhdGlvblNldFNlbmRpbmdQYXVzZWRFcnJvclxuICAgIHwgTWFpbEZyb21Eb21haW5Ob3RWZXJpZmllZEVycm9yXG4gICAgfCBNZXNzYWdlUmVqZWN0ZWRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZW5kUmF3RW1haWxDb21tYW5kfVxuICAgKi9cbiAgc2VuZFJhd0VtYWlsKFxuICAgIGFyZ3M6IFNlbmRSYXdFbWFpbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNlbmRSYXdFbWFpbENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjb3VudFNlbmRpbmdQYXVzZWRFcnJvclxuICAgIHwgQ29uZmlndXJhdGlvblNldERvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBDb25maWd1cmF0aW9uU2V0U2VuZGluZ1BhdXNlZEVycm9yXG4gICAgfCBNYWlsRnJvbURvbWFpbk5vdFZlcmlmaWVkRXJyb3JcbiAgICB8IE1lc3NhZ2VSZWplY3RlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNlbmRUZW1wbGF0ZWRFbWFpbENvbW1hbmR9XG4gICAqL1xuICBzZW5kVGVtcGxhdGVkRW1haWwoXG4gICAgYXJnczogU2VuZFRlbXBsYXRlZEVtYWlsQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU2VuZFRlbXBsYXRlZEVtYWlsQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2NvdW50U2VuZGluZ1BhdXNlZEVycm9yXG4gICAgfCBDb25maWd1cmF0aW9uU2V0RG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IENvbmZpZ3VyYXRpb25TZXRTZW5kaW5nUGF1c2VkRXJyb3JcbiAgICB8IE1haWxGcm9tRG9tYWluTm90VmVyaWZpZWRFcnJvclxuICAgIHwgTWVzc2FnZVJlamVjdGVkRXJyb3JcbiAgICB8IFRlbXBsYXRlRG9lc05vdEV4aXN0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2V0QWN0aXZlUmVjZWlwdFJ1bGVTZXRDb21tYW5kfVxuICAgKi9cbiAgc2V0QWN0aXZlUmVjZWlwdFJ1bGVTZXQoXG4gICAgYXJnczogU2V0QWN0aXZlUmVjZWlwdFJ1bGVTZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZXRBY3RpdmVSZWNlaXB0UnVsZVNldENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBSdWxlU2V0RG9lc05vdEV4aXN0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2V0SWRlbnRpdHlEa2ltRW5hYmxlZENvbW1hbmR9XG4gICAqL1xuICBzZXRJZGVudGl0eURraW1FbmFibGVkKFxuICAgIGFyZ3M6IFNldElkZW50aXR5RGtpbUVuYWJsZWRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxTZXRJZGVudGl0eURraW1FbmFibGVkQ29tbWFuZE91dHB1dCwgU2RrRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXRJZGVudGl0eUZlZWRiYWNrRm9yd2FyZGluZ0VuYWJsZWRDb21tYW5kfVxuICAgKi9cbiAgc2V0SWRlbnRpdHlGZWVkYmFja0ZvcndhcmRpbmdFbmFibGVkKFxuICAgIGFyZ3M6IFNldElkZW50aXR5RmVlZGJhY2tGb3J3YXJkaW5nRW5hYmxlZENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFNldElkZW50aXR5RmVlZGJhY2tGb3J3YXJkaW5nRW5hYmxlZENvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2V0SWRlbnRpdHlIZWFkZXJzSW5Ob3RpZmljYXRpb25zRW5hYmxlZENvbW1hbmR9XG4gICAqL1xuICBzZXRJZGVudGl0eUhlYWRlcnNJbk5vdGlmaWNhdGlvbnNFbmFibGVkKFxuICAgIGFyZ3M6IFNldElkZW50aXR5SGVhZGVyc0luTm90aWZpY2F0aW9uc0VuYWJsZWRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZXRJZGVudGl0eUhlYWRlcnNJbk5vdGlmaWNhdGlvbnNFbmFibGVkQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXRJZGVudGl0eU1haWxGcm9tRG9tYWluQ29tbWFuZH1cbiAgICovXG4gIHNldElkZW50aXR5TWFpbEZyb21Eb21haW4oXG4gICAgYXJnczogU2V0SWRlbnRpdHlNYWlsRnJvbURvbWFpbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFNldElkZW50aXR5TWFpbEZyb21Eb21haW5Db21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNldElkZW50aXR5Tm90aWZpY2F0aW9uVG9waWNDb21tYW5kfVxuICAgKi9cbiAgc2V0SWRlbnRpdHlOb3RpZmljYXRpb25Ub3BpYyhcbiAgICBhcmdzOiBTZXRJZGVudGl0eU5vdGlmaWNhdGlvblRvcGljQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8U2V0SWRlbnRpdHlOb3RpZmljYXRpb25Ub3BpY0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2V0UmVjZWlwdFJ1bGVQb3NpdGlvbkNvbW1hbmR9XG4gICAqL1xuICBzZXRSZWNlaXB0UnVsZVBvc2l0aW9uKFxuICAgIGFyZ3M6IFNldFJlY2VpcHRSdWxlUG9zaXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZXRSZWNlaXB0UnVsZVBvc2l0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFJ1bGVEb2VzTm90RXhpc3RFcnJvciB8IFJ1bGVTZXREb2VzTm90RXhpc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUZXN0UmVuZGVyVGVtcGxhdGVDb21tYW5kfVxuICAgKi9cbiAgdGVzdFJlbmRlclRlbXBsYXRlKFxuICAgIGFyZ3M6IFRlc3RSZW5kZXJUZW1wbGF0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRlc3RSZW5kZXJUZW1wbGF0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFJlbmRlcmluZ1BhcmFtZXRlckVycm9yXG4gICAgfCBNaXNzaW5nUmVuZGVyaW5nQXR0cmlidXRlRXJyb3JcbiAgICB8IFRlbXBsYXRlRG9lc05vdEV4aXN0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlQWNjb3VudFNlbmRpbmdFbmFibGVkQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZUFjY291bnRTZW5kaW5nRW5hYmxlZChcbiAgICBhcmdzOiBVcGRhdGVBY2NvdW50U2VuZGluZ0VuYWJsZWRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxVcGRhdGVBY2NvdW50U2VuZGluZ0VuYWJsZWRDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uKFxuICAgIGFyZ3M6IFVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZpZ3VyYXRpb25TZXREb2VzTm90RXhpc3RFcnJvclxuICAgIHwgRXZlbnREZXN0aW5hdGlvbkRvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBJbnZhbGlkQ2xvdWRXYXRjaERlc3RpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRGaXJlaG9zZURlc3RpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRTTlNEZXN0aW5hdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRSZXB1dGF0aW9uTWV0cmljc0VuYWJsZWRDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlQ29uZmlndXJhdGlvblNldFJlcHV0YXRpb25NZXRyaWNzRW5hYmxlZChcbiAgICBhcmdzOiBVcGRhdGVDb25maWd1cmF0aW9uU2V0UmVwdXRhdGlvbk1ldHJpY3NFbmFibGVkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlQ29uZmlndXJhdGlvblNldFJlcHV0YXRpb25NZXRyaWNzRW5hYmxlZENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBDb25maWd1cmF0aW9uU2V0RG9lc05vdEV4aXN0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlQ29uZmlndXJhdGlvblNldFNlbmRpbmdFbmFibGVkQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRTZW5kaW5nRW5hYmxlZChcbiAgICBhcmdzOiBVcGRhdGVDb25maWd1cmF0aW9uU2V0U2VuZGluZ0VuYWJsZWRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVDb25maWd1cmF0aW9uU2V0U2VuZGluZ0VuYWJsZWRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQ29uZmlndXJhdGlvblNldERvZXNOb3RFeGlzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRUcmFja2luZ09wdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlQ29uZmlndXJhdGlvblNldFRyYWNraW5nT3B0aW9ucyhcbiAgICBhcmdzOiBVcGRhdGVDb25maWd1cmF0aW9uU2V0VHJhY2tpbmdPcHRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlQ29uZmlndXJhdGlvblNldFRyYWNraW5nT3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmlndXJhdGlvblNldERvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBJbnZhbGlkVHJhY2tpbmdPcHRpb25zRXJyb3JcbiAgICB8IFRyYWNraW5nT3B0aW9uc0RvZXNOb3RFeGlzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsVGVtcGxhdGVDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlQ3VzdG9tVmVyaWZpY2F0aW9uRW1haWxUZW1wbGF0ZShcbiAgICBhcmdzOiBVcGRhdGVDdXN0b21WZXJpZmljYXRpb25FbWFpbFRlbXBsYXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlQ3VzdG9tVmVyaWZpY2F0aW9uRW1haWxUZW1wbGF0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ3VzdG9tVmVyaWZpY2F0aW9uRW1haWxJbnZhbGlkQ29udGVudEVycm9yXG4gICAgfCBDdXN0b21WZXJpZmljYXRpb25FbWFpbFRlbXBsYXRlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IEZyb21FbWFpbEFkZHJlc3NOb3RWZXJpZmllZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVJlY2VpcHRSdWxlQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVJlY2VpcHRSdWxlKFxuICAgIGFyZ3M6IFVwZGF0ZVJlY2VpcHRSdWxlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlUmVjZWlwdFJ1bGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRMYW1iZGFGdW5jdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUzNDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRTbnNUb3BpY0Vycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJ1bGVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUnVsZVNldERvZXNOb3RFeGlzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVRlbXBsYXRlQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVRlbXBsYXRlKFxuICAgIGFyZ3M6IFVwZGF0ZVRlbXBsYXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlVGVtcGxhdGVDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFRlbXBsYXRlRXJyb3IgfCBUZW1wbGF0ZURvZXNOb3RFeGlzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFZlcmlmeURvbWFpbkRraW1Db21tYW5kfVxuICAgKi9cbiAgdmVyaWZ5RG9tYWluRGtpbShcbiAgICBhcmdzOiBWZXJpZnlEb21haW5Ea2ltQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8VmVyaWZ5RG9tYWluRGtpbUNvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVmVyaWZ5RG9tYWluSWRlbnRpdHlDb21tYW5kfVxuICAgKi9cbiAgdmVyaWZ5RG9tYWluSWRlbnRpdHkoXG4gICAgYXJnczogVmVyaWZ5RG9tYWluSWRlbnRpdHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxWZXJpZnlEb21haW5JZGVudGl0eUNvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVmVyaWZ5RW1haWxBZGRyZXNzQ29tbWFuZH1cbiAgICovXG4gIHZlcmlmeUVtYWlsQWRkcmVzcyhcbiAgICBhcmdzOiBWZXJpZnlFbWFpbEFkZHJlc3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxWZXJpZnlFbWFpbEFkZHJlc3NDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFZlcmlmeUVtYWlsSWRlbnRpdHlDb21tYW5kfVxuICAgKi9cbiAgdmVyaWZ5RW1haWxJZGVudGl0eShcbiAgICBhcmdzOiBWZXJpZnlFbWFpbElkZW50aXR5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8VmVyaWZ5RW1haWxJZGVudGl0eUNvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VTRVNTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oU0VTQ2xpZW50SW5zdGFuY2UpO1xuXG4gIHJldHVybiBSZWNvcmQudG9FbnRyaWVzKGNvbW1hbmRzKS5yZWR1Y2UoKGFjYywgW2NvbW1hbmRdKSA9PiB7XG4gICAgY29uc3QgQ29tbWFuZEN0b3IgPSBjb21tYW5kc1tjb21tYW5kXSBhcyBhbnk7XG4gICAgY29uc3QgbWV0aG9kSW1wbCA9IChhcmdzOiBhbnksIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKGFib3J0U2lnbmFsKSA9PlxuICAgICAgICAgIGNsaWVudC5zZW5kKG5ldyBDb21tYW5kQ3RvcihhcmdzKSwge1xuICAgICAgICAgICAgLi4uKG9wdGlvbnMgPz8ge30pLFxuICAgICAgICAgICAgYWJvcnRTaWduYWwsXG4gICAgICAgICAgfSksXG4gICAgICAgIGNhdGNoOiAoZSkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGUgaW5zdGFuY2VvZiBTRVNTZXJ2aWNlRXhjZXB0aW9uICYmXG4gICAgICAgICAgICBBbGxTZXJ2aWNlRXJyb3JzLmluY2x1ZGVzKGUubmFtZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IFNlcnZpY2VFeGNlcHRpb24gPSBEYXRhLnRhZ2dlZDxcbiAgICAgICAgICAgICAgVGFnZ2VkRXhjZXB0aW9uPFNFU1NlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIFNFU1NlcnZpY2UkO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKi9cbmV4cG9ydCBjbGFzcyBTRVNTZXJ2aWNlIGV4dGVuZHMgRWZmZWN0LlRhZyhcIkBlZmZlY3QtYXdzL2NsaWVudC1zZXMvU0VTU2VydmljZVwiKTxcbiAgU0VTU2VydmljZSxcbiAgU0VTU2VydmljZSRcbj4oKSB7XG4gIHN0YXRpYyByZWFkb25seSBkZWZhdWx0TGF5ZXIgPSBMYXllci5lZmZlY3QodGhpcywgbWFrZVNFU1NlcnZpY2UpLnBpcGUoXG4gICAgTGF5ZXIucHJvdmlkZShTRVNDbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgICBMYXllci5wcm92aWRlKERlZmF1bHRTRVNDbGllbnRDb25maWdMYXllciksXG4gICk7XG4gIHN0YXRpYyByZWFkb25seSBsYXllciA9IChjb25maWc6IFNFU0NsaWVudENvbmZpZykgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZVNFU1NlcnZpY2UpLnBpcGUoXG4gICAgICBMYXllci5wcm92aWRlKFNFU0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuICAgICAgTGF5ZXIucHJvdmlkZShcbiAgICAgICAgTGF5ZXIuZWZmZWN0KFxuICAgICAgICAgIFNFU0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICAgICAgICAgIG1ha2VEZWZhdWx0U0VTQ2xpZW50SW5zdGFuY2VDb25maWcucGlwZShcbiAgICAgICAgICAgIEVmZmVjdC5tYXAoKGRlZmF1bHRDb25maWcpID0+ICh7IC4uLmRlZmF1bHRDb25maWcsIC4uLmNvbmZpZyB9KSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbiAgc3RhdGljIHJlYWRvbmx5IGJhc2VMYXllciA9IChcbiAgICBldmFsdWF0ZTogKGRlZmF1bHRDb25maWc6IFNFU0NsaWVudENvbmZpZykgPT4gU0VTQ2xpZW50LFxuICApID0+XG4gICAgTGF5ZXIuZWZmZWN0KHRoaXMsIG1ha2VTRVNTZXJ2aWNlKS5waXBlKFxuICAgICAgTGF5ZXIucHJvdmlkZShcbiAgICAgICAgTGF5ZXIuZWZmZWN0KFxuICAgICAgICAgIFNFU0NsaWVudEluc3RhbmNlLFxuICAgICAgICAgIEVmZmVjdC5tYXAobWFrZURlZmF1bHRTRVNDbGllbnRJbnN0YW5jZUNvbmZpZywgZXZhbHVhdGUpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICogQGFsaWFzIFNFU1NlcnZpY2VcbiAqL1xuZXhwb3J0IGNvbnN0IFNFUyA9IFNFU1NlcnZpY2U7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgU0VTLmJhc2VMYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlU0VTU2VydmljZUxheWVyID0gTGF5ZXIuZWZmZWN0KFNFU1NlcnZpY2UsIG1ha2VTRVNTZXJ2aWNlKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBTRVMubGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgU0VTU2VydmljZUxheWVyID0gQmFzZVNFU1NlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKFNFU0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBTRVMuZGVmYXVsdExheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRTRVNTZXJ2aWNlTGF5ZXIgPSBTRVNTZXJ2aWNlLmRlZmF1bHRMYXllcjtcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from "./Errors";
2
+ export * from "./SESClientInstance";
3
+ export * from "./SESClientInstanceConfig";
4
+ export * from "./SESService";
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vRXJyb3JzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TRVNDbGllbnRJbnN0YW5jZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vU0VTQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1NFU1NlcnZpY2VcIjtcbiJdfQ==
package/lib/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export * from "./Errors";
2
+ export * from "./SESClientInstance";
3
+ export * from "./SESClientInstanceConfig";
4
+ export * from "./SESService";
package/lib/index.js ADDED
@@ -0,0 +1,21 @@
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("./SESClientInstance"), exports);
19
+ __exportStar(require("./SESClientInstanceConfig"), exports);
20
+ __exportStar(require("./SESService"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF5QjtBQUN6QixzREFBb0M7QUFDcEMsNERBQTBDO0FBQzFDLCtDQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vU0VTQ2xpZW50SW5zdGFuY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1NFU0NsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TRVNTZXJ2aWNlXCI7XG4iXX0=
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "@effect-aws/client-ses",
3
+ "author": {
4
+ "name": "Victor Korzunin",
5
+ "email": "ifloydrose@gmail.com",
6
+ "organization": false
7
+ },
8
+ "devDependencies": {
9
+ "@types/node": "^18",
10
+ "@typescript-eslint/eslint-plugin": "^7",
11
+ "@typescript-eslint/parser": "^7",
12
+ "aws-sdk-client-mock": "^4.0.2",
13
+ "aws-sdk-client-mock-vitest": "^4.0.0",
14
+ "effect": "3.0.0",
15
+ "eslint": "^8",
16
+ "eslint-config-prettier": "^9.1.0",
17
+ "eslint-import-resolver-typescript": "^3.6.1",
18
+ "eslint-plugin-import": "^2.29.1",
19
+ "eslint-plugin-prettier": "^5.2.1",
20
+ "prettier": "^3.2.5",
21
+ "typescript": "^5.4.2",
22
+ "vitest": "^2.0.5"
23
+ },
24
+ "peerDependencies": {
25
+ "effect": ">=3.0.0 <4.0.0"
26
+ },
27
+ "dependencies": {
28
+ "@aws-sdk/client-ses": "^3"
29
+ },
30
+ "main": "lib/index.js",
31
+ "license": "MIT",
32
+ "homepage": "https://floydspace.github.io/effect-aws",
33
+ "publishConfig": {
34
+ "access": "public"
35
+ },
36
+ "version": "1.0.0",
37
+ "types": "lib/index.d.ts",
38
+ "module": "lib/esm/index.js",
39
+ "sideEffects": [],
40
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".",
41
+ "scripts": {
42
+ "build": "npx projen build",
43
+ "compile": "npx projen compile",
44
+ "default": "npx projen default",
45
+ "eslint": "npx projen eslint",
46
+ "package": "npx projen package",
47
+ "post-compile": "npx projen post-compile",
48
+ "pre-compile": "npx projen pre-compile",
49
+ "test": "npx projen test",
50
+ "test:watch": "npx projen test:watch",
51
+ "watch": "npx projen watch",
52
+ "docgen": "docgen"
53
+ }
54
+ }
package/project.json ADDED
@@ -0,0 +1,77 @@
1
+ {
2
+ "name": "@effect-aws/client-ses",
3
+ "root": "packages/client-ses",
4
+ "targets": {
5
+ "default": {
6
+ "executor": "nx:run-commands",
7
+ "options": {
8
+ "command": "pnpm exec projen default",
9
+ "cwd": "packages/client-ses"
10
+ }
11
+ },
12
+ "pre-compile": {
13
+ "executor": "nx:run-commands",
14
+ "options": {
15
+ "command": "pnpm exec projen pre-compile",
16
+ "cwd": "packages/client-ses"
17
+ }
18
+ },
19
+ "compile": {
20
+ "executor": "nx:run-commands",
21
+ "options": {
22
+ "command": "pnpm exec projen compile",
23
+ "cwd": "packages/client-ses"
24
+ }
25
+ },
26
+ "post-compile": {
27
+ "executor": "nx:run-commands",
28
+ "options": {
29
+ "command": "pnpm exec projen post-compile",
30
+ "cwd": "packages/client-ses"
31
+ }
32
+ },
33
+ "test": {
34
+ "executor": "nx:run-commands",
35
+ "options": {
36
+ "command": "pnpm exec projen test",
37
+ "cwd": "packages/client-ses"
38
+ }
39
+ },
40
+ "package": {
41
+ "executor": "nx:run-commands",
42
+ "options": {
43
+ "command": "pnpm exec projen package",
44
+ "cwd": "packages/client-ses"
45
+ }
46
+ },
47
+ "build": {
48
+ "executor": "nx:run-commands",
49
+ "options": {
50
+ "command": "pnpm exec projen build",
51
+ "cwd": "packages/client-ses"
52
+ }
53
+ },
54
+ "watch": {
55
+ "executor": "nx:run-commands",
56
+ "options": {
57
+ "command": "pnpm exec projen watch",
58
+ "cwd": "packages/client-ses"
59
+ }
60
+ },
61
+ "eslint": {
62
+ "executor": "nx:run-commands",
63
+ "options": {
64
+ "command": "pnpm exec projen eslint",
65
+ "cwd": "packages/client-ses"
66
+ }
67
+ },
68
+ "test:watch": {
69
+ "executor": "nx:run-commands",
70
+ "options": {
71
+ "command": "pnpm exec projen test:watch",
72
+ "cwd": "packages/client-ses"
73
+ }
74
+ }
75
+ },
76
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
77
+ }
@@ -0,0 +1,3 @@
1
+ import configShared from "../../vitest.shared";
2
+
3
+ export default configShared;