@aneoconsultingfr/armonik.api.angular 3.29.0-edge.13.eb211e2 → 3.29.0-edge.68.23f0ea8b
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/fesm2022/aneoconsultingfr-armonik.api.angular.mjs +29 -29
- package/fesm2022/aneoconsultingfr-armonik.api.angular.mjs.map +1 -1
- package/index.d.ts +11699 -3
- package/package.json +6 -8
- package/esm2022/aneoconsultingfr-armonik.api.angular.mjs +0 -5
- package/esm2022/lib/generated/applications-common.pb.mjs +0 -586
- package/esm2022/lib/generated/applications-fields.pb.mjs +0 -231
- package/esm2022/lib/generated/applications-filters.pb.mjs +0 -349
- package/esm2022/lib/generated/applications-service.pb.mjs +0 -2
- package/esm2022/lib/generated/applications-service.pbconf.mjs +0 -13
- package/esm2022/lib/generated/applications-service.pbsc.mjs +0 -74
- package/esm2022/lib/generated/auth-common.pb.mjs +0 -318
- package/esm2022/lib/generated/auth-service.pb.mjs +0 -2
- package/esm2022/lib/generated/auth-service.pbconf.mjs +0 -13
- package/esm2022/lib/generated/auth-service.pbsc.mjs +0 -74
- package/esm2022/lib/generated/events-common.pb.mjs +0 -1139
- package/esm2022/lib/generated/events-service.pb.mjs +0 -2
- package/esm2022/lib/generated/events-service.pbconf.mjs +0 -13
- package/esm2022/lib/generated/events-service.pbsc.mjs +0 -74
- package/esm2022/lib/generated/filters-common.pb.mjs +0 -774
- package/esm2022/lib/generated/health-checks-common.pb.mjs +0 -331
- package/esm2022/lib/generated/health-checks-service.pb.mjs +0 -2
- package/esm2022/lib/generated/health-checks-service.pbconf.mjs +0 -13
- package/esm2022/lib/generated/health-checks-service.pbsc.mjs +0 -74
- package/esm2022/lib/generated/objects.pb.mjs +0 -2721
- package/esm2022/lib/generated/partitions-common.pb.mjs +0 -978
- package/esm2022/lib/generated/partitions-fields.pb.mjs +0 -233
- package/esm2022/lib/generated/partitions-filters.pb.mjs +0 -431
- package/esm2022/lib/generated/partitions-service.pb.mjs +0 -2
- package/esm2022/lib/generated/partitions-service.pbconf.mjs +0 -13
- package/esm2022/lib/generated/partitions-service.pbsc.mjs +0 -104
- package/esm2022/lib/generated/result-status.pb.mjs +0 -16
- package/esm2022/lib/generated/results-common.pb.mjs +0 -3476
- package/esm2022/lib/generated/results-fields.pb.mjs +0 -238
- package/esm2022/lib/generated/results-filters.pb.mjs +0 -573
- package/esm2022/lib/generated/results-service.pb.mjs +0 -2
- package/esm2022/lib/generated/results-service.pbconf.mjs +0 -13
- package/esm2022/lib/generated/results-service.pbsc.mjs +0 -375
- package/esm2022/lib/generated/session-status.pb.mjs +0 -17
- package/esm2022/lib/generated/sessions-common.pb.mjs +0 -2638
- package/esm2022/lib/generated/sessions-fields.pb.mjs +0 -509
- package/esm2022/lib/generated/sessions-filters.pb.mjs +0 -629
- package/esm2022/lib/generated/sessions-service.pb.mjs +0 -2
- package/esm2022/lib/generated/sessions-service.pbconf.mjs +0 -13
- package/esm2022/lib/generated/sessions-service.pbsc.mjs +0 -344
- package/esm2022/lib/generated/sort-direction.pb.mjs +0 -13
- package/esm2022/lib/generated/task-status.pb.mjs +0 -24
- package/esm2022/lib/generated/tasks-common.pb.mjs +0 -3383
- package/esm2022/lib/generated/tasks-fields.pb.mjs +0 -518
- package/esm2022/lib/generated/tasks-filters.pb.mjs +0 -629
- package/esm2022/lib/generated/tasks-service.pb.mjs +0 -2
- package/esm2022/lib/generated/tasks-service.pbconf.mjs +0 -13
- package/esm2022/lib/generated/tasks-service.pbsc.mjs +0 -254
- package/esm2022/lib/generated/versions-common.pb.mjs +0 -200
- package/esm2022/lib/generated/versions-service.pb.mjs +0 -2
- package/esm2022/lib/generated/versions-service.pbconf.mjs +0 -13
- package/esm2022/lib/generated/versions-service.pbsc.mjs +0 -74
- package/esm2022/lib/index.mjs +0 -35
- package/esm2022/public-api.mjs +0 -5
- package/lib/generated/applications-common.pb.d.ts +0 -331
- package/lib/generated/applications-fields.pb.d.ts +0 -153
- package/lib/generated/applications-filters.pb.d.ts +0 -222
- package/lib/generated/applications-service.pb.d.ts +0 -1
- package/lib/generated/applications-service.pbconf.d.ts +0 -6
- package/lib/generated/applications-service.pbsc.d.ts +0 -38
- package/lib/generated/auth-common.pb.d.ts +0 -214
- package/lib/generated/auth-service.pb.d.ts +0 -1
- package/lib/generated/auth-service.pbconf.d.ts +0 -6
- package/lib/generated/auth-service.pbsc.d.ts +0 -38
- package/lib/generated/events-common.pb.d.ts +0 -612
- package/lib/generated/events-service.pb.d.ts +0 -1
- package/lib/generated/events-service.pbconf.d.ts +0 -6
- package/lib/generated/events-service.pbsc.d.ts +0 -38
- package/lib/generated/filters-common.pb.d.ts +0 -491
- package/lib/generated/health-checks-common.pb.d.ts +0 -220
- package/lib/generated/health-checks-service.pb.d.ts +0 -1
- package/lib/generated/health-checks-service.pbconf.d.ts +0 -6
- package/lib/generated/health-checks-service.pbsc.d.ts +0 -38
- package/lib/generated/objects.pb.d.ts +0 -1678
- package/lib/generated/partitions-common.pb.d.ts +0 -566
- package/lib/generated/partitions-fields.pb.d.ts +0 -155
- package/lib/generated/partitions-filters.pb.d.ts +0 -240
- package/lib/generated/partitions-service.pb.d.ts +0 -1
- package/lib/generated/partitions-service.pbconf.d.ts +0 -6
- package/lib/generated/partitions-service.pbsc.d.ts +0 -54
- package/lib/generated/result-status.pb.d.ts +0 -8
- package/lib/generated/results-common.pb.d.ts +0 -2121
- package/lib/generated/results-fields.pb.d.ts +0 -160
- package/lib/generated/results-filters.pb.d.ts +0 -321
- package/lib/generated/results-service.pb.d.ts +0 -1
- package/lib/generated/results-service.pbconf.d.ts +0 -6
- package/lib/generated/results-service.pbsc.d.ts +0 -199
- package/lib/generated/session-status.pb.d.ts +0 -9
- package/lib/generated/sessions-common.pb.d.ts +0 -1637
- package/lib/generated/sessions-fields.pb.d.ts +0 -323
- package/lib/generated/sessions-filters.pb.d.ts +0 -333
- package/lib/generated/sessions-service.pb.d.ts +0 -1
- package/lib/generated/sessions-service.pbconf.d.ts +0 -6
- package/lib/generated/sessions-service.pbsc.d.ts +0 -182
- package/lib/generated/sort-direction.pb.d.ts +0 -5
- package/lib/generated/task-status.pb.d.ts +0 -16
- package/lib/generated/tasks-common.pb.d.ts +0 -1754
- package/lib/generated/tasks-fields.pb.d.ts +0 -332
- package/lib/generated/tasks-filters.pb.d.ts +0 -333
- package/lib/generated/tasks-service.pb.d.ts +0 -1
- package/lib/generated/tasks-service.pbconf.d.ts +0 -6
- package/lib/generated/tasks-service.pbsc.d.ts +0 -134
- package/lib/generated/versions-common.pb.d.ts +0 -140
- package/lib/generated/versions-service.pb.d.ts +0 -1
- package/lib/generated/versions-service.pbconf.d.ts +0 -6
- package/lib/generated/versions-service.pbsc.d.ts +0 -38
- package/lib/index.d.ts +0 -34
- package/public-api.d.ts +0 -1
|
@@ -1,431 +0,0 @@
|
|
|
1
|
-
import { BinaryReader, BinaryWriter } from 'google-protobuf';
|
|
2
|
-
import * as armonikApiGrpcV1002 from './filters-common.pb';
|
|
3
|
-
import * as armonikApiGrpcV1Partitions003 from './partitions-fields.pb';
|
|
4
|
-
/**
|
|
5
|
-
* Message implementation for armonik.api.grpc.v1.partitions.FilterField
|
|
6
|
-
*/
|
|
7
|
-
export class FilterField {
|
|
8
|
-
static { this.id = 'armonik.api.grpc.v1.partitions.FilterField'; }
|
|
9
|
-
/**
|
|
10
|
-
* Deserialize binary data to message
|
|
11
|
-
* @param instance message instance
|
|
12
|
-
*/
|
|
13
|
-
static deserializeBinary(bytes) {
|
|
14
|
-
const instance = new FilterField();
|
|
15
|
-
FilterField.deserializeBinaryFromReader(instance, new BinaryReader(bytes));
|
|
16
|
-
return instance;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Check all the properties and set default protobuf values if necessary
|
|
20
|
-
* @param _instance message instance
|
|
21
|
-
*/
|
|
22
|
-
static refineValues(_instance) {
|
|
23
|
-
_instance.field = _instance.field || undefined;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Deserializes / reads binary message into message instance using provided binary reader
|
|
27
|
-
* @param _instance message instance
|
|
28
|
-
* @param _reader binary reader instance
|
|
29
|
-
*/
|
|
30
|
-
static deserializeBinaryFromReader(_instance, _reader) {
|
|
31
|
-
while (_reader.nextField()) {
|
|
32
|
-
if (_reader.isEndGroup())
|
|
33
|
-
break;
|
|
34
|
-
switch (_reader.getFieldNumber()) {
|
|
35
|
-
case 1:
|
|
36
|
-
_instance.field = new armonikApiGrpcV1Partitions003.PartitionField();
|
|
37
|
-
_reader.readMessage(_instance.field, armonikApiGrpcV1Partitions003.PartitionField
|
|
38
|
-
.deserializeBinaryFromReader);
|
|
39
|
-
break;
|
|
40
|
-
case 2:
|
|
41
|
-
_instance.filterString = new armonikApiGrpcV1002.FilterString();
|
|
42
|
-
_reader.readMessage(_instance.filterString, armonikApiGrpcV1002.FilterString.deserializeBinaryFromReader);
|
|
43
|
-
break;
|
|
44
|
-
case 3:
|
|
45
|
-
_instance.filterNumber = new armonikApiGrpcV1002.FilterNumber();
|
|
46
|
-
_reader.readMessage(_instance.filterNumber, armonikApiGrpcV1002.FilterNumber.deserializeBinaryFromReader);
|
|
47
|
-
break;
|
|
48
|
-
case 4:
|
|
49
|
-
_instance.filterBoolean = new armonikApiGrpcV1002.FilterBoolean();
|
|
50
|
-
_reader.readMessage(_instance.filterBoolean, armonikApiGrpcV1002.FilterBoolean.deserializeBinaryFromReader);
|
|
51
|
-
break;
|
|
52
|
-
case 5:
|
|
53
|
-
_instance.filterArray = new armonikApiGrpcV1002.FilterArray();
|
|
54
|
-
_reader.readMessage(_instance.filterArray, armonikApiGrpcV1002.FilterArray.deserializeBinaryFromReader);
|
|
55
|
-
break;
|
|
56
|
-
default:
|
|
57
|
-
_reader.skipField();
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
FilterField.refineValues(_instance);
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Serializes a message to binary format using provided binary reader
|
|
64
|
-
* @param _instance message instance
|
|
65
|
-
* @param _writer binary writer instance
|
|
66
|
-
*/
|
|
67
|
-
static serializeBinaryToWriter(_instance, _writer) {
|
|
68
|
-
if (_instance.field) {
|
|
69
|
-
_writer.writeMessage(1, _instance.field, armonikApiGrpcV1Partitions003.PartitionField.serializeBinaryToWriter);
|
|
70
|
-
}
|
|
71
|
-
if (_instance.filterString) {
|
|
72
|
-
_writer.writeMessage(2, _instance.filterString, armonikApiGrpcV1002.FilterString.serializeBinaryToWriter);
|
|
73
|
-
}
|
|
74
|
-
if (_instance.filterNumber) {
|
|
75
|
-
_writer.writeMessage(3, _instance.filterNumber, armonikApiGrpcV1002.FilterNumber.serializeBinaryToWriter);
|
|
76
|
-
}
|
|
77
|
-
if (_instance.filterBoolean) {
|
|
78
|
-
_writer.writeMessage(4, _instance.filterBoolean, armonikApiGrpcV1002.FilterBoolean.serializeBinaryToWriter);
|
|
79
|
-
}
|
|
80
|
-
if (_instance.filterArray) {
|
|
81
|
-
_writer.writeMessage(5, _instance.filterArray, armonikApiGrpcV1002.FilterArray.serializeBinaryToWriter);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Message constructor. Initializes the properties and applies default Protobuf values if necessary
|
|
86
|
-
* @param _value initial values object or instance of FilterField to deeply clone from
|
|
87
|
-
*/
|
|
88
|
-
constructor(_value) {
|
|
89
|
-
this._valueCondition = FilterField.ValueConditionCase.none;
|
|
90
|
-
_value = _value || {};
|
|
91
|
-
this.field = _value.field
|
|
92
|
-
? new armonikApiGrpcV1Partitions003.PartitionField(_value.field)
|
|
93
|
-
: undefined;
|
|
94
|
-
this.filterString = _value.filterString
|
|
95
|
-
? new armonikApiGrpcV1002.FilterString(_value.filterString)
|
|
96
|
-
: undefined;
|
|
97
|
-
this.filterNumber = _value.filterNumber
|
|
98
|
-
? new armonikApiGrpcV1002.FilterNumber(_value.filterNumber)
|
|
99
|
-
: undefined;
|
|
100
|
-
this.filterBoolean = _value.filterBoolean
|
|
101
|
-
? new armonikApiGrpcV1002.FilterBoolean(_value.filterBoolean)
|
|
102
|
-
: undefined;
|
|
103
|
-
this.filterArray = _value.filterArray
|
|
104
|
-
? new armonikApiGrpcV1002.FilterArray(_value.filterArray)
|
|
105
|
-
: undefined;
|
|
106
|
-
FilterField.refineValues(this);
|
|
107
|
-
}
|
|
108
|
-
get field() {
|
|
109
|
-
return this._field;
|
|
110
|
-
}
|
|
111
|
-
set field(value) {
|
|
112
|
-
this._field = value;
|
|
113
|
-
}
|
|
114
|
-
get filterString() {
|
|
115
|
-
return this._filterString;
|
|
116
|
-
}
|
|
117
|
-
set filterString(value) {
|
|
118
|
-
if (value !== undefined && value !== null) {
|
|
119
|
-
this._filterNumber = this._filterBoolean = this._filterArray = undefined;
|
|
120
|
-
this._valueCondition = FilterField.ValueConditionCase.filterString;
|
|
121
|
-
}
|
|
122
|
-
this._filterString = value;
|
|
123
|
-
}
|
|
124
|
-
get filterNumber() {
|
|
125
|
-
return this._filterNumber;
|
|
126
|
-
}
|
|
127
|
-
set filterNumber(value) {
|
|
128
|
-
if (value !== undefined && value !== null) {
|
|
129
|
-
this._filterString = this._filterBoolean = this._filterArray = undefined;
|
|
130
|
-
this._valueCondition = FilterField.ValueConditionCase.filterNumber;
|
|
131
|
-
}
|
|
132
|
-
this._filterNumber = value;
|
|
133
|
-
}
|
|
134
|
-
get filterBoolean() {
|
|
135
|
-
return this._filterBoolean;
|
|
136
|
-
}
|
|
137
|
-
set filterBoolean(value) {
|
|
138
|
-
if (value !== undefined && value !== null) {
|
|
139
|
-
this._filterString = this._filterNumber = this._filterArray = undefined;
|
|
140
|
-
this._valueCondition = FilterField.ValueConditionCase.filterBoolean;
|
|
141
|
-
}
|
|
142
|
-
this._filterBoolean = value;
|
|
143
|
-
}
|
|
144
|
-
get filterArray() {
|
|
145
|
-
return this._filterArray;
|
|
146
|
-
}
|
|
147
|
-
set filterArray(value) {
|
|
148
|
-
if (value !== undefined && value !== null) {
|
|
149
|
-
this._filterString = this._filterNumber = this._filterBoolean = undefined;
|
|
150
|
-
this._valueCondition = FilterField.ValueConditionCase.filterArray;
|
|
151
|
-
}
|
|
152
|
-
this._filterArray = value;
|
|
153
|
-
}
|
|
154
|
-
get valueCondition() {
|
|
155
|
-
return this._valueCondition;
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
* Serialize message to binary data
|
|
159
|
-
* @param instance message instance
|
|
160
|
-
*/
|
|
161
|
-
serializeBinary() {
|
|
162
|
-
const writer = new BinaryWriter();
|
|
163
|
-
FilterField.serializeBinaryToWriter(this, writer);
|
|
164
|
-
return writer.getResultBuffer();
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Cast message to standard JavaScript object (all non-primitive values are deeply cloned)
|
|
168
|
-
*/
|
|
169
|
-
toObject() {
|
|
170
|
-
return {
|
|
171
|
-
field: this.field ? this.field.toObject() : undefined,
|
|
172
|
-
filterString: this.filterString
|
|
173
|
-
? this.filterString.toObject()
|
|
174
|
-
: undefined,
|
|
175
|
-
filterNumber: this.filterNumber
|
|
176
|
-
? this.filterNumber.toObject()
|
|
177
|
-
: undefined,
|
|
178
|
-
filterBoolean: this.filterBoolean
|
|
179
|
-
? this.filterBoolean.toObject()
|
|
180
|
-
: undefined,
|
|
181
|
-
filterArray: this.filterArray ? this.filterArray.toObject() : undefined
|
|
182
|
-
};
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Convenience method to support JSON.stringify(message), replicates the structure of toObject()
|
|
186
|
-
*/
|
|
187
|
-
toJSON() {
|
|
188
|
-
return this.toObject();
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json
|
|
192
|
-
* Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.
|
|
193
|
-
* If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required
|
|
194
|
-
*/
|
|
195
|
-
toProtobufJSON(
|
|
196
|
-
// @ts-ignore
|
|
197
|
-
options) {
|
|
198
|
-
return {
|
|
199
|
-
field: this.field ? this.field.toProtobufJSON(options) : null,
|
|
200
|
-
filterString: this.filterString
|
|
201
|
-
? this.filterString.toProtobufJSON(options)
|
|
202
|
-
: null,
|
|
203
|
-
filterNumber: this.filterNumber
|
|
204
|
-
? this.filterNumber.toProtobufJSON(options)
|
|
205
|
-
: null,
|
|
206
|
-
filterBoolean: this.filterBoolean
|
|
207
|
-
? this.filterBoolean.toProtobufJSON(options)
|
|
208
|
-
: null,
|
|
209
|
-
filterArray: this.filterArray
|
|
210
|
-
? this.filterArray.toProtobufJSON(options)
|
|
211
|
-
: null
|
|
212
|
-
};
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
(function (FilterField) {
|
|
216
|
-
let ValueConditionCase;
|
|
217
|
-
(function (ValueConditionCase) {
|
|
218
|
-
ValueConditionCase[ValueConditionCase["none"] = 0] = "none";
|
|
219
|
-
ValueConditionCase[ValueConditionCase["filterString"] = 1] = "filterString";
|
|
220
|
-
ValueConditionCase[ValueConditionCase["filterNumber"] = 2] = "filterNumber";
|
|
221
|
-
ValueConditionCase[ValueConditionCase["filterBoolean"] = 3] = "filterBoolean";
|
|
222
|
-
ValueConditionCase[ValueConditionCase["filterArray"] = 4] = "filterArray";
|
|
223
|
-
})(ValueConditionCase = FilterField.ValueConditionCase || (FilterField.ValueConditionCase = {}));
|
|
224
|
-
})(FilterField || (FilterField = {}));
|
|
225
|
-
/**
|
|
226
|
-
* Message implementation for armonik.api.grpc.v1.partitions.FiltersAnd
|
|
227
|
-
*/
|
|
228
|
-
export class FiltersAnd {
|
|
229
|
-
static { this.id = 'armonik.api.grpc.v1.partitions.FiltersAnd'; }
|
|
230
|
-
/**
|
|
231
|
-
* Deserialize binary data to message
|
|
232
|
-
* @param instance message instance
|
|
233
|
-
*/
|
|
234
|
-
static deserializeBinary(bytes) {
|
|
235
|
-
const instance = new FiltersAnd();
|
|
236
|
-
FiltersAnd.deserializeBinaryFromReader(instance, new BinaryReader(bytes));
|
|
237
|
-
return instance;
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Check all the properties and set default protobuf values if necessary
|
|
241
|
-
* @param _instance message instance
|
|
242
|
-
*/
|
|
243
|
-
static refineValues(_instance) {
|
|
244
|
-
_instance.and = _instance.and || [];
|
|
245
|
-
}
|
|
246
|
-
/**
|
|
247
|
-
* Deserializes / reads binary message into message instance using provided binary reader
|
|
248
|
-
* @param _instance message instance
|
|
249
|
-
* @param _reader binary reader instance
|
|
250
|
-
*/
|
|
251
|
-
static deserializeBinaryFromReader(_instance, _reader) {
|
|
252
|
-
while (_reader.nextField()) {
|
|
253
|
-
if (_reader.isEndGroup())
|
|
254
|
-
break;
|
|
255
|
-
switch (_reader.getFieldNumber()) {
|
|
256
|
-
case 1:
|
|
257
|
-
const messageInitializer1 = new FilterField();
|
|
258
|
-
_reader.readMessage(messageInitializer1, FilterField.deserializeBinaryFromReader);
|
|
259
|
-
(_instance.and = _instance.and || []).push(messageInitializer1);
|
|
260
|
-
break;
|
|
261
|
-
default:
|
|
262
|
-
_reader.skipField();
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
FiltersAnd.refineValues(_instance);
|
|
266
|
-
}
|
|
267
|
-
/**
|
|
268
|
-
* Serializes a message to binary format using provided binary reader
|
|
269
|
-
* @param _instance message instance
|
|
270
|
-
* @param _writer binary writer instance
|
|
271
|
-
*/
|
|
272
|
-
static serializeBinaryToWriter(_instance, _writer) {
|
|
273
|
-
if (_instance.and && _instance.and.length) {
|
|
274
|
-
_writer.writeRepeatedMessage(1, _instance.and, FilterField.serializeBinaryToWriter);
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
/**
|
|
278
|
-
* Message constructor. Initializes the properties and applies default Protobuf values if necessary
|
|
279
|
-
* @param _value initial values object or instance of FiltersAnd to deeply clone from
|
|
280
|
-
*/
|
|
281
|
-
constructor(_value) {
|
|
282
|
-
_value = _value || {};
|
|
283
|
-
this.and = (_value.and || []).map(m => new FilterField(m));
|
|
284
|
-
FiltersAnd.refineValues(this);
|
|
285
|
-
}
|
|
286
|
-
get and() {
|
|
287
|
-
return this._and;
|
|
288
|
-
}
|
|
289
|
-
set and(value) {
|
|
290
|
-
this._and = value;
|
|
291
|
-
}
|
|
292
|
-
/**
|
|
293
|
-
* Serialize message to binary data
|
|
294
|
-
* @param instance message instance
|
|
295
|
-
*/
|
|
296
|
-
serializeBinary() {
|
|
297
|
-
const writer = new BinaryWriter();
|
|
298
|
-
FiltersAnd.serializeBinaryToWriter(this, writer);
|
|
299
|
-
return writer.getResultBuffer();
|
|
300
|
-
}
|
|
301
|
-
/**
|
|
302
|
-
* Cast message to standard JavaScript object (all non-primitive values are deeply cloned)
|
|
303
|
-
*/
|
|
304
|
-
toObject() {
|
|
305
|
-
return {
|
|
306
|
-
and: (this.and || []).map(m => m.toObject())
|
|
307
|
-
};
|
|
308
|
-
}
|
|
309
|
-
/**
|
|
310
|
-
* Convenience method to support JSON.stringify(message), replicates the structure of toObject()
|
|
311
|
-
*/
|
|
312
|
-
toJSON() {
|
|
313
|
-
return this.toObject();
|
|
314
|
-
}
|
|
315
|
-
/**
|
|
316
|
-
* Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json
|
|
317
|
-
* Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.
|
|
318
|
-
* If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required
|
|
319
|
-
*/
|
|
320
|
-
toProtobufJSON(
|
|
321
|
-
// @ts-ignore
|
|
322
|
-
options) {
|
|
323
|
-
return {
|
|
324
|
-
and: (this.and || []).map(m => m.toProtobufJSON(options))
|
|
325
|
-
};
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
/**
|
|
329
|
-
* Message implementation for armonik.api.grpc.v1.partitions.Filters
|
|
330
|
-
*/
|
|
331
|
-
export class Filters {
|
|
332
|
-
static { this.id = 'armonik.api.grpc.v1.partitions.Filters'; }
|
|
333
|
-
/**
|
|
334
|
-
* Deserialize binary data to message
|
|
335
|
-
* @param instance message instance
|
|
336
|
-
*/
|
|
337
|
-
static deserializeBinary(bytes) {
|
|
338
|
-
const instance = new Filters();
|
|
339
|
-
Filters.deserializeBinaryFromReader(instance, new BinaryReader(bytes));
|
|
340
|
-
return instance;
|
|
341
|
-
}
|
|
342
|
-
/**
|
|
343
|
-
* Check all the properties and set default protobuf values if necessary
|
|
344
|
-
* @param _instance message instance
|
|
345
|
-
*/
|
|
346
|
-
static refineValues(_instance) {
|
|
347
|
-
_instance.or = _instance.or || [];
|
|
348
|
-
}
|
|
349
|
-
/**
|
|
350
|
-
* Deserializes / reads binary message into message instance using provided binary reader
|
|
351
|
-
* @param _instance message instance
|
|
352
|
-
* @param _reader binary reader instance
|
|
353
|
-
*/
|
|
354
|
-
static deserializeBinaryFromReader(_instance, _reader) {
|
|
355
|
-
while (_reader.nextField()) {
|
|
356
|
-
if (_reader.isEndGroup())
|
|
357
|
-
break;
|
|
358
|
-
switch (_reader.getFieldNumber()) {
|
|
359
|
-
case 1:
|
|
360
|
-
const messageInitializer1 = new FiltersAnd();
|
|
361
|
-
_reader.readMessage(messageInitializer1, FiltersAnd.deserializeBinaryFromReader);
|
|
362
|
-
(_instance.or = _instance.or || []).push(messageInitializer1);
|
|
363
|
-
break;
|
|
364
|
-
default:
|
|
365
|
-
_reader.skipField();
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
Filters.refineValues(_instance);
|
|
369
|
-
}
|
|
370
|
-
/**
|
|
371
|
-
* Serializes a message to binary format using provided binary reader
|
|
372
|
-
* @param _instance message instance
|
|
373
|
-
* @param _writer binary writer instance
|
|
374
|
-
*/
|
|
375
|
-
static serializeBinaryToWriter(_instance, _writer) {
|
|
376
|
-
if (_instance.or && _instance.or.length) {
|
|
377
|
-
_writer.writeRepeatedMessage(1, _instance.or, FiltersAnd.serializeBinaryToWriter);
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
/**
|
|
381
|
-
* Message constructor. Initializes the properties and applies default Protobuf values if necessary
|
|
382
|
-
* @param _value initial values object or instance of Filters to deeply clone from
|
|
383
|
-
*/
|
|
384
|
-
constructor(_value) {
|
|
385
|
-
_value = _value || {};
|
|
386
|
-
this.or = (_value.or || []).map(m => new FiltersAnd(m));
|
|
387
|
-
Filters.refineValues(this);
|
|
388
|
-
}
|
|
389
|
-
get or() {
|
|
390
|
-
return this._or;
|
|
391
|
-
}
|
|
392
|
-
set or(value) {
|
|
393
|
-
this._or = value;
|
|
394
|
-
}
|
|
395
|
-
/**
|
|
396
|
-
* Serialize message to binary data
|
|
397
|
-
* @param instance message instance
|
|
398
|
-
*/
|
|
399
|
-
serializeBinary() {
|
|
400
|
-
const writer = new BinaryWriter();
|
|
401
|
-
Filters.serializeBinaryToWriter(this, writer);
|
|
402
|
-
return writer.getResultBuffer();
|
|
403
|
-
}
|
|
404
|
-
/**
|
|
405
|
-
* Cast message to standard JavaScript object (all non-primitive values are deeply cloned)
|
|
406
|
-
*/
|
|
407
|
-
toObject() {
|
|
408
|
-
return {
|
|
409
|
-
or: (this.or || []).map(m => m.toObject())
|
|
410
|
-
};
|
|
411
|
-
}
|
|
412
|
-
/**
|
|
413
|
-
* Convenience method to support JSON.stringify(message), replicates the structure of toObject()
|
|
414
|
-
*/
|
|
415
|
-
toJSON() {
|
|
416
|
-
return this.toObject();
|
|
417
|
-
}
|
|
418
|
-
/**
|
|
419
|
-
* Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json
|
|
420
|
-
* Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.
|
|
421
|
-
* If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required
|
|
422
|
-
*/
|
|
423
|
-
toProtobufJSON(
|
|
424
|
-
// @ts-ignore
|
|
425
|
-
options) {
|
|
426
|
-
return {
|
|
427
|
-
or: (this.or || []).map(m => m.toProtobufJSON(options))
|
|
428
|
-
};
|
|
429
|
-
}
|
|
430
|
-
}
|
|
431
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGl0aW9ucy1maWx0ZXJzLnBiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5lb2NvbnN1bHRpbmdmci9hcm1vbmlrLmFwaS5hbmd1bGFyL3NyYy9saWIvZ2VuZXJhdGVkL3BhcnRpdGlvbnMtZmlsdGVycy5wYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBYyxNQUFNLGlCQUFpQixDQUFDO0FBR3pFLE9BQU8sS0FBSyxtQkFBbUIsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEtBQUssNkJBQTZCLE1BQU0sd0JBQXdCLENBQUM7QUFDeEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sV0FBVzthQUNmLE9BQUUsR0FBRyw0Q0FBNEMsQUFBL0MsQ0FBZ0Q7SUFFekQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQWlCO1FBQ3hDLE1BQU0sUUFBUSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbkMsV0FBVyxDQUFDLDJCQUEyQixDQUFDLFFBQVEsRUFBRSxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzNFLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLFNBQXNCO1FBQ3hDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsMkJBQTJCLENBQ2hDLFNBQXNCLEVBQ3RCLE9BQXFCO1FBRXJCLE9BQU8sT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDM0IsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO2dCQUFFLE1BQU07WUFFaEMsUUFBUSxPQUFPLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQztnQkFDakMsS0FB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aW50LWRpc2FibGUgKi9cbi8vIEB0cy1ub2NoZWNrXG4vL1xuLy8gVEhJUyBJUyBBIEdFTkVSQVRFRCBGSUxFXG4vLyBETyBOT1QgTU9ESUZZIElUISBZT1VSIENIQU5HRVMgV0lMTCBCRSBMT1NUXG5pbXBvcnQge1xuICBHcnBjTWVzc2FnZSxcbiAgUmVjdXJzaXZlUGFydGlhbCxcbiAgVG9Qcm90b2J1ZkpTT05PcHRpb25zXG59IGZyb20gJ0BuZ3gtZ3JwYy9jb21tb24nO1xuaW1wb3J0IHsgQmluYXJ5UmVhZGVyLCBCaW5hcnlXcml0ZXIsIEJ5dGVTb3VyY2UgfSBmcm9tICdnb29nbGUtcHJvdG9idWYnO1xuaW1wb3J0ICogYXMgZ29vZ2xlUHJvdG9idWYwMDAgZnJvbSAnQG5neC1ncnBjL3dlbGwta25vd24tdHlwZXMnO1xuaW1wb3J0ICogYXMgZ29vZ2xlUHJvdG9idWYwMDEgZnJvbSAnQG5neC1ncnBjL3dlbGwta25vd24tdHlwZXMnO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMTAwMiBmcm9tICcuL2ZpbHRlcnMtY29tbW9uLnBiJztcbmltcG9ydCAqIGFzIGFybW9uaWtBcGlHcnBjVjFQYXJ0aXRpb25zMDAzIGZyb20gJy4vcGFydGl0aW9ucy1maWVsZHMucGInO1xuLyoqXG4gKiBNZXNzYWdlIGltcGxlbWVudGF0aW9uIGZvciBhcm1vbmlrLmFwaS5ncnBjLnYxLnBhcnRpdGlvbnMuRmlsdGVyRmllbGRcbiAqL1xuZXhwb3J0IGNsYXNzIEZpbHRlckZpZWxkIGltcGxlbWVudHMgR3JwY01lc3NhZ2Uge1xuICBzdGF0aWMgaWQgPSAnYXJtb25pay5hcGkuZ3JwYy52MS5wYXJ0aXRpb25zLkZpbHRlckZpZWxkJztcblxuICAvKipcbiAgICogRGVzZXJpYWxpemUgYmluYXJ5IGRhdGEgdG8gbWVzc2FnZVxuICAgKiBAcGFyYW0gaW5zdGFuY2UgbWVzc2FnZSBpbnN0YW5jZVxuICAgKi9cbiAgc3RhdGljIGRlc2VyaWFsaXplQmluYXJ5KGJ5dGVzOiBCeXRlU291cmNlKSB7XG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgRmlsdGVyRmllbGQoKTtcbiAgICBGaWx0ZXJGaWVsZC5kZXNlcmlhbGl6ZUJpbmFyeUZyb21SZWFkZXIoaW5zdGFuY2UsIG5ldyBCaW5hcnlSZWFkZXIoYnl0ZXMpKTtcbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgYWxsIHRoZSBwcm9wZXJ0aWVzIGFuZCBzZXQgZGVmYXVsdCBwcm90b2J1ZiB2YWx1ZXMgaWYgbmVjZXNzYXJ5XG4gICAqIEBwYXJhbSBfaW5zdGFuY2UgbWVzc2FnZSBpbnN0YW5jZVxuICAgKi9cbiAgc3RhdGljIHJlZmluZVZhbHVlcyhfaW5zdGFuY2U6IEZpbHRlckZpZWxkKSB7XG4gICAgX2luc3RhbmNlLmZpZWxkID0gX2luc3RhbmNlLmZpZWxkIHx8IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlcmlhbGl6ZXMgLyByZWFkcyBiaW5hcnkgbWVzc2FnZSBpbnRvIG1lc3NhZ2UgaW5zdGFuY2UgdXNpbmcgcHJvdmlkZWQgYmluYXJ5IHJlYWRlclxuICAgKiBAcGFyYW0gX2luc3RhbmNlIG1lc3NhZ2UgaW5zdGFuY2VcbiAgICogQHBhcmFtIF9yZWFkZXIgYmluYXJ5IHJlYWRlciBpbnN0YW5jZVxuICAgKi9cbiAgc3RhdGljIGRlc2VyaWFsaXplQmluYXJ5RnJvbVJlYWRlcihcbiAgICBfaW5zdGFuY2U6IEZpbHRlckZpZWxkLFxuICAgIF9yZWFkZXI6IEJpbmFyeVJlYWRlclxuICApIHtcbiAgICB3aGlsZSAoX3JlYWRlci5uZXh0RmllbGQoKSkge1xuICAgICAgaWYgKF9yZWFkZXIuaXNFbmRHcm91cCgpKSBicmVhaztcblxuICAgICAgc3dpdGNoIChfcmVhZGVyLmdldEZpZWxkTnVtYmVyKCkpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIF9pbnN0YW5jZS5maWVsZCA9IG5ldyBhcm1vbmlrQXBpR3JwY1YxUGFydGl0aW9uczAwMy5QYXJ0aXRpb25GaWVsZCgpO1xuICAgICAgICAgIF9yZWFkZXIucmVhZE1lc3NhZ2UoXG4gICAgICAgICAgICBfaW5zdGFuY2UuZmllbGQsXG4gICAgICAgICAgICBhcm1vbmlrQXBpR3JwY1YxUGFydGl0aW9uczAwMy5QYXJ0aXRpb25GaWVsZFxuICAgICAgICAgICAgICAuZGVzZXJpYWxpemVCaW5hcnlGcm9tUmVhZGVyXG4gICAgICAgICAgKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICAgIF9pbnN0YW5jZS5maWx0ZXJTdHJpbmcgPSBuZXcgYXJtb25pa0FwaUdycGNWMTAwMi5GaWx0ZXJTdHJpbmcoKTtcbiAgICAgICAgICBfcmVhZGVyLnJlYWRNZXNzYWdlKFxuICAgICAgICAgICAgX2luc3RhbmNlLmZpbHRlclN0cmluZyxcbiAgICAgICAgICAgIGFybW9uaWtBcGlHcnBjVjEwMDIuRmlsdGVyU3RyaW5nLmRlc2VyaWFsaXplQmluYXJ5RnJvbVJlYWRlclxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMzpcbiAgICAgICAgICBfaW5zdGFuY2UuZmlsdGVyTnVtYmVyID0gbmV3IGFybW9uaWtBcGlHcnBjVjEwMDIuRmlsdGVyTnVtYmVyKCk7XG4gICAgICAgICAgX3JlYWRlci5yZWFkTWVzc2FnZShcbiAgICAgICAgICAgIF9pbnN0YW5jZS5maWx0ZXJOdW1iZXIsXG4gICAgICAgICAgICBhcm1vbmlrQXBpR3JwY1YxMDAyLkZpbHRlck51bWJlci5kZXNlcmlhbGl6ZUJpbmFyeUZyb21SZWFkZXJcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDQ6XG4gICAgICAgICAgX2luc3RhbmNlLmZpbHRlckJvb2xlYW4gPSBuZXcgYXJtb25pa0FwaUdycGNWMTAwMi5GaWx0ZXJCb29sZWFuKCk7XG4gICAgICAgICAgX3JlYWRlci5yZWFkTWVzc2FnZShcbiAgICAgICAgICAgIF9pbnN0YW5jZS5maWx0ZXJCb29sZWFuLFxuICAgICAgICAgICAgYXJtb25pa0FwaUdycGNWMTAwMi5GaWx0ZXJCb29sZWFuLmRlc2VyaWFsaXplQmluYXJ5RnJvbVJlYWRlclxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgNTpcbiAgICAgICAgICBfaW5zdGFuY2UuZmlsdGVyQXJyYXkgPSBuZXcgYXJtb25pa0FwaUdycGNWMTAwMi5GaWx0ZXJBcnJheSgpO1xuICAgICAgICAgIF9yZWFkZXIucmVhZE1lc3NhZ2UoXG4gICAgICAgICAgICBfaW5zdGFuY2UuZmlsdGVyQXJyYXksXG4gICAgICAgICAgICBhcm1vbmlrQXBpR3JwY1YxMDAyLkZpbHRlckFycmF5LmRlc2VyaWFsaXplQmluYXJ5RnJvbVJlYWRlclxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgX3JlYWRlci5za2lwRmllbGQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBGaWx0ZXJGaWVsZC5yZWZpbmVWYWx1ZXMoX2luc3RhbmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXJpYWxpemVzIGEgbWVzc2FnZSB0byBiaW5hcnkgZm9ybWF0IHVzaW5nIHByb3ZpZGVkIGJpbmFyeSByZWFkZXJcbiAgICogQHBhcmFtIF9pbnN0YW5jZSBtZXNzYWdlIGluc3RhbmNlXG4gICAqIEBwYXJhbSBfd3JpdGVyIGJpbmFyeSB3cml0ZXIgaW5zdGFuY2VcbiAgICovXG4gIHN0YXRpYyBzZXJpYWxpemVCaW5hcnlUb1dyaXRlcihcbiAgICBfaW5zdGFuY2U6IEZpbHRlckZpZWxkLFxuICAgIF93cml0ZXI6IEJpbmFyeVdyaXRlclxuICApIHtcbiAgICBpZiAoX2luc3RhbmNlLmZpZWxkKSB7XG4gICAgICBfd3JpdGVyLndyaXRlTWVzc2FnZShcbiAgICAgICAgMSxcbiAgICAgICAgX2luc3RhbmNlLmZpZWxkIGFzIGFueSxcbiAgICAgICAgYXJtb25pa0FwaUdycGNWMVBhcnRpdGlvbnMwMDMuUGFydGl0aW9uRmllbGQuc2VyaWFsaXplQmluYXJ5VG9Xcml0ZXJcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChfaW5zdGFuY2UuZmlsdGVyU3RyaW5nKSB7XG4gICAgICBfd3JpdGVyLndyaXRlTWVzc2FnZShcbiAgICAgICAgMixcbiAgICAgICAgX2luc3RhbmNlLmZpbHRlclN0cmluZyBhcyBhbnksXG4gICAgICAgIGFybW9uaWtBcGlHcnBjVjEwMDIuRmlsdGVyU3RyaW5nLnNlcmlhbGl6ZUJpbmFyeVRvV3JpdGVyXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoX2luc3RhbmNlLmZpbHRlck51bWJlcikge1xuICAgICAgX3dyaXRlci53cml0ZU1lc3NhZ2UoXG4gICAgICAgIDMsXG4gICAgICAgIF9pbnN0YW5jZS5maWx0ZXJOdW1iZXIgYXMgYW55LFxuICAgICAgICBhcm1vbmlrQXBpR3JwY1YxMDAyLkZpbHRlck51bWJlci5zZXJpYWxpemVCaW5hcnlUb1dyaXRlclxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKF9pbnN0YW5jZS5maWx0ZXJCb29sZWFuKSB7XG4gICAgICBfd3JpdGVyLndyaXRlTWVzc2FnZShcbiAgICAgICAgNCxcbiAgICAgICAgX2luc3RhbmNlLmZpbHRlckJvb2xlYW4gYXMgYW55LFxuICAgICAgICBhcm1vbmlrQXBpR3JwY1YxMDAyLkZpbHRlckJvb2xlYW4uc2VyaWFsaXplQmluYXJ5VG9Xcml0ZXJcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChfaW5zdGFuY2UuZmlsdGVyQXJyYXkpIHtcbiAgICAgIF93cml0ZXIud3JpdGVNZXNzYWdlKFxuICAgICAgICA1LFxuICAgICAgICBfaW5zdGFuY2UuZmlsdGVyQXJyYXkgYXMgYW55LFxuICAgICAgICBhcm1vbmlrQXBpR3JwY1YxMDAyLkZpbHRlckFycmF5LnNlcmlhbGl6ZUJpbmFyeVRvV3JpdGVyXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2ZpZWxkPzogYXJtb25pa0FwaUdycGNWMVBhcnRpdGlvbnMwMDMuUGFydGl0aW9uRmllbGQ7XG4gIHByaXZhdGUgX2ZpbHRlclN0cmluZz86IGFybW9uaWtBcGlHcnBjVjEwMDIuRmlsdGVyU3RyaW5nO1xuICBwcml2YXRlIF9maWx0ZXJOdW1iZXI/OiBhcm1vbmlrQXBpR3JwY1YxMDAyLkZpbHRlck51bWJlcjtcbiAgcHJpdmF0ZSBfZmlsdGVyQm9vbGVhbj86IGFybW9uaWtBcGlHcnBjVjEwMDIuRmlsdGVyQm9vbGVhbjtcbiAgcHJpdmF0ZSBfZmlsdGVyQXJyYXk/OiBhcm1vbmlrQXBpR3JwY1YxMDAyLkZpbHRlckFycmF5O1xuXG4gIHByaXZhdGUgX3ZhbHVlQ29uZGl0aW9uOiBGaWx0ZXJGaWVsZC5WYWx1ZUNvbmRpdGlvbkNhc2UgPVxuICAgIEZpbHRlckZpZWxkLlZhbHVlQ29uZGl0aW9uQ2FzZS5ub25lO1xuXG4gIC8qKlxuICAgKiBNZXNzYWdlIGNvbnN0cnVjdG9yLiBJbml0aWFsaXplcyB0aGUgcHJvcGVydGllcyBhbmQgYXBwbGllcyBkZWZhdWx0IFByb3RvYnVmIHZhbHVlcyBpZiBuZWNlc3NhcnlcbiAgICogQHBhcmFtIF92YWx1ZSBpbml0aWFsIHZhbHVlcyBvYmplY3Qgb3IgaW5zdGFuY2Ugb2YgRmlsdGVyRmllbGQgdG8gZGVlcGx5IGNsb25lIGZyb21cbiAgICovXG4gIGNvbnN0cnVjdG9yKF92YWx1ZT86IFJlY3Vyc2l2ZVBhcnRpYWw8RmlsdGVyRmllbGQuQXNPYmplY3Q+KSB7XG4gICAgX3ZhbHVlID0gX3ZhbHVlIHx8IHt9O1xuICAgIHRoaXMuZmllbGQgPSBfdmFsdWUuZmllbGRcbiAgICAgID8gbmV3IGFybW9uaWtBcGlHcnBjVjFQYXJ0aXRpb25zMDAzLlBhcnRpdGlvbkZpZWxkKF92YWx1ZS5maWVsZClcbiAgICAgIDogdW5kZWZpbmVkO1xuICAgIHRoaXMuZmlsdGVyU3RyaW5nID0gX3ZhbHVlLmZpbHRlclN0cmluZ1xuICAgICAgPyBuZXcgYXJtb25pa0FwaUdycGNWMTAwMi5GaWx0ZXJTdHJpbmcoX3ZhbHVlLmZpbHRlclN0cmluZylcbiAgICAgIDogdW5kZWZpbmVkO1xuICAgIHRoaXMuZmlsdGVyTnVtYmVyID0gX3ZhbHVlLmZpbHRlck51bWJlclxuICAgICAgPyBuZXcgYXJtb25pa0FwaUdycGNWMTAwMi5GaWx0ZXJOdW1iZXIoX3ZhbHVlLmZpbHRlck51bWJlcilcbiAgICAgIDogdW5kZWZpbmVkO1xuICAgIHRoaXMuZmlsdGVyQm9vbGVhbiA9IF92YWx1ZS5maWx0ZXJCb29sZWFuXG4gICAgICA/IG5ldyBhcm1vbmlrQXBpR3JwY1YxMDAyLkZpbHRlckJvb2xlYW4oX3ZhbHVlLmZpbHRlckJvb2xlYW4pXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLmZpbHRlckFycmF5ID0gX3ZhbHVlLmZpbHRlckFycmF5XG4gICAgICA/IG5ldyBhcm1vbmlrQXBpR3JwY1YxMDAyLkZpbHRlckFycmF5KF92YWx1ZS5maWx0ZXJBcnJheSlcbiAgICAgIDogdW5kZWZpbmVkO1xuICAgIEZpbHRlckZpZWxkLnJlZmluZVZhbHVlcyh0aGlzKTtcbiAgfVxuICBnZXQgZmllbGQoKTogYXJtb25pa0FwaUdycGNWMVBhcnRpdGlvbnMwMDMuUGFydGl0aW9uRmllbGQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9maWVsZDtcbiAgfVxuICBzZXQgZmllbGQodmFsdWU6IGFybW9uaWtBcGlHcnBjVjFQYXJ0aXRpb25zMDAzLlBhcnRpdGlvbkZpZWxkIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fZmllbGQgPSB2YWx1ZTtcbiAgfVxuICBnZXQgZmlsdGVyU3RyaW5nKCk6IGFybW9uaWtBcGlHcnBjVjEwMDIuRmlsdGVyU3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyU3RyaW5nO1xuICB9XG4gIHNldCBmaWx0ZXJTdHJpbmcodmFsdWU6IGFybW9uaWtBcGlHcnBjVjEwMDIuRmlsdGVyU3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuX2ZpbHRlck51bWJlciA9IHRoaXMuX2ZpbHRlckJvb2xlYW4gPSB0aGlzLl9maWx0ZXJBcnJheSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuX3ZhbHVlQ29uZGl0aW9uID0gRmlsdGVyRmllbGQuVmFsdWVDb25kaXRpb25DYXNlLmZpbHRlclN0cmluZztcbiAgICB9XG4gICAgdGhpcy5fZmlsdGVyU3RyaW5nID0gdmFsdWU7XG4gIH1cbiAgZ2V0IGZpbHRlck51bWJlcigpOiBhcm1vbmlrQXBpR3JwY1YxMDAyLkZpbHRlck51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlck51bWJlcjtcbiAgfVxuICBzZXQgZmlsdGVyTnVtYmVyKHZhbHVlOiBhcm1vbmlrQXBpR3JwY1YxMDAyLkZpbHRlck51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLl9maWx0ZXJTdHJpbmcgPSB0aGlzLl9maWx0ZXJCb29sZWFuID0gdGhpcy5fZmlsdGVyQXJyYXkgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLl92YWx1ZUNvbmRpdGlvbiA9IEZpbHRlckZpZWxkLlZhbHVlQ29uZGl0aW9uQ2FzZS5maWx0ZXJOdW1iZXI7XG4gICAgfVxuICAgIHRoaXMuX2ZpbHRlck51bWJlciA9IHZhbHVlO1xuICB9XG4gIGdldCBmaWx0ZXJCb29sZWFuKCk6IGFybW9uaWtBcGlHcnBjVjEwMDIuRmlsdGVyQm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlckJvb2xlYW47XG4gIH1cbiAgc2V0IGZpbHRlckJvb2xlYW4odmFsdWU6IGFybW9uaWtBcGlHcnBjVjEwMDIuRmlsdGVyQm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLl9maWx0ZXJTdHJpbmcgPSB0aGlzLl9maWx0ZXJOdW1iZXIgPSB0aGlzLl9maWx0ZXJBcnJheSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuX3ZhbHVlQ29uZGl0aW9uID0gRmlsdGVyRmllbGQuVmFsdWVDb25kaXRpb25DYXNlLmZpbHRlckJvb2xlYW47XG4gICAgfVxuICAgIHRoaXMuX2ZpbHRlckJvb2xlYW4gPSB2YWx1ZTtcbiAgfVxuICBnZXQgZmlsdGVyQXJyYXkoKTogYXJtb25pa0FwaUdycGNWMTAwMi5GaWx0ZXJBcnJheSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlckFycmF5O1xuICB9XG4gIHNldCBmaWx0ZXJBcnJheSh2YWx1ZTogYXJtb25pa0FwaUdycGNWMTAwMi5GaWx0ZXJBcnJheSB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLl9maWx0ZXJTdHJpbmcgPSB0aGlzLl9maWx0ZXJOdW1iZXIgPSB0aGlzLl9maWx0ZXJCb29sZWFuID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fdmFsdWVDb25kaXRpb24gPSBGaWx0ZXJGaWVsZC5WYWx1ZUNvbmRpdGlvbkNhc2UuZmlsdGVyQXJyYXk7XG4gICAgfVxuICAgIHRoaXMuX2ZpbHRlckFycmF5ID0gdmFsdWU7XG4gIH1cbiAgZ2V0IHZhbHVlQ29uZGl0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZUNvbmRpdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXJpYWxpemUgbWVzc2FnZSB0byBiaW5hcnkgZGF0YVxuICAgKiBAcGFyYW0gaW5zdGFuY2UgbWVzc2FnZSBpbnN0YW5jZVxuICAgKi9cbiAgc2VyaWFsaXplQmluYXJ5KCkge1xuICAgIGNvbnN0IHdyaXRlciA9IG5ldyBCaW5hcnlXcml0ZXIoKTtcbiAgICBGaWx0ZXJGaWVsZC5zZXJpYWxpemVCaW5hcnlUb1dyaXRlcih0aGlzLCB3cml0ZXIpO1xuICAgIHJldHVybiB3cml0ZXIuZ2V0UmVzdWx0QnVmZmVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FzdCBtZXNzYWdlIHRvIHN0YW5kYXJkIEphdmFTY3JpcHQgb2JqZWN0IChhbGwgbm9uLXByaW1pdGl2ZSB2YWx1ZXMgYXJlIGRlZXBseSBjbG9uZWQpXG4gICAqL1xuICB0b09iamVjdCgpOiBGaWx0ZXJGaWVsZC5Bc09iamVjdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZpZWxkOiB0aGlzLmZpZWxkID8gdGhpcy5maWVsZC50b09iamVjdCgpIDogdW5kZWZpbmVkLFxuICAgICAgZmlsdGVyU3RyaW5nOiB0aGlzLmZpbHRlclN0cmluZ1xuICAgICAgICA/IHRoaXMuZmlsdGVyU3RyaW5nLnRvT2JqZWN0KClcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBmaWx0ZXJOdW1iZXI6IHRoaXMuZmlsdGVyTnVtYmVyXG4gICAgICAgID8gdGhpcy5maWx0ZXJOdW1iZXIudG9PYmplY3QoKVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIGZpbHRlckJvb2xlYW46IHRoaXMuZmlsdGVyQm9vbGVhblxuICAgICAgICA/IHRoaXMuZmlsdGVyQm9vbGVhbi50b09iamVjdCgpXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgZmlsdGVyQXJyYXk6IHRoaXMuZmlsdGVyQXJyYXkgPyB0aGlzLmZpbHRlckFycmF5LnRvT2JqZWN0KCkgOiB1bmRlZmluZWRcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlbmllbmNlIG1ldGhvZCB0byBzdXBwb3J0IEpTT04uc3RyaW5naWZ5KG1lc3NhZ2UpLCByZXBsaWNhdGVzIHRoZSBzdHJ1Y3R1cmUgb2YgdG9PYmplY3QoKVxuICAgKi9cbiAgdG9KU09OKCkge1xuICAgIHJldHVybiB0aGlzLnRvT2JqZWN0KCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FzdCBtZXNzYWdlIHRvIEpTT04gdXNpbmcgcHJvdG9idWYgSlNPTiBub3RhdGlvbjogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy9kb2NzL3Byb3RvMyNqc29uXG4gICAqIEF0dGVudGlvbjogb3V0cHV0IGRpZmZlcnMgZnJvbSB0b09iamVjdCgpIGUuZy4gZW51bXMgYXJlIHJlcHJlc2VudGVkIGFzIG5hbWVzIGFuZCBub3QgYXMgbnVtYmVycywgVGltZXN0YW1wIGlzIGFuIElTTyBEYXRlIHN0cmluZyBmb3JtYXQgZXRjLlxuICAgKiBJZiB0aGUgbWVzc2FnZSBpdHNlbGYgb3Igc29tZSBvZiBkZXNjZW5kYW50IG1lc3NhZ2VzIGlzIGdvb2dsZS5wcm90b2J1Zi5BbnksIHlvdSBNVVNUIHByb3ZpZGUgYSBtZXNzYWdlIHBvb2wgYXMgb3B0aW9ucy4gSWYgbm90LCB0aGUgbWVzc2FnZVBvb2wgaXMgbm90IHJlcXVpcmVkXG4gICAqL1xuICB0b1Byb3RvYnVmSlNPTihcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgb3B0aW9ucz86IFRvUHJvdG9idWZKU09OT3B0aW9uc1xuICApOiBGaWx0ZXJGaWVsZC5Bc1Byb3RvYnVmSlNPTiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZpZWxkOiB0aGlzLmZpZWxkID8gdGhpcy5maWVsZC50b1Byb3RvYnVmSlNPTihvcHRpb25zKSA6IG51bGwsXG4gICAgICBmaWx0ZXJTdHJpbmc6IHRoaXMuZmlsdGVyU3RyaW5nXG4gICAgICAgID8gdGhpcy5maWx0ZXJTdHJpbmcudG9Qcm90b2J1ZkpTT04ob3B0aW9ucylcbiAgICAgICAgOiBudWxsLFxuICAgICAgZmlsdGVyTnVtYmVyOiB0aGlzLmZpbHRlck51bWJlclxuICAgICAgICA/IHRoaXMuZmlsdGVyTnVtYmVyLnRvUHJvdG9idWZKU09OKG9wdGlvbnMpXG4gICAgICAgIDogbnVsbCxcbiAgICAgIGZpbHRlckJvb2xlYW46IHRoaXMuZmlsdGVyQm9vbGVhblxuICAgICAgICA/IHRoaXMuZmlsdGVyQm9vbGVhbi50b1Byb3RvYnVmSlNPTihvcHRpb25zKVxuICAgICAgICA6IG51bGwsXG4gICAgICBmaWx0ZXJBcnJheTogdGhpcy5maWx0ZXJBcnJheVxuICAgICAgICA/IHRoaXMuZmlsdGVyQXJyYXkudG9Qcm90b2J1ZkpTT04ob3B0aW9ucylcbiAgICAgICAgOiBudWxsXG4gICAgfTtcbiAgfVxufVxuZXhwb3J0IG1vZHVsZSBGaWx0ZXJGaWVsZCB7XG4gIC8qKlxuICAgKiBTdGFuZGFyZCBKYXZhU2NyaXB0IG9iamVjdCByZXByZXNlbnRhdGlvbiBmb3IgRmlsdGVyRmllbGRcbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgQXNPYmplY3Qge1xuICAgIGZpZWxkPzogYXJtb25pa0FwaUdycGNWMVBhcnRpdGlvbnMwMDMuUGFydGl0aW9uRmllbGQuQXNPYmplY3Q7XG4gICAgZmlsdGVyU3RyaW5nPzogYXJtb25pa0FwaUdycGNWMTAwMi5GaWx0ZXJTdHJpbmcuQXNPYmplY3Q7XG4gICAgZmlsdGVyTnVtYmVyPzogYXJtb25pa0FwaUdycGNWMTAwMi5GaWx0ZXJOdW1iZXIuQXNPYmplY3Q7XG4gICAgZmlsdGVyQm9vbGVhbj86IGFybW9uaWtBcGlHcnBjVjEwMDIuRmlsdGVyQm9vbGVhbi5Bc09iamVjdDtcbiAgICBmaWx0ZXJBcnJheT86IGFybW9uaWtBcGlHcnBjVjEwMDIuRmlsdGVyQXJyYXkuQXNPYmplY3Q7XG4gIH1cblxuICAvKipcbiAgICogUHJvdG9idWYgSlNPTiByZXByZXNlbnRhdGlvbiBmb3IgRmlsdGVyRmllbGRcbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgQXNQcm90b2J1ZkpTT04ge1xuICAgIGZpZWxkOiBhcm1vbmlrQXBpR3JwY1YxUGFydGl0aW9uczAwMy5QYXJ0aXRpb25GaWVsZC5Bc1Byb3RvYnVmSlNPTiB8IG51bGw7XG4gICAgZmlsdGVyU3RyaW5nOiBhcm1vbmlrQXBpR3JwY1YxMDAyLkZpbHRlclN0cmluZy5Bc1Byb3RvYnVmSlNPTiB8IG51bGw7XG4gICAgZmlsdGVyTnVtYmVyOiBhcm1vbmlrQXBpR3JwY1YxMDAyLkZpbHRlck51bWJlci5Bc1Byb3RvYnVmSlNPTiB8IG51bGw7XG4gICAgZmlsdGVyQm9vbGVhbjogYXJtb25pa0FwaUdycGNWMTAwMi5GaWx0ZXJCb29sZWFuLkFzUHJvdG9idWZKU09OIHwgbnVsbDtcbiAgICBmaWx0ZXJBcnJheTogYXJtb25pa0FwaUdycGNWMTAwMi5GaWx0ZXJBcnJheS5Bc1Byb3RvYnVmSlNPTiB8IG51bGw7XG4gIH1cbiAgZXhwb3J0IGVudW0gVmFsdWVDb25kaXRpb25DYXNlIHtcbiAgICBub25lID0gMCxcbiAgICBmaWx0ZXJTdHJpbmcgPSAxLFxuICAgIGZpbHRlck51bWJlciA9IDIsXG4gICAgZmlsdGVyQm9vbGVhbiA9IDMsXG4gICAgZmlsdGVyQXJyYXkgPSA0XG4gIH1cbn1cblxuLyoqXG4gKiBNZXNzYWdlIGltcGxlbWVudGF0aW9uIGZvciBhcm1vbmlrLmFwaS5ncnBjLnYxLnBhcnRpdGlvbnMuRmlsdGVyc0FuZFxuICovXG5leHBvcnQgY2xhc3MgRmlsdGVyc0FuZCBpbXBsZW1lbnRzIEdycGNNZXNzYWdlIHtcbiAgc3RhdGljIGlkID0gJ2FybW9uaWsuYXBpLmdycGMudjEucGFydGl0aW9ucy5GaWx0ZXJzQW5kJztcblxuICAvKipcbiAgICogRGVzZXJpYWxpemUgYmluYXJ5IGRhdGEgdG8gbWVzc2FnZVxuICAgKiBAcGFyYW0gaW5zdGFuY2UgbWVzc2FnZSBpbnN0YW5jZVxuICAgKi9cbiAgc3RhdGljIGRlc2VyaWFsaXplQmluYXJ5KGJ5dGVzOiBCeXRlU291cmNlKSB7XG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgRmlsdGVyc0FuZCgpO1xuICAgIEZpbHRlcnNBbmQuZGVzZXJpYWxpemVCaW5hcnlGcm9tUmVhZGVyKGluc3RhbmNlLCBuZXcgQmluYXJ5UmVhZGVyKGJ5dGVzKSk7XG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGFsbCB0aGUgcHJvcGVydGllcyBhbmQgc2V0IGRlZmF1bHQgcHJvdG9idWYgdmFsdWVzIGlmIG5lY2Vzc2FyeVxuICAgKiBAcGFyYW0gX2luc3RhbmNlIG1lc3NhZ2UgaW5zdGFuY2VcbiAgICovXG4gIHN0YXRpYyByZWZpbmVWYWx1ZXMoX2luc3RhbmNlOiBGaWx0ZXJzQW5kKSB7XG4gICAgX2luc3RhbmNlLmFuZCA9IF9pbnN0YW5jZS5hbmQgfHwgW107XG4gIH1cblxuICAvKipcbiAgICogRGVzZXJpYWxpemVzIC8gcmVhZHMgYmluYXJ5IG1lc3NhZ2UgaW50byBtZXNzYWdlIGluc3RhbmNlIHVzaW5nIHByb3ZpZGVkIGJpbmFyeSByZWFkZXJcbiAgICogQHBhcmFtIF9pbnN0YW5jZSBtZXNzYWdlIGluc3RhbmNlXG4gICAqIEBwYXJhbSBfcmVhZGVyIGJpbmFyeSByZWFkZXIgaW5zdGFuY2VcbiAgICovXG4gIHN0YXRpYyBkZXNlcmlhbGl6ZUJpbmFyeUZyb21SZWFkZXIoXG4gICAgX2luc3RhbmNlOiBGaWx0ZXJzQW5kLFxuICAgIF9yZWFkZXI6IEJpbmFyeVJlYWRlclxuICApIHtcbiAgICB3aGlsZSAoX3JlYWRlci5uZXh0RmllbGQoKSkge1xuICAgICAgaWYgKF9yZWFkZXIuaXNFbmRHcm91cCgpKSBicmVhaztcblxuICAgICAgc3dpdGNoIChfcmVhZGVyLmdldEZpZWxkTnVtYmVyKCkpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIGNvbnN0IG1lc3NhZ2VJbml0aWFsaXplcjEgPSBuZXcgRmlsdGVyRmllbGQoKTtcbiAgICAgICAgICBfcmVhZGVyLnJlYWRNZXNzYWdlKFxuICAgICAgICAgICAgbWVzc2FnZUluaXRpYWxpemVyMSxcbiAgICAgICAgICAgIEZpbHRlckZpZWxkLmRlc2VyaWFsaXplQmluYXJ5RnJvbVJlYWRlclxuICAgICAgICAgICk7XG4gICAgICAgICAgKF9pbnN0YW5jZS5hbmQgPSBfaW5zdGFuY2UuYW5kIHx8IFtdKS5wdXNoKG1lc3NhZ2VJbml0aWFsaXplcjEpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIF9yZWFkZXIuc2tpcEZpZWxkKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgRmlsdGVyc0FuZC5yZWZpbmVWYWx1ZXMoX2luc3RhbmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXJpYWxpemVzIGEgbWVzc2FnZSB0byBiaW5hcnkgZm9ybWF0IHVzaW5nIHByb3ZpZGVkIGJpbmFyeSByZWFkZXJcbiAgICogQHBhcmFtIF9pbnN0YW5jZSBtZXNzYWdlIGluc3RhbmNlXG4gICAqIEBwYXJhbSBfd3JpdGVyIGJpbmFyeSB3cml0ZXIgaW5zdGFuY2VcbiAgICovXG4gIHN0YXRpYyBzZXJpYWxpemVCaW5hcnlUb1dyaXRlcihfaW5zdGFuY2U6IEZpbHRlcnNBbmQsIF93cml0ZXI6IEJpbmFyeVdyaXRlcikge1xuICAgIGlmIChfaW5zdGFuY2UuYW5kICYmIF9pbnN0YW5jZS5hbmQubGVuZ3RoKSB7XG4gICAgICBfd3JpdGVyLndyaXRlUmVwZWF0ZWRNZXNzYWdlKFxuICAgICAgICAxLFxuICAgICAgICBfaW5zdGFuY2UuYW5kIGFzIGFueSxcbiAgICAgICAgRmlsdGVyRmllbGQuc2VyaWFsaXplQmluYXJ5VG9Xcml0ZXJcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfYW5kPzogRmlsdGVyRmllbGRbXTtcblxuICAvKipcbiAgICogTWVzc2FnZSBjb25zdHJ1Y3Rvci4gSW5pdGlhbGl6ZXMgdGhlIHByb3BlcnRpZXMgYW5kIGFwcGxpZXMgZGVmYXVsdCBQcm90b2J1ZiB2YWx1ZXMgaWYgbmVjZXNzYXJ5XG4gICAqIEBwYXJhbSBfdmFsdWUgaW5pdGlhbCB2YWx1ZXMgb2JqZWN0IG9yIGluc3RhbmNlIG9mIEZpbHRlcnNBbmQgdG8gZGVlcGx5IGNsb25lIGZyb21cbiAgICovXG4gIGNvbnN0cnVjdG9yKF92YWx1ZT86IFJlY3Vyc2l2ZVBhcnRpYWw8RmlsdGVyc0FuZC5Bc09iamVjdD4pIHtcbiAgICBfdmFsdWUgPSBfdmFsdWUgfHwge307XG4gICAgdGhpcy5hbmQgPSAoX3ZhbHVlLmFuZCB8fCBbXSkubWFwKG0gPT4gbmV3IEZpbHRlckZpZWxkKG0pKTtcbiAgICBGaWx0ZXJzQW5kLnJlZmluZVZhbHVlcyh0aGlzKTtcbiAgfVxuICBnZXQgYW5kKCk6IEZpbHRlckZpZWxkW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9hbmQ7XG4gIH1cbiAgc2V0IGFuZCh2YWx1ZTogRmlsdGVyRmllbGRbXSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX2FuZCA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcmlhbGl6ZSBtZXNzYWdlIHRvIGJpbmFyeSBkYXRhXG4gICAqIEBwYXJhbSBpbnN0YW5jZSBtZXNzYWdlIGluc3RhbmNlXG4gICAqL1xuICBzZXJpYWxpemVCaW5hcnkoKSB7XG4gICAgY29uc3Qgd3JpdGVyID0gbmV3IEJpbmFyeVdyaXRlcigpO1xuICAgIEZpbHRlcnNBbmQuc2VyaWFsaXplQmluYXJ5VG9Xcml0ZXIodGhpcywgd3JpdGVyKTtcbiAgICByZXR1cm4gd3JpdGVyLmdldFJlc3VsdEJ1ZmZlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhc3QgbWVzc2FnZSB0byBzdGFuZGFyZCBKYXZhU2NyaXB0IG9iamVjdCAoYWxsIG5vbi1wcmltaXRpdmUgdmFsdWVzIGFyZSBkZWVwbHkgY2xvbmVkKVxuICAgKi9cbiAgdG9PYmplY3QoKTogRmlsdGVyc0FuZC5Bc09iamVjdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuZDogKHRoaXMuYW5kIHx8IFtdKS5tYXAobSA9PiBtLnRvT2JqZWN0KCkpXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZW5pZW5jZSBtZXRob2QgdG8gc3VwcG9ydCBKU09OLnN0cmluZ2lmeShtZXNzYWdlKSwgcmVwbGljYXRlcyB0aGUgc3RydWN0dXJlIG9mIHRvT2JqZWN0KClcbiAgICovXG4gIHRvSlNPTigpIHtcbiAgICByZXR1cm4gdGhpcy50b09iamVjdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhc3QgbWVzc2FnZSB0byBKU09OIHVzaW5nIHByb3RvYnVmIEpTT04gbm90YXRpb246IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvZG9jcy9wcm90bzMjanNvblxuICAgKiBBdHRlbnRpb246IG91dHB1dCBkaWZmZXJzIGZyb20gdG9PYmplY3QoKSBlLmcuIGVudW1zIGFyZSByZXByZXNlbnRlZCBhcyBuYW1lcyBhbmQgbm90IGFzIG51bWJlcnMsIFRpbWVzdGFtcCBpcyBhbiBJU08gRGF0ZSBzdHJpbmcgZm9ybWF0IGV0Yy5cbiAgICogSWYgdGhlIG1lc3NhZ2UgaXRzZWxmIG9yIHNvbWUgb2YgZGVzY2VuZGFudCBtZXNzYWdlcyBpcyBnb29nbGUucHJvdG9idWYuQW55LCB5b3UgTVVTVCBwcm92aWRlIGEgbWVzc2FnZSBwb29sIGFzIG9wdGlvbnMuIElmIG5vdCwgdGhlIG1lc3NhZ2VQb29sIGlzIG5vdCByZXF1aXJlZFxuICAgKi9cbiAgdG9Qcm90b2J1ZkpTT04oXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIG9wdGlvbnM/OiBUb1Byb3RvYnVmSlNPTk9wdGlvbnNcbiAgKTogRmlsdGVyc0FuZC5Bc1Byb3RvYnVmSlNPTiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuZDogKHRoaXMuYW5kIHx8IFtdKS5tYXAobSA9PiBtLnRvUHJvdG9idWZKU09OKG9wdGlvbnMpKVxuICAgIH07XG4gIH1cbn1cbmV4cG9ydCBtb2R1bGUgRmlsdGVyc0FuZCB7XG4gIC8qKlxuICAgKiBTdGFuZGFyZCBKYXZhU2NyaXB0IG9iamVjdCByZXByZXNlbnRhdGlvbiBmb3IgRmlsdGVyc0FuZFxuICAgKi9cbiAgZXhwb3J0IGludGVyZmFjZSBBc09iamVjdCB7XG4gICAgYW5kPzogRmlsdGVyRmllbGQuQXNPYmplY3RbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm90b2J1ZiBKU09OIHJlcHJlc2VudGF0aW9uIGZvciBGaWx0ZXJzQW5kXG4gICAqL1xuICBleHBvcnQgaW50ZXJmYWNlIEFzUHJvdG9idWZKU09OIHtcbiAgICBhbmQ6IEZpbHRlckZpZWxkLkFzUHJvdG9idWZKU09OW10gfCBudWxsO1xuICB9XG59XG5cbi8qKlxuICogTWVzc2FnZSBpbXBsZW1lbnRhdGlvbiBmb3IgYXJtb25pay5hcGkuZ3JwYy52MS5wYXJ0aXRpb25zLkZpbHRlcnNcbiAqL1xuZXhwb3J0IGNsYXNzIEZpbHRlcnMgaW1wbGVtZW50cyBHcnBjTWVzc2FnZSB7XG4gIHN0YXRpYyBpZCA9ICdhcm1vbmlrLmFwaS5ncnBjLnYxLnBhcnRpdGlvbnMuRmlsdGVycyc7XG5cbiAgLyoqXG4gICAqIERlc2VyaWFsaXplIGJpbmFyeSBkYXRhIHRvIG1lc3NhZ2VcbiAgICogQHBhcmFtIGluc3RhbmNlIG1lc3NhZ2UgaW5zdGFuY2VcbiAgICovXG4gIHN0YXRpYyBkZXNlcmlhbGl6ZUJpbmFyeShieXRlczogQnl0ZVNvdXJjZSkge1xuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IEZpbHRlcnMoKTtcbiAgICBGaWx0ZXJzLmRlc2VyaWFsaXplQmluYXJ5RnJvbVJlYWRlcihpbnN0YW5jZSwgbmV3IEJpbmFyeVJlYWRlcihieXRlcykpO1xuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBhbGwgdGhlIHByb3BlcnRpZXMgYW5kIHNldCBkZWZhdWx0IHByb3RvYnVmIHZhbHVlcyBpZiBuZWNlc3NhcnlcbiAgICogQHBhcmFtIF9pbnN0YW5jZSBtZXNzYWdlIGluc3RhbmNlXG4gICAqL1xuICBzdGF0aWMgcmVmaW5lVmFsdWVzKF9pbnN0YW5jZTogRmlsdGVycykge1xuICAgIF9pbnN0YW5jZS5vciA9IF9pbnN0YW5jZS5vciB8fCBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlcmlhbGl6ZXMgLyByZWFkcyBiaW5hcnkgbWVzc2FnZSBpbnRvIG1lc3NhZ2UgaW5zdGFuY2UgdXNpbmcgcHJvdmlkZWQgYmluYXJ5IHJlYWRlclxuICAgKiBAcGFyYW0gX2luc3RhbmNlIG1lc3NhZ2UgaW5zdGFuY2VcbiAgICogQHBhcmFtIF9yZWFkZXIgYmluYXJ5IHJlYWRlciBpbnN0YW5jZVxuICAgKi9cbiAgc3RhdGljIGRlc2VyaWFsaXplQmluYXJ5RnJvbVJlYWRlcihcbiAgICBfaW5zdGFuY2U6IEZpbHRlcnMsXG4gICAgX3JlYWRlcjogQmluYXJ5UmVhZGVyXG4gICkge1xuICAgIHdoaWxlIChfcmVhZGVyLm5leHRGaWVsZCgpKSB7XG4gICAgICBpZiAoX3JlYWRlci5pc0VuZEdyb3VwKCkpIGJyZWFrO1xuXG4gICAgICBzd2l0Y2ggKF9yZWFkZXIuZ2V0RmllbGROdW1iZXIoKSkge1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgY29uc3QgbWVzc2FnZUluaXRpYWxpemVyMSA9IG5ldyBGaWx0ZXJzQW5kKCk7XG4gICAgICAgICAgX3JlYWRlci5yZWFkTWVzc2FnZShcbiAgICAgICAgICAgIG1lc3NhZ2VJbml0aWFsaXplcjEsXG4gICAgICAgICAgICBGaWx0ZXJzQW5kLmRlc2VyaWFsaXplQmluYXJ5RnJvbVJlYWRlclxuICAgICAgICAgICk7XG4gICAgICAgICAgKF9pbnN0YW5jZS5vciA9IF9pbnN0YW5jZS5vciB8fCBbXSkucHVzaChtZXNzYWdlSW5pdGlhbGl6ZXIxKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBfcmVhZGVyLnNraXBGaWVsZCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEZpbHRlcnMucmVmaW5lVmFsdWVzKF9pbnN0YW5jZSk7XG4gIH1cblxuICAvKipcbiAgICogU2VyaWFsaXplcyBhIG1lc3NhZ2UgdG8gYmluYXJ5IGZvcm1hdCB1c2luZyBwcm92aWRlZCBiaW5hcnkgcmVhZGVyXG4gICAqIEBwYXJhbSBfaW5zdGFuY2UgbWVzc2FnZSBpbnN0YW5jZVxuICAgKiBAcGFyYW0gX3dyaXRlciBiaW5hcnkgd3JpdGVyIGluc3RhbmNlXG4gICAqL1xuICBzdGF0aWMgc2VyaWFsaXplQmluYXJ5VG9Xcml0ZXIoX2luc3RhbmNlOiBGaWx0ZXJzLCBfd3JpdGVyOiBCaW5hcnlXcml0ZXIpIHtcbiAgICBpZiAoX2luc3RhbmNlLm9yICYmIF9pbnN0YW5jZS5vci5sZW5ndGgpIHtcbiAgICAgIF93cml0ZXIud3JpdGVSZXBlYXRlZE1lc3NhZ2UoXG4gICAgICAgIDEsXG4gICAgICAgIF9pbnN0YW5jZS5vciBhcyBhbnksXG4gICAgICAgIEZpbHRlcnNBbmQuc2VyaWFsaXplQmluYXJ5VG9Xcml0ZXJcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb3I/OiBGaWx0ZXJzQW5kW107XG5cbiAgLyoqXG4gICAqIE1lc3NhZ2UgY29uc3RydWN0b3IuIEluaXRpYWxpemVzIHRoZSBwcm9wZXJ0aWVzIGFuZCBhcHBsaWVzIGRlZmF1bHQgUHJvdG9idWYgdmFsdWVzIGlmIG5lY2Vzc2FyeVxuICAgKiBAcGFyYW0gX3ZhbHVlIGluaXRpYWwgdmFsdWVzIG9iamVjdCBvciBpbnN0YW5jZSBvZiBGaWx0ZXJzIHRvIGRlZXBseSBjbG9uZSBmcm9tXG4gICAqL1xuICBjb25zdHJ1Y3RvcihfdmFsdWU/OiBSZWN1cnNpdmVQYXJ0aWFsPEZpbHRlcnMuQXNPYmplY3Q+KSB7XG4gICAgX3ZhbHVlID0gX3ZhbHVlIHx8IHt9O1xuICAgIHRoaXMub3IgPSAoX3ZhbHVlLm9yIHx8IFtdKS5tYXAobSA9PiBuZXcgRmlsdGVyc0FuZChtKSk7XG4gICAgRmlsdGVycy5yZWZpbmVWYWx1ZXModGhpcyk7XG4gIH1cbiAgZ2V0IG9yKCk6IEZpbHRlcnNBbmRbXSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX29yO1xuICB9XG4gIHNldCBvcih2YWx1ZTogRmlsdGVyc0FuZFtdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fb3IgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXJpYWxpemUgbWVzc2FnZSB0byBiaW5hcnkgZGF0YVxuICAgKiBAcGFyYW0gaW5zdGFuY2UgbWVzc2FnZSBpbnN0YW5jZVxuICAgKi9cbiAgc2VyaWFsaXplQmluYXJ5KCkge1xuICAgIGNvbnN0IHdyaXRlciA9IG5ldyBCaW5hcnlXcml0ZXIoKTtcbiAgICBGaWx0ZXJzLnNlcmlhbGl6ZUJpbmFyeVRvV3JpdGVyKHRoaXMsIHdyaXRlcik7XG4gICAgcmV0dXJuIHdyaXRlci5nZXRSZXN1bHRCdWZmZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYXN0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgSmF2YVNjcmlwdCBvYmplY3QgKGFsbCBub24tcHJpbWl0aXZlIHZhbHVlcyBhcmUgZGVlcGx5IGNsb25lZClcbiAgICovXG4gIHRvT2JqZWN0KCk6IEZpbHRlcnMuQXNPYmplY3Qge1xuICAgIHJldHVybiB7XG4gICAgICBvcjogKHRoaXMub3IgfHwgW10pLm1hcChtID0+IG0udG9PYmplY3QoKSlcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlbmllbmNlIG1ldGhvZCB0byBzdXBwb3J0IEpTT04uc3RyaW5naWZ5KG1lc3NhZ2UpLCByZXBsaWNhdGVzIHRoZSBzdHJ1Y3R1cmUgb2YgdG9PYmplY3QoKVxuICAgKi9cbiAgdG9KU09OKCkge1xuICAgIHJldHVybiB0aGlzLnRvT2JqZWN0KCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FzdCBtZXNzYWdlIHRvIEpTT04gdXNpbmcgcHJvdG9idWYgSlNPTiBub3RhdGlvbjogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy9kb2NzL3Byb3RvMyNqc29uXG4gICAqIEF0dGVudGlvbjogb3V0cHV0IGRpZmZlcnMgZnJvbSB0b09iamVjdCgpIGUuZy4gZW51bXMgYXJlIHJlcHJlc2VudGVkIGFzIG5hbWVzIGFuZCBub3QgYXMgbnVtYmVycywgVGltZXN0YW1wIGlzIGFuIElTTyBEYXRlIHN0cmluZyBmb3JtYXQgZXRjLlxuICAgKiBJZiB0aGUgbWVzc2FnZSBpdHNlbGYgb3Igc29tZSBvZiBkZXNjZW5kYW50IG1lc3NhZ2VzIGlzIGdvb2dsZS5wcm90b2J1Zi5BbnksIHlvdSBNVVNUIHByb3ZpZGUgYSBtZXNzYWdlIHBvb2wgYXMgb3B0aW9ucy4gSWYgbm90LCB0aGUgbWVzc2FnZVBvb2wgaXMgbm90IHJlcXVpcmVkXG4gICAqL1xuICB0b1Byb3RvYnVmSlNPTihcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgb3B0aW9ucz86IFRvUHJvdG9idWZKU09OT3B0aW9uc1xuICApOiBGaWx0ZXJzLkFzUHJvdG9idWZKU09OIHtcbiAgICByZXR1cm4ge1xuICAgICAgb3I6ICh0aGlzLm9yIHx8IFtdKS5tYXAobSA9PiBtLnRvUHJvdG9idWZKU09OKG9wdGlvbnMpKVxuICAgIH07XG4gIH1cbn1cbmV4cG9ydCBtb2R1bGUgRmlsdGVycyB7XG4gIC8qKlxuICAgKiBTdGFuZGFyZCBKYXZhU2NyaXB0IG9iamVjdCByZXByZXNlbnRhdGlvbiBmb3IgRmlsdGVyc1xuICAgKi9cbiAgZXhwb3J0IGludGVyZmFjZSBBc09iamVjdCB7XG4gICAgb3I/OiBGaWx0ZXJzQW5kLkFzT2JqZWN0W107XG4gIH1cblxuICAvKipcbiAgICogUHJvdG9idWYgSlNPTiByZXByZXNlbnRhdGlvbiBmb3IgRmlsdGVyc1xuICAgKi9cbiAgZXhwb3J0IGludGVyZmFjZSBBc1Byb3RvYnVmSlNPTiB7XG4gICAgb3I6IEZpbHRlcnNBbmQuQXNQcm90b2J1ZkpTT05bXSB8IG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGl0aW9ucy1zZXJ2aWNlLnBiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5lb2NvbnN1bHRpbmdmci9hcm1vbmlrLmFwaS5hbmd1bGFyL3NyYy9saWIvZ2VuZXJhdGVkL3BhcnRpdGlvbnMtc2VydmljZS5wYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cbi8qIGVzbGludC1kaXNhYmxlICovXG4vLyBAdHMtbm9jaGVja1xuLy9cbi8vIFRISVMgSVMgQSBHRU5FUkFURUQgRklMRVxuLy8gRE8gTk9UIE1PRElGWSBJVCEgWU9VUiBDSEFOR0VTIFdJTEwgQkUgTE9TVFxuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMVBhcnRpdGlvbnMwMDAgZnJvbSAnLi9wYXJ0aXRpb25zLWZpZWxkcy5wYic7XG5pbXBvcnQgKiBhcyBhcm1vbmlrQXBpR3JwY1YxUGFydGl0aW9uczAwMSBmcm9tICcuL3BhcnRpdGlvbnMtZmlsdGVycy5wYic7XG5pbXBvcnQgKiBhcyBhcm1vbmlrQXBpR3JwY1YxU29ydF9kaXJlY3Rpb24wMDIgZnJvbSAnLi9zb3J0LWRpcmVjdGlvbi5wYic7XG5pbXBvcnQgKiBhcyBhcm1vbmlrQXBpR3JwY1YxUGFydGl0aW9uczAwMyBmcm9tICcuL3BhcnRpdGlvbnMtY29tbW9uLnBiJztcbiJdfQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/* tslint:disable */
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
// @ts-nocheck
|
|
4
|
-
//
|
|
5
|
-
// THIS IS A GENERATED FILE
|
|
6
|
-
// DO NOT MODIFY IT! YOUR CHANGES WILL BE LOST
|
|
7
|
-
import { InjectionToken } from '@angular/core';
|
|
8
|
-
/**
|
|
9
|
-
* Specific GrpcClientSettings for Partitions.
|
|
10
|
-
* Use it only if your default settings are not set or the service requires other settings.
|
|
11
|
-
*/
|
|
12
|
-
export const GRPC_PARTITIONS_CLIENT_SETTINGS = new InjectionToken('GRPC_PARTITIONS_CLIENT_SETTINGS');
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGl0aW9ucy1zZXJ2aWNlLnBiY29uZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZW9jb25zdWx0aW5nZnIvYXJtb25pay5hcGkuYW5ndWxhci9zcmMvbGliL2dlbmVyYXRlZC9wYXJ0aXRpb25zLXNlcnZpY2UucGJjb25mLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9CQUFvQjtBQUNwQixvQkFBb0I7QUFDcEIsY0FBYztBQUNkLEVBQUU7QUFDRiwyQkFBMkI7QUFDM0IsOENBQThDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0M7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsSUFBSSxjQUFjLENBQy9ELGlDQUFpQyxDQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cbi8qIGVzbGludC1kaXNhYmxlICovXG4vLyBAdHMtbm9jaGVja1xuLy9cbi8vIFRISVMgSVMgQSBHRU5FUkFURUQgRklMRVxuLy8gRE8gTk9UIE1PRElGWSBJVCEgWU9VUiBDSEFOR0VTIFdJTEwgQkUgTE9TVFxuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBTcGVjaWZpYyBHcnBjQ2xpZW50U2V0dGluZ3MgZm9yIFBhcnRpdGlvbnMuXG4gKiBVc2UgaXQgb25seSBpZiB5b3VyIGRlZmF1bHQgc2V0dGluZ3MgYXJlIG5vdCBzZXQgb3IgdGhlIHNlcnZpY2UgcmVxdWlyZXMgb3RoZXIgc2V0dGluZ3MuXG4gKi9cbmV4cG9ydCBjb25zdCBHUlBDX1BBUlRJVElPTlNfQ0xJRU5UX1NFVFRJTkdTID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oXG4gICdHUlBDX1BBUlRJVElPTlNfQ0xJRU5UX1NFVFRJTkdTJ1xuKTtcbiJdfQ==
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
/* tslint:disable */
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
// @ts-nocheck
|
|
4
|
-
//
|
|
5
|
-
// THIS IS A GENERATED FILE
|
|
6
|
-
// DO NOT MODIFY IT! YOUR CHANGES WILL BE LOST
|
|
7
|
-
import { Inject, Injectable, Optional } from '@angular/core';
|
|
8
|
-
import { GrpcCallType, GrpcMetadata } from '@ngx-grpc/common';
|
|
9
|
-
import { GRPC_CLIENT_FACTORY, takeMessages, throwStatusErrors } from '@ngx-grpc/core';
|
|
10
|
-
import * as armonikApiGrpcV1Partitions003 from './partitions-common.pb';
|
|
11
|
-
import { GRPC_PARTITIONS_CLIENT_SETTINGS } from './partitions-service.pbconf';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "@ngx-grpc/core";
|
|
14
|
-
/**
|
|
15
|
-
* Service client implementation for armonik.api.grpc.v1.partitions.Partitions
|
|
16
|
-
*/
|
|
17
|
-
export class PartitionsClient {
|
|
18
|
-
constructor(settings, clientFactory, handler) {
|
|
19
|
-
this.handler = handler;
|
|
20
|
-
/**
|
|
21
|
-
* Raw RPC implementation for each service client method.
|
|
22
|
-
* The raw methods provide more control on the incoming data and events. E.g. they can be useful to read status `OK` metadata.
|
|
23
|
-
* Attention: these methods do not throw errors when non-zero status codes are received.
|
|
24
|
-
*/
|
|
25
|
-
this.$raw = {
|
|
26
|
-
/**
|
|
27
|
-
* Unary call: /armonik.api.grpc.v1.partitions.Partitions/ListPartitions
|
|
28
|
-
*
|
|
29
|
-
* @param requestMessage Request message
|
|
30
|
-
* @param requestMetadata Request metadata
|
|
31
|
-
* @returns Observable<GrpcEvent<armonikApiGrpcV1Partitions003.ListPartitionsResponse>>
|
|
32
|
-
*/
|
|
33
|
-
listPartitions: (requestData, requestMetadata = new GrpcMetadata()) => {
|
|
34
|
-
return this.handler.handle({
|
|
35
|
-
type: GrpcCallType.unary,
|
|
36
|
-
client: this.client,
|
|
37
|
-
path: '/armonik.api.grpc.v1.partitions.Partitions/ListPartitions',
|
|
38
|
-
requestData,
|
|
39
|
-
requestMetadata,
|
|
40
|
-
requestClass: armonikApiGrpcV1Partitions003.ListPartitionsRequest,
|
|
41
|
-
responseClass: armonikApiGrpcV1Partitions003.ListPartitionsResponse
|
|
42
|
-
});
|
|
43
|
-
},
|
|
44
|
-
/**
|
|
45
|
-
* Unary call: /armonik.api.grpc.v1.partitions.Partitions/GetPartition
|
|
46
|
-
*
|
|
47
|
-
* @param requestMessage Request message
|
|
48
|
-
* @param requestMetadata Request metadata
|
|
49
|
-
* @returns Observable<GrpcEvent<armonikApiGrpcV1Partitions003.GetPartitionResponse>>
|
|
50
|
-
*/
|
|
51
|
-
getPartition: (requestData, requestMetadata = new GrpcMetadata()) => {
|
|
52
|
-
return this.handler.handle({
|
|
53
|
-
type: GrpcCallType.unary,
|
|
54
|
-
client: this.client,
|
|
55
|
-
path: '/armonik.api.grpc.v1.partitions.Partitions/GetPartition',
|
|
56
|
-
requestData,
|
|
57
|
-
requestMetadata,
|
|
58
|
-
requestClass: armonikApiGrpcV1Partitions003.GetPartitionRequest,
|
|
59
|
-
responseClass: armonikApiGrpcV1Partitions003.GetPartitionResponse
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
this.client = clientFactory.createClient('armonik.api.grpc.v1.partitions.Partitions', settings);
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Unary call @/armonik.api.grpc.v1.partitions.Partitions/ListPartitions
|
|
67
|
-
*
|
|
68
|
-
* @param requestMessage Request message
|
|
69
|
-
* @param requestMetadata Request metadata
|
|
70
|
-
* @returns Observable<armonikApiGrpcV1Partitions003.ListPartitionsResponse>
|
|
71
|
-
*/
|
|
72
|
-
listPartitions(requestData, requestMetadata = new GrpcMetadata()) {
|
|
73
|
-
return this.$raw
|
|
74
|
-
.listPartitions(requestData, requestMetadata)
|
|
75
|
-
.pipe(throwStatusErrors(), takeMessages());
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Unary call @/armonik.api.grpc.v1.partitions.Partitions/GetPartition
|
|
79
|
-
*
|
|
80
|
-
* @param requestMessage Request message
|
|
81
|
-
* @param requestMetadata Request metadata
|
|
82
|
-
* @returns Observable<armonikApiGrpcV1Partitions003.GetPartitionResponse>
|
|
83
|
-
*/
|
|
84
|
-
getPartition(requestData, requestMetadata = new GrpcMetadata()) {
|
|
85
|
-
return this.$raw
|
|
86
|
-
.getPartition(requestData, requestMetadata)
|
|
87
|
-
.pipe(throwStatusErrors(), takeMessages());
|
|
88
|
-
}
|
|
89
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: PartitionsClient, deps: [{ token: GRPC_PARTITIONS_CLIENT_SETTINGS, optional: true }, { token: GRPC_CLIENT_FACTORY }, { token: i1.GrpcHandler }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
90
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: PartitionsClient, providedIn: 'any' }); }
|
|
91
|
-
}
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: PartitionsClient, decorators: [{
|
|
93
|
-
type: Injectable,
|
|
94
|
-
args: [{ providedIn: 'any' }]
|
|
95
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
96
|
-
type: Optional
|
|
97
|
-
}, {
|
|
98
|
-
type: Inject,
|
|
99
|
-
args: [GRPC_PARTITIONS_CLIENT_SETTINGS]
|
|
100
|
-
}] }, { type: undefined, decorators: [{
|
|
101
|
-
type: Inject,
|
|
102
|
-
args: [GRPC_CLIENT_FACTORY]
|
|
103
|
-
}] }, { type: i1.GrpcHandler }] });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGl0aW9ucy1zZXJ2aWNlLnBic2MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmVvY29uc3VsdGluZ2ZyL2FybW9uaWsuYXBpLmFuZ3VsYXIvc3JjL2xpYi9nZW5lcmF0ZWQvcGFydGl0aW9ucy1zZXJ2aWNlLnBic2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNwQixjQUFjO0FBQ2QsRUFBRTtBQUNGLDJCQUEyQjtBQUMzQiw4Q0FBOEM7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFDTCxZQUFZLEVBSVosWUFBWSxFQUNiLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUNMLG1CQUFtQixFQUVuQixZQUFZLEVBQ1osaUJBQWlCLEVBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFNeEIsT0FBTyxLQUFLLDZCQUE2QixNQUFNLHdCQUF3QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFDOUU7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZ0JBQWdCO0lBeUQzQixZQUN1RCxRQUFhLEVBQ3JDLGFBQXFDLEVBQzFELE9BQW9CO1FBQXBCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUF6RDlCOzs7O1dBSUc7UUFDSCxTQUFJLEdBQUc7WUFDTDs7Ozs7O2VBTUc7WUFDSCxjQUFjLEVBQUUsQ0FDZCxXQUFnRSxFQUNoRSxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsRUFHcEMsRUFBRTtnQkFDRixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO29CQUN6QixJQUFJLEVBQUUsWUFBWSxDQUFDLEtBQUs7b0JBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbkIsSUFBSSxFQUFFLDJEQUEyRDtvQkFDakUsV0FBVztvQkFDWCxlQUFlO29CQUNmLFlBQVksRUFBRSw2QkFBNkIsQ0FBQyxxQkFBcUI7b0JBQ2pFLGFBQWEsRUFBRSw2QkFBNkIsQ0FBQyxzQkFBc0I7aUJBQ3BFLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRDs7Ozs7O2VBTUc7WUFDSCxZQUFZLEVBQUUsQ0FDWixXQUE4RCxFQUM5RCxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsRUFHcEMsRUFBRTtnQkFDRixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO29CQUN6QixJQUFJLEVBQUUsWUFBWSxDQUFDLEtBQUs7b0JBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbkIsSUFBSSxFQUFFLHlEQUF5RDtvQkFDL0QsV0FBVztvQkFDWCxlQUFlO29CQUNmLFlBQVksRUFBRSw2QkFBNkIsQ0FBQyxtQkFBbUI7b0JBQy9ELGFBQWEsRUFBRSw2QkFBNkIsQ0FBQyxvQkFBb0I7aUJBQ2xFLENBQUMsQ0FBQztZQUNMLENBQUM7U0FDRixDQUFDO1FBT0EsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsWUFBWSxDQUN0QywyQ0FBMkMsRUFDM0MsUUFBUSxDQUNULENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsY0FBYyxDQUNaLFdBQWdFLEVBQ2hFLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRTtRQUVwQyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsY0FBYyxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUM7YUFDNUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsWUFBWSxDQUNWLFdBQThELEVBQzlELGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRTtRQUVwQyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsWUFBWSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUM7YUFDMUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDOzhHQWxHVSxnQkFBZ0Isa0JBMERMLCtCQUErQiw2QkFDM0MsbUJBQW1CO2tIQTNEbEIsZ0JBQWdCLGNBREgsS0FBSzs7MkZBQ2xCLGdCQUFnQjtrQkFENUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUU7OzBCQTJENUIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQywrQkFBK0I7OzBCQUNsRCxNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xuLy8gQHRzLW5vY2hlY2tcbi8vXG4vLyBUSElTIElTIEEgR0VORVJBVEVEIEZJTEVcbi8vIERPIE5PVCBNT0RJRlkgSVQhIFlPVVIgQ0hBTkdFUyBXSUxMIEJFIExPU1RcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEdycGNDYWxsVHlwZSxcbiAgR3JwY0NsaWVudCxcbiAgR3JwY0NsaWVudEZhY3RvcnksXG4gIEdycGNFdmVudCxcbiAgR3JwY01ldGFkYXRhXG59IGZyb20gJ0BuZ3gtZ3JwYy9jb21tb24nO1xuaW1wb3J0IHtcbiAgR1JQQ19DTElFTlRfRkFDVE9SWSxcbiAgR3JwY0hhbmRsZXIsXG4gIHRha2VNZXNzYWdlcyxcbiAgdGhyb3dTdGF0dXNFcnJvcnNcbn0gZnJvbSAnQG5neC1ncnBjL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0ICogYXMgdGhpc1Byb3RvIGZyb20gJy4vcGFydGl0aW9ucy1zZXJ2aWNlLnBiJztcbmltcG9ydCAqIGFzIGFybW9uaWtBcGlHcnBjVjFQYXJ0aXRpb25zMDAwIGZyb20gJy4vcGFydGl0aW9ucy1maWVsZHMucGInO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMVBhcnRpdGlvbnMwMDEgZnJvbSAnLi9wYXJ0aXRpb25zLWZpbHRlcnMucGInO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMVNvcnRfZGlyZWN0aW9uMDAyIGZyb20gJy4vc29ydC1kaXJlY3Rpb24ucGInO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMVBhcnRpdGlvbnMwMDMgZnJvbSAnLi9wYXJ0aXRpb25zLWNvbW1vbi5wYic7XG5pbXBvcnQgeyBHUlBDX1BBUlRJVElPTlNfQ0xJRU5UX1NFVFRJTkdTIH0gZnJvbSAnLi9wYXJ0aXRpb25zLXNlcnZpY2UucGJjb25mJztcbi8qKlxuICogU2VydmljZSBjbGllbnQgaW1wbGVtZW50YXRpb24gZm9yIGFybW9uaWsuYXBpLmdycGMudjEucGFydGl0aW9ucy5QYXJ0aXRpb25zXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ2FueScgfSlcbmV4cG9ydCBjbGFzcyBQYXJ0aXRpb25zQ2xpZW50IHtcbiAgcHJpdmF0ZSBjbGllbnQ6IEdycGNDbGllbnQ8YW55PjtcblxuICAvKipcbiAgICogUmF3IFJQQyBpbXBsZW1lbnRhdGlvbiBmb3IgZWFjaCBzZXJ2aWNlIGNsaWVudCBtZXRob2QuXG4gICAqIFRoZSByYXcgbWV0aG9kcyBwcm92aWRlIG1vcmUgY29udHJvbCBvbiB0aGUgaW5jb21pbmcgZGF0YSBhbmQgZXZlbnRzLiBFLmcuIHRoZXkgY2FuIGJlIHVzZWZ1bCB0byByZWFkIHN0YXR1cyBgT0tgIG1ldGFkYXRhLlxuICAgKiBBdHRlbnRpb246IHRoZXNlIG1ldGhvZHMgZG8gbm90IHRocm93IGVycm9ycyB3aGVuIG5vbi16ZXJvIHN0YXR1cyBjb2RlcyBhcmUgcmVjZWl2ZWQuXG4gICAqL1xuICAkcmF3ID0ge1xuICAgIC8qKlxuICAgICAqIFVuYXJ5IGNhbGw6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnBhcnRpdGlvbnMuUGFydGl0aW9ucy9MaXN0UGFydGl0aW9uc1xuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8R3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFQYXJ0aXRpb25zMDAzLkxpc3RQYXJ0aXRpb25zUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGxpc3RQYXJ0aXRpb25zOiAoXG4gICAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVBhcnRpdGlvbnMwMDMuTGlzdFBhcnRpdGlvbnNSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxcbiAgICAgIEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUGFydGl0aW9uczAwMy5MaXN0UGFydGl0aW9uc1Jlc3BvbnNlPlxuICAgID4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvYXJtb25pay5hcGkuZ3JwYy52MS5wYXJ0aXRpb25zLlBhcnRpdGlvbnMvTGlzdFBhcnRpdGlvbnMnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFQYXJ0aXRpb25zMDAzLkxpc3RQYXJ0aXRpb25zUmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogYXJtb25pa0FwaUdycGNWMVBhcnRpdGlvbnMwMDMuTGlzdFBhcnRpdGlvbnNSZXNwb25zZVxuICAgICAgfSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBVbmFyeSBjYWxsOiAvYXJtb25pay5hcGkuZ3JwYy52MS5wYXJ0aXRpb25zLlBhcnRpdGlvbnMvR2V0UGFydGl0aW9uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVBhcnRpdGlvbnMwMDMuR2V0UGFydGl0aW9uUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGdldFBhcnRpdGlvbjogKFxuICAgICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFQYXJ0aXRpb25zMDAzLkdldFBhcnRpdGlvblJlcXVlc3QsXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPFxuICAgICAgR3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFQYXJ0aXRpb25zMDAzLkdldFBhcnRpdGlvblJlc3BvbnNlPlxuICAgID4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvYXJtb25pay5hcGkuZ3JwYy52MS5wYXJ0aXRpb25zLlBhcnRpdGlvbnMvR2V0UGFydGl0aW9uJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUGFydGl0aW9uczAwMy5HZXRQYXJ0aXRpb25SZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUGFydGl0aW9uczAwMy5HZXRQYXJ0aXRpb25SZXNwb25zZVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoR1JQQ19QQVJUSVRJT05TX0NMSUVOVF9TRVRUSU5HUykgc2V0dGluZ3M6IGFueSxcbiAgICBASW5qZWN0KEdSUENfQ0xJRU5UX0ZBQ1RPUlkpIGNsaWVudEZhY3Rvcnk6IEdycGNDbGllbnRGYWN0b3J5PGFueT4sXG4gICAgcHJpdmF0ZSBoYW5kbGVyOiBHcnBjSGFuZGxlclxuICApIHtcbiAgICB0aGlzLmNsaWVudCA9IGNsaWVudEZhY3RvcnkuY3JlYXRlQ2xpZW50KFxuICAgICAgJ2FybW9uaWsuYXBpLmdycGMudjEucGFydGl0aW9ucy5QYXJ0aXRpb25zJyxcbiAgICAgIHNldHRpbmdzXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmFyeSBjYWxsIEAvYXJtb25pay5hcGkuZ3JwYy52MS5wYXJ0aXRpb25zLlBhcnRpdGlvbnMvTGlzdFBhcnRpdGlvbnNcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUGFydGl0aW9uczAwMy5MaXN0UGFydGl0aW9uc1Jlc3BvbnNlPlxuICAgKi9cbiAgbGlzdFBhcnRpdGlvbnMoXG4gICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFQYXJ0aXRpb25zMDAzLkxpc3RQYXJ0aXRpb25zUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUGFydGl0aW9uczAwMy5MaXN0UGFydGl0aW9uc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLmxpc3RQYXJ0aXRpb25zKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEucGFydGl0aW9ucy5QYXJ0aXRpb25zL0dldFBhcnRpdGlvblxuICAgKlxuICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFQYXJ0aXRpb25zMDAzLkdldFBhcnRpdGlvblJlc3BvbnNlPlxuICAgKi9cbiAgZ2V0UGFydGl0aW9uKFxuICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxUGFydGl0aW9uczAwMy5HZXRQYXJ0aXRpb25SZXF1ZXN0LFxuICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICApOiBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFQYXJ0aXRpb25zMDAzLkdldFBhcnRpdGlvblJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLmdldFBhcnRpdGlvbihyZXF1ZXN0RGF0YSwgcmVxdWVzdE1ldGFkYXRhKVxuICAgICAgLnBpcGUodGhyb3dTdGF0dXNFcnJvcnMoKSwgdGFrZU1lc3NhZ2VzKCkpO1xuICB9XG59XG4iXX0=
|