@effect-aws/client-iot-wireless 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.
- package/CHANGELOG.md +7 -0
- package/LICENSE +19 -0
- package/README.md +58 -0
- package/docgen.json +8 -0
- package/lib/Errors.d.ts +19 -0
- package/lib/Errors.js +15 -0
- package/lib/IoTWirelessClientInstance.d.ts +31 -0
- package/lib/IoTWirelessClientInstance.js +57 -0
- package/lib/IoTWirelessClientInstanceConfig.d.ts +23 -0
- package/lib/IoTWirelessClientInstanceConfig.js +44 -0
- package/lib/IoTWirelessService.d.ts +625 -0
- package/lib/IoTWirelessService.js +200 -0
- package/lib/esm/Errors.js +12 -0
- package/lib/esm/IoTWirelessClientInstance.js +30 -0
- package/lib/esm/IoTWirelessClientInstanceConfig.js +40 -0
- package/lib/esm/IoTWirelessService.js +196 -0
- package/lib/esm/index.js +5 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.js +21 -0
- package/package.json +54 -0
- package/project.json +77 -0
- package/vitest.config.ts +3 -0
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
var _a;
|
|
2
|
+
/**
|
|
3
|
+
* @since 1.0.0
|
|
4
|
+
*/
|
|
5
|
+
import { IoTWirelessServiceException, AssociateAwsAccountWithPartnerAccountCommand, AssociateMulticastGroupWithFuotaTaskCommand, AssociateWirelessDeviceWithFuotaTaskCommand, AssociateWirelessDeviceWithMulticastGroupCommand, AssociateWirelessDeviceWithThingCommand, AssociateWirelessGatewayWithCertificateCommand, AssociateWirelessGatewayWithThingCommand, CancelMulticastGroupSessionCommand, CreateDestinationCommand, CreateDeviceProfileCommand, CreateFuotaTaskCommand, CreateMulticastGroupCommand, CreateNetworkAnalyzerConfigurationCommand, CreateServiceProfileCommand, CreateWirelessDeviceCommand, CreateWirelessGatewayCommand, CreateWirelessGatewayTaskCommand, CreateWirelessGatewayTaskDefinitionCommand, DeleteDestinationCommand, DeleteDeviceProfileCommand, DeleteFuotaTaskCommand, DeleteMulticastGroupCommand, DeleteNetworkAnalyzerConfigurationCommand, DeleteQueuedMessagesCommand, DeleteServiceProfileCommand, DeleteWirelessDeviceCommand, DeleteWirelessDeviceImportTaskCommand, DeleteWirelessGatewayCommand, DeleteWirelessGatewayTaskCommand, DeleteWirelessGatewayTaskDefinitionCommand, DeregisterWirelessDeviceCommand, DisassociateAwsAccountFromPartnerAccountCommand, DisassociateMulticastGroupFromFuotaTaskCommand, DisassociateWirelessDeviceFromFuotaTaskCommand, DisassociateWirelessDeviceFromMulticastGroupCommand, DisassociateWirelessDeviceFromThingCommand, DisassociateWirelessGatewayFromCertificateCommand, DisassociateWirelessGatewayFromThingCommand, GetDestinationCommand, GetDeviceProfileCommand, GetEventConfigurationByResourceTypesCommand, GetFuotaTaskCommand, GetLogLevelsByResourceTypesCommand, GetMetricConfigurationCommand, GetMetricsCommand, GetMulticastGroupCommand, GetMulticastGroupSessionCommand, GetNetworkAnalyzerConfigurationCommand, GetPartnerAccountCommand, GetPositionCommand, GetPositionConfigurationCommand, GetPositionEstimateCommand, GetResourceEventConfigurationCommand, GetResourceLogLevelCommand, GetResourcePositionCommand, GetServiceEndpointCommand, GetServiceProfileCommand, GetWirelessDeviceCommand, GetWirelessDeviceImportTaskCommand, GetWirelessDeviceStatisticsCommand, GetWirelessGatewayCommand, GetWirelessGatewayCertificateCommand, GetWirelessGatewayFirmwareInformationCommand, GetWirelessGatewayStatisticsCommand, GetWirelessGatewayTaskCommand, GetWirelessGatewayTaskDefinitionCommand, ListDestinationsCommand, ListDeviceProfilesCommand, ListDevicesForWirelessDeviceImportTaskCommand, ListEventConfigurationsCommand, ListFuotaTasksCommand, ListMulticastGroupsCommand, ListMulticastGroupsByFuotaTaskCommand, ListNetworkAnalyzerConfigurationsCommand, ListPartnerAccountsCommand, ListPositionConfigurationsCommand, ListQueuedMessagesCommand, ListServiceProfilesCommand, ListTagsForResourceCommand, ListWirelessDeviceImportTasksCommand, ListWirelessDevicesCommand, ListWirelessGatewayTaskDefinitionsCommand, ListWirelessGatewaysCommand, PutPositionConfigurationCommand, PutResourceLogLevelCommand, ResetAllResourceLogLevelsCommand, ResetResourceLogLevelCommand, SendDataToMulticastGroupCommand, SendDataToWirelessDeviceCommand, StartBulkAssociateWirelessDeviceWithMulticastGroupCommand, StartBulkDisassociateWirelessDeviceFromMulticastGroupCommand, StartFuotaTaskCommand, StartMulticastGroupSessionCommand, StartSingleWirelessDeviceImportTaskCommand, StartWirelessDeviceImportTaskCommand, TagResourceCommand, TestWirelessDeviceCommand, UntagResourceCommand, UpdateDestinationCommand, UpdateEventConfigurationByResourceTypesCommand, UpdateFuotaTaskCommand, UpdateLogLevelsByResourceTypesCommand, UpdateMetricConfigurationCommand, UpdateMulticastGroupCommand, UpdateNetworkAnalyzerConfigurationCommand, UpdatePartnerAccountCommand, UpdatePositionCommand, UpdateResourceEventConfigurationCommand, UpdateResourcePositionCommand, UpdateWirelessDeviceCommand, UpdateWirelessDeviceImportTaskCommand, UpdateWirelessGatewayCommand, } from "@aws-sdk/client-iot-wireless";
|
|
6
|
+
import { Data, Effect, Layer, Record } from "effect";
|
|
7
|
+
import { AllServiceErrors, SdkError, } from "./Errors";
|
|
8
|
+
import { IoTWirelessClientInstance, IoTWirelessClientInstanceLayer, } from "./IoTWirelessClientInstance";
|
|
9
|
+
import { DefaultIoTWirelessClientConfigLayer, makeDefaultIoTWirelessClientInstanceConfig, IoTWirelessClientInstanceConfig, } from "./IoTWirelessClientInstanceConfig";
|
|
10
|
+
const commands = {
|
|
11
|
+
AssociateAwsAccountWithPartnerAccountCommand,
|
|
12
|
+
AssociateMulticastGroupWithFuotaTaskCommand,
|
|
13
|
+
AssociateWirelessDeviceWithFuotaTaskCommand,
|
|
14
|
+
AssociateWirelessDeviceWithMulticastGroupCommand,
|
|
15
|
+
AssociateWirelessDeviceWithThingCommand,
|
|
16
|
+
AssociateWirelessGatewayWithCertificateCommand,
|
|
17
|
+
AssociateWirelessGatewayWithThingCommand,
|
|
18
|
+
CancelMulticastGroupSessionCommand,
|
|
19
|
+
CreateDestinationCommand,
|
|
20
|
+
CreateDeviceProfileCommand,
|
|
21
|
+
CreateFuotaTaskCommand,
|
|
22
|
+
CreateMulticastGroupCommand,
|
|
23
|
+
CreateNetworkAnalyzerConfigurationCommand,
|
|
24
|
+
CreateServiceProfileCommand,
|
|
25
|
+
CreateWirelessDeviceCommand,
|
|
26
|
+
CreateWirelessGatewayCommand,
|
|
27
|
+
CreateWirelessGatewayTaskCommand,
|
|
28
|
+
CreateWirelessGatewayTaskDefinitionCommand,
|
|
29
|
+
DeleteDestinationCommand,
|
|
30
|
+
DeleteDeviceProfileCommand,
|
|
31
|
+
DeleteFuotaTaskCommand,
|
|
32
|
+
DeleteMulticastGroupCommand,
|
|
33
|
+
DeleteNetworkAnalyzerConfigurationCommand,
|
|
34
|
+
DeleteQueuedMessagesCommand,
|
|
35
|
+
DeleteServiceProfileCommand,
|
|
36
|
+
DeleteWirelessDeviceCommand,
|
|
37
|
+
DeleteWirelessDeviceImportTaskCommand,
|
|
38
|
+
DeleteWirelessGatewayCommand,
|
|
39
|
+
DeleteWirelessGatewayTaskCommand,
|
|
40
|
+
DeleteWirelessGatewayTaskDefinitionCommand,
|
|
41
|
+
DeregisterWirelessDeviceCommand,
|
|
42
|
+
DisassociateAwsAccountFromPartnerAccountCommand,
|
|
43
|
+
DisassociateMulticastGroupFromFuotaTaskCommand,
|
|
44
|
+
DisassociateWirelessDeviceFromFuotaTaskCommand,
|
|
45
|
+
DisassociateWirelessDeviceFromMulticastGroupCommand,
|
|
46
|
+
DisassociateWirelessDeviceFromThingCommand,
|
|
47
|
+
DisassociateWirelessGatewayFromCertificateCommand,
|
|
48
|
+
DisassociateWirelessGatewayFromThingCommand,
|
|
49
|
+
GetDestinationCommand,
|
|
50
|
+
GetDeviceProfileCommand,
|
|
51
|
+
GetEventConfigurationByResourceTypesCommand,
|
|
52
|
+
GetFuotaTaskCommand,
|
|
53
|
+
GetLogLevelsByResourceTypesCommand,
|
|
54
|
+
GetMetricConfigurationCommand,
|
|
55
|
+
GetMetricsCommand,
|
|
56
|
+
GetMulticastGroupCommand,
|
|
57
|
+
GetMulticastGroupSessionCommand,
|
|
58
|
+
GetNetworkAnalyzerConfigurationCommand,
|
|
59
|
+
GetPartnerAccountCommand,
|
|
60
|
+
GetPositionCommand,
|
|
61
|
+
GetPositionConfigurationCommand,
|
|
62
|
+
GetPositionEstimateCommand,
|
|
63
|
+
GetResourceEventConfigurationCommand,
|
|
64
|
+
GetResourceLogLevelCommand,
|
|
65
|
+
GetResourcePositionCommand,
|
|
66
|
+
GetServiceEndpointCommand,
|
|
67
|
+
GetServiceProfileCommand,
|
|
68
|
+
GetWirelessDeviceCommand,
|
|
69
|
+
GetWirelessDeviceImportTaskCommand,
|
|
70
|
+
GetWirelessDeviceStatisticsCommand,
|
|
71
|
+
GetWirelessGatewayCommand,
|
|
72
|
+
GetWirelessGatewayCertificateCommand,
|
|
73
|
+
GetWirelessGatewayFirmwareInformationCommand,
|
|
74
|
+
GetWirelessGatewayStatisticsCommand,
|
|
75
|
+
GetWirelessGatewayTaskCommand,
|
|
76
|
+
GetWirelessGatewayTaskDefinitionCommand,
|
|
77
|
+
ListDestinationsCommand,
|
|
78
|
+
ListDeviceProfilesCommand,
|
|
79
|
+
ListDevicesForWirelessDeviceImportTaskCommand,
|
|
80
|
+
ListEventConfigurationsCommand,
|
|
81
|
+
ListFuotaTasksCommand,
|
|
82
|
+
ListMulticastGroupsCommand,
|
|
83
|
+
ListMulticastGroupsByFuotaTaskCommand,
|
|
84
|
+
ListNetworkAnalyzerConfigurationsCommand,
|
|
85
|
+
ListPartnerAccountsCommand,
|
|
86
|
+
ListPositionConfigurationsCommand,
|
|
87
|
+
ListQueuedMessagesCommand,
|
|
88
|
+
ListServiceProfilesCommand,
|
|
89
|
+
ListTagsForResourceCommand,
|
|
90
|
+
ListWirelessDeviceImportTasksCommand,
|
|
91
|
+
ListWirelessDevicesCommand,
|
|
92
|
+
ListWirelessGatewayTaskDefinitionsCommand,
|
|
93
|
+
ListWirelessGatewaysCommand,
|
|
94
|
+
PutPositionConfigurationCommand,
|
|
95
|
+
PutResourceLogLevelCommand,
|
|
96
|
+
ResetAllResourceLogLevelsCommand,
|
|
97
|
+
ResetResourceLogLevelCommand,
|
|
98
|
+
SendDataToMulticastGroupCommand,
|
|
99
|
+
SendDataToWirelessDeviceCommand,
|
|
100
|
+
StartBulkAssociateWirelessDeviceWithMulticastGroupCommand,
|
|
101
|
+
StartBulkDisassociateWirelessDeviceFromMulticastGroupCommand,
|
|
102
|
+
StartFuotaTaskCommand,
|
|
103
|
+
StartMulticastGroupSessionCommand,
|
|
104
|
+
StartSingleWirelessDeviceImportTaskCommand,
|
|
105
|
+
StartWirelessDeviceImportTaskCommand,
|
|
106
|
+
TagResourceCommand,
|
|
107
|
+
TestWirelessDeviceCommand,
|
|
108
|
+
UntagResourceCommand,
|
|
109
|
+
UpdateDestinationCommand,
|
|
110
|
+
UpdateEventConfigurationByResourceTypesCommand,
|
|
111
|
+
UpdateFuotaTaskCommand,
|
|
112
|
+
UpdateLogLevelsByResourceTypesCommand,
|
|
113
|
+
UpdateMetricConfigurationCommand,
|
|
114
|
+
UpdateMulticastGroupCommand,
|
|
115
|
+
UpdateNetworkAnalyzerConfigurationCommand,
|
|
116
|
+
UpdatePartnerAccountCommand,
|
|
117
|
+
UpdatePositionCommand,
|
|
118
|
+
UpdateResourceEventConfigurationCommand,
|
|
119
|
+
UpdateResourcePositionCommand,
|
|
120
|
+
UpdateWirelessDeviceCommand,
|
|
121
|
+
UpdateWirelessDeviceImportTaskCommand,
|
|
122
|
+
UpdateWirelessGatewayCommand,
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* @since 1.0.0
|
|
126
|
+
* @category constructors
|
|
127
|
+
*/
|
|
128
|
+
export const makeIoTWirelessService = Effect.gen(function* (_) {
|
|
129
|
+
const client = yield* _(IoTWirelessClientInstance);
|
|
130
|
+
return Record.toEntries(commands).reduce((acc, [command]) => {
|
|
131
|
+
const CommandCtor = commands[command];
|
|
132
|
+
const methodImpl = (args, options) => Effect.tryPromise({
|
|
133
|
+
try: (abortSignal) => client.send(new CommandCtor(args), {
|
|
134
|
+
...(options !== null && options !== void 0 ? options : {}),
|
|
135
|
+
abortSignal,
|
|
136
|
+
}),
|
|
137
|
+
catch: (e) => {
|
|
138
|
+
if (e instanceof IoTWirelessServiceException &&
|
|
139
|
+
AllServiceErrors.includes(e.name)) {
|
|
140
|
+
const ServiceException = Data.tagged(e.name);
|
|
141
|
+
return ServiceException({
|
|
142
|
+
...e,
|
|
143
|
+
message: e.message,
|
|
144
|
+
stack: e.stack,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
if (e instanceof Error) {
|
|
148
|
+
return SdkError({
|
|
149
|
+
...e,
|
|
150
|
+
name: "SdkError",
|
|
151
|
+
message: e.message,
|
|
152
|
+
stack: e.stack,
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
throw e;
|
|
156
|
+
},
|
|
157
|
+
});
|
|
158
|
+
const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
|
|
159
|
+
return { ...acc, [methodName]: methodImpl };
|
|
160
|
+
}, {});
|
|
161
|
+
});
|
|
162
|
+
/**
|
|
163
|
+
* @since 1.0.0
|
|
164
|
+
* @category models
|
|
165
|
+
*/
|
|
166
|
+
export class IoTWirelessService extends Effect.Tag("@effect-aws/client-iot-wireless/IoTWirelessService")() {
|
|
167
|
+
}
|
|
168
|
+
_a = IoTWirelessService;
|
|
169
|
+
IoTWirelessService.defaultLayer = Layer.effect(_a, makeIoTWirelessService).pipe(Layer.provide(IoTWirelessClientInstanceLayer), Layer.provide(DefaultIoTWirelessClientConfigLayer));
|
|
170
|
+
IoTWirelessService.layer = (config) => Layer.effect(_a, makeIoTWirelessService).pipe(Layer.provide(IoTWirelessClientInstanceLayer), Layer.provide(Layer.effect(IoTWirelessClientInstanceConfig, makeDefaultIoTWirelessClientInstanceConfig.pipe(Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
|
|
171
|
+
IoTWirelessService.baseLayer = (evaluate) => Layer.effect(_a, makeIoTWirelessService).pipe(Layer.provide(Layer.effect(IoTWirelessClientInstance, Effect.map(makeDefaultIoTWirelessClientInstanceConfig, evaluate))));
|
|
172
|
+
/**
|
|
173
|
+
* @since 1.0.0
|
|
174
|
+
* @category models
|
|
175
|
+
* @alias IoTWirelessService
|
|
176
|
+
*/
|
|
177
|
+
export const IoTWireless = IoTWirelessService;
|
|
178
|
+
/**
|
|
179
|
+
* @since 1.0.0
|
|
180
|
+
* @category layers
|
|
181
|
+
* @deprecated use IoTWireless.baseLayer instead
|
|
182
|
+
*/
|
|
183
|
+
export const BaseIoTWirelessServiceLayer = Layer.effect(IoTWirelessService, makeIoTWirelessService);
|
|
184
|
+
/**
|
|
185
|
+
* @since 1.0.0
|
|
186
|
+
* @category layers
|
|
187
|
+
* @deprecated use IoTWireless.layer instead
|
|
188
|
+
*/
|
|
189
|
+
export const IoTWirelessServiceLayer = BaseIoTWirelessServiceLayer.pipe(Layer.provide(IoTWirelessClientInstanceLayer));
|
|
190
|
+
/**
|
|
191
|
+
* @since 1.0.0
|
|
192
|
+
* @category layers
|
|
193
|
+
* @deprecated use IoTWireless.defaultLayer instead
|
|
194
|
+
*/
|
|
195
|
+
export const DefaultIoTWirelessServiceLayer = IoTWirelessService.defaultLayer;
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW9UV2lyZWxlc3NTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0lvVFdpcmVsZXNzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7QUFDSCxPQUFPLEVBQ0wsMkJBQTJCLEVBRzNCLDRDQUE0QyxFQUc1QywyQ0FBMkMsRUFHM0MsMkNBQTJDLEVBRzNDLGdEQUFnRCxFQUdoRCx1Q0FBdUMsRUFHdkMsOENBQThDLEVBRzlDLHdDQUF3QyxFQUd4QyxrQ0FBa0MsRUFHbEMsd0JBQXdCLEVBR3hCLDBCQUEwQixFQUcxQixzQkFBc0IsRUFHdEIsMkJBQTJCLEVBRzNCLHlDQUF5QyxFQUd6QywyQkFBMkIsRUFHM0IsMkJBQTJCLEVBRzNCLDRCQUE0QixFQUc1QixnQ0FBZ0MsRUFHaEMsMENBQTBDLEVBRzFDLHdCQUF3QixFQUd4QiwwQkFBMEIsRUFHMUIsc0JBQXNCLEVBR3RCLDJCQUEyQixFQUczQix5Q0FBeUMsRUFHekMsMkJBQTJCLEVBRzNCLDJCQUEyQixFQUczQiwyQkFBMkIsRUFHM0IscUNBQXFDLEVBR3JDLDRCQUE0QixFQUc1QixnQ0FBZ0MsRUFHaEMsMENBQTBDLEVBRzFDLCtCQUErQixFQUcvQiwrQ0FBK0MsRUFHL0MsOENBQThDLEVBRzlDLDhDQUE4QyxFQUc5QyxtREFBbUQsRUFHbkQsMENBQTBDLEVBRzFDLGlEQUFpRCxFQUdqRCwyQ0FBMkMsRUFHM0MscUJBQXFCLEVBR3JCLHVCQUF1QixFQUd2QiwyQ0FBMkMsRUFHM0MsbUJBQW1CLEVBR25CLGtDQUFrQyxFQUdsQyw2QkFBNkIsRUFHN0IsaUJBQWlCLEVBR2pCLHdCQUF3QixFQUd4QiwrQkFBK0IsRUFHL0Isc0NBQXNDLEVBR3RDLHdCQUF3QixFQUd4QixrQkFBa0IsRUFHbEIsK0JBQStCLEVBRy9CLDBCQUEwQixFQUcxQixvQ0FBb0MsRUFHcEMsMEJBQTBCLEVBRzFCLDBCQUEwQixFQUcxQix5QkFBeUIsRUFHekIsd0JB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c0JBQXNCLENBQUMsQ0FBQyxJQUFJLENBQzdDLEtBQUssQ0FBQyxPQUFPLENBQ1gsS0FBSyxDQUFDLE1BQU0sQ0FDVix5QkFBeUIsRUFDekIsTUFBTSxDQUFDLEdBQUcsQ0FBQywwQ0FBMEMsRUFBRSxRQUFRLENBQUMsQ0FDakUsQ0FDRixDQUNGLEFBVnNCLENBVXJCO0FBR047Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQztBQUU5Qzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDckQsa0JBQWtCLEVBQ2xCLHNCQUFzQixDQUN2QixDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLDJCQUEyQixDQUFDLElBQUksQ0FDckUsS0FBSyxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQyxDQUM5QyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLGtCQUFrQixDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIElvVFdpcmVsZXNzU2VydmljZUV4Y2VwdGlvbixcbiAgdHlwZSBJb1RXaXJlbGVzc0NsaWVudCxcbiAgdHlwZSBJb1RXaXJlbGVzc0NsaWVudENvbmZpZyxcbiAgQXNzb2NpYXRlQXdzQWNjb3VudFdpdGhQYXJ0bmVyQWNjb3VudENvbW1hbmQsXG4gIHR5cGUgQXNzb2NpYXRlQXdzQWNjb3VudFdpdGhQYXJ0bmVyQWNjb3VudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBBc3NvY2lhdGVBd3NBY2NvdW50V2l0aFBhcnRuZXJBY2NvdW50Q29tbWFuZE91dHB1dCxcbiAgQXNzb2NpYXRlTXVsdGljYXN0R3JvdXBXaXRoRnVvdGFUYXNrQ29tbWFuZCxcbiAgdHlwZSBBc3NvY2lhdGVNdWx0aWNhc3RHcm91cFdpdGhGdW90YVRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgQXNzb2NpYXRlTXVsdGljYXN0R3JvdXBXaXRoRnVvdGFUYXNrQ29tbWFuZE91dHB1dCxcbiAgQXNzb2NpYXRlV2lyZWxlc3NEZXZpY2VXaXRoRnVvdGFUYXNrQ29tbWFuZCxcbiAgdHlwZSBBc3NvY2lhdGVXaXJlbGVzc0RldmljZVdpdGhGdW90YVRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgQXNzb2NpYXRlV2lyZWxlc3NEZXZpY2VXaXRoRnVvdGFUYXNrQ29tbWFuZE91dHB1dCxcbiAgQXNzb2NpYXRlV2lyZWxlc3NEZXZpY2VXaXRoTXVsdGljYXN0R3JvdXBDb21tYW5kLFxuICB0eXBlIEFzc29jaWF0ZVdpcmVsZXNzRGV2aWNlV2l0aE11bHRpY2FzdEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIEFzc29jaWF0ZVdpcmVsZXNzRGV2aWNlV2l0aE11bHRpY2FzdEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQXNzb2NpYXRlV2lyZWxlc3NEZXZpY2VXaXRoVGhpbmdDb21tYW5kLFxuICB0eXBlIEFzc29jaWF0ZVdpcmVsZXNzRGV2aWNlV2l0aFRoaW5nQ29tbWFuZElucHV0LFxuICB0eXBlIEFzc29jaWF0ZVdpcmVsZXNzRGV2aWNlV2l0aFRoaW5nQ29tbWFuZE91dHB1dCxcbiAgQXNzb2NpYXRlV2lyZWxlc3NHYXRld2F5V2l0aENlcnRpZmljYXRlQ29tbWFuZCxcbiAgdHlwZSBBc3NvY2lhdGVXaXJlbGVzc0dhdGV3YXlXaXRoQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgQXNzb2NpYXRlV2lyZWxlc3NHYXRld2F5V2l0aENlcnRpZmljYXRlQ29tbWFuZE91dHB1dCxcbiAgQXNzb2NpYXRlV2lyZWxlc3NHYXRld2F5V2l0aFRoaW5nQ29tbWFuZCxcbiAgdHlwZSBBc3NvY2lhdGVXaXJlbGVzc0dhdGV3YXlXaXRoVGhpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgQXNzb2NpYXRlV2lyZWxlc3NHYXRld2F5V2l0aFRoaW5nQ29tbWFuZE91dHB1dCxcbiAgQ2FuY2VsTXVsdGljYXN0R3JvdXBTZXNzaW9uQ29tbWFuZCxcbiAgdHlwZSBDYW5jZWxNdWx0aWNhc3RHcm91cFNlc3Npb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQ2FuY2VsTXVsdGljYXN0R3JvdXBTZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlRGVzdGluYXRpb25Db21tYW5kLFxuICB0eXBlIENyZWF0ZURlc3RpbmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZURlc3RpbmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlRGV2aWNlUHJvZmlsZUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlRGV2aWNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEZXZpY2VQcm9maWxlQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlRnVvdGFUYXNrQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVGdW90YVRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlRnVvdGFUYXNrQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlTXVsdGljYXN0R3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZU11bHRpY2FzdEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZU11bHRpY2FzdEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlTmV0d29ya0FuYWx5emVyQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlTmV0d29ya0FuYWx5emVyQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVOZXR3b3JrQW5hbHl6ZXJDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU2VydmljZVByb2ZpbGVDb21tYW5kLFxuICB0eXBlIENyZWF0ZVNlcnZpY2VQcm9maWxlQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVNlcnZpY2VQcm9maWxlQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlV2lyZWxlc3NEZXZpY2VDb21tYW5kLFxuICB0eXBlIENyZWF0ZVdpcmVsZXNzRGV2aWNlQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVdpcmVsZXNzRGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlV2lyZWxlc3NHYXRld2F5Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVXaXJlbGVzc0dhdGV3YXlDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlV2lyZWxlc3NHYXRld2F5Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlV2lyZWxlc3NHYXRld2F5VGFza0NvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlV2lyZWxlc3NHYXRld2F5VGFza0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVXaXJlbGVzc0dhdGV3YXlUYXNrQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlV2lyZWxlc3NHYXRld2F5VGFza0RlZmluaXRpb25Db21tYW5kLFxuICB0eXBlIENyZWF0ZVdpcmVsZXNzR2F0ZXdheVRhc2tEZWZpbml0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVdpcmVsZXNzR2F0ZXdheVRhc2tEZWZpbml0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRGVzdGluYXRpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZURlc3RpbmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURlc3RpbmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRGV2aWNlUHJvZmlsZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlRGV2aWNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEZXZpY2VQcm9maWxlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRnVvdGFUYXNrQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVGdW90YVRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlRnVvdGFUYXNrQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlTXVsdGljYXN0R3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZU11bHRpY2FzdEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZU11bHRpY2FzdEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlTmV0d29ya0FuYWx5emVyQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlTmV0d29ya0FuYWx5emVyQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVOZXR3b3JrQW5hbHl6ZXJDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlUXVldWVkTWVzc2FnZXNDb21tYW5kLFxuICB0eXBlIERlbGV0ZVF1ZXVlZE1lc3NhZ2VzQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVF1ZXVlZE1lc3NhZ2VzQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU2VydmljZVByb2ZpbGVDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNlcnZpY2VQcm9maWxlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVNlcnZpY2VQcm9maWxlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlV2lyZWxlc3NEZXZpY2VDb21tYW5kLFxuICB0eXBlIERlbGV0ZVdpcmVsZXNzRGV2aWNlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVdpcmVsZXNzRGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlV2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVXaXJlbGVzc0RldmljZUltcG9ydFRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlV2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlV2lyZWxlc3NHYXRld2F5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVXaXJlbGVzc0dhdGV3YXlDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlV2lyZWxlc3NHYXRld2F5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlV2lyZWxlc3NHYXRld2F5VGFza0NvbW1hbmQsXG4gIHR5cGUgRGVsZXRlV2lyZWxlc3NHYXRld2F5VGFza0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVXaXJlbGVzc0dhdGV3YXlUYXNrQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlV2lyZWxlc3NHYXRld2F5VGFza0RlZmluaXRpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZVdpcmVsZXNzR2F0ZXdheVRhc2tEZWZpbml0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVdpcmVsZXNzR2F0ZXdheVRhc2tEZWZpbml0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVyZWdpc3RlcldpcmVsZXNzRGV2aWNlQ29tbWFuZCxcbiAgdHlwZSBEZXJlZ2lzdGVyV2lyZWxlc3NEZXZpY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVyZWdpc3RlcldpcmVsZXNzRGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgRGlzYXNzb2NpYXRlQXdzQWNjb3VudEZyb21QYXJ0bmVyQWNjb3VudENvbW1hbmQsXG4gIHR5cGUgRGlzYXNzb2NpYXRlQXdzQWNjb3VudEZyb21QYXJ0bmVyQWNjb3VudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEaXNhc3NvY2lhdGVBd3NBY2NvdW50RnJvbVBhcnRuZXJBY2NvdW50Q29tbWFuZE91dHB1dCxcbiAgRGlzYXNzb2NpYXRlTXVsdGljYXN0R3JvdXBGcm9tRnVvdGFUYXNrQ29tbWFuZCxcbiAgdHlwZSBEaXNhc3NvY2lhdGVNdWx0aWNhc3RHcm91cEZyb21GdW90YVRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGlzYXNzb2NpYXRlTXVsdGljYXN0R3JvdXBGcm9tRnVvdGFUYXNrQ29tbWFuZE91dHB1dCxcbiAgRGlzYXNzb2NpYXRlV2lyZWxlc3NEZXZpY2VGcm9tRnVvdGFUYXNrQ29tbWFuZCxcbiAgdHlwZSBEaXNhc3NvY2lhdGVXaXJlbGVzc0RldmljZUZyb21GdW90YVRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGlzYXNzb2NpYXRlV2lyZWxlc3NEZXZpY2VGcm9tRnVvdGFUYXNrQ29tbWFuZE91dHB1dCxcbiAgRGlzYXNzb2NpYXRlV2lyZWxlc3NEZXZpY2VGcm9tTXVsdGljYXN0R3JvdXBDb21tYW5kLFxuICB0eXBlIERpc2Fzc29jaWF0ZVdpcmVsZXNzRGV2aWNlRnJvbU11bHRpY2FzdEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERpc2Fzc29jaWF0ZVdpcmVsZXNzRGV2aWNlRnJvbU11bHRpY2FzdEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGlzYXNzb2NpYXRlV2lyZWxlc3NEZXZpY2VGcm9tVGhpbmdDb21tYW5kLFxuICB0eXBlIERpc2Fzc29jaWF0ZVdpcmVsZXNzRGV2aWNlRnJvbVRoaW5nQ29tbWFuZElucHV0LFxuICB0eXBlIERpc2Fzc29jaWF0ZVdpcmVsZXNzRGV2aWNlRnJvbVRoaW5nQ29tbWFuZE91dHB1dCxcbiAgRGlzYXNzb2NpYXRlV2lyZWxlc3NHYXRld2F5RnJvbUNlcnRpZmljYXRlQ29tbWFuZCxcbiAgdHlwZSBEaXNhc3NvY2lhdGVXaXJlbGVzc0dhdGV3YXlGcm9tQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGlzYXNzb2NpYXRlV2lyZWxlc3NHYXRld2F5RnJvbUNlcnRpZmljYXRlQ29tbWFuZE91dHB1dCxcbiAgRGlzYXNzb2NpYXRlV2lyZWxlc3NHYXRld2F5RnJvbVRoaW5nQ29tbWFuZCxcbiAgdHlwZSBEaXNhc3NvY2lhdGVXaXJlbGVzc0dhdGV3YXlGcm9tVGhpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGlzYXNzb2NpYXRlV2lyZWxlc3NHYXRld2F5RnJvbVRoaW5nQ29tbWFuZE91dHB1dCxcbiAgR2V0RGVzdGluYXRpb25Db21tYW5kLFxuICB0eXBlIEdldERlc3RpbmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEdldERlc3RpbmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0RGV2aWNlUHJvZmlsZUNvbW1hbmQsXG4gIHR5cGUgR2V0RGV2aWNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXREZXZpY2VQcm9maWxlQ29tbWFuZE91dHB1dCxcbiAgR2V0RXZlbnRDb25maWd1cmF0aW9uQnlSZXNvdXJjZVR5cGVzQ29tbWFuZCxcbiAgdHlwZSBHZXRFdmVudENvbmZpZ3VyYXRpb25CeVJlc291cmNlVHlwZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0RXZlbnRDb25maWd1cmF0aW9uQnlSZXNvdXJjZVR5cGVzQ29tbWFuZE91dHB1dCxcbiAgR2V0RnVvdGFUYXNrQ29tbWFuZCxcbiAgdHlwZSBHZXRGdW90YVRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0RnVvdGFUYXNrQ29tbWFuZE91dHB1dCxcbiAgR2V0TG9nTGV2ZWxzQnlSZXNvdXJjZVR5cGVzQ29tbWFuZCxcbiAgdHlwZSBHZXRMb2dMZXZlbHNCeVJlc291cmNlVHlwZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0TG9nTGV2ZWxzQnlSZXNvdXJjZVR5cGVzQ29tbWFuZE91dHB1dCxcbiAgR2V0TWV0cmljQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIHR5cGUgR2V0TWV0cmljQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRNZXRyaWNDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0TWV0cmljc0NvbW1hbmQsXG4gIHR5cGUgR2V0TWV0cmljc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRNZXRyaWNzQ29tbWFuZE91dHB1dCxcbiAgR2V0TXVsdGljYXN0R3JvdXBDb21tYW5kLFxuICB0eXBlIEdldE11bHRpY2FzdEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIEdldE11bHRpY2FzdEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgR2V0TXVsdGljYXN0R3JvdXBTZXNzaW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRNdWx0aWNhc3RHcm91cFNlc3Npb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0TXVsdGljYXN0R3JvdXBTZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0TmV0d29ya0FuYWx5emVyQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIHR5cGUgR2V0TmV0d29ya0FuYWx5emVyQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXROZXR3b3JrQW5hbHl6ZXJDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0UGFydG5lckFjY291bnRDb21tYW5kLFxuICB0eXBlIEdldFBhcnRuZXJBY2NvdW50Q29tbWFuZElucHV0LFxuICB0eXBlIEdldFBhcnRuZXJBY2NvdW50Q29tbWFuZE91dHB1dCxcbiAgR2V0UG9zaXRpb25Db21tYW5kLFxuICB0eXBlIEdldFBvc2l0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFBvc2l0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0UG9zaXRpb25Db25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRQb3NpdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UG9zaXRpb25Db25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0UG9zaXRpb25Fc3RpbWF0ZUNvbW1hbmQsXG4gIHR5cGUgR2V0UG9zaXRpb25Fc3RpbWF0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRQb3NpdGlvbkVzdGltYXRlQ29tbWFuZE91dHB1dCxcbiAgR2V0UmVzb3VyY2VFdmVudENvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIEdldFJlc291cmNlRXZlbnRDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFJlc291cmNlRXZlbnRDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0UmVzb3VyY2VMb2dMZXZlbENvbW1hbmQsXG4gIHR5cGUgR2V0UmVzb3VyY2VMb2dMZXZlbENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRSZXNvdXJjZUxvZ0xldmVsQ29tbWFuZE91dHB1dCxcbiAgR2V0UmVzb3VyY2VQb3NpdGlvbkNvbW1hbmQsXG4gIHR5cGUgR2V0UmVzb3VyY2VQb3NpdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRSZXNvdXJjZVBvc2l0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0U2VydmljZUVuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBHZXRTZXJ2aWNlRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0U2VydmljZUVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgR2V0U2VydmljZVByb2ZpbGVDb21tYW5kLFxuICB0eXBlIEdldFNlcnZpY2VQcm9maWxlQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFNlcnZpY2VQcm9maWxlQ29tbWFuZE91dHB1dCxcbiAgR2V0V2lyZWxlc3NEZXZpY2VDb21tYW5kLFxuICB0eXBlIEdldFdpcmVsZXNzRGV2aWNlQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFdpcmVsZXNzRGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgR2V0V2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZCxcbiAgdHlwZSBHZXRXaXJlbGVzc0RldmljZUltcG9ydFRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0V2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgR2V0V2lyZWxlc3NEZXZpY2VTdGF0aXN0aWNzQ29tbWFuZCxcbiAgdHlwZSBHZXRXaXJlbGVzc0RldmljZVN0YXRpc3RpY3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0V2lyZWxlc3NEZXZpY2VTdGF0aXN0aWNzQ29tbWFuZE91dHB1dCxcbiAgR2V0V2lyZWxlc3NHYXRld2F5Q29tbWFuZCxcbiAgdHlwZSBHZXRXaXJlbGVzc0dhdGV3YXlDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0V2lyZWxlc3NHYXRld2F5Q29tbWFuZE91dHB1dCxcbiAgR2V0V2lyZWxlc3NHYXRld2F5Q2VydGlmaWNhdGVDb21tYW5kLFxuICB0eXBlIEdldFdpcmVsZXNzR2F0ZXdheUNlcnRpZmljYXRlQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFdpcmVsZXNzR2F0ZXdheUNlcnRpZmljYXRlQ29tbWFuZE91dHB1dCxcbiAgR2V0V2lyZWxlc3NHYXRld2F5RmlybXdhcmVJbmZvcm1hdGlvbkNvbW1hbmQsXG4gIHR5cGUgR2V0V2lyZWxlc3NHYXRld2F5RmlybXdhcmVJbmZvcm1hdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRXaXJlbGVzc0dhdGV3YXlGaXJtd2FyZUluZm9ybWF0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0V2lyZWxlc3NHYXRld2F5U3RhdGlzdGljc0NvbW1hbmQsXG4gIHR5cGUgR2V0V2lyZWxlc3NHYXRld2F5U3RhdGlzdGljc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRXaXJlbGVzc0dhdGV3YXlTdGF0aXN0aWNzQ29tbWFuZE91dHB1dCxcbiAgR2V0V2lyZWxlc3NHYXRld2F5VGFza0NvbW1hbmQsXG4gIHR5cGUgR2V0V2lyZWxlc3NHYXRld2F5VGFza0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRXaXJlbGVzc0dhdGV3YXlUYXNrQ29tbWFuZE91dHB1dCxcbiAgR2V0V2lyZWxlc3NHYXRld2F5VGFza0RlZmluaXRpb25Db21tYW5kLFxuICB0eXBlIEdldFdpcmVsZXNzR2F0ZXdheVRhc2tEZWZpbml0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFdpcmVsZXNzR2F0ZXdheVRhc2tEZWZpbml0aW9uQ29tbWFuZE91dHB1dCxcbiAgTGlzdERlc3RpbmF0aW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdERlc3RpbmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0RGVzdGluYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdERldmljZVByb2ZpbGVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0RGV2aWNlUHJvZmlsZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdERldmljZVByb2ZpbGVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdERldmljZXNGb3JXaXJlbGVzc0RldmljZUltcG9ydFRhc2tDb21tYW5kLFxuICB0eXBlIExpc3REZXZpY2VzRm9yV2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3REZXZpY2VzRm9yV2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgTGlzdEV2ZW50Q29uZmlndXJhdGlvbnNDb21tYW5kLFxuICB0eXBlIExpc3RFdmVudENvbmZpZ3VyYXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RFdmVudENvbmZpZ3VyYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdEZ1b3RhVGFza3NDb21tYW5kLFxuICB0eXBlIExpc3RGdW90YVRhc2tzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RGdW90YVRhc2tzQ29tbWFuZE91dHB1dCxcbiAgTGlzdE11bHRpY2FzdEdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgTGlzdE11bHRpY2FzdEdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0TXVsdGljYXN0R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgTGlzdE11bHRpY2FzdEdyb3Vwc0J5RnVvdGFUYXNrQ29tbWFuZCxcbiAgdHlwZSBMaXN0TXVsdGljYXN0R3JvdXBzQnlGdW90YVRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdE11bHRpY2FzdEdyb3Vwc0J5RnVvdGFUYXNrQ29tbWFuZE91dHB1dCxcbiAgTGlzdE5ldHdvcmtBbmFseXplckNvbmZpZ3VyYXRpb25zQ29tbWFuZCxcbiAgdHlwZSBMaXN0TmV0d29ya0FuYWx5emVyQ29uZmlndXJhdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdE5ldHdvcmtBbmFseXplckNvbmZpZ3VyYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdFBhcnRuZXJBY2NvdW50c0NvbW1hbmQsXG4gIHR5cGUgTGlzdFBhcnRuZXJBY2NvdW50c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0UGFydG5lckFjY291bnRzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFBvc2l0aW9uQ29uZmlndXJhdGlvbnNDb21tYW5kLFxuICB0eXBlIExpc3RQb3NpdGlvbkNvbmZpZ3VyYXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RQb3NpdGlvbkNvbmZpZ3VyYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdFF1ZXVlZE1lc3NhZ2VzQ29tbWFuZCxcbiAgdHlwZSBMaXN0UXVldWVkTWVzc2FnZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFF1ZXVlZE1lc3NhZ2VzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFNlcnZpY2VQcm9maWxlc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNlcnZpY2VQcm9maWxlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U2VydmljZVByb2ZpbGVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgTGlzdFdpcmVsZXNzRGV2aWNlSW1wb3J0VGFza3NDb21tYW5kLFxuICB0eXBlIExpc3RXaXJlbGVzc0RldmljZUltcG9ydFRhc2tzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RXaXJlbGVzc0RldmljZUltcG9ydFRhc2tzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFdpcmVsZXNzRGV2aWNlc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFdpcmVsZXNzRGV2aWNlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0V2lyZWxlc3NEZXZpY2VzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFdpcmVsZXNzR2F0ZXdheVRhc2tEZWZpbml0aW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFdpcmVsZXNzR2F0ZXdheVRhc2tEZWZpbml0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0V2lyZWxlc3NHYXRld2F5VGFza0RlZmluaXRpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdFdpcmVsZXNzR2F0ZXdheXNDb21tYW5kLFxuICB0eXBlIExpc3RXaXJlbGVzc0dhdGV3YXlzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RXaXJlbGVzc0dhdGV3YXlzQ29tbWFuZE91dHB1dCxcbiAgUHV0UG9zaXRpb25Db25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBQdXRQb3NpdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0UG9zaXRpb25Db25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgUHV0UmVzb3VyY2VMb2dMZXZlbENvbW1hbmQsXG4gIHR5cGUgUHV0UmVzb3VyY2VMb2dMZXZlbENvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRSZXNvdXJjZUxvZ0xldmVsQ29tbWFuZE91dHB1dCxcbiAgUmVzZXRBbGxSZXNvdXJjZUxvZ0xldmVsc0NvbW1hbmQsXG4gIHR5cGUgUmVzZXRBbGxSZXNvdXJjZUxvZ0xldmVsc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXNldEFsbFJlc291cmNlTG9nTGV2ZWxzQ29tbWFuZE91dHB1dCxcbiAgUmVzZXRSZXNvdXJjZUxvZ0xldmVsQ29tbWFuZCxcbiAgdHlwZSBSZXNldFJlc291cmNlTG9nTGV2ZWxDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVzZXRSZXNvdXJjZUxvZ0xldmVsQ29tbWFuZE91dHB1dCxcbiAgU2VuZERhdGFUb011bHRpY2FzdEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBTZW5kRGF0YVRvTXVsdGljYXN0R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2VuZERhdGFUb011bHRpY2FzdEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgU2VuZERhdGFUb1dpcmVsZXNzRGV2aWNlQ29tbWFuZCxcbiAgdHlwZSBTZW5kRGF0YVRvV2lyZWxlc3NEZXZpY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2VuZERhdGFUb1dpcmVsZXNzRGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRCdWxrQXNzb2NpYXRlV2lyZWxlc3NEZXZpY2VXaXRoTXVsdGljYXN0R3JvdXBDb21tYW5kLFxuICB0eXBlIFN0YXJ0QnVsa0Fzc29jaWF0ZVdpcmVsZXNzRGV2aWNlV2l0aE11bHRpY2FzdEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0QnVsa0Fzc29jaWF0ZVdpcmVsZXNzRGV2aWNlV2l0aE11bHRpY2FzdEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRCdWxrRGlzYXNzb2NpYXRlV2lyZWxlc3NEZXZpY2VGcm9tTXVsdGljYXN0R3JvdXBDb21tYW5kLFxuICB0eXBlIFN0YXJ0QnVsa0Rpc2Fzc29jaWF0ZVdpcmVsZXNzRGV2aWNlRnJvbU11bHRpY2FzdEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0QnVsa0Rpc2Fzc29jaWF0ZVdpcmVsZXNzRGV2aWNlRnJvbU11bHRpY2FzdEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRGdW90YVRhc2tDb21tYW5kLFxuICB0eXBlIFN0YXJ0RnVvdGFUYXNrQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0RnVvdGFUYXNrQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRNdWx0aWNhc3RHcm91cFNlc3Npb25Db21tYW5kLFxuICB0eXBlIFN0YXJ0TXVsdGljYXN0R3JvdXBTZXNzaW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0TXVsdGljYXN0R3JvdXBTZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRTaW5nbGVXaXJlbGVzc0RldmljZUltcG9ydFRhc2tDb21tYW5kLFxuICB0eXBlIFN0YXJ0U2luZ2xlV2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0U2luZ2xlV2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRXaXJlbGVzc0RldmljZUltcG9ydFRhc2tDb21tYW5kLFxuICB0eXBlIFN0YXJ0V2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0V2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVGVzdFdpcmVsZXNzRGV2aWNlQ29tbWFuZCxcbiAgdHlwZSBUZXN0V2lyZWxlc3NEZXZpY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGVzdFdpcmVsZXNzRGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlRGVzdGluYXRpb25Db21tYW5kLFxuICB0eXBlIFVwZGF0ZURlc3RpbmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZURlc3RpbmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlRXZlbnRDb25maWd1cmF0aW9uQnlSZXNvdXJjZVR5cGVzQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVFdmVudENvbmZpZ3VyYXRpb25CeVJlc291cmNlVHlwZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlRXZlbnRDb25maWd1cmF0aW9uQnlSZXNvdXJjZVR5cGVzQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlRnVvdGFUYXNrQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVGdW90YVRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlRnVvdGFUYXNrQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlTG9nTGV2ZWxzQnlSZXNvdXJjZVR5cGVzQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVMb2dMZXZlbHNCeVJlc291cmNlVHlwZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlTG9nTGV2ZWxzQnlSZXNvdXJjZVR5cGVzQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlTWV0cmljQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlTWV0cmljQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVNZXRyaWNDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlTXVsdGljYXN0R3JvdXBDb21tYW5kLFxuICB0eXBlIFVwZGF0ZU11bHRpY2FzdEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZU11bHRpY2FzdEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlTmV0d29ya0FuYWx5emVyQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlTmV0d29ya0FuYWx5emVyQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVOZXR3b3JrQW5hbHl6ZXJDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlUGFydG5lckFjY291bnRDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVBhcnRuZXJBY2NvdW50Q29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVBhcnRuZXJBY2NvdW50Q29tbWFuZE91dHB1dCxcbiAgVXBkYXRlUG9zaXRpb25Db21tYW5kLFxuICB0eXBlIFVwZGF0ZVBvc2l0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVBvc2l0aW9uQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlUmVzb3VyY2VFdmVudENvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIFVwZGF0ZVJlc291cmNlRXZlbnRDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVJlc291cmNlRXZlbnRDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlUmVzb3VyY2VQb3NpdGlvbkNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlUmVzb3VyY2VQb3NpdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVSZXNvdXJjZVBvc2l0aW9uQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlV2lyZWxlc3NEZXZpY2VDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVdpcmVsZXNzRGV2aWNlQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVdpcmVsZXNzRGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlV2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVXaXJlbGVzc0RldmljZUltcG9ydFRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlV2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlV2lyZWxlc3NHYXRld2F5Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVXaXJlbGVzc0dhdGV3YXlDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlV2lyZWxlc3NHYXRld2F5Q29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1pb3Qtd2lyZWxlc3NcIjtcbmltcG9ydCB7IERhdGEsIEVmZmVjdCwgTGF5ZXIsIFJlY29yZCB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7XG4gIEFsbFNlcnZpY2VFcnJvcnMsXG4gIEFjY2Vzc0RlbmllZEVycm9yLFxuICBDb25mbGljdEVycm9yLFxuICBJbnRlcm5hbFNlcnZlckVycm9yLFxuICBSZXNvdXJjZU5vdEZvdW5kRXJyb3IsXG4gIFRocm90dGxpbmdFcnJvcixcbiAgVG9vTWFueVRhZ3NFcnJvcixcbiAgVmFsaWRhdGlvbkVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcbmltcG9ydCB7XG4gIElvVFdpcmVsZXNzQ2xpZW50SW5zdGFuY2UsXG4gIElvVFdpcmVsZXNzQ2xpZW50SW5zdGFuY2VMYXllcixcbn0gZnJvbSBcIi4vSW9UV2lyZWxlc3NDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdElvVFdpcmVsZXNzQ2xpZW50Q29uZmlnTGF5ZXIsXG4gIG1ha2VEZWZhdWx0SW9UV2lyZWxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgSW9UV2lyZWxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vSW9UV2lyZWxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBIYW5kbGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBjb25uZWN0aW9uIHBoYXNlIG9mIGEgcmVxdWVzdFxuICAgKiBtYXkgdGFrZSBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gYXR0ZW1wdCBpcyBhYmFuZG9uZWQuXG4gICAqL1xuICByZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbn1cblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIEFzc29jaWF0ZUF3c0FjY291bnRXaXRoUGFydG5lckFjY291bnRDb21tYW5kLFxuICBBc3NvY2lhdGVNdWx0aWNhc3RHcm91cFdpdGhGdW90YVRhc2tDb21tYW5kLFxuICBBc3NvY2lhdGVXaXJlbGVzc0RldmljZVdpdGhGdW90YVRhc2tDb21tYW5kLFxuICBBc3NvY2lhdGVXaXJlbGVzc0RldmljZVdpdGhNdWx0aWNhc3RHcm91cENvbW1hbmQsXG4gIEFzc29jaWF0ZVdpcmVsZXNzRGV2aWNlV2l0aFRoaW5nQ29tbWFuZCxcbiAgQXNzb2NpYXRlV2lyZWxlc3NHYXRld2F5V2l0aENlcnRpZmljYXRlQ29tbWFuZCxcbiAgQXNzb2NpYXRlV2lyZWxlc3NHYXRld2F5V2l0aFRoaW5nQ29tbWFuZCxcbiAgQ2FuY2VsTXVsdGljYXN0R3JvdXBTZXNzaW9uQ29tbWFuZCxcbiAgQ3JlYXRlRGVzdGluYXRpb25Db21tYW5kLFxuICBDcmVhdGVEZXZpY2VQcm9maWxlQ29tbWFuZCxcbiAgQ3JlYXRlRnVvdGFUYXNrQ29tbWFuZCxcbiAgQ3JlYXRlTXVsdGljYXN0R3JvdXBDb21tYW5kLFxuICBDcmVhdGVOZXR3b3JrQW5hbHl6ZXJDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgQ3JlYXRlU2VydmljZVByb2ZpbGVDb21tYW5kLFxuICBDcmVhdGVXaXJlbGVzc0RldmljZUNvbW1hbmQsXG4gIENyZWF0ZVdpcmVsZXNzR2F0ZXdheUNvbW1hbmQsXG4gIENyZWF0ZVdpcmVsZXNzR2F0ZXdheVRhc2tDb21tYW5kLFxuICBDcmVhdGVXaXJlbGVzc0dhdGV3YXlUYXNrRGVmaW5pdGlvbkNvbW1hbmQsXG4gIERlbGV0ZURlc3RpbmF0aW9uQ29tbWFuZCxcbiAgRGVsZXRlRGV2aWNlUHJvZmlsZUNvbW1hbmQsXG4gIERlbGV0ZUZ1b3RhVGFza0NvbW1hbmQsXG4gIERlbGV0ZU11bHRpY2FzdEdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlTmV0d29ya0FuYWx5emVyQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZVF1ZXVlZE1lc3NhZ2VzQ29tbWFuZCxcbiAgRGVsZXRlU2VydmljZVByb2ZpbGVDb21tYW5kLFxuICBEZWxldGVXaXJlbGVzc0RldmljZUNvbW1hbmQsXG4gIERlbGV0ZVdpcmVsZXNzRGV2aWNlSW1wb3J0VGFza0NvbW1hbmQsXG4gIERlbGV0ZVdpcmVsZXNzR2F0ZXdheUNvbW1hbmQsXG4gIERlbGV0ZVdpcmVsZXNzR2F0ZXdheVRhc2tDb21tYW5kLFxuICBEZWxldGVXaXJlbGVzc0dhdGV3YXlUYXNrRGVmaW5pdGlvbkNvbW1hbmQsXG4gIERlcmVnaXN0ZXJXaXJlbGVzc0RldmljZUNvbW1hbmQsXG4gIERpc2Fzc29jaWF0ZUF3c0FjY291bnRGcm9tUGFydG5lckFjY291bnRDb21tYW5kLFxuICBEaXNhc3NvY2lhdGVNdWx0aWNhc3RHcm91cEZyb21GdW90YVRhc2tDb21tYW5kLFxuICBEaXNhc3NvY2lhdGVXaXJlbGVzc0RldmljZUZyb21GdW90YVRhc2tDb21tYW5kLFxuICBEaXNhc3NvY2lhdGVXaXJlbGVzc0RldmljZUZyb21NdWx0aWNhc3RHcm91cENvbW1hbmQsXG4gIERpc2Fzc29jaWF0ZVdpcmVsZXNzRGV2aWNlRnJvbVRoaW5nQ29tbWFuZCxcbiAgRGlzYXNzb2NpYXRlV2lyZWxlc3NHYXRld2F5RnJvbUNlcnRpZmljYXRlQ29tbWFuZCxcbiAgRGlzYXNzb2NpYXRlV2lyZWxlc3NHYXRld2F5RnJvbVRoaW5nQ29tbWFuZCxcbiAgR2V0RGVzdGluYXRpb25Db21tYW5kLFxuICBHZXREZXZpY2VQcm9maWxlQ29tbWFuZCxcbiAgR2V0RXZlbnRDb25maWd1cmF0aW9uQnlSZXNvdXJjZVR5cGVzQ29tbWFuZCxcbiAgR2V0RnVvdGFUYXNrQ29tbWFuZCxcbiAgR2V0TG9nTGV2ZWxzQnlSZXNvdXJjZVR5cGVzQ29tbWFuZCxcbiAgR2V0TWV0cmljQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldE1ldHJpY3NDb21tYW5kLFxuICBHZXRNdWx0aWNhc3RHcm91cENvbW1hbmQsXG4gIEdldE11bHRpY2FzdEdyb3VwU2Vzc2lvbkNvbW1hbmQsXG4gIEdldE5ldHdvcmtBbmFseXplckNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBHZXRQYXJ0bmVyQWNjb3VudENvbW1hbmQsXG4gIEdldFBvc2l0aW9uQ29tbWFuZCxcbiAgR2V0UG9zaXRpb25Db25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0UG9zaXRpb25Fc3RpbWF0ZUNvbW1hbmQsXG4gIEdldFJlc291cmNlRXZlbnRDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0UmVzb3VyY2VMb2dMZXZlbENvbW1hbmQsXG4gIEdldFJlc291cmNlUG9zaXRpb25Db21tYW5kLFxuICBHZXRTZXJ2aWNlRW5kcG9pbnRDb21tYW5kLFxuICBHZXRTZXJ2aWNlUHJvZmlsZUNvbW1hbmQsXG4gIEdldFdpcmVsZXNzRGV2aWNlQ29tbWFuZCxcbiAgR2V0V2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZCxcbiAgR2V0V2lyZWxlc3NEZXZpY2VTdGF0aXN0aWNzQ29tbWFuZCxcbiAgR2V0V2lyZWxlc3NHYXRld2F5Q29tbWFuZCxcbiAgR2V0V2lyZWxlc3NHYXRld2F5Q2VydGlmaWNhdGVDb21tYW5kLFxuICBHZXRXaXJlbGVzc0dhdGV3YXlGaXJtd2FyZUluZm9ybWF0aW9uQ29tbWFuZCxcbiAgR2V0V2lyZWxlc3NHYXRld2F5U3RhdGlzdGljc0NvbW1hbmQsXG4gIEdldFdpcmVsZXNzR2F0ZXdheVRhc2tDb21tYW5kLFxuICBHZXRXaXJlbGVzc0dhdGV3YXlUYXNrRGVmaW5pdGlvbkNvbW1hbmQsXG4gIExpc3REZXN0aW5hdGlvbnNDb21tYW5kLFxuICBMaXN0RGV2aWNlUHJvZmlsZXNDb21tYW5kLFxuICBMaXN0RGV2aWNlc0ZvcldpcmVsZXNzRGV2aWNlSW1wb3J0VGFza0NvbW1hbmQsXG4gIExpc3RFdmVudENvbmZpZ3VyYXRpb25zQ29tbWFuZCxcbiAgTGlzdEZ1b3RhVGFza3NDb21tYW5kLFxuICBMaXN0TXVsdGljYXN0R3JvdXBzQ29tbWFuZCxcbiAgTGlzdE11bHRpY2FzdEdyb3Vwc0J5RnVvdGFUYXNrQ29tbWFuZCxcbiAgTGlzdE5ldHdvcmtBbmFseXplckNvbmZpZ3VyYXRpb25zQ29tbWFuZCxcbiAgTGlzdFBhcnRuZXJBY2NvdW50c0NvbW1hbmQsXG4gIExpc3RQb3NpdGlvbkNvbmZpZ3VyYXRpb25zQ29tbWFuZCxcbiAgTGlzdFF1ZXVlZE1lc3NhZ2VzQ29tbWFuZCxcbiAgTGlzdFNlcnZpY2VQcm9maWxlc0NvbW1hbmQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICBMaXN0V2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrc0NvbW1hbmQsXG4gIExpc3RXaXJlbGVzc0RldmljZXNDb21tYW5kLFxuICBMaXN0V2lyZWxlc3NHYXRld2F5VGFza0RlZmluaXRpb25zQ29tbWFuZCxcbiAgTGlzdFdpcmVsZXNzR2F0ZXdheXNDb21tYW5kLFxuICBQdXRQb3NpdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRSZXNvdXJjZUxvZ0xldmVsQ29tbWFuZCxcbiAgUmVzZXRBbGxSZXNvdXJjZUxvZ0xldmVsc0NvbW1hbmQsXG4gIFJlc2V0UmVzb3VyY2VMb2dMZXZlbENvbW1hbmQsXG4gIFNlbmREYXRhVG9NdWx0aWNhc3RHcm91cENvbW1hbmQsXG4gIFNlbmREYXRhVG9XaXJlbGVzc0RldmljZUNvbW1hbmQsXG4gIFN0YXJ0QnVsa0Fzc29jaWF0ZVdpcmVsZXNzRGV2aWNlV2l0aE11bHRpY2FzdEdyb3VwQ29tbWFuZCxcbiAgU3RhcnRCdWxrRGlzYXNzb2NpYXRlV2lyZWxlc3NEZXZpY2VGcm9tTXVsdGljYXN0R3JvdXBDb21tYW5kLFxuICBTdGFydEZ1b3RhVGFza0NvbW1hbmQsXG4gIFN0YXJ0TXVsdGljYXN0R3JvdXBTZXNzaW9uQ29tbWFuZCxcbiAgU3RhcnRTaW5nbGVXaXJlbGVzc0RldmljZUltcG9ydFRhc2tDb21tYW5kLFxuICBTdGFydFdpcmVsZXNzRGV2aWNlSW1wb3J0VGFza0NvbW1hbmQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVGVzdFdpcmVsZXNzRGV2aWNlQ29tbWFuZCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVwZGF0ZURlc3RpbmF0aW9uQ29tbWFuZCxcbiAgVXBkYXRlRXZlbnRDb25maWd1cmF0aW9uQnlSZXNvdXJjZVR5cGVzQ29tbWFuZCxcbiAgVXBkYXRlRnVvdGFUYXNrQ29tbWFuZCxcbiAgVXBkYXRlTG9nTGV2ZWxzQnlSZXNvdXJjZVR5cGVzQ29tbWFuZCxcbiAgVXBkYXRlTWV0cmljQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFVwZGF0ZU11bHRpY2FzdEdyb3VwQ29tbWFuZCxcbiAgVXBkYXRlTmV0d29ya0FuYWx5emVyQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFVwZGF0ZVBhcnRuZXJBY2NvdW50Q29tbWFuZCxcbiAgVXBkYXRlUG9zaXRpb25Db21tYW5kLFxuICBVcGRhdGVSZXNvdXJjZUV2ZW50Q29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFVwZGF0ZVJlc291cmNlUG9zaXRpb25Db21tYW5kLFxuICBVcGRhdGVXaXJlbGVzc0RldmljZUNvbW1hbmQsXG4gIFVwZGF0ZVdpcmVsZXNzRGV2aWNlSW1wb3J0VGFza0NvbW1hbmQsXG4gIFVwZGF0ZVdpcmVsZXNzR2F0ZXdheUNvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgSW9UV2lyZWxlc3NTZXJ2aWNlJCB7XG4gIHJlYWRvbmx5IF86IHVuaXF1ZSBzeW1ib2w7XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFzc29jaWF0ZUF3c0FjY291bnRXaXRoUGFydG5lckFjY291bnRDb21tYW5kfVxuICAgKi9cbiAgYXNzb2NpYXRlQXdzQWNjb3VudFdpdGhQYXJ0bmVyQWNjb3VudChcbiAgICBhcmdzOiBBc3NvY2lhdGVBd3NBY2NvdW50V2l0aFBhcnRuZXJBY2NvdW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQXNzb2NpYXRlQXdzQWNjb3VudFdpdGhQYXJ0bmVyQWNjb3VudENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQXNzb2NpYXRlTXVsdGljYXN0R3JvdXBXaXRoRnVvdGFUYXNrQ29tbWFuZH1cbiAgICovXG4gIGFzc29jaWF0ZU11bHRpY2FzdEdyb3VwV2l0aEZ1b3RhVGFzayhcbiAgICBhcmdzOiBBc3NvY2lhdGVNdWx0aWNhc3RHcm91cFdpdGhGdW90YVRhc2tDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBc3NvY2lhdGVNdWx0aWNhc3RHcm91cFdpdGhGdW90YVRhc2tDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFzc29jaWF0ZVdpcmVsZXNzRGV2aWNlV2l0aEZ1b3RhVGFza0NvbW1hbmR9XG4gICAqL1xuICBhc3NvY2lhdGVXaXJlbGVzc0RldmljZVdpdGhGdW90YVRhc2soXG4gICAgYXJnczogQXNzb2NpYXRlV2lyZWxlc3NEZXZpY2VXaXRoRnVvdGFUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQXNzb2NpYXRlV2lyZWxlc3NEZXZpY2VXaXRoRnVvdGFUYXNrQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBc3NvY2lhdGVXaXJlbGVzc0RldmljZVdpdGhNdWx0aWNhc3RHcm91cENvbW1hbmR9XG4gICAqL1xuICBhc3NvY2lhdGVXaXJlbGVzc0RldmljZVdpdGhNdWx0aWNhc3RHcm91cChcbiAgICBhcmdzOiBBc3NvY2lhdGVXaXJlbGVzc0RldmljZVdpdGhNdWx0aWNhc3RHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFzc29jaWF0ZVdpcmVsZXNzRGV2aWNlV2l0aE11bHRpY2FzdEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBc3NvY2lhdGVXaXJlbGVzc0RldmljZVdpdGhUaGluZ0NvbW1hbmR9XG4gICAqL1xuICBhc3NvY2lhdGVXaXJlbGVzc0RldmljZVdpdGhUaGluZyhcbiAgICBhcmdzOiBBc3NvY2lhdGVXaXJlbGVzc0RldmljZVdpdGhUaGluZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFzc29jaWF0ZVdpcmVsZXNzRGV2aWNlV2l0aFRoaW5nQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBc3NvY2lhdGVXaXJlbGVzc0dhdGV3YXlXaXRoQ2VydGlmaWNhdGVDb21tYW5kfVxuICAgKi9cbiAgYXNzb2NpYXRlV2lyZWxlc3NHYXRld2F5V2l0aENlcnRpZmljYXRlKFxuICAgIGFyZ3M6IEFzc29jaWF0ZVdpcmVsZXNzR2F0ZXdheVdpdGhDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFzc29jaWF0ZVdpcmVsZXNzR2F0ZXdheVdpdGhDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQXNzb2NpYXRlV2lyZWxlc3NHYXRld2F5V2l0aFRoaW5nQ29tbWFuZH1cbiAgICovXG4gIGFzc29jaWF0ZVdpcmVsZXNzR2F0ZXdheVdpdGhUaGluZyhcbiAgICBhcmdzOiBBc3NvY2lhdGVXaXJlbGVzc0dhdGV3YXlXaXRoVGhpbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBc3NvY2lhdGVXaXJlbGVzc0dhdGV3YXlXaXRoVGhpbmdDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENhbmNlbE11bHRpY2FzdEdyb3VwU2Vzc2lvbkNvbW1hbmR9XG4gICAqL1xuICBjYW5jZWxNdWx0aWNhc3RHcm91cFNlc3Npb24oXG4gICAgYXJnczogQ2FuY2VsTXVsdGljYXN0R3JvdXBTZXNzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ2FuY2VsTXVsdGljYXN0R3JvdXBTZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEZXN0aW5hdGlvbkNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEZXN0aW5hdGlvbihcbiAgICBhcmdzOiBDcmVhdGVEZXN0aW5hdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURlc3RpbmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEZXZpY2VQcm9maWxlQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZURldmljZVByb2ZpbGUoXG4gICAgYXJnczogQ3JlYXRlRGV2aWNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURldmljZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVGdW90YVRhc2tDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlRnVvdGFUYXNrKFxuICAgIGFyZ3M6IENyZWF0ZUZ1b3RhVGFza0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUZ1b3RhVGFza0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlTXVsdGljYXN0R3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlTXVsdGljYXN0R3JvdXAoXG4gICAgYXJnczogQ3JlYXRlTXVsdGljYXN0R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVNdWx0aWNhc3RHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlTmV0d29ya0FuYWx5emVyQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVOZXR3b3JrQW5hbHl6ZXJDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IENyZWF0ZU5ldHdvcmtBbmFseXplckNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVOZXR3b3JrQW5hbHl6ZXJDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTZXJ2aWNlUHJvZmlsZUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTZXJ2aWNlUHJvZmlsZShcbiAgICBhcmdzOiBDcmVhdGVTZXJ2aWNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVNlcnZpY2VQcm9maWxlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlV2lyZWxlc3NEZXZpY2VDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlV2lyZWxlc3NEZXZpY2UoXG4gICAgYXJnczogQ3JlYXRlV2lyZWxlc3NEZXZpY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVXaXJlbGVzc0RldmljZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlV2lyZWxlc3NHYXRld2F5Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVdpcmVsZXNzR2F0ZXdheShcbiAgICBhcmdzOiBDcmVhdGVXaXJlbGVzc0dhdGV3YXlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVXaXJlbGVzc0dhdGV3YXlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVXaXJlbGVzc0dhdGV3YXlUYXNrQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVdpcmVsZXNzR2F0ZXdheVRhc2soXG4gICAgYXJnczogQ3JlYXRlV2lyZWxlc3NHYXRld2F5VGFza0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVdpcmVsZXNzR2F0ZXdheVRhc2tDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVdpcmVsZXNzR2F0ZXdheVRhc2tEZWZpbml0aW9uQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVdpcmVsZXNzR2F0ZXdheVRhc2tEZWZpbml0aW9uKFxuICAgIGFyZ3M6IENyZWF0ZVdpcmVsZXNzR2F0ZXdheVRhc2tEZWZpbml0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlV2lyZWxlc3NHYXRld2F5VGFza0RlZmluaXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURlc3RpbmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURlc3RpbmF0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZURlc3RpbmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlRGVzdGluYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURldmljZVByb2ZpbGVDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlRGV2aWNlUHJvZmlsZShcbiAgICBhcmdzOiBEZWxldGVEZXZpY2VQcm9maWxlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlRGV2aWNlUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlRnVvdGFUYXNrQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUZ1b3RhVGFzayhcbiAgICBhcmdzOiBEZWxldGVGdW90YVRhc2tDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVGdW90YVRhc2tDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZU11bHRpY2FzdEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZU11bHRpY2FzdEdyb3VwKFxuICAgIGFyZ3M6IERlbGV0ZU11bHRpY2FzdEdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlTXVsdGljYXN0R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZU5ldHdvcmtBbmFseXplckNvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlTmV0d29ya0FuYWx5emVyQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBEZWxldGVOZXR3b3JrQW5hbHl6ZXJDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlTmV0d29ya0FuYWx5emVyQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUXVldWVkTWVzc2FnZXNDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUXVldWVkTWVzc2FnZXMoXG4gICAgYXJnczogRGVsZXRlUXVldWVkTWVzc2FnZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVRdWV1ZWRNZXNzYWdlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VydmljZVByb2ZpbGVDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU2VydmljZVByb2ZpbGUoXG4gICAgYXJnczogRGVsZXRlU2VydmljZVByb2ZpbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTZXJ2aWNlUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlV2lyZWxlc3NEZXZpY2VDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlV2lyZWxlc3NEZXZpY2UoXG4gICAgYXJnczogRGVsZXRlV2lyZWxlc3NEZXZpY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVXaXJlbGVzc0RldmljZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlV2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVdpcmVsZXNzRGV2aWNlSW1wb3J0VGFzayhcbiAgICBhcmdzOiBEZWxldGVXaXJlbGVzc0RldmljZUltcG9ydFRhc2tDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVXaXJlbGVzc0RldmljZUltcG9ydFRhc2tDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVdpcmVsZXNzR2F0ZXdheUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVXaXJlbGVzc0dhdGV3YXkoXG4gICAgYXJnczogRGVsZXRlV2lyZWxlc3NHYXRld2F5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlV2lyZWxlc3NHYXRld2F5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVXaXJlbGVzc0dhdGV3YXlUYXNrQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVdpcmVsZXNzR2F0ZXdheVRhc2soXG4gICAgYXJnczogRGVsZXRlV2lyZWxlc3NHYXRld2F5VGFza0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVdpcmVsZXNzR2F0ZXdheVRhc2tDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVdpcmVsZXNzR2F0ZXdheVRhc2tEZWZpbml0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVdpcmVsZXNzR2F0ZXdheVRhc2tEZWZpbml0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZVdpcmVsZXNzR2F0ZXdheVRhc2tEZWZpbml0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlV2lyZWxlc3NHYXRld2F5VGFza0RlZmluaXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlcmVnaXN0ZXJXaXJlbGVzc0RldmljZUNvbW1hbmR9XG4gICAqL1xuICBkZXJlZ2lzdGVyV2lyZWxlc3NEZXZpY2UoXG4gICAgYXJnczogRGVyZWdpc3RlcldpcmVsZXNzRGV2aWNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVyZWdpc3RlcldpcmVsZXNzRGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERpc2Fzc29jaWF0ZUF3c0FjY291bnRGcm9tUGFydG5lckFjY291bnRDb21tYW5kfVxuICAgKi9cbiAgZGlzYXNzb2NpYXRlQXdzQWNjb3VudEZyb21QYXJ0bmVyQWNjb3VudChcbiAgICBhcmdzOiBEaXNhc3NvY2lhdGVBd3NBY2NvdW50RnJvbVBhcnRuZXJBY2NvdW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGlzYXNzb2NpYXRlQXdzQWNjb3VudEZyb21QYXJ0bmVyQWNjb3VudENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEaXNhc3NvY2lhdGVNdWx0aWNhc3RHcm91cEZyb21GdW90YVRhc2tDb21tYW5kfVxuICAgKi9cbiAgZGlzYXNzb2NpYXRlTXVsdGljYXN0R3JvdXBGcm9tRnVvdGFUYXNrKFxuICAgIGFyZ3M6IERpc2Fzc29jaWF0ZU11bHRpY2FzdEdyb3VwRnJvbUZ1b3RhVGFza0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERpc2Fzc29jaWF0ZU11bHRpY2FzdEdyb3VwRnJvbUZ1b3RhVGFza0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERpc2Fzc29jaWF0ZVdpcmVsZXNzRGV2aWNlRnJvbUZ1b3RhVGFza0NvbW1hbmR9XG4gICAqL1xuICBkaXNhc3NvY2lhdGVXaXJlbGVzc0RldmljZUZyb21GdW90YVRhc2soXG4gICAgYXJnczogRGlzYXNzb2NpYXRlV2lyZWxlc3NEZXZpY2VGcm9tRnVvdGFUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGlzYXNzb2NpYXRlV2lyZWxlc3NEZXZpY2VGcm9tRnVvdGFUYXNrQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEaXNhc3NvY2lhdGVXaXJlbGVzc0RldmljZUZyb21NdWx0aWNhc3RHcm91cENvbW1hbmR9XG4gICAqL1xuICBkaXNhc3NvY2lhdGVXaXJlbGVzc0RldmljZUZyb21NdWx0aWNhc3RHcm91cChcbiAgICBhcmdzOiBEaXNhc3NvY2lhdGVXaXJlbGVzc0RldmljZUZyb21NdWx0aWNhc3RHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERpc2Fzc29jaWF0ZVdpcmVsZXNzRGV2aWNlRnJvbU11bHRpY2FzdEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEaXNhc3NvY2lhdGVXaXJlbGVzc0RldmljZUZyb21UaGluZ0NvbW1hbmR9XG4gICAqL1xuICBkaXNhc3NvY2lhdGVXaXJlbGVzc0RldmljZUZyb21UaGluZyhcbiAgICBhcmdzOiBEaXNhc3NvY2lhdGVXaXJlbGVzc0RldmljZUZyb21UaGluZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERpc2Fzc29jaWF0ZVdpcmVsZXNzRGV2aWNlRnJvbVRoaW5nQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEaXNhc3NvY2lhdGVXaXJlbGVzc0dhdGV3YXlGcm9tQ2VydGlmaWNhdGVDb21tYW5kfVxuICAgKi9cbiAgZGlzYXNzb2NpYXRlV2lyZWxlc3NHYXRld2F5RnJvbUNlcnRpZmljYXRlKFxuICAgIGFyZ3M6IERpc2Fzc29jaWF0ZVdpcmVsZXNzR2F0ZXdheUZyb21DZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERpc2Fzc29jaWF0ZVdpcmVsZXNzR2F0ZXdheUZyb21DZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGlzYXNzb2NpYXRlV2lyZWxlc3NHYXRld2F5RnJvbVRoaW5nQ29tbWFuZH1cbiAgICovXG4gIGRpc2Fzc29jaWF0ZVdpcmVsZXNzR2F0ZXdheUZyb21UaGluZyhcbiAgICBhcmdzOiBEaXNhc3NvY2lhdGVXaXJlbGVzc0dhdGV3YXlGcm9tVGhpbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEaXNhc3NvY2lhdGVXaXJlbGVzc0dhdGV3YXlGcm9tVGhpbmdDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldERlc3RpbmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGdldERlc3RpbmF0aW9uKFxuICAgIGFyZ3M6IEdldERlc3RpbmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0RGVzdGluYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldERldmljZVByb2ZpbGVDb21tYW5kfVxuICAgKi9cbiAgZ2V0RGV2aWNlUHJvZmlsZShcbiAgICBhcmdzOiBHZXREZXZpY2VQcm9maWxlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0RGV2aWNlUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0RXZlbnRDb25maWd1cmF0aW9uQnlSZXNvdXJjZVR5cGVzQ29tbWFuZH1cbiAgICovXG4gIGdldEV2ZW50Q29uZmlndXJhdGlvbkJ5UmVzb3VyY2VUeXBlcyhcbiAgICBhcmdzOiBHZXRFdmVudENvbmZpZ3VyYXRpb25CeVJlc291cmNlVHlwZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRFdmVudENvbmZpZ3VyYXRpb25CeVJlc291cmNlVHlwZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQWNjZXNzRGVuaWVkRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVGhyb3R0bGluZ0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEZ1b3RhVGFza0NvbW1hbmR9XG4gICAqL1xuICBnZXRGdW90YVRhc2soXG4gICAgYXJnczogR2V0RnVvdGFUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0RnVvdGFUYXNrQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRMb2dMZXZlbHNCeVJlc291cmNlVHlwZXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0TG9nTGV2ZWxzQnlSZXNvdXJjZVR5cGVzKFxuICAgIGFyZ3M6IEdldExvZ0xldmVsc0J5UmVzb3VyY2VUeXBlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldExvZ0xldmVsc0J5UmVzb3VyY2VUeXBlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0TWV0cmljQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBnZXRNZXRyaWNDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IEdldE1ldHJpY0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRNZXRyaWNDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRNZXRyaWNzQ29tbWFuZH1cbiAgICovXG4gIGdldE1ldHJpY3MoXG4gICAgYXJnczogR2V0TWV0cmljc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldE1ldHJpY3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE11bHRpY2FzdEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGdldE11bHRpY2FzdEdyb3VwKFxuICAgIGFyZ3M6IEdldE11bHRpY2FzdEdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0TXVsdGljYXN0R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE11bHRpY2FzdEdyb3VwU2Vzc2lvbkNvbW1hbmR9XG4gICAqL1xuICBnZXRNdWx0aWNhc3RHcm91cFNlc3Npb24oXG4gICAgYXJnczogR2V0TXVsdGljYXN0R3JvdXBTZXNzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0TXVsdGljYXN0R3JvdXBTZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXROZXR3b3JrQW5hbHl6ZXJDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGdldE5ldHdvcmtBbmFseXplckNvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogR2V0TmV0d29ya0FuYWx5emVyQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldE5ldHdvcmtBbmFseXplckNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFBhcnRuZXJBY2NvdW50Q29tbWFuZH1cbiAgICovXG4gIGdldFBhcnRuZXJBY2NvdW50KFxuICAgIGFyZ3M6IEdldFBhcnRuZXJBY2NvdW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0UGFydG5lckFjY291bnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0UG9zaXRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0UG9zaXRpb24oXG4gICAgYXJnczogR2V0UG9zaXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRQb3NpdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0UG9zaXRpb25Db25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGdldFBvc2l0aW9uQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBHZXRQb3NpdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRQb3NpdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFBvc2l0aW9uRXN0aW1hdGVDb21tYW5kfVxuICAgKi9cbiAgZ2V0UG9zaXRpb25Fc3RpbWF0ZShcbiAgICBhcmdzOiBHZXRQb3NpdGlvbkVzdGltYXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0UG9zaXRpb25Fc3RpbWF0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0UmVzb3VyY2VFdmVudENvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0UmVzb3VyY2VFdmVudENvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogR2V0UmVzb3VyY2VFdmVudENvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRSZXNvdXJjZUV2ZW50Q29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0UmVzb3VyY2VMb2dMZXZlbENvbW1hbmR9XG4gICAqL1xuICBnZXRSZXNvdXJjZUxvZ0xldmVsKFxuICAgIGFyZ3M6IEdldFJlc291cmNlTG9nTGV2ZWxDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRSZXNvdXJjZUxvZ0xldmVsQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRSZXNvdXJjZVBvc2l0aW9uQ29tbWFuZH1cbiAgICovXG4gIGdldFJlc291cmNlUG9zaXRpb24oXG4gICAgYXJnczogR2V0UmVzb3VyY2VQb3NpdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFJlc291cmNlUG9zaXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFNlcnZpY2VFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBnZXRTZXJ2aWNlRW5kcG9pbnQoXG4gICAgYXJnczogR2V0U2VydmljZUVuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U2VydmljZUVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0U2VydmljZVByb2ZpbGVDb21tYW5kfVxuICAgKi9cbiAgZ2V0U2VydmljZVByb2ZpbGUoXG4gICAgYXJnczogR2V0U2VydmljZVByb2ZpbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRTZXJ2aWNlUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0V2lyZWxlc3NEZXZpY2VDb21tYW5kfVxuICAgKi9cbiAgZ2V0V2lyZWxlc3NEZXZpY2UoXG4gICAgYXJnczogR2V0V2lyZWxlc3NEZXZpY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRXaXJlbGVzc0RldmljZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0V2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZH1cbiAgICovXG4gIGdldFdpcmVsZXNzRGV2aWNlSW1wb3J0VGFzayhcbiAgICBhcmdzOiBHZXRXaXJlbGVzc0RldmljZUltcG9ydFRhc2tDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRXaXJlbGVzc0RldmljZUltcG9ydFRhc2tDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFdpcmVsZXNzRGV2aWNlU3RhdGlzdGljc0NvbW1hbmR9XG4gICAqL1xuICBnZXRXaXJlbGVzc0RldmljZVN0YXRpc3RpY3MoXG4gICAgYXJnczogR2V0V2lyZWxlc3NEZXZpY2VTdGF0aXN0aWNzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0V2lyZWxlc3NEZXZpY2VTdGF0aXN0aWNzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRXaXJlbGVzc0dhdGV3YXlDb21tYW5kfVxuICAgKi9cbiAgZ2V0V2lyZWxlc3NHYXRld2F5KFxuICAgIGFyZ3M6IEdldFdpcmVsZXNzR2F0ZXdheUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFdpcmVsZXNzR2F0ZXdheUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0V2lyZWxlc3NHYXRld2F5Q2VydGlmaWNhdGVDb21tYW5kfVxuICAgKi9cbiAgZ2V0V2lyZWxlc3NHYXRld2F5Q2VydGlmaWNhdGUoXG4gICAgYXJnczogR2V0V2lyZWxlc3NHYXRld2F5Q2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRXaXJlbGVzc0dhdGV3YXlDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0V2lyZWxlc3NHYXRld2F5RmlybXdhcmVJbmZvcm1hdGlvbkNvbW1hbmR9XG4gICAqL1xuICBnZXRXaXJlbGVzc0dhdGV3YXlGaXJtd2FyZUluZm9ybWF0aW9uKFxuICAgIGFyZ3M6IEdldFdpcmVsZXNzR2F0ZXdheUZpcm13YXJlSW5mb3JtYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRXaXJlbGVzc0dhdGV3YXlGaXJtd2FyZUluZm9ybWF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRXaXJlbGVzc0dhdGV3YXlTdGF0aXN0aWNzQ29tbWFuZH1cbiAgICovXG4gIGdldFdpcmVsZXNzR2F0ZXdheVN0YXRpc3RpY3MoXG4gICAgYXJnczogR2V0V2lyZWxlc3NHYXRld2F5U3RhdGlzdGljc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFdpcmVsZXNzR2F0ZXdheVN0YXRpc3RpY3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFdpcmVsZXNzR2F0ZXdheVRhc2tDb21tYW5kfVxuICAgKi9cbiAgZ2V0V2lyZWxlc3NHYXRld2F5VGFzayhcbiAgICBhcmdzOiBHZXRXaXJlbGVzc0dhdGV3YXlUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0V2lyZWxlc3NHYXRld2F5VGFza0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0V2lyZWxlc3NHYXRld2F5VGFza0RlZmluaXRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0V2lyZWxlc3NHYXRld2F5VGFza0RlZmluaXRpb24oXG4gICAgYXJnczogR2V0V2lyZWxlc3NHYXRld2F5VGFza0RlZmluaXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRXaXJlbGVzc0dhdGV3YXlUYXNrRGVmaW5pdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdERlc3RpbmF0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0RGVzdGluYXRpb25zKFxuICAgIGFyZ3M6IExpc3REZXN0aW5hdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0RGVzdGluYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdERldmljZVByb2ZpbGVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3REZXZpY2VQcm9maWxlcyhcbiAgICBhcmdzOiBMaXN0RGV2aWNlUHJvZmlsZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0RGV2aWNlUHJvZmlsZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0RGV2aWNlc0ZvcldpcmVsZXNzRGV2aWNlSW1wb3J0VGFza0NvbW1hbmR9XG4gICAqL1xuICBsaXN0RGV2aWNlc0ZvcldpcmVsZXNzRGV2aWNlSW1wb3J0VGFzayhcbiAgICBhcmdzOiBMaXN0RGV2aWNlc0ZvcldpcmVsZXNzRGV2aWNlSW1wb3J0VGFza0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3REZXZpY2VzRm9yV2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0RXZlbnRDb25maWd1cmF0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0RXZlbnRDb25maWd1cmF0aW9ucyhcbiAgICBhcmdzOiBMaXN0RXZlbnRDb25maWd1cmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RFdmVudENvbmZpZ3VyYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEZ1b3RhVGFza3NDb21tYW5kfVxuICAgKi9cbiAgbGlzdEZ1b3RhVGFza3MoXG4gICAgYXJnczogTGlzdEZ1b3RhVGFza3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0RnVvdGFUYXNrc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RNdWx0aWNhc3RHcm91cHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdE11bHRpY2FzdEdyb3VwcyhcbiAgICBhcmdzOiBMaXN0TXVsdGljYXN0R3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdE11bHRpY2FzdEdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RNdWx0aWNhc3RHcm91cHNCeUZ1b3RhVGFza0NvbW1hbmR9XG4gICAqL1xuICBsaXN0TXVsdGljYXN0R3JvdXBzQnlGdW90YVRhc2soXG4gICAgYXJnczogTGlzdE11bHRpY2FzdEdyb3Vwc0J5RnVvdGFUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdE11bHRpY2FzdEdyb3Vwc0J5RnVvdGFUYXNrQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0TmV0d29ya0FuYWx5emVyQ29uZmlndXJhdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdE5ldHdvcmtBbmFseXplckNvbmZpZ3VyYXRpb25zKFxuICAgIGFyZ3M6IExpc3ROZXR3b3JrQW5hbHl6ZXJDb25maWd1cmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3ROZXR3b3JrQW5hbHl6ZXJDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RQYXJ0bmVyQWNjb3VudHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFBhcnRuZXJBY2NvdW50cyhcbiAgICBhcmdzOiBMaXN0UGFydG5lckFjY291bnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFBhcnRuZXJBY2NvdW50c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0UG9zaXRpb25Db25maWd1cmF0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0UG9zaXRpb25Db25maWd1cmF0aW9ucyhcbiAgICBhcmdzOiBMaXN0UG9zaXRpb25Db25maWd1cmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RQb3NpdGlvbkNvbmZpZ3VyYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFF1ZXVlZE1lc3NhZ2VzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RRdWV1ZWRNZXNzYWdlcyhcbiAgICBhcmdzOiBMaXN0UXVldWVkTWVzc2FnZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0UXVldWVkTWVzc2FnZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZXJ2aWNlUHJvZmlsZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNlcnZpY2VQcm9maWxlcyhcbiAgICBhcmdzOiBMaXN0U2VydmljZVByb2ZpbGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFNlcnZpY2VQcm9maWxlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgbGlzdFRhZ3NGb3JSZXNvdXJjZShcbiAgICBhcmdzOiBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0V2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0V2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrcyhcbiAgICBhcmdzOiBMaXN0V2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RXaXJlbGVzc0RldmljZUltcG9ydFRhc2tzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0V2lyZWxlc3NEZXZpY2VzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RXaXJlbGVzc0RldmljZXMoXG4gICAgYXJnczogTGlzdFdpcmVsZXNzRGV2aWNlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RXaXJlbGVzc0RldmljZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0V2lyZWxlc3NHYXRld2F5VGFza0RlZmluaXRpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RXaXJlbGVzc0dhdGV3YXlUYXNrRGVmaW5pdGlvbnMoXG4gICAgYXJnczogTGlzdFdpcmVsZXNzR2F0ZXdheVRhc2tEZWZpbml0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RXaXJlbGVzc0dhdGV3YXlUYXNrRGVmaW5pdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0V2lyZWxlc3NHYXRld2F5c0NvbW1hbmR9XG4gICAqL1xuICBsaXN0V2lyZWxlc3NHYXRld2F5cyhcbiAgICBhcmdzOiBMaXN0V2lyZWxlc3NHYXRld2F5c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RXaXJlbGVzc0dhdGV3YXlzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0UG9zaXRpb25Db25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHB1dFBvc2l0aW9uQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBQdXRQb3NpdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRQb3NpdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFJlc291cmNlTG9nTGV2ZWxDb21tYW5kfVxuICAgKi9cbiAgcHV0UmVzb3VyY2VMb2dMZXZlbChcbiAgICBhcmdzOiBQdXRSZXNvdXJjZUxvZ0xldmVsQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0UmVzb3VyY2VMb2dMZXZlbENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVzZXRBbGxSZXNvdXJjZUxvZ0xldmVsc0NvbW1hbmR9XG4gICAqL1xuICByZXNldEFsbFJlc291cmNlTG9nTGV2ZWxzKFxuICAgIGFyZ3M6IFJlc2V0QWxsUmVzb3VyY2VMb2dMZXZlbHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXNldEFsbFJlc291cmNlTG9nTGV2ZWxzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZXNldFJlc291cmNlTG9nTGV2ZWxDb21tYW5kfVxuICAgKi9cbiAgcmVzZXRSZXNvdXJjZUxvZ0xldmVsKFxuICAgIGFyZ3M6IFJlc2V0UmVzb3VyY2VMb2dMZXZlbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlc2V0UmVzb3VyY2VMb2dMZXZlbENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2VuZERhdGFUb011bHRpY2FzdEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHNlbmREYXRhVG9NdWx0aWNhc3RHcm91cChcbiAgICBhcmdzOiBTZW5kRGF0YVRvTXVsdGljYXN0R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZW5kRGF0YVRvTXVsdGljYXN0R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNlbmREYXRhVG9XaXJlbGVzc0RldmljZUNvbW1hbmR9XG4gICAqL1xuICBzZW5kRGF0YVRvV2lyZWxlc3NEZXZpY2UoXG4gICAgYXJnczogU2VuZERhdGFUb1dpcmVsZXNzRGV2aWNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU2VuZERhdGFUb1dpcmVsZXNzRGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0QnVsa0Fzc29jaWF0ZVdpcmVsZXNzRGV2aWNlV2l0aE11bHRpY2FzdEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0QnVsa0Fzc29jaWF0ZVdpcmVsZXNzRGV2aWNlV2l0aE11bHRpY2FzdEdyb3VwKFxuICAgIGFyZ3M6IFN0YXJ0QnVsa0Fzc29jaWF0ZVdpcmVsZXNzRGV2aWNlV2l0aE11bHRpY2FzdEdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRCdWxrQXNzb2NpYXRlV2lyZWxlc3NEZXZpY2VXaXRoTXVsdGljYXN0R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0QnVsa0Rpc2Fzc29jaWF0ZVdpcmVsZXNzRGV2aWNlRnJvbU11bHRpY2FzdEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0QnVsa0Rpc2Fzc29jaWF0ZVdpcmVsZXNzRGV2aWNlRnJvbU11bHRpY2FzdEdyb3VwKFxuICAgIGFyZ3M6IFN0YXJ0QnVsa0Rpc2Fzc29jaWF0ZVdpcmVsZXNzRGV2aWNlRnJvbU11bHRpY2FzdEdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRCdWxrRGlzYXNzb2NpYXRlV2lyZWxlc3NEZXZpY2VGcm9tTXVsdGljYXN0R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0RnVvdGFUYXNrQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0RnVvdGFUYXNrKFxuICAgIGFyZ3M6IFN0YXJ0RnVvdGFUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRGdW90YVRhc2tDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0TXVsdGljYXN0R3JvdXBTZXNzaW9uQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0TXVsdGljYXN0R3JvdXBTZXNzaW9uKFxuICAgIGFyZ3M6IFN0YXJ0TXVsdGljYXN0R3JvdXBTZXNzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRNdWx0aWNhc3RHcm91cFNlc3Npb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0U2luZ2xlV2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0U2luZ2xlV2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrKFxuICAgIGFyZ3M6IFN0YXJ0U2luZ2xlV2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRTaW5nbGVXaXJlbGVzc0RldmljZUltcG9ydFRhc2tDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0V2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0V2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrKFxuICAgIGFyZ3M6IFN0YXJ0V2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRXaXJlbGVzc0RldmljZUltcG9ydFRhc2tDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBUb29NYW55VGFnc0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVGVzdFdpcmVsZXNzRGV2aWNlQ29tbWFuZH1cbiAgICovXG4gIHRlc3RXaXJlbGVzc0RldmljZShcbiAgICBhcmdzOiBUZXN0V2lyZWxlc3NEZXZpY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBUZXN0V2lyZWxlc3NEZXZpY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB1bnRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFVudGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZURlc3RpbmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZURlc3RpbmF0aW9uKFxuICAgIGFyZ3M6IFVwZGF0ZURlc3RpbmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlRGVzdGluYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUV2ZW50Q29uZmlndXJhdGlvbkJ5UmVzb3VyY2VUeXBlc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVFdmVudENvbmZpZ3VyYXRpb25CeVJlc291cmNlVHlwZXMoXG4gICAgYXJnczogVXBkYXRlRXZlbnRDb25maWd1cmF0aW9uQnlSZXNvdXJjZVR5cGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlRXZlbnRDb25maWd1cmF0aW9uQnlSZXNvdXJjZVR5cGVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlRnVvdGFUYXNrQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZUZ1b3RhVGFzayhcbiAgICBhcmdzOiBVcGRhdGVGdW90YVRhc2tDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVGdW90YVRhc2tDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUxvZ0xldmVsc0J5UmVzb3VyY2VUeXBlc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVMb2dMZXZlbHNCeVJlc291cmNlVHlwZXMoXG4gICAgYXJnczogVXBkYXRlTG9nTGV2ZWxzQnlSZXNvdXJjZVR5cGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlTG9nTGV2ZWxzQnlSZXNvdXJjZVR5cGVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVNZXRyaWNDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZU1ldHJpY0NvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogVXBkYXRlTWV0cmljQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZU1ldHJpY0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZU11bHRpY2FzdEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZU11bHRpY2FzdEdyb3VwKFxuICAgIGFyZ3M6IFVwZGF0ZU11bHRpY2FzdEdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlTXVsdGljYXN0R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZU5ldHdvcmtBbmFseXplckNvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgdXBkYXRlTmV0d29ya0FuYWx5emVyQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBVcGRhdGVOZXR3b3JrQW5hbHl6ZXJDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlTmV0d29ya0FuYWx5emVyQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlUGFydG5lckFjY291bnRDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlUGFydG5lckFjY291bnQoXG4gICAgYXJnczogVXBkYXRlUGFydG5lckFjY291bnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVQYXJ0bmVyQWNjb3VudENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVQb3NpdGlvbkNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVQb3NpdGlvbihcbiAgICBhcmdzOiBVcGRhdGVQb3NpdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVBvc2l0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVSZXNvdXJjZUV2ZW50Q29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVSZXNvdXJjZUV2ZW50Q29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBVcGRhdGVSZXNvdXJjZUV2ZW50Q29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVJlc291cmNlRXZlbnRDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVSZXNvdXJjZVBvc2l0aW9uQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVJlc291cmNlUG9zaXRpb24oXG4gICAgYXJnczogVXBkYXRlUmVzb3VyY2VQb3NpdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVJlc291cmNlUG9zaXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVdpcmVsZXNzRGV2aWNlQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVdpcmVsZXNzRGV2aWNlKFxuICAgIGFyZ3M6IFVwZGF0ZVdpcmVsZXNzRGV2aWNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlV2lyZWxlc3NEZXZpY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVdpcmVsZXNzRGV2aWNlSW1wb3J0VGFza0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVXaXJlbGVzc0RldmljZUltcG9ydFRhc2soXG4gICAgYXJnczogVXBkYXRlV2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlV2lyZWxlc3NEZXZpY2VJbXBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVXaXJlbGVzc0dhdGV3YXlDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlV2lyZWxlc3NHYXRld2F5KFxuICAgIGFyZ3M6IFVwZGF0ZVdpcmVsZXNzR2F0ZXdheUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVdpcmVsZXNzR2F0ZXdheUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VJb1RXaXJlbGVzc1NlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhJb1RXaXJlbGVzc0NsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zKSA9PlxuICAgICAgRWZmZWN0LnRyeVByb21pc2Uoe1xuICAgICAgICB0cnk6IChhYm9ydFNpZ25hbCkgPT5cbiAgICAgICAgICBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIHtcbiAgICAgICAgICAgIC4uLihvcHRpb25zID8/IHt9KSxcbiAgICAgICAgICAgIGFib3J0U2lnbmFsLFxuICAgICAgICAgIH0pLFxuICAgICAgICBjYXRjaDogKGUpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBlIGluc3RhbmNlb2YgSW9UV2lyZWxlc3NTZXJ2aWNlRXhjZXB0aW9uICYmXG4gICAgICAgICAgICBBbGxTZXJ2aWNlRXJyb3JzLmluY2x1ZGVzKGUubmFtZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IFNlcnZpY2VFeGNlcHRpb24gPSBEYXRhLnRhZ2dlZDxcbiAgICAgICAgICAgICAgVGFnZ2VkRXhjZXB0aW9uPElvVFdpcmVsZXNzU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgSW9UV2lyZWxlc3NTZXJ2aWNlJDtcbn0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICovXG5leHBvcnQgY2xhc3MgSW9UV2lyZWxlc3NTZXJ2aWNlIGV4dGVuZHMgRWZmZWN0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtaW90LXdpcmVsZXNzL0lvVFdpcmVsZXNzU2VydmljZVwiLFxuKTxJb1RXaXJlbGVzc1NlcnZpY2UsIElvVFdpcmVsZXNzU2VydmljZSQ+KCkge1xuICBzdGF0aWMgcmVhZG9ubHkgZGVmYXVsdExheWVyID0gTGF5ZXIuZWZmZWN0KFxuICAgIHRoaXMsXG4gICAgbWFrZUlvVFdpcmVsZXNzU2VydmljZSxcbiAgKS5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoSW9UV2lyZWxlc3NDbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgICBMYXllci5wcm92aWRlKERlZmF1bHRJb1RXaXJlbGVzc0NsaWVudENvbmZpZ0xheWVyKSxcbiAgKTtcbiAgc3RhdGljIHJlYWRvbmx5IGxheWVyID0gKGNvbmZpZzogSW9UV2lyZWxlc3NDbGllbnRDb25maWcpID0+XG4gICAgTGF5ZXIuZWZmZWN0KHRoaXMsIG1ha2VJb1RXaXJlbGVzc1NlcnZpY2UpLnBpcGUoXG4gICAgICBMYXllci5wcm92aWRlKElvVFdpcmVsZXNzQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgSW9UV2lyZWxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgICAgICAgICBtYWtlRGVmYXVsdElvVFdpcmVsZXNzQ2xpZW50SW5zdGFuY2VDb25maWcucGlwZShcbiAgICAgICAgICAgIEVmZmVjdC5tYXAoKGRlZmF1bHRDb25maWcpID0+ICh7IC4uLmRlZmF1bHRDb25maWcsIC4uLmNvbmZpZyB9KSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbiAgc3RhdGljIHJlYWRvbmx5IGJhc2VMYXllciA9IChcbiAgICBldmFsdWF0ZTogKGRlZmF1bHRDb25maWc6IElvVFdpcmVsZXNzQ2xpZW50Q29uZmlnKSA9PiBJb1RXaXJlbGVzc0NsaWVudCxcbiAgKSA9PlxuICAgIExheWVyLmVmZmVjdCh0aGlzLCBtYWtlSW9UV2lyZWxlc3NTZXJ2aWNlKS5waXBlKFxuICAgICAgTGF5ZXIucHJvdmlkZShcbiAgICAgICAgTGF5ZXIuZWZmZWN0KFxuICAgICAgICAgIElvVFdpcmVsZXNzQ2xpZW50SW5zdGFuY2UsXG4gICAgICAgICAgRWZmZWN0Lm1hcChtYWtlRGVmYXVsdElvVFdpcmVsZXNzQ2xpZW50SW5zdGFuY2VDb25maWcsIGV2YWx1YXRlKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqIEBhbGlhcyBJb1RXaXJlbGVzc1NlcnZpY2VcbiAqL1xuZXhwb3J0IGNvbnN0IElvVFdpcmVsZXNzID0gSW9UV2lyZWxlc3NTZXJ2aWNlO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIElvVFdpcmVsZXNzLmJhc2VMYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlSW9UV2lyZWxlc3NTZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIElvVFdpcmVsZXNzU2VydmljZSxcbiAgbWFrZUlvVFdpcmVsZXNzU2VydmljZSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgSW9UV2lyZWxlc3MubGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgSW9UV2lyZWxlc3NTZXJ2aWNlTGF5ZXIgPSBCYXNlSW9UV2lyZWxlc3NTZXJ2aWNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShJb1RXaXJlbGVzc0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBJb1RXaXJlbGVzcy5kZWZhdWx0TGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdElvVFdpcmVsZXNzU2VydmljZUxheWVyID0gSW9UV2lyZWxlc3NTZXJ2aWNlLmRlZmF1bHRMYXllcjtcbiJdfQ==
|
package/lib/esm/index.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from "./Errors";
|
|
2
|
+
export * from "./IoTWirelessClientInstance";
|
|
3
|
+
export * from "./IoTWirelessClientInstanceConfig";
|
|
4
|
+
export * from "./IoTWirelessService";
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9FcnJvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0lvVFdpcmVsZXNzQ2xpZW50SW5zdGFuY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0lvVFdpcmVsZXNzQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0lvVFdpcmVsZXNzU2VydmljZVwiO1xuIl19
|
package/lib/index.d.ts
ADDED
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("./IoTWirelessClientInstance"), exports);
|
|
19
|
+
__exportStar(require("./IoTWirelessClientInstanceConfig"), exports);
|
|
20
|
+
__exportStar(require("./IoTWirelessService"), exports);
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF5QjtBQUN6Qiw4REFBNEM7QUFDNUMsb0VBQWtEO0FBQ2xELHVEQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vSW9UV2lyZWxlc3NDbGllbnRJbnN0YW5jZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vSW9UV2lyZWxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vSW9UV2lyZWxlc3NTZXJ2aWNlXCI7XG4iXX0=
|
package/package.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@effect-aws/client-iot-wireless",
|
|
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-iot-wireless": "^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-iot-wireless",
|
|
3
|
+
"root": "packages/client-iot-wireless",
|
|
4
|
+
"targets": {
|
|
5
|
+
"default": {
|
|
6
|
+
"executor": "nx:run-commands",
|
|
7
|
+
"options": {
|
|
8
|
+
"command": "pnpm exec projen default",
|
|
9
|
+
"cwd": "packages/client-iot-wireless"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"pre-compile": {
|
|
13
|
+
"executor": "nx:run-commands",
|
|
14
|
+
"options": {
|
|
15
|
+
"command": "pnpm exec projen pre-compile",
|
|
16
|
+
"cwd": "packages/client-iot-wireless"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"compile": {
|
|
20
|
+
"executor": "nx:run-commands",
|
|
21
|
+
"options": {
|
|
22
|
+
"command": "pnpm exec projen compile",
|
|
23
|
+
"cwd": "packages/client-iot-wireless"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"post-compile": {
|
|
27
|
+
"executor": "nx:run-commands",
|
|
28
|
+
"options": {
|
|
29
|
+
"command": "pnpm exec projen post-compile",
|
|
30
|
+
"cwd": "packages/client-iot-wireless"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"test": {
|
|
34
|
+
"executor": "nx:run-commands",
|
|
35
|
+
"options": {
|
|
36
|
+
"command": "pnpm exec projen test",
|
|
37
|
+
"cwd": "packages/client-iot-wireless"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"package": {
|
|
41
|
+
"executor": "nx:run-commands",
|
|
42
|
+
"options": {
|
|
43
|
+
"command": "pnpm exec projen package",
|
|
44
|
+
"cwd": "packages/client-iot-wireless"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"build": {
|
|
48
|
+
"executor": "nx:run-commands",
|
|
49
|
+
"options": {
|
|
50
|
+
"command": "pnpm exec projen build",
|
|
51
|
+
"cwd": "packages/client-iot-wireless"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"watch": {
|
|
55
|
+
"executor": "nx:run-commands",
|
|
56
|
+
"options": {
|
|
57
|
+
"command": "pnpm exec projen watch",
|
|
58
|
+
"cwd": "packages/client-iot-wireless"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"eslint": {
|
|
62
|
+
"executor": "nx:run-commands",
|
|
63
|
+
"options": {
|
|
64
|
+
"command": "pnpm exec projen eslint",
|
|
65
|
+
"cwd": "packages/client-iot-wireless"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"test:watch": {
|
|
69
|
+
"executor": "nx:run-commands",
|
|
70
|
+
"options": {
|
|
71
|
+
"command": "pnpm exec projen test:watch",
|
|
72
|
+
"cwd": "packages/client-iot-wireless"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
|
|
77
|
+
}
|
package/vitest.config.ts
ADDED