UNPKG

29 kBJavaScriptView Raw
1"use strict";
2// Copyright 2012-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3Object.defineProperty(exports, "__esModule", { value: true });
4exports.DynamoDBMetrics = void 0;
5/* eslint-disable max-len */ // This is generated code - line lengths are difficult to control
6class DynamoDBMetrics {
7 static conditionalCheckFailedRequestsSum(dimensions) {
8 return {
9 namespace: 'AWS/DynamoDB',
10 metricName: 'ConditionalCheckFailedRequests',
11 dimensionsMap: dimensions,
12 statistic: 'Sum',
13 };
14 }
15 static consumedReadCapacityUnitsSum(dimensions) {
16 return {
17 namespace: 'AWS/DynamoDB',
18 metricName: 'ConsumedReadCapacityUnits',
19 dimensionsMap: dimensions,
20 statistic: 'Sum',
21 };
22 }
23 static consumedWriteCapacityUnitsSum(dimensions) {
24 return {
25 namespace: 'AWS/DynamoDB',
26 metricName: 'ConsumedWriteCapacityUnits',
27 dimensionsMap: dimensions,
28 statistic: 'Sum',
29 };
30 }
31 static provisionedReadCapacityUnitsAverage(dimensions) {
32 return {
33 namespace: 'AWS/DynamoDB',
34 metricName: 'ProvisionedReadCapacityUnits',
35 dimensionsMap: dimensions,
36 statistic: 'Average',
37 };
38 }
39 static provisionedWriteCapacityUnitsAverage(dimensions) {
40 return {
41 namespace: 'AWS/DynamoDB',
42 metricName: 'ProvisionedWriteCapacityUnits',
43 dimensionsMap: dimensions,
44 statistic: 'Average',
45 };
46 }
47 static readThrottleEventsSum(dimensions) {
48 return {
49 namespace: 'AWS/DynamoDB',
50 metricName: 'ReadThrottleEvents',
51 dimensionsMap: dimensions,
52 statistic: 'Sum',
53 };
54 }
55 static timeToLiveDeletedItemCountSum(dimensions) {
56 return {
57 namespace: 'AWS/DynamoDB',
58 metricName: 'TimeToLiveDeletedItemCount',
59 dimensionsMap: dimensions,
60 statistic: 'Sum',
61 };
62 }
63 static transactionConflictAverage(dimensions) {
64 return {
65 namespace: 'AWS/DynamoDB',
66 metricName: 'TransactionConflict',
67 dimensionsMap: dimensions,
68 statistic: 'Average',
69 };
70 }
71 static writeThrottleEventsSum(dimensions) {
72 return {
73 namespace: 'AWS/DynamoDB',
74 metricName: 'WriteThrottleEvents',
75 dimensionsMap: dimensions,
76 statistic: 'Sum',
77 };
78 }
79 static successfulRequestLatencyAverage(dimensions) {
80 return {
81 namespace: 'AWS/DynamoDB',
82 metricName: 'SuccessfulRequestLatency',
83 dimensionsMap: dimensions,
84 statistic: 'Average',
85 };
86 }
87 static systemErrorsSum(dimensions) {
88 return {
89 namespace: 'AWS/DynamoDB',
90 metricName: 'SystemErrors',
91 dimensionsMap: dimensions,
92 statistic: 'Sum',
93 };
94 }
95 static throttledRequestsSum(dimensions) {
96 return {
97 namespace: 'AWS/DynamoDB',
98 metricName: 'ThrottledRequests',
99 dimensionsMap: dimensions,
100 statistic: 'Sum',
101 };
102 }
103 static returnedItemCountSum(dimensions) {
104 return {
105 namespace: 'AWS/DynamoDB',
106 metricName: 'ReturnedItemCount',
107 dimensionsMap: dimensions,
108 statistic: 'Sum',
109 };
110 }
111 static onlineIndexConsumedWriteCapacitySum(dimensions) {
112 return {
113 namespace: 'AWS/DynamoDB',
114 metricName: 'OnlineIndexConsumedWriteCapacity',
115 dimensionsMap: dimensions,
116 statistic: 'Sum',
117 };
118 }
119 static onlineIndexPercentageProgressAverage(dimensions) {
120 return {
121 namespace: 'AWS/DynamoDB',
122 metricName: 'OnlineIndexPercentageProgress',
123 dimensionsMap: dimensions,
124 statistic: 'Average',
125 };
126 }
127 static onlineIndexThrottleEventsSum(dimensions) {
128 return {
129 namespace: 'AWS/DynamoDB',
130 metricName: 'OnlineIndexThrottleEvents',
131 dimensionsMap: dimensions,
132 statistic: 'Sum',
133 };
134 }
135 static ageOfOldestUnreplicatedRecordAverage(dimensions) {
136 return {
137 namespace: 'AWS/DynamoDB',
138 metricName: 'AgeOfOldestUnreplicatedRecord',
139 dimensionsMap: dimensions,
140 statistic: 'Average',
141 };
142 }
143 static consumedChangeDataCaptureUnitsAverage(dimensions) {
144 return {
145 namespace: 'AWS/DynamoDB',
146 metricName: 'ConsumedChangeDataCaptureUnits',
147 dimensionsMap: dimensions,
148 statistic: 'Average',
149 };
150 }
151 static throttledPutRecordCountAverage(dimensions) {
152 return {
153 namespace: 'AWS/DynamoDB',
154 metricName: 'ThrottledPutRecordCount',
155 dimensionsMap: dimensions,
156 statistic: 'Average',
157 };
158 }
159 static pendingReplicationCountAverage(dimensions) {
160 return {
161 namespace: 'AWS/DynamoDB',
162 metricName: 'PendingReplicationCount',
163 dimensionsMap: dimensions,
164 statistic: 'Average',
165 };
166 }
167 static replicationLatencyAverage(dimensions) {
168 return {
169 namespace: 'AWS/DynamoDB',
170 metricName: 'ReplicationLatency',
171 dimensionsMap: dimensions,
172 statistic: 'Average',
173 };
174 }
175 static returnedBytesAverage(dimensions) {
176 return {
177 namespace: 'AWS/DynamoDB',
178 metricName: 'ReturnedBytes',
179 dimensionsMap: dimensions,
180 statistic: 'Average',
181 };
182 }
183 static returnedRecordsCountAverage(dimensions) {
184 return {
185 namespace: 'AWS/DynamoDB',
186 metricName: 'ReturnedRecordsCount',
187 dimensionsMap: dimensions,
188 statistic: 'Average',
189 };
190 }
191 static accountMaxReadsMaximum(dimensions) {
192 return {
193 namespace: 'AWS/DynamoDB',
194 metricName: 'AccountMaxReads',
195 dimensionsMap: dimensions,
196 statistic: 'Maximum',
197 };
198 }
199 static accountMaxTableLevelReadsMaximum(dimensions) {
200 return {
201 namespace: 'AWS/DynamoDB',
202 metricName: 'AccountMaxTableLevelReads',
203 dimensionsMap: dimensions,
204 statistic: 'Maximum',
205 };
206 }
207 static accountMaxTableLevelWritesMaximum(dimensions) {
208 return {
209 namespace: 'AWS/DynamoDB',
210 metricName: 'AccountMaxTableLevelWrites',
211 dimensionsMap: dimensions,
212 statistic: 'Maximum',
213 };
214 }
215 static accountMaxWritesMaximum(dimensions) {
216 return {
217 namespace: 'AWS/DynamoDB',
218 metricName: 'AccountMaxWrites',
219 dimensionsMap: dimensions,
220 statistic: 'Maximum',
221 };
222 }
223 static accountProvisionedReadCapacityUtilizationAverage(dimensions) {
224 return {
225 namespace: 'AWS/DynamoDB',
226 metricName: 'AccountProvisionedReadCapacityUtilization',
227 dimensionsMap: dimensions,
228 statistic: 'Average',
229 };
230 }
231 static accountProvisionedWriteCapacityUtilizationAverage(dimensions) {
232 return {
233 namespace: 'AWS/DynamoDB',
234 metricName: 'AccountProvisionedWriteCapacityUtilization',
235 dimensionsMap: dimensions,
236 statistic: 'Average',
237 };
238 }
239 static maxProvisionedTableReadCapacityUtilizationAverage(dimensions) {
240 return {
241 namespace: 'AWS/DynamoDB',
242 metricName: 'MaxProvisionedTableReadCapacityUtilization',
243 dimensionsMap: dimensions,
244 statistic: 'Average',
245 };
246 }
247 static maxProvisionedTableWriteCapacityUtilizationAverage(dimensions) {
248 return {
249 namespace: 'AWS/DynamoDB',
250 metricName: 'MaxProvisionedTableWriteCapacityUtilization',
251 dimensionsMap: dimensions,
252 statistic: 'Average',
253 };
254 }
255 static userErrorsSum(dimensions) {
256 return {
257 namespace: 'AWS/DynamoDB',
258 metricName: 'UserErrors',
259 dimensionsMap: dimensions,
260 statistic: 'Sum',
261 };
262 }
263}
264exports.DynamoDBMetrics = DynamoDBMetrics;
265//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1vZGItY2FubmVkLW1ldHJpY3MuZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZHluYW1vZGItY2FubmVkLW1ldHJpY3MuZ2VuZXJhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrRUFBK0U7OztBQUUvRSw0QkFBNEIsQ0FBQyxpRUFBaUU7QUFFOUYsTUFBYSxlQUFlO0lBQ25CLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxVQUFpQztRQUMvRSxPQUFPO1lBQ0wsU0FBUyxFQUFFLGNBQWM7WUFDekIsVUFBVSxFQUFFLGdDQUFnQztZQUM1QyxhQUFhLEVBQUUsVUFBVTtZQUN6QixTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDO0tBQ0g7SUFHTSxNQUFNLENBQUMsNEJBQTRCLENBQUMsVUFBZTtRQUN4RCxPQUFPO1lBQ0wsU0FBUyxFQUFFLGNBQWM7WUFDekIsVUFBVSxFQUFFLDJCQUEyQjtZQUN2QyxhQUFhLEVBQUUsVUFBVTtZQUN6QixTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDO0tBQ0g7SUFHTSxNQUFNLENBQUMsNkJBQTZCLENBQUMsVUFBZTtRQUN6RCxPQUFPO1lBQ0wsU0FBUyxFQUFFLGNBQWM7WUFDekIsVUFBVSxFQUFFLDRCQUE0QjtZQUN4QyxhQUFhLEVBQUUsVUFBVTtZQUN6QixTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDO0tBQ0g7SUFHTSxNQUFNLENBQUMsbUNBQW1DLENBQUMsVUFBZTtRQUMvRCxPQUFPO1lBQ0wsU0FBUyxFQUFFLGNBQWM7WUFDekIsVUFBVSxFQUFFLDhCQUE4QjtZQUMxQyxhQUFhLEVBQUUsVUFBVTtZQUN6QixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDO0tBQ0g7SUFHTSxNQUFNLENBQUMsb0NBQW9DLENBQUMsVUFBZTtRQUNoRSxPQUFPO1lBQ0wsU0FBUyxFQUFFLGNBQWM7WUFDekIsVUFBVSxFQUFFLCtCQUErQjtZQUMzQyxhQUFhLEVBQUUsVUFBVTtZQUN6QixTQUFT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RSxVQUFVO1lBQ3pCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7S0FDSDtJQUNNLE1BQU0sQ0FBQyxrREFBa0QsQ0FBQyxVQUFnQjtRQUMvRSxPQUFPO1lBQ0wsU0FBUyxFQUFFLGNBQWM7WUFDekIsVUFBVSxFQUFFLDZDQUE2QztZQUN6RCxhQUFhLEVBQUUsVUFBVTtZQUN6QixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDO0tBQ0g7SUFDTSxNQUFNLENBQUMsYUFBYSxDQUFDLFVBQWdCO1FBQzFDLE9BQU87WUFDTCxTQUFTLEVBQUUsY0FBYztZQUN6QixVQUFVLEVBQUUsWUFBWTtZQUN4QixhQUFhLEVBQUUsVUFBVTtZQUN6QixTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDO0tBQ0g7Q0FDRjtBQTdRRCwwQ0E2UUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAxMi0yMDIyIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG5cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi8gLy8gVGhpcyBpcyBnZW5lcmF0ZWQgY29kZSAtIGxpbmUgbGVuZ3RocyBhcmUgZGlmZmljdWx0IHRvIGNvbnRyb2xcblxuZXhwb3J0IGNsYXNzIER5bmFtb0RCTWV0cmljcyB7XG4gIHB1YmxpYyBzdGF0aWMgY29uZGl0aW9uYWxDaGVja0ZhaWxlZFJlcXVlc3RzU3VtKGRpbWVuc2lvbnM6IHsgVGFibGVOYW1lOiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ0NvbmRpdGlvbmFsQ2hlY2tGYWlsZWRSZXF1ZXN0cycsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgY29uc3VtZWRSZWFkQ2FwYWNpdHlVbml0c1N1bShkaW1lbnNpb25zOiB7IFRhYmxlTmFtZTogc3RyaW5nIH0pOiBNZXRyaWNXaXRoRGltczx7IFRhYmxlTmFtZTogc3RyaW5nIH0+O1xuICBwdWJsaWMgc3RhdGljIGNvbnN1bWVkUmVhZENhcGFjaXR5VW5pdHNTdW0oZGltZW5zaW9uczogeyBHbG9iYWxTZWNvbmRhcnlJbmRleE5hbWU6IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfSk6IE1ldHJpY1dpdGhEaW1zPHsgR2xvYmFsU2Vjb25kYXJ5SW5kZXhOYW1lOiBzdHJpbmcsIFRhYmxlTmFtZTogc3RyaW5nIH0+O1xuICBwdWJsaWMgc3RhdGljIGNvbnN1bWVkUmVhZENhcGFjaXR5VW5pdHNTdW0oZGltZW5zaW9uczogYW55KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9EeW5hbW9EQicsXG4gICAgICBtZXRyaWNOYW1lOiAnQ29uc3VtZWRSZWFkQ2FwYWNpdHlVbml0cycsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgY29uc3VtZWRXcml0ZUNhcGFjaXR5VW5pdHNTdW0oZGltZW5zaW9uczogeyBUYWJsZU5hbWU6IHN0cmluZyB9KTogTWV0cmljV2l0aERpbXM8eyBUYWJsZU5hbWU6IHN0cmluZyB9PjtcbiAgcHVibGljIHN0YXRpYyBjb25zdW1lZFdyaXRlQ2FwYWNpdHlVbml0c1N1bShkaW1lbnNpb25zOiB7IEdsb2JhbFNlY29uZGFyeUluZGV4TmFtZTogc3RyaW5nLCBUYWJsZU5hbWU6IHN0cmluZyB9KTogTWV0cmljV2l0aERpbXM8eyBHbG9iYWxTZWNvbmRhcnlJbmRleE5hbWU6IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfT47XG4gIHB1YmxpYyBzdGF0aWMgY29uc3VtZWRXcml0ZUNhcGFjaXR5VW5pdHNTdW0oZGltZW5zaW9uczogYW55KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9EeW5hbW9EQicsXG4gICAgICBtZXRyaWNOYW1lOiAnQ29uc3VtZWRXcml0ZUNhcGFjaXR5VW5pdHMnLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIHByb3Zpc2lvbmVkUmVhZENhcGFjaXR5VW5pdHNBdmVyYWdlKGRpbWVuc2lvbnM6IHsgVGFibGVOYW1lOiBzdHJpbmcgfSk6IE1ldHJpY1dpdGhEaW1zPHsgVGFibGVOYW1lOiBzdHJpbmcgfT47XG4gIHB1YmxpYyBzdGF0aWMgcHJvdmlzaW9uZWRSZWFkQ2FwYWNpdHlVbml0c0F2ZXJhZ2UoZGltZW5zaW9uczogeyBHbG9iYWxTZWNvbmRhcnlJbmRleE5hbWU6IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfSk6IE1ldHJpY1dpdGhEaW1zPHsgR2xvYmFsU2Vjb25kYXJ5SW5kZXhOYW1lOiBzdHJpbmcsIFRhYmxlTmFtZTogc3RyaW5nIH0+O1xuICBwdWJsaWMgc3RhdGljIHByb3Zpc2lvbmVkUmVhZENhcGFjaXR5VW5pdHNBdmVyYWdlKGRpbWVuc2lvbnM6IGFueSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ1Byb3Zpc2lvbmVkUmVhZENhcGFjaXR5VW5pdHMnLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ0F2ZXJhZ2UnLFxuICAgIH07XG4gIH1cbiAgcHVibGljIHN0YXRpYyBwcm92aXNpb25lZFdyaXRlQ2FwYWNpdHlVbml0c0F2ZXJhZ2UoZGltZW5zaW9uczogeyBUYWJsZU5hbWU6IHN0cmluZyB9KTogTWV0cmljV2l0aERpbXM8eyBUYWJsZU5hbWU6IHN0cmluZyB9PjtcbiAgcHVibGljIHN0YXRpYyBwcm92aXNpb25lZFdyaXRlQ2FwYWNpdHlVbml0c0F2ZXJhZ2UoZGltZW5zaW9uczogeyBHbG9iYWxTZWNvbmRhcnlJbmRleE5hbWU6IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfSk6IE1ldHJpY1dpdGhEaW1zPHsgR2xvYmFsU2Vjb25kYXJ5SW5kZXhOYW1lOiBzdHJpbmcsIFRhYmxlTmFtZTogc3RyaW5nIH0+O1xuICBwdWJsaWMgc3RhdGljIHByb3Zpc2lvbmVkV3JpdGVDYXBhY2l0eVVuaXRzQXZlcmFnZShkaW1lbnNpb25zOiBhbnkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdQcm92aXNpb25lZFdyaXRlQ2FwYWNpdHlVbml0cycsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIHJlYWRUaHJvdHRsZUV2ZW50c1N1bShkaW1lbnNpb25zOiB7IFRhYmxlTmFtZTogc3RyaW5nIH0pOiBNZXRyaWNXaXRoRGltczx7IFRhYmxlTmFtZTogc3RyaW5nIH0+O1xuICBwdWJsaWMgc3RhdGljIHJlYWRUaHJvdHRsZUV2ZW50c1N1bShkaW1lbnNpb25zOiB7IEdsb2JhbFNlY29uZGFyeUluZGV4TmFtZTogc3RyaW5nLCBUYWJsZU5hbWU6IHN0cmluZyB9KTogTWV0cmljV2l0aERpbXM8eyBHbG9iYWxTZWNvbmRhcnlJbmRleE5hbWU6IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfT47XG4gIHB1YmxpYyBzdGF0aWMgcmVhZFRocm90dGxlRXZlbnRzU3VtKGRpbWVuc2lvbnM6IGFueSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ1JlYWRUaHJvdHRsZUV2ZW50cycsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgdGltZVRvTGl2ZURlbGV0ZWRJdGVtQ291bnRTdW0oZGltZW5zaW9uczogeyBUYWJsZU5hbWU6IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9EeW5hbW9EQicsXG4gICAgICBtZXRyaWNOYW1lOiAnVGltZVRvTGl2ZURlbGV0ZWRJdGVtQ291bnQnLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIHRyYW5zYWN0aW9uQ29uZmxpY3RBdmVyYWdlKGRpbWVuc2lvbnM6IHsgVGFibGVOYW1lOiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ1RyYW5zYWN0aW9uQ29uZmxpY3QnLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ0F2ZXJhZ2UnLFxuICAgIH07XG4gIH1cbiAgcHVibGljIHN0YXRpYyB3cml0ZVRocm90dGxlRXZlbnRzU3VtKGRpbWVuc2lvbnM6IHsgVGFibGVOYW1lOiBzdHJpbmcgfSk6IE1ldHJpY1dpdGhEaW1zPHsgVGFibGVOYW1lOiBzdHJpbmcgfT47XG4gIHB1YmxpYyBzdGF0aWMgd3JpdGVUaHJvdHRsZUV2ZW50c1N1bShkaW1lbnNpb25zOiB7IEdsb2JhbFNlY29uZGFyeUluZGV4TmFtZTogc3RyaW5nLCBUYWJsZU5hbWU6IHN0cmluZyB9KTogTWV0cmljV2l0aERpbXM8eyBHbG9iYWxTZWNvbmRhcnlJbmRleE5hbWU6IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfT47XG4gIHB1YmxpYyBzdGF0aWMgd3JpdGVUaHJvdHRsZUV2ZW50c1N1bShkaW1lbnNpb25zOiBhbnkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdXcml0ZVRocm90dGxlRXZlbnRzJyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IGRpbWVuc2lvbnMsXG4gICAgICBzdGF0aXN0aWM6ICdTdW0nLFxuICAgIH07XG4gIH1cbiAgcHVibGljIHN0YXRpYyBzdWNjZXNzZnVsUmVxdWVzdExhdGVuY3lBdmVyYWdlKGRpbWVuc2lvbnM6IHsgT3BlcmF0aW9uOiBzdHJpbmcsIFRhYmxlTmFtZTogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdTdWNjZXNzZnVsUmVxdWVzdExhdGVuY3knLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ0F2ZXJhZ2UnLFxuICAgIH07XG4gIH1cbiAgcHVibGljIHN0YXRpYyBzeXN0ZW1FcnJvcnNTdW0oZGltZW5zaW9uczogeyBPcGVyYXRpb246IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ1N5c3RlbUVycm9ycycsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgdGhyb3R0bGVkUmVxdWVzdHNTdW0oZGltZW5zaW9uczogeyBPcGVyYXRpb246IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ1Rocm90dGxlZFJlcXVlc3RzJyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IGRpbWVuc2lvbnMsXG4gICAgICBzdGF0aXN0aWM6ICdTdW0nLFxuICAgIH07XG4gIH1cbiAgcHVibGljIHN0YXRpYyByZXR1cm5lZEl0ZW1Db3VudFN1bShkaW1lbnNpb25zOiB7IE9wZXJhdGlvbjogc3RyaW5nLCBUYWJsZU5hbWU6IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9EeW5hbW9EQicsXG4gICAgICBtZXRyaWNOYW1lOiAnUmV0dXJuZWRJdGVtQ291bnQnLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIG9ubGluZUluZGV4Q29uc3VtZWRXcml0ZUNhcGFjaXR5U3VtKGRpbWVuc2lvbnM6IHsgR2xvYmFsU2Vjb25kYXJ5SW5kZXhOYW1lOiBzdHJpbmcsIFRhYmxlTmFtZTogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdPbmxpbmVJbmRleENvbnN1bWVkV3JpdGVDYXBhY2l0eScsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgb25saW5lSW5kZXhQZXJjZW50YWdlUHJvZ3Jlc3NBdmVyYWdlKGRpbWVuc2lvbnM6IHsgR2xvYmFsU2Vjb25kYXJ5SW5kZXhOYW1lOiBzdHJpbmcsIFRhYmxlTmFtZTogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdPbmxpbmVJbmRleFBlcmNlbnRhZ2VQcm9ncmVzcycsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIG9ubGluZUluZGV4VGhyb3R0bGVFdmVudHNTdW0oZGltZW5zaW9uczogeyBHbG9iYWxTZWNvbmRhcnlJbmRleE5hbWU6IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ09ubGluZUluZGV4VGhyb3R0bGVFdmVudHMnLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIGFnZU9mT2xkZXN0VW5yZXBsaWNhdGVkUmVjb3JkQXZlcmFnZShkaW1lbnNpb25zOiB7IERlbGVnYXRlZE9wZXJhdGlvbjogc3RyaW5nLCBUYWJsZU5hbWU6IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9EeW5hbW9EQicsXG4gICAgICBtZXRyaWNOYW1lOiAnQWdlT2ZPbGRlc3RVbnJlcGxpY2F0ZWRSZWNvcmQnLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ0F2ZXJhZ2UnLFxuICAgIH07XG4gIH1cbiAgcHVibGljIHN0YXRpYyBjb25zdW1lZENoYW5nZURhdGFDYXB0dXJlVW5pdHNBdmVyYWdlKGRpbWVuc2lvbnM6IHsgRGVsZWdhdGVkT3BlcmF0aW9uOiBzdHJpbmcsIFRhYmxlTmFtZTogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdDb25zdW1lZENoYW5nZURhdGFDYXB0dXJlVW5pdHMnLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ0F2ZXJhZ2UnLFxuICAgIH07XG4gIH1cbiAgcHVibGljIHN0YXRpYyB0aHJvdHRsZWRQdXRSZWNvcmRDb3VudEF2ZXJhZ2UoZGltZW5zaW9uczogeyBEZWxlZ2F0ZWRPcGVyYXRpb246IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ1Rocm90dGxlZFB1dFJlY29yZENvdW50JyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IGRpbWVuc2lvbnMsXG4gICAgICBzdGF0aXN0aWM6ICdBdmVyYWdlJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgcGVuZGluZ1JlcGxpY2F0aW9uQ291bnRBdmVyYWdlKGRpbWVuc2lvbnM6IHsgUmVjZWl2aW5nUmVnaW9uOiBzdHJpbmcsIFRhYmxlTmFtZTogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdQZW5kaW5nUmVwbGljYXRpb25Db3VudCcsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIHJlcGxpY2F0aW9uTGF0ZW5jeUF2ZXJhZ2UoZGltZW5zaW9uczogeyBSZWNlaXZpbmdSZWdpb246IHN0cmluZywgVGFibGVOYW1lOiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ1JlcGxpY2F0aW9uTGF0ZW5jeScsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIHJldHVybmVkQnl0ZXNBdmVyYWdlKGRpbWVuc2lvbnM6IHsgT3BlcmF0aW9uOiBzdHJpbmcsIFN0cmVhbUxhYmVsOiBzdHJpbmcsIFRhYmxlTmFtZTogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdSZXR1cm5lZEJ5dGVzJyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IGRpbWVuc2lvbnMsXG4gICAgICBzdGF0aXN0aWM6ICdBdmVyYWdlJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgcmV0dXJuZWRSZWNvcmRzQ291bnRBdmVyYWdlKGRpbWVuc2lvbnM6IHsgT3BlcmF0aW9uOiBzdHJpbmcsIFN0cmVhbUxhYmVsOiBzdHJpbmcsIFRhYmxlTmFtZTogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdSZXR1cm5lZFJlY29yZHNDb3VudCcsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIGFjY291bnRNYXhSZWFkc01heGltdW0oZGltZW5zaW9uczogeyAgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ0FjY291bnRNYXhSZWFkcycsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnTWF4aW11bScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIGFjY291bnRNYXhUYWJsZUxldmVsUmVhZHNNYXhpbXVtKGRpbWVuc2lvbnM6IHsgIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdBY2NvdW50TWF4VGFibGVMZXZlbFJlYWRzJyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IGRpbWVuc2lvbnMsXG4gICAgICBzdGF0aXN0aWM6ICdNYXhpbXVtJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgYWNjb3VudE1heFRhYmxlTGV2ZWxXcml0ZXNNYXhpbXVtKGRpbWVuc2lvbnM6IHsgIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdBY2NvdW50TWF4VGFibGVMZXZlbFdyaXRlcycsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnTWF4aW11bScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIGFjY291bnRNYXhXcml0ZXNNYXhpbXVtKGRpbWVuc2lvbnM6IHsgIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdBY2NvdW50TWF4V3JpdGVzJyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IGRpbWVuc2lvbnMsXG4gICAgICBzdGF0aXN0aWM6ICdNYXhpbXVtJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgYWNjb3VudFByb3Zpc2lvbmVkUmVhZENhcGFjaXR5VXRpbGl6YXRpb25BdmVyYWdlKGRpbWVuc2lvbnM6IHsgIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdBY2NvdW50UHJvdmlzaW9uZWRSZWFkQ2FwYWNpdHlVdGlsaXphdGlvbicsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIGFjY291bnRQcm92aXNpb25lZFdyaXRlQ2FwYWNpdHlVdGlsaXphdGlvbkF2ZXJhZ2UoZGltZW5zaW9uczogeyAgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ0FjY291bnRQcm92aXNpb25lZFdyaXRlQ2FwYWNpdHlVdGlsaXphdGlvbicsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIG1heFByb3Zpc2lvbmVkVGFibGVSZWFkQ2FwYWNpdHlVdGlsaXphdGlvbkF2ZXJhZ2UoZGltZW5zaW9uczogeyAgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRHluYW1vREInLFxuICAgICAgbWV0cmljTmFtZTogJ01heFByb3Zpc2lvbmVkVGFibGVSZWFkQ2FwYWNpdHlVdGlsaXphdGlvbicsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIG1heFByb3Zpc2lvbmVkVGFibGVXcml0ZUNhcGFjaXR5VXRpbGl6YXRpb25BdmVyYWdlKGRpbWVuc2lvbnM6IHsgIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0R5bmFtb0RCJyxcbiAgICAgIG1ldHJpY05hbWU6ICdNYXhQcm92aXNpb25lZFRhYmxlV3JpdGVDYXBhY2l0eVV0aWxpemF0aW9uJyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IGRpbWVuc2lvbnMsXG4gICAgICBzdGF0aXN0aWM6ICdBdmVyYWdlJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgdXNlckVycm9yc1N1bShkaW1lbnNpb25zOiB7ICB9KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9EeW5hbW9EQicsXG4gICAgICBtZXRyaWNOYW1lOiAnVXNlckVycm9ycycsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICB9O1xuICB9XG59XG50eXBlIE1ldHJpY1dpdGhEaW1zPEQ+ID0geyBuYW1lc3BhY2U6IHN0cmluZywgbWV0cmljTmFtZTogc3RyaW5nLCBzdGF0aXN0aWM6IHN0cmluZywgZGltZW5zaW9uc01hcDogRCB9O1xuIl19
\No newline at end of file